В 2005 году на рынок вышел новый телефон Nokia N90, главной особенностью которого стала фантастическая, как ее тогда называли во многих обзорах, камера на 2 мегапикселя.
Забавно спустя столько лет смотреть примеры снимков с этого телефона. Они выглядят просто ужасающе — никакой детализации, минимальный динамический диапазон и зашкаливающее количество шумов даже при ярком солнце.
Представьте, что чувствовали в те времена фотографы при виде подобных шедевров:
Обратите внимание на черный силуэт дерева и полную потерю информации в тенях, а резкости не хватает даже для того, чтобы разглядеть номер машины, стоящей прямо перед камерой.
Каждый, кто хоть немножко разбирался в фотографии, прекрасно понимал, что камера в телефоне никогда не сможет заменить цифровой фотоаппарат. Ну разве что «цифромыльницу», да и ту — не в обозримом будущем.
Вот это поворот!
Когда на смену пленочным фотоаппаратам пришли цифровые, их график продаж (синяя линия) напоминал взлет ракеты. Но с 2010 года что-то пошло не так и эта «ракета» рухнула, отбросив производителей фотоаппаратов в далекие 80-е:
Конечно, было бы не совсем корректно обвинять в этом только смартфоны (красная линия на графике). Рынок фотоаппаратов — вещь довольно специфическая. Здесь просто невозможно заставить потребителя каждый год обновлять свою камеру, как это происходило до недавнего времени со смартфонами.
А если говорить о дорогой «зеркалке», то и вовсе можно пользоваться ею хоть 10 лет. Прирост в качестве если и есть, то минимальный. Ведь всё упирается в те самые неизменные законы физики. Да и откуда у производителей возьмутся деньги на R&D (исследования и разработки) при таком-то падении продаж и, соответственно, интереса со стороны потребителей?
В целом, сегодня можно констатировать факт — смартфоны не просто победили цифровые «мыльницы», они практически уничтожили рынок цифровых камер, за исключением полупрофессиональных и профессиональных зеркальных фотоаппаратов.
Современный смартфон снимает, как профессиональный фотоаппарат за $7500! Что вообще происходит?
Бесспорно, камера на смартфоне гораздо удобнее и практичнее любого фотоаппарата. Но, согласитесь, если бы снимки с этих смартфонов выглядели примерно на уровне Nokia N90, никакое удобство не смогло бы заставить пользователей отказаться от фотоаппаратов.
На днях фотограф Матти Хааподжа провел, казалось бы, абсурдное сравнение камеры смартфона с дорогой полуторакилограммовой зеркальной камерой Canon EOS-1D X Mark II, стоимостью в $7500.
Результат этого сравнения привожу ниже. Но вначале предлагаю лично вам решить, какой из снимков сделан телефоном, а какой — профессиональной камерой:
Уже сам факт того, что вы не можете ответить наверняка, говорит о многом. И если вы решили, что снимок A (слева) был сделан дорогой профессиональной зеркалкой — поздравляю, вы угадали!
На следующей фотографии разница более заметна и, тем не менее, ни у кого бы даже не возникло ни малейшего подозрения, если бы снимок со смартфона (на фото — справа «B») разместили под видом фото с дорогой камеры:
И еще хотелось бы привести пример другого человека, который сравнил портретный режим на iPhone 11 Pro с портретом на зеркальный полупрофессиональный фотоаппарат Canon 7D Mark II:
Я ни в коем случае не хочу сказать, что камера смартфона сегодня может на равных конкурировать с дорогими или даже бюджетными зеркальными фотоаппаратами. Отнюдь.
Однако невозможно не замечать того, что качество камер современных смартфонов выросло за последние 10 лет просто фантастически. И это приводит нас к закономерному вопросу — в чем секрет такого роста? Неужели в матрицах и объективах?
Вычислительная фотография. Или почему фотографы были неправы?
Размеры современных матриц и их характеристики не идут ни в какое сравнение с тем, что было 15 лет назад. Даже матрица первого Samsung Galaxy S, выпущенного в 2010 году, была почти в 2 раза меньше многих современных сенсоров. Но не это главное.
Основная ошибка фотографов заключалась в том, что они думали о фотографии чисто с физической точки зрения и понимали, что на телефоне никогда не будет красивого эффекта боке (размытия фона), так как для этого нужен объектив в 3 раза крупнее самого телефона.
А ночная съемка? Даже профессиональные «зеркалки» и те не всегда справляются в подобных условиях, а их матрицы, между прочим, в 20-30 раз крупнее телефонных:
И, тем не менее, сегодня смартфоны показывают выдающиеся результаты ночью. Вот, к примеру, несколько моих снимков на Sony Xperia 1:
Секрет, на самом деле, очень прост и заключается он в алгоритмах. Процессоры современных смартфонов способны выполнять триллионы операций в секунду, что позволило активно развивать искусственный интеллект и нейронные сети.
Смартфон собирает фотографию по пикселям, вычисляя значение каждого из них. А в некоторых случаях, буквально дорисовывая снимок, исходя из «личных соображений» искусственного интеллекта.
Чтобы лучше это понять, давайте на примере разберем одну из самых красочных функций телефонных камер — портретный режим. Именно благодаря красивому размытию фона, снимки с телефона и выглядят так профессионально (хотя и не всегда).
Вычислительная фотография. Как работает портретный режим?
Чтобы получить фотографию с красивым размытием фона, нам нужны либо большая матрица + светосильный объектив с большим фокусным расстоянием + максимально открытая диафрагма, либо вычислительная фотография.
Первый вариант мы рассматривать не будем — пускай этим занимаются фотографы, а вот о втором поговорим.
Для начала возьмем селфи-камеру. Каким образом она оценивает расстояние до различных объектов в кадре? Как она может понять, что человек находится на переднем плане, а деревья — позади? А ведь без этого размыть правильно «фон» невозможно.
Если бы камер было две (как на обратной стороне телефона), то принцип определения глубины был бы более-менее понятен. То есть, смартфон делает каждой камерой по одному снимку (ракурс будет немного отличаться, как если бы вы смотрели поочередно то левым, то правым глазом на любой окружающий вас предмет):
Теперь «накладываем» их друг на друга и смотрим на смещение объектов в кадре. Чем больше это смещение — тем ближе объекты расположены к нам:
Очень подробно мы рассказывали об этом в отдельной статье. Но если камера одна — такой метод не подходит. Как вариант можно разделить фотографию на два слоя: в первом определить все пиксели на фотографии, которые принадлежат главному объекту, а во втором — все пиксели, относящиеся к фону (этот процесс называется семантической сегментацией). Затем остается размыть второй слой (пиксели фона) и оставить в фокусе первый слой.
Правда, результат получится не совсем естественным. Ведь, когда мы делаем снимок на зеркальный фотоаппарат, глубина резкости меняется плавно по всему кадру. Но учитывая, что речь идет о селфи-камере — и так сойдет! В итоге, имея очень слабую технику с точки зрения классической фотографии, мы можем получить довольно интересную картинку.
Когда же мы переходим к основной камере (если она одна), тогда процесс выглядит более сложным.
Первым делом необходимо получить фотографию с широким динамическим диапазоном (HDR), чтобы можно было рассмотреть как самые темные участки, так и самые яркие. Кроме того, нужно убедиться, что снимок хорошо детализирован и на нем отсутствует шум.
Для этого смартфон делает целую серию снимков, которые затем проходят очень интересную и сложную обработку. Точнее, смартфон начинает делать снимки еще с того момента, когда вы только запускаете приложение Камера. И даже если открыв камеру, вы не сделали ни единой фотографии, ваш смартфон за это время отснял сотни кадров, которые затем, правда, удалил.
Итак, создав из целой серии плохих кадров один хороший, можно переходить к следующему этапу (обратите внимание, сколько деталей потеряно на фото слева, в частности, плитка на светлых участках, облака и пальмы, и как они восстановились на фото справа):
Искусственный интеллект
Теперь в игру вступает машинное обучение и нейронные сети. Нужно снова определить с помощью сегментации все объекты на переднем и заднем плане.
Только в этот раз определять человека будет нейросеть, которая предварительно прошла обучение на миллионе самых разнообразных фотографий с изображением людей в различных позах, одежде, с разными прическами. На одних фото люди держали чашку в руке, на других — мороженное, где-то человек был в очках, где-то носил шляпу и т.п.
На следующем примере нейросеть выделила главный объект — человека с чашкой в руках, пометив черным цветом то, что нужно размыть:
Остается лишь применить размытие по маске. Но и этот результат не будет таким правдоподобным, как в зеркальной камере. Нужно больше вычислений!
Переходим к третьему этапу — построению реальной карты глубины, чтобы лучше понимать, с какой силой размывать фон позади главного объекта и спереди от него. Ведь нам нужно добиться максимально реалистичного изображения, чтобы среднестатистический человек не смог сходу отличить фото, сделанное на телефон от снимка на профессиональную камеру (как на примерах в самом начале статьи).
Используем фазовый автофокус с технологией Dual Pixel
Даже если вы не знаете, что такое фазовый автофокус (обозначается аббревиатурой PDAF), то, возможно, не раз замечали, что эта технология указана в спецификациях практически любого современного флагмана.
Также, уверен, многие слышали о технологии Dual Pixel. Особенно активно ее не так давно продвигала компания Samsung. Я не буду здесь подробно объяснять, как работает фазовый автофокус и какое отношение к этому имеет Dual Pixel, но кое-что сказать, все же, следует, дабы лучше понять суть вычислительной фотографии.
Представьте себе матрицу смартфона (эта картинка и все дальнейшие — лишь иллюстрация):
Видите множество маленьких точек? Это наши пиксели, которые улавливают свет, попадающий через объектив на матрицу. Но пиксели эти непростые. Каждая такая точечка (пиксель) — это не отдельный фотодиод, а набор из двух независимых фотодиодов! Давайте немножко приблизим эту матрицу:
Конечно же, разделение по цвету здесь условное, просто чтобы увидеть два фотодиода. А теперь самое интересное! Над каждым таким пикселем, состоящим из двух фотодиодов, размещается крошечная линза. Она разделяет поток света на правую и левую часть. То есть, на один фотодиод попадает то, что «видит» левая часть объектива, а на другой — то, что видит «правая» часть объектива:
Таким образом, даже имея одну камеру, мы получаем два изображения с небольшой разницей (см. пример выше с жуком). Повторюсь, разница настолько мала, что ее трудно заметить невооруженным глазом, но этого уже достаточно, чтобы рассчитать стерео-эффект и построить простенькую карту глубины.
Технология фазового автофокуса повсеместно применяется в зеркальных фотоаппаратах для, собственно, фокусировки. Но на смартфонах она также используется в вычислительной фотографии, чтобы построить карту глубины.
Итак, у нас уже есть прекрасный четкий HDR снимок, слой изображения с главным объектом (после семантической сегментации) и даже какая-то карта глубины сцены. Приступаем к созданию красивой фотографии? Нет.
Улучшение оценки глубины
После всех проделанных вычислений, у нас остается еще широкое поле для ошибок и всевозможных артефактов. Поэтому, полученный результат должен пройти еще ряд проверок.
К примеру, точка, расположенная далеко от объекта в фокусе выглядит менее резкой, а та, что ближе — четче. Это также является сигналом глубины, который принимает во внимание нейросеть.
Кроме того, работа алгоритмов все больше начинает копировать работу нашего мозга. Мы прекрасно умеем оценивать примерное расстояние ко всем объектам на снимке только благодаря тому, что примерно осознаем размеры всех этих объектов. Если мы увидим на фото Эйфелеву башню за спиной человека и они будут одной высоты, мы не подумаем, что перед нами 300-метровый человек. Просто башня находится очень далеко.
Но все эти проверки и вычисления — невероятно сложный и ресурсоемкий процесс, а потому фотографии получаются далеко не всегда идеальными.
Подытожим
В очень упрощенной форме я привел лишь один из множества примеров вычислительной фотографии. Сложные алгоритмы очень активно используются в любой ситуации: ночная съемка, зум, повышение детализации снимка, борьба с цифровыми шумами и многое другое.
Цвета на ночном снимке выглядят естественными благодаря тому, что алгоритм предварительно обучили изменять баланс белого. То есть, человек сделал множество снимков, а затем вручную на высококачественном мониторе изменил баланс белого на каждом из них. После чего алгоритму показали фото «до» и «после». Теперь он прекрасно «понимает», как на самом деле должны выглядеть предметы ночью. И так далее.
Повторюсь, никто не будет сегодня использовать смартфоны для профессиональной деятельности. Зеркальные камеры будут актуальны еще долгое время. Но, чем дальше — тем меньше.
Телефоны уже не являются слабым звеном в руках фотографа и позволяют снимать шедевры, как, например, следующий снимок с iPhone 11 Pro от Остина Манна (Austin Mann), без обработки:
Или этот яркий и колоритный портрет пожилой китаянки, при том, что условия съемки были очень сложными (из-за солнечного света в безоблачную погоду):
Еще 15 лет назад ни одному фотографу и в голову бы не пришло, что будут делать смартфоны в ближайшем будущем. Да и вообще, слово «фотография» постепенно утратит свой смысл. Хотите вы того или нет, но дальше мы будем все меньше иметь дело с реальностью и все больше — с искусственным интеллектом.
Нужны примеры из повседневной жизни? Пожалуйста! Вспомните нашумевший ремейк Короля Льва. Если вы не смотрели этот фильм, посмотрите хотя бы трейлер на YouTube, чтобы оценить качество графики и прорисовки природы! Как вам следующая «фотография»?
Можно ли представить себе, что на этом «фото» вообще ничего реального нет? Все нарисовано от начала и до конца.
Сегодня смартфоны не умеют так рисовать, да и одному компьютеру со всей его мощью потребовалось бы около 9 тысяч лет, чтобы прорисовать анимационный фильм Король Лев (на самом деле, он прорисовывался немного быстрее, так как использовался не один компьютер, а целая сеть мощных серверов).
Учитывая скорость развития технологий, не за горами тот день, когда смартфону нужно будет лишь в общих чертах увидеть реальность, а затем идеально воспроизвести ее на фотографии с нуля! Или, при желании, слегка подправить, сделав «реальность» еще более захватывающей.
К слову, в обзоре Xiaomi Mi 9T я упоминал интересную функцию на основе AI (искусственный интеллект), которая уже сейчас способна очень правдоподобно менять реальность. Вот фото, которое я сделал в разгар дня с высокой облачностью:
Смартфон не только убрал все облака и «перемотал» время на несколько часов вперед, но также изменил баланс белого на всех зданиях и других предметах, чтобы они естественно отражали свет заходящего солнца.
Не исключаю, что на страницах Deep-Review мы еще поговорим о вычислительной фотографии и рассмотрим другие интересные примеры того, как смартфон буквально по пикселям собирает фотографию, используя математику и сложные алгоритмы. До связи!
P.S. Не забудьте подписаться в Telegram на наш научно-популярный сайт о мобильных технологиях, чтобы не пропустить самое интересное!