Pull to refresh

Про дальтонизм и моделирование цветовосприятия

Reading time5 min
Views3.3K
Как выяснилось в обсуждении предыдущего поста про дальтонизм, модель зрения с недостатком красных и зелёных колбочек была не слишком точна.

За прошедшие три недели я три раза переписывал алгоритм, моделирующий нарушения цветового зрения, каждый раз проверяя результаты на реальных дейтанопах (недостаток «зелёных» колбочек) и протанопах (недостаток «красных» колбочек). И теперь я готов поделиться с вами результатами своих изысканий. :)

И так, целью моделирования на самом деле было даже не картинка-результат, а создание алгоритма, который позволяет сказать, насколько, скажем, красный цвет воспринимается сильнее синего. Попутно было выяснено, что некоторые сервисы, моделирующие потерю цветового зрения на самом деле просто смещают a-b коэффициенты в CIE Lab модели и проверка на реальных дальтониках показала, что результат, выдаваемый ими далёк от позитива :)

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

Врезка первая. О том, как воспринимается цвет



Ощущение цвета зависит от уровня сигнала, поступающего в мозг от S,M и L колбочек (S, M и L – это, соотвественно, «зелёные», «красные» и «синие (фиолетовые)» колбочки).



Жёлтый цвет (далее — YY) воспринимается, как средний уровень M и L колбочек
Зелёный цвет воспринимается, как сила сигнала от S колбочек минус сила восприятия жёлтого
Красный цвет воспринимается аналогично зелёному – как сигнал от M колбочек минус YY

С синим, цианом и фиолетовыми же цветами беда. Начнём с того, что максимум восприятия L колбочек приходится на фиолетовый цвет:


По этой причине, собственно синий цвет воспринимается человеком, как разность между сигналами от L колбочек и силой восприятия жёлтого.

А вот циан и мажента воспринимаются как среднее между восприятием синий-зелёный (для лазури) и синий-красный (для маженты), где синий – это L-YY, а зелёный и красный, в свою очередь, – это S-YY и M-YY.

Таким образом, эталонным цветом, определяющим всё цветовосприятие является жёлтый, что и находит подтверждение в различных опытах:
«Добровольцам было предложено самостоятельно настраивать окраску светового потока, получая чистый желтый свет, лишенный красных и зеленых примесей.
Как и ожидалось, каждый испытуемый подобрал для «идеального желтого» свет с практически одной и той же длиной волны. Неожиданность заключалась в том, что количество колбочек, способных отличить желтый цвет от, допустим, красного, сильно отличалось у всех участников эксперимента, причем в полярных случаях разброс был сорокакратным. То есть восприятие цвета явно зависит не столько от рецепторов, сколько от мозга, обрабатывающего полученные рецептором сигналы.

На этих снимках хорошо виден разброс доли колбочек, отвечающих за восприятие разных цветов. На правом снимке преобладают колбочки, отвечающие за восприятие оттенков красного (слева и справа — снимки живой сетчатки двух разных людей).»



Запутанности в определении цвета добавляют ещё два фактора:

Фактор первый. Способность мозга корректировать своё ощущение жёлтого цвета, чтобы получить правильные цвета (это то, что нам известно под названием «точка белого» или «баланс белого» )

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



Ширина и интенсивность цветовых пучков не соответствуют ширине зоны восприятия колбочек, а получаемая картинка откалибрована для людей с нормальным цветовым зрением, поэтому чертовски сложно предугадать, как картинка на дешёвом мониторе с малым цветовым охватом будет восприниматься дальтоником. Можно даже смело сказать, что в большинстве случаев, на фотографии, показанной дешёвым монитором дальтоник увидит больше цветов, чем в реальной жизни. :)

Врезка вторая. О том, как цвет кодируется


Чтобы как-то разрулить ситуацию с цветовосприятием, ещё в 1931 году французским комитетом CIE была придумана цветовая схема, основанная на смешении трёх первичных цветов — красного, синего и зелёного. Схема получила название XYZ (http://ru.wikipedia.org/wiki/XYZ) и в результате опытов с тремя прожекторами и 200 людьми с нормальным цветовосприятием были получены некие усреднённые графики, справедливые для точки белого около 4300К. В последствии в 1964 году была проведена подобная серия экспериментов и графики (получившие название «стандартная модель цветовосприятия наблюдателя») были уточнены. На данный момент они имеют следующий стандартный вид:

Откладывая по трём осям значения R G и B (соответствующие X, Y и Z в названии схемы) была получена некая цветовая диаграмма, включающая в себя по идее все воспринимаемые человеческим зрением цвета. Именно на основе схемы CIE XYZ впоследствии были созданы современные цветовые схемы CIE Lab и Hunter Lab.
Модель CIE XYZ имеет известные недостатки. Прежде всего, нужно учитывать факт, что схема справедлива исключительно около точки белого 4300K. Кроме того, при понижении или повышении освещения, цветовой охват человека снижается, причём непропорционально: первыми пропадает цвета близкие к лазури, затем – красно-фиолетовые смещаются либо к красному, либо к синему и т.д.
Ну и, наконец, стандартная модель наблюдателя отличается от современных данных по светочуствительности колбочек (см. график вверху).

Для моделирования цветовосприятия я взял современные данные о светочуствительности колбочек. И вот, что у меня получилось.

Базовая цветочуствительность:




Восприятие цвета в зависимости от вида колбочек:



(для восприятия маженты сделан сдвиг красных колбочек на уровень минимума жёлтого)
Черта снизу показывает уровень светлоты, высота столбца над чертою – сила восприятия цвета. Таким образом красный цвет воспринимается немного более сильно, чем зелёный, пик же восприятия приходтся на красно-оранжевый. Минимальная сила восприятия приходится где-то на регион лазури.

Моделирование



Что происходит в случае протанопии? Уменьшается величина сигнала от красных колбочек, при этом точка белого остаётся на месте, но относительный уровень белого понижается в красном регионе (модель дана с шагом 10%):


Случай дейтанопии (снижение восприятия зелёного):


И самый сложный для моделирования случай – тританопия. Сложность заключается в смещении красного для получения маженты:


Реальная жизнь



Естественно, всё это красивые картинки, а как это согласуется с реальным миром? Модели были протестированы на двух протанопах (сошлись на коэффициентах снжения чуствительности M колбочек в 34% и 52%), одном дейтанопе (сошлись на коэффициенте снижения чуствительности S на 43%) и двух тританопах (78% и 92%).

Тестирование моделей производилось на основе оценки двух цветовых мишеней:
линейная и круглая

Удовлетворительным считался результат почти полного соответствия и расхождения только в области маженты (сразу за красным цветом). Кусок с мажентой – увы – мне пока побороть не удалось.: ( Сложный он для моделирования :)

А картинки?



Я подготовил несколько картинок, полученных в результате моделирования. При моделировании были использован коэффициент потери цветочуствительности 60%. Чтобы не перегружать пост картинками, привожу один сет, остальные же вы можете посмотреть тут ( представлены последовательно оригинал, тританопия, дейтанопия и протанопия):



В статье были использованы иллюстрации из Wikipedia и NGI Book, примеры для тестов найдены тут и тут.

А в следующем посте я расскажу о результатах, которые я смог получить с помощью модели (тест будет более про дизайн, чем про моделирование)
Tags:
Hubs:
+24
Comments16

Articles

Change theme settings