Существует ли решение с открытым исходным кодом для системы слежения за несколькими объектами (людьми) с несколькими камерами? - PullRequest
2 голосов
/ 10 марта 2020

Я пытался решить проблему, когда мне нужно отслеживать несколько людей через несколько точек обзора камеры в режиме реального времени.
Я нашел решение Deep CC (https://github.com/daiwc/DeepCC ) в наборе данных DukeMTM C, но, к сожалению, это решение было отменено из-за проблем конфиденциальности данных. Они использовали Fast R-CNN для обнаружения объектов, потери триплетов для повторной идентификации и DeepSort для отслеживания нескольких объектов в режиме реального времени.

Вопросы:
1. Может ли кто-нибудь поделиться некоторыми другими ресурсами по той же проблеме ? 2. Есть ли способ загрузить и по-прежнему использовать базу данных DukeMTM C для решения проблемы множественного отслеживания? 3. Кто-нибудь знает, когда официальный сайт (http://vision.cs.duke.edu/DukeMTMC/) снова будет доступен?

Пожалуйста, не стесняйтесь указывать различные варианты вопроса:)

Ответы [ 2 ]

2 голосов
/ 06 апреля 2020

Корпус Intel OpenVINO выполняет всю часть этой задачи:

  1. Обнаружение объектов с предварительно обученным быстрым RCNN, SSD или YOLO.

  2. Повторная идентификация моделей .

И полное демонстрационное приложение . И вы можете использовать другие модели. Или, если вы хотите использовать обнаружение на GPU, тогда возьмите opencv_dnn_cuda для обнаружения и OpenVINO для повторной идентификации.

1 голос
/ 01 апреля 2020

Хорошая библиотека глубокого обучения, которую я использовал для своей работы в прошлом, называется Mask R-CNN или Mask Regions-Convolutional Neural-Network. Хотя я использовал этот алгоритм только на изображениях, а не на видео, применяются те же принципы, и переход на обнаружение объектов в видео очень прост. Алгоритм использует Tensorflow и Keras, где вы можете разделить свои входные данные, то есть изображения людей, на два набора: обучение и проверка.

Для обучения используйте стороннее программное обеспечение, такое как через , чтобы комментировать людей на изображениях. После того, как аннотации будут нарисованы, вы экспортируете файл JSON со всеми нарисованными аннотациями, которые будут использоваться в процессе обучения. Сделайте то же самое для фазы проверки: НО убедитесь, что алгоритмы не видели ранее изображения в проверке.

После того, как вы аннотировали обе группы и сгенерировали JSON файлы Затем вы можете начать обучение алгоритму. Маска R-CNN позволяет очень легко тренироваться, и все, что вам нужно сделать, это пропустить одну строку, полную команд, чтобы ее запустить. Если вы хотите обучать данные на своем графическом процессоре вместо своего центрального процессора, то установите CUDA от Nvidia, который очень хорошо работает с поддерживаемыми графическими процессорами и не требует кодирования после установки.

Во время обучения На этом этапе вы будете генерировать файлы весов, которые хранятся в формате .h5. В зависимости от количества выбранных вами эпох, для каждой эпохи будет создан файл весов. После завершения обучения вам нужно будет просто ссылаться на этот файл весов в любое время, когда вы хотите обнаружить соответствующие объекты, например, в своем видео-канале.

Немного важной информации:

  • Маска R-CNN - более старый алгоритм, но он все еще работает безупречно сегодня. Хотя некоторые люди обновили алгоритм до Tenserflow 2.0+, чтобы максимально эффективно использовать его, используйте следующее.
  • Tensorflow-gpu 1.13.2 +
  • Keras 2.0.0 +
  • CUDA 9.0 до 10.0

Честно говоря, самой сложной частью для меня в прошлом было не использование алгоритма, а поиск правильных версий Tensorflow, Keras и CUDA, которые все играют хорошо друг с другом, и не ошибайтесь. Хотя вышеупомянутые версии будут работать, попробуйте и посмотрите, можете ли вы обновить или понизить некоторые библиотеки, чтобы увидеть, можете ли вы получить лучшие результаты.

enter image description here

Статья о Маске R-CNN с видео, я считаю ее очень полезной и находчивой.

https://www.pyimagesearch.com/2018/11/19/mask-r-cnn-with-opencv/

GitHub репо можно найти ниже.

https://github.com/matterport/Mask_RCNN

РЕДАКТИРОВАТЬ

Вы можете использовать этот метод через несколько камер, просто установите несколько захватов видео в библиотеке компьютерного зрения, как OpenCV. Я предполагаю, что это будет сделано с Python, на котором в основном основаны маска R-CNN и OpenCV.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...