in

Следим за Лионелем Месси с помощью TensorFlow и Object Detection

Введение

На этот раз наша задача проанализировать футбольный матч и определить ее игроков c помощью TensorFlow (по крайней мере, одного из них).

Говоря о футболе, первое, что пришло в голову — это талантливая аргентинская звезда Лионель Месси. Я предлагаю:

  • Давайте подготовим персональную модель, которая позволит нам найти аргентинскую звезду.
  • Давайте проанализируем реальную игру (в этом случае я выбрал матч Уругвай — Аргентина, Конмебол, отборочный 31 августа 2017 года), чтобы увидеть какие результаты мы можем получить.
  • Давайте подумаем, можно ли улучшить или внести свой вклад в тактику этого страстного вида спорта, используя эту технологию.

Мы будем использовать TensorFlow и предлагаемую модель для обнаружения объектов, все под лицензией Apache License 2.0.


Начну я с полученного мною результата:

Если вам понравилось, я приглашаю вас посвятить еще несколько минут, чтобы исследовать поэтапно процедуру построения этой модели.

Мы должны совершить три важных момента:

  1. Создание настраиваемого наборо данных с объектами, которые будут обнаружены. [в нашем случае Лионель Месси].
  2. Поиск и оценка модели с помощью TensorFlow.
  3. Использование созданной модели.

Шаг за шагом:

Создание собственного набора данных:

  1. Если мы изучим официальную документацию, то найдем эксклюзивный раздел для создания нашего пользовательского набора данных. Здесь вы можете это увидеть.
  2. Нам нужны изображения объектов, которые мы хотим обнаружить. И нам нужно их обозначить.
  • В этом случае я использовал инструмент RectLabel, отличный вариант для MacOS. [Есть и другие альтернативы, такие как LabelImg]
  • Затем для первых тестов я собрал около 119 изображений (для тестирования) футбольной игры.
  • Я обозначил около 100 единиц, выбрав аргентинскую звезду.

Чтобы возпроизвести этот пример в производство, на этом этапе, безусловно, потребуется гораздо больше изображений.


Следующим шагом будет преобразование фотографий и их соответствующих тегов в файлы TFFormat. Здесь вы можете увидеть используемый сценарий. (Я использовал промежуточный шаг для преобразования ярлыков xml в csv, здесь скрипт).

Помните, что идеальной средой является создание учебного набора и набора оценки.



Тренировка нашей модели

Теперь мы начнем обучать и оценивать модель.

  • Для этого шага я использовал ML Engine, так как у меня не было локальной инфраструктуры для выполнения процесса в среднем за 1 час. [здесь есть официальное описание процедуры]
  • 5 рабочих с использованием стандартного gpu.
  • Также настоятельно рекомендуется использовать TensorBoard, чтобы визуализировать процесс обучения и оценки.
  • Не забудьте использовать прямое взаимодействие с облачным хранилищем Google. Другими словами, все файлы должны находиться в их репозитории, чтобы взаимодействовать с ними.
TensorFlow
TotalLoss в TensorBoard
Ml Engine
Работа Ml Engine

После использования 21,77 единиц, 1 часа 9 минут и около 20 тыс. Итераций у нас есть несколько контрольных точек и приемлемая модель.

Используя самую последнюю контрольную точку, мы переходим к преобразованию обучаемой модели в вывод. (Здесь вы можете увидеть официальную документацию).

Использование модели

Закончив эту процедуру, мы будем использовать модель для следующих опций:

  • Скрипт, который использует модель и генерирует видео с результатом обнаружения. Вот пример реализации.
  • Скрипт, который может оценивать видео в реальном времени и декодировать метки для расчета появления аргентинской звезды. Вот пример реализации.

Демонстрация с замедленным движением:

Больше информации о реализации здесь.

Заключение

Как можно улучшить спортивную тактику? Включить в нее больше игроков. Пока мы используем только одну камеру, но что произойдет, если бы у нас была опция камеры с более подробной информацией или полным обзором футбольного поля?

Позиции всех игроков могли быть рассчитаны, ведь мы подтвердили, что игроков можно легко идентифицировать, тогда … можно ли найти лучшую тактику, основанную на позиции игрока и их хорошо известных навыках?

Надеюсь, вам понравилась эта процедура, и я надеюсь увидеть все больше и больше реализаций TensorFlow в спортивных дисциплинах, таких как эта.

Как вы оцените нашу статью?

0 рейтинг
Upvote Downvote
Star Wars: Battlefront

Star Wars: Battlefront 2 — советы и рекомендации

Безопасность Wi-Fi: следует ли использовать WPA2-AES, WPA2-TKIP или оба?

Безопасность Wi-Fi: следует ли использовать WPA2-AES, WPA2-TKIP или оба?