| Face colour under varying illumination - analysis and applications | ||
|---|---|---|
| Prev | Chapter 5. Skin chromaticities seen by a colour camera | Next |
The chromaticity constraint method based on images is tested in 17 different colour spaces (Paper VI). For obtaining the images, the procedure presented in Section 4.2 was applied to three 1CCD webcameras, Alaris, Nogatech and Winnov cameras. The imaging arrangements were the same as those used with the Sony 3CCD camera except that the images were taken only from 2 persons (one from the yellowish and one from the pale skin group). This produced two 16 image series for each camera. For the Sony camera, ten image series were chosen from the same skin groups totalling twenty series. From the image series taken by these four cameras, skin regions were manually selected and extracted for further processing. The extracted skin RGB values were subjected to colour space conversion and after that quantized to 1 % steps of the whole chromaticity range. However, the colour space conversion does not remove chromaticity shifts or effects caused by noise. It can only remove the redundancy of RGB coordinates by separating intensity and chromaticity data.
These colour spaces are rather device-oriented, because human vision oriented spaces like XYZ or CIE Lab require an illumination-dependent transform matrix and cannot therefore give much better results.The colour spaces employed can be classified, based on the conversion method, into two groups. The first group’s colour spaces are calculated using linear transforms from RGB, and the spaces of the second group are obtained via nonlinear transforms of RGB. The chosen linear transform based colour spaces are: I1I2I3 (Ohta’s features), YES, YIQ, YUV, YCrCb (Rec. 601-5 and 709). Among the nonlinear transforms are: NCC rgb, modified rgb, natural logarithm ln-chromaticity, P1P2, l1l2l3, ratios between channels (G/R, B/R, and B/G), HSV, HSL, modified ab, TLS and Yuv. Equations for these transformations are presented in Appendix 1. The RGB data was preprocessed by scaling it between 0 and 1 except for the ln-chromaticity in which case the range was 0-255. Some of the transformations needed further processing of RGB values: 1) pixels with zero intensity (a special handling in NCC rgbI transformation; removed before modified rgb, P1P2, uv and modified ab transformations), 2) pixels with achromatic colours (special handling in the case of HS-spaces, removed before l1l2l3 transformation), 3) pixels with zero green value (removed before modified ab transformation), and 4) one or more channel is zero at a pixel (removed before ln-transformation).
It was noticed that the brightness control or lack of it can have a strong effect on the possible skin chromaticities. If there is no automatic brightness or gain controller, it is possible for one channel to have low values or even underclipping. This can be clearly seen from Figure 24a for the Winnov camera. The locus is quite big but it can be made smaller by using only values over a certain intensity at each channel as in Figure 24b. The latter case is that it limits the possible intensity change range while the former reduces discriminability between background and skin objects. However, there are problems with a brightness controller, like lost of colour data due to colour bleaching.

Figure 24. Winnov locus in NCC rgb from (a) original data and (b) data associated with values higher than 25 in each channel (maximum value 255).
Not all colour spaces give uniform presentation for skin chromaticities. In HS-spaces (HSV, HSL, HSI and HSB) and TSL spaces plotted in Cartesian coordinates, the skin chromaticities do not form a uniform cluster, as shown in Figure 25

