Комментарии 3
Одно слово - крутота
После внедрения Metric Learning и своей платформы разметки мы пришли к следующему пайплайну.
Проводим аналитику и собираем новые товары или те, которые плохо распознаются.
Выделяем из новых фото группы товаров.
Если нужно, дообучаем модель.
Векторизуем все группы товаров и добавляем в базу. Аналоги векторизуются отдельно, но им проставляется метка основного товара.
Когда приходит фото на распознавание, мы извлекаем из него вектор признаков и сравниваем с теми, которые есть в базе, и выбираем товар с наиболее похожим вектором.
И проверяем насколько большое расстояние у этого товара и отправленного изображения. Если оно больше определенного порога, мы понимаем, что такого товара у нас нет в базе. И так мы перестали путать людей с углем.
Т.е. вы классификатору "показываете" картинки целиком ? Или то, что "вырежет" детектор ?
Если первое, то рискну предположить, что у вас расстояния между векторами будут неточными, т.к. на картинке кроме основного предмета есть еще и посторонние.
Кроме того, в зависимости какая у вас сеть на классификаторе время обучения будет разным.
Если вы resnet обучаете, то при большом количестве классов, это, видимо, несколько дней. Если one-shot сети, то за пару часов можно переобучить всю сеть целиком и не заморачиваться с векторами.
p.s. где обещанная статья про ценники?
Компьютерное зрение в ритейле: как мы научили нейронную сеть распознавать товары по фото