Кадры из компьютерной игры Grand Theft Auto V и семантическая разметка для обучения нейросети машинного зрения

Нейросети ставят новые рекорды почти на всех соревнованиях по компьютерному зрению, а также всё шире используются в других приложениях ИИ. Один из ключевых компонентов такой невероятной эффективности нейросетей — доступность больших наборов данных для их обучения и оценки. Например, для оценки современных нейросетей используется Imagenet Large Scale Visual Recognition Challenge (ILSVRC) с более чем 1 миллионом изображений. Но судя по последним результатам (ResNet показывает результат всего лишь 3,57% ошибок), скоро исследователям придётся составлять более обширные наборы данных. А потом — ещё более обширные. Между прочим, аннотирование таких фотографий — немалая работа, часть которой приходится делать вручную.

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

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

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

В этом году сразу две группы исследователей проверили на практике, можно ли использовать для обучения нейросетей машинного зрения сгенерированные кадры из компьютерных игр. Группа исследователей с факультета информатики Университета Британской Колумбии (Канада) опубликовала научную статью, для которой собрали более 60 000 кадров из компьютерной игры с дорожными видами, схожими с наборами данных CamVid и Cityscapes. Исследователям удалось доказать, что нейросеть после тренировки на синтетических изображениях демонстрирует схожий уровень ошибок, что и после тренировки на настоящих фотографиях. Более того, тренировка на синтезированных изображениях с использованием реальных фотографий демонстрирует ещё лучший результат.

Все 60 000 кадров сделаны в виртуальную солнечную погоду, в виртуальное время 11:00, с разрешением 1024?768 и максимальными настройками графики (название игры не разглашается из-за опасений, связанных с копирайтом). Беспилотный автомобиль случайно ездил по игровым улицам, соблюдая правила дорожного движения. Кадры снимались 1 раз в секунду. Каждый из них сопровождается автоматической семантической сегментацией (небо, пешеход, автомобили, деревья, фон — сегментация абсолютно точная и взята из игры), глубинным изображением (depth image, карта с разметкой объектов), а также нормалями к поверхности.

Кроме базового набора данных VG, исследователи сделали ещё один набор VG+ с большим количеством семантической информации, не ограничиваясь пятью метками — здесь сегментация не точная. Разметка осуществлялась автоматически с помощью SegNet.


Плотно размеченные кадры из набора VG+

Для сравнения эффективности обучения нейросети были подготовлены наборы данных CamVid и Cityscapes (пять меток), а также CamVid+ и Cityscapes+ с расширенными наборами меток.


Исходные фотографии CamVid с аннотациями


Два случайных изображения набора Cityscapes+ с подробными аннотациями

Для семантической классификации использовалась свёрточная нейросеть Лонга с простой архитектурой FCN8 поверх 16-слойной VGG Net Симоняна и Зиссермана.

Исследователи провели несколько экспериментов, чтобы оценить эффективность распознавания объектов нейросетью, которая обучалась на разных наборах данных. Практически во всех случаях нейросеть, обученная на синтетических данных, показывала лучший результат, чем нейросеть, обученная на настоящих фотографиях. Лучший результат она показывала даже при проверке на настоящих фотографиях.

Например, в таблице приведена оценка работы одинаковых нейросетей, обученных на трёх наборах данных (реальные фотографии, синтетические данные из игры, смешанный набор) при распознавании объектов на реальных фотографиях из наборов CamVid+ и Cityscapes+.



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

Научная статья опубликована 5 августа 2016 года на arXiv.org, вторая версия — 15 августа (pdf).



Кроме исследователей из Университета Британской Колумбии, практически одновременно аналогичную работу проделала другая группа учёных из Дармштадтского технического университета (Германия) и Intel Labs. Они взяли для обучения 24 966 кадров из компьютерной игры с открытым миром Grand Theft Auto V. Исследователи пришли к такому же результату: при использовании для обучении набора данных, составленного на 2/3 из синтетических изображений и на 1/3 из фотографий CamVid, точность распознавания оказывается выше, чем только при использовании фотографий CamVid.


Точность распознавания различных объектов на фотографиях из набора CamVid при обучении обычными методами и при использовании кадров из GTA V (нижняя строчка)

При этом полуавтоматическое аннотирование в специально разработанном редакторе значительно сокращает время подготовки набора данных для обучения нейросети. Например, аннотирование одной фотографии CamVid требует 60 минут, одной фотографии Cityscapes — 90 минут, а полуавтоматическое аннотирование кадра GTA V — всего 7 секунд, в среднем (видео, демонстрация работы редактора).



Работа исследователей из Дармштадтского технического университета и Intel Labs подготовлена для Европейской конференции по компьютерному зрению ECCV'16 (11-14 октября) и опубликована на сайте университета. Авторы выложили исходный код для чтения меток и полные наборы данных: как исходные фотографии, так и глубинные изображения с семантической разметкой. Исходный код редактора для аннотирования, вероятно, опубликуют в будущем.



Благодаря прогрессу в создании реалистичных компьютерных игр разработчики систем искусственного интеллекта получат в своё распоряжение отличную платформу для обучения систем машинного зрения. Эти системы будут применяться в беспилотном транспорте и роботах.

Возможно, компьютерные игры можно использовать не только для машинного зрения, но и для создания естественных моделей поведения в обществе. Только при обучения ИИ следует осторожно отнестись к выбору игры.
Поделиться с друзьями
-->

Комментарии (60)


  1. andrzzc
    12.09.2016 14:27
    +12

    Теперь при авариях с автопилотом можно будет утверждать «это случилось потому что он слишком много играл в GTA/Carmageddon».


    1. 4dmonster
      12.09.2016 14:35

      Причём в данном случае это будет правдой. :)


  1. roboq6
    12.09.2016 14:31
    -3

    Возникла шальная мысль об создании ИИ-беспредельщика, натренированного в какой-нибудь игре типа GTA, который бы целенаправленно давил пешеходов (особенно предпочитая стариков, беременных и маленьких детей), умел уходить от преследования полиции, сбивал светофоры и т.д.


    1. maaGames
      12.09.2016 14:51
      +2

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


      1. roboq6
        12.09.2016 14:54

        А в самом деле, интересный вопрос. Как начнёт себе вести тот же гугломобиль если машины вокруг него вдруг начнут беспределить а-ля GTA?


        1. maaGames
          12.09.2016 14:58

          Остановится он, судя по всему. Была тут статья, что гугломобиль «пугался» велосипедиста, стоящего на светофоре и пошатывающегося. Думаю, в любой неожиданной ситуации он будет останавливаться и выжидать.)


          1. roboq6
            12.09.2016 15:05

            Думаю, в любой неожиданной ситуации он будет останавливаться и выжидать.)


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


            1. maaGames
              12.09.2016 15:16

              Двигаться задним ходом против движения запрещено же по ПДД? Сам я пешеход, так что имею право не знать.)
              Если запрещено, то для движения задним ходом гугломобилю надо разрешить нарушать ПДД. А нарушать ПДД нельзя. Коллизия.

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


              1. roboq6
                12.09.2016 15:18

                Ну а если его таранят сзади, так что возможность убежать без нарушения правил ПДД есть?


                1. maaGames
                  12.09.2016 15:23

                  Почему он стоит?
                  1. Красный свет. Если начать движение можно спровоцировать ещё большую аварию.
                  2. Едет медленнее догоняющего. Сменить полосу движения (он итак должен это сделать), либо ускориться до приемлемого уровня. Если превысить скорость, то это нарушение ПДД и может, опять же, к ещё более плохим последствиям привести.
                  Т.е. от автомобиля требуется активная защита без нарушения ПДД: начать заполнять салон пеной безопасности за секунду до непосредственного соударения, чтобы повысить вероятность выживания человеков внутри машины.


                  1. roboq6
                    12.09.2016 15:35

                    1. Красный свет. Если начать движение можно спровоцировать ещё большую аварию.


                    Снова шальная мысль, а как будет вести себя наш гугломобиль если…

                    1.Светофор тупо не горит?

                    2.Вместо светофора работает регулировщик со свистком?


                    1. maaGames
                      12.09.2016 15:42
                      +1

                      1. IOT, светофоры в виде лампочки не нужны — не современно и моветон
                      2. тоже не нужны.

                      А вообще, отличный вопрос: умеют ли гугломобили и прочие распознавать жестикуляцию регулировщика или вся надежда на IOT?


                      1. roboq6
                        12.09.2016 15:54
                        +1

                        2. тоже не нужны.

                        Дык вторые используются когда по каким-то причинам не работают первые, это подстраховка. Вот что будете делать если в Вашем городе с IOT аналогими светофора тупо свет отключится? Я помнится сталкивался с ситуацией когда светофор переставал работать из-за отключения света.


                        1. maaGames
                          12.09.2016 15:58

                          Думаю, весь вопрос в том, есть ли обычные машины на дороге. Если только робомобили, то светофоры не нужны, все знают друг о друге и вообще никаких вопросов нет (пока работает GPS модуль и облако).
                          Про распознавание жестикуляции вопрос открыт, ждём экспертов.


                          1. roboq6
                            12.09.2016 16:10

                            Если только робомобили, то светофоры не нужны, все знают друг о друге


                            Только если это робомобили от одного производителя. Если же от разных, то может быть проблема. Возможно разные производители будут намеренно использовать разные стандарты дабы создать вендор-лок. Тогда получится робомобили какого производителя первыми завелись в городе, тот этот город и «завоевал».


                            1. maaGames
                              12.09.2016 16:14

                              Скорее производитель даст взятку «своему» сенатору, чтобы законодательно утвердили удобный конкретному производителю интерфейс взаимодействия робомобилей. 100% будет единый стандартизированный формат взаимодействия, как для самолётов и космических спутников.


                              1. roboq6
                                12.09.2016 16:21

                                Скорее производитель даст взятку «своему» сенатору, чтобы законодательно утвердили удобный конкретному производителю интерфейс взаимодействия робомобилей.

                                Тогда образуется коалиция которая будет этому противодействовать. Либо начнётся настоящая война лоббистов, когда каждый крупный производитель будет проталкивать свой стандарт. Возможно в итоге кто-то победит, но потом будет долгий переходный период, либо же всё вообще повиснет в воздухе и будет ситуация которую я описал, «кто успел — тот и съел».

                                100% будет единый стандартизированный формат взаимодействия, как для самолётов и космических спутников.

                                Откуда такой оптимизм?


                                1. maaGames
                                  12.09.2016 16:26

                                  Никакого оптимизма, чистый прагматизм. В одиночку всю инфраструктуру не поднять (это в России по велению могут за счёт налогоплательщиков любые триллиарды вбухать в IOT для каждого светофора, а в цивилизованных странах это невозможно), поэтому производителям придётся объединяться и разрабатывать хотя бы базовый общий протокол. Возможно, «кто-то успеет» и их протокол примут за стандарт.


                          1. Kolonist
                            12.09.2016 23:00

                            Про распознавание жестикуляции вопрос открыт, ждём экспертов.
                            Да тут и экспертов не надо, если учитывать то, как сотрудники ГИБДД жестикулируют. Очень часто возникает ощущение, что они сами совершенно не знают специальных жестов и тупо крутят палкой, в надежде, что кто-нибудь разберется, что делать. В итоге, от них на дороге становится только хуже.


                            1. maaGames
                              13.09.2016 14:19

                              Надо срочно выделить 100 миллионов на обучение сотрудников ГИБДД в игре ГТА.


                          1. DimmiSfai
                            13.09.2016 15:53

                            А зачем тут эксперты? Есть киннект у иксбокса для распознания твоих движений, например распознает танцевальные движения в Dance central, у сони вроде тоже что-то подобно есть. Другой вопрос, правильно ли сами регулировщики эти жесты показывают.


                            1. maaGames
                              13.09.2016 15:57

                              Одно дело, когда припадочный скачет строго перед камерой на примерно известном расстоянии и совершенно другое дело, когда человек может быть где-то есть, на гораздо большем расстоянии, повёрнутый совершенно разными сторонами и точность определения жестов которого значит гораздо больше, чем +100 очков за попадание в ритм.


                              1. DimmiSfai
                                14.09.2016 07:46

                                При чем тут расстояние? Невозможно сделать оптику которая сможет его четко видеть? А то что он повернут разными сторонами, это и есть распознавание движений. Киннект тот же распознает именно движения а не попадание в ритм. Никто не спорит, что для установки на робомобиль технологию нужно отладить, доработать и т.д., но и спорить с тем что такая технология уже есть — странно.


                                1. maaGames
                                  14.09.2016 14:03

                                  Вопрос не в оптике, а в направлении взгляда. Полиционера нужно будет отличить от толпы пешеходов, в том числе идущих через дорогу и имеющих махать руками так же, как это делает регулировщик. При том, что полицейского может и не быть или он может стоять на перекрёстке или вдоль дороги. Добавляем абсолютно любую освещённость, затуманенность, дождик… Живой водитель тоже толком не увидит ничего…


                                  1. DistortNeo
                                    14.09.2016 14:50

                                    Почитайте про «face hidden in coffee beans». Заметить полицейского при наличии большого количества отвлекающих факторов тяжело только для человека.


              1. EvMard
                12.09.2016 16:55

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

                >Сам я пешеход, так что имею право не знать
                Пешеходы также являются участниками движения и должны (по идее) ПДД знать. Незнание не освобождает от ответственности ))


                1. maaGames
                  12.09.2016 16:58
                  +2

                  Я имею право быть на дороге только в зоне пешеходного перехода при моём зелёном (неистово крутя головой во все стороны). В остальных случаях я должен с визгом убегать с тротуара в ближайший лес, чтобы укрыться от водителя, обучавшегося водить в ГТА.)


                  1. roboq6
                    12.09.2016 17:05

                    Снова интересный вопрос: как гугломобиль будет вести себя вне дорожной системы, скажем в условиях «выехал в пригород на пикник»? И может ли вообще гугломобиль сойти с автотрассы?


                    1. maaGames
                      12.09.2016 18:07

                      «Нет светофора — нет правил»


            1. Pakos
              13.09.2016 11:52

              Большинство водителей поведёт себя так же, некоторые натворят ещё больше дел в попытках увернуться.


      1. roboq6
        12.09.2016 15:27
        +4

        Вообще ИИ-беспредельщик может быть полезен как цифровое оружие массового поражение в кибервойне. Представляете какой хаос возникнет если вдруг заразить/перепрошить миллионы робомобилей в каком-нибудь мегаполисе такой программой?


  1. LexS007
    12.09.2016 14:54
    +3

    Обучаться на GTA не самая лучшая идея)

    Видео


  1. Darth_Biomech
    12.09.2016 14:59

    Предвосхищаю статьи на сторонних сайтах: «Вы доверите своих детей машине, которая обучалась езде в grand theft auto?!»

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


    1. maaGames
      12.09.2016 15:29
      +1

      Чтобы научиться делать что-то самостоятельно, сперва нужно показать, как это что-то делается. Сперва нейросеть тычут носом в дерево, а потом просят её найти такое же дерево на других картинках. Т.е. сегментация будет в обоих случаях, но при обучении точно известно, к какому типу отнести сегмент, а потом нейросеть уже сама догадывается, что же она такого на сегменте «видит».


    1. Arutemun
      12.09.2016 15:42
      +2

      Перепись школоты прошла успешно. Статья про машинное зрение. При чем здесь обучение езде? При чем здесь гта?


      1. General_Failure
        12.09.2016 16:25
        +3

        Школота школотой, а желтушные статьи примерно такими и будут


      1. Darth_Biomech
        12.09.2016 18:06
        +2

        Перепись школоты прошла успешно.

        И вам не хворать.
        Статья про машинное зрение. При чем здесь обучение езде? При чем здесь гта?

        Переклинило «машинное» в значении «автомобильное». Эта технология может и будет полезна при разработке автопилота, следовательно обучение езде тут притом. А ГТА тут притом что из неё взяты скриншоты, а с причинно-следственной связью у прессы всегда было весьма худо, им этого будет достаточно чтобы начать вопить про изнасилование журналиста и что технику обучают в играх где надо убивать и нарушать закон.


      1. Darth_Biomech
        16.09.2016 03:33

        А вообще странно, в былые времена, за такой вопиющий ad hominem минусами закидывали, а тут даже коммент даже в плюсе.


    1. Mad__Max
      13.09.2016 00:22
      +1

      При обучении нейронной сети всегда нужно минимум 2 выборки данных (чаще даже 3).

      В одной из которых уже имеются все «правильные ответы» — на ней сеть собственно учиться и будет, и 2я содержащая примерно аналогичные(но другие) данные, но уже без «ответов» — которую нейросеть будет обрабатывать полностью самостоятельно и на основе качества этой обработки будет оцениваться качество/эффективность ее тренировки.

      Вот самую первую (и обычно самую объемную) выборку должен обработать/подготовить кто-то имеющий выполнять нужную задачу с «эталонным» качеством. В данном случае это должны сделать люди, зрение и визуальное восприятие которых мы хотим повторить при помощи нейронной сети.
      2ю выборку обычно тоже людям приходится обрабатывать — просто «правильные ответы» сети показывать не будут в отличии от 1й выборки. Но они обычно все-равно нужны — иначе как оценить, насколько качественно нейросеть ее обработала если нет эталона с которым можно сравнивать и выставить оценку?


  1. x4fab
    12.09.2016 15:03

    Интересно, не станет ли проблемой отсутствие отражений в лужах? По идее, сеть же должна научиться их игнорировать.


    1. roboq6
      12.09.2016 15:30

      А ещё, возможно, отсутствие теней. Плюс вряд ли будет вариантность погодных условий, вроде езды во время дождя, тумана, пыльной бури, смога, града, снега и т.д.


      1. Fen1kz
        12.09.2016 15:57

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


        1. roboq6
          12.09.2016 16:26

          Ну в некоторых городах эти «крайние условия» могут быть очень даже обычными, а не редкими и преходящими. Например какой-нибудь несчастный город где стоит круглосуточный смог. Это просто так, к слову.


      1. x4fab
        12.09.2016 16:09
        +1

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


      1. wiz
        13.09.2016 11:29

        Во время дождя, тумана,… и т.д. надо будет больше полагаться на радар.


  1. nikitastaf1996
    12.09.2016 15:05
    +4

    Тут нужна спец версия gta.Можно будет пропустить момент аннотации.


  1. r4tz52
    12.09.2016 15:13
    +1

    В GTA ведь почти нет дорожных знаков, «движение по полосам» обозначается только разметкой. Какое-то неполноценное обучение получается.


    1. pda0
      12.09.2016 22:22

      Думается, расставить знаки и поправить алгоритмы вождения npc для спец. версии — проще, чем вручную аннотировать каждую фотку.


  1. DistortNeo
    12.09.2016 16:31
    +5

    Ну да, всё логично. Чтобы обучить современную нейросеть, нужны огромные объёмы данных. Эти данные надо как-то получить. Иногда это очень затруднительно. Если есть возможность использовать синтетические данные для обучения, не уступающие данным с ручным аннотированием, то почему бы и не использовать их?


  1. zim32
    12.09.2016 17:54

    Через 5 лет…
    — Сегодня прочитал что ученые предполагают что мы находимся внутри симуляции с кодовым названием GTA
    — Да, да, слушай ты их больше…


  1. Arxitektor
    12.09.2016 19:12

    А ведь многие предлагали учить ИИ в играх.
    О мире всё известно. Нет случайностей. Ниже сложность и нужную ситуацию можно воспроизвести сколько угодно раз.


  1. pda0
    12.09.2016 22:30
    +2

    Кто-нибудь, воскресите Бредбери. Кажется, я могу ответить ему зачем мы кидали птицами в свиней. :)


  1. xakep2011
    13.09.2016 12:17
    +2

    странно, что даже для GTA, где все объекты известны и классифицированы внутри самой игры, приходится аннотировать кадры вручную. неужели это быстрее, чем пропатчить графический движок, чтобы он сразу рендерил все объекты в нужном цвете?


    1. roboq6
      13.09.2016 12:31

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


    1. pda0
      13.09.2016 13:16

      Сразу не надо. Как раз надо максимально реалистично и в разметке. Чтобы можно было вычислять коррекцию для обучения.


    1. Roboserv
      14.09.2016 09:39

      у тебя есть исходный код ГТА5? Не поделишься?


      1. tmg
        14.09.2016 11:06
        +1

        есть же Script Hook V .NET https://github.com/crosire/scripthookvdotnet
        Насчет рендера не уверен, что можно влиять, но перечислить все объекты и задать им цвет — уж точно можно


      1. xakep2011
        15.09.2016 10:29

        думаю такая небедная компания как Rockstar может себе позволить некоторое количество человекочасов на патч или открыть часть кода для канадского универа. такое сотрудничество было бы хорошей пиар акцией.


  1. psylostlife
    13.09.2016 17:21

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


  1. Roboserv
    13.09.2016 18:23
    -1

    Давно хотел сам нечто подобное сделать, например написать автопилот для вертолета / машина в Баттлфилд или ГТА5. Вот только вся сенсорная информация выходит визуальной, что усложняет задачу.