Используйте модель машинного обучения для создания реалистичных изображений на iOS

Знакомы ли вы с веб-страницей «Такого человека не существует»?
Когда вы посещаете эту страницу, вы увидите портреты высокого качества.



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

Эта статья покажет вам, как использовать StyleGAN на iOS для простого создания реалистичных портретных изображений.

Сверхмощная генерация изображений, но можно ли ее использовать на iOS? .. ..

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

Однако, хотя StyleGAN — это технология, анонсированная в конце 2010-х годов, я не видел много случаев, когда ее можно было бы использовать на iOS (насколько мне известно).
Есть способ запустить ее на веб-сервере. , но если его можно запустить на устройстве, он не требует подключения к сети и работает быстро. Я предполагаю, что узким местом было….
・StyleGAN модель была слишком большой и

・ Структура казалась сложной

Появился MobileStyleGAN

В 2021 году был представлен MobileStyle GAN, более легкий для мобильных устройств.



Эту модель можно легко преобразовать в формат CoreML и использовать на iOS.
Легкий размер 38 МБ (до квантования), для генерации требуется всего около 1 секунды.
Если это так, я думаю, что это может использоваться на iPhone.

Конкретный метод

1. Получить модель

План A:

Модель CoreML можно получить, запустив скрипт экспорта CoreML в репозитории MobileStyleGAN.
На выходе получается многомерный массив (1024 * 1024 ML MultiArray).

План Б:

Преобразованную модель MobileStyle GAN CoreML можно загрузить с сайта CoreML-Models (Model Zoo).
Результатом является изображение (1024 * 1024 CVPixelBuffer).



2. Генерация изображения

Запустите модель в Swift

MobileStyleGAN состоит из двух сетей: сети сопоставления и сети синтеза.
Создайте случайное начальное число [1, 512] и передайте его в сеть сопоставления.
Передайте выходные данные сети сопоставления в сеть синтеза.

Создайте изображение с помощью примера проекта Xcode

Вы также можете попробовать пример проекта для использования MobileStyleGAN на iOS.



Вот простой пример, чтобы выбрать изображение из библиотеки фотографий и запустить модель.
Вы можете клонировать и из Github и строить. Нажмите кнопку, чтобы создать изображение лица. Он будет сгенерирован примерно за 1 секунду на изображение.

Интересные приложения могут быть созданы вами

Поскольку изображение генерируется из 512 случайных начальных чисел, я думаю, что вы можете создать изображение с шаблоном примерно 3 * 10 в 1000-й степени (правильно ли это?).

🐣

Я инженер-фрилансер.
Консультация по работе
Пожалуйста, не стесняйтесь обращаться к нам с кратким описанием разработки.
[email protected]

Я делаю приложение, использующее Core ML и ARKit.
Мы отправляем информацию, связанную с машинным обучением и дополненной реальностью.

Гитхаб

Твиттер
Средний

Спасибо.