(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; m[i].l=1*new Date(); for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }} k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); ym(95489336, "init", { defer: true, clickmap:true, trackLinks:true, accurateTrackBounce:true }); ym(95489336, 'hit', window.location.href);

Как нейросети помогают развивать навыки по стрельбе: история от чемпионов мира

С вами на связи чемпионы мира по практической стрельбе: Алёна Карелина и Роман Халитов. Мы далеки от мира разработки, но сегодня хотим рассказать, как создали профессиональный инструмент для нашего вида спорта в виде мобильного приложения.

Алёна Карелина и Роман Халитов

Что такое практическая стрельба

Это как шутер от первого лица. Мы бегаем, прыгаем, меняем магазины и стреляем из неудобных положений. Стреляем в различные типы мишеней, в том числе в подвижные.

Результат соревнования — хитфактор.

Хитфактор — количество набранных очков, делённое на время прохождения.

Лучше понять, что из себя представляет наш вид спорта, поможет это десятисекундное видео.

Неудобства тренировочного процесса

На соревнованиях мы боремся за сотые доли секунды. Поэтому важно, чтобы наши тренировки по скорости прохождения были максимально эффективны.

Для этого мы записываем прохождение одного упражнения на видео, а потом сравниваем его с чужими или другими своими попытками пройти его. Мы анализируем каждое наше движение и смотрим на время между выстрелами.

Раньше для этого мы использовали два планшета, на которых пытались одновременно запустить два видео. Но этот подход неудобен: невозможно замедлить и перемотать оба видео одновременно, их сложно синхронизировать, и весь процесс занимает много времени.

Как современные технологии могут нам помочь

У нас появилась идея сделать инструмент в виде мобильного приложения, который бы мог:

  • Одновременно проигрывать два видео, синхронизируя их по стартовому сигналу.
  • Отображать совершенные выстрелы на временной шкале.
  • Показывать время между соседними выстрелами.

С этой идеей мы пришли к ребятам из Doubletapp, дальше передаём слово им, чтобы они подробнее рассказали про процесс разработки.

Алёна Карелина, Роман Халитов и Doubletapp

Разработка

Разработка состояла из двух основных частей:

  1. Разработка алгоритма нахождения стартового сигнала и выстрелов.
  2. Разработка мобильного приложения под iOS.

Как распознавать выстрелы

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

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

Распознавание выстрелов по громкости звука не работает должным образом.

Поэтому мы решили задействовать нейронные сети. Алёна и Роман передали нам больше тысячи записей со стрельб, но они никак не были размечены.

Мы разработали инструмент, который позволил нам быстро размечать, где в видео находятся выстрелы и стартовые сигналы.

​Вспомогательный инструмент для разметки видео

После мы сгенерировали аудиодорожки, в которых звуки выстрелов и стартовых сигналов были положены поверх самых разных аудиорядов: рёв мотоцикла, дыхание при беге, музыка Ивана Дорна, блог Артемия Лебедева и прочее. Для обучения использовались как оригинальные аудиодорожки, так и сгенерированные.

По ходу разметки мы постепенно обучали нейросеть, чтобы она сама начинала подсказывать нам, как разметить данные.

На размеченных данных была обучена окончательная версия нейронной сети. Сеть состоит из свёрточных и рекуррентных слоёв. Она работает поверх спектрограммы.

Каждый момент времени она относит к одному из четырёх классов:

  • Стартовый сигнал.
  • Начало выстрела.
  • Продолжение выстрела.
  • Фон.

Отдельный класс для начала выстрела нужен, чтобы сеть умела разделять идущие подряд выстрелы.

Итоговое качество распознавания

Метрики распознавания выстрелов считались с учётом того, что начало выстрела, определённое нейросетью, не должно отличаться от реального начала выстрела больше, чем на 50 миллисекунд: для клиента были важны доли секунды.

  • Точность распознавания составила 99,1%.
  • Полнота распознавания 97,8%.

Точность — вероятность того, что найденный выстрел — действительно выстрел.

Полнота — вероятность того, что существующий выстрел будет найден.

Приложение под iOS

Было разработано нативное приложение на Swift. Полученная нейронная сеть была интегрирована в него с помощью CoreML.

Приложение HitFactor:

  • Распознаёт и отображает звуки выстрелов и стартовых сигналов на временной шкале.
  • Показывает время между выстрелами в таблице.
  • Сравнивает два видео, имея для анализа на одном экране результаты обоих стрелков.
  • Работает полностью в офлайне.
  • Сохраняет итоговое видео анализа стрельбы в Full HD.

Приложение можно скачать в AppStore.

Стоимость и сроки разработки

С вами снова Алёна и Роман, стрелки, спортсмены и просто чемпионы мира, если вдруг вы успели забыть.

От возникновения у нас первоначальной идеи до выхода первой версии приложения в App Store прошло чуть меньше года. Стоимость разработки составила около 670 тысяч рублей.

Потрачено: 670 тысяч рублей.

Бизнес-модель

Приложение работает по фримиум-модели и позволяет бесплатно проанализировать и сравнить до пяти пар видео в месяц. Сейчас конверсия в платного пользователя из установки составляет 8%.

