Xuất thuật toán xác định ảnh màu dựa trên màu da

Một phần của tài liệu Xác định vị trí mặt người trong ảnh số dựa trên kỹ thuật nhận biết màu (Trang 30 - 53)

3.2.1. Định vị vùng khuôn mặt ngƣời trong ảnh màu

Việc xác định vùng khuôn mặt người trong một bối cảnh là nhiệm vụ rất quan trọng trong sinh trắc học. Các phương pháp tiếp cận đang được sử dụng phổ biến hiện nay là:

Mạng Neural [24], Cascade of Classifiers [25], Các đặc trưng mẫu [85], Dựa trên màu da

(skin-color) [25][26], vv...

Đối với ảnh màu, việc xác định vùng khuôn mặt người được thực hiện trong không gian màu liên quan đến vùng chứa "da màu" xuất hiện trong không gian màu nền. Mục đích của phát hiện màu da là xây dựng một quy tắc có tính quyết định. Đây là quy tắc sẽ giúp phân biệt một điểm ảnh là da hay không phải là da người. Thông thường, quy tắc này sẽ thiết lập một giá trị đo cho phép tính toán mức độ tương đồng giữa một điểm ảnh màu với đặc trưng màu da. Giá trị đo này được thiết lập như thế nào, công thức ra sao tùy thuộc vào từng phương pháp mô hình hóa màu da. Các không gian màu thường được sử dụng là HSV, YCbCr và I1I2I3 [25,27].

Hình 3.1. Màu sắc hình ảnh và các thành phần R, G và B [25]

Việc xác định màu da được minh họa trong hình 3.1 với ảnh màu sử dụng không gian màu RGB. Rõ ràng ta có thể thấy, không ai trong số những người quay lưng lại có các thành phần RGB được xác định rõ ràng ngoại trừ vùng duy nhất xác định khu vực của khuôn mặt người nhìn đối diện. Trong [25], các tác giả đã đưa ra một ngưỡng lựa chọn để xác định vị trí của khuôn mặt dựa trên màu da với mối quan hệ giữa 3 thành phần là R, G và B có liên quan đến diện tích của khuôn mặt như sau:

R >> G > B và | RG |> 50.

Hình 3.2 thể hiện ảnh màu cuả hình 3.1 được phân tích dựa trên các thành phần khác nhau của không gian màu HSV, YCbCr và I1I2I3. Khi biểu diễn trong các không gian màu khác nhau, chúng ta có thể thấy khu vực được phân biệt rõ nhất của khuôn mặt người thể hiện trong các thành phần của H của không gian màu HSV, thành phần Cb và Cr của không gian màu YCbCr, và thành phần I2 trong không gian màu I1I2I3.

Hình 3.2. Các thành phần của ảnh gốc trong không gian màu HSV, YCbCr và I1I2I3 [25]

Việc sử dụng các giá trị được lượng tử hóa ứng kết hợp với các ngưỡng (Thresholding) và thủ tục phân loại các thành phần trong không gian màu có thể giúp xác

định chính xác và duy nhất vùng khuôn mặt của người đàn ông trong bức ảnh màu đang xét dựa trên màu da.

Để lựa chọn các thành phần liên quan đến khu vực được coi là "màu da" (skin- color), ta thực hiện phân tích các kết quả được trình bày trong hình 3.2.

Với không gian màu HSV, ta thấy thành phần H (Hue) cho hiệu quả cao nhất vì vùng mặt gần với vùng có mức độ "đen" cao và phần còn lại của bối cảnh không không liên quan đến vùng của "màu-da".

Với không gian màu YCbCr chúng ta có thể phân biệt tương đối chính xác giữa khuôn mặt với phần còn lại của bối cảnh nền nền khi sử dụng các thành phần Cb và Cr.

Cuối cùng, trong không gian màu I1I2I3, khuôn mặt được xác định duy nhất và chính xác trong thành phần I2.

Để tính giá trị của H từ các thành phần của ảnh trong hệ màu RGB ta thực hiện biến đổi sau:

( )/DELTA, neu MAX;

2 ( )/DELTA, neu MAX;

4 ( )/DELTA, nêu MAX,

G B R H B R G R G B              (3.1) Trong đó:

+ MAX - là giá trị lớn nhất của các thành phần R, G, B; + MIN - là giá trị nhỏ nhất của các thành phần R, G, B;

+ DELTA = MAX-MIN.

Trong trường hợp này, các giá trị của thành phần H tương ứng với khuôn mặt nằm trong khoảng:

H < Hmin hoặc H > Hmax, Hmin ≤ 0.1 và Hmax ≥ 0.9 Từ đó ta dễ dàng xác định vị trí của khuôn mặt trong ảnh nguồn.

Để tính các giá trị của thành phần Y, Cb, Cr trong không gian màu YCbCr từ ảnh trong không gian màu RGB ta thực hiện biến đổi sau:

Y = c1R + c2G + c3B Cb = (B–Y)/(2–2c3)

Cr = (R–Y)/(2–2c1),

(3.2)

Trong đó:

+ R, G, B – là các thành phần trong không gian màu RG + c1, c2 và c3 được cho trong bảng sau:

Tiêu chuẩn с1 с2 с3

601 0,2989 0,5866 0,1145

709 0,2126 0,7152 0,0722

Thành phần Cb i Cr được sử dụng để nhận ra các khuôn mặt với các giá trị sau đây: {138< Cr < 178, 299 <Cb + 0.6Cr < 215}, Cb, Cr = [0, 255]. (3.3) Các giá trị của thành phần của I2 xác định trong mặt của không gian màu I1I2I3 có thể tính được như sau:

I2 =(R – B) I2 > độ sáng trung bình (hoặc I2>0), (3.4)

trong đó: R, B - không gian các thành phần RGB.

Thông thường trong những kỹ thuật phát hiện dựa trên định nghĩa của "màu da" thì ngưỡng được sử dụng để xử lý nhiều thành phần để cải thiện hiệu suất của hệ thống phát hiện khuôn mặt.

Tuy nhiên, do yêu cầu của các máy nhận dạng khuôn mặt cần tốc độ xử lý cao nên người ta chỉ sử dụng các thành phần của R, G, B, HI2, khi chúng được định nghĩa đơn giản nhất bởi các mối quan hệ (3.1) và (3.4).

Việc sử dụng giải pháp đơn giản này sẽ cho phép xây dựng các phương pháp phát hiện của mặt người khi có các đặc điểm liên quan được thỏa mãn nhanh chóng.

3.2.2 Giai đoạn tiền xử lý hình ảnh ban đầu

Việc phát triển các phương pháp phát hiện khuôn mặt sẽ bắt đầu từ điều kiện là độ sáng trung bình của hình ảnh ban đầu phải được ít nhất là 150 (cho phạm vi độ sáng hình ảnh kỹ thuật số 0-255). Vì vậy, bước đầu tiên trong thuật toán phát hiện sẽ là ước tính độ

sáng trung bình và tiền xử lý hình ảnh tại đầu vào hệ thống định hướng để đạt được độ sáng mong muốn.

Lưu ý là đôi độ sáng trung bình không thể được thực hiện bằng cách chỉnh sửa Gamma, bởi vì vào thời điểm đó chụp bức ảnh ban đầu có ánh sáng không đồng đều.

Ví dụ, hình ảnh ban đầu với khuôn mặt giống được đánh dấu bên dưới và phía sau. Trong trường hợp này, độ sáng của nền xung quanh vùng mặt ở dưới cùng của hình ảnh cao hơn so với phía trên. Có rất nhiều hình ảnh mẫu khuôn mặt trong cơ sở dữ liệu khuôn mặt FERET và được sử dụng để thử nghiệm phát hiện những khuôn mặt.

