Вас можно простить за то, что после прочтения всех хвалебных отзывов по поводу новой возможности ночной фотографии от Google, Night Sight, вы решите, что компания только что изобрела цветную плёнку. Режимы ночной съёмки появились не вчера, и многим из технологий, на которых они основаны, уже много лет. Но в Google проделали удивительную работу по комбинированию навыков вычислительной фотографии с беспрецедентными способностями в области машинного обучения, чтобы раздвинуть границы возможностей за пределы всего, что мы видели ранее. Давайте рассмотрим историю технологии получения фотографий при низком освещении при помощи нескольких, сделанных подряд снимков, подумаем, как она используется в Google, и предположим, какой вклад в неё вносит ИИ.
Трудности фотографирования при низком освещении
Все камеры с трудом справляются с получением фотографий при низком освещении. Без достаточного количества фотонов на пиксель на изображении легко доминировать шуму. Если оставить затвор открытым на более долгое время, чтобы собрать больше света и получить полезную картинку, это также увеличит и количество шума. Что хуже, довольно сложно получить чёткую картинку без стабильного треножника. Увеличение усиления (ISO) сделает картинку ярче, но и увеличит количество шума в ней.
Традиционной стратегией было использование более крупных пикселей в более крупных сенсорах. К несчастью, в камерах телефонов сенсоры, а, значит, и пиксели, крошечные – они хорошо работают при хорошем освещении, но быстро отказывают при уменьшении уровня света.
В результате у разработчиков телефонных камер остаются два варианта улучшения изображений, полученных при низком освещении. Первый – использовать несколько изображений, чтобы скомбинировать их в одно, с уменьшением шума. Ранней реализацией такой стратегии в мобильном устройстве был режим SRAW в дополнении DxO ONE для iPhone. Он сливал четыре RAW-изображения в одно улучшенное. Второй вариант – использовать хитроумную постобработку (последние их версии часто снабжены машинным обучением) для уменьшения уровня шума и улучшения картинки. Google Night Sight использует оба подхода.
Несколько изображений за одну съёмку
К настоящему моменту мы уже привыкли к тому, как телефоны и камеры комбинируют несколько изображений в одно, в основном для улучшения динамического диапазона. Будь то группа изображений с брэкетингом, как делают в большинстве компаний, или HDR+ от Google, где используется несколько изображений с краткой экспозицией, в результате можно получить отличную картинку – если артефакты, порождённые слиянием нескольких изображений движущихся объектов можно минимизировать. Обычно для этого выбирается базовый кадр, наилучшим образом описывающий сцену, на который накладываются полезные части других кадров. Huawei, Google и другие также использовали такой подход для создания улучшенных фотографий с телеобъектива. Недавно мы увидели важность выбора правильного базового кадра, когда в Apple объяснили, что их бардак с BeautyGate произошёл из-за бага, при котором во время обработки фотографий выбирался неправильный базовый кадр.
Понятно, почему в Google решили скомбинировать эти методы использования нескольких изображений для получения улучшенных фотографий при низкой освещённости. При этом компания вводит несколько хитроумных инноваций в область обработки изображений. Скорее всего, корни этого кроются в приложении для Android от Марка Ливоя, SeeInTheDark, и его работе 2015 года «Получение экстремальных изображений при помощи сотовых телефонов». Ливой был пионером вычислительной фотографии из Стэнфорда, и сейчас получил звание почётного инженера, работая над технологиями для камер в Google. SeeInTheDark (продолжение его более ранней работы, приложения SynthCam для iOS) использовала стандартный телефон для аккумулирования кадров, изменения каждого кадра с тем, чтобы он совпадал с набранным изображением, а потом применения различных техник уменьшения шума и улучшения изображения для получения удивительно качественного изображения при низком освещении. В 2017 году программист из Google, Флориан Канц, использовал некоторые из этих концепций, чтобы показать, как телефон можно использовать для получения изображений профессионального качества даже при очень низком освещении.
Наложение нескольких изображений, полученных при низком освещении, это хорошо известная технология
Фотографы накладывали нескольких изображений для улучшения качества снимков, полученных при низком освещении, с самого появления цифровой фотографии (подозреваю, что кто-то делал это и с плёнкой). Что до меня, я начинал с того, что делал это вручную, а потом использовал хитрый программный инструмент Image Stacker. поскольку самые первые цифровые зеркалки были бесполезными при высоких ISO, единственным способом получить нормальный ночной снимок было взять несколько кадров и наложить их. Некоторые классические снимки, вроде звёздных следов, изначально были получены именно так. Сегодня это не так часто применяется при использовании цифровых зеркалок и беззеркальных камер, поскольку в современных моделях встроены прекрасные средства для поддержки высоких ISO и уменьшения шума от долгой выдержки. На моём Nikon D850 можно оставить затвор открытым на 10-20 минут, и всё равно получить вполне пригодные фото.
Поэтому вполне разумно, что изготовители телефонов должны делать так же. Однако в отличие от терпеливых фотографов, снимающих звёздные следы при помощи треножника, среднему пользователю телефона требуется немедленное удовлетворение, и он практически никогда не будет использовать треножник. Поэтому у телефона есть дополнительные трудности, связанные с необходимостью быстрого получения изображений при низкой освещённости и минимизацией размытия от дрожания камеры – а в идеале, и от движения снимаемого объекта. Даже у оптической стабилизации, имеющейся на многих топовых моделях, есть свои ограничения.
Я не уверен, какой из производителей телефонов первым применил использование нескольких снимков для получения изображений при низком освещении, но я первым использовал Huawei Mate 10 Pro. В режиме Night Shot он делает несколько кадров за 4-5 секунд, а потом сливает их в одно фото. Поскольку у Huawei предпросмотр в реальном времени остаётся включённым, можно видеть, как он использует несколько различных вариантов экспозиции, по сути, создавая несколько кадров брэкетингом.
В работе, описывающей первый HDR+, Ливой утверждает, что кадры с разной экспозицией сложнее выровнять (почему HDR+ и использует несколько кадров с одинаковой экспозицией), поэтому, скорее всего, Night Sight от Google, как и SeeInTheDark, тоже использует несколько кадров с одинаковой экспозицией. Однако Google (по крайней мере, в предрелизной версии приложения) не показывает на экране картинку в реальном времени, поэтому я могу лишь предполагать. Samsung в Galaxy S9 и S9+ использовала другую тактику с главной линзой двойной апертуры. Она может переключаться на впечатляющие f/1.5 при низком освещении для улучшения качества картинки.
Сравнение возможностей Huawei и Google при низком освещении
У меня пока нет Pixel 3 или Mate 20, но есть доступ к Mate 10 Pro с Night Shot и к Pixel 2 с предрелизной версией Night Sight. Поэтому я решил сравнить их самостоятельно. В испытаниях Google очевидно превзошла Huawei, показав меньше шума и более чёткую картинку. Вот одна из пробных последовательностей:
Huawei Mate 10 Pro днём
Google Pixel 2 днём
Вот, что можно получить, фотографируя ту же сцену в почти полной темноте без режима Night Shot на Mate 10 Pro. Затвор открыт 6 секунд, поэтому видно размытие
Снимок почти в полной темноте при помощи Night Shot на Huawei Mate 10 Pro. Данные EXIF показывают ISO3200 и 3 секунды экспозиции в сумме.
Та же сцена при помощи предрелизной версии Night Sight на Pixel 2. Цвета точнее, изображение чётче. EXIF показывает ISO5962 и экспозицию в 1/4 с (вероятно, для каждого из нескольких кадров).
Является ли машинное обучение секретным компонентом Night Sight?
Учитывая, как давно существует наложение нескольких изображений, и как много версий этой технологии применяли производители камер и телефонов, становится интересно, почему же Night Sight от Google кажется настолько лучше остальных. Во-первых, даже технология в оригинальной работе Ливоя очень сложная, поэтому те годы, что были у Google для её улучшения, должны были дать компани неплохую фору. Но компания также объявила, что Night Sight использует машинное обучение для того, чтобы выбирать правильные цвета в изображении на основании того, что попало в кадр.
Звучит круто, но туманно. Непонятно, выделяет ли технология отдельные объекты, зная, что их цвет должен быть однотонным, или раскрашивает известные объекты соответствующим образом, или распознаёт общий тип сцены, как делают умные алгоритмы автоматической экспозиции, и решает, как подобная сцена должна выглядеть (зелёная листва, белый снег, синее небо). Уверен, что после выхода финальной версии фотографы получат больше опыта работы с этой возможностью, и мы сможем узнать подробности того, как технология использует МО.
Ещё одно место, где может пригодиться МО – первичный расчёт экспозиции. Лежащая в основе Night Sight технология HDR+, как описано в работе SIGGRAPH от Google, полагается на размеченный вручную набор из тысяч фотографий, помогающий ей выбрать правильную экспозицию. В этой области МО может принести некоторые улучшения, особенно выполняя вычисления экспозиции в условиях низкой освещённости, где объекты сцены зашумлены и их сложно различить. Также в Google экспериментировали с использованием нейросетей для улучшения качества фотографий на телефонах, поэтому не будет сюрпризом, когда некоторые из этих технологий начнут внедрять.
Какую бы комбинацию этих технологий в Google ни использовали, результат получается определённо лучшим из всех камер, способных снимать при низком освещении на сегодня. Интересно, сможет ли семейство Huawei P20 выдать что-либо, чтобы приблизить по качеству свою технологию Night Shot к тому, что сделали в Google.
Комментарии (11)
redpax
12.11.2018 21:42Хуже всего когда нейросети начнут обучаться на выборке фотографий из под «пера» нейросетей так, как отличить их от «чистых» фото буде тпрактически невозможно, это неизбежно приведет к деградации результатов изображений всех последующих нейросетей.
advan20092
13.11.2018 06:53Samsung в Galaxy S9 и S9+ использовала другую тактику с главной линзой двойной апертуры. Она может переключаться на впечатляющие f/1.5 при низком освещении для улучшения качества картинки.
Она там всегда открыта, кроме редких случаев когда снимок делается при ярком освещении
Число f это всегда определенный маркетинг, а не точная характеристика объектива
abcdsash
14.11.2018 11:24коллеги, вам не кажется, что качество на фотографии — это максимальное приближение к тому, «как есть на самом деле». То есть если один и тот же человек с этого места при тех же условиях посмотрит на фотографию и на объект съемки — он скажет, что да! одно и то же!
ну как со звуком: точно передать то, что есть в месте хранения информации
Понятно, что разные люди могут воспринимать по разному, но то, что гугл из ночных снимках делает день — это не победа уж точно! Слишком сильно искажено то что было в реальности.
Angerslave
Физику не обманешь, а вот человека вполне можно. Только насколько такие кадры можно будет назвать фотографией в понимании «запечатлевание момента» — большой вопрос. Ведь дальше — больше: начнут учитывать снимки этого объекта от других юзеров, изучать рельеф местности для ночной съёмки снаружи, в конце концов — держать камеру постоянно включённой, чтобы иметь возможность «собрать» картинку, как это делает человеческий глаз…
Aquahawk
Согласен. Даже в современных типа AI улучшенных снимках всё красиво на первый взгляд, ярчайшие цвета и всё такое, но потом смотришь, а деталей то нет. Пиксели есть, а разрешения нет.
jehy
Да, есть какой-то классический (вроде бы) рассказ, где уволенный автор подобного софта для улучшения снимков занялся тем, что позировал на всех достопримечательностях — после чего оказалось, что он присутствует на каждом сделанном пользователя кадре…
barbanel
Невольно вспоминается «Свидетель из Фрязино» =)
no1D
Шелли — Палец христофора
UnhappyPanda
Это и так давно происходит. Все фотаграфии на продажу и многие для себя уже так или иначе обрабатываются и показывают не то, то запечатлил фотограф в оригинале. Выправить горизонт, обрезать, покрутить гамму/цвета — это уже совсем базовый уровень, который можно ожидать в любой рандомной фотки в интернете. Что-то более профессиональное, и там уже непонятно, сколько от оригинала, а сколько от фотошопа. Так что просто имеем еще один слой постобработки. Одним больше, одним меньше, картины он принципиально не меняет, от «оригинальной» фотографии мы уже ушли практически повсеместно.