Если подойти к окну и попытаться сделать фотографию через стекло, то будет трудно избежать отражения собственной фигуры. Ненужный объект будет тем заметнее, чем темнее пространство за окном. Профессиональные фотографы решают эту проблему, подводя объектив камеры вплотную к стеклу и применяя множество других приёмов, к примеру, поляризационные фильтры. Но зачастую в распоряжении имеется только «глазок» смартфона, или возможности для съёмки ограничены, и с наличием отражения приходится мириться. Исследователи Массачусетского технологического института нашли алгоритмическое решение этой проблемы.
Алгоритм будет представлен в июне на конференции по компьютерному зрению и распознаванию образов (Computer Vision and Pattern Recognition), но уже сейчас доступны некоторые детали. Для работы используется факт того, что отражения повторяются несколько раз из-за структуры окон. На основе этого принципа в широком множестве случаев выполняется автоматическая чистка цифровых фотографий.
Как утверждает первый автор работы Ичан Ши (YiChang Shih), в Бостоне для удержания тепла в холодное время года часто используются окна с двойной рамой. Поэтому обычно получается два отражения от каждого из стёкол. Но это не означает, что алгоритм будет работать только для двойных окон, одно толстое стекло также даёт два отражения: одно от внутренней стороны, второе от внешней. Без предоставления дополнительной информации о втором отражении задача удаления ненужных элементов является практически нерешаемой, поскольку результатом фотографии является сумма изображения за окном и отражения в стекле. Если A+B=C, то восстановить A и B только по C будет невозможно.
Второе отражение даёт необходимую информацию для коррекции картинки. Значения отдельных пикселей отражений должны приблизительно совпадать, и это облегчает поиск нужного решения, хотя их количество всё равно остаётся большим. Для выбора нужного Ши и другие соавторы работы — профессора информатики и вычислительной техники Фредо Дюран и Билл Фриман (научные руководители работы) и Дилип Кришнан (доктор наук, который сейчас работает в Google Research) — добавили в алгоритм ожидание того, что как отражение, так и снимаемый вид из окна имеют статистические закономерности, которые называют естественным изображением.
Предполагается, что в неизменённых графических представлениях об окружающем мире на уровне групп пикселей резкие изменения цвета редки, а если они и случаются, то в чётких границах. Если некоторые пиксели представляют из себя границу между голубым и красным объектом, то ожидаемо, что на одной стороне картинка будет иметь голубой оттенок, а на другой — красный. В области компьютерного зрения обычно это реализуется с помощью принципа градиента, который характеризует каждый блок пикселей в отношении общего направления смены цвета и интенсивности этого процесса. Но Ши и его коллеги обнаружили, что этот приём в данном случае работает не слишком успешно.
Поэтому Даниэль Зоран из группы Фримана и Яир Вайс из Еврейского университета в Иерусалиме создали алгоритм, который разбивает изображение на группы из 8?8 блоков пикселей. Для каждой из групп проводился анализ с использованием 50 тыс. тренировочных изображений, и на основе полученных данных был получен надёжный способ отличения отражений от изображений за окном. Для проверки работы Ши и его коллеги выполнили поиск в Google и на фотохостинге Flickr, задавая запросы вида «проблемы с отражением в окне на фотографии». После исключения результатов, которые не были фотографиями в окне, было собрано 197 изображений. Из них в 96 случаях сдвиг между двумя изображениями был широким настолько, чтобы алгоритм сработал.
Профессор электротехники в израильском Технионе Йоав Шехнер говорит, что попытки удалить подобные ненужные элементы в фотографиях предпринимались и до этого, но некоторые методы использовали лишь одно отражение. Задача сильно осложнялась, и успех был лишь частичным, автоматизированного способа отделить отражение от восстанавливаемой картинки не было. Работа Ши является прорывом сразу по нескольким фронтам. Шехнер считает, что если со временем алгоритм будет доработан, то он сможет попасть в распространённые пакеты обработки цифровой фотографии и помочь алгоритмам компьютерного зрения в роботах. Исследователи не сообщают о возможности извлекать из отражения изображение фотографа, но, вероятно, и это применение возможно. Последнее может заинтересовать органы правопорядка и любителей подглядывать.
Алгоритм будет представлен в июне в Бостоне на конференции Computer Vision and Pattern Recognition.
Изображения: Массачусетский технологический институт.
Комментарии (11)
nerudo
20.05.2015 09:45+1Черт, а я сперва понадеялся что можно будет «разлепить» сканы дважды отснятых старых пленок.
TheVS
20.05.2015 16:41+1Не могу в полной мере оценить полезность сей разработки, больше похоже на осваивание бюджета.
Лучше бы потратили средства на разработку функции по запрету снимать вертикальное видео.Nidaylokn
20.05.2015 20:29+1Почему вас так раздражает вертикальное видео? Вас заставляют его смотреть принудительно?
Dmitry_Dor
:-)
Sadler
Вы ведь сами решаете, хотите ли Вы применить тот или иной фильтр. В данном случае он, вероятно, Вам не нужен. Кстати, подход с блоками nxn и референсом меня очень привлекает, сам много раз пытался его использовать, но пока не достиг удовлетворительных результатов для своих задач.