Поглиблене навчання футболу Комп’ютерне бачення (Частина I)

У цій серії статей ми побачимо, наскільки глибоке навчання використовується у футболі. Замість того, щоб робити просте.

комп

У цій серії статей ми побачимо, наскільки глибоке навчання використовується у футболі. Замість того, щоб складати простий каталог того, що робиться, ми збираємося підняти руки і побудувати реальну систему аналізу ефективності. Перші дві статті будуть присвячені побудові системи виявлення гравців на місцях за допомогою техніки комп'ютерного зору.

Комп’ютерний зір, або комп’ютерний зір, - одне з основних напрямків машинного навчання.

До 2017 року прогрес у цій галузі був вражаючим. Незважаючи на спад в останні роки, ми вже маємо системи, які дозволяють нам робити багато цікавого. У цій статті я представляю YOLO: Ви дивитесь лише один раз.

Вступ до автоматичного виявлення об’єктів: комп’ютерний зір

Для людського ока виявлення предметів на зображенні є дуже простою дією, для комп’ютера завдання набагато складніше. До недавнього часу виявлення об'єктів здійснювалося за допомогою методів градієнта зображення. За винятком того, що ці методи є дуже дорогими і набагато менш надійними, результат є повільними і не надто придатними для використання системами.

Поява глибокого навчання та поява таких моделей, як згорткові нейронні мережі, вивели комп'ютерне бачення в новий вимір.

Більше того, комп'ютерний зір є однією з найважливіших складових автономного автомобіля. Це одна з програм, яка допомогла зберегти ентузіазм у цій галузі.

Сьогодні системи комп'ютерного зору високорозвинені і досягли вражаючих показників продуктивності. Таким чином, ШІ перевершив показники лікарів з діагностики раку.

Навіть якщо останні кілька років здаються плато для комп'ютерного зору з кількома великими відкриттями, дослідження все ще дуже активні, і ми маємо дуже надійні інструменти. YOLO - прекрасний приклад.

Як працює YOLO ?

YOLO - це система комп'ютерного зору з відкритим кодом, яка, коли вона була створена в 2016 році, пропонувала інноваційний підхід до вирішення проблеми. Це дозволяє виявити на зображенні чи відео наявні предмети та місце, де вони перебувають.

У разі аналізу відео, послідовність поділяється на кілька зображень. Потім ідея полягає в аналізі зображення за допомогою нейронної мережі. Потім зображення розрізається на кілька невеликих областей і щоразу застосовується система виявлення.

Система обрамляє регіон, дає йому мітку з навчальних даних, які вона вивчала, і обчислює оцінку достовірності для прогнозу.

Як YOLO працює для виявлення об’єктів на зображенні

YOLO став важливим, особливо завдяки його продуктивності та швидкості. Це дозволяє миттєво аналізувати зображення.

Більше того, цей підхід також дозволяє оптимізувати ефективність використовуваних мереж згортки. Замість того, щоб кожного разу обробляти об’єкти один за одним із спеціальними навчальними даними (як це було зроблено для Fashion MNIST), ми підходимо до проблеми більш глобально.

YOLO - це проект, за яким стежать багато інженерів та дослідників машинного навчання. Це забезпечує періодичне оновлення. Насправді нещодавно була випущена версія 5, яка дозволяє їхати ще швидше, не втрачаючи ефективності! Як далеко ми будемо їхати ?

Поглиблене навчання футболу: виявлення позиції гравців у футбольному матчі

Тепер, коли ми знаємо трохи більше про YOLO, давайте перевіримо його ефективність для аналізу футбольних матчів.

Якщо вам не подобається футбол, будьте в будь-якому випадку, ви дізнаєтесь, як використовувати інструмент для іншої програми, яка вам лежить на душі 🙂

Вступ

Глибоке навчання зводить усіх з розуму !

І спорт - не виняток. Аналіз результативності, допомога у наборі на роботу, запобігання травмам, застосування поглибленого навчання у футболі безліч.

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

