Image

Как убрать жёлтый оттенок у картинок, сгенерированных в ChatGPT

Открытый в конце ноября 2022 года ChatGPT вскоре перестал быть сервисом только для создания текстов. Ещё 19 октября 2023 в платные тарифы добавили DALL·E 3. 8 августа 2024 года OpenAI расщедрилась: отныне можно было создавать до двух картинок в сутки на бесплатном тарифе ChatGPT. Важно, что это был просто союз с большой языковой моделью: БЯМ переводит нестройную человеческую просьбу в детальный бриф промпта для графического бэкэнда — генеративной нейросети на диффузионных декодерах.

25 марта компания OpenAI объявила, что отныне модель GPT-4o может генерировать картинки. БЯМ способна не только создать новое изображение с нуля по текстовому описанию, но и принять на входе другую картинку с текстовым промптом и сгенерировать что-то на этой основе. Теперь картинки рисовала не чистая диффузия, а авторегрессионный трансформер в связке с мощным декодером, качество поднялось, практическая польза резко выросла.

Одна из картинок, которой OpenAI решила проиллюстрировать работу новой модели. Промпт: «Непостановочный снимок в стиле папарацци: Карл Маркс спешно идёт по парковке торгового центра Mall of America, оглядываясь через плечо с ошеломлённым выражением, пытаясь избежать съёмки. Он прижимает к себе несколько блестящих сумок бутиков, наполненных предметами роскоши. Его пальто развевается на ветру, а один из пакетов раскачивается, будто он в середине шага. Размытый фон с машинами и сияющим входом в торговый центр подчёркивают движение. Блик от вспышки частично пересвечивает кадр, придавая ему хаотичное, таблоидное настроение».
Одна из картинок, которой OpenAI решила проиллюстрировать работу новой модели. Промпт: «Непостановочный снимок в стиле папарацци: Карл Маркс спешно идёт по парковке торгового центра Mall of America, оглядываясь через плечо с ошеломлённым выражением, пытаясь избежать съёмки. Он прижимает к себе несколько блестящих сумок бутиков, наполненных предметами роскоши. Его пальто развевается на ветру, а один из пакетов раскачивается, будто он в середине шага. Размытый фон с машинами и сияющим входом в торговый центр подчёркивают движение. Блик от вспышки частично пересвечивает кадр, придавая ему хаотичное, таблоидное настроение».

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

Если подытожить всю статью сразу: не платите никому денег, просто запустите magick «image.png» -separate -contrast-stretch 0.5%x0.5% -combine «output.png», воспользуйтесь одним из бесплатных онлайн-инструментов по типу Yellow Tint Cleaner или сделайте автобаланс белого в GIMP. Но давайте хотя бы разок проговорим, что тут происходит.

Эффекты и причины

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

Спорно, проявляется ли излишняя желтизна всегда или в редких случаях её нет. Одно ясно точно: промптами проблему не решить. Как сообщают реддиторы, не помогает добавление никаких фраз: ни «без фильтра сепии», ни «естественные цвета», ни даже указание кода цвета для конкретных объектов на изображении. Бесполезно также расспрашивать ChatGPT, почему у изображения такой оттенок или просить БЯМ написать промпт, который не будет давать этого эффекта.

Вот та же фотография Маркса от папарацци c автобалансом белого.

c12218e0bb0d6b3ac92f8abe0a31a650

Для сравнения: ниже представлена анимация с комбинацией исходного и нового изображений. Картинка пожата в GIF, поэтому градиенты цветов здесь выглядят чуть похуже из-за артефактов сжатия, но разница в общем оттенке очевидна.

5296c386604c8c143edbe64a245a2e4c

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

Вскоре после того, как GPT-4o научилась рисовать, желтоватый оттенок начали использовать в качестве простого маркера картинок от ИИ. Весь Интернет заметил наплыв рисунков с характерной тёплой цветовой гаммой, часто выраженной в избытке. Как и любой арт от ИИ, который повторяется и похож, оранжево-желтые картинки начали слегка выбешивать.

