Understanding and Modeling Color Blindness


Color blindness is a hereditary genetic disorder. Around 1 in 12 males are affected by color blindness while 1 in 200 females are affected by color blindness. Around 300 million people in the world are estimated to have color vision deficiency. The reason more males are impacted is because color blindness occurs when there is a defect in the X chromosome. Since males have one X chromosome compared to two in females, males are more susceptible to X chromosome defection. It’s almost like females have built-in Dual Modular Redundancy for color perception!

A person who has all three types of cones working normally is referred to as a trichromat. A person who has two types of cones working is referred to as a dichromat. The most rare of them all is a monochromat who has one type of cone working. Dichromatic vision is further classified into three types: protanopia, where L cones are missing, deuteranopia, where M cones are missing, and tritanopia, where S cones are missing.

In addition to dichromatic vision (protanopia, deuteranopia, and tritanopia) where one cone type is completely missing, there is also anomalous trichromatic vision, again of three different kinds (called protanomaly, deuteranomaly, and tritanomaly), where the corresponding cone cells, instead of being absent, are mutated to peak at a different wavelength from that in the normal cone cells. Anomalous trichromats are sometimes called “color weak” instead of color blind.

In this tutorial, we will focus on dichromatic vision and use protanopia as a running example, but the same principles apply to the other kinds of color blindness. We will explore some of the key properties of a dichromat's color vision, and attempt to predict/simulate the color perception of a color-blind person.

The Principles

Normal color perception is 3D in that each color can be represented by a point in a 3D space. The plot below plots the spectral locus in the LMS space. A fundamental assumption we will make here is that the set of colors that a dichromate can see is strictly a subset of the set of colors that trichromats can see. So where are those colors perceivable by a dichromat? Well, since one type of cone cells is missing, the dichromatic color space should have only two degrees of freedom as opposed to three, and a dichromate's perceivable colors make up a 2D, rather than 3D, manifold. What this means is that a set of colors that are visually distinct to a normal trichromat will be perceived as the same color by a dichromat. How do we rigorously study this weakened color vision?

As with the original Brettel et al. paper, the particular LMS cone sensitivities used here are the Smith & Pokorny (1975) cone fundamentals, which are derived from Judd-Vos modified CIE XYZ 2-deg color matching functions.

Confusion Lines

The key lies in the notion of confusion lines, which are defined in a trichromatic color space, e.g., LMS. All the points on a confusion line represent colors that are perceptually the same to a dichromate. Since a protanope misses L cones, all colors that differ only in the L cone responses naturally lie on a confusion line; that confusion lie is necessarily parallel to the L-axis in the LMS space. In fact, all the confusion lines for protanopia are parallel to the L-axis in the LMS space. Similarly, deuteranopia and tritanopia confusion lines are parallel to the M-axis and S-axis, respectively.

Toggle the "Show Lines of Confusion" button in the plot below to see the lines. While it's not shown here, one interesting thing about confusion lines is that they converge to the same point in the chromaticity diagram. The exact convergence point depends on the particular kind of dichromacy. See a visualization here. This is because the confusion lines are parallel to each other in the XYZ/LMS space, and the projection from XYZ to xy is a perspective projection, which converges parallel lines. Meyer and Greenberg (1988) actually builds a dichromatic color vision model using the convergence point (they also leveraged the convergence points of different dichromacy to derive the LMS cone sensitivities from the XYZ color matching functions, which is an interesting intellectual exercise left for you to explore).


We know that all colors on the same confusion line are perceptually the same, but still we don't know, for all those colors on a confusion line, exactly what sort of color a dichromate sees. The key to answer this question is the notion of isochromes, which are colors perceived correctly by a dichromate? Let's say we know one such color P for protanopes, then we can draw a protanopia confusion line that goes through P; by definition all the colors on that confusion line will be perceived as color P by a protanope. The question is how do we find the isochromes?

It's impossible to find isochromes by simply querying trichromats and dichromates. Imagine we have a normal trichromat and a protanope look at a color; even if they have the same color sensation, how would they communicate with each other about it? You might be tempted to find isochromes by asking a dichromate whether two colors appear the same. For instance, to know what color a protanopia actually sees for color A, you show color A and another color B to a protanope and ask to her tell you whether the two colors match. However, this color matching experiment will only tell you that colors A and B appear the same, but it doesn't tell you that what she actually sees is B when presented A — it might very well be that colors A and B are both seen as another color C. Fundamentally, we just can't precisely and quantitatively communicate our internal perception (about color) verbally. It's just like asking someone what happiness is — their happiness might be different from yours. After all, it's difficult to be empathetic.