Сьогодні дуже вдосконалені системи комп'ютерного зору дозволяють виконувати цю роботу миттєво і з більшою точністю. Не будуючи настільки розробленої системи, у решті цієї статті я покажу вам, як YOLO дозволяє вам робити подібні речі.

Застосування попередньо підготовленої версії YOLO для футбольної послідовності

Виходимо з наступної послідовності. Мета полягає в тому, щоб спочатку було одне і те ж відео з виявленням програвача. YOLO також відображатиме оцінку достовірності прогнозу у відсотках над кожним об'єктом, який буде виявлено як гравець.

Непозначена послідовність взята із засідання Атлетико-Барса

Щоб уникнути проблем екологічного управління, я рекомендую використовувати Google Colab. Ви також матимете доступ до безкоштовного графічного процесора, що прискорить навчання моделі.

Якщо у вас є достатньо потужний матеріал (або якщо у вас є час, багато часу ... і я все ще не впевнений, що це спрацює), вам доведеться налаштувати інші речі, щоб цей проект працював.

Всі наведені нижче коди доступні на Colab.

На Colab вам просто потрібно активувати графічний процесор. Для цього натисніть Виконання, а потім Змініть тип виконання, повинно з'явитися це вікно. В апаратному прискорювачі виберіть GPU:

Тепер ми можемо почати писати код.

Першим кроком є ​​надання Google Colab доступу до вашого Google Drive, нам потрібно буде зберігати там файли.

Після того, як ця комірка буде виконана, вам потрібно буде натиснути посилання Google, щоб вибрати свій обліковий запис. Потім вам потрібно буде натиснути кнопку Дозволити:

Після надання доступу повинен з’явитися ключ автентифікації. Скопіюйте цей ключ і вставте його в клітинку Google Colab:

Google Colab тепер має доступ до вашого Google Drive.

Зараз ми будемо використовувати модуль під назвою Darknet (я гарантую вам нічого спільного з глибокою павутиною або чим завгодно ха-ха). Спочатку слід клонувати сховище GitHub, яке його містить. Ось код для написання:

Якщо все піде добре, файл повинен з’явитись у стовпці Файли праворуч.

Тоді вам доведеться встановити кілька команд, які дозволять виконувати YOLO на Google Colab. Я отримав ці рядки з офіційного сайту YOLOv3. Встановлення має бути досить швидким:

Після того, як ви введете файл Darknet із% cd darknet, вам доведеться ініціалізувати графічний процесор і файл darknet. Якщо ви часто працюєте з командним гостем, ви повинні цілком почуватися з цими операціями.

Команда cd дозволяє змінити робоче середовище, а sed -i - змінити вихідний файл.

Тепер ми повинні відновити попередньо навчену модель, взявши ваги нейронної мережі.

Тепер у нас є навчена модель, готова до використання. Давайте перевіримо !

У вас буде кілька бібліотек для встановлення:

І тепер ми можемо розпочати аналіз нашого відео. Не забудьте помістити файл baratl.mp4 у папку darknet. Ви можете завантажити його тут.

Нарешті, ми завантажуємо відео, яке містить нашу послідовність із усіма мітками:

Результати

Ось що ми отримуємо:

Така ж послідовність матчу з цього разу ярликами на людей

Для початку це не так вже й погано. Пам'ятайте, що ми використовували вже навчену систему, яка є дуже загальною. Практично неможливо створити систему, яка дає задовільні результати у всіх сферах. Ми бачимо, що багато гравців не виявляються.

Я спробував використати версію 5 YOLO, результат майже ідентичний.

Ви також захочете вимкнути виявлення для прихильників або інших людей або предметів. Також було б цікаво розділити дві команди на Команду А/Команду В. Тоді однією з найбільших проблем буде створення системи, яка робить прогноз миттєвим. Тож у нас ще багато роботи !

Для досягнення певного рівня продуктивності нам знадобиться система, повністю призначена для нашого додатку. Це буде предметом наступної статті.

Підпишіться на історію, щоб отримувати наступні статті цієї серії !