7.adaptive skin-color filter

31
ADAPTIVE SKIN-COLOR FILTER Abstract In this paper, we propose a new method, called adaptive skin color filter, for detecting skin color regions in a color image. The use of skin color provides an efficient way to find candidate regions for faces or hands in color images. However, it is not easy to find skin color regions because the color of skin regions varies from image to image due to a variety of reasons. Since most of the previous methods adopt a fixed threshold scheme, they are useful only in the restricted (i.e., controlled) environment. However, our method is applicable to images in more general situations since it is capable of adaptively adjusting its threshold values and effectively separating skin color regions from similar background color regions. Our method consists of basically two stages. In the first stage, a thresholding box in HSV color space is updated adaptively using a color histogram under the assumption that the area of skin color regions is comparable to that of similar background color ones. In the second stage, color vectors inside the thresholding box are classified into two groups: skin color vectors and background color vectors. Our method and other conventional methods were tested with 379 images obtained from the Internet. Experimental results show that our method is robust to the variations of skin regions' color compared to the conventional methods. 1

Upload: hien-vu

Post on 01-Jan-2016

16 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 7.Adaptive Skin-color Filter

ADAPTIVE SKIN-COLOR FILTER

Abstract

In this paper, we propose a new method, called adaptive skin color filter, for detecting skin color regions in a color image. The use of skin color provides an efficient way to find candidate regions for faces or hands in color images.

However, it is not easy to find skin color regions because the color of skin regions varies from image to image due to a variety of reasons. Since most of the previous methods adopt a fixed threshold scheme, they are useful only in the restricted (i.e., controlled) environment. However, our method is applicable to images in more general situations since it is capable of adaptively adjusting its threshold values and effectively separating skin color regions from similar background color regions. Our method consists of basically two stages. In the first stage, a thresholding box in HSV color space is updated adaptively using a color histogram under the assumption that the area of skin color regions is comparable to that of similar background color ones. In the second stage, color vectors inside the thresholding box are classified into two groups: skin color vectors and background color vectors. Our method and other conventional methods were tested with 379 images obtained from the Internet. Experimental results show that our method is robust to the variations of skin regions' color compared to the conventional methods.

Tóm tắt

Trong bài báo này, chúng tôi đề xuất một phương pháp mới, được gọi là adaptive skin-color filter, để phát hiện vùng màu da trong một ảnh màu. Việc sử dụng màu da cung cấp một cách hiệu quả để tìm vùng khuôn mặt hoặc tay trong hình ảnh màu.

1

Page 2: 7.Adaptive Skin-color Filter

Tuy nhiên, không dễ dàng để tìm thấy vùng màu da vì màu sắc của vùng da thay đổi từ ảnh này qua ảnh khác, do nhiều nguyên nhân khác nhau. Vì hầu hết các phương pháp trước đây thông qua một biểu đồ ngưỡng cố định, nó chỉ có ích trong hoàn cảnh hạn chế (ví dụ, kiểm soát). Tuy nhiên, phương pháp của chúng tôi được áp dụng cho hình ảnh trong các tình huống chung hơn vì nó có khả năng thích nghi điều chỉnh giá trị ngưỡng của nó và tách vùng màu da từ các vùng màu nền tương tự 1 cách có hiệu quả. Phương pháp của chúng tôi về cơ bản bao gồm hai giai đoạn. Trong giai đoạn đầu tiên, một “hộp ngưỡng” trong không gian màu HSV được cập nhật thích nghi sử dụng một biểu đồ màu theo giả định rằng khu vực của vùng màu da là tương đương với những màu nền tương tự. Trong giai đoạn thứ hai, vector màu sắc bên trong hộp ngưỡng được phân thành hai nhóm: vector màu da và vectơ màu nền. Phương pháp của chúng tôi và các phương pháp thông thường khác đã được thử nghiệm với 379 hình ảnh thu được từ Internet. Kết quả thực nghiệm cho thấy phương pháp của chúng tôi thì tối ưu hơn so với các phương pháp khác.

I. INTRODUCTION

One of the research topics in color image analysis is to find regions of specific color in a given color image. Such a technique is very useful, for example, to find a face in a human image, lane-markers in a road image, the ground in a soccer game image, etc. In this paper, we focus on developing a method for finding skin color regions because of its increasing usefulness in detecting and tracking faces or hands in color images. The use of color to find target objects in color images has proven to be robust to the variations of objects in scale or orientation, partial occlusion by other objects, etc. In general, however, it is not an easy task to extract regions of specific color from a given color image, since the color of an object varies with changes in illuminant color, illumination geometry (i.e., angle of incidence), viewing geometry (i.e., angle of reflectance), and miscellaneous sensor parameters. The method of extracting specific color regions using fixed threshold values in color

Một trong những đề tài nghiên cứu trong phân tích ảnh màu là để tìm các vùng màu cụ thể trong một ảnh màu cho trước. Một kỹ thuật như vậy là rất hữu ích, ví dụ, để tìm một khuôn mặt trong một bức ảnh con người, lane- marker trong một bức ảnh con đường, mặt đất trong một hình ảnh trò chơi bóng đá, vv. Trong bài báo này, chúng tôi tập trung vào việc phát triển một phương pháp cho việc tìm kiếm vùng màu da vì tính hữu dụng của nó ngày càng tăng trong việc phát hiện và theo dõi khuôn mặt hoặc tay trong ảnh màu. Việc sử dụng màu sắc để tìm các đối tượng mục tiêu trong ảnh màu đã được chứng minh là thiết thực cho các biến thể của các đối tượng trong quy mô hoặc định hướng, một phần bị che bởi các đối tượng khác, vv Nói chung, tuy nhiên, công việc trích xuất các vùng của màu xác riệng biệt từ một ảnh màu cho trước là không hề dễ dàng, vì màu của một đối tượng khác nhau với những thay đổi trong màu sắc rực rỡ, chiếu sáng hình học (ví dụ, góc tới), góc nhìn hình học (ví dụ, góc phản

2

Page 3: 7.Adaptive Skin-color Filter

space often fails except for simple cases. Therefore, an algorithm which copes with the variations of a target object's color must be developed.

xạ), và các thông số cảm biến khác. Phương pháp chiết xuất các khu vực màu sắc cụ thể sử dụng các giá trị ngưỡng cố định trong không gian màu thường thất bại ngoại trừ trường hợp đơn giản. Do đó, một thuật toán mà đối phó với các biến thể của màu sắc một đối tượng mục tiêu phải được phát triển.

