Бывшие разработчики чита Visor.gg создали нейросеть на основе мемов

Нейросеть под названием PogChampNet помогает находить интересные моменты у стримеров, когда они играют.

Access restricted
Access to this video has been restricted by its creator
В этом видео все хайлайты выбраны не человеком, а сверхточной нейронной сетью, которая «посмотрела» видео и в реальном времени сгенерировала клипы, которые по ее мнению были лучшими.

Для создания нейронной сети разработчики использовали чат Твича

Когда на стриме происходит что-то забавное зрители начинают реагировать на это и чат заполняется словами LOL, LMAO и LUL. А если случается что-то крутое, например, стример сделал безумное тройное убийство и остался жив, то чат реагирует словами Pog, POGGERS и PogChamp.

Именно Twitch-чат помогает нейросети выбрать действительно лучший момент. Без него сеть может пропустить момент, когда игрок сделает одно, но очень крутое убийство или, например, случай когда из-за правильных действий Райнхардта, который не сделал ни одного убийства, команде удалось выиграть.

Для тестирования разработчики выбрали стримеров, которые действительно хорошо играют в Overwatch и, соответственно, у них получается огромное количество крутых моментов. А также у них активный чат, с огромным количеством людей, которые спамят PogChamp, когда что-то интересное происходит в игре. Выбор пал на xQc, Seagull, Mendokusaii и PvPTwitch.

Получение данных

Для получения записей стримов с Twitch разработчики использовали TwitchLeecher, который позволил им без проблем скачать все прошлые трансляции стримеров. А чтобы вытащить логи чата им пришлось написать свой инструмент, который они назвали Twitch Chat Downloader.

Далее разработчики написали скрипт, который парсит чат и находит моменты, когда зрители активно начинают спамить ключевыми словами, например, “PogChamp”, “Poggers”, “wow”, “holy shit” и т.д. Скрипт сопоставляет время начала этих моментов в чате со скачанной трансляцией и делает 30-секундный клип. Также разработчики определяют насколько крутым был момент по количеству найденных ключевых слов.

Бывшие разработчики чита Visor.gg создали нейросеть на основе мемов, image #1

Но была одна проблема — только 1% (5-10 секунд) времени от 30-секундного клипа был действительно интересным. Для решения этой проблемы разработчики разбили каждый 30-секундный клип на 30 односекундных клипов. Далее написали еще один скрипт, который каждый односекундный клип оценивал по шкале интересности от 0-9.

Некоторые клипы не получали оценку, а просто были помечены, как “s” или “i”. “S” обозначало “skip” (пропустить) — так отмечались клипы, в которых не было геймплея Overwatch, а были моменты, когда, например, стример отжимался. А метка “i” обозначала “interrupted gameplay” (прерванный геймплей) — то есть, когда игрок был в игре, но находился в меню.

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

Интересные моменты во время тестирования

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

Открытие лутбоксов получило 6 из 10 по версии PogChampNet
Эта сцена из клипа K/DA получила 7/10 по версии PogChampNet
Таран раскручивается на «Кошке» — 6/10 по версии PogChampNet

Огромное количество технических особенностей можно почитать в оригинальной статье на Medium.

5313 views·37 shares