Называют эффект по-разному. В энциклопедии интернет-культуры Know Your Meme собрано много примеров: «piss tint» («оттенок ссанины»), «сепия», «yellow bias» («склонность к желтизне») и так далее.

Несколько вирусных твитов про эффект. Know Your Meme
Несколько вирусных твитов про эффект. Know Your Meme

Желтизна характерна только для GPT-4o. Не удаётся найти схожего потока жалоб на подобный эффект у других систем генерации изображений. При этом объяснения со стороны OpenAI отсутствуют — будто и нет ничего, будто так и должно быть. А может, разработчики компании и сами не могут понять, что у них получились?

Сторонние исследователи тоже разводят руками. Типичный пример — это препринт статьи про бенчмарк GPT-ImgEval, где оценивается производительность GPT-4o в вопросе генерации изображений (arXiv:2504.02782). Среди прочего вскользь упоминается эта самая желтизна. Её авторы предлагают считать за цветовую предвзятость БЯМ.

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

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

Промпт в неизвестную версию Ideogram (по дате публикации возможно, что либо 0.1, либо 1.0). Fitto DataLab
Промпт в неизвестную версию Ideogram (по дате публикации возможно, что либо 0.1, либо 1.0). Fitto DataLab

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

«Пианист играет на пианино» и «девочка играет в баскетбол» в исполнении Midjourney (скорее всего V6, менее вероятно, что V5.2). Fitto DataLab
«Пианист играет на пианино» и «девочка играет в баскетбол» в исполнении Midjourney (скорее всего V6, менее вероятно, что V5.2). Fitto DataLab

Сайты, которые убирают желтизну

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

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

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

Основная задача сервисов по фиксу картинки — вернуть нейтральную опорную точку и восстановить нормальный тональный диапазон без паразитной теплоты. Важно также не тупо задирать синий, а соблюсти разумный баланс. Иначе белый начнёт голубить, кожа — сереть, а тени будут отдавать маджентой.

Типичный пример таких сайтов — UnYellowGPT. Вообще-то сервис платный: на странице тарифов указано, что за $4  можно купить обработку 100 картинок, за $12 — сразу 800. Новопредставившемуся (регистрация только через аккаунт Google) дают обработать пять картинок бесплатно. Также с платными тарифами результаты обработки и оригиналы хранятся 30 суток, у пользователей, которые не платят, этот срок составляет всего 2 недели.

Образец работы UnYellowGPT
Образец работы UnYellowGPT

UnYellowGPT — интересный инструмент. На странице описания он рекомендует себя как «standalone web tool». Это взаимоисключающие понятия: «standalone» подразумевает, что софт запускается локально, без доступа в Интернет, а «web tool» намекает на обратное.

Другие подобные сайты не просят денег. Сервисы по типу GPT-Tone, UnYellow.app и Fix Yellow Tint в худшем случае содержат ссылку на пожертвования их авторам.

Часто их даже не выносят в отдельный сайт, такой инструмент может быть захощен полностью внутри Hugging Face. Кстати, как признал сам автор UnYellowGPT, он попросту портировал (не без помощи ИИ) упомянутый проект под свои нужды и попробовал подключить биллинг.

Иногда это утилита на Python. Фичу могут встроить в платные генераторы картинок или палитр нейросетями , но функция правки желтизны GPT-4o будет бесплатная. В случае инструмента ИИ-редактора Freepik это лишь одна из многих опций.

Правим самостоятельно

На самом деле быстро пофиксить можно хоть в одну команду в ImageMagick. Для этого он должен быть установлен в системе.

Пользователи Linux и каких-нибудь вариантов BSD могут установить его из пакетного менеджера своего дистрибутива. Будем считать, что мы на Windows, и вместо скачивания с официального сайта мы поставим его через Chocolatey.

Проследуйте инструкциям с chocolatey.org/install#install-step1 и запустите в PowerShell с правами администратора следующее:

