GradCit — AI фоторедактор

Всем привет! Меня зовут Монастырев Виталий. В статье расскажу про разработку и развитие фоторедактора GradCit. Приложение умеет перерисовывать участки фото по запросу, заменять небо и задний фон, редактировать черты лица и многое другое.

GradCit — AI фоторедактор

Идея и разработка

Для начала пара слов о себе. Я уже достаточно давно занимаюсь программированием, закончил по этому направлению магистратуру и сейчас обучаюсь в аспирантуре. Параллельно работаю в крупной компании Data-инженером. В свободное время занимаюсь своим хобби — написанием приложения, о котором сегодня расскажу.

Изначально у меня была идея создания какого-нибудь простого приложения, которое можно было бы сделать самостоятельно и получить новый опыт в области мобильной разработки. Ежедневно большинство из нас делает множество фотографий на свои смартфоны. Часто такие фотографии нам хочется отредактировать, добавить фильтр, удалить ненужные предметы и прочее. Мне стало интересно попробовать реализовать собственный фоторедактор.

Сейчас существуют различные инструменты, которые позволяют писать мобильные приложения сразу для iOS и Android. Но я часто замечал, что такие приложения подтормаживают во время использования. Также мне показалось, что для нативных языков существует намного больше руководств и обучающих материалов. Поскольку я пользуюсь iPhone, то в качестве языка для создания приложения был выбран Swift.

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

На создание первой бета-версии для iPhone ушло около 6 месяцев, так как приходилось параллельно изучать новые инструменты. Для поиска ошибок и багов были использованы возможности TestFlight. Через TestFlight можно рассылать бета-версии пользователям, которые участвуют в тестировании и получать обратную связь. Первая бета-версия стала доступна в конце 2019 года.

После релиза версии для iPhone я занялся адаптацией приложения для iPad. На это ушло около 3 месяцев, поскольку нужно было адаптировать интерфейс под перевороты экрана, режим многозадачности и многое другое. Когда версия под iPad была выпущена, то еще около 3 месяцев ушло на адаптацию под Mac при помощи фреймворка Mac Catalyst от Apple.

В итоге GradCit в данный момент доступен на 3 платформах iPhone (от iOS 11 и выше), iPad (от iPadOS 11 и выше) и Mac (от macOS 10.15 и выше). Дальнейшая поддержка актуальности всех 3 версий достаточно проста и упирается в основном в адаптацию интерфейса, не затрагивая основной функционал логики работы. На текущий момент развитием приложения занимаюсь я и мой хороший друг Антон Сердюков. Я занимаюсь разработкой клиентской части, backend-ом и добавлением новых ML-алгоритмов. Антон занимается администрацией серверов, настройкой бэкапов и нашим сайтом-визиткой.

Функционал

Приложение можно разделить на 2 основные части — непосредственно фоторедактор и социальная часть. Постараюсь описать ключевые особенности каждой из частей.

ИИ маска. Она же генеративная заливка. Позволяет выделять объект на фото и вручную прописывать желаемый результат. Например, выделили белую футболку на фото и написали в запросе «Black T-shirt». В итоге получим фотографию с черной футболкой. К недостаткам стоит отнести то, что запрос пока поддерживается только на английском языке. Немного примеров работы ИИ маски на видео ниже.

Пример работы ИИ маски

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

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

Замена фона. При помощи нейронной сети на изображении выявляется главный объект съемки (например, человек на портретном фото). Далее выбираем фон, можно в качестве фона выбрать любое фото из библиотеки. К минусам стоит отнести то, что объект не всегда выделяется корректно.

Редактор лица. На текущий момент позволяет регулировать размеры глаз, губ и носа. В дальнейшем планируется добавить изменение цвета волос, отбеливание зубов и прочие дополнительные параметры. Функция поддерживает редактирование до 10 лиц на одном фото.

Пример работы редактора лица

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

Пример добавления стикеров

HLS, фильтры, рамки, рисование и т. д. Помимо описанных выше функций, которые во всю используют возможности нейросетей, в приложении доступен и более стандартный функционал любого фоторедактора. Это огромное множество LUT-фильтров, фильтров старой пленки, рамок, возможности рисования поверх фото и многое другое.

Теперь пару слов о социальной части приложения.

Отметка фотографий на карте. Отметить фото на карте можно по желанию при публикации. Для таких фото доступен режим AR: в режиме компаса будет показано направление и расстояние до места съемки выбранного фото.

Карта с отметками пользователей
Карта с отметками пользователей

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

Профиль
Профиль

Поиск пользователей и хештегов. Можно найти пользователя по никнейму, либо список фотографий и текстовых записей по хештегу.

Страница поиска
Страница поиска

Лента. Имеет 3 вкладки: новое, топ и подписки. В новое попадают все фото от всех пользователей, которые набрали минимальный рейтинг. В топ попадают фотографии, которые набрали наибольшее количество положительных оценок за последнее время. В подписках доступны фотографии и записи людей, на которых вы подписались.

Лента приложения
Лента приложения

Монетизация и дальнейшее развитие

Изначальный функционал не был достаточно обширным, поэтому приложение распространялось бесплатно. Со временем стали появляться функции, которые потребовали аренды сервера с достаточно мощной видеокартой. Для того, чтобы окупать аренду сервера, была введена Premium подписка. Подписка дает полный доступ ко всем функциям приложения, пользователи без подписки не могут использовать часть инструментов редактора. Были проанализированы похожие приложения и установлена стоимость в 199 рублей в месяц, либо 1190 рублей в год. Для новых пользователей доступен пробный период в 3 бесплатных дня, чтобы попробовать весь доступный функционал.

С момента релиза приложения в нем зарегистрировалось почти 2500 человек. Большая часть из них нашла приложение через поиск в AppStore. Для привлечения новых пользователей тестировалась реклама в Telegram и VK, но это были совсем небольшие бюджеты и в среднем мы привлекли около 100-200 пользователей через рекламу.

В дальнейшем планируется добавление новых функций в редактор, в более далекой перспективе — поддержка редактирования видео. И небольшой подарок тем, кто дочитал до конца. По промокоду VC2023 вы можете получить Premium доступ на месяц бесплатно (можно активировать с iPhone или iPad). За развитием проекта можно следить в группе ВКонтакте, либо в Telegram.

Буду рад любым комментариям и пожеланиям!

1010
10 комментариев

С момента релиза приложения в нем зарегистрировалось почти 2500 человек. - но ведь это не так много

1
Ответить

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

1
Ответить

сейчас обучаюсь в аспирантуре. Параллельно работаю в крупной компании Data-инженером

недурно не для бизнесмена

1
Ответить

Интересная разработка, упростит жизнь многим фотографам

1
Ответить

А для андроид нет приложения?

1
Ответить

К сожалению, пока нет

Ответить

прикольно
Были проанализированы похожие приложения и установлена стоимость в 199 рублей в месяц, либо 1190 рублей в год.но так вы косты не отобьете

1
Ответить