Tải bản đầy đủ (.doc) (71 trang)

đề tài “nghiên cứu và xây dựng chương trình tự động dò tìm mặt người và nhận dạng ảnh chân dung”

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.17 MB, 71 trang )

MỤC LỤC
1
Mở đầu
Mọi người có thể dễ dàng nhìn thấy vị trí tất cả các khuôn mặt trong ảnh
và phân biệt được mọi người trong ảnh là người mình đã quen biết hay
không. Tuy nhiên, trong lĩnh vực thị giác máy tính, kỹ thuật máy tính xác
định chính xác vị trí, kích thước khuôn mặt trong một ảnh bất kỳ là một vấn
đề vô cùng khó khăn. Hơn một thập kỷ qua có rất nhiều công trình nghiên
cứu về bài toán xác định khuôn mặt người từ ảnh đen trắng, xám đến ảnh
màu như ngày hôm nay. Các nghiên cứu đi từ bài toán đơn giản, mỗi ảnh chỉ
có một khuôn mặt người nhìn thẳng vào thiết bị thu hình và đầu ở tư thế
thẳng đứng trong ảnh đen trắng. Cho đến ngày hôm nay bài toán mở rộng
cho ảnh màu, có nhiều khuôn mặt trong cùng một ảnh, có nhiều tư thế thay
đổi trong ảnh. Không những vậy mà còn mở rộng cả phạm vi từ môi trường
xung quanh khá đơn giản (trong phòng thí nghiệm) cho đến môi trường
xung quanh rất phức tạp (như trong tự nhiên) nhằm đáp ứng nhu cầu thực tế
và rất nhiều của con người.
Trong thực tế, các ứng dụng của việc dò tìm và nhận dạng khuôn mặt
người được triển khai trong nhiều lĩnh vực quan trọng, nhất là trong lĩnh vực
an ninh. Tuy nhiên những kết quả đã đạt được hiện nay chỉ có độ chính xác
nhất định, chưa đạt được độ chính xác cao. Ảnh thu được phụ thuộc rất lớn
vào nhiều điều kiện: độ chiếu sáng, khung cảnh xung quanh, quần áo đang
mặc trên người,… Việc tìm ra các tập luật chặt chẽ của khuôn mặt để xác
định vị trí của nó trong ảnh rất khó khăn. Từ các kết quả nghiên cứu cho
thấy nếu tập luật quá chặt chẽ sẽ dò tìm thiếu các khuôn mặt trong ảnh,
ngược lại nếu tập luật đơn giản sẽ dò tìm sai một số vị trí không phải là
khuôn mặt. Bên cạnh đó, cho đến nay việc mô hình hoá gương mặt một cách
tổng quát là một công việc không hề đơn giản. Vẫn chưa có một nghiên cứu
2
nào trả lời chính xác câu hỏi: đâu là đặc trưng thực sự để phân biệt hai
gương mặt với nhau?


Các kỹ thuật dò tìm và nhận dạng ảnh được ứng dụng rất hiệu quả trong
thực tế. Tuy nhiên, các kỹ thuật dò tìm và nhận dạng ảnh hiện nay vẫn chưa
có kết quả hoàn toàn chính xác. Vì vậy trong đồ án tốt nghiệp của mình em
đã chọn đề tài “nghiên cứu và xây dựng chương trình tự động dò tìm mặt
người và nhận dạng ảnh chân dung” để có điều kiện tìm hiểu thêm về công
nghệ xử lý ảnh và các ứng dụng thực tế của nó.
Mục tiêu của đồ án là xây dựng ứng dụng có khả năng dò tìm được toàn
bộ vị trí các khuôn mặt trong ảnh màu có màu nền phức tạp và nhận dạng
ảnh các khuôn mặt dò tìm được tương ứng là ai trong cơ sở dữ liệu. Đồ án
được trình bày trong 6 chương với bố cục như sau:
Chương 1: Giới thiệu bài toán nhận dạng mặt người: nêu lên tầm
quan trọng của các ứng dụng nhận dạng mặt người trong thực tế. Đồng thời
mô tả phạm vi bài toán mà đồ án giải quyết.
Chương 2: Một số vấn đề cơ bản về xử lý ảnh số: trình bày cơ sở lý
thuyết về biểu diễn ảnh số. Phương pháp biểu diễn và phân tích ảnh trên một
số không gian màu cơ bản, là cơ sở cho việc tìm ra các phương pháp giải
quyết một số bài toán xử lý ảnh.
Chương 3: Dò tìm khuôn mặt trong ảnh: trình bày một số phương
pháp dò tìm khuôn mặt trong ảnh. Trình bày chi tiết hai phương pháp dò tìm
khuôn mặt mà luận án thực hiện: dò tìm khuôn mặt dựa trên sắc màu da và
dò tìm khuôn mặt sử dụng mô hình Cascade of Boosted Classifier.
Chương 4: Nhận dạng mặt người: trình bày chi tiết phương pháp nhận
dạng mặt người dựa trên kỹ thuật phân tích thành phần chính (PCA -
Principal Components Analysis).
3
Chương 5: Thiết kế chương trình nhận dạng mặt người: trình bày các
chức năng của chương trình dò tìm, nhận dạng mặt người và một số module
tiện ích.
Chương 6: Kết luận: các kết quả, một số hạn chế, khả năng ứng dụng,
hướng phát triển của đề tài.

