29 марта, 2024

Машинное обучение — новый этап развития камер смартфонов

Содержание:

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

Что такое машинное обучение?

Если выразиться предельно просто, машинное обучение (МО) — это вид программирования, который позволяет компьютерам улучшать свои возможности без дальнейшего участия людей. Человек программирует основные компоненты системы, а затем компьютер совершенствует сам себя, опираясь на параметры, которые были изначально заданы человеком.
Машинное обучение можно представить себе, как эволюцию электроники — сначала мы даем системе все основные инструменты, а затем система улучшает сама себя методом проб и ошибок. Но, опять-таки, это упрощенное представление.
В отношении фотографирования на смартфон МО предполагает, что устройство «научится» лучше распознавать образы и расшифровывать картинки.
Некоторые методы машинного обучения

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

Пока смартфоны еще только начинают осваивать машинное обучение, и уж тем более им далеко до того, чтобы включать в себя все компоненты искусственного интеллекта. Приобретаемые девайсами умения основываются на данных, которыми их снабжают в процессе производства, поэтому, когда смартфоны попадают к пользователям, их способность к обучению минимальна или совсем отсутствует. Тем не менее, освоенные гаджетами алгоритмы машинного обучения, в том числе относящиеся к фотографированию, действительно существенно улучшают пользовательский опыт.
В ходе машинного обучения в смартфоны можно встроить наборы данных, которые будут «учить» их делать снимки профессионального качества. Располагая такой информацией, устройство сможет анализировать сделанные фото или картинки, которые «видит» объектив, а затем «править» их в соответствии с критериями для профессиональных фото. Для реализации данной задачи был создан нейронный процессор (NPU).

NPU: Новый тип процессора

Нейронный процессор (NPU) — это компонент, встраиваемый систему на чипе (SoC) или устанавливаемый параллельно с ней. При этом NPU функционирует независимо от других частей — таких, как центральный процессор (CPU) и графический процессор (GPU). NPU создан специально для анализа и обработки данных, связанных с машинным обучением. Хотя CPU и GPU тоже могут обрабатывать эти данные, NPU делает это быстрее и при этом потребляет меньше энергии. В итоге, поскольку все данные обрабатывает самый эффективный компонент, система SoC в целом работает более экономично.
До того, как появились нейронные процессоры, некоторые компании использовали для обработки данных по МО облачные технологии. Однако в этом случае эффективность обработки зависела от скорости интернет-соединения, а если доступа к интернету не было, обрабатывать данные было и вовсе невозможно. С учетом продвижения смартфонов в регионы, где доступ в интернет ограничен, для реализации возможности машинного обучения потребуется включать в SoC NPU.

Читать также:  Как активировать меню «Для разработчиков» на смартфоне Pixel в Android P

В конце концов, NPU могли бы развиться настолько, чтобы использовать предоставленную пользователями информацию для продолжения обучения. Анализируя поведение пользователей, смартфоны могли бы более эффективно подстраиваться под их специфические потребности, тем самым сделав шаг на пути к искусственному интеллекту.
Однако, как именно будет использоваться NPU, зависит от конкретного производителя. Так, например, три компании (о которых речь пойдет ниже), добавившие NPU в функционал своих флагманских моделей смартфонов в этом году, распорядились нейронным процессором по-разному. Впрочем, так или иначе, основным направлением для использования NPU являются камеры.

1. Pixel Visual Core от Google: ISP с функциями машинного обучения

В этом году Google решил пойти нестандартным путем. Вместо того, чтобы снабдить свой флагман двойной камерой, как поступило большинство других производителей, компания наделила его лишь одной линзой. А чтобы компенсировать отсутствие второй, в камеру Pixel 2 интегрировали специализированный NPU.
Google Camera (приложение по умолчанию для камер устройств Pixel) и ее режим HDR+ являются наглядным примером использования МО для улучшения качества фотографирования на смартфоны. Всякий раз при нажатии кнопки спуска затвора приложение делает большое количество снимков, после чего, с помощью алгоритмов машинного обучения, эти снимки объединяются таким образом, чтобы добиться наилучшего динамического диапазона.

До появления моделей Pixel 2 и Pixel 2 XL «Google Камера» использовала для машинного обучения цифровой сигнальный процессор Hexagon (стандартный NPU от компании Qualcomm). Однако в этом году Google наделил смартфоны Pixel собственным NPU под названием Pixel Visual Core.
Pixel Visual Core от Google

В основном Google использует свой NPU как процессор цифровых сигналов для обработки изображений (ISP). Google Camera обращается к Pixel Visual Core и процессор выполняет задачи по МО, улучшающие качество фото и видео. HDR+ — это только один из примеров машинного обучения, используемого девайсами Google. Pixel 2 способен решать еще несколько задач по МО, включая съемку в режиме портрета с использованием только одной линзы.

Читать также:  Утечка кода iOS 14 показала работу Apple над iPad Pro, iPhone 9, AirTags и пультом дистанционного управления для телевизора