Hình 3.3 cho thấy một ví dụ về một hình ảnh từ cơ sở dữ liệu. Ở đó, hình ảnh ban đầu và kết quả - một hình ảnh với độ sáng được tăng cường, cũng như quá trình chuyển đổi những hình ảnh thô kết quả.

Hình 3.3. Tiền xử lý hình ảnh ban đầu tại đầu vào hệ thống

Ngoài ra, các con số này cho thấy độ sáng của các khu vực được lựa chọn hình ảnh đầu vào và đầu ra. Chúng ta sẽ rất dễ dàng để tính toán độ sáng trung bình của hình ảnh ban đầu dưới 100. Và độ sáng trung bình của hình ảnh là kết quả của ít nhất 150. Hơn nữa, chúng ta cần phải lưu ý rằng độ sáng của khuôn mặt là gần gấp ba lần và đã đạt đến 167. Cách tiếp cận được trình bày đơn giản nên có lợi thế rõ ràng hơn "phương pháp chỉnh sửa

gamma". Có nhiều trường hợp việc sử dụng cách tiếp cận đơn giản là đủ, nhưng cũng có trường hợp chúng ta cần phải bổ sung them một số yếu tố cho thuật toán trong giai đoạn tiền xử lý dữ liệu vào của hệ thống.

3.2.2.1 Định nghĩa của một khuôn mặt ngƣời

Bây giờ chúng ta có thể bắt đầu từ những điều kiện mà khu vực phải đối mặt với trong ảnh gốc có độ sáng với các giá trị được định nghĩa ở trên.

Những điều kiện này là:

RGB R>>G>B và | R - G |>50;

(3.5) HSV H<Hmin hoặc H>Hmax, và Hmin ≤ 0.1 và Hmax 0.9;

I1I2I3 I2 > độ sáng trung bình (và I2>0).

3.2.2.2 Thuật toán để xác định khuôn mặt dựa trên kỹ thuật mặt nạ

Thuật toán để xác định khuôn mặt dựa trên kỹ thuật mặt nạ được mô tả như sau: 1) Xác định kích thước của hình ảnh ban đầu M và N;

2) Xác định các thành phần của H và thành phần I2; 3) Xây dựng 3 ma trận mặt nạ kích thước M*N;

4) Thực hiện phân tích thành phần của các điểm ảnh dựa trên R, G, B, H và I2 để kiểm tra điều kiện của (3.5).

5) Nếu thỏa mãn điều kiện (3.5) thiết lập giá trị 1 cho điểm (i, j) và ngược lại

1, nêu thoa man (3.4)

MASKA( ) 0, i, j nguoc lai     ;

6) Lặp lại các bước 4 và 5 cho mỗi i = 1, 2, ..., M và j = 1, 2, ..., N.

Sau khi thực hiện thuật toán, chúng ta có 3 mặt nạ cho phép xác định tất cả các khuôn mặt trong hình ảnh ban đầu. Các vùng đại diện thích hợp sau khi biến đổi qua 3 ma trân ta sẽ thu được một ứng cử viên cho khuôn mặt người hoặc các vùng tương ứng với màu sắc của "màu da".

Chúng ta cần trả lời câu hỏi: Thế nào là mặt nạ thích hợp khi thực hiện một số điều

kiện nhất định (3.5) và trông giống như "mặt nạ tổng số" đại diện cho hiệu ứng kết hợp

của phân khúc từ tất cả các điều kiện (3.5)?

Ngoài ra, cũng trả lời cho câu hỏi làm thế nào để kết hợp và những mặt nạ riêng biệt khi chúng được kết hợp để xác định cách tốt nhất của ranh giới và khuôn mặt / hoặc khu vực tương ứng với màu sắc "màu da".

Câu trả lời cho câu hỏi này được đưa ra trong hình 3.5.

