Pull to refresh
24
0
Dmitrii Beloborodov @BeloborodovDS

Data scientist

Send message

Отлично, теперь ждем прорыва в ответах

Если честно, я не прогнозирую какого-то существенного доната за свои статьи — я пишу на Хабр не очень часто, и хитов среди статей нет. Пока выглядит так, будто не стоит того.
Но все равно спасибо за напоминание :)
Что забавно, разработка действительно окупилась, только косвенно: учишься новым вещам -> ходишь на хакатоны -> занимаешь призовые места -> профит :)
Тоже не скачалось (Яндекс браузер), и в загрузках ничего нет. Картина добавилась «в частную коллекцию», но почему-то не с первого раза.
Много чего можно придумать, лишь бы фантазии хватило. Например, на похожей железке есть умная камера от Гугла.
Судя по всему, поддерживаются только железки от Intel, во всех категориях. Список поддерживаемого оборудования.

Да, похоже, что OpenCL. Здесь есть упоминание.
У меня пока нет в планах запускать вторую сетку в моем проекте, но я запускал демо от Intel, в котором было целых пять нейросетей: детектор лица, разметка ориентации головы, разметка особых точек лица, распознавание пола и возраста, распознавание эмоций. По результатам детекции из кадра вырезается фрагмент с лицом, и на нем запускаются остальные сетки. Это было в interactive_face_detection_demo. OpenVINO позволяет запускать несколько нейросеток в одном или разных плагинах, можно, например, одну сетку запустить на GPU, другую на FPGA, а остальные на NCS.

Судя по документации, face-reidentification-retail-0095 действительно нельзя запустить на NCS, но мне сложно сходу сказать, что пойдет не так. Скорее всего, просто некоторые слои не поддерживаются. Кстати, в OpenVINO есть три сетки для ре-идентификации пешеходов, которые работают на NCS (хоть какая-то замена).
На самом деле, все вычисления нейросеток производит NCS, а процессор я указал просто для контекста, так как он играет роль при обработке кадров. Вероятно, еще одна неточность в моем сравнении, которую нужно исправить.

С GPU я тоже проводил небольшое сравнение, в этом комментарии.
Спасибо за уточнения!

И правда, всего один блокируется (даже проверил сейчас). Тот, что снизу — впритык, но кабель воткнуть можно. Также закрыт Ethernet.

Про FPS тоже все верно — если измерять чистую производительность детектора, получается примерно 14 FPS (в частности, в демо от Intel я такой результат получал), и это значение должно зависеть только от версии USB, поэтому сравнение не совсем честное получается. Но меня все же интересовала реальная производительность связки RPi+NCS с учетом выполнения других вычислений, вот и сделал так. Наверное, надо добавить пояснение в статье, чтобы не было путаницы.
Мда, кривовато высказался. Но смысл-то ясен, дело в версии USB .-.
Ну, начнем с того, что обнаружение лиц, распознавание лиц и обнаружение спуфинг-атак — это три разные задачи, которые решаются по-разному.

Мой детектор занимается только обнаружением лиц, и вообще не различает как лица разных людей, так и настоящие лица и напечатанные. Вообще, я не ставил себе задачу сделать state-of-art детектор лиц, я скорее хотел запустить детектор лиц с приемлемым качеством на своем роботе, на конкретном устройстве (и это мне удалось).

В научной литературе достаточно статей про обнаружение спуфинг-атак с разной степенью сложности системы (начиная от анализа текстуры лица и заканчивая RGBD сенсорами и многомодальными системами контроля), и некоторые из них достаточно надежны. В целом, эта тема очень обширная и мало пересекается с темой моей статьи.
Так, это мой косяк. На самом деле проблема не в кабеле, а в версии USB (если на USB 3.0 фактическое время исполнения составляет 92.4 ms, то на USB 2.0 — 102 ms, независимо от наличия кабеля). Видимо, оба кабеля не поддерживают USB 3.0. Сейчас поправлю в статье.
Я сейчас измерил время исполнения и получил вот что:
  • Core i3 (мой ноут): 281 ms
  • Google Colaboratory (с видеокартой Tesla K80): 71.5 ms
  • NCS (измерено mvNCProfile): 80 ms
  • NCS (реальное исполнение, USB 3.0): 92.4 ms
  • NCS (реальное исполнение, USB 2.0): 102 ms
Вот не надо этого, Colaboratory не для этого предназначена.
Я не обучал сеть. В статье я указал, что использовал готовую модель. Но вообще для этого есть открытые базы размеченных изображений, на них обычно и производится обучение. К каскадным детекторам это тоже относится, кстати.
В этом есть смысл, если 5-7 fps достаточно (примерно столько выдает Haar на RPi), а я хотел бы выжать больше, и у меня есть подозрения, что это сделать вполне можно (я проверю).

По поводу колки орехов электронным микроскопом: нейросети неплохо решают множество задач, в том числе и обнаружение лиц, так что не вижу причин отказываться от них. Чувствительность к входным данным — это уже свойства модели, и тот же самый каскадный детектор может плохо переваривать перепады в освещении и окклюзии. Если вдруг модель настолько чувствительна к входным данным, то это скорее плохо обученная модель.

В любом случае, я не предлагаю всем использовать нейросети для обнаружения лиц для всех типов задач. Это скорее экспериментирование с NCS — попытка запустить нейросеть в формате, который официально не поддерживается.
Если я правильно вас понял, то детектор на базе OpenCV — это каскадный Haar или LBP. Я пробовал запускать их на RPi, и получил похожую производительность (порядка 5-7 вроде). Проблема в том, что большей скорости можно добиться только за счет сильного падения качества. У меня есть подозрения, что с помощью нейросетки можно добиться порядка 15 fps или больше, если выбрать более «легковесную» архитектуру, но это еще проверить нужно. С нейросеткой, которую я запускал, есть одна проблема — она явно рассчитана на использование видеокарты. Сейчас есть много архитектур, которые позволяют значительно повысить скорость за счет небольшого падения качества (те же Mobile Net, например).
Проверил. Без GPU и CUDNN получается 0.9 fps на core i3 (это в формате Darknet). То есть, ускорение вполне приличное для такого небольшого устройства. Как я и написал в статье, эта архитектура нейросети предполагает использование видеокарты даже на этапе применения.
Если честно, я не проверял. Возможность вполне есть, надо только собрать демо из репозитории, откуда я модель взял. Попробую проверить, мне и самому интересно стало.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity