Как стать автором
Обновить

Как на телефонах работает система Night Sight от Google и почему она так хорошо справляется

Время на прочтение 6 мин
Количество просмотров 11K
Автор оригинала: David Cardinal

Вас можно простить за то, что после прочтения всех хвалебных отзывов по поводу новой возможности ночной фотографии от 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.
Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
+10
Комментарии 21
Комментарии Комментарии 21

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн
PG Bootcamp 2024
Дата 16 апреля
Время 09:30 – 21:00
Место
Минск Онлайн
EvaConf 2024
Дата 16 апреля
Время 11:00 – 16:00
Место
Москва Онлайн