Cơ sở dữ liệu ảnh Phân tích các thành phần của ảnh màu

Ảnh gốc Tiền xử lý RGB H I2 Tổng hợp

Hình 3.4. Bản gốc hình ảnh tại đầu vào phát hiện và mặt nạ thích hợp xác định các khu vực của mặt người

Ở đây ở cột bên trái hiển thị hình ảnh màu sắc ban đầu, được trình bày trong định dạng không gian màu RGB. Cột thứ hai cho thấy hiệu quả của việc tiền xử lý trước khi cải thiện độ sáng của hình ảnh nguồn. Ba cột tiếp theo được tính toán cột mặt nạ. Cột cuối cùng xác định mặt nạ cho tất cả các điều kiện của (3.5).

3.2.2.3 Xác định tọa độ của trung tâm của khuôn mặt

Lưu ý rằng mặt nạ tổng nhị phân bao gồm các yếu tố quan trọng của môi trường và các đối tượng có kích thước nhỏ. Các đối tượng trung bình và nhỏ có thể là rất nhiều nhưng chúng ta sẽ không quan tâm. Chúng ta chỉ quan tâm đến những điểm lớn. Những đối tượng nhỏ (có chứa 1-2 pixel) có thể được hiểu như các yếu tố xung nhiễu. Trong trường hợp này, một nỗ lực đã được thực hiện để lọc nhiễu bằng cách sử dụng bộ lọc trung bình với một kích thước mặt nạ của 5 bởi 5 điểm ảnh [17, 19]. Tuy nhiên, kết quả trên cùng một mặt nạ vẫn còn chứa đựng các dấu tích còn lại của các yếu tố nhiễu.

Chúng tôi sẽ không loại bỏ chúng tiếp tục dựa trên thực tế là diện tích lớn nhất đốm trắng phải thuộc về mặt và sử dụng chiến lược được trình bày trong [17, 19].

Việc biến đổi một mặt nạ nhị phân thông thường để nó tồn tại chỉ trong thông tin vị trí diện tích lớn nhất của đốm trắng. Ở đây, các kết quả chung của mặt nạ được chọn từ hàng trên cùng trong hình 3.6. Để thực hiện các bộ lọc tiến hành như sau [17, 19]:

1 2 3 4

Hình 3.5. Định nghĩa trung tâm của khuôn mặt

1) Thực hiện hai chiều thấp vượt qua bộ lọc mặt nạ "1";

2) Kết quả của bộ lọc hình ảnh của mặt nạ "2" hoặc mặt nạ "3" (trong các hình thức 3D);

3) Xác định tối đa trong hình ảnh lọc và tọa độ x và y tối đa;

4) Hình ảnh lọc, tối đa không quá 0.4 lần, xác định cắt giảm (song song với mặt phẳng XY) và sử dụng nó để xây dựng một hình ảnh nhị phân (mặt nạ "4").

Lưu ý rằng do các mặt nạ "2" (hoặc mặt nạ "3") sẽ làm bị mất thông tin trên trung bình của các đối tượng trong các mặt nạ nhị phân ban đầu, và các x và tối đa y trong số mặt nạ "3" khoảng tương ứng với các trung tâm hình học của các khu vực lớn nhất màu trắng điểm mặt nạ nhị phân thông thường.

Ranh giới Xmin, XmaxYmin, Ymax trên mặt nạ "4" xác định trung tâm của khuôn mặt. Giá trị của họ có thể thu được bằng cách chiếu của các hàng và cột mặt nạ "4" trên trục của «X» và «Y». Khoảng cách (Xmax-Xmin) có thể được thực hiện như là chiều rộng của khuôn mặt, cho phép bạn để xác định ranh giới theo hình ảnh màu sắc ban đầu. Kết quả này được thể hiện trong hình 3.6, các khuôn mặt người được chọn được trình bày trong cột bên phải.

