Есть ли программное обеспечение, которое может определить освещение на существующей фотографии?

Есть ли приложение, которое возьмет выбранную область фотографии и вернет свою оценку параметров освещения, необходимых для имитации условий освещения в выбранной области фотографии?

Я предполагаю, что параметры, которые он вернет, включают: источники освещения, рассеивание источника, цвет источника, продолжительность источника, источник отраженного/падающего света, движение источника и т. д. (Я приветствую отзывы об этих предположениях и о вероятности что их можно статически смоделировать.)

Это кажется сложной задачей. Когда мы смотрим на фотографию, мы применяем некоторые контекстно-зависимые знания о том, на что мы смотрим (другими словами, у нас в уме есть некая версия «нормального», которую мы можем сравнить с фотографией). Я буду впечатлен, если есть что-то, что может это сделать.
@Д. Ламберт: Согласен, хотя и полагаю, что некоторые алгоритмы в PhotoShop выполняют вычисления для подобных вещей, но, насколько я знаю, нет выходных данных, которые можно было бы прочитать для внешнего использования; это означает, что эти вычисления используются в качестве входных данных для других вычислений.
Работа, необходимая для создания такого программного обеспечения, в миллион раз больше по сравнению с 2-3 часами обучения, которые потребуются кому-то, чтобы довольно точно угадать большинство параметров. Кроме того, некоторые из этих вещей невозможно вычислить... источник-длительность?
+1 @ Jędrek Kostecki: Хорошая мысль относительно того, что люди могут сделать это быстрее (в настоящее время), хотя что в этом интересного ... :-) ..."исходная продолжительность", например, использовалась вспышка.
Ах, лучшее программное обеспечение в мире, наверное, человеческий мозг. Для этого можно было бы разработать алгоритмы, которые могли бы делать разумные приближения на основе бликов и теней, но зачем это делать? При современных технологиях человеческий мозг, скорее всего, быстрее найдет ответ, чем компьютер.
Вы не можете ни с какой практической целью определить длину вспышки в натюрморте.

Ответы (2)

На самом деле в этой области было проведено довольно много исследований:

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

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


Что касается разницы между исследовательским и коммерческим программным обеспечением, сегодняшнее исследование формирует основу программного обеспечения завтрашнего дня (одна из причин, по которой я каждый год просматриваю материалы SIGGRAPH). Автоматическое сшивание панорам когда-то было исследовательским проектом, а теперь считается само собой разумеющимся. Я помню, как читал об изменении размера с учетом содержимого, когда оно было опубликовано на конференции по компьютерному зрению (тогда это называлось «резьба по шву»), и прошло всего пару лет, прежде чем оно стало стандартной функцией в Photoshop.

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


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

+1 @Matt Grum: Спасибо, исследование помогает «осветить» проблемы с решением этой проблемы. Я предполагаю, что датчики роботов и ИИ, скорее всего, будут использовать корреляцию продольных наблюдений во времени и пространстве, возможно, включая фильтры для разных длин световых волн; например, инфракрасный для обнаружения тепла. Что касается художественных целей, вы имеете в виду, что они, скорее всего, потребуют выводов, выходящих за рамки простого расположения камеры, источников света и объектов.
Я думаю, следует отметить это, когда дело доходит до автоматической панорамы. сшивания, у вас есть вся необходимая информация, доступная в изображениях, которые вы сшиваете. Это резко контрастирует с угадыванием освещения, освещающего сцену, поскольку (вне источника света В сцене) вы никогда не сможете узнать, что это был за источник света. В панорамном сшивании вы богаты информацией... в угадывании источника света вы информационны. Когда дело доходит до видео и компьютерной графики, у вас есть возможность явно ввести ТОЧНУЮ информацию об освещении, и предположения не нужны.
@jrista это правда, но при заполнении с учетом содержимого у вас нет информации об области, которую вы пытаетесь заполнить, это все вывод - как и проблема оценки освещенности, когда-то это казалось довольно невероятным, но теперь это стандартная функция в фотошопе, гимп
+1 @Matt Grum: На самом деле, заливка с учетом содержимого была тем, о чем я думал, как о грубом примере этого, вот видео, показывающее пример его использования .
@MattGrum: Если вы исследуете, как работает заливка с учетом содержимого, вы увидите, что она не так информативно анемична, как гостевое освещение. Значительной частью заливки с учетом содержимого является клонирование близлежащего содержимого, а также некоторые базовые интеллектуальные алгоритмы и сопоставление с образцом, чтобы сделать заполненное содержимое конгруэнтным и согласованным с образцом. У вас ДЕЙСТВИТЕЛЬНО МНОГО информации, чтобы заставить работать заливку с учетом содержимого... например, сшивание панорамы. Единственная информация, которая вам нужна, чтобы угадать освещение, — это то, что отражает сцена. Количество доступной полезной информации различается на порядки.
@jrista Я не уверен, что ты хочешь сказать. Я не говорю, что оценка освещенности проста или даже находится в той же лиге, что и заливка с учетом содержимого, просто обе они недостаточно ограничены и, следовательно, требуют допущений, оба никогда не могут точно воссоздать то, что не было захвачено на изображении, оба были немыслимы в свое время, и один теперь является стандартной функцией Photoshop.