Trong phạm vi đề tài đã xây dựng chương trình thực hiện dò tìm vị trí
các khuôn mặt trong ảnh có màu nền phức tạp và nhận dạng ảnh khuôn mặt
dò tìm được bằng phương pháp phân tích thành phần chính (PCA –
Principal Components Analysis). Kết quả nhận dạng chỉ tương đối chính xác
trong tập dữ liệu nhỏ (dưới 20 người) và trong điều kiện môi trường ràng
buộc (trong văn phòng, nhà ở,…). Vì vậy trong thời gian tới em rất mong
được sự đóng góp ý kiến của các thầy, cô giáo và các bạn để đề tài có kết
quả cao hơn, có thể triển khai các ứng dụng trong thực tế.
Trong quá trình thực hiện em xin chân thành cảm ơn thầy giáo đã tận
tình hướng dẫn, chỉ bảo từng nội dung của đề tài, các thầy, cô giáo khoa
Công Nghệ Thông Tin đã có nhiều giúp đỡ chuyên sâu về công nghệ xử lý
ảnh, để em có thể hoàn thành nội dung của đồ án.
4
Chương 1. Giới thiệu bài toán nhận dạng mặt người
Trong thế giới ngày nay, với sự phát triển mạnh mẽ của khoa học kỹ
thuật số và mạng toàn cầu, vấn đề đảm bảo an toàn về thông tin cũng như
vật chất trở nên ngày càng quan trọng. Việc làm giả ảnh, hộ chiếu, giấy tờ
về tài chính, thẻ tín dụng, tem bảo vệ, mã vạch,…. để vượt biên mua vũ khí,
tiến hành các nghiệp vụ ngân hàng, hợp pháp hoá thu nhập.
Phần lớn các hệ thống thông tin hiện nay các thông tin xác thực người
truy cập không đặc trưng cho bản thân họ và chỉ là những gì họ đang sở
hữu: số chứng minh thư nhân dân, chìa khoá, mật mã, thẻ tín dụng hoặc họ
tên. Rõ ràng các thông tin hay vật dụng này không mang tính đặc trưng mà
chỉ mang tính xác thực với người sử dụng, nếu chúng bị đánh cắp hoặc sao
chép thì kẻ trộm hoàn toàn có quyền truy cập và sử dụng hệ thống. Hiện nay
các công nghệ hiện đại đã cho phép việc xác thực dựa vào bản chất của từng
cá nhân.
Nhận dạng gương mặt là một trong số các phương pháp nhận dạng dựa
vào đặc tính sinh lý có nhiều ứng dụng quan trọng và thuận tiện khi sử
dụng. Ngày nay nhận dạng mặt người đã được quan tâm và được coi như là

một trong các lĩnh vực quan trọng nhất trong khoa học nhận dạng là do nhu
cầu ứng dụng nhận dạng mặt người trong các lĩnh vực (kinh tế, thi hành luật
pháp, điều tra tội phạm, bảo mật,…) ngày càng nhiều.
Trong an ninh hệ thống nhận dạng được dùng để nhận dạng tội phạm (đã
có trong cơ sở dữ liệu) tại các sân bay, nhà ga, hay tại các khu vực cấm
không cho người lạ xâm nhập.
Trong một số công ty, nhà máy quản lý ngày công làm việc của công
nhân bằng việc quét thẻ mỗi khi công nhân tan ca. Nếu số lượng công nhân
của công ty lớn thì việc người quản lý kiểm soát rất khó khăn .Trong trường
5
hợp này hệ thống nhận dạng mặt người sẽ trở nên rất hữu ích để chống việc
công nhân không đi làm nhưng nhờ người khác quét thẻ hộ.
Ngoài ra, hệ thống dò tìm vị trí khuôn mặt người và nhận dạng ảnh
khuôn mặt có thể triển khai rất nhiều ứng dụng khác trong thực tế:
- Hệ thống tương tác giữa người và máy: giúp những người dị tật hoặc
khiếm khuyết có thể trao đổi. Những người dùng ngôn ngữ tay có thể
giao tiếp với những người bình thường. Những người bại liệt thông qua
một số ký hiệu nháy mắt có thể biểu lộ những gì họ muốn, Đó là các
bài toán điệu bộ của bản tay, điệu bộ của khuôn mặt,
- Hệ thống quan sát, theo dõi và bảo vệ. Các hệ thống camera sẽ xác định
đâu là con người và theo dõi con người đó xem họ có vi phạm gì hay
không, ví dụ xâm phạm khu vực không được vào,
- Kiểm tra trạng thái người lái xe có ngủ gật không, nếu ngủ gật đưa ra
thông báo cần thiết.
- Hãng máy chụp hình Cannon đã ứng dụng xác định vị trí khuôn mặt
người vào máy chụp hình thế hệ mới để cho kết quả hình ảnh đẹp, nhất
là khuôn mặt con người
- Trong điều khiển Robot

Tuy nhiên, nhận dạng mặt người là một trong những bài toán khó khăn

