Что такое хорошая метрика цветового сходства?

8

У меня есть несколько цветов в RGB в [0,1], и я хочу найти способ оценить их сходство с точки зрения человека.

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

Моя первая идея - рассматривать цвета RGB как точки XYZ и вычислять их расстояние.

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

Однако я знаю, что не все цветовые каналы имеют одинаковую воспринимаемую яркость, поэтому, возможно, мне следует по-разному взвешивать цветовые каналы в обоих случаях?

Я также думаю, что, возможно, мне нужно будет выполнить коррекцию sRGB для значений цвета (например, sqrt для каждого цветового канала).

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

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

Кто-нибудь может предоставить некоторую помощь / направление?

Алан Вульф
источник
4
Вы смотрели на это ? RGB не является хорошим цветовым пространством для сравнений, связанных с человеческим восприятием.
тузы
Хорошая информация спасибо! Я смотрел на cielab, но в этой статье говорится, что это не самое лучшее. К сожалению, я работаю с исходными данными RGB, поэтому мне нужно выяснить, как преобразовать RGB в нечто лучшее, но, похоже, проблема в том, что RGB зависит от устройства, в то время как, например, cielab - нет. К счастью, для моих нужд достаточно небольшого приближения, если независимость от устройства на самом деле невозможна с исходными данными RGB.
Алан Вульф
Зайдите на сайт Брюса Линдблума, особенно о различных показателях DeltaE
Дэвид Кури
Существует целый пакет Python для науки о цвете, который включает в себя некоторые преобразования: colour-science.org .
KAE

Ответы:

3

У меня есть несколько цветов в RGB в [0,1], и я хочу найти способ оценить их сходство с точки зрения человека.

Это огромный предмет, который можно найти под знаменем цветовой гаммы моделей . Почему это не строго более простое образование из-за психофизической природы цвета в том, что цвет не существует вне человеческого организма.

Моя первая идея - рассматривать цвета RGB как точки XYZ и вычислять их расстояние.

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

Однако я знаю, что не все цветовые каналы имеют одинаковую воспринимаемую яркость, поэтому, возможно, мне следует по-разному взвешивать цветовые каналы в обоих случаях?

Лучший совет, так же как и криптография, не бросайте свой собственный; вы, вероятно, придете к неоптимальной системе, которая в лучшем случае будет поражать стены, уже пораженные другими исследователями в этой области. Если вы основываете свою работу на существующих моделях и исследованиях, вы можете найти ее более точной для своих нужд [1].

Можно указать на исторические события вокруг CAM, но здесь проще предложить вам изучить модель цветового кодирования IPT и ее цилиндрический эквивалент, который моделирует цвет и оттенок как угол. Эволюция модели IPT преодолевает большинство проблем предыдущей модели Lab и упрощает некоторые из работ, связанных с CIECAM02.

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

IPT и каждое цветовое пространство RGB в этом отношении закреплены в исследовании CIE 1931 года. Таким образом, такого рода проблемы решаются на более низком уровне.

[1] Этот расширенный ответ объясняется комментарием г-на Вулфа, приведенным ниже, в попытке объяснить, почему использование собственного решения может быть неоптимальным подходом.

troy_s
источник
3
Отговаривать людей от экспериментов с графикой и ставить их в один ряд с поставляемыми вручную криптографическими алгоритмами - просто смешно.
Алан Вульф
@AlanWolfe Учитывая, что существует довольно много выдающихся кандидатов наук, которые уже потратили бесчисленные часы и усилия на решение проблем в первоначальном вопросе, я считаю ваш контекст смешным. Не препятствуйте тому, чтобы кто-то заполнил их ботинки и попытался изобрести колесо.
troy_s
Вы должны услышать простые хаки, рекомендованные активными исследователями графики. Например, «точечный продукт RGB, он действительно работает на удивление хорошо» от Питера Ширли.
Алан Вульф
2
Я пошел дальше, но есть применение коллапса волновой функции для процедурного изображения и создания контента. Частично он работает с точным совпадением пикселей, поэтому лучше всего работает с пиксельной графикой. Я ожидал увидеть, что можно было бы сделать более мягкое соответствие для использования с более реалистичными изображениями или для менее строгих процедурных правил содержания. Проверьте эту ссылку для основной вещи: github.com/mxgmn/WaveFunctionCollapse
Алан Вулф
2
Это не моя работа, но я пытался ее расширить. Я полностью согласен, это классные вещи! Не по теме, но вот моя не связанная работа хе-хе. blog.demofox.org/2016/02/22/…
Алан Вульф
4

Если комплексная метрика приемлема, я бы предложил взглянуть на подход, основанный на восприятии, описанный здесь . Метрика предназначена для выбора восприятия разницы двух изображений. Для этого есть два основных теста: на основе яркости и цвета. Первый позволяет ответить на вопрос, насколько важно изменение яркости, оценивая неоднородный пороговый коэффициент на основе чувствительности к контрастным изменениям в зависимости от пространственных частот изображения. Второй основан на евклидовом расстоянии в цветовом пространстве CIE LAB, но немного изменен, чтобы сделать разницу в цвете менее важной, когда яркость находится в мезопическом и скотопическом диапазонах. Список документов, связанных с этой метрикой, можно найти здесь .

reinsteam
источник
3
Добро пожаловать в компьютерную графику SE! В общем, ответы только на ссылки настоятельно не рекомендуются для SE, потому что они могут стать бесполезными, если эти ссылки когда-либо прекратятся. Пожалуйста, включите краткое резюме их содержания, чтобы люди все еще могли понять, что именно вы на самом деле предлагаете, не полагаясь на ссылки.
Мартин Эндер