Nick LaVassar

From Psych 221 Image Systems Engineering
Jump to navigation Jump to search

Introduction

Color vision deficiency (often called "colorblindness") affects hundreds of millions of people around the world. The deficiency is sex linked: approximately 8% of men have a CVD versus only 0.5% of females. This project aims to simulate the most common types of CVDs for people with normal color perception. The simulation will be run in realtime on an iOS device.


Background

Color vision deficiencies are characterized by reduced sensitivity to color as a result of anomalies in the eye's color receptors (called cones). In extremely rare cases, the cones in the eye are either completely absent or totally dysfunctional which results in monochromacy (no color perception). When only one cone is missing a person is said to be dichromatic. The most common CVDs are caused by a shift in the sensitivity of one of the types of cone in the eye and is known as anomalous trichromacy.

CVDs are classified according to which cone type is affected:

  • Protanomaly - L cone sensitivity is defective.
  • Deuteranomaly - M cone sensitivity is defective.
  • Tritanomaly - S cone sensitivity is defective.

Likewise, someone with dichromatic vision is completely missing either their L, M or S cones, and is called either a protanope, deuteranope, or tritanope, respectively.

Protanopia and deuteranopia reduce senstivity to red-green colors, while tritanopia reduces sensitivity to blue-yellow colors.


Methods

Overview

Simulation steps are as follows:

  • Precompute matrices mapping from RGB to opponent color space for range of CVD types and severities.
  • Linearize RGB values from input camera in preparation for calculations in LMS space.
  • Multiply linear RGB value with opponent CVD matrix to get opponent color space representation of what a color deficient person receives as input to their neural pathways.
  • Multiply deficient opponent colorspace representation by the inverse opponent matrix conversion of a normal color perceiver to get trichromat representation.
  • Reapply gamma and display on screen.

Computations

Anomalous trichromacy can be simulated by shifting the sensitivity of the L, M, and S cones in the following ways^1:

  • Protanomaly - Shift L cone toward M cone
  • Deuteranomaly - Shift M cone toward L cone
  • Trianomaly - Shift S cone:

We can convert from LMS to opponent color space using the following transform:

Then, by projecting the opponent color representation of LMS onto the spectral values of the primary phosphors, we arrive at a matrix conversion from RGB to opponent color space:

To obtain a \Gamma representation for given CVD, we simply insert the appropriately morphed cone distribution function and recompute the projection. The following functions are essentially linear interpolations between the L and M cones that also morph the functions to approximately overlap one another at either end of a full shift. Thus, these functions define simulated severities of a deuteranomaly or protanomaly.

Tritanomaly is modeled by simply linearly shifting the S cone distribution function.


Now, having precomputed \Gamma's for each of the CVDs of interest, we can transform each RGB pixel value into the opponent color representation for the color deficient individual. Then, we can return to a trichromatic representation of that signal in RGB space by multiply by the inverse of the opponent color transformation for someone with normal color perception.

Implementation

The method described was implemented on an iPhone to augment the device's camera feed in real time. As a result, the simulation is highly portable and easily distributed.

Since the color transformation matrices do not vary per pixel in a processed image, it was possible to apply the operations in parallel on the iPhone's GPU using the OpenGL shading language GLSL. Without parallelizing the computations on the GPU, interactive framerates would not have been achievable on a device with such limited computation resources.


Results

The following images demonstrate the effect of the three types of dichromacy that can be simulated with the previously discussed algorithm. Note how deuteropes and protanopes have roughly the same experience (difficulty distinguishing between red and green).

Normal Color Vision

Figure 1

Deuteranope

Figure 2

Protanope

Figure 3

Tritanope

Figure 4


Conclusions

Applying the previously described color vision deficiency simulation to a realtime device yielded a very interesting and hopefully useful tool. The simulation can be used to entertain and educate people about CVDs. It can also assist trichromatic designers in creating content for dichromates.

When using the tool it is important to remember that it is impossible to say that what you are seeing exactly reproduces the world as it is seen by any given dichromate. This simulation gives one of an infinite number of actual color representations. One should focus on the relationships between colors and how they become harder to distinguish not on the actual colors on the screen.

References

[1]Gustavo M. Machado, Manuel M. Oliveira, and Leandro A. F. Fernandes "A Physiologically-based Model for Simulation of Color Vision Deficiency". IEEE Transactions on Visualization and Computer Graphics. Volume 15 (2009), Number 6, November/December 2009. pp. 1291-1298.

[2]Hans Brettel, Françoise Viénot, and John D. Mollon, "Computerized simulation of color appearance for dichromats," J. Opt. Soc. Am. A 14, 2647-2655 (1997)

[3]Vischeck

Appendix I - Code and Data

http://itunes.apple.com/us/app/neweyes/id425311528?mt=8&ls=1

(Link may not be active just yet)


Back to Main Page