Хорошая библиотека глубокого обучения, которую я использовал для своей работы в прошлом, называется 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, которые все играют хорошо друг с другом, и не ошибайтесь. Хотя вышеупомянутые версии будут работать, попробуйте и посмотрите, можете ли вы обновить или понизить некоторые библиотеки, чтобы увидеть, можете ли вы получить лучшие результаты.
Статья о Маске 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.