Hình 3.6. Ví dụ 1 về phân lớp của khuôn mặt

Hình 3.7. Ví dụ 2 về phân lập của khuôn mặt

3.2.3 Các phân tích của khuôn mặt sau khi tiền xử lý

Việc lựa chọn của khuôn mặt (hình 3.8, ảnh 1), vị trí của các dòng mắt và góc của khuôn mặt. Nếu các thông số nằm ngoài giới hạn quy định, tiếp tục xử lý được dừng lại và đầu vào hệ thống là "chụp" của một nguồn hình ảnh mới. Nếu các thông số nằm trong giới hạn quy định để xoay mặt (hoặc toàn bộ hình ảnh) trên các góc độ tính toán. Tiếp theo, các dòng mới của tính đối xứng và dòng của mắt, được phản ánh trong vị trí hình 3.8, ảnh 3.

Hình 3.8. Các phân tích của khuôn mặt và tiền xử lý mới

Các phương pháp để giải quyết những vấn đề này đã được trình bày trong Chương 2 của luận văn.

Bây giờ, vào hình ảnh khung khuôn mặt được xác định bởi các tọa độ của mắt trung tâm. Ở đây chúng ta sử dụng phương pháp trình bày trong [25, 26]. Tất cả các giai đoạn

trung gian trong quá trình sử dụng các trung tâm mắt định vị được hiển thị trong hình. 3.9a.

Hình 3.9a. Các bước để xác định tọa độ của mắt trung tâm

Trong hình 3.9a, khu vực phân tích khuôn mặt có khuôn mặt và độ dốc các dòng nang "X" của mắt được xác định từ các vị trí của tối đa, vị trí của các mắt trái và phải, trung tâm mắt tìm thấy.

Cuối cùng, xác định khoảng cách "d" giữa các trung tâm của mắt trên trục "X", như thể hiện trong 3.9b hình trên bên trái.

Hình 3.9b. Căn chỉnh của khuôn mặt theo yêu cầu

Bây giờ xác định các yếu tố tỷ lệ (rescaling):

k = d/60

trong đó d tính toán khoảng cách giữa các trung tâm của mắt, và 60 - khoảng cách giữa các trung tâm của mắt cho hình ảnh tương ứng với các tiêu chuẩn [35].

Hơn nữa, với hệ số k, peremasshtabiruem lựa chọn (và phẳng) hình ảnh của một khuôn mặt để kích thước mới MnewN new  320240. Và kết quả của điều này được mô tả trong hình 3.10b bên phải.

Các đặc điểm của một thuật toán trong hệ thống

Và như vậy, thuật toán được trình bày trong phần của người phát hiện trên hình ảnh màu có chứa chỉ có một người. Dưới đây là những ý tưởng của thuật toán để xác định tọa độ của các trung tâm của mắt và mang lại sự lựa chọn của một người cho một 320240.

Phát hiện thuật toán thực hiện những ý tưởng của khuôn khổ trình bày trong [17, 19], và là khá khác nhau từ những ý tưởng này.

Sự khác biệt chính của hệ thống được thể hiện trong cấu trúc của nó được hiển thị trong hình 3.10.

Hình 3.10. Cấu trúc hệ thống xác định và chuẩn hóa mặt người

Trong đó:

1) Đề xuất phương pháp mới tiền xử lý những hình ảnh ban đầu để tăng độ sáng của ảnh gốc đầu vào nhằm cải thiện việc phân bố khu vực "màu da" và phân đoạn của ảnh gốc.

2) Xây dựng mặt nạ nhị phân bằng cách sử dụng các thành phần HI2 bằng định nghĩa đơn giản nhất và thành phần R, G, B.

Một phần của tài liệu Xác định vị trí mặt người trong ảnh số dựa trên kỹ thuật nhận biết màu (Trang 30 - 53)

Tải bản đầy đủ (PDF)

(53 trang)