Откровенно говоря, нет - не с доступным в настоящее время программным обеспечением. Возможно, здесь ведутся исследования, и кто знает, что готовит будущее, но сейчас нет.

Слишком много информации для обработки программным обеспечением, особенно на потребительском уровне. По крайней мере, у вас должен быть какой-то способ сообщить программному обеспечению, как объект выглядит НЕОСВЕЩЕННЫМ. В этом преимущество человека — у нас в уме есть предварительная визуализация того, как объект будет выглядеть в норме. Это позволяет человеку сказать: «Ну, НОРМАЛЬНО у него там нет исчезающей темной области или яркого пятна там».

Кроме того, существует МНОЖЕСТВО различных способов получения одного и того же эффекта освещения (хотя многие из них более распространены, чем другие).

@rfusca: Да, «предварительное осознание» объектов с отражающими свойствами и отношение камеры к источникам света и объектам увеличило бы вероятность того, что это будет возможно, но все еще думаю, что это возможно; оценки ведь не идеальны.
@blunders: В лучшем случае оценки могут дать вам приблизительную информацию о том, сколько ОТРАЖЕНИЯ можно наблюдать в сцене ... но я подчеркиваю, что это приблизительно . Попытка получить что-то большее, чем грубое предположение о количестве источников света, атрибутах источника (цвет, диффузность, продолжительность излучения) и т. д., на самом деле просто требует множества догадок, основанных на суждении, основанном на наблюдении. Если и есть что-то, в чем компьютеры отстой, то это оно. Для точного обоснованного предположения о том, какое освещение могло освещать сцену, требуется опытный ум .
Вы могли бы возразить, что достаточно продвинутый искусственный интеллект может научиться достаточно, чтобы стать опытным умом в отношении наблюдения за освещением фотографий... которые могли бы давать неизменно полезные результаты.
@jrista - Верно, мой ответ отражает, есть ли что-то с современной технологией, которая дает реалистичные, полезные и точные результаты.
Я думаю, что это, вероятно , так. Впрочем, я бы совсем не удивился, если бы в этой области проводились исследования. Это кажется интересной проблемой. Так что я бы не стал говорить "нет" без изучения.
@jrista: В качестве крайнего примера, силуэт может упростить эту задачу; но, например, на этой фотографии свет на фотографии не является «прямым» источником, а является «пассивным или отражающим» источником света.
@mattdm Я имею в виду, я огляделся и не смог найти ничего доступного. И исследование далеко от приложения, которое доступно в настоящее время. С тем, как технологии развиваются в наши дни, кто может сказать, что будет или не будет доступно через 5-10 лет, но я почти уверен, что вы не можете купить что-то подобное прямо сейчас, что могло бы сделать разумную работу с чем-то большим. чем самая простая фотография (если вы вообще можете ее получить!).
@rfusca: да. Я просто имею в виду, что есть большая разница между «Ни за что» и «Я не думаю, что это возможно с текущим коммерческим программным обеспечением».
@mattdm @rfusca: Я не думаю, что у нас появятся такие технологии в ближайшие 10 лет. Это именно та проблема, для решения которой требуется продвинутый интеллект, и даже с уровнем интеллекта опытного человека, который в совершенстве разбирается в освещении, ВСЕ ЕЩЕ сможет делать только обоснованные предположения и ВСЕ ЕЩЕ будет ошибаться в довольно большом количестве время. Суть проблемы в том, что у вас крайне информационная анемия, и независимо от того, насколько интеллектуален алгоритм... промахов, как правило, будет больше, чем попаданий.
@jrista - я тоже так не думаю - не с реалистичными результатами, но я не собираюсь говорить, что это невозможно
@rfusca: Ну, как говорится... если бы у нас было достаточно времени... Предположим, что у нас есть неограниченное время, огромные вычислительные ресурсы и алгоритм обучения, в основе которого лежат миллионы различных сцен, как неосвещенных, так и освещенных различными источниками света. различные конфигурации освещения, как естественного, так и искусственного, а также возможность продолжать обучение на каждой обработанной сцене ... вы можете приблизиться к способности человека оценивать настройку освещения, освещающую сцену. Так что не невозможно... просто маловероятно в течение следующего десятилетия, и, вероятно, не более чем исследовательский проект. Что касается текущего приложения... нет. ;)