Комментарии 5
Так-то для android девайсов есть квантизированные модели той же yolo https://docs.ultralytics.com/hub/app/android/
4/5 yolo довольно старые версии сети. Хоть и 5 до сих пор используются в некоторый кейсах, когда нужна производительность, но в большинстве своём уже все перешли на 8 или11 yolo.
И если уж и сравнивать FPS, то в данном конкретном случае нужно было брать yolov5n, а yolov5s. Тогда бы, я думаю картина была бы чуть более честной + конечно в табличку бы хотя бы какую нибудь метрику по типу mPA 0.5:0.95, чтобы нормально оценивать получившийся результат.
А реализация IOU и NMS уже есть в тех фрейворках, которые вы используете, зачем изобретать велосипед - непонятно.
И плюс ко всему этому YOLO это конечно SOTA модель, но в коммерческих целях её можно применять согласно их коммерческой лицензии, что вносить ряд очень серьёзных ограничений в её использовании.
P.S. С помощью тулзы в репозитории yolov5 можно экспортнуть pt модель в NCNN формат без каких либо проблем.
Можно вопрос про лицензии йоло? Вы в них разбирались? Вопрос - что я должен открыть? Код самого йоло - да пожалуйста, но веса - это же не код.
https://www.ultralytics.com/license
Можете тут ознакомиться.
Если коммерческая лицензия - то в целом можете использовать как хотите, если её получите.
Если лицензия открытая, то это только академическое использование с полным открытие исходного кода ПО и публикацию моделей + все опубликованное ПО и модели должны лицензировать этой же лицензией.
AGPL3 покрывает вопросы кода. Вообще, в большинстве открытых лицензий говорят о коде, а не продукте его использования. Весы сети - это не код, а именно результат использования лицензированных продукта. В инференсе почти никто код ультралитикс использовать не будет - все сконвертят модель в оннх и запустят, например, в Onnxruntime, лицензия которого не требует раскрытия кода. На чем основана ваша уверенность, что ультралитикс требует публикацию моделей?
P.S. На мой взгляд по вашей ссылке они пишут не про те модели, которые я сам обучу, а про их обученные и выложенные модели.
Спасибо за комментарий, насчет квантованной версии, и устаревших архитектур вы правы. Но основная цель статей была показать как используя в основном С++ работать с камерой, обрабатывать изображения и подключить ML библиотеки.
Приведенное сравнение производительности было сделано с только целью посмотреть как использование GPU влияет на производительность в рамках выбранных инструментов. А для решения конкретных задач конечно нужно проводить дополнительные исследования, учитывать особенности доступного железа, и по возможности применять актуальные архитектуры моделей.
Компьютерное зрение на С++: подключаем ML-библиотеки и обрабатываем результаты поиска объектов