Кубанские Новости
Общество
Анастасия Зинченко

Один из тысячи: или как создать аватар из личных фото

Один из тысячи: или как создать аватар из личных фото
Каждая фотография состоит из множества других изображений.
Фото: Темир Баслиней
Художники и программисты из КубГУ придумали сервис, с помощью которого можно сделать свой уникальный аватар из множества других фотографий.

Сегодня у каждого на личной страничке в социальных сетях можно увидеть множество селфи. Чтобы хоть как-то отличиться, люди корчат рожицы или накладывают фильтры. Художники и программисты из КубГУ пошли дальше. Они придумали программу, при помощи которой можно будет создать уникальное селфи, состоящее из множества других изображений. Руководителями проекта являются Елена Морозкина, заведующая кафедрой декоративно-прикладного искусства и дизайна художественно-графического факультета КубГУ, и Анна Коваленко, заведующая кафедрой анализа данных и искусственного интеллекта факультета компьютерных технологий и прикладной математики КубГУ. Разработчик сервиса, студент КубГУ, Темир Баслиней рассказал нам о работе над созданием проекта.

Работать начали с нуля

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

- Цифровой формат сильно отличается от художественного. Художники и дизайнеры используют свои инструменты для склейки фотографий вручную, тратя на это большое количество времени, чтобы добиться того результата, которого добились мы при помощи алгоритма, - объяснил Темир.

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

- Мы начали с нуля. То есть, у нас был заказ и чистый лист, на котором мы и начали все отстраивать. Сама идея – не новая. Раньше, до изобретения компьютеров, это все тоже делали из живых портретов и фотографий, склеивали их вместе. Сейчас это все переросло в цифровой вид, - рассказал программист.

Создаем свой аватар из личных фото

Для того чтобы создать свой аватар, нужно зайти на сайт и зарегистрироваться. После входа в учетную запись на главном окне пользователь увидит два поля для ввода: одно – изображение, куда необходимо загрузить свое фото, другое поле – ссылка на библиотеку. После того, как вы отправили свое фото и загрузили библиотеку, система начинает моделировать из множества имеющихся в «библиотеке» изображений ваше фото.

- Логика сайта завязана таким образом. Мы ловим изображение на бэкенде. Эта фотография у нас записывается как набор чисел, поскольку нет смысла хранить изображение, как изображение. У нас есть множество чисел, мы их анализируем, смотрим, какие цвета нам надо выделить. У нас есть изображение, оно делится на четыре части. Каждая часть делится еще на четыре части и так до тех пор, пока разница цветов в этих частях не будет минимальна, либо достигнуто максимальное число делений. На данный момент изображение разделяется на 100 тысяч частей, а в более лучшем качестве – это 250 тысяч частей, - объяснил Темир.

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

Анализ оттенков – это важно

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

- Я будто бы сам художник и обучаю ребенка рисованию. Я объясняю ему, куда вести линию, куда вставить изображение, задаю параметры. Сам алгоритм был очень тяжелым на понимание. Обработку первых изображений, я ожидал 40 минут. Это было очень долго и интригующе, потому что результата я долго не видел, - поделился Темир.

Разработчику пришлось попробовать себя и в роли художника, работая над анализом оттенков – одной из важнейших частей проекта. Дело в том, что изображение, которое загружает пользователь, состоит из пикселей, имеющих свой цвет. В среднем изображение состоит из 1280 на 720 пикселей. Это огромное число и нужно анализировать.

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

А дальше – в космос!

В будущем уклон проекта будет в сторону космоса. Теперь в игру ступят художники, отвечающие за эстетическую часть проекта. От них программист ждет базу портретов преподавателей, университета, обсерватории, изображений космоса. При помощи сервиса будет построена мозаика для обсерватории КубГУ с изображениями космоса.

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

- Мы будет давать ей изображения, базу фотографий. Из них она должна будет сделать какое-то цельное изображение. Вот только человек оценивать работу нейросети не может, это сложно. Глупо даже тратить на это время и силы. Для этого нужны уже готовые, четко выстроенные алгоритмы, которые будут параллельно создавать такое же изображение. Если нейросеть будет делать сильно хуже, то будет ругаться. Если она будет делать что-то похожее на то, что вывел алгоритм, то будет поощряться, - объяснил Темир.