Do đó vẫnkhó 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
Trang 1MỤC LỤC
Mở đầu 3
Chương 1 Giới thiệu bài toán nhận dạng mặt người 6
Chương 2: Một số vấn đề cơ bản về xử lý ảnh số 10
2.1: Một số khái niệm cơ bản 10
2.2: Biểu diễn ảnh 10
2.3 Phân tích ảnh trên các không gian màu khác nhau 11
Chương 3: Dò tìm khuôn mặt trong ảnh 16
3.1: Một số phương pháp xác định vị trí khuôn mặt 16
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 20
3.2.2: Phạm vi vùng màu da 22
3.2.3: Mô hình phân bố màu da không có tham số 23
3.2.4: Mô hình phân bố màu da có tham số 25
3.2.5: Mô hình hỗn hợp 28
3.2.6: Mô hình phân bố màu da động 29
3.3: Phương pháp dò tìm khuôn mặt dựa trên các Haar Feature 30
3.3.1 Haar- features 30
2.3.2 Tiếp cận Boosting 34
2.3.3 AdaBoost (Adaptive Boost) 35
2.3.4 Các tầng của bộ phân lớp 39
2.3.5 Dò tìm mặt người sử dụng Haar Features và bộ phân lớp khuôn mặt 42
Chương 4 Nhận dạng ảnh khuôn mặt bằng phương pháp PCA 45
4.1: Mô tả phương pháp 45
4.2: Giảm số chiều không gian vector sử dụng phương pháp biến đổi tuyến tính 48
Trang 24.3:Nhận dạng mặt người theo phương pháp PCA: 53
Chương 5 Thiết kế chương trình nhận dạng mặt người 59
5.1: Yêu cầu của chương trình 59
5.2: Thiết kế các chức năng của chương trình 59
5.2.1: Các bộ lọc phân tích ảnh trên không gian màu RGB 59
5.2.2: Các bộ lọc phân tích ảnh trên không gian màu HSL 60
5.2.3: Các bộ lọc phân tích ảnh trên không gian màu YCbCr 62
5.2.4.: Dò tìm và nhận dạng ảnh khuôn mặt trong ảnh màu 63
5.2.5: Dò tìm, nhận dạng ảnh thu được qua camera 65
5.2.6: Dò tìm, nhận dạng ảnh trích từ file *.avi 66
Chương 6 Kết luận 68
Tài liệu tham khảo 71
Trang 3Mở đầ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 haykhô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êncứu về bài toán xác định khuôn mặt người từ ảnh đen trắng, xám đến ảnhmà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ộngcho ả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ườngxung quanh khá đơn giản (trong phòng thí nghiệm) cho đến môi trườngxung 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ặtngườ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ácnhất định, chưa đạt được độ chính xác cao Ảnh thu được phụ thuộc rất lớnvào nhiều điều kiện: độ chiếu sáng, khung cảnh xung quanh, quần áo đangmặ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 chothấ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áchtổ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
Trang 4nào trả lời chính xác câu hỏi: đâu là đặc trưng thực sự để phân biệt haigươ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ả trongthự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ảiquyế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ìmkhuô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)
Trang 5-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ố moduletiệ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áctrong tập dữ liệu nhỏ (dưới 20 người) và trong điều kiện môi trường ràngbuộ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ếtquả 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ậntình hướng dẫn, chỉ bảo từng nội dung của đề tài, các thầy, cô giáo khoaCô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
Trang 6Chươ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ườitruy 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 saochép thì kẻ trộm hoàn toàn có quyền truy cập và sử dụng hệ thống Hiện naycá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ựavà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 nhucầ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ậtphá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ấmkhô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ôngnhâ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âncủ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
Trang 7hợ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ệccô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 ảnhkhuô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ặckhiế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 quamột số ký hiệu nháy mắt có thể biểu lộ những gì họ muốn, Đó là cácbà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ì haykhô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 rathô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ặtngườ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ănnhất trong lĩnh vực nhận dạng ảnh Một gương mặt người không chỉ là đốitượ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ủathiế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ậndạng ảnh khuôn mặt người chưa cao Người ta vẫn chưa tìm ra được phươngphá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 đặctrưng của ảnh Một số phương pháp được triển khai ứng dụng nhưng tốc độ
Trang 8xử lý, nhận dạng ảnh còn chậm, không đáp ứng thời gian thực Do đó vẫnkhó 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ônmặ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ậnchính:
+ Bộ dò tìm (Face Image Detector): có nhiệm vụ xác định vị trí củagươ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ácbướ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ônmặt từ ảnh ban đầu gắn với điều kiện không ổn định của dữ liệu ảnh: độ
Trang 9sá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 đặctrư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ảngcách giữa ảnh cần tìm và ảnh trong cơ sở dữ liệu Một số khoảng cáchthường được sử dụng là khoảng cách Ơclít, Mahalanobis,…
Trang 10Tiền xử lý đặc trưngRút trích
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
Trang 11Chươ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 (28= 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
1, 1) -
f(M
0) 1, - f(M
1) - N f(1,
f(1,1)
f(1,0)
1) - N f(0,
f(0,1)
)
0 , 0 ( f )
,
f
Trang 12Như 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)*2562 + 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)
0, (0, 255) 128,
(128,
100) 100,
(100,
255) 255,
(255,
255) 0,
(200,
255,255) (0,
0)
0, (128,
0) 0, (255, )
, (x y
f
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ư
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, …
Trang 13Biể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ụctoạ độ 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ượngtừ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ângiải mà xác định thành phần màu của file ảnh Ví dụ như ảnh với độ phângiải 32 bit (4 byte) thì mỗi điểm ảnh trên 1 bức ảnh sẽ tương ứng với mộtgiá trị màu trong không gian RGB Do đó ta có thể phân tích ảnh màu theotừng thành phần cơ bản Ví dụ dưới đây là một minh hoạ:
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)
Trang 14Hì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ìnhtrụ 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
Yellow Green
Magenta Blue
Black
H S L
Hình 2.3: Mô hình màu HSL
Lục
Đỏ Vàng
Trang 15Hì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 theotrự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
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:
Không gian màu này hiện nay được dùng khá nhiều trong phân tích ảnhmà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 đó
Trang 16Hì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ắcmàu như màu da người như sau:
{138 < Cr < 178; 299<Cb+ 0.6Cr<215} và 0 ≤ Cb, Cr ≤ 255
Trang 17Chươ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ừ ảnhxá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ốnhướng tiếp cận chính Ngoài bốn hướng này, nhiều nghiên cứu có khi liênquan đến không những một hướng tiếp cận mà có liên quan nhiều hơn mộthướ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ủanhữ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ônmặ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 đặctrưng của khuôn mặt trước tiên để có được các ứng viên, sau đó các ứngviên này sẽ được xác định thông qua các luật để biết ứng viên nào là khuônmặ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ùnghướng tiếp cận này là làm sao chuyển từ tri thức con người sang các luậtmộ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àykhô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
Trang 18mà 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àitoá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ậttoá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ưngnà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ặtngườ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ônmặt và các đối tượng trong các tư thế khác nhau và điều kiện ánh sáng khácnhau, thì phải tồn tại các thuộc tính hay đặc trưng không thay đổi Có nhiềunghiên cứu đầu tiên xác định các đặc trưng khuôn mặt rồi chỉ ra có khuônmặ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 chophù hợp điều kiện ánh sáng, nhiễu, và bị che khuất Đôi khi bóng của khuônmặ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ônmặ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ônmặt người (các mẫu này được chọn lựa và lưu trữ) để mô tả cho khuôn mặtngười hay các đặc trưng khuôn mặt (các mẫu này phải chọn làm sao chotách biệt nhau theo tiêu chuẩn mà các tác giả định ra để so sánh) Các mốitương quan giữa dữ liệu ảnh đưa vào và các mẫu dùng để xác định khuônmặ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
Trang 19qua một hàm Từ một ảnh đưa vào, tính các giá trị tương quan so với cácmẫ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ônmặ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ônghiệ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òngọ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 địnhnghĩa trước bởi những chuyên gia, các mẫu trong hướng tiếp cận này đượchọ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ếpcậ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áchàm biệt số nên dùng có thể dùng các đặc tính này để xác địnhkhuôn mặtngười Đồng thời, bài toán giảm số chiều thường được quan tâm để tănghiệu quả tính toán cũng như hiệu quả xác định.Có nhiều phương pháp ápdụng xác suất thống kê để giả quyết Một ảnh hay một vector đặc trưng xuấtphá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 theocác hàm mật độ phân lớp theo điều kiện p(x | khuôn mặt) và p(x | khôngphả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ôngthể 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ể
Trang 20hiể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ônmặt)và p(x | không phải khuôn mặt) Có khá nhiều nghiên cứu theo hướngtiế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ướngtiế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ếuvà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ựatrên các độ đo khoảng cách) để phân loại, hoặc xây dựng mặt quyết định phituyến bằng mạng neural đa tầng Hoặc dùng SVM (Support VectorMachine) và cácphương thức kernel, chiếu hoàn toàn các mẫu vào khônggian có số chiều cao hơn để dữ liệu bị rời rạc hoàn toàn và ta có thể dùngmột mặt phẳng quyết định phân loại các mẫu khuôn mặt và không phảikhuô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 theohà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
Trang 213.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ưỡngtách các điểm ảnh thuộc vùng da người trong ảnh Từ ảnh được phânngưỡng ta có thể áp dụng các thuật toán dò tìm để xác định vị trí của khuônmặt trong ảnh Thông thường để giải quyết vấn đề trên, người ta xem xétmộ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ạnnhư 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áctrong ả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 đơngiản Định nghĩa min_size và max_size là kích thước nhỏ nhất và lớn nhấtcủa cửa sổ bao khuôn mặt (chỉ dò tìm các khuôn mặt có kích thước trongkhoảng [min_size, max_size]) Ảnh sau khi phân ngưỡng được quét theotừ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êndưới và hai bên của khuôn mặt
Trang 22Sau đó 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ờigian 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ểnkhai 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ườinhư thu thập và xác định một số khoảng biến thiên của da người, dựa trênphân bố Gauss, xác suất điều kiện, lý thuyết Bayes, xây dựng ngưỡng dựatrê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
Trang 23Mahalanobis, Histogram, cực đại triển vọng, dùng mạng Neural đã đượchuấ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 tramộ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à dangườ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 để đánhgiá điểm ảnh có cùng kết quả với màu da người:
&
G R
&
15
| G - R
|
(1)
15 B}
G, min{R, -
B}
G, max{R,
20 B
&
40 G
&
95
&
1 0 Cr
(2)
10.3 Cb
&
-6 0 b
52 2 Y
&
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ảnhxung quanh, quần áo đang mặc,… Nếu muốn độ chính xác cao thì phải càngnhiề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 dangườ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 rakhỏ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ắcmà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
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:
Trang 24I = [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ớimà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âydự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 trongkhô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
c skin c
P 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, 2563], số lượng c khoảng 16,7 triệu giá trị Ta có thể giảm số lượng cbằng cách dùng phân loại Bayes
* Phân loại Bayes
Từ các mô hình histogram (biểu đồ) da người và không phải da ngườiqua 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
Trang 25mà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ệnP(skin|c) theo luật Bayes từ giá trị Pskin(c) đã có:
(4) ) (
)
| ( ) ( )
| (
) ( )
| ( )
|
(
skin P
skin c
P skin P skin c P
skin P skin c P c
(5) ) (
)
| (
) ( )
| ( )
skin c
P
skin P skin c P 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ônggian màu như: NCC, HSL, HSV để kiểm tra Theo các kết quả thực nghiệmthì phương pháp SOM dùng để xác định màu da người cho kết quả khôngtố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, 2563] 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 trongthời gian thực
3.2.4: Mô hình phân bố màu da có tham số
* Gauss
Trang 26Có 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áttrê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
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ấnluyện bằng công thức 7
n j j
T s j s j
) )(
( 1
ma trận hiệp phương sai
T s s
(9) )
| ( )
c
P
Trang 27trong công thức 9, k là số lượng các thành phần hỗn hợp, I là các tham
số hỗn hợp và được chuẩn hóa 1
Việc chọn số lượng các thành phần k rất quan trọng, nếu chọn lớn quá
sẽ tốn chi phí tính toán khá cao, nếu chọn nhỏ quá thì mức chính xác khôngcòn cao Việc chọn k sẽ phụ thuộc vào kinh nghiệm người dùng cũng như tùyvào ứng dụng Đồng thời phải mô tả chính xác mô hình dựa trên dữ liệu huấnluyện mà đừng để xảy ra tình trạng quá khớp dữ liệu Thông thường chọn k từ2- 16, một số ứng dụng chọn k=8 (trung bình)
* Gom nhóm dựa trên đa thành phần Gauss
Phương pháp này dùng xấp xỉ gom nhóm màu da người với ba thành
phần 3D Gauss trong không gian màu YCbCr Một dạng khác của thuật toángom nhóm dữ liệu k trung bình (k-mean clustering) cho các nhóm Gauss dùng
để huấn luyện cho mô hình Một điểm ảnh được phân loại là thuộc nhóm cómàu là màu da người, nếu khoảng cách Mahalanobis từ vector màu c đến tâmgần nhất của nhóm trong mô hình dưới một ngưỡng định nghĩa trước
* Mô hình bao dạng ellipse
Khi kiểm tra các phân bố màu da người và không phải màu da trong vàikhông gian màu, một số kết quả nghiên cứu cho thấy nhóm màu da người cóhình dạng gần như một hình ellipse và thật sự không thể dùng duy nhất một
mô hình Gauss để xấp xỉ mô hình màu da người Do tính nhóm màu dangười bất đối xứng và đặc biệt đối với mật độ tại đỉnh nên khi dùng mô hình
Trang 28Gauss đơn giản sẽ dẫn đến tỷ lệ sai khá cao Mô hình bao dạng ellipse(Elliptic Boundary Model) nhanh và đơn giản trong huấn luyện như mô hìnhGauss đơn giản và Gauss hỗn hợp, đồng thời lại cho kết quả xác định caohơn trên cùng cơ sở dữ liệu Mô hình bao dạng ellipse được định nghĩa nhưsau:
(c) = (c - )T -1 (c - ) (10)
Tiến trình huấn luyện cho trước hệ thống gồm hai bước: đầu tiên, loại bỏcác mẫu huấn luyện màu có tần số thấp (khi dùng bộ dữ liệu là màu dangười thì những mẫu có tần số thấp chính là những mẫu có số lượng ít - haynói cách khác những mẫu này có thể là nhiễu hay dữ liệu không phù hợp) đểloại bỏ bớt nhiễu và dữ liệu không phù hợp, tỷ lệ loại bớt cho phép đến 5%.Sau đó các tham số của mô hình ( và ) được tính theo công thức 11 nhưsau:
T i i
f
N 1
) )(
i c f
f N
1
(11)Với n là tổng số các vector màu riêng biệt ci của tập điểm ảnh có màuchính là màu da người dùng để huấn luyện (không phải tổng số điểm ảnhdùng để huấn luyện), và fi là số lượng các mẫu có màu da người dùng huấnluyện có cùng màu với vector màu ci, vậy N chính là tổng số mẫu dùng đểhuấn luyện Một điểm ảnh có màu c được xem là cùng màu với màu da khi
(c) < , với là một ngưỡng Theo mô hình bao dạng ellipse dữ liệu bịnghiêng không ảnh hưởng đến tâm của mô hình
3.2.5: Mô hình hỗn hợp
Trong thực tế, để tìm mô hình màu da người có độ chính xác cao thì cầnphải tích hợp nhiều phương pháp Dưới đây là một số kết quả nghiên cứuphương pháp tích hợp của một số tác giả:
Trang 29Kakumanu sử dụng các kênh màu (như CbCr) mà không dùng kênh ánhsáng (vì kênh này sẽ bị ảnh hưởng của môi trường rất nhiều) để xác địnhthông qua các mạng neural, mà các mạng neural này được huấn luyện để cóthể đoán trực tiếp cho việc ước lượng ánh sáng Các mạng được huấn luyệnbằng các dữ liệu được chọn ngẫu nhiên các ảnh có màu da người ở các điềukiện khác nhau Tác giả xây dựng mạng đa tầng có hai lớp ẩn, tầng nhập có
1600 neuron, lớp ẩn đầu tiên có 48 neuron, lớp ẩn thứ hai có 8 neuron, vàtầng xuất có 2 neuron Tác giả dùng không gian màu con của không gianmàu NCC, đó là không gian chỉ có r và g Không gian con này được chialàm 40*40 (1600) các phần rời rạc, mỗi phần có histogram tương ứng đó làmột neural để đưa vào mạng neural, có giá trị là 1 hay 0 để mô tả phầnhistogram này có hay không có trong ảnh Tác giả dùng thuật toán học lantruyền ngược, dung khoảng cách Euclide để tính lỗi Ông xây dựng đồngthời hai mạng: một dùng để ước lượng ánh sáng, hai là để xác định có phảimàu da hay không
Leonid sử dụng mô hình Markov kết hợp histogram Đầu tiên ông dùnglại mô hình histogram trong không gian màu NCC, từ các giá trị nhận đượcông dùng mô hình Markov để học và điều chỉnh các tham số cần thiết vàlàm cho mô hình càng ngày càng tốt hơn
Mohamed Hammi dùng phương pháp khai khoáng dữ liệu để tìm luậttrong bộ dữ liệu quan hệ màu da người của ông Từ luật này ông xây dựngcây quyết định để phân loại một màu w có phải là màu da người hay không.Qiang Zhu đầu tiên tác giả dùng một phân loại màu da thô thông quakhông gian tựa màu da người, sau đó dùng mô hình Gauss hỗn hợp để tinhchế lại với thuật toán EM Sau đó tác giả dùng SVM (support VectorMachine) để phân loại màu da từ GMM (có hai thành phần) đã được huấnluyện trước đó bằng thông tin của hình dáng và không gian màu của cácđiểm ảnh
Trang 30Huicheng Zheng xây dựng mô hình entropy cực đại để xác định màu củađiểm ảnh có phải là màu da người hay không Mô hình này lợi dụng gượng
ép trên các phân bố ở các biên là khác nhau Từ đây ước lượng các tham sốthông qua xấp xỉ hay nói cách khác khi biết một điểm ảnh có màu là màu dalàm sao ta biết được những điểm lân cận có phải có màu là màu da haykhông? Thường khi xuất hiện trên ảnh sẽ là một vùng da chứ không thể chỉ
có một điểm, dựa trên tính chất này tác giả xây dựng một xấp xỉ trên cây củalưới các điểm để lan truyền, đồng thời tác giả dùng thuật toán lan truyềnniềm tin dựa trên xác suất để chọn Trong khi ước lượng tác giả đã xây dựng
mô hình Markov ẩn để tìm ranh giới qua việc học dữ liệu
Nicu Sebe, Ira Cohen, Thomas S Huang, và Theo Gevers xây dựng bộphân loại một điểm ảnh có sắc màu có phải là màu da người hay không dựatrên mạng Bayes đã được huấn luyện trước đó
Gần đây Moon Hwan Kim, Jin Bae Park, và Young Hoon Joo xây dựng
mô hình màu da người dựa trên logic mờ Các tác giả xây dựng bộ điềukhiển mờ từ dữ liệu các điểm ảnh có màu là màu da người, rồi từ đây xâydựng một bộ gom nhóm (clustering) mờ dùng cho việc xác định vùng nào cócùng màu với màu da người sau này
3.2.6: Mô hình phân bố màu da động
Một họ các phương thức để mô hình hóa màu da người được xây dựng
và làm cho phù hợp với bài toán xác định vị trí trong ảnh có màu da là màu
da người để theo vết khuôn mặt con người Để xây dựng, các tác giả chọnphân tích các ảnh tĩnh từ vài khía cạnh Khía cạnh đầu tiên, mô hình màu dangười có thể ít tổng quát (quá cụ thể) - ví dụ như điều chỉnh cho một người
cụ thể hay cho camera hay cho ánh sáng - đây là phần chính Thứ hai, cóthể khởi động quá trình xử lý, khi một vùng mặt trước được phân biệt từphần hình nền bằng bộ phân loại khác hay làm bằng tay Điều này cho tamột xác suất để mô hình phân loại màu da người, nếu ta có được các điều
Trang 31kiện (người, camera, ánh sáng, hình nền) thì mô hình sẽ có được tính tối ưu.Nên chúng ta không cần mô hình tổng quát, mà chúng ta cũng có thể cóđược tỷ lệ xác định sai sẽ thấp khi so sánh với các mô hình màu da ngườitổng quát dùng để phân loại màu da trong tập các ảnh tự nhiên Mặt khác,phân bố màu da người có thể thay đổi theo thời gian do điều kiện ánh sánghoặc camera, vì vậy mô hình nên cập nhật liên tục để phù hợp với các điềukiện xung quanh thay đổi Ngoài ra, mô hình huấn luyện và phân loại theothời gian trở nên khá quan trọng.
Các tính chất quan trọng nhất của mô hình màu da người dùng để theovết khuôn mặt người: thứ nhất, trong cả hai trạng thái huấn luyện và phânloại thì xử lý phải nhanh và thứ hai, hệ thống nên được cập nhật liên tục đểphù hợp các điều kiện thay đổi Nhiều tác giả đã quan tâm đến khía cạnhnày nên đã chọn mô hình màu da người theo hướng các tham số đơn giản để
dễ dàng cập nhật, cũng như xử lý nhanh và không gian lưu trữ ít Thườngcác tác giả ít quan tâm đến tỷ lệ xác định sai - trong mô hình màu da người
Trang 32Hình 3.3: Các Haar feature cho dò tìm mặt người
Giá trị của các haar feature được tính là độ khác nhau giữa tổng của giátrị mức xám các điểm ảnh trong vùng hình chữ nhật đen và trắng
f(x)=Sum black rectangle (pixel gray level) – Sum white rectangle (pixel gray level)
Trong quá trình huấn luyện, số lượng xử lý trên các Haar Feature là rấtlớn, việc tính tổng các điểm ảnh cho bởi từng feature làm cho thời gian xử
lý tăng đáng kể Để tính toán nhanh giá trị các feature Viola và Jones đưa ra
khái niệm Integral Image để tính toán nhanh các feature cơ bản và khái niệm RSAT- Rotated Summed Area Table để tính toán nhanh cho các
feature xoay góc 45 độ
Integral Image – (SAT – Summed Area Table)
Tập các Haar Feature cơ
sở
Tập các Haar Feature mở rộng
Hình 3.2: Tập các Haar Feature
Trang 33y x I y
x
SAT
' , '
) ' , ' ( )
, (
Mỗi phần tử của bảng SAT có thể được tính toán như sau
SAT(x,y)= SAT(x, y-1)+ SAT(x-1, y)+I(x,y)-SAT(x-1, y-1)
với SAT(-1, y)=SAT(x, -1)= SAT(-1, -1)= 0
Khi đó tổng các điểm ảnh trong một hình chữ nhật bất kỳ có thể được
tính toán nhanh dựa trên integral image tại 4 đỉnh của nó Sum(D)= P4+
P1-P2- P3
Hình 3.5: Cách tính toán nhanh tổng các điểm ảnh trong 1 HCN bất kỳ
Rotated Summed Area Table (RSAT)
P(x,y)
B A
C
P2 P1
D
Trang 34Hình3.6: Các Haar feature xoay góc 45 0
Integral image tại một điểm (x, y) được định nghĩa:
) ' , ' ( )
, (
x x y y y y
y x I y
x RSAT
Mỗi phần tử của bảng RSAT được tính toán như sau:
RSAT(x, y)= RSAT(x-1, y-1)+ RSAT(x+1, y-1)- RSAT(x, y-2)+
I(x, y)+I(x, y-1)
Trang 35Hình 3.7: RSAT(x, y) và cách tính tổng các điểm ảnh trong 1 HCN xoay
45 0
2.3.2 Tiếp cận Boosting
Boosting là kỹ thuật dùng để tăng độ chính xác cho các thuật toán học
Nguyên lý cơ bản của nó là kết hợp các weak classifiers thành một strong
classifier Trong đó weak classifiers là các bộ phân lớp đơn giản chỉ cần độ
và nửa còn lại phân loại sai bởi C1 Bằng cách này, D2 chứa đựng nhữngthông tin bổ sung cho C1 Bây giờ chúng ta sẽ huấn luyện C2 từ D2
Tiếp theo chúng ta sẽ xây dựng tập D3 từ những mẫu không được phânloại tốt bởi sự kết hợp giữa C1 và C2: những mẫu còn lại trong D mà C1 và
C2 cho kết quả khác nhau Như vậy, D3 sẽ gồm những mẫu mà C1 và C2 hoạtđộng không hiệu quả Sau cùng, chúng ta sẽ huấn luyện bộ phân loại C3 từ
D3
Bây giờ chúng ta có một strong classifier gồm sự kết hợp C1, C2, C3 Khitiến hành nhận dạng một mẫu X, kết quả sẽ được quyết định bởi sự thoảthuận của 3 bộ C1, C2, C3: Nếu cả C1 và C2 đều phân X vào cùng một lớp thì