There are several published papers related to this problem. Buluswar and Draper [1] proposed a methodwhere a multivariate decision tree (MDT) is used to determine whether the color of each pixel matches with the specified color or not, but this method requires the time-consuming processes of gathering samples and training the MDT. Sobottka and Pitas [2] transformed color vectors in RGB space into ones in HSV space and used only the hue and saturation components of them to find candidate face regions. However, their method lacks adaptation capability since the upper and lower threshold values for each component are fixed. The method of Fleck et al. [3], which is similar to that of Sobottka and Pitas, also has the same limitation. Yang and Waibel [4] showed that skin color distributions of different people under different lighting conditions have similar Gaussian distributions in normalized RG space. They estimated the parameters of a Gaussian distribution of normal skin color from sample face images and classified each pixel of a test image using the estimated distribution. But they did not consider the variation of the skin color distribution in the test image. Recently, Yang et al. [5] and McKenna et al. [6] proposed adaptive color distribution models for robust object tracking. Unfortunately, their methods are valid only when dealing with image sequences, and not applicable to the case of static images.

Có một số bài báo đã public liên quan đến vấn đề này. Buluswar và Draper [ 1 ] đề xuất một phương pháp mà một cây quyết định đa biến ( MDT ) được sử dụng để xác định xem màu sắc của mỗi pixel có khớp với màu sắc đã được định rõ hay không, nhưng phương pháp này đòi hỏi phải có các quá trình tốn nhiều thời gian thu thập mẫu và huấn luyện MDT . Sobottka và Pitas [ 2 ] chuyển đổi vector màu trong không gian RGB vào vector khác trong không gian HSV và chỉ sử dụng các màu sắc và các thành phần bão hòa chúng để tìm vùng mặt . Tuy nhiên , phương pháp của họ thiếu khả năng thích ứng vì trên các giá trị ngưỡng trên và dưới cho mỗi thành phần được cố định . Phương pháp Fleck et al. [ 3 ] tương tự như của Sobottka và Pitas , cũng có những hạn chế tương tự . Yang và Waibel [ 4 ] cho thấy sự phân bố màu da của những người khác nhau trong điều kiện ánh sáng khác nhau có phân phối Gaussian tương tự trong không gian RG bình thường . Họ ước tính các thông số của một phân phối Gaussian của màu da bình thường từ những hình ảnh khuôn mặt mẫu và phân loại mỗi điểm ảnh của ảnh mẫu đó dựa trên sự phân phối đã ước tính. Nhưng họ đã không xem xét sự biến đổi của sự phân bố màu da trong hình ảnh thử nghiệm . Gần đây, Yang [ 5 ] và McKenna [ 6 ] đề xuất mô hình phân phối màu không cố định để tìm ra vết của các đối tượng tốt hơn. Thật không may, phương pháp của họ chỉ có giá trị khi xử lý với các chuỗi hình ảnh , và không áp dụng cho trường

3

Page 4: 7.Adaptive Skin-color Filter

In this paper, we propose a new skin color filter that is capable of adaptively adjusting its threshold values and effectively separating skin color regions from seemingly similar, but different color regions. A brief description on our method is given as follows. We first choose rough upper and lower threshold values for each color component (hue, saturation, and value) by observing the skin color distributions of several sample images. These threshold values define a 3D box, called the thresholding box, in HSV color space. The color vectors inside the thresholding box play the role of standard color vectors representing normal skin color. When a new image is tested, in order to get robustness against illumination changes, the threshold values of the S and V components are updated adaptively (whereas those of the H component are fixed because we assume that the user-defined threshold values for hue constitute absolute boundaries of a skin color region in color space) based on a color histogram built in SV space. Then, a new thresholding box is formed with the updated threshold values. The assumption behind this adaptation procedure is that the area of skin color regions is comparable to (or larger than) that of the background regions whose color is similar to skin color. In other words, we assume that skin color vectors constitute a dominant cluster in HSV space within the range predefined by the upper and lower thresholds of a hue component. This assumption is valid in most applications. The adjustment of threshold values is, in fact, to search for the dominant cluster.

In most cases, color vectors of the pixels belonging to skin

hợp của ảnh tĩnh.Trong bài báo này , chúng tôi đề xuất một bộ lọc màu da mới có khả năng thích nghi điều chỉnh giá trị ngưỡng của nó và tách vùng màu da từ các vùng màu sắc dường như tương tự, nhưng khác nhau một cách hiệu quả . Mô tả ngắn gọn về phương pháp của chúng tôi được đưa ra như sau . Trước tiên chúng ta chọn giá trị ngưỡng trên và dưới thô cho mỗi thành phần màu (màu sắc , độ bão hòa , và giá trị cường độ sáng) bằng cách quan sát sự phân bố màu da của một số hình ảnh mẫu . Các giá trị ngưỡng xác định một hộp 3D , được gọi là hộp ngưỡng , trong không gian màu HSV . Các vector màu sắc bên trong hộp ngưỡng đóng vai trò của vector màu chuẩn đại diện cho màu da bình thường . Khi một hình ảnh mới được thử nghiệm, để chống lại sự thay đổi ánh sáng tốt hơn, các giá trị ngưỡng của S và V được cập nhật cho phù hợp (H được cố định bởi vì chúng tôi giả định rằng người dùng xác định giá trị ngưỡng cho màu sắc tạo thành ranh giới tuyệt đối của một vùng màu da trong không gian màu ) dựa trên một biểu đồ màu sắc được xây dựng trong không gian SV . Sau đó , một hộp ngưỡng mới được hình thành với các giá trị ngưỡng vừa được thay đổi . Giả định đằng sau thủ tục thích ứng này là diện tích vùng màu da có thể so sánh được với ( hoặc lớn hơn ) của các khu vực nền có màu sắc tương tự như màu da . Nói cách khác, chúng tôi giả định rằng các vector màu da tạo thành một cụm chi phối trong không gian HSV trong phạm vi đã xác định trước bởi các ngưỡng trên và dưới của thành phần màu sắc. Giả định này đúng trong hầu hết các trường hợp . Việc điều chỉnh giá trị ngưỡng , trong thực tế, để tìm kiếm các cụm chi phối.