Set-ExecutionPolicy AllSignedSet-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString(‘https://community.chocolatey.org/install.ps1’))

После установки Chocolatey будем ставить собственно ImageMagick:

choco install -y imagemagick

Опционально: переменные окружения изменились, не помешало бы их обновить.

refreshenv

Теперь в системе должен работать ImageMagick. Можно проверить его версию:

magick -version

Позднее желательно время от времени запускать choco upgrade -y all.

Наивный подход — просто убрать немного из красного и зелёного каналов, а синий усилить. Руки так и чешутся написать что-то такое:

magick «image.png» -colorspace sRGB -channel R,G -evaluate Multiply 0.97 -channel B -evaluate Multiply 1.05 «output.png»

Лучше не подкручивать каналы на глаз, а нормализовать каждый канал автоматически, чтобы вернуть нейтральную опорную точку без перекоса в синеву.

magick «image.png» -separate -contrast-stretch 0.5%x0.5% -combine «output.png»

Здесь исходная картинка разложена на три однослойные маски красного, зелёного и синего. В каждом из каналов отрезаются 0,5 % самых тёмных и самых светлых пикселей, а оставшийся диапазон растягивается на все возможные значения между 0 и 255. Затем три канала собираются обратно. По сути, так реализуется простенький автобаланс белого.

Вот пример того, что может получиться. Это всё та же картинка с Марксом, которую для усиления желтизны ChatGPT перерисовал в стиле студии «Гибли» — очень пошлый и надоедливый промпт.

907b0a7e3f751bbb1c27238dde6563c4

Так выглядит результат обработки командой выше.

6e09f68361f06532b63dd4efa2e84a1b

Но запоминать никакие команды не хочется. Почему бы не написать один раз небольшой батничек, чтобы потом вызывать его? Следующий скрипт нужно сохранить в текстовый файл с расширением .bat с кодировкой UTF-8 без BOM, а затем перетаскивать файлы или целые папки в него. Предполагается, что в системе установлен ImageMagick. Команда для ImageMagick здесь чуть посложнее, с преобразованием в sRGB и удалением ненужных метаданных.

@echo off REM Надо для циклов и условий. setlocal EnableExtensions REM Должно исправить кодировки. chcp 65001 >nul REM Сколько в процентах усекаем от цветового канала. Чем больше, тем агрессивнее коррекция. set «PCT=0.5» REM Расширения изображений, которые будем обрабатывать. Обычно ChatGPT отдаёт PNG, но мало ли. set «EXTS=.png .jpg .jpeg» REM Ошибка: нет файла. if «%~1″==»» ( echo Ошибка: нет файлов. echo Перетащите на этот файл .bat одно или несколько изображений, либо папку. echo Исправленные файлы будут сохранены рядом с исходниками с суффиксом _unyellow. pause exit /b ) REM Где ImageMagick? where magick >nul 2>nul || ( echo Ошибка: ImageMagick не найден echo https://imagemagick.org/script/download.php#windows pause exit /b ) REM Обработка элементов for %%A in (%*) do ( if exist «%%~fA» ( call :processDir «%%~fA» ) else ( call :processFile «%%~fA» ) ) goto :eof REM Обработка папки :processDir set «root=%~1» echo [Папка] %root% for /R «%root%» %%F in (*.*) do call :processFile «%%~fF» REM Обработка файла :processFile set «in=%~1» if not exist «%in%» goto :eof REM Проверим расширение на вхождение в список допустимых set «ext=%~x1» set «isimg=» for %%E in (%EXTS%) do ( if /I «%%E»==»%ext%» set «isimg=1» ) if not defined isimg ( echo [Пропуск] Не изображение: %in% goto :eof ) REM Построим путь вывода: тот же каталог, суффикс _unyellow перед расширением. set «dir=%~dp1» set «name=%~n1» set «out=%dir%%name%_unyellow%ext%» REM Если имя уже содержит _unyellow, пропустим. if /I not «%name:_unyellow=%»==»%name%» ( echo [Пропуск] Уже обработано: %in% goto :eof ) REM Если файл результата уже существует, пропустим. if exist «%out%» ( echo [Пропуск] Есть файл: %out% goto :eof ) REM Вызов ImageMagick echo [Обработка] Корректирую: %in% magick «%in%» -auto-orient -colorspace sRGB -channel R,G,B -contrast-stretch %PCT%%%x%PCT%%% +channel -strip «%out%» REM Более простой вариант. Раскомментировать, если нужно. REM magick «%in%» -separate -contrast-stretch %PCT%%%x%PCT%%% -combine «%out%» goto :eof

Понятно, что файлы с символом процента («%») в имени этим пакетным файлом будут обрабатываться некорректно.

Наконец, баланс белого есть в любом графическом редакторе сложнее Microsoft Paint. Речь идёт не про дорогие продукты, а свободные и бесплатные. В Paint.net это Adjustment → Auto-Level (Ctrl + Shift + L), в GIMP — Colors → Auto → White Balance, в Krita — Filters → Adjust → Levels и так далее.

Результат преобразования в Paint.net
Результат преобразования в Paint.net

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

Слева направо: оригинал, корректировка через команду для ImageMagick, GPT-4o Yellow Tint Cleaner на HuggingFace, платный UnYellowGPT, автобаланс белого в Paint.net. Комикс по промптам post-death_wave_core
Слева направо: оригинал, корректировка через команду для ImageMagick, GPT-4o Yellow Tint Cleaner на HuggingFace, платный UnYellowGPT, автобаланс белого в Paint.net. Комикс по промптам post-death_wave_core

Источник: habr.com

✅ Найденные теги: Как, новости
Каталог бесплатных опенсорс-решений, которые можно развернуть локально и забыть о подписках

галерея

Фото сгенерированных лиц: исследование показывает, что люди не могут отличить настоящие лица от сгенерированных
Нейросети построили капитализм за трое суток: 100 агентов Claude заперли…
Скетч: цифровой осьминог и виртуальный мир внутри компьютера с человечком.
Сцена с жестами пальцами, где один жест символизирует "VPN", а другой "KHP".
‼️Paramount купила Warner Bros. Discovery — сумма сделки составила безумные…
Скриншот репозитория GitHub "Claude Scientific Skills" AI для научных исследований.
Структура эффективного запроса Claude с элементами задачи, контекста и референса.
Эскиз и готовая веб-страница платформы для AI-дизайна в современном темном режиме.
ideipro logotyp
Image Not Found
Звёздное небо с галактиками и туманностями, космос, Вселенная, астрофотография.

Система оповещения обсерватории Рубина отправила 800 000 сигналов в первую ночь наблюдений.

Астрономы будут получать оповещения о небесных явлениях в течение нескольких минут после их обнаружения. Теренс О'Брайен, редактор раздела «Выходные». Публикации этого автора будут добавляться в вашу ежедневную рассылку по электронной почте и в ленту новостей на главной…

Мар 2, 2026
Женщина с длинными тёмными волосами в синем свете, нейтральный фон.

Расследование в отношении 61-фунтовой машины, которая «пожирает» пластик и выплевывает кирпичи.

Обзор компактного пресса для мягкого пластика Clear Drop — и что будет дальше. Шон Холлистер, старший редактор Публикации этого автора будут добавляться в вашу ежедневную рассылку по электронной почте и в ленту новостей на главной странице вашего…

Мар 2, 2026
Черный углеродное волокно с текстурой плетения, отражающий свет.

Материал будущего: как работает «бессмертный» композит

Учёные из Университета штата Северная Каролина представили композит нового поколения, способный самостоятельно восстанавливаться после серьёзных повреждений.  Речь идёт о модифицированном армированном волокном полимере (FRP), который не просто сохраняет прочность при малом весе, но и способен «залечивать» внутренние…

Мар 2, 2026
Круглый экран с изображением замка и горы, рядом электронная плата.

Круглый дисплей Waveshare для креативных проектов

Круглый 7-дюймовый сенсорный дисплей от Waveshare создан для разработчиков и дизайнеров, которым нужен нестандартный экран.  Это IPS-панель с разрешением 1 080×1 080 пикселей, поддержкой 10-точечного ёмкостного сенсора, оптической склейкой и защитным закалённым стеклом, выполненная в круглом форм-факторе.…

Мар 2, 2026

Впишите свой почтовый адрес и мы будем присылать вам на почту самые свежие новости в числе самых первых