При воспроизведении видео на проекторе свет от него падает на стены и создает на них изменения яркости и тени. Американские разработчики создали алгоритм, который по этим световым эффектам воссоздает исходное видео. Статья с описанием разработки будет представлена на конференции NIPS 2019.
Исследователи достаточно давно предлагают использовать алгоритмы, восстанавливающие изображение при отсутствии прямой видимости. В качестве потенциальных сфер применения для этого называют беспилотные автомобили, которые с помощью такой техники могут определять, что за углом движется какой-либо объект, а также разведывательные операции, в рамках которых таким способом можно перехватывать некоторые данные.
Однако эти алгоритмы зачастую имеют серьезные ограничения, из-за которых их сложно применять на практике. Например, обычно они требуют проводить тщательную калибровку для каждой сцены для восстановления изображения с относительно большой точностью. Фредо Дюранд (Fredo Durand) и его коллеги из Массачусетского технологического института создали алгоритм, который позволяет не проводить калибровку и при этом получать достаточно качественный (в сравнении с подобными алгоритмами) ролик по видеозаписи изменения света и цвета на других объектах.
Исследователи решили рассмотреть эту проблему в виде разложения матриц. В таком случае изображение наблюдаемого на стене или другой поверхности изменение света формируется из исходного изображения на проекторе или мониторе, а также матрицы, которая отвечает за перенос между двумя изображениями. Эта матрица зависит от физических параметров среды: экрана, на который выводится оригинальный ролик, стены, на которую падает отражение, предметов, дающих тени, и других.
Основываясь на таком представлении проблемы перехода между первичным и вторичным изображением, исследователи создали алгоритм, воссоздающий обе неизвестные матрицы, отвечающие за формирование наблюдаемого вторичного изображения. Он состоит из двух сверточных нейросетей, каждая из которых формирует свою матрицу: матрицу перехода или матрицу, соответствующую исходному изображению. Авторы использовали подход, предложенный ранее российско-британской группой исследователей. Кратко, он заключается в том, что для некоторых задач, связанных с изображением (например, подавление шума или увеличение разрешения), нейросеть со случайно инициированными параметрами может давать отличные результаты без обучения на датасетах.
Результаты работы обеих нейросетей объединяются и затем сравниваются с матрицей, сформированной из наблюдаемого вторичного изображения. В процессе обучения нейросети корректируют свои параметры и постепенно разница уменьшается. Это позволяет обучать нейросеть, отвечающую за восстановление исходного изображения.
На опубликованном исследователями ролике можно видеть, что нейросеть хорошо справляется с простыми ситуациями, например, когда человек жонглирует большими мячами. В случае, если она сталкивается с цветными роликами, на которых содержится больше деталей, результаты получаются менее впечатляющими, однако даже в таком случае в целом алгоритм справляется со своей задачей.
Ранее другие американские исследователи научились достаточно качественно восстанавливать скрытое цветное изображение, используя пластину между ним и стеной, которую видит камера. Наилучших результатов удалось достичь в ситуациях, когда пластина двигалась.
Григорий Копиев