Различные способы снизить нежелательные отражения при съемке сквозь стекло известны фотографам давно. В первую очередь это, пожалуй, поляризационные фильтры. А теперь появилась и возможность устранять отражения со снимков программным способом.
Ученые Массачусетского технологического института (США) разработали алгоритм, который анализирует фотографию и способен различить части изображения, полученные за счет прямого и отраженного света.
Идея, положенная в основу алгоритма, довольно нехитрая. Дело в том, что отражения от стекол часто слегка двоятся, поскольку состоят из двух отражений – от двух поверхностей толстого стекла, либо от двух стекол в раме. Правда, такое случается не всегда. Ученые проанализировали 197 снимков с отражениями, и обнаружили, что около половины из них, а именно 96 штук, имеют подходящие «сдвоенные» отражения.
Далее был разработан алгоритм, который позволяет «обучить» компьютер и натренировать его на распознавание таких двойных отражений, а также на отделение их от снимаемой сцены.
Алгоритм не работает в случае одиночных отражений, однако большое количество снимков с двойными отражениями показало неплохую эффективность метода.
Исходный снимок с отражениями (слева), снимок с уменьшенными отражениями (справа сверху) и выделенные отражения (справа внизу).
«Эти идеи могут стать частью повседневной фотографии, если алгоритм будет доработан и станет одним из инструментов, используемых в цифровой фотографии», считает профессор Йоав Шехнер (Yoav Schechner) из Израильского технологического института (Технион).