Hình 2 .1 Dò tìm thông tin lồi lõm
Hình 2.10 Cách tính vector đại diện độ sáng của nút
9 9
s
Các khả năng chồng lắp cửa sổ
Cụ thể nhƣ sau: Dùng một cửa sổ S kích thƣớc 9x9 quét theo đƣờng zic- zac trên ảnh xám của vùng lồi lõm, các cửa sổ này có thể chồng lắp lên nhau 2/3 kích thƣớc của nó. Tại mỗi điểm lƣu lại trung bình mức sáng của các điểm ảnh, nhƣ vậy ta đƣợc một vector tƣơng ứng cho biểu diễn mức sáng của điểm ảnh tại mức đó.
Vị trí nút gốc trên ảnh
Hình 2.11: Các thông tin trên một nút của cây rút trích được
Trong quá trình xây dựng cấu trúc cây sẽ khó tránh khỏi một số nút có cùng kiểu giống nhau so với nút gốc của nó, những nút đó đƣợc xem là nút dƣ thừa. Khi đó ta có thể sử dụng một số luật để tỉa bớt nhánh cho cây. Ví dụ nếu một nút con có cùng kiểu với nút cha thì có thể tỉa nút con này khỏi cây. Trƣờng hơp nếu nó là nút lá thì có thể dễ dàng xóa khỏi cây. Ngƣợc lại nếu không phải là nút lá, thì tất cả các nút con của nó đƣợc gán làm nút con của nút cha nó. Do hiệu ứng của phép biến đổi Gaussian tại các mức khác nhau nên vùng rút trích từ
Nút đƣợc zoom out: 1. Kiểu: lõm 2. Hình dạng: vuông 3. Vị trí: 1 4. = (a1,a2,..., an) Zoom out R V R V V V R V V R V
ảnh cũng khác nhau nên sẽ có những vùng dƣ thừa. Xem hình 2.4 và 2.8 ta nhận thấy có hai vùng hình chữ nhật đỏ và xanh, hai vùng này tƣơng ứng với 2 giá trị dò σ2, σ3 khác nhau nhƣng thực ra chúng là một, do đó sẽ dƣ vùng σ3 nên vùng này sẽ đƣợc xóa để làm tăng tốc độ tính toán phát hiện khuôn mặt.
2.4. Xây dựng hàm tính độ tƣơng đồng giữa hai cây
Việc xây dựng hàm tính độ tƣơng đồng giữa hai cây là cần thiết trong các xử lý liên quan đến bài toán nhận dạng mặt ngƣời dựa vào các đặc trƣng lồi lõm. Nó quyết định đến độ chính xác của phát hiện và nhận dạng mặt ngƣời.
2.4.1. Độ tương đồng giữa hai nút trên cây
Để tính đƣợc độ tƣơng đồng giữa hai cây trƣớc hết ta phải tính độ tƣơng đồng giữa hai nút trên cây. Với điều kiện là hai nút này thuộc hai cây khác nhau và có cùng mức σi.
Gọi N1 và N2 là hai nút cùng cấp trên hai cây T1 và T2. Khi đó N1 và N2 có những thuộc tính sau:
N1,N2 Node = {(t,s,p,i)} (2.9) Trong đó:
t {ridge, valley}: là loại nút của cây (lồi, lõm)
s = {square, horizontal rectangle, vertical rectangle}: là hình dạng của nút (hình vuông, hình chữ nhật ngang, hình chữ nhật đứng).
p [0..12]: là vị trí tƣơng đối của nút đó với nút cha của nó.
i (a1, a2, …, an): là vector chứa thông tin về độ sáng của nút, với n thay đổi tùy theo cấp độ của nút. Nếu mức σi càng cao, kích thƣớc của vùng lồi, lõm tƣơng ứng với nút càng lớn, số chiều n của vector càng cao.
Dựa vào các thuộc tính của node đƣợc định nghĩa trong công thức (2.9), ta xây dựng hàm tính độ tƣơng đồng giữa 2 nút nhƣ sau:
𝑁𝑆 𝑁1, 𝑁2 = 𝛼1𝐸 𝑁1. 𝑡, 𝑁2. 𝑡 + 𝛽1𝐸 𝑁1. 𝑠, 𝑁2. 𝑠 + 𝛾1𝐸 𝑁1. 𝑝, 𝑁2. 𝑝 + (1 − 𝛼1 − 𝛽1 − 𝛾1)𝐸𝑉(𝑁1. 𝑖, 𝑁2. 𝑖) (2.10) Trong đó:
α1, β1, γ1là các thông số thực nghiệm.
Hàm E(x,y) dùng để xét sự giống nhau giữa hai thuộc tính đƣợc định nghĩa nhƣ sau:
𝐸 𝑥, 𝑦 = 1 𝑥 = 𝑦
Hàm EV(x,y) làm hàm tính độ tƣơng đồng giữa hai vector đƣợc chuẩn hóa về đoạn [0,1]. Với x và y là hai vector độ sáng có n chiều (a1, a2, …, an). Hàm EV(x,y)
đƣợc định nghĩa nhƣ sau: 𝐸𝑉 𝑥, 𝑦 = 1 − (𝑥. 𝑎𝑖 − 𝑦. 𝑎𝑖) 2 𝑛 𝑖=1 255 𝑛 (2.12)
Do mỗi thành phần ai trong vector độ sáng có giá trị từ [0,255] nên dễ dàng chứng minh đƣợc EV(x,y) [0,1]. Hàm EV(x,y) đạt giá trị lớn nhất là 1 khi hai vector
x và y trùng nhau, và đạt giá trị nhỏ nhất là 0 khi hai vector x và y có khoảng cách xa nhất. Từ đó suy ra giá trị của NS(N1,N2) [0,1] với mọi cặp nút N1, N2.
2.4.2. Độ tương đồng giữa hai cây
Hàm tính độ tƣơng đồng giữa hai cây đƣợc tính trên cơ sở của hàm tính độ tƣơng đồng giữa hai nút. Đặt T1 và T2 là hai cây. T1 và T2 sẽ có những thuộc tính sau:
T1, T2 Tree = {(r,n,c1,c2,…,cn)} (2.13) Trong đó:
r: là nút gốc của cây, r Node n: là số nhánh con của cây, n N
ci: là cây (nhánh) con thứ i của cây ci Tree, i [1..n]. ci cũng có thể là một nút lá hoặc cũng có thể là một cây khác.
Khi đó hàm tính độ tƣơng đồng giữa hai cây đƣợc định nghĩa nhƣ sau:
𝑇𝑆 𝑇1, 𝑇2 = 𝛼2𝑁𝑆 𝑇1. 𝑟, 𝑇2, 𝑟 + (1 − 𝛼2) 𝑇𝑆(𝑇1. 𝑐𝑖, 𝑇2. 𝑐𝑗) 𝑇2.𝑛 𝑗 =1 𝑇1.𝑛 𝑖=1 𝑇1. 𝑛𝑇2. 𝑛 (2.14) Trong đó α2 là thông số thực nghiệm. Theo (2.14) ta thấy TS(T1,T2)[0,1]
với mọi cặp T1, T2. Giá trị này càng lớn thì hai cây càng giống nhau.
2.4.3. Không gian cây và khoảng cách giữa hai cây
Trong một số trƣờng hợp thì hàm tính độ tƣơng đồng không đủ để tính toán. Do đó ta cần xây dựng một không gian cây (tree-space), không gian cây là cơ sở để cho các bài toán phát hiện và nhận dạng mặt ngƣời về sau.
Trong không gian cây thì mỗi cây đƣợc xem là một điểm trong không gian. Hàm tính khoảng cách giữa hai cây đƣợc tính nhƣ sau:
Dễ dàng nhận thấy rằng khoảng cách giữa hai cây là một giá trị nằm trong đoạn [0,1]. Khoảng cách này tiến dần về 0 khi hai cây càng giống nhau.
Dựa vào công thức tính độ tƣơng đồng và khoảng cách giữa hai cây, ta xây dựng một mô hình thống kê để dò tìm và phát hiện mặt ngƣời. Mô hình này áp dụng cho bài toán nhận dạng khuôn mặt cũng nhƣ phân loại đối tƣợng.
2.5. Nhận dạng
2.5.1. Cơ sở lý thuyết
Nhƣ đã trình bày trong phần 2.4.3, mỗi cây đƣợc xem là một điểm trong không gian, trong đó mỗi cây chứa cấu trúc lồi lõm của các đối tƣợng cần quan tâm. Đối với bài toán nhận dạng này ta quan tâm đến các cây biểu diễn cấu trúc khuôn mặt. Từ tập ảnh học gồm các cây đƣợc gán nhãn khuôn mặt, ta biểu diễn nó trong không gian hữu hãn chiều là các điểm (Hình 2.12)
Hình 2.12: Biểu diễn các cây khuôn mặt trong không gian
Trong hình trên, các điểm biểu diễn các cây đƣợc gán nhãn khuôn mặt trong tập ảnh học. Việc chọn ra k cây cho tập chuẩn đƣợc hiểu là chọn ra k điểm đại diện, k điểm này nằm tại trung tâm của lớp khuôn mặt.
Việc đánh giá điểm có thuộc lớp khuôn mặt hay không đƣợc dựa vào khoảng cách trung bình từ điểm đang xét so với điểm chuẩn, tƣơng ứng với việc xét vị trí tƣơng đối của nó so với cả nhóm điểm chuẩn. Nếu điểm đang xét nằm hoàn toàn trong cụm thì khoảng cách trung bình sẽ rất nhỏ do đó điểm đƣợc xếp vào lớp khuôn mặt. Ngƣợc lại nếu điểm đang xét nằm ngoài cụm thì khoảng cách trung bình sẽ lớn và khả năng đƣợc xếp vào lớp khuôn mặt là rất thấp.
Hình 2.14: Đánh giá điểm có thuộc lớp khuôn mặt hay không
2.5.2. Canh biên các đặc trưng khuôn mặt
2.5.2.1. Kỹ thuật dò biên
Biên là vấn đề quan trọng trong trích chọn đặc trƣng nhằm tiến tới nhận dạng ảnh. Tuy nhiên cho đến nay chƣa có định nghĩa nào chính xác về biên. Trong mỗi ứng dụng ngƣời ta lại đƣa ra các độ đo khác nhau về biên, một trong các độ đo đƣợc sử dụng nhiều đó là độ đo về sự thay đổi đột ngột của mức xám. Ví dụ đối với ảnh đen trắng, một điểm đƣợc gọi là biên nếu nó là điểm trắng và có ít nhất một điểm đen bên cạnh. Tập các điểm biên này tạo nên đƣờng biên hay còn gọi là đƣờng bao của đối tƣợng. Có hai phƣơng pháp phát hiện biên là phƣơng pháp phát hiện trực tiếp và phƣơng pháp phát hiện gián tiếp.
a. Phương pháp phát hiện biên trực tiếp
Đây là phƣơng pháp làm nổi biên dựa vào sự biến thiên mức xám của ảnh bằng cách lấy đạo hàm. Nếu lấy đạo hàm bậc nhất ta có kỹ thuật Gradient, nếu lấy đạo hàm bậc hai ta có kỹ thuật Laplace.
- Kỹ thuật Gradient
Gradient là một vector f(x,y) có các thành phần biểu thị tốc độ thay đổi mức xám của điểm ảnh theo một hàm nhƣ sau:
𝜕𝑓(𝑥, 𝑦)
𝜕𝑥 = 𝑓
′𝑥 ≈ 𝑓 𝑥 + 𝑑𝑥, 𝑦 − 𝑓(𝑥, 𝑦) 𝑑𝑥
𝜕𝑓(𝑥, 𝑦)
𝜕𝑦 = 𝑓
′𝑥 ≈ 𝑓 𝑥, 𝑦 + 𝑑𝑦 − 𝑓(𝑥, 𝑦) 𝑑𝑦
Trong đó dx, dy là khoảng cách giữa hai điểm kế cận theo hƣớng x,y.
- Kỹ thuật Laplace
Phƣơng pháp phát hiện biên Gradient làm việc khá hiệu quả khi độ sáng thay đổi rõ nét. Tuy nhiên khi mức xám thay đổi chậm, miền chuyển tiếp rộng thì phƣơng pháp Laplace cho hiệu quả hơn. Kỹ thuật này có ƣu điểm là tạo đƣờng biên mảnh, nhƣng nhƣợc điểm là rất nhạy với nhiễu do đó đƣờng biên thu đƣợc thƣờng kém ổn định.
Toán tử Laplace đƣợc định nghĩa nhƣ sau: Có: ∆2𝑓 = 𝜕 2𝑓 𝜕𝑥2 + 𝜕 2𝑓 𝜕𝑦2 𝜕2𝑓 𝜕𝑥2 = 𝜕 𝜕𝑥 𝜕𝑓 𝜕𝑥 ≈ 𝜕 𝜕𝑥 𝑓 (𝑥 + 1 , 𝑦 − 𝑓(𝑥, 𝑦)) ≈ 𝑓 𝑥 + 1, 𝑦 − 𝑓 𝑥, 𝑦 − 𝑓 𝑥, 𝑦 − 𝑓 𝑥 − 1, 𝑦 ≈ 𝑓 𝑥 + 1, 𝑦 − 2𝑓 𝑥, 𝑦 + 𝑓 𝑥 − 1, 𝑦 𝜕2𝑓 𝜕𝑦2 = 𝜕 𝜕𝑦 𝜕𝑓 𝜕𝑦 ≈ 𝜕 𝜕𝑦 𝑓(𝑥), (𝑦 + 1) − 𝑓(𝑥, 𝑦)) ≈ 𝑓 𝑥, 𝑦 + 1 − 𝑓 𝑥, 𝑦 − 𝑓 𝑥, 𝑦 − 𝑓 𝑥, 𝑦 − 1 ≈ 𝑓 𝑥, 𝑦 + 1 − 2𝑓 𝑥, 𝑦 + 𝑓 𝑥, 𝑦 − 1 Vậy 𝛥2𝑓 = 𝑓 𝑥 + 1, 𝑦 + 𝑓 𝑥, 𝑦 + 1 − 4𝑓 𝑥, 𝑦 + 𝑓 𝑥 − 1, 𝑦 + 𝑓(𝑥, 𝑦 − 1) Do đó: 𝐻 = 0 1 0 1 −4 1 0 1 0
Trong thực tế ngƣời ta thƣờng sử dụng nhiều kiểu mặt nạ khác nhau để xấp xỉ rời rạc đạo hàm bậc hai Laplace. Một số mặt nạ thƣờng dùng theo toán tử Laplace bậc 3x3 có thể: H1 = 0 −1 0 −1 −4 −1 0 −1 0 H2 = −1 −1 −1 −1 8 −1 −1 −1 −1 H3 = 1 −2 1 −2 4 −2 1 −2 1 - Kỹ thuật Prewitt
Kỹ thuật này sử dụng hai mặt nạ nhân chập xấp xỉ đạo hàm theo hai hƣớng x và y là: 𝐻𝑥 = −1 0 1 −1 0 1 −1 0 1 𝐻𝑦 = −1 −1 −1 0 0 0 1 1 1
Các bƣớc tính toán của kỹ thuật Prewitt Bƣớc 1: Tính I 𝐻𝑥 và I 𝐻𝑦
Bƣớc 2: Tính I 𝐻𝑥 + I 𝐻𝑦
- Kỹ thuật Sobel
Tƣơng tự nhƣ kỹ thuật Prewitt, kỹ thuật sobel sử dụng hai mặt nạ nhân chập theo hai hƣớng x, y là: 𝐻𝑥 = −1 0 1 −2 0 2 −1 0 1 𝐻𝑦 = −1 −2 −1 0 0 0 1 2 1
b. Phương pháp phát hiện biên gián tiếp
Bằng cách nào đó phân ảnh thành các vùng, ranh giới giữa các vùng đƣợc gọi là biên. Kỹ thuật dò biên và phân vùng ảnh là hai bài toán đối ngẫu nhau vì dò biên để thực hiện phân lớp đối tƣợng. Khi đã phân lớp đối tƣợng xong nghĩa là đã phân vùng đƣợc ảnh, do đó có thể phát hiện đƣợc biên. Phƣơng pháp dò biên gián tiếp khó cài đặt nhƣng áp dụng tốt khi sự biến thiên độ sáng thấp.
2.5.2.2. Canh biên
Bƣớc đầu tiên trong quá trình giảm số biến đổi trong ảnh khuôn mặt là canh biên khuôn mặt này với khuôn mặt khác. Mục đích của canh biên nhằm làm giảm các biến đổi về vị trí, hƣớng và tỷ lệ khuôn mặt. Do cƣờng độ ảnh khuôn mặt có nhiều biến đổi làm cho việc canh biên một số khuôn mặt trở nên khó khăn, để giải quyết vấn đề này ta sử dụng phƣơng pháp gán nhãn cho các vị
trí đặc trƣng của khuôn mặt cụ thể là hai hốc mắt, mũi và trung tâm miệng và hai khóe miệng.
Bƣớc tiếp theo dùng thông tin trên khuôn mặt này để canh biên với các khuôn mặt khác. Trƣớc hết ta định nghĩa canh biên giữa hai điểm đặc trƣng là một phép quay, biến đổi tỷ lệ và dịch chuyển vị trí để làm cực tiểu hóa tổng bình phƣơng khoảng cách giữa các cặp đặc trƣng tƣơng ứng. Trong không gian hai chiều, phép biến đổi tọa độ nhƣ vậy có thể đƣợc biểu diễn nhƣ sau:
𝑥′ 𝑦′ = 𝑠 𝑐𝑜𝑠 𝜃 𝑠 𝑠𝑖𝑛 𝜃 −𝑠 𝑠𝑖𝑛 𝜃 𝑠 𝑐𝑜𝑠 𝜃 𝑥 𝑦 + 𝑡𝑥 𝑡𝑦 = 𝑎 𝑏 −𝑏 𝑎 𝑡𝑥 𝑡𝑦 𝑥 𝑦 1 (2.16)
Nếu có nhiều hơn hai cặp đặc trƣng phân biệt, hệ phƣơng trình tuyến tính trên có thể giải bằng phƣơng pháp đảo ngƣợc. Phƣơng pháp đó đƣợc thực hiện nhƣ sau:
Bƣớc 1: Khởi tạo 𝐹 vector sẽ là vị trí trung bình của mỗi đặc trƣng gán nhãn so với một số đặc trƣng ban đầu. Trong trƣờng hợp canh biên với khuôn mặt thẳng các đặc trƣng vị trí hai mắc, đỉnh mũi, hai khóe và trung tâm miệng đƣợc xem là vị trí quan trọng, và là ứng cử viên của cửa sổ đầu vào.
Bƣớc 2: Với mỗi khuôn mặt n, ta sử dụng thủ tục canh biên để tính phép quay, dịch chuyển và biến đổi tỷ lệ hợp lý để canh biên các đặc trƣng khuôn mặt
𝐹𝑛 với các vị trí đặc trƣng trung bình 𝐹 . Ta gọi vị trí đặc trƣng đã canh biên là
𝐹𝑛′.
Bƣớc 3: Cập nhật 𝐹 bằng việc lấy trung bình các vị trí đặc trƣng đã canh biên 𝐹𝑛′ cho mỗi khuôn mặt n
Bƣớc 4: Tọa độ đặc trƣng 𝐹 đƣợc quay, dịch chuyển và biến đổi để phù hợp với một số tọa độ đã đƣợc làm tọa độ khởi tạo.
Thông thƣờng thuật toán sẽ hội tụ sau năm lần lặp, tạo cho mỗi khuôn mặt phép biến đổi để ánh xạ nó về gần với vị trí chuẩn. Khi ta đã biết đƣợc các tham số để canh biên khuôn mặt, ảnh có thể đƣợc lấy mẫu lại dùng nội suy song tuyến tính.
2.5.3. Xử lý độ sáng trên tập ảnh mẫu
Khi việc canh biên các khuôn mặt hoàn thành, do đặc trƣng của ánh sáng hoặc do máy ảnh làm cho ảnh có độ sáng không đều hoặc độ tƣơng phản kém. Để giải quyết vấn đề này ta sử dụng kỹ thuật xử lý ảnh đơn nhƣ sau.
Trƣớc hết cân bằng các giá trị mật độ trên toàn cửa sổ bằng cách lập hàm biến đổi tuyến tính giá trị mật độ trong vùng tròn của cửa sổ. Các điểm bên ngoài vòng tròn đƣợc xem là nền. Giả sử mật độ của pixel (x,y) là I(x,y) khi đó cách biến đổi tuyến tính này đƣợc tham số hóa bởi a,b,c với:
𝑥 𝑦 1 𝑎𝑏 𝑐
= 𝐼(𝑥, 𝑦) (2.17)
Việc biến đổi này nhằm biểu diễn sự khác biệt về độ sáng trên toàn ảnh. Các biến đổi đƣợc giới hạn tuyến tính để việc lập hàm đơn giản hơn và ít tham số hơn. Tập hợp tất cả pixel trên toàn bộ cửa sổ đƣờng tròn ta đƣợc phƣơng trình ma trận ràng buộc và đƣợc giải bằng phƣơng pháp đảo ngƣợc ở trên. Phƣơng trình này sẽ xấp xỉ toàn bộ độ sáng của mỗi phần cửa sổ và trừ đi với cửa sổ kế cận để cân bằng biến đổi về độ sáng.
Cân bằng lƣợc đồ, ánh xạ không tuyến tính các giá trị mật độ để nới rộng miền cƣợng độ trong cửa sổ. Lƣợc đồ đƣợc tính với các pixcel trong cửa sổ vòng tròn.
Mặt nạ tròn để loại các pixcel nền
Window ban đầu Hàm tuyến tính
Window đã hiệu chỉnh độ sáng (đã trừ đi hàm tuyến tính) Window đã cân bằng lƣợc đồ
Hình 2.16: Hiệu chỉnh độ sáng và cân bằng lược đồ
Để hiệu chỉnh độ sáng việc đầu tiên là xây dựng hàm ánh xạ tuyến tính với các giá trị mật độ trong cửa sổ sau đó trừ nó đi để hiệu chỉnh ánh sáng. Tiếp theo sử dụng cân bằng lƣợc đồ để hiệu chỉnh đầu vào của ảnh nhằm cải thiện độ
tƣơng phản. Với mỗi bƣớc này việc ánh xạ đƣợc tính với các pixcel bên trong hình tròn và áp dụng với toàn cửa sổ.
2.5.4. Gán nhãn
Từ tập ảnh học ta dùng phƣơng pháp đã trình bày trên để rút trích cây lồi lõm trên ảnh. Các cây này sẽ đƣợc gán nhãn thủ công. Với mỗi cây bất kỳ đƣợc gán nhãn là khuôn mặt hay không phải là khuôn mặt. Do đó từ một tập ảnh học ta rút trích đƣợc hai tập cây là tập cây biểu diễn những đối tƣợng là khuôn mặt và tập cây biểu diễn đối tƣợng không phải là khuôn mặt.
Hình 2.17: Gán nhãn cho tập ảnh học 2.5.5. Thống kê