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.87 MB, 67 trang )
Là một cải tiến của tiếp cận boosting, Adaboost sử dụng thêm khái
niệm trọng số (weight) để đánh dấu các mẫu khó nhận dạng. Trong quá
trình huấn luyện, cứ mỗi weak classifier đƣợc xây dựng, thuật toán sẽ tiến
hành cập nhật lại trọng số để chuẩn bị cho việc xây dựng weak classifier kế
tiếp: Tăng trọng số của các mẫu bị nhận dạng sai và giảm trọng số của các
mẫu đƣợc nhận dạng đúng bởi weak classifier vừa xây dựng. Bằng cách
này, các weak classifier sau có thể tập trung vào các mẫu mà các weak
classifiers trƣớc nó chƣa làm tốt. Sau cùng, các weak classifiers sẽ đƣợc kết
hợp tuỳ theo mức độ “tốt” của chúng để tạo dựng nên strong classifier.
Có thể hình dung một cách trực quan nhƣ sau: Để biết một ảnh có
phải là bàn tay hay không, ta hỏi T ngƣời (tƣơng đƣơng với T weak
classifiers xây dựng từ T vòng lặp của boosting), đánh giá của mỗi ngƣời
(tƣơng đƣơng với một weak classifier) chỉ cần tốt hơn ngẫu nhiên một chút
(tỉ lệ sai dƣới 50%). Sau đó, ta sẽ đánh trọng số cho đánh giá của từng
ngƣời (thể hiện qua hệ số α), ngƣời nào có khả năng đánh giá tốt các mẫu
khó thì mức độ quan trọng của ngƣời đó trong kết luận cuối cùng sẽ cao
hơn những ngƣời chỉ đánh giá tốt đƣợc các mẫu dễ. Việc cập nhật lại trọng
số của các mẫu sau mỗi vòng boosting chính là để đánh giá độ khó của các
mẫu (mẫu càng có nhiều ngƣời đánh giá sai là mẫu càng khó).
Các weak classifiers h k (x) đƣợc biểu diễn nhƣ sau:
𝑘 𝑥 =
1, 𝑝 𝑘 𝑓 𝑘 𝑥 < 𝑝 𝑘 𝜃 𝑘
0, 𝑜𝑡𝑒𝑟𝑤𝑖𝑠𝑒
Trong đó:
• x = (x1, x2,..., Xn): vector đặc trƣng của mẫu.
• θ: ngƣỡng
• f k : hàm lƣợng giá vector đặc trƣng của mẫu
• p k : hệ số quyết định chiều của bất phƣơng trình
Hình 2.7: Kết hợp các bộ phân loại yếu thành bộ phân loại mạnh
29
Thuật toán Adaboost:
1. Cho một tập gồm n mẫu có đánh dấu (x1,y1), (x2,y2),… (xn,yn) với xk
∈ (xk1, xk2,…, xkm) là vector đặc trƣng và yk ∈ (-1, 1) là nhãn của mẫu
(1 ứng với object, -1 ứng với background).
2. Khởi tạo trọng số ban đầu cho tất cả các mẫu: với m là số mẫu đúng
(ứng với object và y = 1) và l là số mẫu sai (ứng với background và y
= -1).
3. Xây dựng T weak classifiers
Lặp t = 1,…, T
Với mỗi đặc trƣng trong vector đặc trƣng, xây dựng một weak
classifier hj với ngƣỡng θj và lỗi εj.
Chọn ra hj với εj nhỏ nhất, ta đƣợc ht:
Cập nhật lại trọng số:
Trong đó:
: Hệ số dùng để đƣa
về đoạn [0,1] (normalization factor)
4. Strong classifier đƣợc xây dựng:
30
2.2.2 Đặc trƣng Haar
Đặc trƣng Haar là một loại đặc trƣng thƣờng đƣợc dùng cho bài toán
nhận dạng trên ảnh. Đặc trƣng Haar đƣợc xây dựng từ các hình chữ nhật
nhằm mục đích tính độ chênh lệch giữa giá trị các điểm ảnh trong các vùng
kề nhau.
Giá trị của đặc trƣng đƣợc tính bằng tổng giá trị các điểm ảnh trong
vùng màu trắng trừ đi tổng các điểm ảnh trong các vùng màu đen.
Hình 2.8: Vài đặc trƣng Haar cơ bản
Một điểm mạnh của đặc trƣng Haar là có thể biểu diễn đƣợc các
thông tin về mối liên hệ giữa các vùng trong một bức ảnh. Ví dụ:
Hình 2.9: Áp dụng đặc trƣng Haar vào ảnh
Viola và Jones đã đƣa ra khái niệm ảnh tích phân ( Integral Image )
để tính nhanh các đặc trƣng Haar.
31
Lienhart kế thừa (gọi Integral Image là SAT Summed Area Table) và
đƣa ra thêm khái niệm RSAT – Rotated Summed Area Table để tính toán
nhanh cho các đặc trƣng xoay 1 góc 45º.
Một vài đặc trƣng:
Hình 2.10: Đặc trƣng cạnh (edge features):
Hình 2.11: Đặc trƣng đƣờng (line features):
Hình 2.12: Đặc trƣng xung quanh tâm (center-surround features):
Với SAT:
Hình 2.13: Mô tả về SAT
Ảnh tích phân tại các điểm (x, y):
𝑖(𝑥 ′ , 𝑦 ′ )
𝑆𝐴𝑇 𝑥, 𝑦 =
𝑥 ′ ≤𝑥,𝑦 ′ ≤𝑦
Cách tính nhanh các phần tử của bảng SAT:
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;
Cách tính nhanh các đặc trƣng hình chữ nhật:
32
SUM( D ) = 4 + 1 – 2 – 3
Với RSAT:
A
B
1
D
2
C
3
4
RSAT(x,y)
(b)
(a)
Hình 2.14: Mô tả về RSAT
Ảnh tích phân tại các điểm (x, y):
𝐼(𝑥 ′ , 𝑦 ′ )
𝑅𝑆𝐴𝑇 𝑥, 𝑦 =
𝑦′ ≤𝑦 ,𝑦′ ≤𝑦−|𝑥−𝑥′ |
Cách tính nhanh các phần tử của bảng RSAT:
RSAT(x, y) = RSAT (x-1, y-1) + SAT(x+1, y-1)
- RSAT(x, y-2)+I(x, y) + I(x, y-1)
33
Tổng pixel của một vùng bất kỳ trên ảnh vẫn đƣợc tính theo cách sau:
D = A + B + C + D – (A+B) – (A+C) + A
Nhƣ vậy tổng các điểm ảnh trong một hình chữ nhật (kể cả trƣờng hợp
xoay 45º) bất kì đều có thể đƣợc tính nhanh dựa trên integral image tại 4
đỉnh của nó:
Sum (D ) = 4 - 2 – 3 + 1
2.2.3 Hệ thống xác định vị trí khuôn mặt trong ảnh
Hình 2.15: Mô hình hệ thống xác định vị trí khuôn mặt trong ảnh
Nhƣ trong hình 2.16 từ ảnh gốc ban đầu, ta sẽ đƣợc tính Integral
Image, là mảng 2 chiều với phần tử (x, y) sẽ đƣợc tính bằng tổng của các
phần tử (x', y') với x' < x và y' < y, mục đích là để tính nhanh tổng của các
giá trị mức xám của một vùng hình chữ nhật bất kỳ trên ảnh gốc. Các vùng
ảnh con này sẽ đƣợc đƣa qua các hàm Haar cơ bản để ƣớc lƣợng đặc trƣng,
kết quả ƣớc lƣợng sẽ đƣợc đƣa qua bộ điều chỉnh AdaBoost để loại bỏ
nhanh các đặc trƣng không có khả năng là đặc trƣng của khuôn mặt ngƣời.
Chỉ có một tập nhỏ các đặc trƣng mà bộ điều chỉnh AdaBoost cho là có khả
năng là đặc trƣng của khuôn mặt ngƣời mới đƣợc chuyển sang cho bộ
quyết định kết quả. Bộ quyết định sẽ tổng hợp kết quả là khuôn mặt ngƣời
nếu kết quả của các bộ phân loại yếu trả về là khuôn mặt ngƣời.
34
Mỗi bộ phân loại yếu sẽ quyết định kết quả cho một đặc trƣng Haarlike, đƣợc xác định ngƣỡng đủ nhỏ sao cho có thể vƣợt đƣợc tất cả các bộ
dữ liệu mẫu trong tập dữ liệu huấn luyện (số lƣợng ảnh khuôn mặt trong
tập huấn luyện có thể rất lớn). Trong quá trình xác định khuôn mặt ngƣời,
mỗi vùng ảnh con sẽ đƣợc kiểm tra với các đặc trƣng trong chuỗi các đặc
trƣng Haar-like, nếu có một đặc trƣng Haar-like nào cho ra kết quả là
khuôn mặt ngƣời thì các đặc trƣng khác không cần xét nữa. Thứ tự xét các
đặc trƣng trong chuỗi các đặc trƣng Haar-like sẽ đƣợc dựa vào trọng số
(weight) của đặc trƣng đó do AdaBoost quyết định dựa vào số lần và thứ tự
xuất hiện của các đặc trƣng Haar-like [33].
2.3 Dựa trên đặc trƣng khô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 để phát hiệ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.
2.3.1 Các đặc trƣng khuôn mặt
Sirohey đƣa một phƣơng pháp phát hiện mặt từ một ảnh có hình nền
phức tạp [28]. Phƣơng pháp dựa trên cạnh, dùng phƣơng pháp Candy [14]
và heuristics để loại bỏ các cạnh để còn lại duy nhất một đƣờng bao xung
quanh khuôn mặt. Một hình ellipse dùng để bao khuôn mặt, tách biệt vùng
đầu và hình nền. Tỷ lệ chính xác của thuật toán là 80%.
Cũng dùng phƣơng pháp cạnh nhƣ Sirohey, Chetverikov và Lerch
dùng một phƣơng pháp dựa trên blob và streak (hình dạng giọt nƣớc và sọc
35
xen kẽ), để xác định theo hƣớng các cạnh. Hai ông dùng hai blob tối và ba
blob sáng để mô tả hai mắt, hai bên gò má, và mũi. Mô hình này dùng các
treak để mô tả hình dáng ngoài của khuôn mặt, lông mày, và môi. Dùng
ảnh có độ phân giải thấp theo biến đổi Laplace để phát hiện mặt thông qua
blob. Graf đƣa ra một phƣơng pháp xác định đặc trƣng rồi phát hiện mặt
trong ảnh xám [11]. Dùng bộ lọc để làm nổi các biên, các phép toán hình
thái học (morphology) đƣợc dùng để làm nổi bật các vùng có cƣờng độ cao
và hình dáng chắc chắn (nhƣ mắt). Thông qua histogram để tìm các đỉnh
nổi bật để xác định các ngƣỡng chuyển ảnh xám thành hai ảnh nhị phân.
Các thành phần dính nhau đều xuất hiện trong hai ảnh nhị phân thì đƣợc
xem là vùng của ứng cử viên khuôn mặt rồi phân loại xem có phải là khuôn
mặt không. Phƣơng pháp đƣợc kiểm tra trên các ảnh chỉ có đầu và vai của
ngƣời. Tuy nhiên còn vấn đề, làm sao sử dụng các phép toán morphology
và làm sao phát hiện mặt trên các vùng ứng viên.
Leung trình bày một mô hình xác suất để phát hiện mặt ở trong ảnh
có hình nền phức tạp trên cơ sở một bộ xác định đặc trƣng cục bộ và so
khớp đồ thị ngẫu nhiên [32]. Ý chính là xem bài toán phát hiện mặt nhƣ là
bài toán tìm kiếm với mục tiêu là tìm thứ tự các đặc trƣng chắc chắn của
khuôn mặt để tạo thành giống nhất một mẫu khuôn mặt. Dùng năm đặc
trƣng (hai mắt, hai lỗ mũi, phần nối giữa mũi và miệng) để mô tả một
khuôn mặt. Luôn tính quan hệ khoảng cách với các đặc trƣng cặp (nhƣ mắt
trái, mắt phải), dùng phân bố Gauss để mô hình hoá. Một mẫu khuôn mặt
đƣợc đƣa ra thông qua trung bình tƣơng ứng cho một tập đa hƣớng, đa tỷ lệ
của bộ lọc đạo hàm Gauss. Từ một ảnh, các đặc trƣng ứng viên đƣợc xác
định bằng cách so khớp từng điểm ảnh khi lọc tƣơng ứng với vector mẫu
(tƣơng tự mối tƣơng quan), chọn hai ứng viên đặc trƣng đứng đầu để tìm
kiếm cho các đặc trƣng khác của khuôn mặt. Giống nhƣ xây dựng một đồ
thị quan hệ mỗi node của đồ thị tƣơng ứng nhƣ các đặc trƣng của một
khuôn mặt, đƣa xác suất vào để xác định. Tỷ lệ xác định chính xác là 86%.
Bên cạnh tính khoảng cách liên quan để mô tả quan hệ giữa các đặc
trƣng nhƣ Leung [32]. Kendall [6] dùng lý thuyết xác suất thống kê về hình
dáng. Dùng hàm mật độ xác suất (Probility Density Function - PDF) qua N
điểm đặc trƣng, tƣơng ứng (xi, yi) là đặc trƣng thứ i với giả sử dựa vào
phân bố Gauss có 2N-chiều. Các tác giả áp dụng phƣơng thức cực đại khả
năng (Maximum- Likelihood - ML) để xác định vị trí khuôn mặt. Một
thuận lợi của phƣơng pháp này là các khuôn mặt bị che khuất vẫn có thể
36
xác định đƣợc. Nhƣng phƣơng pháp không xác định đƣợc đa khuôn mặt
trong ảnh.
Yow và Cipolla [17] trình bày một phƣơng thức dựa vào đặc trƣng,
dùng số lƣợng lớn các dấu hiệu từ ảnh và cả dấu hiệu về ngữ cảnh. Đầu tiên
dùng bộ lọc đạo hàm Gauss thứ hai, xác định các điểm mấu chốt ở tại cực
đại địa phƣơng trong bộ lọc, rồi chỉ ra nơi có thể là đặc trƣng. Giai đoạn
hai, kiểm tra các cạnh xung quanh điểm mấu chốt và nhóm chúng lại thành
các vùng. Tiêu chuẩn để nhóm các cạnh là gần và tƣơng tự hƣớng và cƣờng
độ. Đo lƣờng các đặc tính vùng nhƣ: chiều dài cạnh, cƣờng độ cạnh, và
biến thiên cƣờng độ đƣợc lƣu trong một vector đặc trƣng. Từ dữ liệu đặc
trƣng khuôn mặt đã đƣợc huấn luyện, sẽ tính đƣợc giá trị trung bình và ma
trận hiệp phƣơng sai của mỗi đặc trƣng khuôn mặt. Một vùng là ứng viên
khuôn mặt khi khoảng cách Mahalanobis giữa các vector đặc trƣng đều
dƣới một ngƣỡng. Rồi thông qua mạng Bayes để xác định ứng viên có phải
là khuôn mặt không. Tỷ lệ chính xác là 85%, tuy nhiên mức độ sai là 28%,
và chỉ hiệu quả với hình khuôn mặt có kích thƣớc 60x60 điểm ảnh. Phƣơng
pháp này đƣợc dùng thêm với mô hình đƣờng viền linh hoạt.
Takacs và Wechsler trình bày một phƣơng pháp dựa trên tích đặc
trƣng võng mạc và cử động theo dao động nhỏ của mắt. Thuật toán hoạt
động trên bản đồ hay vùng của các mấu chốt, mô hình hoá lƣới võng mạc.
Đầu tiên tính toán ƣớc lƣợng thô vùng khuôn mặt trên cơ sở bộ lọc. Giai
đoạn thứ hai tinh chế trên độ phân giải mịn hơn. Tỷ lệ sai là 4.69%.
Han phát triển một kỹ thuật trên cơ sở morphology để trích các đoạn
giống mắt (eyeanalogue) để phát hiện mặt ngƣời. Ông nói rằng mắt và lông
mày là đặc trƣng nổi bật nhất và ổn định nhất của khuôn mặt con ngƣời, và
nó rất hữu dụng để phát hiện mặt ngƣời. Ông định nghĩa các đoạn giống
mắt nhƣ là các cạnh trên đƣờng viền của mắt. Đầu tiên, các phép toán
morphology nhƣ đóng, cắt bỏ sai khác, và phân ngƣỡng để trích các điểm
ảnh có giá trị cƣờng độ thay đổi đáng kể. Các điểm ảnh này sẽ trở thành các
điểm ảnh giống mắt. Sau đó một tiến trình gán nhãn để sinh các đoạn giống
mắt. Các đoạn này đƣợc dùng để chỉ dẫn tìm kiếm các vùng tiềm năng có
thể là khuôn mặt qua kết hợp các đặc tính hình học của mắt, mũi, lông mày,
và miệng. Các vùng này sẽ đƣợc một mạng neural xem xét có phải là
khuôn mặt không, giống [9]. Theo tác giả tỷ lệ chính xác là 94%.
37
Amit đƣa ra phƣơng thức phát hiện mặt dựa trên hình dáng và áp
dụng cho các khuôn mặt chụp thẳng. Có hai giai đoạn để phát hiện mặt
ngƣời: tập trung và phân loại chi tiết. Làm có thứ tự các mảnh cạnh, các
mảnh này đƣợc trích từ bộ xác định cạnh đơn giản thông qua sự khác biệt
cƣờng độ là quá trình tập trung. Khi có các ứng viên từ quá trình trên, dùng
thuật toán CART để xây dựng một cây phân loại từ các ảnh để huấn luyện,
để xem xét ứng viên nào là khuôn mặt ngƣời.
Jin dùng cấu trúc hình học của khuôn mặt ngƣời để tìm ứng viên
khuôn mặt trong ảnh xám và hình nền không phức tạp. Mỗi ảnh chỉ có một
khuôn mặt ngƣời, nhƣng tƣ thế điều kiện ánh sáng, không cố định. Tỷ lệ
chính xác khoảng 94.25% và thời gian khá nhanh.
Chan và Lewis [30] dùng kỹ thuật lọc để loại bớt tác động của ánh
sáng, sau đó phân đoạn để tìm vị trí các ứng viên là con mắt. Từ các ứng
viên này xây dựng mạng neural nhƣ Rowley [10] để phát hiện mặt ngƣời.
Phƣơng pháp này có thể xác định nhiều khuôn mặt trong một ảnh, các
khuôn mặt này có thể có các tƣ thế, vị trí, tỷ lệ khác nhau. Tỷ lệ chính xác
là 53%.
Kruppa [12] dùng sắc màu của da ngƣời để tìm ứng viên, nhƣng ông
không xử lý cho từng điểm ảnh theo cách thông thƣờng, mà ông dùng mô
hình màu da ngƣời trên từng phần nhỏ rồi xử lý phân đoạn trên đó. Sau khi
có ứng viên khuôn mặt, ông dùng một số đặc tính về hình dáng để phát
hiện mặt ngƣời. Tỷ lệ chính xác là 85%.
Park dùng Gaze để tìm ứng viên góc mắt, miệng và tâm mắt [19].
Ông xây dựng SVM đã đƣợc học trƣớc đó để xác định các vị trí ứng viên
có phải là góc mắt, miệng, và tâm mắt hay không để theo vết con
mắt ngƣời.
Sato [13] dùng quan hệ đƣờng viền ở cằm của khuôn mặt. Tác giả
chia làm hai trƣờng hợp: thon dài và tròn để xem xét. Tác giả dùng GA để
xem xét mối tƣơng quan của đƣờng cong, hình dáng khuôn mặt để phát
hiện mặt.
Chai và Ngan xây dựng phƣơng pháp phát hiện mặt ngƣời dựa trên
đặc trƣng về: quan hệ hình học, mật độ, độ chói trong ảnh màu chỉ có đầu
và vai của ứng viên để xác định. Kim [16] cũng phân đoạn để tìm ứng viên
38
khuôn mặt, nhƣng xác thực khuôn mặt thông qua các cấu trúc các đặc trƣng
mắt, mũi, miệng, và đƣờng viền của ứng viên.
Jang [21] dùng phân bố màu da để phân đoạn tìm ứng viên rồi dùng
các đặc trƣng hình học để phát hiện mặt. Christian và Jonh xây dựng một
loại đặc trƣng mới, đó là đặc trƣng về độ cong của các đƣờng trên khuôn
mặt để giải quyết vấn đề điều kiện ánh sáng. Từ đặc trƣng cong này, hai
ông quay lại phƣơng pháp PCA để phát hiện mặt.
Juan và Narciso xây dựng một không gian màu mới YCg’Cr’ để lọc
các vùng là ứng viên khuôn mặt dựa trên sắc thái của màu da ngƣời. Sau
khi có ứng viên, hai ông dùng các quan hệ về hình dáng khuôn mặt, mức độ
cân đối của các thành phần khuôn mặt để phát hiện mặt ngƣời. Tƣơng tự,
Chang và Hwang cũng dùng một phƣơng thức dùng không gian mầu
Ycg’Cr’, tỷ lệ chính xác hơn 80% trong ảnh xám.
Dae và Nam xem xét các đặc trƣng không thay đổi khi thay đổi tƣ
thế của khuôn mặt bằng cách xem xét các quan hệ hình học. Sau đó ƣớc
lƣợng các tƣ thế của khuôn mặt rồi xây dựng dữ liệu để xác định thông qua
PCA. Tỷ lệ chính xác là 76%.
Jin xây dựng một bộ lọc để xác định ứng viên khuôn mặt ngƣời theo
màu da ngƣời. Từ ứng viên này tác giả phát hiện mặt ngƣời theo hình dáng
khuôn mặt và các quan hệ đặc trƣng về thành phần khuôn mặt, với mắt phải
đƣợc chọn làm gốc toạ độ để xét quan hệ. Tỷ lệ chính xác cho khuôn mặt
chụp thẳng trên 80%.
2.3.2 Kết cấu
Khuôn mặt con ngƣời có những kết cấu riêng biệt mà có thể dùng để
phân loại so với các đối tƣợng khác. Augusteijn và Skufca cho rằng hình
dạng của khuôn mặt dùng làm kết cấu phân loại, gọi là kết cấu giống khuôn
mặt (face-like texture). Tính kết cấu qua các đặc trƣng thống kê thứ tự thứ
hai (SGLD) trên vùng có kích thƣớc 16x16 điểm ảnh. Có ba loại đặc trƣng
đƣợc xem xét: màu da, tóc, và những thứ khác. Hai ông dùng mạng neural
về mối tƣơng quan cascade cho phân loại có giám sát các kết cấu và một
ánh xạ đặc trƣng tự tổ chức Kohonen để gom nhóm các lớp kết cấu khác
nhau. Hai tác giả đề xuất dùng phƣơng pháp bầu cử khi không quyết định
đƣợc kết cấu đƣa vào là kết cấu của da hay kết cấu của tóc.
39