Наша потенциальная аудитория — все любители и профессионалы в практический стрельбе. Как минимум в России этим видом спорта занимаются более 25 тысяч человек.

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

Продвижение

Мы продвигаем приложение в наших соцсетях, показываем его на соревнованиях другим спортсменам. Сегодня добрались и до vc.ru.

Кроме того, наши разработчики записали большое видео, где мы максимально подробно рассказываем о продукте.

Что дальше

Нас много спрашивают про Android- и веб-версии нашего продукта.

Как только мы поймём, что продукт начинает окупаться, то запустим разработку под другие платформы и будем развивать основное iOS-приложение, идей для этого у нас очень много.

Очень хочется услышать ваше мнение и немного повысить DAU :)

0
25 комментариев
Написать комментарий...
Dima Afonin

Doubletapp — отличные ребята. Тоже с ними работаем по приложению Практика : )

Ответить
Развернуть ветку
Doubletapp
Автор

Спасибо, рады стараться ;)

Ответить
Развернуть ветку
Антон Анцелевич

Почему начали с ios, а не с андроида?

Ответить
Развернуть ветку
Алёна Карелина

Потому что мы делали это приложение для себя в первую очередь. А у нас айфоны :)

Ответить
Развернуть ветку
true iBegginer

очевидно же
1) рынок США
2) платежеспособность аудитории
3) качество айфона\айпада как продукта - железо без сюрпризов + софт(API) без сюрпризов

Ответить
Развернуть ветку
Ivan Ardintsev

Теперь в новостях можно писать: задержанный тренировался стрелять в нейросетях.

Ответить
Развернуть ветку
Aleksandr Kuznetsov

Как решаете кейс при стрельбе с глушителем?)

Ответить
Развернуть ветку
Ренат Смольный

Как то не встречал спортивной практической стрельбы с глушителем))

Ответить
Развернуть ветку
Pasha Kislova

А это не для спортивной, а для практической стрельбы 🙂

Ответить
Развернуть ветку
Roman Lugovkin

В данном случае "практическая стрельба" это вид спорта. По людям там не принято шмалять из ствола с глушителем )

Ответить
Развернуть ветку
Ренат Смольный

Там в принципе по людям не стреляют)

Ответить
Развернуть ветку
Dmitry Machurin

Интересный кейс !!!

Ответить
Развернуть ветку
Мария Аверченко

А нейросеть поверх какой спектрограммы использовалась, fft / mel / mfcc? Были ли проблемы связанные с тем, что видео может быть сжато по разному и из-за этого спектр аудио обрезан?

Ответить
Развернуть ветку
Doubletapp
Автор

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

Ответить
Развернуть ветку
vic buynoff

Удивительно, как персонажи Фенимора Купера развивали навыки в стрельбе без каких-либо смартфонов, приложений и нейросетей.

PS: Вообще, понятие "нейросеть" опошлили до предела и превратили в некий диджитал попкорн на уровне ловли покемонов в парках для школьников с низким уровнем IQ, что не может не огорчать. С другой стороны, как еще использовать искусственные нейроны, если не в качестве протезов для индивидуумов с острым недостатком своих естественных.

Ответить
Развернуть ветку
Сергей Анчутин

Звучит так же, как например "удивительно, как люди раньше общались без речи".

Ответить
Развернуть ветку
Alexandr Zhitkevich

да и паровоз непонятно зачем изобрели, только загрязняет атмосферу.
Ломоносов пешком дошел - и ничего, стал великим! ))

Ответить
Развернуть ветку
vic buynoff

Как же все-таки любят сравнивать жопу с пальцем на VC, просто поразительно

Ответить
Развернуть ветку
Roman Lugovkin

Вопрос эффективности. Если у вас есть свободный доступ к оружию как в США и стоимость выстрела позволяет - можете отстреливать по ящику патронов в день и разовьете навыки. 

У нас же это, к сожалению, весьма дорогой и непростой с точки зрения доступности вид спорта. Поэтому инструменты которые позволяют выжать из тренировки максимум весьма актуальны.

Ответить
Развернуть ветку
Алёна Карелина

Нет, просто настрел не поможет хорошо стрелять. Подробнее тут https://instagram.com/p/B2mTWekAxXY/

Ответить
Развернуть ветку
Roman Lugovkin

Я не имел в виду просто сжечь ящик патронов в "молоко" ) 

И чаще, наверное, лучше чем больше. Лично для меня больше 150 за раз будет уже просто сжиганием патронов.

Ответить
Развернуть ветку
Alexei Averchenko

Как скоро ожидать соревнование на Kaggle от Doubletapp?

Ответить
Развернуть ветку
Doubletapp
Автор

Мы вам персонально сообщим

Ответить
Развернуть ветку
Николай Малков

А пробовали сделать определение попадания? Эти металлические мишени ведь позвякивают, да и визуально отклоняются. П.с. Я не разбираюсь в стрельбе. Знаком с темой только по влогу Demolition ranch :-)

Ответить
Развернуть ветку
Алёна Карелина

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

Ответить
Развернуть ветку
22 комментария
Раскрывать всегда