Trong hầu hết các trường hợp, các vector màu của các điểm

4

Page 5: 7.Adaptive Skin-color Filter

color regions are likely to be included in the new thresholding box. But this box is not enough to separate skin color regions from background regions of slightly different colors. We will use the term background colors to indicate similar but different colors which need to be distinguished from the true skin color. The background color vectors tend to coexist with the skin color vectors in the thresholding box. Cluster analysis is performed to determine if dominant background color vectors exist in the box. If they do exist, they are separated from the skin color vectors by a linear classifier. The linear classifier divides the thresholding box into two parts (i.e., classes) with a plane. Finally, the vectors that belong to the class whose mean vector is closer to the mean of the skin color vectors obtained in advance from a variety of sample images are chosen as skin color vectors. This paper is organized as follows. In Section 2, a description of how to adaptively update the threshold values for each color component is given. Separating skin color vectors from background color vectors is considered in Section 3. In Section 4, experimental results are shown. Conclusions are given in Section 5.

ảnh thuộc vùng màu da có khả năng được chứa trong hộp ngưỡng mới . Nhưng hộp này là không đủ để tách vùng màu da từ các vùng nền của màu sắc yếu . Chúng tôi sẽ sử dụng các điều kiện màu nền để chỉ ra màu sắc tương tự nhưng khác nhau mà cần phải được phân biệt với màu da thật. Các vector màu nền có xu hướng cùng tồn tại với các vector màu da trong hộp ngưỡng . Cụm phân tích được thực hiện để xác định xem dominant background color vectors liệu có tồn tại trong hộp. Nếu chúng vẫn tồn tại , chúng được tách ra từ các vector màu da của một bộ phân loại tuyến tính . Bộ phân loại tuyến tính chia hộp ngưỡng thành hai phần với một mặt phẳng . Cuối cùng, các vector thuộc lớp mà có mean vector là gần với giá trị trung bình của các vectơ màu da thu được trước từ một loạt các hình ảnh mẫu được lựa chọn như là vectơ màu da . Bài viết này được tổ chức như sau . Trong phần 2, một mô tả làm thế nào để cập nhật các giá trị ngưỡng cho mỗi thành phần màu được đưa ra. Tách vector màu da từ vector màu nền được xem xét trong phần 3 . Kết quả thực nghiệm được trình bày trong phần 4. Kết luận được đưa ra trong phần 5 .

II. DETERMINE THRESHOLD VALUES FOR EACH COLOR COMPONENT1. Setting initial threshold values

In general, the color of each pixel in a color digital image is represented in terms of a combination of R, G, and B values. But treating color quantities in RGB space is not preferred because R, G, and B values are coupled together so that varying illumination affects all the R, G, and B values of

Nhìn chung, màu sắc của mỗi điểm ảnh trong một bức ảnh màu kỹ thuật số được kết hợp bởi R, G, B. Nhưng xử lý màu sắc trong không gian RGB là không thích hợp vì các giá trị R, G, B được trộn lẫn. Trong bài báo này, tất cả các công việc của chúng tôi được thực hiện trong không gian màu

5

Page 6: 7.Adaptive Skin-color Filter

pixels. In this paper, all of our work is carried out in HSV (hue, saturation, and value) space instead of in RGB space [7,8]. The HSV representation of color is known to be more compatible with human perception. In other words, the role of each component in HSV space is more understandable by human beings. Therefore, color analysis can be performed more easily in HSV space. Initially, upper and lower threshold values for each color component are chosen manually by observing the skin color distributions of several distinctive sample images that were obtained under various illumination conditions. These threshold values define a 3D box, called the thresholding box, in HSV space. The color vectors inside the thresholding box play the role of standard color vectors representing normal skin color. Note that this box should be large enough to cover most skin color vectors appearing in the sample images. Initial threshold values used in this paper are shown in Table 1, where we shifted hue values by 0.5 (i.e., 1803) to make the center of the hue axis indicate pure red. Because most of the sample images used in our experiments were photographs of yellow people, the threshold values of Table 1 were chosen to reflect the characteristic of skin color of yellow people. If, for example, we need to find skin regions of white people, the threshold values should be adjusted to cover the range of skin color of white people

HSV (hue, saturation, and value) thay vì trong không gian RGB [7,8]. Sự thể hiển màu sắc của không gian màu HSV được biết đến là phủ hợp hơn với cảm nhận của con người. Nói cách khác, con người có thể dễ dàng hiểu được vai trò của mỗi thành phần trong không gian HSV. Do đó, phân tích màu sắc có thể được thực hiện dễ dàng hơn trong không gian HSV. Ban đầu, giá trị ngưỡng trên và dưới cho mỗi thành phần màu sắc được lựa chọn bằng tay bằng cách quan sát sự phân bố màu da của một số hình ảnh mẫu đặc biệt mà đã thu được trong những điều kiện ánh sáng khác nhau. Các giá trị ngưỡng xác định một hộp 3D, được gọi là hộp ngưỡng.. Các vector màu sắc bên trong hộp ngưỡng đóng vai trò của vector màu tiêu chuẩn đại diện cho màu da bình thường. Lưu ý rằng hộp này là đủ lớn để chứa tất cả các vector màu da xuất hiện trong các hình ảnh mẫu. Giá trị ngưỡng ban đầu được sử dụng trong nghiên cứu này được trình bày trong bảng 1, chúng tôi chuyển các giá trị màu sắc 0,5 (tức là 1803) để làm cho các trung tâm của trục màu sắc cho màu đỏ tinh khiết. Bởi vì hầu hết các hình ảnh mẫu được sử dụng trong thí nghiệm của chúng tôi là hình ảnh của những người da vàng, giá trị ngưỡng của Bảng 1 đã được chọn để phản ánh đặc tính của màu da người màu vàng. Nếu, ví dụ, chúng ta cần phải tìm vùng da của người da trắng, các giá trị ngưỡng nên được điều chỉnh để bao gồm một loạt các màu da của người da trắng

