
Комментарии 4
Обычно исходя из особенностей платформ можно заранее понять где что работать будет/не будет. Например почему не использовать более мощную сетку детекции? Какие ограничения на сети/на fps. Почему не использовать сегментацию/детекции с поворотом (переход все же плохо описывается прямоугольным BoundingBox). И.т.д., и.т.п.
Ещё отмечу, что у вас не понятна постановка задачи из написанного. В общем случае переход искать сложно. Скорее всего у вас авторегистраторы? Это очень сильно сжимает домен данных, можно более точно нацелиться на то как переход выглядит для ракурсов с дороги. Скорее всего у вас машина не будет ехать перпендикулярно переходу.
End-to-end тесты говорят про качество алгоритма сильно больше чем метрики.
Думаю, мы с командой как-нибудь доберёмся до описания особенностей SoC. Действительно интересный топик. Главный посыл будет, что выбор должен быть осознанным компромиссом между стоимостью конечного девайса в производстве и трат на R&D.
Верное замечание, мы как раз этим и занимаемся. Подбираем оптимальный подход по критерию достаточности мощности чипа и удовлетворения бизнес-задач. Пробы с сегментацией как раз следующий шаг, делаем на них большую ставку. =)
Тут да, к сожалению, полную задачку раскрыть не можем по причине NDA. Действительно, это регистратор, но не совсем в классическом понимании. Как раз всеми силами готовимся к End-to-end.
Спасибо за вопросы!
В качестве лайфхака – мы старались реализацию каждой новой версии дообученного алгоритма делать раз в два дня.
пришлось в выборку подмешивать (и достаточно много) ложные кадры, где, используя известные инструменты, мы сообщали сетке, что «тут точно нет пешеходного перехода».
Я ненастоящий сварщик, задам автору статьи (и комментаторам) вопрос дилетанта, на который, я понимаю, нельзя дать краткий и однозначный ответ: как вообще настоящие ML/AI инженеры/исследователи решают прикладные задачи, создают архитектуру сетей итп? Если почитать какой-нибудь учебник, гайды, курсы итп по ML, можно встретить (в разных пропорциях): матстат и прочий матан в основе, классы решаемых задач, основные существующие архитектуры, способы решать различные проблемы обучения (нормализация итп итд).
А что дальше? Мои потуги поучаствовать в паре конкурсов любопытства ради окончились тем, что беру сеть, обучаю, получаю отвратительный результат, который непонятно как улучшать.
Наверное, за весь мир ML/AI инженерии не скажу, везде есть свои особенности, но в наших задачах (EDGE устройства) важно чётко обговорить бизнес-задачу клиента.
При том, чем более отстранённо от компьютерного зрения будет объяснение задачи, тем лучше. Клиент должен конкретно указать какую потребность, боль, проблему (нужное подчеркнуть) должен решить разрабатываемый девайс/алгоритм в девайсе.
Но основе этой информации начинается поиск компромиссного решения - как мы можем это реализовать, имея конкретный SoC, конкретные условия эксплуатации и т.д. Некий элемент творчества.
А после этого, начиная с "беру сеть, обучаю, получаю отвратительный результат", улучшаем метрики и допиливаем постобработку до бизнес-задачи. Здесь хорошо помогает опытный ML-специалист, который некоторые неудачные пути может оценить заранее и просто по ним не пойти.
Надеюсь, смог "на пальцах" ответить.
Спасибо! =)
Как мы заставили коллег фотографировать «зебру»