Remarkably, there is an exceedingly rare color-blindness called unilateral dichromacy, where a person’s one eye is dichromatic and the other eye is trichromatic. These people have two kinds of eyes but one brain. Color matching between the two eyes by a unilateral dichromate would allow us to identify isochromes, assuming of course that the dichromatic eye and the trichromatic eye are similar to those of a "normal" dichromatic and trichromatic eye, respectively. There are a handful of studies reported on unilaterial dichromates. Judd (1948) is perhaps the most cited; it actually didn't obtain any new data. Rather, it meticulously summarized data from prior studies, where only 8 had quantitative data that were useful. Sloan and Wollach (1948), Graham and Hsia (1958), MacLeod and Lennie (1976) reported results for a unilateral protanope/deuterape, while Alpern et al. (1983) reported results for a unilateral tritanope.

Such studies show that monochromatic lights at 475 nm and 575 nm are isochromes for protanopes and deuteranopes (i.e., no significant difference between these two types when it comes to isochromes, but of course their confusion lines are different), and for tritanopes isochromes are found at 485 nm and 660 nm.

Dichromatic Color Perception Model

Now with the handful of isochromes, let's see how we can attempt to build a model to simulate the world a dichromate sees. Before we proceed, it is critical to note that while everything described so far (confusion lines and isochromes) have physiological justifications and are empirically validated, none of the simulation models is validated, fundamentally because it's hard for a dichromat (and any person for that matter) to precisely communicate their color perception, which is exacerbated by the exceedingly small population of unilateral dichromates. It's fair to say that, even today, we still don't have a good model for dichromatic color vision.

In general, there are two main ways to build a model for dichromatic color perception: that of phenomenological nature such as Brettel et al. (1997), Viénot et al. (1999), and Meyer and Greenberg (1988) and that based on first principles of the visual pathway such as Jiang et al. (2016) and Rodríguez-Pardo and Sharma (2011). The phenomenological methods intentionally build simplistic (linear) models to fit the experimental data, but there is little physiological justification. These methods have proven to be useful in practice, and it's not controversial to observe that the phenomenological methods dominate the literature and how today's assistive technologies are built. In contrast, first principled methods build models based on how human visual system works. Their results do not (yet) perfectly match experimental results on unilateral dichromates, perhaps because there are a lot we don't know about the human visual system.

We will primarily focus on the phenomenological model described in Brettel et al. (1997). This choice is partially because of the popularity of that mode and partially because studying it will allow us to see where phenomenological models fall apart.

Brettel's Phenomenological Model

The model proposed by Brettel et al. assumes that all the isochromes lie on a plane. But experiments on unilateral dichromates give us only two isochromes, which are insufficient to form a unique plane. What Brettel et al. did is to further assume that all the equal-energy white (EEW; uniform power distribution across the spectrum) are isochromes (they called them "neutral colors"). Note that this means the origin $O$ in the LMS space (i.e., black; no light) is an isochrome too, since that's just a special instance of EEW with uniformly zero power across the spectrum. In fact, all the EEWs form a line that goes through $O$. $O$ being an isochrome isn't a bad assumption; after all, when there is no light, dichromates should see the same "black" as trichromats do.

So what we have is an isochrome line $\overline{O\cdot EEW}$ and two ishchrome colors at 475 nm and 575 nm. This actually gives us two planes: a plan that contains $\overline{O\cdot EEW}$ and 475 nm, and the other plan that contains $\overline{O\cdot EEW}$ and 575 nm. Brettel's model basically says that all the isochromes lie in these two half-planes that join at $\overline{O\cdot EEW}$. Toggle the "Show Isochrome Planes" switch in the plot above. You will see the two isochrome half-planes for protanopia. It turns out that the two planes are almost parallel to each other; their normals are $[1, -1.16, 0.12]$ and $[1, -1.12, 0.09]$, respectively.

Given the isochrome planes, we can then easily build a dichromatic color vision model. Recall that all the colors that are on a confusion line are perceptually the same. The intersection between a confusion line $\mathbf{L}$ and the isochrome planes is then naturally the color that is actually preceived by dichromates when they are presented with any color on $\mathbf{L}$.

