Разработчики Halide рассказали, чем крут портретный режим iPhone SE
Всё очень технологично.
Приложение Halide — одна из самых известных сторонних софтовых фотокамер на iOS. Его разработчики вовсю изучают исходные коды, а также все доступные API, распространяемые Apple.
Новый iPhone SE стал первым смартфоном, который опирается лишь на искусственный интеллект при размытии заднего фона при съёмке портретов.
И что?
Любой портретный режим получается при помощи минимум пары «глаз», то есть объективов. Таким образом камера получает информацию об объекте и удалённости его от камеры.
У iPhone XR тоже одна камера, но тут есть другая аппаратная уловка — пиксельный автофокус. Это тоже своего рода «пара глаз», которая даёт представление об объёме пространства.
Таким образом, iPhone SE стал первым айфоном, который генерирует глубинное размытие посредством лишь машинного обучения, опираясь только на снимок. Но, как и у iPhone XR, тут действует то же самое ограничение: размытие возможно только в том случае, если вы снимаете портрет людей.
Разработчики попытались выяснить, в чём дело.
Согласно данным API, распространённого Apple, нет причин думать, что камера не различает, например, собак. Она способна это делать и иногда справляется с этой задачей очень и очень хорошо. Вот, например, товарищ собака по имени Джун:
А далее иллюстрация того, какие данные о глубине получили iPhone SE и iPhone XR соответственно:
Чем темнее, тем дальше. Исходя из этих данных, камера понимает, что нужно размывать, а что — нет. И по данным, полученным из API камеры, мы видим, что iPhone SE справился гораздо лучше XR. И это чертовски круто: левое ухо собачки станет более размытым! Просто невероятно.
К сожалению, камера справляется не всегда. Например, тут айфон просто сходит с ума и не понимает, что происходит:
Бен Сандофски из Halide считает, что смартфон смутило дерево сзади. Оно ведь так похоже на рога. В итоге карта глубины этого снимка выглядит следующим образом:
Это больше на шаурму в руке похоже, чем на пса.
Дальше ещё сложнее — сцена, где камера вообще не понимает, что происходит. Нейросети тут не помогут:
Тут уже iPhone SE сравнивают с 11 Pro (слева). SE просто всё размазал:
В этом случае портрет бы не вышел.
Из этого можно сделать вывод, почему Apple позволяет снимать портреты только людей: на них нейропроцессор хорошо натренирован. Конечно, компания могла бы дать возможность размытия любого объекта, но тогда мы бы очень часто получали плохой результат. Так что лучше что-то не дать, чем дать и получить что-то подобное:
Не пугайтесь, этот снимок сделан не на iPhone SE, а на VSmart Live — смартфон со специально выделенным объективом для «портретного режима».
Apple бы за такое засмеяли, что стало бы огромным ударом по репутации компании. Поэтому один из основных принципов компании такой: либо вещь работает, либо её просто не существует.
Будет ли когда-нибудь достаточно одной камеры смартфона, чтобы сделать хороший портрет?
Специалисты Halide так не считают. И дело тут не только в технической проблеме — через несколько лет нейропроцессор будет настолько круто обрабатывать фотографии, что ошибки будут минимальными.
Но есть и другие сложности, которые даже совершенному человеческому глазу трудно решить. Иллюстрируется она какой-нибудь иллюзией Маурица Эшера:
Даже нашим глазам трудно понять, что происходит в реальности: объект удаляется или приближается?
А в какую сторону кружится девушка:
Люди разделятся на два лагеря. Как в случае с оптической иллюзией про цвет платья.
Всё это происходит потому, что даже нашей пары совершенных глаз не хватает. Но за технологиями всё равно очень интересно следить.