Comments 12
А на «софте» сколько fps получается? Или нет возможности эту сетку запустить на обычном процессоре?
0
Если честно, я не проверял. Возможность вполне есть, надо только собрать демо из репозитории, откуда я модель взял. Попробую проверить, мне и самому интересно стало.
0
Проверил. Без GPU и CUDNN получается 0.9 fps на core i3 (это в формате Darknet). То есть, ускорение вполне приличное для такого небольшого устройства. Как я и написал в статье, эта архитектура нейросети предполагает использование видеокарты даже на этапе применения.
+2
Спасибо. Будет теперь в голове хоть какая-то зацепка на тему относительной производительности этого устройства.
0
Странно — очень маленькие цифры у вас получились.
Мы запускали детектор лиц на базе OpenCV на hi3516 (ARM v7, 600MHZ), hard float point. Получили примерно 2-5 fps.
Думаю, на RPi, можно достичь похожих или даже лучших цифр без внешнего железа.
0
Если я правильно вас понял, то детектор на базе OpenCV — это каскадный Haar или LBP. Я пробовал запускать их на RPi, и получил похожую производительность (порядка 5-7 вроде). Проблема в том, что большей скорости можно добиться только за счет сильного падения качества. У меня есть подозрения, что с помощью нейросетки можно добиться порядка 15 fps или больше, если выбрать более «легковесную» архитектуру, но это еще проверить нужно. С нейросеткой, которую я запускал, есть одна проблема — она явно рассчитана на использование видеокарты. Сейчас есть много архитектур, которые позволяют значительно повысить скорость за счет небольшого падения качества (те же Mobile Net, например).
0
Насчет маловато ли 4.5 fps — подумайте о том, что лица в видео не меняются с каждым кадром. На мой взгляд вполне достаточно по 4 кадрам из 25 находить лица.
0
Если важна производительность (fps), то настоятельно рекомендую отказаться от использования нейронных сетей а взять готовую библиотеку OpenCV. У них в документации готовый пример с использованием каскадов Хаара. Поверьте сьевшему на этом собаку будет на порядок быстрее.
Вообще идея использовать нейронные сети для распознавания простых образов на видео это как колоть орехи электронным микроскопом. В теории — все радужно, кроме специфических требований к ресурсам. На практике — бесконечный процесс переобучения (смена формата видео, разрешения, типа сенсора камеры, даже, освещенности приводят к тому что систему надо полностью переобучать или серьезно переделывать). Хорошо для разовых проектов но очень непрактично в реальной жизни.
Вообще идея использовать нейронные сети для распознавания простых образов на видео это как колоть орехи электронным микроскопом. В теории — все радужно, кроме специфических требований к ресурсам. На практике — бесконечный процесс переобучения (смена формата видео, разрешения, типа сенсора камеры, даже, освещенности приводят к тому что систему надо полностью переобучать или серьезно переделывать). Хорошо для разовых проектов но очень непрактично в реальной жизни.
0
В этом есть смысл, если 5-7 fps достаточно (примерно столько выдает Haar на RPi), а я хотел бы выжать больше, и у меня есть подозрения, что это сделать вполне можно (я проверю).
По поводу колки орехов электронным микроскопом: нейросети неплохо решают множество задач, в том числе и обнаружение лиц, так что не вижу причин отказываться от них. Чувствительность к входным данным — это уже свойства модели, и тот же самый каскадный детектор может плохо переваривать перепады в освещении и окклюзии. Если вдруг модель настолько чувствительна к входным данным, то это скорее плохо обученная модель.
В любом случае, я не предлагаю всем использовать нейросети для обнаружения лиц для всех типов задач. Это скорее экспериментирование с NCS — попытка запустить нейросеть в формате, который официально не поддерживается.
По поводу колки орехов электронным микроскопом: нейросети неплохо решают множество задач, в том числе и обнаружение лиц, так что не вижу причин отказываться от них. Чувствительность к входным данным — это уже свойства модели, и тот же самый каскадный детектор может плохо переваривать перепады в освещении и окклюзии. Если вдруг модель настолько чувствительна к входным данным, то это скорее плохо обученная модель.
В любом случае, я не предлагаю всем использовать нейросети для обнаружения лиц для всех типов задач. Это скорее экспериментирование с NCS — попытка запустить нейросеть в формате, который официально не поддерживается.
0
Будет интересно если у вас получиться быстрее. В системах что я строил fps был повыше (60 — 120) и разрешение камеры не уменьшалось до таких маленьких размеров. Если взять стандартное на сегодня FullHD и сжать до 448х448 очень много информации потеряется.
Кстати, как вы обучаете сеть? Размечать кадр за кадром довольно муторное занятие.
Кстати, как вы обучаете сеть? Размечать кадр за кадром довольно муторное занятие.
0
Из моего опыта, обучение на сторонней базе давало сильно худшие результаты как раз из-за несовпадающих параметров картинок и используемого видео. Каскад же и сгенерить легче, и использование готового дает хорошие результаты. Чтож, «будем посмотреть».
0
Sign up to leave a comment.
Обнаружение лиц на видео с помощью Movidius Neural Compute Stick