Как стать автором
Обновить

Комментарии 21

Доверьтесь магии и подавайте в нейросетку N последних кадров + M последних распознанных позиций мяча.
Тогда сможете определять мяч с любого ракурса на (практически) любом фоне и в разных условиях освещения.
Можно поподробнее? Я пробовал обучать классификатор, но он работал крайне ненадежно
Две нейросетки: одна предсказывает где может оказаться мяч на следующем кадре и другая собственно ищет мяч на кадре.

Первой сетке на вход подаёте M пар двумерных координат где мяч был ранее разпознан.
На выходе ждёте плоский массив типа 100x100 где мяч должен быть. Типа тепловой карты вероятностей.
Эту сетку можно тренировать на синтетических данных.

Вторую сетку делаете как YOLO4 только на вход подаёте N последних кадров и отдельно ту 100x100 картинку. Как вариант можно в каждый кадр добавить четвёртый цвет — 100x100 карту.
На выходе получаете координаты мяча.
Эту сетку придётся тренировать на кастомном датасете. Придётся делать видео людей разной степени волосатости играющих на разных площадках и вручную размечать летящий мяч.

Как вы глазами ищете самолёт в небе: сначала шарите по всей картинге пока не найдёте его, потом мозг начинает предсказывать где самолёт должен быть и даже если он скроется на секунду за листвой всё равно сразу распознаете его как только появится.
Предсказание будущей координаты мяча резко упрощает задачу распознавания картинки.
>>Первой сетке на вход подаёте M пар двумерных координат где мяч был ранее разпознан
У меня уже есть параболическая траектория, это все считается без нейросети, но на порядки быстрее.

>>Вторую сетку делаете как YOLO4
В основе YOLO все равно лежит бинарный классификатор, если он не работает, то про детектор нет смысла говорить

>>Как вы глазами ищете самолёт в небе…
Воот, мозг знает какой то контекст, на основании которого он может распознать самолет. Нейросеть контекста не знает и любой кусок серого цвета может быть принят за самолет (и человек тоже не отличит, если не знает контекста)
Может оказаться так, что нейросетка может понять из контекста, скажем, поля и сетки поле вероятностей где мяч может оказаться.
Подсвечивая кадр этой тепловой картой вероятностей можно резко улучшить результативность YOLO.
Некоторые не весь HD кадр в YOLO пихают, а вырезанную область вокруг предполагаемых координат летящего объекта.
А не подскажете готовые эксперименты с кодом на подобную тему? На словах оно гладко, а когда я начинал копать примеры, так все время чего-то не хватало
С открытым кодом работ очень не много. Навскидку так вспомню только работу греков одних которые камерами комаров детектили. Там целый каскад нейросеток был: одна нейросетка искала движение, другая предсказывала координаты уже ведомой цели, потом YOLO и в конце клафицикация урезаной картинки.
Ссылкой не поделитесь?
Помимо нейросеток я бы предложил и более «дубовые» подходы, но идея все та же — зная положение мяча на N предыдущих кадрах, можно не пытаться искать его на всем изображении, а искать его в достаточно «ограниченном подходе. Можно почитать на эту тему например вот en.wikipedia.org/wiki/Particle_filter

С учетом того, что у вас в примере очень хорошо отслеживается большая часть положений это поможет избежать откровенных выбросов, которые проскакивают в промежутке.

З.Ы Делал диплом, только трекал не мяч, а спортсменов

Спасибо, изучу.
Про ваш диплом — есть статья и код в открытом доступе?
Не уверен что найду сходу исходники, статью можно найти здесь
Есть такая проблема, причем не обязательно с лысыми

А вы не пробовали сначала подавить шумы?

Тут такая штука — нельзя 100% подавить шумы и оставить только мяч. Он неминуемо давится вместе в шумами и в более жестком режиме короткие траектории идут под острел. Приходится искать баланс.
Посмотрите

![image]()


мне кажется, намного лучше стало, зрению должно быть сильно проще. Единственное — надо тень от мяча с мячом не перепутать ))

Тень отсекается, если выбрасывать вогнутые параболы.
Вообще в шумоподавлении есть несколько уровней:
— геометрия, где отсекаются кандидаты нестандартных форм и размеров
— движение, где отсекаются случайные и статические кандидаты
— траектории, где отсекаются непараболические или неправильно ориентированные траектории
— семантика собственно волейбола (TBD) где отсекаются траектории, невозможные в игре

мне кажется, с тенью можно просто отбрасывать тот из двух объектов, что ниже, нет?


с шумодавом — очень помогает ресайз вниз вдвое(и обратно, если надо) — дёшево и неплохо

Отдельной логики обработки тени сейчас нет, может быть удастся обойтись без этого.
Ресайз вдвое — легко режет и мяч, особенно когда он на дальнем плане и фон не сильно контрастный.
Мне понравилась эта статья, спасибо!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории