Двойная камера в iPhone 7 Plus, 8 Plus и X умеет делать двукратный оптический зум, размытие и сценические эффекты освещения. Разработчики Appollo решили пойти дальше и выжать всё из камер iPhone.
На основе данных с двойной камеры, приложение позволяет добавлять реалистичные источники освещения, регулировать яркость и цвет. Разработчики опубликовали подробный рассказ на Reddit о том, как возникла идея и с какими трудностями пришлось столкнуться при создании приложения.
Разработка приложения началась как эксперимент в ноябре 2017 года, когда мы впервые получили iPhone 8 Plus. Мы хотели узнать, чего можно достичь, используя информацию о глубине портретных фотографий. У нас была простая гипотеза: если информация о глубине может быть наложена на двумерную фотографию, то должна быть возможность повторно осветить объекты с помощью пользовательских источников света.
Первые результаты работы, по словам разработчиков, были ужасными. Создателям приложения пришлось решать множество проблем в ходе разработки.
Сначала нам пришлось найти способ получения большого количества точек глубины, предоставляемой API двойной камеры. Мы создали новую алгометрическую более плотную карту точек глубины на основе полученной фотографии. Объекты выглядели ярче, но все же визуальный эффект вычислительного освещения с использованием карты глубины выглядел разочаровывающим.
Когда разработчики смогли достичь необходимого качества искусственного освещения, возникла новая проблема. Её удалось решить с помощью инструментов Apple.
Вооруженные высококачественной картой глубины, мы столкнулись с новой проблемой: вычисление информации о глубине портретной фотографии занимало примерно 45 секунд. Пришло время разобраться с GPU. Наш алгоритм сначала был разбит на несколько частей, чтобы воспользоваться дополнительными потоками. Затем все было переписано с использованием SDK Metal 2. Время загрузки сократилось примерно до 3 секунд, и это потрясающее улучшение.
Приложение можно скачать в App Store за 149 руб. Разработчики предупреждают, что для лучшего эффекта фотография должна иметь однородное освещение без бликов и больших теней. Идеальными являются четкие снимки, сделанные в темное время суток или изображения людей крупным планом.
Следите за новостями Apple в нашем Telegram-канале, а также в приложении MacDigger на iOS.
Присоединяйтесь к нам в Twitter, ВКонтакте, Facebook, Google+ или через RSS, чтобы быть в курсе последних новостей из мира Apple, Microsoft и Google.