И за обломом облом. Это не realtime. Realtime при 25 кадрах в секунду – это меньше 40 мс. А тут только на определение лица – 100 мс. Упс, поскольку задача «быстро посмотреть кто где» как-то не решается. И это на одной камере. На четырёх должно быть меньше 10 мс. Большой УПС. Есть ещё неприятность: подключиться к камере и начать получать видео занимает две секунды. Для моих сценариев – это неприлично, недопустимо много. Даже если меня узнали с первого кадра – за две секунды я успеваю войти и включить свет сам. А меня не узнают с первого кадра, поскольку за две секунды я успеваю не только свет включить, но и повернуться к камере спиной. Да и аудио тоже никак не вытащить из OpenCV, а ведь мечта про голосовое управление не умерла. Короче, надо как-то самому с камерами работать. OpenCV для этого использует FFmpeg. А что нам мешает? А мешает нам то, что нормальных биндигов для питона нет, поскольку PyAV на винде не собрать. Но не FFmpeg же единым! Есть же gstreamer (на винде не собрать), есть же live555 (нет биндингов), есть же… А больше и нет ничего. Облом. Но перед тем, как я начну писать собственные биндинги и компилировать их, хотелось бы убедиться, что иного выхода нет. Поскольку реализация собственной работы с камерами вынудит переписать половину дома. Не хотелось бы потом узнать, что задача в принципе неразрешима. Кстати, по мере роста проекта я всё меньше пишу код и всё больше думаю над тем, как бы проверить, что это будет работать БЕЗ написания кода. Особенно помогло в случае библиотеки dlib, под которую надо было много чего переписать, вспомнить С++, написать на нём собственные программы и т.д. После вдумчивых игр с примерами в комплекте выяснилось, что ничего этого делать не надо, поскольку OpenCV на питоне всё равно быстрее dlib на С++ для моей задачи. Как говорили в ИБХ, «месяц в лаборатории легко сбережет день в библиотеке», намекая на то, что тот, кто не умеет работать головой, работает руками. Постарайтесь этого избегать #Jarvis
Комментариев нет:
Отправить комментарий