nhất trong lĩnh vực nhận dạng ảnh. Một gương mặt người không chỉ là đối
tượng ba chiều mà còn là một thực thể mang tính động rất cao. Ngoài ra,
nhận dạng mặt người còn phụ thuộc vào nhiều yếu tố: chất lượng ảnh của
thiết bị thu, nền phức tạp, sự dịch chuyển, xoay theo ba chiều, cảm xúc thể
hiện trên khuôn mặt, Hiện nay chất lượng của các hệ thống dò tìm và nhận
dạng ảnh khuôn mặt người chưa cao. Người ta vẫn chưa tìm ra được phương
pháp trích chọn các đặc trưng của khuôn mặt mà vẫn chỉ sử dụng các đặc
trưng của ảnh. Một số phương pháp được triển khai ứng dụng nhưng tốc độ
6
xử lý, nhận dạng ảnh còn chậm, không đáp ứng thời gian thực. Do đó vẫn
khó có thể triển khai các ứng dụng thực tế.
Đề tài tiến hành xây dựng ứng dụng có thể tự động dò tìm toàn bộ vị trí
các khuôn mặt trong ảnh lớn phục vụ cho quá trình lấy mẫu huấn luyện và
mẫu nhận dạng cho hệ thống nhận dạng mặt người, nhận dạng các khuôn
mặt đã dò tìm được.Việc định vị chính xác vị trí khuôn mặt và tìm một số
điểm đặc trưng trên khuôn mặt có ý nghĩa quyết định đến hiệu quả của hệ
thống nhận dạng mặt người. Từ đó áp dụng vào các ứng dụng thực tế: hệ
thống chống trộm, quản lý nhân công bằng ảnh thẻ,
Cấu trúc điển hình của hệ thống nhận dạng mặt người gồm có 2 bộ phận
chính:
+ Bộ dò tìm (Face Image Detector): có nhiệm vụ xác định vị trí của
gương mặt trong một ảnh bình thường.
+ Bộ phận nhận dạng hay phân lớp gương mặt (Face Recognizer): để xác
định người có gương mặt tương ứng là ai trong cơ sở dữ liệu.
Để xây dựng một hệ thống nhận dạng mặt người thường thực hiện các
bước sau:
1.1: Tiền xử lý (Pre-Processing)
Giai đoạn này để nâng cao chất lượng của ảnh số giúp cho việc phát hiện
vị trí mặt người và quá trình nhận dạng đạt hiệu quả hơn. Các công việc
trong giai đoạn này có thể là: chuẩn hoá kích cỡ ảnh (Image size

normalization), hiệu chỉnh độ sáng, tối của ảnh (Histogram equalization,
illumination normalization), lọc nhiễu (median filtering).
1.2. Tách khuôn mặt (Face Detection)
Giai đoạn tách khuôn mặt từ ảnh ban đầu là một giai đoạn quan trọng và
khó khăn góp phần quan trọng đến kết quả nhận dạng, việc phát hiện khuôn
mặt từ ảnh ban đầu gắn với điều kiện không ổn định của dữ liệu ảnh: độ
7
sáng của ảnh, kích thước và hướng của khuôn mặt, góc quay,… Vì vậy, với
hệ thống nhận dạng mặt người cần phải có một số tiêu chuẩn ràng buộc:
+ Ảnh với màu tự nhiên chiếu sáng và độ đậm đều (không quá tối và
không quá sáng)
+ Kích thước của khuôn mặt không quá lớn hoặc quá nhỏ.
+Khuôn mặt phải được chụp trực diện, mắt mở tự nhiên
+ Không có vật gì che khuôn mặt: mũ, khăn, tóc
1.3 : Trích chọn đặc trưng
Giai đoạn này tìm ra các đặc trưng chính của khuôn mặt, từ các đặc
trưng này hình thành các véc tơ đặc trưng, các vector này được sử dụng để
đối sánh sự giống nhau giữa ảnh khuôn mặt cần tìm và ảnh trong cơ sở dữ
liệu.
2.4 : So sánh (Comparison)
Thực hiện việc so sánh giữa các vector đặc trưng để chọn ra khoảng
cách giữa ảnh cần tìm và ảnh trong cơ sở dữ liệu. Một số khoảng cách
thường được sử dụng là khoảng cách Ơclít, Mahalanobis,…
8
Tiền xử lý
Rút trích
đặc trưng
Bộ nhận dạng/
Phân lớp
gương mặt

Nhận dạng/
Loại bỏ
Tách khuôn mặt
CSDL mặt
người
Cập nhật CSDL
Hình 1.1: Mô hình hệ thống nhận dạng mặt người
9
Chương 2: Một số vấn đề cơ bản về xử lý ảnh số
2.1: Một số khái niệm cơ bản
.Pixel (picture element - điểm ảnh )
Ảnh trong thực tế là một ảnh liên tục về không gian và giá trị độ sáng.
Quá trình thu nhận ảnh số là quá trình số hoá ảnh. Đó là quả trình biến đổi
tín hiệu liên tục thành tín hiệu rời rạc. Một ảnh khi được số hoá là tập hợp
các điểm ảnh, nó được biểu diễn bởi mảng 2 chiều I(n,p) trong đó n- số
dòng, p- số cột. Ta nói ảnh gồm nxp điểm ảnh, ký hiệu I(x, y) là giá trị điểm
ảnh tại vị trí dòng y cột x.
. Ảnh đen trắng, ảnh đa mức xám, ảnh màu
- Ảnh đen trắng, ảnh đa cấp xám: gồm 2 màu (đen, trắng), người ta phân
các mức độ (L) đen trắng như sau:
+L=2: ảnh gồm 2 mức, mức 0 ứng với màu tối, mức 1 ứng với màu sáng.
Ảnh này gọi là ảnh nhị phân. Mỗi điểm ảnh được mã hoá trên 1 bit.
+L>2: Ảnh đa mức xám, việc xác định số mức phụ thuộc vào tiêu chuẩn
lượng hoá, L thường được chọn là 32, 64, 126, 256. Thường sử dụng mức
256, mỗi điểm ảnh được mã hoá bằng 8 bit (2
8
= 256).
- Ảnh màu: ảnh màu là ảnh được tổ hợp từ 3 màu cơ bản: Red (đỏ),
Green (xanh lục), Blue (xanh lơ). Mỗi điểm ảnh gồm 3 thành phần màu cơ
bản:R, G, B. Mỗi màu phân thành L cấp khác nhau (L thường là 256). Như