This allow us to predict a dichromat's color perception for any given color. Take protanopia as an example. Given a color $C$, we move it along its confusion line until it intersects one of the isochrome planes. Geometrically, this is an orthographic projection of $C$ toward the MS-plane and intersecting the projection with the isochromes planes, because confusion lines for protanoipa run parallel to the L-axis. Equivalently, you can also think of this as an oblique projection of the color $C$ onto the isochrome planes. Either way, we end up with an intersecting point $C'$. $C'$ has two properties. First, it lies on the isochrome planes, so its color as perceived by a normal trichromat is the same as that of a protanope. Second, $C'$ and $C$ are perceptually the same by a protanope. Combining these two properties, we know that the actual perception of $C$ by a protanope is $C'$.

Toggle the "Show Locus for Protanopes"; you will see that spectral colors are now projected to the planes. Spin the plot and hover your mouse over the spectral colors. Pay attention to the LMS values of the projected colors. Find the corresponding original colors; you can see that the M and S responses are the same, but the L responses are different.

Some Remarks on Brettel's Model

There are many nice properties of the Brettel model in addition to being computationally very efficient to implement. It was designed to fit perfectly with the experimental data on unilateral dichromates (by constructing the isochrome planes to go pass the known isochromes). It was also wise to assume that the entire line of $\overline{O\cdot EEW}$ is an isochrome line, which essentially gives rise to the two planes as opposed to a single plane if one had assumed that only $EEW$ was an isochrome. Why is it important to have the origin $O$ as an isochrome? For one thing, it ensures that luminance doesn’t affect whether a color is an isochrome or not. If a color $C$ is an isochrome, i.e., lying on the isochromes planes, it’s guaranteed that any color on the line $\overline{OC}$ lies on isochrome planes, too. What do colors on the $\overline{OC}$ line have in common? They have the same chromaticity but differ in luminance.

Interestingly, the two-plane model also corroborates results on a unilateral tritanope reported in Alpern et al. (1983), which show that "A mixture of the two isochromes that appeared purple to the normal eye appeared neutral to the tritanopic eye." The two isochromes for tritanopia are 485 nm and 660 nm. Now if you calculate the two isochrome planes for tritanopia, you will see that the two planes are nowhere close to being parallel to each other. What this means is that the line connecting 485 nm and 660 nm does not lie in the two planes, corrobotating the fact that a mixture of the two isochromes is not an isochrome. If we had simply construct the isochrome plan by connecting $O$, 485 nm, and 660 nm or by connecting $EEW$, 485 nm, and 660 nm, we would get one single isochrome plane, and thus a mixture of two isochromes would end up being another isochrome.

Of course, there is no reason why the isochromes lie on planes. Here is an evidence that shows that the plane-model, while practically useful and perhaps a good approximation, is incorrect. Toggle "Show Locus for Protanopes" in the plot above and hover your mouse over short-wavelength lights, say 435 nm. You will see that they have negative L cone responses, which is biologically impossible.

Take an Eye Test

We now use the Brettel model to simulate the classic Ishihara test, which is a color perception test to detect red-green color deficiency. You might have seen the image below on the internet. It was named after its designer, Shinobu Ishihara, who first published his tests in 1917. The test consists of identifying the number in a set of purposefully designed plates. The image below is one of the plates; the number 2 would not be distinguishable by protanopes.

Click the "Simulate" button to show how this image would be perceived by a protanope based on the projection described before. If you are a trichromat, the number 2 would disappear, mimicking the color perception of a protanope when looking at the original image. You can also perform this simulation on your own image from your local disk. The plot on the right shows the LMS values of image pixels before and after the projection.

You might have noticed that the background white in the original image after simulation becomes pink-ish. That's because sRGB white, after protanopic projection in the Brettel model, would be outside the sRGB gamut. You can visually convince yourself of this by toggling the “sRGB gamut” switch in the first plot, and see that when projecting the gamut to the plane, some colors will be outside the gamut, meaning that some colors that protanopes can see won’t be precisely represented in the sRGB color space.

To deal with that, we simply clamp the values to the $[0, 255]$ range, essentially performing a gamut mapping using the Absolute Colorimetric rendering intent. In order to better display a protanopia-simulated image on a sRGB display, some color-blindness simulations choose display primaries and white to be isochromes. For instance, Vienot et al. (1999) use the display black (K), blue (B), and white (W) of a display gamut as isochromes to derive the projection plane, which is the diagonal plane formed by KBW, which is also guaranteed to pass through the yellow point of the gamut. While the actual simulated colors are slightly distorted in theory compared to using isochromes that are experimentally derived, the advantage of this approach is that more colors in the gamut, after projection, can still be in the gamut and thus displable; see the paragraph before the Conclusion section in Vienot et al. (1999).