Как посчитать количество однотипных объектов на фото?

Есть задача (для меня это академический интерес) посчитать количество однотипных объектов на фото. Пример фотографии.

Условия:
  • Разная погода/освещение/ракурс
  • Фотки делаем на телефон и шлём боту в telegram
  • Время подсчёта – хотя бы меньше 10 секунд
  • В идеале выполнять расчёты на хостинге, без привлечения GPU


На выходе желательно получить такую же фотку, размеченную bounding box'ами с их нумерацией и общим количеством (для визуального контроля). Пример.
Пробовал адаптировать код из статьи для своей задачи – получается плохо, скорее всего из-за "полевых" условий съёмки. Рулоны бывают лежат не точно в плоскости и/или чем-нибудь немного закрыты. Уже предвижу ложные срабатывания на отражения в луже или какие-нибудь колёса автомобилей.

Попался еще такой пример на котиках. Там речь о каких-то предварительно обученных классификаторах и вряд ли среди них будут рулоны))

Поэтому стал двигаться в сторону нейронных сетей. Нашёл такой диссер – Автоматизированный подсчет объектов на изображении.... Сложная для меня тема.
  1. Можно ли всё-таки обойтись "обычными" алгоритмами и не влезать в машинное обучение?
  2. Если да, то что посоветуете. Вдруг я просто упустил из виду готовое решение для своей задачи (из того же OpenCV)
  3. Если ML надо изучать, то прошу совета по поводу диссертации. Насколько реально повторить опыт исследователей.
    Или может есть уже готовая нейронка, которой достаточно скормить свой датасет.
  • Вопрос задан
  • 9652 просмотра
Решения вопроса 1
@LbG0tHNk
Работаю над похожей проблемой. Автор свяжись со мной (возможно через ответ тут, там решим), мне нужно будет тренировочные фотки, может быть получится подпилить свою сеть для твоей проблемы, но ничего не обещаю по срокам.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@moh-mog-drinks
У вас НЕ КОНКРЕТНЫЙ ВОПРОС.
И здесь ему делать нечего.

Почитайте для начала это
https://habrahabr.ru/company/ods/blog/337548/
Ответ написан
dimonchik2013
@dimonchik2013
non progredi est regredi
www.pyimagesearch.com/2015/11/02/watershed-opencv

но вообще придется додумывать самим, pattern matchong в том числе
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
1. Составить датасет из нескольких торцов этих рулонов. Т.е. фактически, это 6-тигранник с чёрными треугольниками по краям (0 - не зазор, 1 - зазор):
001100
110011
000000
110011
001100
2. Затем, определить все похожие части на изображении по обученному вектору НС (определение торца рулона).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы