Меня зовут Джордж, я технический предприниматель, получивший образование в Стэнфорде, и работаю с искусственным интеллектом. Инженер. Подпишитесь на меня здесь, в среде George Davila Durandal или в LinkedIn, чтобы узнать больше о технологиях и коде.

Исследование Google недавно выпустило Kubric, которое они описывают так:

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



Он в основном сочетает в себе возможности 3D-моделирования Blender с возможностями моделирования физики библиотеки моделирования робототехники Python PyBullet. т.е. он позволяет имитировать реалистичные видеоролики с использованием ресурсов видеоигр.

Использование ресурсов видеоигр для обучения ИИ. ничего нового. Еще в 2017 году компания, стоящая за GTA 5, должна была разослать уведомления о прекращении действия ИИ. команды, использующие игру для обучения систем автономного вождения автомобиля. Интересную реализацию системы компьютерного зрения, обученной виртуальному набору данных, можно увидеть на канале ютубера Jabrils:

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

Kubric позволяет нам моделировать сценарии реального мира, используя активы Blender, которые чрезвычайно дешевы по стандартам Силиконовой долины. Здесь вы можете увидеть набор чашек, которые дешевле, чем настоящий кофе. Но поскольку эти активы являются цифровыми, мы можем программно изменять их или делать фотографии с разных ракурсов. Например, мы можем написать скрипт для поворота этих активов в Blender, изменения их цвета, изменения фонового пейзажа, изменения их размера относительно фонового пейзажа, изменения условий освещения или изменения найденного на них логотипа. Оставьте этот скрипт работать, пока вы идете на обед, и у вас будет надежный набор данных из тысяч изображений кофейных чашек. Более того, вы автоматически получаете метки для каждого пикселя этого изображения. То, что было бы фотосессией кофейной чашки и требующей ручной маркировки, можно свести к сценарию.

Кубрик, в частности, позволяет нам моделировать реалистичное взаимодействие между объектами. Вместо того, чтобы просто захватывать 2D-изображения, сделанные из 3D-сцен, созданных в Blender, мы можем записывать видео событий, эффективно позволяя нам захватывать 4D-информацию, записывая события в 3D-сценах (но, скорее всего, мы разделим эти сцены на 2D-видеопотоки). Предположим, вы хотите создать систему компьютерного зрения, которая определяет, происходит ли какое-либо событие, например, столкновение на строительной площадке. И предположим, что мы хотим знать серьезность такого столкновения. Возможно, мы можем рассмотреть случай падения объекта на другой и использовать смещение наземного объекта в качестве показателя серьезности. т.е. если камень упадет и отвертка полетит через всю комнату, мы назовем это серьезным. Если отвертка просто сдвинется на дюйм или два, мы назовем это незначительным. Чтобы обучить такую ​​модель, мы можем создать среду Кубрика, которая перемещает отвертку на десятки различных величин под десятками разных углов, чтобы получить тысячи различных сценариев. Измените элементы, участвующие в столкновении, и мы сможем сгенерировать сотни тысяч сценариев, что даст нам совершенно новый способ создания этой системы компьютерного зрения.

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

Обнаружение автомобильных аварий может быть одной из первых вещей, для которых он используется. Будучи из Нью-Йорка, я могу сказать вам, что сближение автомобилей не равносильно столкновению. Таким образом, алгоритмы перекрытия ограничивающей рамки или маски автомобиля вряд ли идеальны для обнаружения столкновения. Модель зрения на основе YOLO, созданная для обнаружения перекрывающихся ограничивающих прямоугольников, будет регистрировать приземление птицы на вашу машину и парковку велосипеда напротив нее как «столкновения». Конечно, вы можете удалить эти перекрытия ограничивающих рамок (птица-автомобиль, велосипед-автомобиль) из подсчета столкновений. Но что, если машина врежется в велосипед на ходу или велосипед врежется в вашу машину? Все быстро усложняется и разветвляется на потенциально тысячи крайних случаев, из-за чего трудно отличить байкера, который только что сломал ногу, от всех байкеров, которые только что врезались в боковое зеркало. Государственная или частная система камер наблюдения должна была бы пробираться через множество ложных случаев в день. Но модель, обученная Кубриком, могла бы усвоить саму идею столкновения. В среде Кубрика мы могли бы столкнуть сотни предметов с автомобилями и посмотреть, как они взаимодействуют с ним: более легкие предметы отскакивают, а более тяжелые движут машину. Таким образом, мы могли бы в конечном итоге обучить модель, способную обнаруживать столкновения и сообщать нам об их серьезности. Модель, обученная Кубриком, позволила бы нашей гипотетической (или не очень гипотетической в ​​некоторых местах) общественной или частной системе камер безопасности отдавать приоритет столкновениям, оцененным как более серьезные.

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