У Google Есть Программное Обеспечение, Чтобы Сделать Камеры Хуже


У Google есть алгоритм, который может сделать фотографию с большой глубиной резкости и создать что-то, что выглядит так, как будто было сделано с широкой диафрагмой на профессиональной камере. Именно то, как это делается, является удивительным приложением для продвинутой обработки изображений с использованием 3D-модели.

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

Глубина резкости примерно соответствует диапазону расстояний, на которых объектив создает четкое изображение. Если вы фокусируетесь, скажем, на 10 футах, то вы не можете ожидать, что все от 0 до бесконечности будет в фокусе — если бы это было зачем вообще фокусироваться. На практике с реальными объективами только небольшой интервал вокруг точки, на которой вы сфокусировались, является резким.

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

Единственное осложнение заключается в том, что размер апертуры измеряется числом f, которое становится тем больше, чем меньше апертура. Поэтому маленькие f-числа, такие как f3 или f2, имеют очень малую глубину резкости, а большие f-числа, такие как f11 и f22, имеют очень большую глубину резкости. 

Традиционные аналоговые пленочные камеры имеют объективы с диапазоном f-чисел, которые обычно варьируются от f2 до f22, и это означает, что вы можете сфотографировать человека с диафрагмой f2 и иметь человека в фокусе, а фон вне фокуса. Это желательный эффект, и способность контролировать глубину резкости-признак хорошего и творческого фотографа. 

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

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

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

Теперь вы можете увидеть проблему — как вы определяете глубину каждого пикселя на изображении, когда у вас есть 2D-камера, которая не имеет информации о глубине? 

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

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

Фотография и ее карта глубины — темнее ближе.

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

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

Таким образом, теперь камера мобильного телефона может выдавать результаты, которые выглядят как высококачественная цифровая зеркальная камера. 

Это отличная работа, но есть что-то странное в использовании вычислительной фотографии для восстановления физических дефектов объективов реального мира. Это наравне, но не совсем, с цифровым созданием эффектов, таких как блики объектива и цвета Кодахрома. 

В мире фотографии лучшее не всегда желательно.

Как раз перед тем, как эта новость была опубликована, мне указали на аккуратное приложение JavaScript http://www.clicktorelease.com/code/depth-player/ который считывает данные карты глубины с фотографии размытия объектива Android и использует ее для создания 3D-модели, которую вы можете вращать и вообще исследовать. Это не создает идеальную модель, но, учитывая, что не использовались камеры глубины, подобные Kinect, это впечатляет и, возможно, предполагает, что в приложении размытия объектива гораздо больше креативности и практичности, чем в применении глубины резкости к фотографиям. 


Добавить комментарий