6

Page 7: 7.Adaptive Skin-color Filter

2. Updating the threshold values

Since the threshold values in Table 1 have been roughly selected from several sample images, we cannot be assured that they are well suited for most images containing skin color. Therefore, they need to be adjusted to fit into the new image to be tested. In our method, however, thresholds for hue are fixed to the values in Table 1, because we assume that these threshold values constitute absolute boundaries for skin color. That is to say, color vectors whose hue values are outside the range bounded by the threshold values are not considered to represent the skin color we want tofind. This assumption is necessary because there is no clear definition of skin color. A user needs to define an absolute range of skin color in color space. In our method, restrictions are imposed only on the hue values of skin color vectors. The threshold values for S and V components are updated iteratively based on a color histogram built in SV space. A detailed procedure for the update of the threshold values is given as follows:1. Construct a color histogram in SV space with color vectors whose hue values are within the range bounded by

Vì giá trị ngưỡng trong Bảng 1 đã được lựa chọn 1 cách ước chừng từ một số hình ảnh mẫu , chúng tôi không thể chắc chắn rằng số liệu trên phù hợp cho hầu hết các hình ảnh có chứa màu da . Vì vậy, chúng cần phải được điều chỉnh để phù hợp với hình ảnh mới trong mỗi lần thử nghiệm . Trong phương pháp của chúng tôi , tuy nhiên , ngưỡng cho màu sắc đều được cố định với các giá trị trong Bảng 1 , bởi vì chúng tôi giả định rằng những giá trị ngưỡng tạo thành ranh giới tuyệt đối cho màu da. Theo đó , vector màu sắc có giá trị màu nằm ngoài phạm vi giới hạn bởi các giá trị ngưỡng không được coi là đại diện cho màu da chúng ta muốn tìm. Giả định này là cần thiết vì không có định nghĩa rõ ràng về màu da . Một người sử dụng cần phải xác định một phạm vi tuyệt đối của màu da trong không gian màu . Trong phương pháp của chúng tôi , hạn chế được áp đặt chỉ trên các giá trị màu sắc của vector màu da . Các giá trị ngưỡng cho S và V được cập nhật lặp đi lặp lại dựa trên một biểu đồ màu sắc được xây dựng trong không gian SV . Một quy trình chi tiết cho việc cập nhật các giá trị ngưỡng được đưa ra như sau:1 . Xây dựng một biểu đồ màu sắc trong không gian SV với

7

Page 8: 7.Adaptive Skin-color Filter

the threshold values in Table 1. In our experiments, the histogram was made on 100x100 cells.2. Construct a thresholding rectangle defined by the upper and lower threshold values of the saturation and value components in Table 1.3. Let m denote a maximum value of the histogram inside the thresholding rectangle. Calculate the center of gravity of the histogram inside the rectangle for the cells whose values are greater than 0.1m.4. Move the thresholding rectangle so that its center is placed on the center of gravity calculated in Step 3. The size of the rectangle does not change.5. Repeat Steps 3 and 4 until the distance between the previous and current thresholding rectangles is less than some threshold value.6. Final threshold values are determined by the four sides of the new thresholding rectangle that surrounds the region of the histogram whose cell values are greater than 0.1m. Therefore, the new thresholding rectangle becomes smaller (i.e., tighter) than the initial one. The new thresholding rectangle together with the fixed threshold values for hue constitutes a new thresholding box in HSV space

vector màu có màu sắc giá trị nằm trong phạm vi giới hạn bởi các giá trị ngưỡng trong Bảng 1 . Trong các thí nghiệm của chúng tôi , các biểu đồ có kích thước 100 x100 ô..2 . Xây dựng một thresholding rectangle được xác định bởi các giá trị ngưỡng trên và dưới của S và V3 . m biểu thị giá trị lớn nhất của biểu đồ bên thresholding rectangle. Tính toán trọng tâm của biểu đồ bên trong hình chữ nhật cho các ô có giá trị lớn hơn 0.1m .4 . Di chuyển thresholding rectangle để trung tâm của nó được đặt vào trọng tâm đã tính trong Bước 3 . Kích thước của hình chữ nhật không thay đổi .5 . Lặp lại các bước 3 và 4 cho đến khi khoảng cách giữa các thresholding rectangle trước đó và hiện tại là thấp hơn so với giá trị ngưỡng.6 . Giá trị ngưỡng cuối cùng được xác định bởi bốn cạnh của thresholding rectangle mới bao quanh các khu vực của biểu đồ có giá trị của ô lớn hơn 0.1m . Do đó, thresholding rectangle mới trở nên nhỏ hơn (ví dụ , chặt chẽ hơn ) so với ban đầu . The new thresholding rectangle cùng với các giá trị ngưỡng cố định cho màu sắc tạo nên một hộp ngưỡng mới trong không gian HSV.

8

Page 9: 7.Adaptive Skin-color Filter

Fig. 1. Adaptation of threshold values: (a) input image; (b) skincolor regions extracted using the initial threshold values in

Table 1; (c) adjustment of threshold values; (d) skin color regionsextracted using the updated threshold values.

9

Page 10: 7.Adaptive Skin-color Filter

