Швейцарские и американские разработчики создали нейросеть, позволяющую использовать событийную камеру для синтеза полноценного качественного видео. Исследователи показали, что алгоритм способен создавать ролики с частотой в несколько тысяч кадров в секунду и крайне высоким динамическим диапазоном, а также превращать исходные монохромные кадры в цветные. Посвященная алгоритму статья опубликована на arXiv.org.
В последние несколько лет событийные камеры привлекли внимание большого количестве инженеров и исследователей. Принцип работы таких датчиков значительно отличается от принципа работы КМОП и других матриц, применяемых в современных серийно выпускаемых камерах. Обычные камеры при съемке видео собирают информацию через равные промежутки времени, «опрашивая» сразу все пиксели (на самом деле этот процесс происходит не мгновенно, из-за чего при съемке в движении зачастую возникает небольшое характерное искажение), и записывая показания интенсивности света, полученные за этот промежуток. Событийные камеры записывают показания пикселей асинхронно и только тогда, когда на них происходит событие — изменение яркости (увеличение или уменьшение) на пороговую величину.
Отличие в принципе работы дает свои преимущества (например, временное разрешение порядка микросекунд, а не миллисекунд, как в обычных камерах), а также возможность создания изображения с очень большим динамическим диапазоном, достигающим 130 децибелл. Вместе с этим у событийных камер есть и недостатки. К примеру, исходные данные с них содержат данные только о двигающихся объектах и могут быть малонформативны для людей или алгоритмов компьютерного зрения. Алгоритмы для превращения данных с событийных камер в традиционные видеоролики уже существуют, но получаемые с их помощью ролики обычно имеют низкое качество и множество визуальных артефактов.
Разработчики из Цюрихского университета, Швейцарской высшей технической школы Цюриха и Intel Labs под руководством Давиде Скарамузза (Davide Scaramuzza) создали новый алгоритм, способный использовать событийную камеру для создания относительно качественных роликов. Алгоритм на базе рекуррентной нейросети UNet формирует изображения, разделяя поток асинхронных событий на пикселях на интервалы, содержащие равное количество событий, но длящиеся произвольное время. При формировании каждого нового кадра сеть учитывает свое состояние во время формирования предыдущего.
Для обучения нейросети необходимы пары, состоящие из обычного кадра и кадра с событийной камеры. Поскольку пока таких датасетов не существует, авторы создали его самостоятельно с помощью разработанного ими ранее симулятора, который автоматически формирует для каждого момента времени изображения, имитирующие кадры с обычной и событийной и камер, а также камеры глубины. Разработчикам удалось добиться высокого качества видеороликов с помощью двух функций потерь. Благодаря одной из них алгоритм обучался создавать максимально правдоподобные кадры без потери деталей, а вторая помогала создавать согласованные во времени кадры, между которыми не происходит резких визуальных изменений.
Разработчики показали несколько применений алгоритма. Они научились создавать высокоскоростные записи быстрых процессов, таких как разрушение предметов после выстрела. Для этого они применили схему, при которой параллельно происходит формирование множества отдельных роликов с фиксированным количеством событий для одного кадра, но небольшим временным смещением. После этого кадры из разных роликов объединяли в один, упорядочивая их по времени. Благодаря этому исследователям удалось получить ролики со средней частотой в несколько тысяч кадров в секунду. Примечательно, что из-за принципиальных особенностей событийной камеры и примененного авторами метода формирования кадров их частота постоянно варьируется и резко возрастает именно в моменты быстрого движения, для которых обычно и нужны высокоскоростные камеры.
Кроме того, разработчики показали, что алгоритм успешно справляется с созданием видео с высоким динамическим диапазоном, причем даже в сложных условиях, таких как выезд из тоннеля в солнечную погоду. Наконец, они использовали событийную камеру с массивом цветных фильтров на пикселях, и смогли создать с помощью нее и алгоритма цветное изображение, объединив сигналы с пикселей, соответствующих разным цветам.
Недавно другая группа исследователей под руководством Давиде Скарамузза научила дрон уворачиваться от быстро летящих в него объектов, используя событийную камеру. Моделирование показало, что такой датчик снижает задержку, с которой дрон реагирует на летящий в него предмет, по сравнению с обычными камерами.
Иллюстрация к статье:
Обсуждение