С появлением обновленной ОС Android 8.1 Oreo Pixel Visual Core стал доступен и сторонним приложениям. Теперь воспользоваться возможностями Pixel Visual Core можно из любого приложения, поддерживающего «андроидовскую» архитектуру Camera2 API. Проще говоря, если вы делаете снимок, скажем, в приложении, ваше фото будет обрабатываться с помощью HDR+ и других алгоритмов машинного обучения также, как если бы вы фотографировали с помощью «дефолтного» приложения Google Camera.

Фото, сделанные в приложении на смартфон Pixel 2 XL до (слева) и после (справа) подключения Pixel Visual Core

Благодаря использованию технологий машинного обучения, камера Pixel 2 стала эталоном для смартфонов, обойдя по многим показателям даже iPhone X и Galaxy Note 8. Однако для достижения такого результата «Гуглу» пришлось создать собственный NPU.
Поскольку в Pixel 2 используется стандартный процессор Snapdragon 835 от компании Qualcomm, добавить к нему собственный NPU было бы непросто. Тем более, что у Qualcomm уже есть Hexagon DSP, выполняющий аналогичную задачу. Кроме того, поскольку процессор Snapdragon 835 использует в своих флагманских моделях большинство производителей смартфонов, Qualcomm нет никакого резона добавлять специализированные модули к своему процессору лишь для одного производителя. Поэтому Google предпочел разработать собственный NPU, способный работать как в независимом режиме, так и совместно с процессором Qualcomm.

Однако главным достоинством Pixel Visual Core является способность выполнять задачи по МО в пять раз быстрее, чем CPU, используя при этом в 10 раз меньше энергии. Именно благодаря Visual Core смартфон Pixel 2 смог превзойти конкурентов (и собственную предыдущую версию) в создании качественных снимков.

2. Нейронный движок Apple: датчик глубины и Face ID

Решение Apple о внедрении NPU, который компания назвала Neural Engine (нейронный движок), было продиктовано необходимостью. Разрабатывая безрамочный экран для iPhone X, производитель, конечно, осознавал, что при таком раскладе места для сканера отпечатков пальцев Touch ID не останется. И тогда Touch ID решили заменить новой функцией безопасной авторизации — Face ID.
Однако, для того, чтобы система распознавания лиц работала стабильно и надежно, требуется собирать и анализировать огромное количество данных. Всякий раз при разблокировке iPhone X, инфракрасная камера считывает с лица пользователя тридцать тысяч точек, после чего полученная «карта» анализируется Neural Engine для идентификации пользователя.

Face ID — одна из новых возможностей, реализованных с помощью нейронного движка Apple

Двухъядерный модуль Neural Engine обрабатывает информацию в режиме реального времени со скоростью 600 миллиардов операций в секунду. Движок находится внутри ISP, который, в свою очередь является частью «эппловской» системы на кристалле A11 Bionic SoC.

Читать также:  Как поставить обои из iOS 14 на любой iPhone и Android-устройство

Нейронный движок является частью чипа A11 Bionic, которым комплектуют iPhone 8, 8 Plus и X.

Neural Engine помогает реализовывать функцию Face ID и делать более качественные снимки. Так, например, нейронный движок способствует улучшению качества портретной съемки. Вместо двойной линзы, использующейся в основной камере, в случае с фронтальной камерой NPU анализирует информацию, собранную датчиками Face ID, и использует систему TrueDepth для достижения эффекта боке.
Нейронный движок также анализирует различные объекты в процессе съемки, чтобы сжимать изображение, не искажая его. Он даже помогает отслеживать и наводить фокус на объекты для съемки в движении. В общем, Neural Engine делает примерно то же, что и “гугловский” NPU, только движок от Apple еще и встроен в SoC.

NPU от Huawei: всесторонний подход

Компания Huawei попыталась решить с помощью машинного обучения сразу несколько задач.
Фирменный процессор Kirin 970, дебютировавший на моделях Mate 10 и Mate 10 Pro, имеет выделенный NPU, выполняющий ряд функций, в числе которых, например, снижение потребления энергии во время использования технологии дополненной реальности, и мгновенный перевод текста через Microsoft Translate.
NPU от Huawei является частью процессора Kirin 70

И, конечно, как Apple и Google, Huawei вовсю использует свой NPU для улучшения качества фотографий. Машинное обучение применяется в двух случаях: до того, как сделан снимок, и после съемки.
До спуска затвора NPU распознает объекты в режиме реального времени и выставляет соответствующий режим съемки. «Глядя» на картинку на дисплее, нейронный процессор способен распознать 13 режимов. О том, какой вид съемки выбран, сообщит иконка в левом нижнем углу (в режиме Auto).

Далее NPU автоматически выставит оптимальные настройки для предстоящего снимка. А когда снимок уже сделан, автоматически отрегулирует цветность, контрастность, яркость и другие параметры для обеспечения профессионального качества фото.

Huawei стремится к тому, что бы пользователям не приходилось самостоятельно выставлять какие-либо настройки для получения отличных снимков — об этом должен позаботиться нейронный процессор.

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

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