Figure 25. There was no single cluster for (a) HS-chromaticities in Cartesian coordinates or (b) TS-chromaticities.
If the HS-space is correctly visualized in polar coordinates, this improves uniformity and produces only one cluster (See Figure 26). Appendix 2 displays more images about skin chromaticities in other colour spaces. As can be observed from these images, the chromaticity constraint can be modelled with straight lines and / or quadratic curves except TSL-space. For HS-spaces, the modelling was considered only in polar coordinates.
Next, it was evaluated how well different skin groups (pale and yellow) overlap in colour spaces. The overlap is defined as the percentage of the number of skin colour bins common to both groups divided by the amount of all skin coloured pixels. It was calculated for 4 calibrated conditions (except Nogatech, where only 3 calibrated cases were used because of limited calibration capabilities) and the results can be seen in Table 12. The same was done also for all 16 cases (Table 13). It can be concluded from these tables, that the overlap between different skin groups was in all cases reasonably high. Table 14 compares the overlap between different cameras and the percentage occupied by the constraint from the total area. As shown in this table, the total overlap between all cameras is much lower than the overlap between brightness (gain) controlled cameras (Alaris and Nogatech) and between cameras without it (Sony and Winnov). However, the sparsity of the colour space values was not evaluated neither was their applicability for modelling mixture illuminations or dichromatic reflection model. It seems that the behaviour of skin chromaticities on a colour space is dependent on the selected camera and the other colour spaces do not produce better results than NCC rgb.
Table 12. Overlapping percentage between different skin groups.
| colour space | Calibrated cases in [%] | |||
|---|---|---|---|---|
| Alaris | Nogatech | Winnov | Sony | |
| TSL | 57.1 | 49.3 | 65.6 | 69.6 |
| mod. ab | 52.8 | 49.2 | 59.8 | 70.4 |
| HSV | 47.2 | 51.8 | 69.3 | 66.8 |
| HSL | 49.3 | 50.5 | 67.6 | 69.2 |
| YES | 60.9 | 60.6 | 72.3 | 72.9 |
| YIQ | 62.5 | 60.1 | 73.7 | 72.2 |
| YUV | 58.9 | 58.4 | 70.2 | 74.2 |
| Yuv | 53.2 | 49.7 | 62.6 | 72.3 |
| P1P2 | 56.6 | 46.6 | 61.9 | 71.9 |
| YCbCr1 | 62.3 | 61.6 | 70.8 | 70.1 |
| YCbCr2 | 62.4 | 59.4 | 73.7 | 71.8 |
| NCC rg | 61.0 | 47.9 | 62.9 | 72.2 |
| NCC rb | 63.1 | 49.1 | 64.7 | 73.5 |
| NCC gb | 60.7 | 46.9 | 61.2 | 73.2 |
| mod. rg | 58.0 | 54.7 | 72.3 | 70.6 |
| mod. rb | 58.2 | 49.8 | 63.8 | 70.5 |
| mod. bg | 56.3 | 48.2 | 62.6 | 72.9 |
| logchroma | 60.9 | 43.3 | 58.6 | 69.2 |
| ratio g/r_b/r | 70.6 | 58.1 | 69.0 | 63.9 |
| ratio g/r_b/g | 64.3 | 60.0 | 65.6 | 66.4 |
| ratio b/r_b/g | 66.7 | 65.2 | 68.0 | 65.1 |
| I1I2I3_I2I3 (Ohta) | 62.4 | 58.9 | 69.0 | 71.9 |
| l1l2l3_l1l2 | 58.9 | 76.9 | 79.6 | 71.4 |
| l1l2l3_l1l3 | 67.4 | 79.4 | 79.2 | 77.0 |
| l1l2l3_l2l3 | 59.2 | 70.4 | 75.8 | 68.5 |
Table 13. Overlapping percentage between different skin groups.
| colour space | All 16 cases in [%] | |||
|---|---|---|---|---|
| Alaris | Nogatech | Winnov | Sony | |
| TSL | 75.8 | 67.3 | 72.7 | 88.7 |
| mod. ab | 68.2 | 56.1 | 65.0 | 78.7 |
| HSV | 72.1 | 69.1 | 67.2 | 89.9 |
| HSL | 74.3 | 67.9 | 69.7 | 88.0 |
| YES | 76.0 | 65.0 | 74.3 | 83.1 |
| YIQ | 75.6 | 64.4 | 74.2 | 83.5 |
| YUV | 75.2 | 64.4 | 72.6 | 83.5 |
| Yuv | 65.6 | 58.1 | 69.1 | 79.6 |
| P1P2 | 73.8 | 58.5 | 76.1 | 83.0 |
| YCbCr1 | 76.8 | 64.6 | 74.6 | 82.9 |
| YCbCr2 | 74.3 | 64.9 | 75.9 | 82.5 |
| NCC rg | 74.6 | 59.1 | 79.1 | 82.4 |
| NCC rb | 74.5 | 59.7 | 79.6 | 84.8 |
| NCC gb | 74.9 | 59.8 | 78.4 | 83.0 |
| mod. rg | 67.9 | 65.4 | 72.1 | 83.1 |
| mod. rb | 74.5 | 61.9 | 75.4 | 84.2 |
| mod. bg | 78.6 | 60.1 | 75.9 | 84.8 |
| logchroma | 72.6 | 54.3 | 77.6 | 78.8 |
| ratio g/r_b/r | 53.7 | 63.7 | 74.6 | 64.1 |
| ratio g/r_b/g | 63.5 | 64.4 | 75.3 | 68.3 |
| ratio b/r_b/g | 57.9 | 67.5 | 70.7 | 64.0 |
| I1I2I3_I2I3 (Ohta) | 74.6 | 64.7 | 73.5 | 82.9 |
| l1l2l3_l1l2 | 87.5 | 95.3 | 87.9 | 99.4 |
| l1l2l3_l1l3 | 89.4 | 96.4 | 87.7 | 98.8 |
| l1l2l3_l2l3 | 89.3 | 95.6 | 85.3 | 98.8 |
Table 14. Overlapping between cameras and size of skin locus in the colour space.
| colour space | Overlapping [%] | Total size in [%] | ||
|---|---|---|---|---|
| All 4 cameras | Alaris and Nogatech | Sony and Winnov | Sony | |
| TSL | 17.7 | 59.3 | 53.1 | 25.8 |
| mod. ab | 13.2 | 53.4 | 43.0 | 45.2 |
| HSV | 17.2 | 60.6 | 47.8 | 55.6 |
| HSL | 17.6 | 59.6 | 50.1 | 44.2 |
| YES | 17.6 | 57.2 | 32.5 | 15.8 |
| YIQ | 17.6 | 57.4 | 32.3 | 12.7 |
| YUV | 14.1 | 56.3 | 27.4 | 14.3 |
| Yuv | 14.6 | 53.2 | 47.0 | 28.6 |
| P1P2 | 17.3 | 55.5 | 57.9 | 13.0 |
| YCbCr1 | 17.9 | 56.2 | 33.4 | 15.0 |
| YCbCr2 | 17.7 | 56.5 | 32.9 | 15.5 |
| NCC rg | 17.4 | 55.5 | 57.4 | 14.2 |
| NCC rb | 18.3 | 56.9 | 59.2 | 14.0 |
| NCC gb | 17.9 | 56.4 | 58.6 | 14.0 |
| mod. rg | 18.9 | 55.0 | 51.9 | 23.2 |
| mod. rb | 20.0 | 58.7 | 56.5 | 25.9 |
| mod. bg | 20.6 | 59.2 | 64.8 | 31.0 |
| logchroma | 10.2 | 51.6 | 52.4 | 8.1 |
| ratio g/r_b/r | 7.3 | 39.2 | 21.6 | 0.0 |
| ratio g/r_b/g | 10.5 | 43.5 | 32.2 | 0.0 |
| ratio b/r_b/g | 7.7 | 39.3 | 25.8 | 0.0 |
| I1I2I3 (Ohta) | 17.3 | 56.7 | 31.8 | 15.8 |
| l1l2l3_l1l2 | 24.0 | 83.6 | 49.4 | 65.1 |
| l1l2l3_l1l3 | 30.3 | 85.8 | 56.1 | 65.1 |
| l1l2l3_l2l3 | 24.7 | 85.1 | 50.3 | 64.5 |