Видео AI за изграждане на вашата лична тенис видео библиотека!

AI в спорта и фитнеса е вълнуваща перспектива. Все по-често повечето професионални клубове наемат професионалисти, които умеят да използват данните, независимо дали става въпрос за статистика на мача, статистика на играча или видеоклипове за представянето, и препоръчват начини и средства за подобряване на играта или надхитряване на противника.

Наскоро имах възможност да работя върху случай на употреба, при който беше проучено използването на видео AI модели за изграждане на видео библиотека, съдържаща конкретни сегменти от видеоклипове. Да речем, че имате часове видеоклипове за тенис, бихте искали да сегментирате форхендовете, бекхендовете, дропшотовете на конкретен играч в отделни видеоклипове и след това да анализирате техния стил на игра. Искането беше да се използва собствено GCP AI решение, за да се постигне това.

За да постигнем това, ще използваме Auto ML Video Intelligence Models във Vertex AI. Vertex AI е унифицираната AI платформа на GCP. Решението за това е както е описано по-долу,

За да демонстрирам това решение, потърсих публично достъпни видеоклипове с надпис Тенис :-) За съжаление не можах да намеря такъв. Накрая намерих отбелязани видеоклипове на битки и без битки в тази връзка. Разполага с над 150 видеоклипа на битки и без битки, заснети от всякакви хотели, барове и търговски центрове. Решението трябва да работи точно по същия начин за случая на използване на Tennis Video Library, ако бяхме маркирали видеоклипове на удари от предна ръка, задна ръка или падащи удари в тениса.

Ще използваме тези видеоклипове за демонстрацията. Обучението Auto ML, използвано в тази демонстрация, се таксува на час за обучение. Така че общата цена за тази демонстрация ще бъде около ~20 USD.

  1. Като първа стъпка ще трябва да качим всички тези видеоклипове в GCS група. Можете да съхранявате битките и видеоклиповете без битки в различни папки, ако е необходимо.

2. Ще използваме Auto ML Video Classification във Vertex AI.

3. Създайте набор от данни във Vertex AI, за да качите наборите от видео данни.

4. Видео файловете, които ще бъдат качени, няма да бъдат директно изброени така, както са. По-скоро URL адресите на всеки от видеоклиповете трябва да бъдат поставени в .csv файл. Csv файлът трябва да съдържа следните полета,

url на файла, етикет на видеото в нашия случай (битка, без битка), време, когато събитието започва (в нашия случай битка, без битка), време, когато събитието завършва.

Така че в пътя на файла за импортиране ще изберем този .csv файл. Ще оставим разделянето по подразбиране.

5. Импортирането на всички видеоклипове трябва да отнеме около 5 минути, полученото разпределение на видеоклиповете по категории с етикет трябва да бъде както по-долу,

6. След като импортирането приключи, сега ще продължим да обучаваме модела Auto ML.

7. На моя модел отне почти 5 часа, за да завърши обучението.

8. Можем да видим модела, параметрите за оценка. Той ви дава добра точност и показатели за извикване за 100+ проби.

9. Сега е време да тестваме модела, чрез приемливи видеоклипове за прогнозиране. Моделите Auto ML Video позволяват само пакетно предвиждане.

10. Трябва да преминем тестови видеоклипове по същия начин, както предадохме входните файлове. Файловият формат в този случай трябва да бъде във формат jsonl.

11. Примерният входен jsonl формат за пакетно прогнозиране е както по-долу,

{'content': 'gs://sourcebucket/datasets/videos/source_video.mp4', 'mimeType': 'video/mp4', 'timeSegmentStart': '0.0s', 'timeSegmentEnd': '2.366667s'}

12. Сега ще качим jsonl файла с екземпляри за тестови видеоклипове и ще дадем изходния път, където ще се съхраняват прогнозите,

13. Резултатите от пакетното прогнозиране за тестовите файлове могат да се видят във формата по-долу, той показва видеото, класифицирано с времеви щампи във видео секцията, когато се случи събитието, като например кога се е състояла битката, подобно в случая на Тенис видеоклипове, където ще имаме множество класове, ще ни дадат случаите, когато е изигран форхенд, бекхенд или дропшот.

14. След това това може да се използва като вход за нарязване на видеоклиповете за времевите сегменти, като напишете персонализиран скрипт в python. Примерен скрипт може да бъде намерен тук. Така че всички сегменти от битки могат да отидат в една папка, а небитките могат да отидат в друга папка.

15. След това можем да комбинираме всички сегменти от видео битки в 1 файл, като използваме скрипт на Python като този, намерен тук. По същия начин ще можем да комбинираме всички тенис видео сегменти от удари от форхенд, бекхенд или дропшот в един видеоклип за всеки.

И така, с около половин ден усилия вече трябва да можете да изградите своята тенис видео библиотека с всички снимки на любимия си играч в един файл! Мач Пойнт!!