One of the results obtained with the above method is shown in Fig. 1. An input image is given in Fig. 1(a) and its skin color regions extracted using the initial thresholds in Table 1 are shown in Fig. 1(b). Since the brightness of the face region in Fig. 1(a) is lower than that of the normal skin color, only small portions of the region were detected. Fig. 1(c) shows the thresholds update result and Fig. 1(d) shows the new skin color regions extracted with the updated threshold values. According to our experiments, Steps 3 and 4 of the above procedure were repeated almost once on average for the test images used. One can see that the face region has been found almost correctly. It should be noted that what the above method really does is to look for the dominant color of an input image that is in the range of hue given in Table 1. By dominant color, we mean that the region of that color is larger than those of other colors. In the case of Fig. 1(a), the color of the face is dominant because the face region occupies most of the image's area. If an image is given whose background color is much more dominant than the color of the true skin regions and the difference between the two colors is relatively large, our method will fail.

Một trong những kết quả thu được bằng phương pháp trên được thể hiện trong Fig. 1 . Một hình ảnh đầu vào được đưa ra trong Fig. 1(a) và khu vực màu da của nó chiết xuất bằng cách sử dụng các ngưỡng ban đầu trong Bảng 1 được hiển thị trong Fig. 1(b). Vì độ sáng của vùng mặt trong Fig. 1(a) là thấp hơn so với màu da bình thường , chỉ có một phần nhỏ của khu vực đã được phát hiện . Vả . Fig. 1(c) cho thấy kết quả của việc cập nhật các giá trị ngưỡng và Fig. 1(d) cho thấy vùng màu da mới chiết xuất với các giá trị ngưỡng được cập nhật . Theo thí nghiệm của chúng tôi , bước 3 và 4 của quy trình trên trung bình đã được lặp đi lặp lại gần như một lần cho những hình ảnh thử nghiệm được sử dụng. Có thể thấy rằng các khu vực mặt đã được tìm thấy gần như chính xác. Cần lưu ý rằng những gì các phương pháp trên làm thực sự là để tìm các màu sắc chủ đạo của hình ảnh đầu vào, và chúng thuộc trong phạm vi của thành pần H được đưa ra trong Bảng 1. Chúng tôi muốn khu vực màu sắc chủ đạo thì lớn hơn so với các màu sắc khác . Trong trường hợp của hình Fig. 1(a), màu sắc của khuôn mặt là chi phối bởi vì vùng mặt chiếm phần lớn diện tích của ảnh . Nếu một hình ảnh được đưa ra có màu nền là nhiều hơn chiếm ưu thế hơn so với màu sắc của vùng đúng là màu da thật và sự khác biệt giữa hai màu sắc là tương đối lớn , phương pháp của chúng tôi sẽ thất bại.

3. Seperating skin color vectors from background color vectors

If an input image contains a background whose color is similar to (but distinguishable from) the color of a true skin region (e.g., a picture of a person wearing skin colored clothes like Fig. 2(a)), the method in Section 2.2 will yield a result where

Nếu một hình ảnh đầu vào có chứa một nền có màu sắc tương tự như (nhưng phân biệt) màu sắc của một vùng da thật (ví dụ, một hình ảnh của một người mặc quần áo da màu như Fig. 2 (a)), phương pháp trong mục 2.2 sẽ mang lại một kết quả mà cập nhật hộp ngưỡng chứa cả vector màu nền và vectơ màu da. Nếu kích thước của một khu vực

10

Page 11: 7.Adaptive Skin-color Filter

the updated thresholding box contains both the background color and skin color vectors. If the size of a background color region is comparable to that of a skin color region, two dominant clusters of color vectors will be formed in color space. In such a case, the background color vectors cannot be simply ignored and need to be separated from the skin color vectors

màu nền là tương đương với một khu vực màu da, hai cụm chi phối của vectơ màu sẽ được hình thành trong không gian màu. Trong trường hợp này, các vectơ màu nền không thể chỉ đơn giản là bỏ qua và cần phải được tách ra từ các vector màu da

Fig. 2. Separation of skin color vectors from background color vectors:(a) input image;

(b) skin color regions extracted using the updated threshold values;(c) 3D histogram of the pixels belonging to the regions of (b);

(d) separating plane;(e) resulting skin color

regions found; (f) background color regions

11

Page 12: 7.Adaptive Skin-color Filter

3.1. Cluster analysis

To find out if there exist two dominant groups of color vectors in the thresholding box, cluster analysis is carried out as follows:

1. Construct a color histogram in HSV space with the color vectors belonging to the thresholding box. In our experiments, the histogram was made on 100x100x100 cells.

2. Perform 3D CRE (connected region extraction) for the cells whose values are greater than T1(T1 is usually small). Then, each connected region is assigned a unique label, and subsequently the cells and color vectors belonging to the same region have the same label as that of the region.

3. End this procedure if there exists only one label (i.e., all the cells are connected). In this case, the procedures in Sections 3.2 and 3.3 are skipped, and all the color vectors in the thresholding box are considered to represent skin color.

4. Calculate for each pair of connected regions a distance between their centers if there exist more than two labels.

5. Merge differently labeled regions until only two labels remain. Closer regions are merged first.

6. Count the labels for the cells whose values are greater than Tu (Tu >>Tl ). If there is only one label, the procedures in Sections 3.2 and 3.3 are skipped. In this case, no dominant background color is supposed to exist

Để tìm hiểu xem có tồn tại hai nhóm chi phối của vectơ màu trong hộp ngưỡng, phân tích cụm được thực hiện như sau :1 . Xây dựng một biểu đồ màu sắc trong không gian HSV với các vector màu thuộc hộp ngưỡng . Trong các thí nghiệm của chúng tôi , các biểu đồ có kích thước 100x100x100 ô2 . Thực hiện 3D CRE (connected region extraction) cho các ô có giá trị lớn hơn T1 ( T1 thường là nhỏ ). Sau đó, từng khu vực kết nối được gán một nhãn duy nhất, và sau đó các ô và vectơ màu thuộc cùng khu vực có nhãn giống như nhãn của khu vực đó.3 . Kết thúc quy trình này nếu có chỉ có một nhãn (ví dụ , tất cả các ô được kết nối ) . Trong trường hợp này, các quy trình trong mục 3.2 và 3.3 được bỏ qua , và tất cả các vectơ màu trong hộp ngưỡng được coi là đại diện cho màu da .4 . Tính toán cho mỗi cặp của khu vực kết nối với một khoảng cách giữa các trung tâm của chúng nếu có tồn tại hơn hai nhãn .5 . Kết hợp khác nhau các khu vực dán nhãn cho đến khi chỉ còn hai nhãn. Khu vực gần được sáp nhập đầu tiên.6 . Đếm các nhãn cho các ô có giá trị lớn hơn Tu ( Tu >> Tl ). Nếu chỉ có một nhãn, các quy trình trong mục 3.2 và 3.3 được bỏ qua. Trong trường hợp này, không có màu nền chủ đạo được cho là tồn tại.

