Pull to refresh

Comments 19

Крутая вещь и интересная реализация! Спасибо!
А в теории к домашней автоматизации можно прикрутить для создания отчета "пока вас не было дома": в дверь звонил вот этот человек два раза и еще проходили люди несли что-то, а детские санки в коридоре никто не трогал. Как вариант?

Область применения очень широкая, практически в любой отрасли
Не понял из статьи — можно повторить с любой камерой для малинки или нужна специфичная?
С любой, нужен только видеопоток
как всегда, самая широкая область применения будет в военном деле )
детекция объектов — необходимый шаг практически для любой задачи, связанной с машинной обработкой, так что широта применения не ограничивается военным делом.
Спасибо за статью! Простите за глупый вопрос, но как, подняв докер image, через curl отправить картинку на распознавание на сервис в докере? Попробовал через REST-клиент и через curl?
 curl -X POST -F 'image=@./detect-app/data/pic.jpg' http://127.0.0.1:8080/ddetect       

Все время ошибка что буфер пуст.
cv2.error: OpenCV(4.2.0) /io/opencv/modules/imgcodecs/src/loadsave.cpp:730: error: (-215:Assertion failed) !buf.empty() in function 'imdecode_'

Пробовал и так и сяк:

POST http://127.0.0.1:8080/ddetect
Content-Type: image/jpeg

< ./detect-app/data/pic.jpg

Запрос на `/` выдаёт ожидаемое `DNN REST Service`.
Двойные кавычки и file называется переменная:
curl -X POST -F «file=@cat.jpg» 192.168.1.243:8001/ddetect --output a.jpg

PS: Хабр меняет просто кавычку " на <<
Вы на молинке с USB3 Интел стик пробовали? Думал может это вариант.
И ещё — какое поколение i7 го (у меня ноут с третим i7 лежит, у которого производительность вроде как на маке с пятым i5 вроде)
Нет, у меня третья, на ней USB2. Это конечно даст прирост в скорости, но NCS — и так самый быстрый вариант.
Про поколение I7 не в курсе, лет 5 ему уже.
Да, нашел отзыв, что всего процентов 20-30 прирост при подключении к USB3 вместо USB2 www.hackster.io/news/benchmarking-the-intel-neural-compute-stick-on-the-new-raspberry-pi-4-model-b-e419393f2f97
Малинку специально покупал 4ю, чтобы со стиком и ссд попробовать, но так пока не дошли руки (ссд попоробовал — быстро работает).
Про процессор спросил, поскольку почему-то не завелся на моем ноуте этот стик (под Ubuntu, устройство не нашлось чтобы intel openvino-вскими сэмпл-программами поиспользовать — буду еще смотреть позже).

У стика главная фича — асинхронное исполнение, не ждать пока данные отправяться, посчитаются и вернуться, а делать параллельно ещё запуск. Можно так и до x2 получить: https://github.com/opencv/opencv/pull/14516


Про неработающий стик на унубту — проверьте udev rules:


$ cat /etc/udev/rules.d/97-myriad-usbboot.rules

SUBSYSTEM=="usb", ATTRS{idProduct}=="2150", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0660", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="usb", ATTRS{idProduct}=="2485", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0660", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="usb", ATTRS{idProduct}=="f63b", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0660", ENV{ID_MM_DEVICE_IGNORE}="1"
Асинхронное исполнение — оно только асинхронное, или стик что то может паралеллизовать?

Да, внутри можно запустить одну и ту же сеть обрабатывать несколько входов параллельно.

Вместо Bare metal/VPS или кластера, попробуйте serverless computing. На каждый реквест будет спинится отдельная виртуальная машина.


Может не сработать, но в теории должно быть быстро (но скорее всего дорого).

Вы что имеете в виду?
Аmazon lambda?

Amazon Lambda, Azure Serverless, Heroku, Adobe I/O Runtime. Который будет дешевле и проще в использовании.

UPD: Я тут подумал, подгружать модель с OpenCV будет тяжело для serverless :/

На лямбду надо тоже будет ставить все необходимое — opencv, SSD, а я не уверен что они туда легко и быстро встанут.


Проще тогда уж использовать готовый computer vision сервис — типа Rekognition или аналогов от Гугла и Микрософта.

Sign up to leave a comment.

Articles