Как увидеть цвет, которого в природе не бывает?
Четыре года назад на Хабре был пост с интересным и полезным видео «Как устроен цвет». Лектор — Дмитрий Николаев, заведующий сектором зрительных систем ИППИ РАН.
Я сделал расшифровку (в меру своего понимания материала), потому что считаю и тему важной и подачу — отличнейшей. Пока набирал текст, чуть не поменял своё φ(λ). Слово спикеру:
Поговорим о математике и геометрии цвета, о том, какие абстрактные структуры заложены в этом слове.
Что такое «цвет» не знает никто.
Цвет — это что-то, о чем говорит человек, наблюдающий и познающий мир с помощью глаза.
Глаз регистрирует какие-то свойства электромагнитного излучения, называемого светом, попадающего в глаз, преломляющегося на хрусталике, проецируемого на сетчатку. «Колбочки» регистрируют какие-то мощностные свойства. И дальше внезапно человек говорит о каком-то «цвете».
В физике нет цвета, а есть спектральные свойства излучения.
«Цвет» связан с относительным распределением спектральной энергии, мощности или потока излучения. (При прохождении через призму человек видит характерную «радугу».)
Совершенно точно, «цвет» — психологический феномен. Цвет — это ощущение, к объективной физике не имеющий отношения.
Мы можем говорить о цвете вещей — красная рубашка — «краснота» рубашки напрямую никак не связана с тем, какое излучение придет от этой рубашки в глаз.
«Цвет» располагается на стыке трёх миров — биологии, физики, психологии.
Феномен цветопостоянства (цветовая константность) — способность человека, вне зависимости от того, что прилетело в глаз от конкретной точки объекта, оперировать термином «окраска объекта».
Не знаю ни одной системы технического зрения, которая обладает хорошей цветовой константностью (2014 год). Белый автомобиль освещенный красным закатным солнцем — техника ошибается, человек — нет.
Это определение только половина правды. Если бы цвет соответствовал только излучению (а не к объектам в дополнение), то Шредингер был абсолютно прав.
S(λ) — спектральное распределение светового потока. Мы говорим что этот цвет несет в себе фотоны с разными энергиями. Или это распределение электромагнитных волн с разными длинами волн.
X(λ) В глазу есть три типа «колбочек», каждый характеризуется спектром чувствительности, насколько много электронов выбивается из пигментов, которые находятся в этой клетке, в зависимости от того, какой фотон он поглотил. Это вектор.
Рассмотрим физически бесконечно малый участок сетчатки и скажем что в каждой точке у нас возникает три числа:
Каждый светочувствительный элемент суммирует все фотоны на разных длинах волн. В разных типах колбочек. Сколько-то электронов выбито в красном, сколько-то в синем, сколько-то в зеленом.
В реальности есть некоторые алгоритмы интерполяции, и в камере, и в человеке.
Как удалось понять что эта штука трёхмерная? Что у вектора «а» (электрически трудно вытащить) три компоненты? Днём. Ночью — одна, в сумерках — четыре. Но мы будем говорить о дневном зрении. Установить это удалось раньше, нежели разобрались с колбочками, с помощью колориметрических опытов.
Шредингер говорил о колориметрических условиях наблюдения. В поле зрения человека попадает только равномерно светящийся участок, как-будто человек смотрит в окуляр, и попадает только излучение определенного спектрального состава. При этом он может назвать цвет, который он видит. Но перечисление этих цветов ничего не скажет о размерности цветового пространства.
Был сделан следующий интересный эксперимент. Поле зрения человека было разделено на две области. В одну область подавался конкретный спектр. В другую половинку направляли смесь нескольких других источников. А человеку давали крутить столько ручек, смесь от скольки источников туда подавалась. И человека заставляли ответить на вопрос, может ли он выставить ручки так, чтобы он визуально не мог отличить границу между смесью и референтным излучением.
Выяснилось, что если предоставить человеку три ручки, то он всегда может уравнять любое излучение. И все другие испытуемые тоже не увидят границ. Двумя нельзя. Можно так подобрать две ручки и начальное базовое, что никаким способом не сможет.
Почему это работает с точки зрения нашего интеграла?
Sx
S0
S1
С учетом того, что наш интеграл — это линейная проекция из бесконечномерного пространства функций S.
Если у нас есть три некомпланарных вектора. Всегда есть разложение, причем все эти вещи неотрицательны.
Вот есть два окошка, где вы можете взвешенно суммировать, но не вычитать. Поэтому вместо того чтобы «вычитать» в одном окошке, мы «прибавляем» в другом. И всегда можно разложить на три базовых излучения.
Так было показано, что цветовое пространство внутри человека трёхмерно.
Это важный опыт. И никакое количество обнаруженных колбочек в человеческом глазе не может заменить этого опыта. Потому что обнаруженное число разных типов светочувствительных клеток в человеческом глазу может ограничить размерность этого пространства сверху. Если есть три типа колбочек, то цветовое пространство не выше трёх.
Дальтоникам достаточно две рукоятки. У них другое цветовое пространство. Поэтому неверно утверждать, что они «не видят» какого-то цвета. Для них некоторые пары наших цветов являются одним цветом. Причем таких пар бесконечно много. Но нет такого участка спектра, который они не различают.
«Зелёный и красный очень близко». Простейший лингвистический эксперимент: сколько вы можете цветов назвать между зелёным и синим, и между зелёным и красным.
Связано это с тем, что концентрация светочувствительных рецепторов в фовеальной области («зеленых» и «красных») — подавляющее большинство, а синих практически нет, они расположены на периферии. Поэтому человеческий глаз как прибор может очень точно, за счет усреднения многих колбочек оценить спектральный состав в области красно-зеленого, хотя сами детекторы показывают очень скореллированные сигналы, а сильно декореллированный синий сигнал теряет в точности из-за того, что он пространственно очень редок.
Дискомфорт от ярких синих надписей возникает из-за того, что мы воспринимаем их краем глаза, а краем глаза мы не любим смотреть.
Основной недостаток определения Шрёдингера связан с тем, что он вообще игнорировал то, как человек «пользуется» цветом. Человек не смотрит на абстрактное излучение, он смотрит на цвет, который отражается от поверхности.
Я всё время буду для простоты полностью игнорировать геометрию, индикатрисы рассеяния, и буду говорить только об относительном спектральном составе. как мощность меняется, меня не будет большую часть времени беспокоить. Исчезнут все интегралы по телесным углам и много чего неприятного.
«Интеграл», который «прилетает» в глаз имеет такой вид:
Вот отсюда растут все цветовые ощущения.
Возвращаясь к эксперименту с одуванчиком, хочу сказать, что человеческое зрение решает феноменальную задачу, невообразимую. Если рассмотреть одну точку она очевидно неразрешима. Оцените.
Мы знаем вот эти три числа (векторы «а»), мы знаем в результате самокалибровки вот эти три функции X(h). Мы НЕ знаем как устроено солнце, оно всегда разное, на закате, в зените, в зависимости от облаков, лампы разноцветные.
Задача цветового зрения человека оценить вот эту функцию:
Эта функция задает материал. Эта функция говорит, спелый фрукт или нет. Эту функцию мы хотим определить по трем числам, при условии, что она домножилась на другую неизвестную функцию.
Пока мы не оценили, как/чем был освещен объект, мы ничего не можем сказать о цвете. Если бы этот механизм не работал, мы бы путались, если бы нам показывали красную бумажку, освещенную белым цветом и белую бумажку, освещенную красным цветом. А мы не путаемся. До тех пор, пока в поле зрения более чем только эта бумажка. Если бумажка висит в пустоте — мы не можем различить. Если объектов много то сразу понятно, какого цвета освещение, какого бумага.
Мозг решает кучу задач, о которых мы не догадываемся, пока не приходится запрограммировать робота, тогда начинаешь понимать сколько всего делает зрительная система человека.
Выделим это понятие из слова «цвет». Окраска — объективная характеристика физического предмета. Даже если я закрываю глаза, окраска не исчезает, она присуща самому предмету, в отличие от «цвета», который есть ощущение.
Существуют черно-белые телевизоры и цвет можно почти «изжить». Остается мощностная компонента цвета. Нужно разделять слова «яркость» и «светлота». Яркость относится к излучению, а светлота — к объекту. Объект может быть светлым, а освещение — ярким. И то и другое — мощностные характеристики, но принадлежат разным мирам и это важно. Коэффициент отражения зажет между 0 и 1, а мощность излучения сверху ничем не ограничена.
Белый объект в черно-белом мире существует, а «белого» (максимально яркого освещения) излучения не существует.
Существует параметр, естественно объясняемый человеку. Насыщенность — насколько цвет далёк от серой шкалы. Насыщенность — это то, что уменьшается при разбавлении любым серым цветом. Максимальная насыщенность у излучения лазера. (Чуть позже поговорим про химические психоактивные вещества.)
Это то, что остается от цвета в цветовом пространстве, после того, как мы ввели две предыдущие координаты. Иногда мы путаем цвет и цветовой тон. Этому есть и физические и биологические предпосылки.
Это та двухкомпонентная часть цвета, которая не мощностная. Если из цвета излучения «выкинуть» «яркость», то останется «цветность».
В отличие от любой женщины, мужчина напрочь игнорирует явление метамерии. Каждая девушка знает, что не стоит покупать кофточку, которая подходит к юбке под люминесцентном свете, пока не протестировал это при естественном освещении. Это интуитивное знание о существовании метамерии окраски.
Метамерия излучения — это когда мы знаем, что существует бесконечно много разных спектров, которые могут попасть на глаз, чтобы у человека появилось одинаковое ощущение.
Цвет (по Шредингеру) — это то общее у всех спектров, которые вызывают одно и то же ощущение.
Метамерия окрасок. Если две разные окраски выглядят одинаково при некотором фиксированном S, отсюда никак не следует, что при другом S они будут совпадать.
Гарантировать что они будут совпадать, мы можем только для одинаковых φ, то есть для абсолютно одинаковых спектров. Мы можем подобрать такие отвратительные спектры источников, полосные например, с какими-то пиками, что две окраски, которые только что казались одного цвета станут разными. И вот это как раз и происходит в магазинах.
Три четверти задачи цветовой константности — это оценить S(λ) в той точке, где находится объект, то есть оценить как он был освещен. После этого мы получаем историю, похожую на колориметрические условия наблюдения.
На западе широко используются линейные модели. Выберем три таких спектра, что любая окраска может быть приближена к линейной комбинации этих трёх базовых окрасок. И получаем связь параметров окраски через матрицу 3х3. Всё становится красиво, есть куча алгоритмов, правда работают они очень плохо. Есть глубокая причина.
И примитивная причина — вы не можете различные узкополосные спектры одновременно хорошо аппроксимировать суммой трёх любых.
Если есть узкий пик, который непрерывно катается по шкале длин волн, то линейная модель не может все эти узкие спектры одновременно хорошо аппроксимировать.
Существует ли модель, которая умеет это делать? Да, существует. Гауссовская модель.
Мы считаем, что φ(λ) — это экспонента от полинома второй степени. У неё три параметра. Она умеет аппроксимировать белый, она легко апрроксимирует любой узкий спектр, но серию «колокольчиков» она уже не сможет.
Цвета и высокой и низкой насыщенности гауссовская модель аппроксимирует одинаково хорошо. Это очень важное её свойство. Второе свойство:
В нашем интеграле функции между собой перемножаются. Для того, чтобы параметры модели никуда не ускакивали, важно, чтобы модель была замкнута относительно операции умножение.
Есть одно «но». Есть фиолетовые окраски, они имеют такой спектр — сильно не ноль в красной области и сильно не ноль в синей области и гауссиана с этим не может работать. Но есть трюк.
Если под экспонентой стоит полином с ненулевым квадратичным коэффициентом, у нас гауссиана превращается в экспоненциальную растущую параболу. И интеграл от нуля до бесконечности перестает быть конечным, но, поскольку мы всегда наблюдаем это через глаз, где гауссианы успевают убывать быстрее, для этого у них старший коэффициент должен быть по модулю больше чем у этой окраски, то оказывается, что интеграл в результате берется, и мы можем спокойно работать с не очень насыщенным фиолетовыми окрасками и фиолетовыми излучениями.
Как оценить спектр источника излучения? Если мы это сделаем, то дальше, введя цветовую модель, мы решим задачу цветовой константности. Существует несколько гипотез на этот счет. Наиболее ранние модели были такие: если человек видит в сцене белый объект или если он видит блик (на гладкой диэлектрической поверхности видит отражение источника).
Вне зависимости от цвета самого объекта блик несет спектр цвета источника. Там не происходит «умножения» на окраску.
Все окрашенные диэлектрические поверхности в первом приближении могут быть описаны диэлектрической моделью блика Шеффера, когда есть зеркальное отражение, например, от пота на лбу, и есть рассеянное отражение от частиц пигмента «в глубине».
«Зеркальная компонента» — как если бы от белого объекта. В блике любой диэлектрик выглядит как белый. С металлами не так. Гладкий металл отражает «своим» цветом. Блик от золота всегда желтый. Блик от меди всегда красный.
Ещё одна вещь, которая осложняет понятие «цвет», связана с тем, что когда мы смотрим в одну точку, мы видим сразу три цвета. Первое что мы «видим» (можем научиться видеть) — это «что же оттуда прилетело». Чтобы хорошо это видеть, нужна трубочка. Если человек не видит «что прилетело», он не сможет стать художником-реалистом. Много трюков и много самотренировки требуется художнику, чтобы понять, что из какой точки прилетело и нарисовать именно «это». Тогда картина будет реалистичной. Вместо этого мозг решает полезные задачи (поскольку быть художником абсолютно бесполезно в гонке за выживание). Мозг определят что туда «упало». Глядя на улицу, мы понимаем, что трава освещена закатным солнцем. Тень голубовата, потому что освещена небом. И одновременно вы видите в этой точке какого цвета объект. Глядя на человеческое лицо вы увидите мельчайший румянец, потому что это эволюционно чрезвычайно важно (зарумянилась девушка или нет), но при этом вам все равно, как падают тени на её лицо, освещена она закатом или полуденным солнцем, или это облачное небо. Проблема в том, что не художник видит это одновременно два цвета, не отдавая себе отчет в этом, а художник должен видеть три цвета.
Когда мы рисуем то, что мы видим, в смысле окрасок, мы начинаем рисовать как дети. А художнику приходится отключать очень много алгоритмов зрения, чтобы превратиться в «фотоаппарат».
«Баланс белого» в фотоаппаратах не значит вообще ничего. Это шаманство. Как в кулинарных книгах — «варить до готовности», «добавьте соли и перца». Для фотографа это имеет смысл, они знают что будет меняться, если эту рукоятку повернуть, но на самом деле абсолютно не понятно что это такое. Я догадываюсь что там происходит, но это хуже чем о цвете говорить. Я бы предпочел не говорить о «балансе белого», надо держаться твердой почвы.
У нас есть некоторое трёхмерное цветовое пространство в котором живут наши вектора , условно назовём его RGB, чтобы компьютерщикам было легче. И Вернулись к излучениям. Кто-то светит в глаз.
Вопрос: Любые ли комбинации R, G и B возможны?
Ответ: Конечно же, нет.
Мы рисовали спектры чувствительности. Они частично пересекаются. Они нигде не строго ноль, там где другие не ноль. Это значит, что вы не можете возбудить одну колбочку, не возбудив, хотя бы немного, колбочку другого типа.
Если бы мы могли освещать «спектром с отрицательной энергией», то мы могли бы в любую точку пространства, включая и отрицательные, зайти.
Если осветим вот так, всё будет хорошо, но это физически невозможно.
Математически можно сказать вот что: Всевозможные спектры излучений в исходном бесконечномерном пространстве образуют конус (не «круглый», а из линейной алгебры).
Конус — это такая структура, что если вектор принадлежит конусу, то вектор умноженный на неотрицательное число тоже принадлежит конусу.
Неотрицательные функции одного аргумента, которыми мы бомбардируем наш глаз — они образуют конус.
Представьте бесконечномерный куб и тот «квадрант», где все оси положительные, там и будет жить наш конус.
Поскольку наш глаз осуществляет линейную проекцию а пространство RGB, то здесь, в цветовом пространстве, все допустимые реакции тоже будут образовывать конус. Более того — выпуклый конус. Это значит что сумма двух векторов конуса с неотрицательными коэффициентами так же принадлежат конусу.
Построим сечение и сделаем центральную проекцию. Плоскость цветности мы можем ввести как угодно. Из нуля растет яркость.
На плоскости цветности, раз это конус, у нас должна быть какая-то выпуклая фигура.
То что эта штука называется треугольником — это отдельный юмор. У неё два угла. Но я вас сейчас с лёгкостью докажу, что на самом деле у цветового треугольника должен быть один угол. И это очевидно. Почему их два — совершенно не понятно.
Вспомнив, как устроены функции, и что это выпуклое множество, мы можем сказать, что любую функцию можно собрать из выпуклой суммы дельта-функций.
Математики меня бы убили за такую вещь, но… в пределе. Что бы это ни значило.
Давайте возьмем такую мелкую-мелкую дискретизацию и скажем, что любая функция в пределах этой дискретизации — это сумма каких-то столбиков. Это значит, что любой спектр, который может попасть нам в глаз — это выпуклая комбинация каких-то лазерных излучений, бесконечно узких. Это значит, что весь цветовой конус — это выпуклая оболочка реакций на лазерное излучение. С цветовым треугольником то же самое. ЦТ- это на плоскости цветности выпуклая оболочка лазерных излучений.
Начнем двигаться лазером из ультрафиолетового в инфракрасный. в цветовом пространстве мы обойдем какую-то петлю.
Почему петлю? Из нуля уйдем и в ноль вернемся.
Потому что на УФ не реагируем, на ИК тоже не реагируем.
Какая-то произвольная траектория.
Человек специфическим образом устроен, что здесь нет вогнутостей:
Это петля. У неё один единственный «клюв». И мы эту штуку гладко проецируем на плоскость. И у неё должен быть один «клюв». Это очевидно. В остальных местах всё непрерывно.
Но нет.
Дело в том что этот излом находится непосредственно в центре центральной проекции. А производные с двух разных сторон — разные.
Это не «клюв», который сходится к одной касательной, касательная справа и касательная слева — разные.
Поэтому УФ часть «клюва» проецируется сюда:
А ИК — сюда:
А все лазерные излучения живут вот здесь:
И каждой части этой дуги цветового треугольника приписать какую-то длину волны.
А вот этой штуке нельзя приписать никакие длины волн:
Потому что здесь замыкается выпуклая оболочка. Таких лазеров не бывает. Это можно возбудить только двумя дельта функциями минимум.
Цветовой треугольник — это выпуклая оболочка над реакциями на лазерное излучение.
Не все точки нашего RGB достижимы в принципе, по физике. Есть, как я говорил, трюк. Можно очень сильно дать человеку по голове, либо принять каких-либо веществ. Что для мозга то же самое. Если у нас уже на этапе обработки будут возникать удивительные числа, то там они могут возникать такие, которых в природе не бывает. С колбочки такого прийти не могло. Но в зрительной коре, под воздействием какой-то химии или механики, такие комбинации возникнуть могут. Или во сне. Во сне же мы получаем сигналы не от колбочек. В принципе, мы можем видеть цвета, которых в природе не бывает.
Вопрос: А в воображении можем?
Ответ: Я ничего не могу сказать про ваше воображение, простите. Будучи абсолютно честным, я даже про ваше существование ничего не могу сказать, а вы про воображение просите.
Был такой художник — Пит Мондриан. С Кандинским и Малевичем считается отцом абстрактной живописи.
У Мондриана есть характерные картины из прямоугольников нескольких цветов.
В цветоведении «мондриан» стал нарицательным, потому что это очень хороший воображаемый объект, наблюдая за реакцией человека, который смотрит на «мондриан» можно много сказать про зрительную систему. Меняя цвета на картине и меняя освещенность можно что-то понять про человека. Например, поняли, что если на картине есть белый, то человек не путает освещение с окраской, если белого нет, то может путать.
Если взять мондриан, который не бликует, очень матовый, и его осветить равномерно, а потом мы будем менять всевозможные окраски на мондриане. Что в цветовом пространстве (при фиксированном Х(глазе) и S(источнике)) «высечет».
Некоторые фотоаппараты фотографируют ИК сигнал от пульта телевизора — синим. И это только меньшее зло. На самом деле цветопередача любого фотоаппарата отвратительная. Но интерпретационная мощь человеческого зрительного аппарата настолько велика, что мы на это забиваем.
Человек насыщенные цвета любит больше, поэтому у телевизоров насыщенность задрана. Чтоб человек предпочитал телевизор смотреть а не в окошко. В окошке — серо и отвратительно, в телевизоре — прекрасно.
Фиксированно Х, фиксированно S, меняем φ, но оно зажато от 0 до 1.
Кроме черной точки:
есть белая точка:
Когда φ строго равен 1. Белый объект, всё отражает (если источник желтый, то «желтая точка»). За пределы этой точки мы уже не выйдем. Это уже не конус. Что же это?
Это выпуклая симметричная фигура, чечевицеобразная.
Почему эта штука симметрична? Это просто. На любой спектр окраски найдется другой, такой, что это единица минус первый спектр.
Если вы знаете форму цветового тела, вы можете восстановить спектр S(λ) для всех λ. Для меня это просто шок. К несчастью, это не может быть хорошим алгоритмом цветовой константности, потому что никогда не бывает настолько много цветов, которые наблюдает человек, и они все по-разному освещены по мощности.
Солнце похоже на недокаленную лампочку(желтая), а небо, наоборот, — на перекаленную лампочку (голубая). Это к вопросу про цветовую температуру. Начали аппроксимировать источники света планковскими источниками. А у планковского источника есть соответствующая температура. До какой температуры надо абсолютно черное тело нагреть, чтобы оно такой спектр выдало из себя.
Я могу взять всевозможные:
для каждого планковского источника, которых всего однопараметрическое семейство, я могу построить цветовое тело, я могу спроецировать это цветовое тело на плоскость цветности, и оно займет не весь цветовой треугольник. Если я вижу в сцене что-то что выпадает за эту проекцию, я могу исключить этот источник из списка гипотез о том, чем это было освещено.
На западе это называется алгоритм gamut. Как применять теорему Максимова непонятно, потому что цветовое тело мы можем наблюдать только в лаборатории.
Есть более простая задача, чем задача цветовой константности. Вопрос, можем ли мы, глядя на фотографию, определить где кончается один цвет и начинается другой. Не называя цвета. Сказать — здесь скачок окраски.
Будем считать, что у нас нет текстур и акварелей. Однородные объекты, а между собой разные, они собой делят пространство и есть области с разной окраской. Разбиение изображения на эти области — это задача цветовой сегментации.
Много лет люди наступают на одни и те же грабли. Люди говорят: «Я же вижу что весь стол коричневый, значит, и программа должна это видеть.» Нужно просто покластеризовать цветовое распределение хорошим алгоритмом. Не работает. И никогда не заработает. Поскольку исходная посылка была ложной. То, что мы видим как объект одного цвета, в цветовом пространстве никак точкой саппроксимированно быть не может. В большинстве случаев. Если это равномерно освещенный мондриан, то да.
Представим идеального сферического коня в вакууме. Определенного цвета. Вот он висит и освещен бесконечно далёким солнцем. Сбоку. Вопрос: как будет проецироваться этот конь в цветовое пространство?
Ответ. В отличие от плоского коня, сферический конь в цветовом пространстве будет подмножеством прямой, проходящей через начало координат.
С этой штукой k-means не справится. И большая часть вещей выглядит так. А если сфера была ещё и гладкой, а не матовой, то возникает блик и у нас индикатрисса рассеяния имеет два члена, тогда у нас под интегралом будет взвешенная сумма двух цветов, и вот это штука станет кусочком плоскости, проходящей через ноль.
Можно показать, что в разных простейших случаях наблюдения различных объектов и разных условиях освещения, однородно окрашенные объекты будут проецироваться в цветовое пространство как линейные подмногообразия. Не обязательно через ноль проходят.
Можно ввести ранговую классификацию: иногда это будут точки, иногда — плоскости, который проходят через ахроматическую прямую. И по описанию сцены, утверждая, был ли белый источник, был ли объект гладким, или что источников было два, причем один параллельный а другой диффузный (как небо, со всех сторон), можно понять не только размерность этого подмногообразия, но и его положение относительно нуля и ахроматической прямой.
Оказывается, что это важно, потому что мы можем тогда сказать, как эта штука проецируется на плоскость цветности, потому то если это линейное подпространство, то она теряет в размерности при проекции на цветовой треугольник, что хорошо. А если мы спроецируем, то что мы видим на окружность цветового тона, то окажется, что во многих случаях, когда даже если это была плоскость, она на ЦТ стала прямой, проходящей через серую точку, а потому она спроецировалась в одну точку на окружности цветового тона. И вот это очень важно.
Человек потому и выделяет цветовой тон как отдельную координату в цветовом пространстве, потому то это наиболее стабильная компонента цвета при изменениях освещения и наблюдения.
В нашем цветовом пространстве есть ахроматическая прямая, куда проецируются спектры равные константе
У фотоаппарата спектры чувствительности должны быть линейной комбинацией человеческих, тогда ему достаточно трёх светочувствительных элементов, но поскольку это не так, то нужно больше, а делают три и не сводимых к человеку, поэтому у аппарата цветопередача далека от идеальной.
Интересно, что про мониторы ответ совершенно другой. Хороший монитор должен иметь как минимум пять типов источников света. Монитор может только выпуклую комбинацию своих трёх цветов изображать, а это всегда подмножество истинного ЦТ человека. Чтобы хорошо его саппроксимировать нужно взять еще несколько фильтров и пятиугольником аппроксимировать. В Америке есть одна фирма, которая планирует рано или поздно сыграть на этом.
Из-за метамерии окрасок, красок у принтера должно быть бесконечно много. Иначе не будет такого, что при разных источниках цвета картинка всё равно выглядит правильно. Это одна из причин, почему у профессиональных принтеров количество красок достаточно велико. И постоянно выпускают «патчи», которые улучшают метамерию при наблюдении в люминисцентном свете.
C 1973 года в индустрии обработки изображений принято новые алгоритмы испытывать на изображении:
Вот тут даже разыскали эту «Лену».
У самих специалистов-тестировщиков изображение ниже простирается гораздо дальше. Я вот и подумал, почему бы цветоведам не придумать свою шутки и девушка в мандриане может стать стандартом.
Четыре года назад на Хабре был пост с интересным и полезным видео «Как устроен цвет». Лектор — Дмитрий Николаев, заведующий сектором зрительных систем ИППИ РАН.
Я сделал расшифровку (в меру своего понимания материала), потому что считаю и тему важной и подачу — отличнейшей. Пока набирал текст, чуть не поменял своё φ(λ). Слово спикеру:
Поговорим о математике и геометрии цвета, о том, какие абстрактные структуры заложены в этом слове.
Что такое «цвет» не знает никто.
Цвет — это что-то, о чем говорит человек, наблюдающий и познающий мир с помощью глаза.
Глаз регистрирует какие-то свойства электромагнитного излучения, называемого светом, попадающего в глаз, преломляющегося на хрусталике, проецируемого на сетчатку. «Колбочки» регистрируют какие-то мощностные свойства. И дальше внезапно человек говорит о каком-то «цвете».
В физике нет цвета, а есть спектральные свойства излучения.
«Цвет» связан с относительным распределением спектральной энергии, мощности или потока излучения. (При прохождении через призму человек видит характерную «радугу».)
Совершенно точно, «цвет» — психологический феномен. Цвет — это ощущение, к объективной физике не имеющий отношения.
Мы можем говорить о цвете вещей — красная рубашка — «краснота» рубашки напрямую никак не связана с тем, какое излучение придет от этой рубашки в глаз.
«Цвет» располагается на стыке трёх миров — биологии, физики, психологии.
Феномен цветопостоянства (цветовая константность) — способность человека, вне зависимости от того, что прилетело в глаз от конкретной точки объекта, оперировать термином «окраска объекта».
Не знаю ни одной системы технического зрения, которая обладает хорошей цветовой константностью (2014 год). Белый автомобиль освещенный красным закатным солнцем — техника ошибается, человек — нет.
Цвет есть свойство спектрального состава излучений. Общее всем излучением. в т. ч. и визуально неразличимым для человека.
— Шредингер
Это определение только половина правды. Если бы цвет соответствовал только излучению (а не к объектам в дополнение), то Шредингер был абсолютно прав.
Простейшая модель цвета, в которой работал Шредингер
S(λ) — спектральное распределение светового потока. Мы говорим что этот цвет несет в себе фотоны с разными энергиями. Или это распределение электромагнитных волн с разными длинами волн.
X(λ) В глазу есть три типа «колбочек», каждый характеризуется спектром чувствительности, насколько много электронов выбивается из пигментов, которые находятся в этой клетке, в зависимости от того, какой фотон он поглотил. Это вектор.
Рассмотрим физически бесконечно малый участок сетчатки и скажем что в каждой точке у нас возникает три числа:
Каждый светочувствительный элемент суммирует все фотоны на разных длинах волн. В разных типах колбочек. Сколько-то электронов выбито в красном, сколько-то в синем, сколько-то в зеленом.
В реальности есть некоторые алгоритмы интерполяции, и в камере, и в человеке.
Как удалось понять что эта штука трёхмерная? Что у вектора «а» (электрически трудно вытащить) три компоненты? Днём. Ночью — одна, в сумерках — четыре. Но мы будем говорить о дневном зрении. Установить это удалось раньше, нежели разобрались с колбочками, с помощью колориметрических опытов.
Шредингер говорил о колориметрических условиях наблюдения. В поле зрения человека попадает только равномерно светящийся участок, как-будто человек смотрит в окуляр, и попадает только излучение определенного спектрального состава. При этом он может назвать цвет, который он видит. Но перечисление этих цветов ничего не скажет о размерности цветового пространства.
Был сделан следующий интересный эксперимент. Поле зрения человека было разделено на две области. В одну область подавался конкретный спектр. В другую половинку направляли смесь нескольких других источников. А человеку давали крутить столько ручек, смесь от скольки источников туда подавалась. И человека заставляли ответить на вопрос, может ли он выставить ручки так, чтобы он визуально не мог отличить границу между смесью и референтным излучением.
Выяснилось, что если предоставить человеку три ручки, то он всегда может уравнять любое излучение. И все другие испытуемые тоже не увидят границ. Двумя нельзя. Можно так подобрать две ручки и начальное базовое, что никаким способом не сможет.
Почему это работает с точки зрения нашего интеграла?
Sx
S0
S1
С учетом того, что наш интеграл — это линейная проекция из бесконечномерного пространства функций S.
Если у нас есть три некомпланарных вектора. Всегда есть разложение, причем все эти вещи неотрицательны.
Вот есть два окошка, где вы можете взвешенно суммировать, но не вычитать. Поэтому вместо того чтобы «вычитать» в одном окошке, мы «прибавляем» в другом. И всегда можно разложить на три базовых излучения.
Так было показано, что цветовое пространство внутри человека трёхмерно.
Это важный опыт. И никакое количество обнаруженных колбочек в человеческом глазе не может заменить этого опыта. Потому что обнаруженное число разных типов светочувствительных клеток в человеческом глазу может ограничить размерность этого пространства сверху. Если есть три типа колбочек, то цветовое пространство не выше трёх.
Дальтоникам достаточно две рукоятки. У них другое цветовое пространство. Поэтому неверно утверждать, что они «не видят» какого-то цвета. Для них некоторые пары наших цветов являются одним цветом. Причем таких пар бесконечно много. Но нет такого участка спектра, который они не различают.
«Зелёный и красный очень близко». Простейший лингвистический эксперимент: сколько вы можете цветов назвать между зелёным и синим, и между зелёным и красным.
Связано это с тем, что концентрация светочувствительных рецепторов в фовеальной области («зеленых» и «красных») — подавляющее большинство, а синих практически нет, они расположены на периферии. Поэтому человеческий глаз как прибор может очень точно, за счет усреднения многих колбочек оценить спектральный состав в области красно-зеленого, хотя сами детекторы показывают очень скореллированные сигналы, а сильно декореллированный синий сигнал теряет в точности из-за того, что он пространственно очень редок.
Дискомфорт от ярких синих надписей возникает из-за того, что мы воспринимаем их краем глаза, а краем глаза мы не любим смотреть.
Основной недостаток определения Шрёдингера связан с тем, что он вообще игнорировал то, как человек «пользуется» цветом. Человек не смотрит на абстрактное излучение, он смотрит на цвет, который отражается от поверхности.
Я всё время буду для простоты полностью игнорировать геометрию, индикатрисы рассеяния, и буду говорить только об относительном спектральном составе. как мощность меняется, меня не будет большую часть времени беспокоить. Исчезнут все интегралы по телесным углам и много чего неприятного.
«Интеграл», который «прилетает» в глаз имеет такой вид:
Вот отсюда растут все цветовые ощущения.
Возвращаясь к эксперименту с одуванчиком, хочу сказать, что человеческое зрение решает феноменальную задачу, невообразимую. Если рассмотреть одну точку она очевидно неразрешима. Оцените.
Мы знаем вот эти три числа (векторы «а»), мы знаем в результате самокалибровки вот эти три функции X(h). Мы НЕ знаем как устроено солнце, оно всегда разное, на закате, в зените, в зависимости от облаков, лампы разноцветные.
Задача цветового зрения человека оценить вот эту функцию:
Эта функция задает материал. Эта функция говорит, спелый фрукт или нет. Эту функцию мы хотим определить по трем числам, при условии, что она домножилась на другую неизвестную функцию.
Пока мы не оценили, как/чем был освещен объект, мы ничего не можем сказать о цвете. Если бы этот механизм не работал, мы бы путались, если бы нам показывали красную бумажку, освещенную белым цветом и белую бумажку, освещенную красным цветом. А мы не путаемся. До тех пор, пока в поле зрения более чем только эта бумажка. Если бумажка висит в пустоте — мы не можем различить. Если объектов много то сразу понятно, какого цвета освещение, какого бумага.
Мозг решает кучу задач, о которых мы не догадываемся, пока не приходится запрограммировать робота, тогда начинаешь понимать сколько всего делает зрительная система человека.
Окраска
Выделим это понятие из слова «цвет». Окраска — объективная характеристика физического предмета. Даже если я закрываю глаза, окраска не исчезает, она присуща самому предмету, в отличие от «цвета», который есть ощущение.
Яркость
Существуют черно-белые телевизоры и цвет можно почти «изжить». Остается мощностная компонента цвета. Нужно разделять слова «яркость» и «светлота». Яркость относится к излучению, а светлота — к объекту. Объект может быть светлым, а освещение — ярким. И то и другое — мощностные характеристики, но принадлежат разным мирам и это важно. Коэффициент отражения зажет между 0 и 1, а мощность излучения сверху ничем не ограничена.
Белый объект в черно-белом мире существует, а «белого» (максимально яркого освещения) излучения не существует.
Насыщенность
Существует параметр, естественно объясняемый человеку. Насыщенность — насколько цвет далёк от серой шкалы. Насыщенность — это то, что уменьшается при разбавлении любым серым цветом. Максимальная насыщенность у излучения лазера. (Чуть позже поговорим про химические психоактивные вещества.)
Цветовой тон
Это то, что остается от цвета в цветовом пространстве, после того, как мы ввели две предыдущие координаты. Иногда мы путаем цвет и цветовой тон. Этому есть и физические и биологические предпосылки.
Цветность
Это та двухкомпонентная часть цвета, которая не мощностная. Если из цвета излучения «выкинуть» «яркость», то останется «цветность».
Метамерия
В отличие от любой женщины, мужчина напрочь игнорирует явление метамерии. Каждая девушка знает, что не стоит покупать кофточку, которая подходит к юбке под люминесцентном свете, пока не протестировал это при естественном освещении. Это интуитивное знание о существовании метамерии окраски.
Метамерия излучения — это когда мы знаем, что существует бесконечно много разных спектров, которые могут попасть на глаз, чтобы у человека появилось одинаковое ощущение.
Цвет (по Шредингеру) — это то общее у всех спектров, которые вызывают одно и то же ощущение.
Метамерия окрасок. Если две разные окраски выглядят одинаково при некотором фиксированном S, отсюда никак не следует, что при другом S они будут совпадать.
Гарантировать что они будут совпадать, мы можем только для одинаковых φ, то есть для абсолютно одинаковых спектров. Мы можем подобрать такие отвратительные спектры источников, полосные например, с какими-то пиками, что две окраски, которые только что казались одного цвета станут разными. И вот это как раз и происходит в магазинах.
Три четверти задачи цветовой константности — это оценить S(λ) в той точке, где находится объект, то есть оценить как он был освещен. После этого мы получаем историю, похожую на колориметрические условия наблюдения.
На западе широко используются линейные модели. Выберем три таких спектра, что любая окраска может быть приближена к линейной комбинации этих трёх базовых окрасок. И получаем связь параметров окраски через матрицу 3х3. Всё становится красиво, есть куча алгоритмов, правда работают они очень плохо. Есть глубокая причина.
И примитивная причина — вы не можете различные узкополосные спектры одновременно хорошо аппроксимировать суммой трёх любых.
Если есть узкий пик, который непрерывно катается по шкале длин волн, то линейная модель не может все эти узкие спектры одновременно хорошо аппроксимировать.
Существует ли модель, которая умеет это делать? Да, существует. Гауссовская модель.
Мы считаем, что φ(λ) — это экспонента от полинома второй степени. У неё три параметра. Она умеет аппроксимировать белый, она легко апрроксимирует любой узкий спектр, но серию «колокольчиков» она уже не сможет.
Цвета и высокой и низкой насыщенности гауссовская модель аппроксимирует одинаково хорошо. Это очень важное её свойство. Второе свойство:
В нашем интеграле функции между собой перемножаются. Для того, чтобы параметры модели никуда не ускакивали, важно, чтобы модель была замкнута относительно операции умножение.
Фиолетовые окраски
Есть одно «но». Есть фиолетовые окраски, они имеют такой спектр — сильно не ноль в красной области и сильно не ноль в синей области и гауссиана с этим не может работать. Но есть трюк.
Если под экспонентой стоит полином с ненулевым квадратичным коэффициентом, у нас гауссиана превращается в экспоненциальную растущую параболу. И интеграл от нуля до бесконечности перестает быть конечным, но, поскольку мы всегда наблюдаем это через глаз, где гауссианы успевают убывать быстрее, для этого у них старший коэффициент должен быть по модулю больше чем у этой окраски, то оказывается, что интеграл в результате берется, и мы можем спокойно работать с не очень насыщенным фиолетовыми окрасками и фиолетовыми излучениями.
Блик
Как оценить спектр источника излучения? Если мы это сделаем, то дальше, введя цветовую модель, мы решим задачу цветовой константности. Существует несколько гипотез на этот счет. Наиболее ранние модели были такие: если человек видит в сцене белый объект или если он видит блик (на гладкой диэлектрической поверхности видит отражение источника).
Вне зависимости от цвета самого объекта блик несет спектр цвета источника. Там не происходит «умножения» на окраску.
Все окрашенные диэлектрические поверхности в первом приближении могут быть описаны диэлектрической моделью блика Шеффера, когда есть зеркальное отражение, например, от пота на лбу, и есть рассеянное отражение от частиц пигмента «в глубине».
«Зеркальная компонента» — как если бы от белого объекта. В блике любой диэлектрик выглядит как белый. С металлами не так. Гладкий металл отражает «своим» цветом. Блик от золота всегда желтый. Блик от меди всегда красный.
Художник видит три цвета в точке, остальные — два
Ещё одна вещь, которая осложняет понятие «цвет», связана с тем, что когда мы смотрим в одну точку, мы видим сразу три цвета. Первое что мы «видим» (можем научиться видеть) — это «что же оттуда прилетело». Чтобы хорошо это видеть, нужна трубочка. Если человек не видит «что прилетело», он не сможет стать художником-реалистом. Много трюков и много самотренировки требуется художнику, чтобы понять, что из какой точки прилетело и нарисовать именно «это». Тогда картина будет реалистичной. Вместо этого мозг решает полезные задачи (поскольку быть художником абсолютно бесполезно в гонке за выживание). Мозг определят что туда «упало». Глядя на улицу, мы понимаем, что трава освещена закатным солнцем. Тень голубовата, потому что освещена небом. И одновременно вы видите в этой точке какого цвета объект. Глядя на человеческое лицо вы увидите мельчайший румянец, потому что это эволюционно чрезвычайно важно (зарумянилась девушка или нет), но при этом вам все равно, как падают тени на её лицо, освещена она закатом или полуденным солнцем, или это облачное небо. Проблема в том, что не художник видит это одновременно два цвета, не отдавая себе отчет в этом, а художник должен видеть три цвета.
Когда мы рисуем то, что мы видим, в смысле окрасок, мы начинаем рисовать как дети. А художнику приходится отключать очень много алгоритмов зрения, чтобы превратиться в «фотоаппарат».
Баланс белого
«Баланс белого» в фотоаппаратах не значит вообще ничего. Это шаманство. Как в кулинарных книгах — «варить до готовности», «добавьте соли и перца». Для фотографа это имеет смысл, они знают что будет меняться, если эту рукоятку повернуть, но на самом деле абсолютно не понятно что это такое. Я догадываюсь что там происходит, но это хуже чем о цвете говорить. Я бы предпочел не говорить о «балансе белого», надо держаться твердой почвы.
Цветовой треугольник
У нас есть некоторое трёхмерное цветовое пространство в котором живут наши вектора , условно назовём его RGB, чтобы компьютерщикам было легче. И Вернулись к излучениям. Кто-то светит в глаз.
Вопрос: Любые ли комбинации R, G и B возможны?
Ответ: Конечно же, нет.
Мы рисовали спектры чувствительности. Они частично пересекаются. Они нигде не строго ноль, там где другие не ноль. Это значит, что вы не можете возбудить одну колбочку, не возбудив, хотя бы немного, колбочку другого типа.
Если бы мы могли освещать «спектром с отрицательной энергией», то мы могли бы в любую точку пространства, включая и отрицательные, зайти.
Если осветим вот так, всё будет хорошо, но это физически невозможно.
Математически можно сказать вот что: Всевозможные спектры излучений в исходном бесконечномерном пространстве образуют конус (не «круглый», а из линейной алгебры).
Конус — это такая структура, что если вектор принадлежит конусу, то вектор умноженный на неотрицательное число тоже принадлежит конусу.
Неотрицательные функции одного аргумента, которыми мы бомбардируем наш глаз — они образуют конус.
Представьте бесконечномерный куб и тот «квадрант», где все оси положительные, там и будет жить наш конус.
Поскольку наш глаз осуществляет линейную проекцию а пространство RGB, то здесь, в цветовом пространстве, все допустимые реакции тоже будут образовывать конус. Более того — выпуклый конус. Это значит что сумма двух векторов конуса с неотрицательными коэффициентами так же принадлежат конусу.
Построим сечение и сделаем центральную проекцию. Плоскость цветности мы можем ввести как угодно. Из нуля растет яркость.
На плоскости цветности, раз это конус, у нас должна быть какая-то выпуклая фигура.
То что эта штука называется треугольником — это отдельный юмор. У неё два угла. Но я вас сейчас с лёгкостью докажу, что на самом деле у цветового треугольника должен быть один угол. И это очевидно. Почему их два — совершенно не понятно.
Вспомнив, как устроены функции, и что это выпуклое множество, мы можем сказать, что любую функцию можно собрать из выпуклой суммы дельта-функций.
Математики меня бы убили за такую вещь, но… в пределе. Что бы это ни значило.
Давайте возьмем такую мелкую-мелкую дискретизацию и скажем, что любая функция в пределах этой дискретизации — это сумма каких-то столбиков. Это значит, что любой спектр, который может попасть нам в глаз — это выпуклая комбинация каких-то лазерных излучений, бесконечно узких. Это значит, что весь цветовой конус — это выпуклая оболочка реакций на лазерное излучение. С цветовым треугольником то же самое. ЦТ- это на плоскости цветности выпуклая оболочка лазерных излучений.
Начнем двигаться лазером из ультрафиолетового в инфракрасный. в цветовом пространстве мы обойдем какую-то петлю.
Почему петлю? Из нуля уйдем и в ноль вернемся.
Потому что на УФ не реагируем, на ИК тоже не реагируем.
Какая-то произвольная траектория.
Человек специфическим образом устроен, что здесь нет вогнутостей:
Это петля. У неё один единственный «клюв». И мы эту штуку гладко проецируем на плоскость. И у неё должен быть один «клюв». Это очевидно. В остальных местах всё непрерывно.
Но нет.
Дело в том что этот излом находится непосредственно в центре центральной проекции. А производные с двух разных сторон — разные.
Это не «клюв», который сходится к одной касательной, касательная справа и касательная слева — разные.
Поэтому УФ часть «клюва» проецируется сюда:
А ИК — сюда:
А все лазерные излучения живут вот здесь:
И каждой части этой дуги цветового треугольника приписать какую-то длину волны.
А вот этой штуке нельзя приписать никакие длины волн:
Потому что здесь замыкается выпуклая оболочка. Таких лазеров не бывает. Это можно возбудить только двумя дельта функциями минимум.
Цветовой треугольник — это выпуклая оболочка над реакциями на лазерное излучение.
Не все точки нашего RGB достижимы в принципе, по физике. Есть, как я говорил, трюк. Можно очень сильно дать человеку по голове, либо принять каких-либо веществ. Что для мозга то же самое. Если у нас уже на этапе обработки будут возникать удивительные числа, то там они могут возникать такие, которых в природе не бывает. С колбочки такого прийти не могло. Но в зрительной коре, под воздействием какой-то химии или механики, такие комбинации возникнуть могут. Или во сне. Во сне же мы получаем сигналы не от колбочек. В принципе, мы можем видеть цвета, которых в природе не бывает.
Вопрос: А в воображении можем?
Ответ: Я ничего не могу сказать про ваше воображение, простите. Будучи абсолютно честным, я даже про ваше существование ничего не могу сказать, а вы про воображение просите.
Мондриан
Был такой художник — Пит Мондриан. С Кандинским и Малевичем считается отцом абстрактной живописи.
У Мондриана есть характерные картины из прямоугольников нескольких цветов.
примеры
В цветоведении «мондриан» стал нарицательным, потому что это очень хороший воображаемый объект, наблюдая за реакцией человека, который смотрит на «мондриан» можно много сказать про зрительную систему. Меняя цвета на картине и меняя освещенность можно что-то понять про человека. Например, поняли, что если на картине есть белый, то человек не путает освещение с окраской, если белого нет, то может путать.
Если взять мондриан, который не бликует, очень матовый, и его осветить равномерно, а потом мы будем менять всевозможные окраски на мондриане. Что в цветовом пространстве (при фиксированном Х(глазе) и S(источнике)) «высечет».
Некоторые фотоаппараты фотографируют ИК сигнал от пульта телевизора — синим. И это только меньшее зло. На самом деле цветопередача любого фотоаппарата отвратительная. Но интерпретационная мощь человеческого зрительного аппарата настолько велика, что мы на это забиваем.
Человек насыщенные цвета любит больше, поэтому у телевизоров насыщенность задрана. Чтоб человек предпочитал телевизор смотреть а не в окошко. В окошке — серо и отвратительно, в телевизоре — прекрасно.
Цветовое тело
Фиксированно Х, фиксированно S, меняем φ, но оно зажато от 0 до 1.
Кроме черной точки:
есть белая точка:
Когда φ строго равен 1. Белый объект, всё отражает (если источник желтый, то «желтая точка»). За пределы этой точки мы уже не выйдем. Это уже не конус. Что же это?
Это выпуклая симметричная фигура, чечевицеобразная.
Почему эта штука симметрична? Это просто. На любой спектр окраски найдется другой, такой, что это единица минус первый спектр.
Теорема Максимова
Если вы знаете форму цветового тела, вы можете восстановить спектр S(λ) для всех λ. Для меня это просто шок. К несчастью, это не может быть хорошим алгоритмом цветовой константности, потому что никогда не бывает настолько много цветов, которые наблюдает человек, и они все по-разному освещены по мощности.
Солнце похоже на недокаленную лампочку(желтая), а небо, наоборот, — на перекаленную лампочку (голубая). Это к вопросу про цветовую температуру. Начали аппроксимировать источники света планковскими источниками. А у планковского источника есть соответствующая температура. До какой температуры надо абсолютно черное тело нагреть, чтобы оно такой спектр выдало из себя.
Я могу взять всевозможные:
для каждого планковского источника, которых всего однопараметрическое семейство, я могу построить цветовое тело, я могу спроецировать это цветовое тело на плоскость цветности, и оно займет не весь цветовой треугольник. Если я вижу в сцене что-то что выпадает за эту проекцию, я могу исключить этот источник из списка гипотез о том, чем это было освещено.
На западе это называется алгоритм gamut. Как применять теорему Максимова непонятно, потому что цветовое тело мы можем наблюдать только в лаборатории.
Задача цветовой сегментации
Есть более простая задача, чем задача цветовой константности. Вопрос, можем ли мы, глядя на фотографию, определить где кончается один цвет и начинается другой. Не называя цвета. Сказать — здесь скачок окраски.
Будем считать, что у нас нет текстур и акварелей. Однородные объекты, а между собой разные, они собой делят пространство и есть области с разной окраской. Разбиение изображения на эти области — это задача цветовой сегментации.
Много лет люди наступают на одни и те же грабли. Люди говорят: «Я же вижу что весь стол коричневый, значит, и программа должна это видеть.» Нужно просто покластеризовать цветовое распределение хорошим алгоритмом. Не работает. И никогда не заработает. Поскольку исходная посылка была ложной. То, что мы видим как объект одного цвета, в цветовом пространстве никак точкой саппроксимированно быть не может. В большинстве случаев. Если это равномерно освещенный мондриан, то да.
Представим идеального сферического коня в вакууме. Определенного цвета. Вот он висит и освещен бесконечно далёким солнцем. Сбоку. Вопрос: как будет проецироваться этот конь в цветовое пространство?
Ответ. В отличие от плоского коня, сферический конь в цветовом пространстве будет подмножеством прямой, проходящей через начало координат.
С этой штукой k-means не справится. И большая часть вещей выглядит так. А если сфера была ещё и гладкой, а не матовой, то возникает блик и у нас индикатрисса рассеяния имеет два члена, тогда у нас под интегралом будет взвешенная сумма двух цветов, и вот это штука станет кусочком плоскости, проходящей через ноль.
Можно показать, что в разных простейших случаях наблюдения различных объектов и разных условиях освещения, однородно окрашенные объекты будут проецироваться в цветовое пространство как линейные подмногообразия. Не обязательно через ноль проходят.
Можно ввести ранговую классификацию: иногда это будут точки, иногда — плоскости, который проходят через ахроматическую прямую. И по описанию сцены, утверждая, был ли белый источник, был ли объект гладким, или что источников было два, причем один параллельный а другой диффузный (как небо, со всех сторон), можно понять не только размерность этого подмногообразия, но и его положение относительно нуля и ахроматической прямой.
Оказывается, что это важно, потому что мы можем тогда сказать, как эта штука проецируется на плоскость цветности, потому то если это линейное подпространство, то она теряет в размерности при проекции на цветовой треугольник, что хорошо. А если мы спроецируем, то что мы видим на окружность цветового тона, то окажется, что во многих случаях, когда даже если это была плоскость, она на ЦТ стала прямой, проходящей через серую точку, а потому она спроецировалась в одну точку на окружности цветового тона. И вот это очень важно.
Человек потому и выделяет цветовой тон как отдельную координату в цветовом пространстве, потому то это наиболее стабильная компонента цвета при изменениях освещения и наблюдения.
В нашем цветовом пространстве есть ахроматическая прямая, куда проецируются спектры равные константе
Фототехника
У фотоаппарата спектры чувствительности должны быть линейной комбинацией человеческих, тогда ему достаточно трёх светочувствительных элементов, но поскольку это не так, то нужно больше, а делают три и не сводимых к человеку, поэтому у аппарата цветопередача далека от идеальной.
Мониторы
Интересно, что про мониторы ответ совершенно другой. Хороший монитор должен иметь как минимум пять типов источников света. Монитор может только выпуклую комбинацию своих трёх цветов изображать, а это всегда подмножество истинного ЦТ человека. Чтобы хорошо его саппроксимировать нужно взять еще несколько фильтров и пятиугольником аппроксимировать. В Америке есть одна фирма, которая планирует рано или поздно сыграть на этом.
Краски для принтера
Из-за метамерии окрасок, красок у принтера должно быть бесконечно много. Иначе не будет такого, что при разных источниках цвета картинка всё равно выглядит правильно. Это одна из причин, почему у профессиональных принтеров количество красок достаточно велико. И постоянно выпускают «патчи», которые улучшают метамерию при наблюдении в люминисцентном свете.
Lena512.tiff
C 1973 года в индустрии обработки изображений принято новые алгоритмы испытывать на изображении:
Вот тут даже разыскали эту «Лену».
У самих специалистов-тестировщиков изображение ниже простирается гораздо дальше. Я вот и подумал, почему бы цветоведам не придумать свою шутки и девушка в мандриане может стать стандартом.