3.2. Computing a seperating-plane

12

Page 13: 7.Adaptive Skin-color Filter

Let us suppose that by the cluster analysis in Section 3.1, it has been revealed that two dominant clusters of color vectors exist in the thresholding box. This means that the color vectors in the thresholding box can be classified into two classes. Note that the color vectors belonging to the cells whose values are greater than Tl have already been classified owing to the procedure in Section 3.1. What we have to do now is to classify other color vectors that are still undetermined.We use a linear classifier for this classification. It divides the thresholding box into two parts (each part corresponding to a different class) with a separating plane in HSV space. Therefore, training the linear classifier is equal to computing a separating plane. The linear classifier is trained with the color vectors labeled in Section 3.1 and the training can be done easily by the perceptron learning method introduced in Ref [9]. The perceptron learning is to find appropriate weights of a linear classifier, given training samples, by minimizing some energy function with the gradient-descent optimization technique.An example for a real image is shown in Fig. 2. An input image and its skin color regions extracted with the updated threshold values are shown in Figs. 2(a) and (b), respectively. Note that since the color of the woman's clothes is similar to the normal skin color, some parts of the clothes were detected as well as the face region. A 3D histogram constructed with the color vectors belonging to the updated thresholding box is shown in Fig. 2(c). In this figure, only cells whose values are above Tl are displayed as black cubes. One can see two distinct

