Ностальгия практически всегда приходит внезапно, и ты с теплотой и улыбкой на лице вспоминаешь, как рисовал на полях в тетрадке узоры и маленькие зарисовки, пока учительница объясняла тему урока у доски.
Эти тетради, наполненные эмоциями и знаниями (всё-таки, примеры приходилось писать тоже), хранят в себе очень много памятной информации. Но, к сожалению, они не бесконечные…
Поэтому мной было принято решение продолжить эту прекрасную традицию и дополнить свою коллекцию фотографий рисунков на полях новыми изображениями в том же стиле, который поможет создать генеративная нейросеть после обучения.


Выборка из фотографий, загруженных в датасет
Загруженный датасет состоит из 40 изображений различных паттернов и геометрических рисунков на бумаге.
Ключевыми особенностями фотографий датасета является тетрадный фон в клеточку (иногда с красными полями), а также использование ручки с синими, чёрными или красными чернилами. Кроме того, часто на фотографиях присутствуют переосветлённые участки и неоднородный цвет фона.
Как характеристику серии, хочется также отметить не идеальность линий, дрожащий штрих и выход за границы клеток. Всё это я хотела видеть и в итоговых сгенерированных изображениях, чтобы сохранить нужную атмосферу.
Результаты
Итоговая серия изображений состоит из фотографий тетрадных листов в клетку, на которых нарисованы узоры, линии, геометрические фигуры. Материалом для рисования является ручка с синей, красной или же чёрной пастой.
Дополнительная характеристика изображений: они сделаны камеру телефона со вспышкой.


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




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


Результаты полностью соответствуют задуманной идее в смысловом ключе, так как общая атмосфера считывается сразу.
Однако созданная модель также имеет и недостатки, например, маленькое количество деталей, менее точные паттерны и узоры.
Предполагается, что эту проблему можно устранить в будущем, если датасет пополнится ещё большим количеством изображений, и в конечном итоге их будет порядка сотни или двух сотен.
Кроме того, можно также попробовать обучить модель на конкретном рисунке, повторённом множество раз. Но в своём проекте я хотела передать именно уникальность каждого школьного скетча, поэтому в загруженном датасете имелись совершенно разные узоры.
Чтобы улучшить качество генераций, мной были проведены эксперименты по формулировке промпта (от более лаконичных и коротких, до максимально подробных, насколько позволяла модель).
Оригинальные фотографии, перед загрузкой в датасет, были слегка обработаны в программе Photoshop, чтобы визуально между ними было больше сходств. Например, тон и светлота фона, контраст, оттенок синего цвета.
Первая попытка создания модели стала неудачной как раз из-за отсутствия этой обработки, и итоговые генерации получались слишком неоднородными и ужасными по качеству.
После внесения правок, а также добавления большего количества изображений ситуация значительно улучшилась, и нейросеть обработала исходные данные гораздо лучше.
Первая попытка. Очень тёмные генерации с кривой сеткой и заливкой.
Получившиеся изображения, я условно разделила на три категории по их виду.
Изображения, нарисованные чёрной ручкой. более графичные и детальные.
Изображения, нарисованные цветными карандашами или более мягкими инструментами (датасет содержал также несколько фотографий рисунков, сделанные карандашами). Генерации получились очень мягкими и воздушными, с плавными переходами и более толстыми линиями.
Изображения, нарисованные синей и красной ручкой. Они получились более запутанными и интересными для разглядывания. Красный цвет на таких изображениях очень яркий, и практически сияет.
Изображения, нарисованные чёрной ручной
Изображения, нарисованные цветными карандашами
Изображения, нарисованные красной и синей ручкой
Код
Для начала работы загружаю библиотеки и скрипты. А также проверяю, какая видеокарта сейчас используется.
Вторым шагом я создаю папки для будущего датасета и загружаю туда выбранные фотографии.
Теперь этап создания идентификатора токена для концепции. Он будет использоваться в каждом промпте, как префикс для создания изображения и фиксирования моего стиля.
Мой caption prefix звучит так: «hand-drawn pattern in VIKADATASERT style», поскольку я хочу, чтобы на моём изображении угадывался паттерн, нарисованный от руки.
Далее я освобождаю память, чтобы последующая тренировка проходила быстрее, и подготавливаю код к тренировке, а также вхожу в аккаунт Hugging Face, вводя свой токен.
Начинаю тренировку модели на основе датасета. Выбираю нужные мне параметры. Например, качество моих изображений будет — 1024×1024 пикселя, тренировка проводится в 1000 шагов с чекпоинтами через каждые 500 из них.
После завершения тренировки сохраняю модель и приступаю к генерации.
Вот один из промптов, что я использовала: «hand-drawn pattern in VIKADATASERT style, geometric drawing on grid paper, 3 large circles in the middle of a image, blue and red ink.
Я меняла их, чтобы посмотреть работоспособность модели и пробовала разные формулировки, чтобы узнать, какая из них наиболее чётко сможет воспроизвести то, что я задумала.
Также отдельно я прописала код, который поможет мне вернутся к генерации изображений спустя время, с помощью загрузки чекпоинта.
Кроме того, мной были использованы иные модели искусственного интеллекта. Например, Leonardo AI для генерации изображения для обложки проекта.
Промпт звучит так (была использована функция Magic prompt): «A close-up of a school desk with a green notebook with white, squared pages resting on it. The notebook is filled with drawings in blue pen—patterns, geometric shapes, and diagonals. A student in a school uniform sits at the desk drawing in the notebook».












