Мелкие радости нейросети... Опыты. Метаморфозы микса #1
Автор: Zuki Zu.
Один из способов генерации изображений, понятных любому — смешивание. В kandinsky 2.2 (телеграм-бот) это возможно двумя способами: смешать вместе картинку с текстом — или же две картинки. Вот про этот последний «метод двух картинок» и хочется поговорить.
Казалось бы, он такой простой — в чем может быть засада?
На первый взгляд, здесь все понятно: берешь картинки, складываешь в блендер формируешь запрос, ждешь у моря погоды, видишь результат... Но хочется хоть немного управлять процессом, а всё здесь — одна сплошная случайность... Ведь что-то будет, если к этой картинке добавить другую? А если случайно поменять порядок загрузки, сама сумма изменится? Или это совсем не повлияет? А если намешать много-много всего, что получится? Можно ли вообще угадать результат?
Все ли «образы» равны для машинного разума — или некоторые все равно «ровнее»? Влияет ли на выбор цвет и стиль? Крупный план? Степень детализации изображения?
Для обычных, случайных изображений прогнозировать варианты сложно. Но можно же провести чистый лабораторный опыт, с заранее известными ингредиентами? И воспользоваться самым бесхитростным из способов исследования: намешать разного — а потом посмотреть, что взорвется...
Почувствуй себя юным алхимиком!
Исходные ингридиенты
А.1(1). Генерация по тексту
Сидит кошка на окошке, щурит желтые глазищи, акварель
Стиль — аниме
Соотношение сторон — 1:1
Число генерации (условных циклов) — 1
Кошечка в окошке... Ну да, странноватая: стекло игнорирует, сама предпочитает смотреть со стороны улицы, с лапкой и рамой чуть проблемы — но ведь нормально нарисовано!
Плоский рисунок с цветной заливкой. Детализация небольшая. Реалистичность условная. Цвета - оттенки желто-оранжевого, оттенки синего.
Х(10). Очень сложносочиненная хрень неизвестного пока состава (хотя со временем его можно будет воссоздать).
Старые данные о материях и материалах, использованых в предыдущих генерациях: земля, небо, солнце, деревья, цветы, скалы, камень, лабрадорит, стекло, металл... внутри намешано очень много осколков!
Число генерации (условных циклов) — много, но для простоты обозначения принимаем равным 10
Стиль — без стиля
Соотношение сторон — 1:1
Текущее изображение: городской пейзаж с высотной застройкой и небольшой степенью детализации, характерный для современности или условного ближайшего будущего. Явно выражены два плана по глубине и вертикальные членения объемов. На рисунке опознаются солнце (луна), металл, стекло, лабрадорит, в нижней части — условная растительность.
Проявление в последующем поколении: вертикальные линии, часто металлические, признаки стекла, витража, мозаики и т.п., иногда — следы растительности.
Цвет: оттенки от светло-голубого до темно-синего.
Х1(21). Смешивание картинок: Х(10) +Х(10)
Витраж с размытым рисунком. Небо, городская застройка, местами - следы растительных мотивов. Металлические направляющие, свободные линии. Цвет - от светло-голубого до темно-синего.
Х2(32). Смешивание картинок: Х(21) +Х(10)
Витраж с условным рисунком. Небо. Металлические направляющие, свободные линии. Цвет - от светло-голубого до темно-синего. Детализация падает.
Х2(43). Смешивание картинок: Х(32) +Х(10)
Витраж с очень условным рисунком, в основном однотонный. Небо. Металлические направляющие, свободные линии. Цвет - от ярко-голубого до ярко-синего. Детализация снова падает.
Х2(54). Смешивание картинок: Х(43) +Х(10)
Витраж без рисунка, почти однотонный. Металлические направляющие, свободные линии. Цвет - ярко-голубой, ярко-синий. Детализация почти нет, изображение практически выродилось.
1а.
Б2.1(3). Смешивание картинок: А.1(1)+А.1(1)
Стиль — аниме
Соотношение сторон — 1:1
Проф.режим. Вес картинок — 0,5:0,5 (стандартный режим)
Число генерации (условных циклов) — 1+1(от исходников) +1(собственный цикл) =3
Кошачести стало больше! По цвету — близко к исходному.
Б2.2(3). Смешивание картинок: А.1(1)+А.1(1)
Стиль — аниме
Соотношение сторон — 1:1
Проф.режим. Вес картинок — 0,5:0,5 (стандартный режим)
Число генерации (условных циклов) — 3
Кошачести стало больше! По цвету — очень близко к исходному.
Б2.3(3). Смешивание картинок: А.1(1)+А.1(1)
Стиль — аниме
Соотношение сторон — 2:3
Проф.режим. Вес картинок — 0,5:0,5 (стандартный режим)
Число генерации (условных циклов) — 3
Детализация выросла, линии стали четче. Кошачести тоже прибавилось, фигура в листе увеличилась (возможно, из-за нового формата листа)! По цвету — ушло в желтый, синего почти нет.
1б.
Б2.4(5) Смешивание картинок: Б2.1(3)+А.1(1)
Стиль — аниме
Соотношение сторон — 1:1
Проф.режим. Вес картинок — 0,7:0,3
Число генерации (условных циклов) — 3+1(от исходников) +1(собственный цикл) =5
Кошатести много. Детализации прибавилось. По цвету - ушло в желтый/светлый, вообще без темных элементов. За спиной появились радужные крылья?
Б2.5(5). Смешивание картинок: Б2.1(3)+А.1(1)
Стиль — аниме
Соотношение сторон — 1:1
Проф.режим. Вес картинок — 0,5:0,5 (стандартный режим)
Число генерации (условных циклов) — 5
Кошатине с радужными ушками хорошо. Детализации прибавилось. По цвету ушло в желто-оранжевый.
Б2.6(5). Смешивание картинок: Б2.1(3)+А.1(1)
Стиль — аниме
Соотношение сторон — 1:1
Проф.режим. Вес картинок — 0,3:0,7
Число генерации (условных циклов) — 5
Кошка поплотнее, с оранжевыми глазами. Детализации прибавилось. Цвет - желто-оранжевый с включениями ярко-голубого.
Б2.7(7). Смешивание картинок: Б2.1(3)+Б2.1(3)
Стиль — аниме
Соотношение сторон — 1:1
Проф.режим. Вес картинок — 0,5:0,5 (стандартный режим)
Число генерации (условных циклов) — 3+3(от исходников) +1(собственный цикл) =7
Кошка еще плотнее, с оранжевыми глазами и животом. Детализации прибавилось. Цвет - желто-оранжевый с небольшими включениями ярко-голубого, солнечная засветка.
2а.
Б2.8(12). Смешивание картинок: А.1(1)+Х(10)
Стиль — графика с цветом, близко к аниме
Соотношение сторон — 1:1
Проф.режим. Вес картинок — 0,7:0,3
Число генерации (условных циклов) - 1+10(от исходного) +1(собственный цикл) =12
Кошка... сквозь окошко! Можно выделить фрагменты витража.
Б2.9(12). Смешивание картинок: А.1(1)+Х(10)
Стиль — графика с цветом
Соотношение сторон — 1:1
Проф.режим. Вес картинок — 0,5:0,5 (стандартный режим)
Число генерации (условных циклов) — 12
Витраж с размытым рисунком.
Б2.10(12). Смешивание картинок: А.1(1)+Х(10)
Стиль — графика с цветом
Соотношение сторон — 1:1
Проф.режим. Вес картинок — 0,3:0,7
Число генерации (условных циклов) - 12
Витраж с размытым рисунком на фоне городской застройки.
2б.
Б2.11(12). Смешивание картинок: Х(10)+А.1(1)
Стиль — графика с цветом
Соотношение сторон — 1:1
Проф.режим. Вес картинок — 0,7:0,3
Число генерации (условных циклов) — 1+10(от исходного) +1(собственный цикл) =12
Витраж с размытым рисунком.
Б2.12(12). Смешивание картинок: Х(10)+А.1(1)
Стиль — графика с цветом
Соотношение сторон — 1:1
Проф.режим. Вес картинок — 0,5:0,5 (стандартный режим)
Число генерации (условных циклов) — 12
Витраж с условными городскими мотивами.
Б2.13(12). Смешивание картинок: Х(10)+А.1(1)
Стиль — графика с цветом, близко к аниме
Соотношение сторон — 1:1
Проф.режим. Вес картинок — 0,3:0,7
Число генерации (условных циклов) — 12
Кошка на окошке. Интересно поделился цвет.
3а.
Б2.14(14). Смешивание картинок: Б2.3(3)+Х(10)
Стиль — графика с цветом, близко к аниме
Соотношение сторон — 1:1
Проф.режим. Вес картинок — 0,7:0,3
Число генерации (условных циклов) — 3+10(от исходников) +1(собственный цикл) =14
Условный витраж с белой голубоглазой кошкой.
Б2.15(14). Смешивание картинок: Б2.3(3)+Х(10)
Стиль — графика с цветом, близко к мультяшному
Соотношение сторон — 1:1
Проф.режим. Вес картинок — 0,5:0,5 (стандартный режим)
Число генерации (условных циклов) — 14
Витраж с симпатичной кошатиной под деревом.
Б2.16(14). Смешивание картинок: Б2.3(3)+Х(10)
Стиль — графика с цветом
Соотношение сторон — 1:1
Проф.режим. Вес картинок — 0,3:0,7
Число генерации (условных циклов) - 14
Витраж с растительными мотивами.
3б.
Б2.17(16). Смешивание картинок: Б2.4(5)+Х(10)
Стиль — аниме
Соотношение сторон — 1:1
Проф.режим. Вес картинок — 0,5:0,5 (стандартный режим)
Число генерации (условных циклов) — 16
Витраж с очень условными городскими мотивами.
Б2.18(16). Смешивание картинок: Б2.5(5)+Х(10)
Стиль — графика с цветом
Соотношение сторон — 1:1
Проф.режим. Вес картинок — 0,5:0,5 (стандартный режим)
Число генерации (условных циклов) — 16
Витраж с очень условными растительными мотивами.
Б2.19(16). Смешивание картинок: Б2.5(5)+Х(10)
Стиль — графика с цветом
Соотношение сторон — 1:1
Проф.режим. Вес картинок — 0,5:0,5 (стандартный режим)
Число генерации (условных циклов) — 16
Витраж с городскими мотивами.
Б2.20(16). Смешивание картинок: Б2.6(5)+Х(10)
Стиль — графика с цветом
Соотношение сторон — 1:1
Проф.режим. Вес картинок — 0,5:0,5 (стандартный режим)
Число генерации (условных циклов) - 16
Витраж с городскими мотивами. И синяя птица откуда-то...
Б2.21(18). Смешивание картинок: Б2.7(7)+Х(10)
Стиль — графика с цветом
Соотношение сторон — 1:1
Проф.режим. Вес картинок — 0,5:0,5 (стандартный режим)
Число генерации (условных циклов) — 18
Витраж с растительными мотивами.
3в.
Б2.22(18). Смешивание картинок: Б2.4(5)+Б2.9(12)
Стиль — графика с цветом
Соотношение сторон — 1:1
Проф.режим. Вес картинок — 0,5:0,5 (стандартный режим)
Число генерации (условных циклов) — 18
Просто веселый кот. На окне.
Б2.23(18). Смешивание картинок: Б2.5(5)+Б2.9(12)
Стиль — графика с цветом
Соотношение сторон — 1:1
Проф.режим. Вес картинок — 0,5:0,5 (стандартный режим)
Число генерации (условных циклов) — 18
Кот-наблюдатель на посту... на окне.
Б2.24(18). Смешивание картинок: Б2.6(5)+Б2.9(12)
Стиль — графика с цветом
Соотношение сторон — 1:1
Проф.режим. Вес картинок — 0,5:0,5 (стандартный режим)
Число генерации (условных циклов) — 18
Окно в мир. И очень недовольный этим миром кот...
Б2.25(20). Смешивание картинок: Б2.7(7)+Б2.9(12)
Стиль — графика с цветом
Соотношение сторон — 1:1
Проф.режим. Вес картинок — 0,5:0,5 (стандартный режим)
Число генерации (условных циклов) — 20
Кошка на окошке? Кошка — на охоте!
Б2.26(20). Смешивание картинок: Б2.9(12)+Б2.7(7)
Стиль — графика с цветом
Соотношение сторон — 1:1
Проф.режим. Вес картинок — 0,5:0,5 (стандартный режим)
Число генерации (условных циклов) — 20
Сильно напоминает витраж. На окне — растение с буйными листьями, а коты удалились перекусить...
Для исследования брались два максимально далекие друг от друга изображения: по цвету, фактуре, содержанию, стилю... Так будет легче отследить степень влияния каждого из них на общий результат.
Выбор данного модификатора — исключительно на совести автора исследования. А мне нравятся витражи!
*
Стандартный режим генерации - участие в результате двух изображений в равной степени: по умолчанию принимаются веса от каждого - 0,5:0,5. В телеграм-боте можно включить профессиональный режим и дополнительно иметь ещё две возможности - с весами 0,7:0,3 и 0,3:0,7. Две последние опорные точки получаются, если смешать исходные картинки с самими собой с равными весами (стандартный режим).
*
О порядке перечисления
Этапы 1а и 1б. Повышаем концентрацию исходного состава и его производных (первое, второе и третье поколения). Оно понадобится для наглядности. Концентрация обозначается значением в скобках после названия состава — ЧГ (число генерации, или количество условных циклов генерации). Собственное ЧГ изображения рассчитывается как сумма ЧГ от исходных картинок плюс собственный цикл текущего запроса. Пользуемся стандартным режимом.
Этапы 2а и 2б. В первом случае к исходному изображению дозированно добавляем модификатор, во втором — меняем порядок загрузки этих же изображений. Пользуемся профессиональным режимом.
Этапы 3а, 3б и 3в. В первом случае смешиваем концентрат одного исходного изображения (первое поколение) с модификатором в профессиональном режиме, с заданными весами. Во втором — смешиваем разные концентраты исходного изображения (второго и третьего поколения) с модификатором в стандартном режиме. В последнем, третьем случае — смешиваем разные концентраты исходного изображения (из второго и третьего поколения) с той производной от модификатора и исходного изображения, на которой в исходном опыте кошек не проявилось.
Приношу извинения за странную терминологию, но пока сама понимаю так.
*
Полученные в процессе опытов изображения не подвергались дополнительной обработке.
Практические выводы
1. При разных по стилю и содержанию исходниках есть некоторая зависимость от порядка их загрузки. Предположительно, от первого изображения берется больше формы и содержания, от второго — больше цвета и стиля. Чем ближе между собой исходники, тем меньше отличий в вариантах.
2. Чем больше раз изображение прошло через генерацию, тем выше в нем содержание «осколков» предыдущих исходников. Если исходные изображения были однитипны, то осколки поддерживают «главную идею». Если тематика или стиль разные, то осколки сохраняют какую-то информацию о прежних вариантах, а конечный итог сильно зависит от силы этих «идей».
3. По мере накопления осколков изображение вырождается: теряется глубина и детализация рисунка, пропадает информация о цвете, фактуре, материалах, сам рисунок воспринимается больше графикой.
4. При повторении запроса с теми же исходными данными и в том же порядке загрузки результат будет отличаться.
Самое забавное, что «кошка-на-окошке» — или же «окошко-само-по-себе» — и следы изначальной акварели присутствуют в каждом полученном варианте. Удивительно!
Но в обычной жизни оказалось
всё несколько сложнее.
Как всегда, увы...
(продолжение следует...)