vậy để lưu trữ một ảnh màu ta phải lưu trữ 3 lớp màu cơ bản của ảnh, mỗi
lớp màu tương đương với một ảnh đa cấp xám. Do đó không gian lưu trữ
ảnh màu lớn gấp 3 lần so với không gian lưu trữ ảnh xám cùng kích thước.
2.2: Biểu diễn ảnh
Ảnh số đa mức xám được biểu diễn bằng ma trận 2 chiều f(x,y) trong đó
các phần tử là giá trị điểm màu của ảnh.
10












=
1)-N 1,-f(M 1,1)-f(M 0) 1,-f(M

1)-N f(1, f(1,1) f(1,0)
1)-Nf(0, f(0,1) )0,0(f
),( yxf
Như vậy nếu ta có một ảnh kích thước 800x600 thì khi biểu diễn thành
ma trận 2 chiều có số hàng là 600, số cột là 800, mỗi phần tử của ma trận có
giá trị từ 0-255.
Đối với ảnh màu, mỗi phần tử của mảng 2 chiều là một bộ giá trị RGB.
Phần tử f(i,j) của ma trận có dạng

f(i, j)=(B(i, j), G(i, j), R(i, j)).
Giá trị điểm ảnh tại điểm (i, j) được tính:
f(i,j) = h (B(i, j), G(i, j), R(i, j))= B(i,j)*256
2
+ G(i, j)*256 + R(i, j).
Ví dụ ma trận biểu diễn ảnh màu kích thước 3x3 như sau










=
255) 0, (255, 0) 0, (0, 255) 128, (128,
100) 100, (100, 255) 255, (255, 255) 0, (200,
255,255) (0, 0) 0, (128, 0) 0, (255,
),( yxf
2.3. Phân tích ảnh trên các không gian màu khác nhau
Không gian màu là một chỉ số kỹ thuật của một hệ toạn độ màu 3 chiều
và tập các màu nhỏ thành phần có thể trông thấy được trong hệ thống toạ độ
màu thuộc một gam màu đặc trưng. Ví dụ không gian màu RGB ( Red,
Green, Blue ): là một đơn vị tập các màu thành phần sắp xếp theo hình lập
phương của hệ trục toạ độ đề các.
Mục đích của các không gian màu là cho phép các chỉ số kỹ thuật quy
ước của một số loại màu sắc thích hợp với các màu sắc của một số gam màu
khác. Chúng ta có thể thấy trong mô hình màu này, không gian màu là tập

hợp nhỏ hơn của không gian các màu có thể nhìn thấy được, vì vậy một mô
hình màu không thể định nghĩa rõ tất cả các màu có thể nhìn thấy. Ví dụ như
11
trong không gian màu RGB chỉ là tập con của không gian (X, Y, Z). Các
màu sắc mà mắt con người nhìn thấy có bước sóng từ 400nm – 700nm.
Các mô không gian màu khác nhau được phát triển nhằm sử dụng chỉ
cho một tiêu chí nhất định. Không gian màu RGB dùng cho các màn hình
CRT, YIQ dùng trong hệ thống ti vi màu băng tần rộng và CMY (xanh tím,
đỏ tươi, vàng) sử dụng cho một số thiết bị in màu, ….
Biểu đồ màu sắc là một phân bố của màu sắc trong không gian màu,
được dùng nhiều trong thị giác máy tính khi phân tích ảnh. Đây là một công
cụ chính để phân tích ảnh.
. Không gian màu RGB
Mô hình màu RGB (Red- đỏ, Green – xanh lá cây, Blue – xanh da trời):
là đơn vị tập các màu thành phần sắp xếp theo hình lập phương của hệ trục
toạ độ X, Y, Z như hình (1). Giá trị của mỗi thành phần màu biến thiên từ 0-
255. Đường chéo chính của hình lập phương với sự cân bằng về số lượng
từng màu gốc tương ứng với mức độ xám đen là (0, 0, 0) – (255, 255, 255).
Hình 2.1: Không gian màu RGB
Ảnh dạng bitmap là một dạng ảnh chuẩn, ở đó phụ thuộc vào độ phân
giải mà xác định thành phần màu của file ảnh. Ví dụ như ảnh với độ phân
giải 32 bit (4 byte) thì mỗi điểm ảnh trên 1 bức ảnh sẽ tương ứng với một
Magenta= (1,0,1)
Cyan= (0,1,1)
White= (1,1,1)
Green= (0,1,0)
Yellow= (1,1,0)Red= (1,0,0)
Black= (0,0,0)
Blue= (0,0,1)
12

giá trị màu trong không gian RGB. Do đó ta có thể phân tích ảnh màu theo
từng thành phần cơ bản. Ví dụ dưới đây là một minh hoạ:
Hình 2.2: Phân tích ảnh màu ra 3 thành phần màu R, G, B
. Không gian màu HSL
Mô hình màu HSL (Hue, Saturation, Luminace - sắc màu, độ sáng, độ
bão hoà) được xác định bởi tập hình chóp 6 cạnh đôi của không gian hình
trụ như hình vẽ:
Các màu được xác định theo thứ tự ngược chiều kim đồng hồ: màu đỏ,
màu vàng, màu lục, màu xanh tím, màu lam và màu đỏ tươi.
Cyan
White
Red
YellowGreen
MagentaBlue
Black
H
S
L
Hình 2.3: Mô hình màu HSL
13
Hình 2.4: Các màu trong mô hình HSL
Không gian màu HSL là một không gian màu xây dựng định hướng theo
trực giác của con người về tông màu, sắc độ và sắc thái mỹ thuật nên có tính
dễ sử dụng.
Sắc màu là góc quanh trục đứng của hình chóp 6 cạnh đôi với màu đỏ tại
gốc 0
0
. Sự bão hoà được đo xung quanh trục đứng từ 0 trên trục đến 1 trên
bề mặt. Độ sáng ( lighness)=0 cho màu đen (tại điểm mút thấp nhất của hình
chop 6 cạnh đôi) và =1 cho màu trắng (tại điểm mút cao nhất). Tất cả các

màu xám đều có S = 0, các màu bão hoà đạt trị số lớn nhất tại S=1, L=0.5
. Không gian màu YCbCr
Trong không gian màu này Y mô tả như thành phần về độ sang, Vb và
Cr mô tả như 2 thành phần màu khác. Có thể biến đổi từ RGB sang YCbCr
theo công thức sau:
Y = c
1
R + c
2
G + c
3
B
Cb =(B-Y)/(2-2c
3
)
Cr = (R-Y)(2-2c
1
)
Trong đó c
1
, c
2
, c
3
được xác định theo các tiêu chuẩn sau:
14
Lục
Đỏ
Vàng
Vàng

Lam Đỏ tươi
Trắng
C
1
C
2
C
3
Tiêu chuẩn 601 0.2989 0.5866 0.1145
Tiêu chuẩn 709 0.2126 0.7152 0.0722
ITU 0.2220 0.7067 0.0713
Không gian màu này hiện nay được dùng khá nhiều trong phân tích ảnh
màu. Từ một bức ảnh gốc ta có thể phân tích ảnh theo các thành phần cơ
bản. Dưới đây là một ví dụ minh hoạ điều đó.
Hình 2.5: Phân tích ảnh màu ra các thành phần màu Y, Cb, Cr
Các giá trị của Cb và Cr sử dụng phân đoạn tách các điểm ảnh có sắc
màu như màu da người như sau:
{138 < Cr < 178; 299<Cb+ 0.6Cr<215} và 0 ≤ Cb, Cr ≤ 255
15
Chương 3: Dò tìm khuôn mặt trong ảnh
3.1: Một số phương pháp xác định vị trí khuôn mặt
Có nhiều nghiên cứu tìm phương pháp xác định khuôn mặt người, từ ảnh
xám đến ngày nay là ảnh màu. Dựa vào tính chất của các phương pháp xác
định khuôn mặt người trên ảnh. Các phương pháp này được chia làm bốn
hướng tiếp cận chính. Ngoài bốn hướng này, nhiều nghiên cứu có khi liên
quan đến không những một hướng tiếp cận mà có liên quan nhiều hơn một
hướng chính:
- Hướng tiếp cận dựa trên tri thức: Mã hóa các hiểu biết của con người
về các loại khuôn mặt người thành các luật. Thông thường các luật mô tả
quan hệ của các đặc trưng.

Trong hướng tiếp cận này, các luật sẽ phụ thuộc rất lớn vào tri thức của
những kết quả nghiên cứu về bài toán xác định khuôn mặt người. Đây là
hướng tiếp cận dạng top-down. Dễ dàng xây dựng các luật cơ bản để mô tả
các đặc trưng của khuôn mặt và các quan hệ tương ứng. Ví dụ, một khuôn
mặt thường có hai mắt đối xứng nhau qua trục thẳng đứng ở giữa khuôn mặt
và có một mũi, một miệng. Các quan hệ của các đặc trưng có thể được mô tả
như quan hệ về khoảng cách và vị trí. Thông thường các tác giả sẽ trích đặc
trưng của khuôn mặt trước tiên để có được các ứng viên, sau đó các ứng
viên này sẽ được xác định thông qua các luật để biết ứng viên nào là khuôn
mặt và ứng viên nào không phải khuôn mặt. Thường áp dụng quá trình xác
định để giảm số lượng xác định sai. Một vấn đề khá phức tạp khi dùng
hướng tiếp cận này là làm sao chuyển từ tri thức con người sang các luật
một các hiệu quả. Nếu các luật này quá chi tiết (chặt chẽ) thì khi xác định có
thể xác định thiếu các khuôn mặt có trong ảnh, vì những khuôn mặt này
không thể thỏa mãn tất cả các luật đưa ra. Nhưng các luật tổng quát quá thì
có thể chúng ta sẽ xác định lầm một vùng nào đó không phải là khuôn mặt
16
mà lại xác định là khuôn mặt. Và cũng khó khăn mở rộng yêu cầu từ bài
toán để xác định các khuôn mặt có nhiều tư thế khác nhau.
- Hướng tiếp cận dựa trên đặc trưng không thay đổi: Mục tiêu các thuật
toán đi tìm các đặc trưng mô tả cấu trúc khuôn mặt người mà các đặc trưng
này sẽ không thay đổi khi tư thế khuôn mặt, vị trí đặt thiết bị thu hình hoặc
điều kiện ánh sáng thay đổi.
Đây là hướng tiếp cận theo kiểu bottom-up. Các tác giả cố gắng tìm các
đặc trưng không thay đổi của khuôn mặt người để xác định khuôn mặt
người. Dựa trên nhận xét thực tế, con người dễ dàng nhận biết các khuôn
mặt và các đối tượng trong các tư thế khác nhau và điều kiện ánh sáng khác
nhau, thì phải tồn tại các thuộc tính hay đặc trưng không thay đổi. Có nhiều
nghiên cứu đầu tiên xác định các đặc trưng khuôn mặt rồi chỉ ra có khuôn
mặt trong ảnh hay không. Các đặc trưng như: lông mày, mắt, mũi, miệng, và

đường viền của tóc được trích bằng phương pháp xác định cạnh. Trên cơ sở
các đặc trưng này, xây dựng một mô hình thống kê để mô tả quan hệ của các
đặc trưng này và xác định sự tồn tại của khuôn mặt trong ảnh. Một vấn đề
của các thuật toán theo hướng tiếp cận đặc trưng cần phải điều chỉnh cho
phù hợp điều kiện ánh sáng, nhiễu, và bị che khuất. Đôi khi bóng của khuôn
mặt sẽ tạo thêm cạnh mới, mà cạnh này lại rõ hơn cạnh thật sự của khuôn
mặt, vì thế nếu dùng cạnh để xác định sẽ gặp khó khăn.
- Hướng tiếp cận dựa trên so khớp mẫu: Dùng các mẫu chuẩn của khuôn
mặt người (các mẫu này được chọn lựa và lưu trữ) để mô tả cho khuôn mặt
người hay các đặc trưng khuôn mặt (các mẫu này phải chọn làm sao cho
tách biệt nhau theo tiêu chuẩn mà các tác giả định ra để so sánh). Các mối
tương quan giữa dữ liệu ảnh đưa vào và các mẫu dùng để xác định khuôn
mặt người.
Trong so khớp mẫu, các mẫu chuẩn của khuôn mặt (thường là khuôn mặt
được chụp thẳng) sẽ được xác định trước hoặc xác định các tham số thông
17
qua một hàm. Từ một ảnh đưa vào, tính các giá trị tương quan so với các
mẫu chuẩn về đường viền khuôn mặt, mắt, mũi và miệng. Thông qua các giá
trị tương quan này mà các tác giả quyết định có hay không có tồn tại khuôn
mặt trong ảnh. Hướng tiếp cận này có lợi thế là rất dễ cài đặt, nhưng không
hiệu quả khi tỷ lệ, tư thế, và hình dáng thay đổi. Nhiều độ phân giải, đa tỷ lệ,
các mẫu con, và các mẫu biến dạng được xem xét thành bất biến về tỷ lệ và
hình dáng.
- Hướng tiếp cận dựa trên diện mạo: Trái ngược hẳn với so khớp mẫu,
các mô hình (hay các mẫu) được học từ một tập ảnh huấn luyện trước đó.
Sau đó hệ thống (mô hình) sẽ xác định khuôn mặt người. Một số tác giả còn
gọi hướng tiếp cận này là hướng tiếp cận theo phương pháp học.
Trái ngược với các phưong pháp so khớp mẫu với các mẫu đã được định
nghĩa trước bởi những chuyên gia, các mẫu trong hướng tiếp cận này được
học từ các ảnh mẫu. Một các tổng quát, các phương pháp theo hướng tiếp

cận này áp dụng các kỹ thuật theo hướng xác suất thống kê và máy học để
tìm những đặc tính liên quan của khuôn mặt và không phải là khuôn mặt.
Các đặc tính đã được học ở trong hình thái các mô hình phân bố hay các
hàm biệt số nên dùng có thể dùng các đặc tính này để xác địnhkhuôn mặt
người. Đồng thời, bài toán giảm số chiều thường được quan tâm để tăng
hiệu quả tính toán cũng như hiệu quả xác định.Có nhiều phương pháp áp
dụng xác suất thống kê để giả quyết. Một ảnh hay một vector đặc trưng xuất
phát từ một ảnh được xem như một biến ngẫu nhiên x, và biến ngẫu nhiên
có đặc tính là khuôn mặt hay không phải khuôn mặt bởi công thức tính theo
các hàm mật độ phân lớp theo điều kiện p(x | khuôn mặt) và p(x | không
phải khuôn mặt). Có thể dùng phân loại Bayes hoặc khả năng cực đại để
phân loại một ứng viên là khuôn mặt hay không phải là khuôn mặt. Không
thể cài đặt trực tiếp phânloại Bayes bởi vì số chiều của x khá cao, bởi vì p(x
| khuôn mặt)và p(x | không phải khuôn mặt)là đa phương thức, và chưa thể
18
hiểu nếu xây dựng các dạng tham số hóa một cách tự nhiên cho p(x |khuôn
mặt)và p(x | không phải khuôn mặt). Có khá nhiều nghiên cứu theo hướng
tiếp cận này quan tâm xấp xỉ có tham số hay không có tham số cho p(x |
khuôn mặt) và p(x | không phải khuôn mặt). Các tiếp cận khác trong hướng
tiếp cận dựa trên diện mạo là tìm một hàm biệt số (như: mặt phẳng quyết
định, siêu phẳng để tách dữ liệu, hàm ngưỡng) để phân biệt hai lớp dữ liệu:
khuôn mặt và không phải khuôn mặt. Bình thường, các mẫu ảnh được chiếu
vào không gian có số chiều thấp hơn, rồi sau đó dùng một hàm biệt số (dựa
trên các độ đo khoảng cách) để phân loại, hoặc xây dựng mặt quyết định phi
tuyến bằng mạng neural đa tầng. Hoặc dùng SVM (Support Vector
Machine) và cácphương thức kernel, chiếu hoàn toàn các mẫu vào không
gian có số chiều cao hơn để dữ liệu bị rời rạc hoàn toàn và ta có thể dùng
một mặt phẳng quyết định phân loại các mẫu khuôn mặt và không phải
khuôn mặt.
Tiếp cận theo hướng dựa trên diện mạo có một số phương pháp sau

- Eigenface (khuôn mặt riêng)
- Hướng tiếp cận dựa trên phân bố
- Mạng Neural
- SVM (Support Vector Machine): dùng huấn luyện để phân loại theo
hàm đa thức. Trong khi các phương pháp huấn luyện mạng (mạng Bayes,
mạng Neural, mạng RBF) đều dùng tiêu chí cực tiểu lỗi huấn luyện (rủi
ro do kinh nghiệm), còn SVM dùng quy nạp (tối thiểu rủi ro cấu trúc),
mục tiêu là làm tối thiểu một bao bên trên lỗi tổng quát.
- Mạng lọc thưa (Sparse Network of Windows)
- Phân loại Bayes
- Mô hình Markov ẩn
- Tiếp cận theo lý thuyết thông tin
3.2: Phương pháp dò tìm khuôn mặt dựa trên sắc màu da
19
3.2.1: Mô tả phương pháp
Mục đích của việc xác định các điểm ảnh màu da người là phân ngưỡng
tách các điểm ảnh thuộc vùng da người trong ảnh. Từ ảnh được phân
ngưỡng ta có thể áp dụng các thuật toán dò tìm để xác định vị trí của khuôn
mặt trong ảnh. Thông thường để giải quyết vấn đề trên, người ta xem xét
một độ đo để đo khoảng cách các điểm ảnh màu đến sắc thái của màu da.
Phương pháp dò tìm khuôn mặt dựa trên sắc màu da gồm có 3 giai đoạn
như sau:
1. Xây dựng mô hình màu da người
2. Phân ngưỡng tách các điểm ảnh màu da người ra khỏi các màu khác
trong ảnh. I(x,y)=1 nếu là màu da, ngược lại bằng 0.
3. Dò tìm các khuôn mặt trong ảnh đã được phân ngưỡng.
Việc dò tìm khuôn mặt trong ảnh đã được phân ngưỡng tương đối đơn
giản. Định nghĩa min_size và max_size là kích thước nhỏ nhất và lớn nhất
của cửa sổ bao khuôn mặt (chỉ dò tìm các khuôn mặt có kích thước trong
khoảng [min_size, max_size]). Ảnh sau khi phân ngưỡng được quét theo

từng dòng, đến khi gặp vị trí nghi ngờ có khuôn mặt (gặp một đường ngang
có kích thước thuộc khoảng [min_size, max_size]) thì: 1. Dò lên phía trên
để xác định biên trên của khuôn mặt, 2. Dò xuống dưới để xác định biên
dưới và hai bên của khuôn mặt.
20
Sau đó kiểm tra điều kiện định nghĩa khuôn mặt của khu vực vừa dò tìm
được. Nếu kiểm tra điều kiện đúng:
1. Khu vực đó được xác định là khuôn mặt,
2. Xoá vùng dò tìm được,
3.Tiếp tục dò tìm đến các vị trí tiếp theo.
Vấn đề đặt ra của phương pháp này là làm sao để xây dựng mô hình màu
da người có độ chính xác cao? Giải pháp nào để khắc phục những màu nền
có cùng sắc màu với màu da người?
Phương pháp này có ưu điểm là tốc độ dò tìm nhanh, đáp ứng xử lý thời
gian thực. Đối với các khu vực có môi trường xung quanh không phức tạp
(trong các phòng, các vị trí được thiết kế sẵn nền,…) thì hệ thống này triển
khai rất hiệu quả. Tuy nhiên với môi trường tự nhiên thì phương pháp này
có độ chính xác không cao.
Hiện nay có rất nhiều các nghiên cứu xây dựng mô hình màu da người
như thu thập và xác định một số khoảng biến thiên của da người, dựa trên
phân bố Gauss, xác suất điều kiện, lý thuyết Bayes, xây dựng ngưỡng dựa
trên các kỹ thuật: Goodness- of- fit, cực đại hoá khả năng, khoảng cách
Đường có khả
năng thuộc
khuôn mặt
Điều kiện định nghĩa khuôn mặt
Hình 3.1: Phương pháp dò tìm khuôn mặt trên ảnh đã phân ngưỡng
21
Mahalanobis, Histogram, cực đại triển vọng, dùng mạng Neural đã được
huấn luyện, hoặc kết hợp nhiều phương pháp…

3.2.2: Phạm vi vùng màu da
Một phương thức cơ bản là xây dựng một số điều kiện biên để kiểm tra
một điểm ảnh có thuộc điều kiện đó thì điểm ảnh đó có thể là da người. Có
nhiều cách để xây dựng, có thể thu thập các điểm ảnh mình biết chắc là da
người rồi từ đó xây dựng điều kiện. Có rất nhiều nghiên cứu theo hướng này
và cho kết quả khả quan. Dưới đây là một số công thức thực nghiệm để đánh
giá điểm ảnh có cùng kết quả với màu da người:





>>>
>
>>>
BR &G R & 15|G-R|
(1) 15B} G, min{R, - B} G, max{R,
20B & 40G & 95R





<>
<>
<>
60Cr & 10Cr
(2) 10.3Cb & -60b
522Y & 45
C

Y
Tuy nhiên các giá trị biên này không hoàn toàn chính xác, mà còn phụ
thuộc rất nhiều vào thiết bị, điều kiện môi trường như: ánh sáng, khung cảnh
xung quanh, quần áo đang mặc,… Nếu muốn độ chính xác cao thì phải càng
nhiều điều kiện, nếu càng nhiều điều kiện thì càng phức tạp khi tính toán.
-Phân tích ảnh trên các không gian màu để xác định mô hình màu da
người, kết hợp với phương pháp dựa trên các kết quả thực nghiệm về phân
bố của màu da và không phải sắc màu da để phân đoạn tách khuôn mặt ra
khỏi màu nền. Theo một số các kết quả thực nghiệm các điểm ảnh có sắc
màu da người có phạm vi như sau:
Trong không gian màu YCbCr: {138< Cr< 178; 299 < Cb+ 0.6Cr < 215}
với 0≤ Cb, Cr≤ 255.
Trong không gian màu HLS: theo các kết quả nghiên cứu các màu có giá
trị nằm trong dải màu từ đỏ tươi đến màu vàng có sắc màu da.
22
Theo một kết quả nghiên cứu cho kết quả khá tốt dùng công thức sau để
xác định khoảng thuộc màu da người:
I = [L(R) + L(B) + L(G)] / 3
Rg = L(R) - L(G)
By = L(B) - [L(G) +L(R)] / 2
Trong đó L là hàm log10;
hue = atan2(Rg,By) * (180 / PI)
Theo công thức trên thì các màu có giá trị I và hue có cùng sắc màu với
màu da thuộc khoảng giá trị sau:
{ I <= 5 && hue >= 4 && hue <= 255 }
3.2.3: Mô hình phân bố màu da không có tham số
Ý tưởng chính của phương pháp mô hình hoá màu da không có tham số
là ước lượng phân bố màu da từ dữ liệu thu thập được (dữ liệu huấn luyện)
mà không có một mô hình màu da rõ ràng. Kết quả đôi khi xem như xây
dựng ánh xạ xác suất màu da (Skin Probability Map - SPM).

* Bảng tra cứu đã được chuẩn hoá
Một vài thuật toán xác định khuôn mặt và theo vết khuôn mặt dùng biểu
đồ để phân đoạn màu da. Thường chỉ dùng duy nhất mặt phẳng màu trong
không gian màu để xử lý. Sau khi huấn luyện, biểu đồ sẽ được chuẩn hoá để
có thể được phân bố xác suất rời rạc:
Norm
cskin
cP
skin
][
)( =
(3).
Với skin(c) là biểu đồ của từng kênh màu, tương ứng với véc tơ màu c và
Norm là các giá trị được chuẩn hóa (tổng của các giá trị của biểu đồ được
chuẩn hoá). Trong không gian màu RGB, nếu dùng cả 3 giá trị R, G, B thì c

[0, 256
3
], số lượng c khoảng 16,7 triệu giá trị. Ta có thể giảm số lượng c
bằng cách dùng phân loại Bayes.
* Phân loại Bayes
23
Từ các mô hình histogram (biểu đồ) da người và không phải da người
qua huấn luyện (công thức 3), ta xây dựng một phân loại điểm ảnh có phải
màu da hay không. Đây là phân loại nhị phân, dựa trên xác suất điều kiện
P(skin|c) theo luật Bayes từ giá trị P
skin
(c) đã có:
(4)
)()|()()|(

)()|(
)|(
skinPskincPskinPskincP
skinPskincP
ckinP
¬¬+
=
P(c|skin) và
)|( skincP ¬
được tính trực tiếp từ histogram của màu da và
không phải màu da, còn P(skin) và P(
kin¬
) được ước lượng từ mẫu huấn
luyện. Đồng thời cũng phải xác định một ngưỡng
θ
, nằm trong khoảng [0,
1] nếu P(skin|c)≥ θ thì điểm ảnh đang xét có màu là màu da người. Thay vì
chúng ta phải tính theo công thức 4, thì cũng có thể tính tỷ lệ xác suất như
công thức 5:
(5)
)()|(
)()|(
)|(
)|(
skinPskincP
skinPskincP
cskinP
ckinP
¬¬
=

¬
nếu tỷ lệ này lớn hơn ngưỡng θ, thì điểm ảnh này có màu là màu da
người.
* Ánh xạ tự tổ chức
Ánh xạ tự tổ chức (Sefl – Organizing Map - SOM) được Kohone đề
xuất, và nó đã trở thành một trong những loại phổ biến hiện nay - mạng
Neural nhân tạo không giám sát. Phương pháp xác định màu da dựa trên cơ
sở SOM có 2 cách: một là chỉ dùng thông tin về màu da, cái thứ 2 là dùng cả
2 thông tin về màu da và thông tin không phải màu da, trên nhiều không
gian màu như: NCC, HSL, HSV để kiểm tra. Theo các kết quả thực nghiệm
thì phương pháp SOM dùng để xác định màu da người cho kết quả không
tốt bằng phương pháp dùng histogram trên không gian màu RGB với tập dữ
liệu [0, 256
3
]. Tuy nhiên phương pháp này không cần nhiều dữ liệu như
phương pháp histogram và hiệu quả về mặt thời gian khi xử lý ảnh trong
thời gian thực.
24
3.2.4: Mô hình phân bố màu da có tham số
* Gauss
Có thể dùng hàm mật độ xác suất (probability density function - pdf)
Gauss có dạng ellipse để mô hình hóa phân bố màu da người do khi quan sát
trên biểu đồ các tác giả thấy phân bố của màu da người gần giống phân bố
Gauss [3], được định nghĩa theo công thức 6.
(6)
)(
1
)(
2
1

21
2
1
)|(
s
c
s
T
s
c
e
s
skincP
µµ
π


∑−−

=
Với c là vector màu sắc, µ
s
và ∑
s
là tham số phân bố (vector trung bình
và ma trận hiệp phương sai). Các tham số được ước lượng từ dữ liệu huấn
luyện bằng công thức 7.

=
=

n
j
js
c
n
1
1
µ
(7)

=
−−

=∑
n
j
T
sjsjs
cc
n
1
))((
1
1
µµ
Với n là tổng số mẫu để huấn luyện màu da người, các mẫu là c
j
. P(c |
skin) là xác suất có thể dùng để xem màu c gần giống màu da người hay
không, hoặc dùng khoảng cách Mahalanobis từ véc tơ màu c đến giá trị

trung bình µ
s
để xác định màu c có phải là màu da người hay không dựa trên
ma trận hiệp phương sai.
T
ssss
ccc )()()(
1
µµλ
−∑−=

(8)
Mô hình này được nhiều người dùng và thành công trong ứng dụng của
họ.
* Gauss hỗn hợp
25

×