# TSL color space

TSL color space (Tint, Saturation and Lightness) is a perceptual color space which defines color as tint (the degree to which a stimulus can be described as similar to or different from another stimuli that are described as red, green, blue, yellow, and white, can be thought of as hue with white added), saturation (the colorfulness of a stimulus relative to its own brightness), and lightness (the brightness of a stimulus relative to a stimulus that appears white in similar viewing conditions). Proposed by Jean-Christophe Terrillon and Shigeru Akamatsu, TSL color space was developed primarily for the purpose of face detection.

## Conversion between RGB and TSL

The conversion from gamma-corrected RGB values (0–1) to TSL is straightforward:
* T={0.5−atan2⁡(g$^′$, r$^′$)/2π, if g$^′$≠00, if g$^′$=0{\textstyle T={\begin{cases}0.5-{\frac {\operatorname {atan2} (g', r')}{2\pi }}, &{\mbox{if}}~g'\neq 0\\0, &{\mbox{if}}~g'=0\\\end{cases}}} – the zero special case is to maintain the original behavior
* S=√(9/5 (r$^{′2}$+g$^{′2}$)){\textstyle S={\sqrt {{\frac {9}{5}}\left(r'^{2}+g'^{2}\right)}}}
* L=0.299R+0.587G+0.114B{\textstyle L=0.299R+0.587G+0.114B} – the Luma
where:
* r=R/(R+G+B), g=G/(R+G+B) {\textstyle r={\tfrac {R}{R+G+B}}, g={\tfrac {G}{R+G+B}}} – the rg chromaticity
* r$^′$=r−1/3, g$^′$=g−1/3 {\textstyle r'=r-{\tfrac {1}{3}}, g'=g-{\tfrac {1}{3}}} – centering on white
Likewise, the reverse transform is as follows:
* R=k⋅r{\textstyle R=k\cdot r}
* G=k⋅g{\textstyle G=k\cdot g}
* B=k⋅(1−r−g){\textstyle B=k\cdot (1-r-g)}
where:
* r=r$^′$+1/3 {\textstyle r=r'+{\frac {1}{3}}}
* g=g$^′$+1/3 {\textstyle g=g'+{\frac {1}{3}}}
* $r'={\sqrt {\frac {5S^{2}}{9(x^{-1}+1)}}}$
* $g'={\sqrt {\frac {5S^{2}}{9(x+1)}}}$
* k=L/(0.185r+0.473g+0.114) {\textstyle k={\frac {L}{0.185r+0.473g+0.114}}} – Luma converted to average intensity
* x=tan$^2$⁡(2π⋅(T−1/4)){\textstyle x=\tan ^{2}({2\pi \cdot (T-{\frac {1}{4}})})}
For T = 0, conversion from TSL to RGB is not unique because the sign of r' is lost by the forward conversion due to the g' = 0 special case. Removing the special case produces a system that deviates from the original paper but preserves the sign.

## Advantages of TSL

The advantages of TSL color space lie within the normalization within the RGB-TSL transform. Utilizing normalized r and g allows for chrominance spaces TSL to be more efficient for skin color segmentation. Additionally with this normalization, the sensitivity of the chrominance distributions to the variability of skin color is significantly reduced, allowing for an easier detection of different skin tones.

### Comparison of TSL to other color spaces

Terrillon investigated the efficiency of facial detection for several different color spaces. Testing consisted of using the same algorithm with 10 different color spaces to detect faces in 90 images with 133 faces and 59 subjects - 27 Asian, 31 Caucasian, and 1 African). TSL showed superior performance to the other spaces, with 90.8% correct detection and 84.9% correct rejection. A full comparison can be seen in the table below.
| Color Space | # of Elements | CD (%) | CR (%) |
| TSL | 258 | 90.8 | 84.9 |
| r-g | 328 | 74.6 | 80.3 |
| CIE-xy | 388 | 56.6 | 83.5 |
| CIE-DSH | 318 | 60.9 | 75.0 |
| HSV | 408 | 55.7 | 84.7 |
| YIQ | 471 | 47.3 | 79.8 |
| YES | 494 | 41.6 | 80.3 |
| CIELUV | 418 | 24.1 | 79.0 |
| CIELAB | 399 | 38.4 | 83.6 |

## Disadvantages of TSL

TSL space could be made more efficient and robust. There currently exists no color correction algorithms for different camera systems. Additionally, despite a better accuracy of skin tone detection, detecting dark skin color still proves to be a challenge.

## Applications

Being a relatively new color space and having very specific uses, TSL hasn’t been widely implemented. Again, it is only very useful in skin detection algorithms. Skin detection itself can be used for a variety of applications – face detection, person tracking (for surveillance and cinematographic purposes), and pornography filtering are a few examples. A Self-Organizing Map (SOM) was implemented in skin detection using TSL and achieved comparable results to older methods of histograms and Gaussian mixture models.