Chúng ta hãy giả sử rằng các phân tích cụm trong phần 3.1, nó đã được cho thấy rằng hai cụm chi phối của vectơ màu sắc tồn tại trong hộp ngưỡng . Điều này có nghĩa rằng các vector màu trong hộp ngưỡng có thể được phân thành hai lớp. Lưu ý rằng các vector màu thuộc các ô có giá trị lớn hơn Tl đã được phân loại do các quy trình trong mục 3.1 . Những gì chúng ta phải làm bây giờ là phân loại các vector màu khác mà vẫn còn chưa xác định.Chúng tôi sử dụng một bộ phân loại tuyến tính cho loại này . Nó chia hộp ngưỡng thành hai phần ( mỗi phần tương ứng với một lớp khác nhau ) với một mặt phẳng trong không gian HSV . Vì vậy , huấn luyện 1 bộ phân loại tuyến tính bằng với tính toán một mặt phẳng phân tách . Phân loại tuyến tính được huấn luyện với các vector màu được dán nhãn tại mục 3.1 và có thể được thực hiện dễ dàng bằng các phương pháp perceptron learning giới thiệu trong Tài liệu tham khảo [ 9 ] . Các perceptron learning để tìm trọng số thích hợp của một bộ phân loại tuyến tính , các mẫu huấn luyện cho trước, bằng cách giảm thiểu một số chức năng năng lượng với các kỹ thuật tối ưu hóa gradient (gradient descent - tiến dần tới cực tiểu địa phương – (kỹ thuật xuống dốc) .Một ví dụ cho một hình ảnh thực sự được thể hiện trong Fig. 2. Một hình ảnh đầu vào và khu vực màu da của nó được chiết xuất bằng các giá trị ngưỡng cập nhật được hiển thị trong Fig. 2 (a) và (b) , tương ứng . Lưu ý rằng vì màu sắc của quần áo của người phụ nữ cũng tương tự như màu da bình thường , một số bộ phận của quần áo đã được phát hiện cũng như khu vực vùng da mặt. Một biểu đồ 3D được xây dựng bằng các vector màu thuộc hộp ngưỡng đã được cập nhật được thể hiện trong Fig. 2 (c) . Trong số liệu này, chỉ có các ô có giá trị là trên Tl được hiển thị như hình khối màu

13

Page 14: 7.Adaptive Skin-color Filter

clusters in the histogram. These clusters are divided by a separating plane as shown in Fig. 2(d). Fig. 2(e) or (f ) shows the regions of the image corresponding to one of the two sides of the separating plane. As can be seen in Fig. 2(e), the face region has been extracted more accurately. Note that actually we do not know yet which side of the plane corresponds to the skin color class. It will be decided in the next section.

đen . Ta có thể nhìn thấy hai cụm riêng biệt trong biểu đồ. Các cụm được chia bằng một mặt phẳng phân tách như Fig. 2 (d) . Fig. 2 (e) hoặc 2(f ) cho thấy các khu vực của hình ảnh tương ứng với một trong hai bên của mặt phẳng . Như có thể thấy trong Fig. 2 (e) , vùng mặt đã được chiết xuất một cách chính xác hơn . Lưu ý rằng thực sự chưa biết mặt bên nào củamặt phẳng tương ứng với các lớp màu da . Nó sẽ được quyết định trong phần tiếp theo.

14

Page 15: 7.Adaptive Skin-color Filter

3.3. Selecting the part coresponding to the kind color class

As mentioned in the previous subsection, the plane separates the thresholding box into two parts, but it has not been decided yet which part corresponds to the skin color class. To do this, we could use a geometric property of a target object to select the part corresponding to the skin color class. For example, look at the two binary images in Figs. 2(e) and (f). These images were constructed by examining which side of the plane the color vector of each pixel in Fig. 2(a) belongs to. Assuming that our target object is a face, it is possible to choose (e) as representing the face region by measuring how close the shape of the region is to an oval [2]. However, this technique seems not to work well if the face is partly obscured by hands or other objects. In our method, shape information is not used at all. Instead, we use the mean of skin color vectors obtained from many sample images. The side of the separating plane that has a mean vector closer to the mean of the sample skin color vectors is selected as corresponding to the skin color class. Two hundred sample images were used in our experiments and sample skin color vectors were extracted automatically using the threshold values in Table 1. In the example of Fig. 2, case (e) has been selected correctly with this method.

Như đã đề cập trong các tiểu mục trước, mặt phẳng phântách hộp ngưỡng thành hai phần, nhưng nó đã không được quyết định phần nào tương ứng với các lớp màu da . Để làm điều này , chúng ta có thể sử dụng một thuộc tính hình học của một đối tượng mục tiêu để chọn một phần tương ứng với các lớp màu da . Ví dụ , hãy nhìn vào hai hình ảnh nhị phân trong Figs. 2 (e) và (f) . Những hình ảnh này được xây dựng bằng cách kiểm tra mặt bên của mặt phẳng vector màu sắc của mỗi điểm ảnh trong Figs. 2 (a) thuộc về . Giả định rằng đối tượng mục tiêu của chúng tôi là một khuôn mặt , có thể lựa chọn (e) là đại diện cho vùng mặt bằng cách đo như thế nào mà hình dạng của vùng mặt là một hình bầu dục [ 2 ] . Tuy nhiên , kỹ thuật này có vẻ như không làm việc tốt nếu khuôn mặt được một phần bị che khuất bởi bàn tay hoặc các đối tượng khác . Trong phương pháp của chúng tôi , thông tin hình dạng không được sử dụng ở tất cả trường hợp . Thay vào đó, chúng tôi sử dụng trung bình của vector màu da được lấy từ nhiều hình ảnh mẫu . Mặt bên của mặt phẳng phân tách có một vector trung bình gần với trung bình của các mẫu vector màu da được chọn là tương ứng với các lớp màu da . Hai trăm hình ảnh mẫu được sử dụng trong các thí nghiệm và mẫu vector màu da được chiết xuất tự động bằng cách sử dụng các giá trị ngưỡng trong Bảng 1 . Trong ví dụ của Fig. 2 trường hợp (e) đã được lựa chọn một cách chính xác với phương pháp này .

15

Page 16: 7.Adaptive Skin-color Filter

16

Page 17: 7.Adaptive Skin-color Filter

Fig. 3. Examples of the skin color region detection results:(a) input images; (b) our method; (c) Fleck et al.'s method [3];

(d) Yang and Waibel's method [4].

17

Page 18: 7.Adaptive Skin-color Filter

4. Experimental results

Test images used to measure the performance of our method are photographs of people that can be obtained easily from the Internet. Since our method is intended to detect regions of only one skin color, we collected most of the test images from one race, i.e., yellow people in this experiment. Since the images were taken and digitized under various conditions, it can be said that no special illumination or other constraints are imposed on our test images. A total of 379 images were collected and categorized manually. We first divided them into two groups according to whether the background of each image contains colors similar to skin color or not, and then we subdivided each group according to the conditions of the skin regions' color. After categorizing all the test images, we applied our algorithm to them in batch and obtained the results in Tables 2(a) and (b), where`success’ means that at least half of the true skin color regions were found in a given image so that the result does not raise a serious problem in performing the next step. Of the failure images in Table 2, seven images were unsuccessful due to the failure of the selection method of Section 3.3 in the case of (a), and in the case of (b), eight images were unsatisfactory due to the same reason. From the results in Tables 2(a) and (b), it is obvious that our method is robust to the variations of a skin region's color regardless of whether the background of an image contains colors similar to skin color or not. The main cause for the failure of our method in finding

Hình ảnh thử nghiệm được sử dụng để đo hiệu suất của phương pháp của chúng tôi là hình ảnh của những người mà có thể thu được dễ dàng từ Internet. Vì phương pháp của chúng tôi được thiết kế để phát hiện các khu vực chỉ có một màu da , chúng tôi thu thập hầu hết các hình ảnh kiểm tra từ một chủng tộc, tức là , người da vàng là đối tượng trong thí nghiệm này. Vì hình ảnh được chụp và số hóa trong điều kiện khác nhau , có thể nói rằng không có chiếu sáng đặc biệt hoặc các hạn chế khác được áp dụng đối với hình ảnh thử nghiệm của chúng tôi . Tổng cộng có 379 hình ảnh được thu thập và phân loại bằng tay. Trước tiên chúng tôi chia chúng thành hai nhóm tùy thuộc vào điều kiện nền của mỗi hình ảnh có chứa màu sắc tương tự như màu da hay không, và sau đó chúng tôi chia từng nhóm theo các điều kiện của màu các vùng da . Sau khi phân loại tất cả các hình ảnh thử nghiệm , chúng tôi áp dụng thuật toán của chúng tôi cho chúng trong hàng loạt ảnhvà thu được kết quả trong Bảng 2 ( a) và (b ), trong đó để thành công nghĩa là có ít nhất một nửa trong số các vùng đúng là màu da thật được tìm thấy trong một hình ảnh nhất định để mà kết quả không làm tăng một vấn đề nghiêm trọng trong việc thực hiện các bước tiếp theo. Những hình ảnh thất bại trong Bảng 2 , bảy hình ảnh đã không thành công do sự thất bại của phương pháp lựa chọn của phần 3.3 trong trường hợp ( a) , và trong trường hợp ( b ), tám hình ảnh là không đạt yêu cầu vì lý do tương tự . Từ các kết quả trong Bảng 2 ( a) và (b) , rõ ràng là phương pháp của chúng tôi là nổi trội để các biến thể của màu một vùng da của bất kể là nền của hình ảnh có màu sắc tương tự như màu da hay không. Nguyên nhân chính cho sự thất bại của các phương pháp trong việc tìm vùng màu da bình thường của chúng tôi là sự hiện diện của các khu vực nền hơi đỏ hoặc hơi vàng trong ảnh lớn hơn

18

Page 19: 7.Adaptive Skin-color Filter

normal skin color regions is the presence of reddish or yellowish background regions in an image which are much larger than true skin regions. As mentioned in Section 2.2, if the background color of an image is within the range bounded by the initial thresholds and much more dominant than the color of skin regions, our method fails since the thresholding rectangle moves to the cluster center of the dominant background color vectors during the adaptation procedure and consequently excludes true skin color vectors.

nhiều so với vùng da thật. Như đã đề cập trong mục 2.2 , nếu màu nền của ảnh nằm trong phạm vi giới hạn bởi ngưỡng ban đầu và nhiều vùng chiếm ưu thế hơn so với màu sắc của vùng da , phương pháp của chúng tôi thất bại kể từ khi di chuyển thresholding rectangle đến trung tâm cụm vector màu nền chiếm ưu thế trong quy trình điều chỉnh cho phù hợp và do đó không bao gồm vector màu da thật.

Fig. 4. Other results of our method: (a) input images; (b) skin color regions found.We also tested our method with several tens of images of white and black people, and found that our method worked well as in the case of yellow people. Our method sometimes failed to detect the skin color

Chúng tôi cũng đã thử nghiệm phương pháp của chúng tôi với vài chục hình ảnh của người da trắng và đen , và thấy rằng phương pháp của chúng tôi làm việc tốt trong trường hợp của những người da vàng. Phương pháp của chúng tôi đôi khi thất bại trong việc

19

Page 20: 7.Adaptive Skin-color Filter

regions of white people when the regions are too shiny due to the re#ection of light so that they almost look white. One of the limitations of our method is that it cannot find the skin color regions at the same time if an input image is taken from a group of people that are composed of several different kinds of races. However, it is theoretically possible to detect them if our method is applied sequentially with different initial settings.Average execution time of our method is shown in Table 3. All the experiments were performed on a Pentium II (350 MHz) PC and all the codes were written in Matlab 5.3. It should be noted that Matlab codes are usually 9 or 10 times slower than the C/C++ equivalents.We implemented other conventional methods and applied them to the same test images [3,4]. Fig. 3 shows some results of our method and the conventional ones. Since threshold values of the conventional methods are fixed, the boundaries of the detected skin color regions were usually inaccurate compared to the results of our method, also they tended to detect many unnecessary regions, especially when the background of a test image contains colors similar to skin color. Furthermore, they failed to extract skin color regions when the color of the skin regions was far different from the standard skin color. On the other hand, our method was successful in such cases. Other results of our method are shown in Fig. 4, where the input images multiple faces.

phát hiện các vùng màu da của người da trắng khi các vùng quá sáng bóng do sự phản chiếu của ánh sáng để họ gần như trông có màu trắng . Một trong những hạn chế của phương pháp của chúng tôi là nó không thể tìm thấy vùng màu da cùng một lúc nếu một hình ảnh đầu vào được lấy từ một nhóm người mà đến từ nhiều vùng màu da khác nhau. Tuy nhiên, về mặt lý thuyết có thể phát hiện ra chúng nếu phương pháp của chúng tôi được áp dụng tuần tự với các thiết lập ban đầu khác nhau .Thời gian thực hiện trung bình của phương pháp của chúng tôi được thể hiện trong Bảng 3 . Tất cả các thí nghiệm đã được thực hiện trên máy tính Pentium II ( 350 MHz ) và mã được viết bằng Matlab 5.3. Cần lưu ý rằng mã Matlab thường chậm hơn so với C / C++ tương đương 9 , 10 lần .Chúng tôi thực hiện phương pháp thông thường khác và áp dụng chúng vào những hình ảnh thử nghiệm tương tự [3,4] . Fig . 3 cho thấy một số kết quả của phương pháp của chúng tôi và những phương pháp thông thường. Vì giá trị ngưỡng của các phương pháp thông thường là cố định, ranh giới của các vùng màu da phát hiện thường là không chính xác so với kết quả của phương pháp của chúng tôi , chúng cũng có xu hướng phát hiện nhiều khu vực không cần thiết, đặc biệt là khi nền của một hình ảnh thử nghiệm có màu sắc tương tự như da màu . Hơn nữa, các phương pháp đó không thể trích xuất các vùng màu da khi màu sắc của vùng da đã khác xa với màu da tiêu chuẩn. Mặt khác , phương pháp của chúng tôi đã thành công trong trường hợp như vậy . Các kết quả khác của phương pháp của chúng tôi được thể hiện trong Fig . 4, trong đó những hình ảnh đầu vào nhiều khuôn mặt .

20

Page 21: 7.Adaptive Skin-color Filter

5. Conclusions

In this paper, we proposed a new skin colorfilter that is useful for finding candidate regions for faces or hands in color images. Since our method is capable of adaptively adjusting its threshold values and effectively separating skin color regions from similar background color ones, it is applicable to images with various conditions. Our method and other conventional methods were tested with a variety of sample images obtained from the Internet and experimental results show that the proposed method is robust to the variations of skin regions' color compared to the conventional ones.

Trong bài báo này, chúng tôi đề xuất một bộ lọc màu da mới mà hữu ích cho việc tìm kiếm các khu vực ứng cử viên cho khuôn mặt hoặc tay trong hình ảnh màu. Vì phương pháp của chúng tôi có khả năng thích nghi điều chỉnh giá trị ngưỡng của nó và tách hiệu quả vùng màu da từ những màu nền tương tự, nó được áp dụng cho hình ảnh với các điều kiện khác nhau. Phương pháp của chúng tôi và các phương pháp thông thường khác đã được thử nghiệm với một loạt các hình ảnh mẫu thu được từ Internet và các kết quả thực nghiệm cho thấy phương pháp đề xuất là trội hơn để tìm ra các biến thể của màu vùng da so với những phương pháp thông thường.

Tài liệu tham khảo:

21

Page 22: 7.Adaptive Skin-color Filter

-End-

22