5 KẾT QUẢ MÔ PHỎNG
4.5 Cấu trúc dữ liệu mới của bản đồ cạnh
với đườngtl, hay góc giao giữa 2 đường này là nhỏ. Ngược lại, một đường cạnh ml
n trong bản đồ cạnhMl
n nhiều khả năng sẽ có hướng khác xa so với đườngtl, hay góc giao nhau giữa hai đường này là lớn. Với phân tích như trên, một đường cạnhml trong bản đồ cạnh Ml khi tìm kiếm đường cạnhtl trong bản đồ cạnhTl có khoảng cách gần nhất tới nó thì chỉ cần tìm kiếm các đường cạnh có cùng hướng với đường cạnhml hoặc có góc giao nhau với đường ml là không lớn. Điều này đem đến 2 ưu điểm:
Đường cạnh ml khi tìm kiếm đường có khoảng cách gần nhất thì chỉ tìm kiếm các đường trong nhóm có cùng hướng chứ không nhất thiết phải tính khoảng cách tới toàn bộ các đường cạnh. Điều này làm giảm thời gian tính toán cho thuật toán.
Với việc tìm kiếm trong nhóm các đường cạnh cùng hướng, ảnh hưởng của nhiễu trong quá trình phân đoạn ảnh sẽ được giảm.
Với các phân tích trên, một cấu trúc dữ liệu mới cho bản đồ cạnh sẽ được đề xuất. Trong cấu trúc dữ liệu này, các đường cạnh sẽ được phân thành các nhóm dựa theo góc của các đường cạnh so với phương ngang. Do góc của các đường cạnh thay đổi từ0o đến 180o nên chúng sẽ được chia thành 18 nhóm. Một cấu trúc dữ liệu mới của bản đồ cạnh sẽ được đề xuất như hình 4.5.
Với cách sắp xếp mới này của bản đồ cạnh, khoảng cách giữa hai đường cạnh ml i và tl
j được định nghĩa như sau:
dRLHD ml, tl = ( ml, tl nếu gml =gtl V nếu gml 6=gtl (4.13) với ml, tl =qd2 θ(ml, tl) +d2 k(ml, tl) +d2 ⊥(ml, tl) (4.14)
trong đódθ,dk vàd⊥ lần lượt là khoảng cách góc, khoảng cách song song và khoảng cách vuông góc giữa hai đường cạnh như trong phương pháp LHD. gml và gtl lần lượt là các chỉ số của các nhóm mà đường cạnhml và tl thuộc.V là một giá trị rất lớn.
Tuy nhiên điều kiệngml =gtl như trong phương trình (4.13) lại cho kết quả mô phỏng không tốt. Điều này có thể được lý giải vì ảnh hưởng của nhiễu trong quá trình trích xuất cạnh của ảnh cũng như sự ảnh hưởng của nhiễu lên ảnh khuôn mặt. Vì vậy điều kiện này sẽ được điều chỉnh lại như sau:
gml−k ≤gtl ≤gml +k (4.15) trong đó k là sự chênh lệch về chỉ số nhóm và là thông số có được sau khi huấn luyện. Với điều kiện mới như tại phương trình (4.15), khoảng cách giữa hai đường cạnh có thể được viết lại như sau:
dRLHD ml, tl = ( ml, tl nếu gml−k ≤gtl ≤gml+k V trường hợp khác (4.16)
Khi này, khoảng cách Hausdorff trực tiếp từ bản đồ cạnhMl đến bản đồ cạnhTlđược định nghĩa như sau:
hRLHD Ml, Tl = P1 ml i∈Ml lml i X ml i∈Ml lml i.mindistRLHD ml i, Tl (4.17) trong đó mindistRLHD ml i, Tl là khoảng cách ngắn nhất từ đường cạnh ml i tới đường lân cận của nó tl ∈Tl, và được định nghĩa như sau:
mindistRLHD ml i, Tl = min tl j∈TldRLHD ml i, tl j (4.18) trong đó dRLHD ml i, tl j
là khoảng cách từ của đường cạnh ml
i ∈ Ml tới đường cạnh tl
j ∈Tl được tính theo công thức (4.16). Khoảng cách trực tiếp của phương pháp RLHD như tại phương trình (4.17) là khoảng cách Hausdorff trung bình có trọng số các khoảng cách giữa các cặp đường cạnh tương ứng, tương tự như phương pháp LHD. Việc tính toán khoảng cách giữa hai bản đồ cạnh ở phần sau cũng được thực hiện tương tự phương pháp LHD.
Các kết quả của phương pháp RLHD đã được trình bày tại bài báo [89]: Dang Nguyen Chau và Do Hong Tuan, "Robust Line Hausdorff Distance for Face Recognition," in Proceedings of 2019 International Symposium on Electrical and Electronics Engineering (ISEE), Ho Chi Minh, Vietnam, 2019, pp. 103- 107.
4.3 Phương pháp LT-LHD cho nhận dạng khuôn mặtDựa trên việc so sánh hai phương pháp MLHD và RLHD đã cho thấy việc tìm kiếm các Dựa trên việc so sánh hai phương pháp MLHD và RLHD đã cho thấy việc tìm kiếm các cặp đường cạnh tương ứng dựa trên sự tương đồng về hướng giữa các cặp đường cạnh như trong phương pháp RLHD sẽ cho kết quả tốt hơn so với việc dựa vào sự tương ứng về không gian như trong phương pháp MLHD. Phương pháp RLHD chỉ là sự điều chỉnh về cách tính khoảng cách giữa các cặp đường cạnh so với phương pháp LHD, ngoài ra việc sử dụng tập đặc trưng của ảnh cũng như tính khoảng cách giữa hai tập hợp đặc trưng cũng được thực hiện như phương pháp LHD.
Khoảng cách trực tiếp giữa hai tập hợp đặc trưng trong phương pháp RLHD là khoảng cách Hausdorff trung bình của khoảng cách giữa tất cả các cặp đường cạnh tương ứng trong hai tập hợp. Dựa trên phương pháp RLHD, kết hợp cùng khoảng cách LT-MHD, phương pháp Least Trimmmed Line Hausdorff Distance (LT-LHD) cho nhận dạng khuôn mặt trong điều kiện SSPP sẽ được đề xuất, trong đó khoảng cách LT-MHD được dùng để đo khoảng cách giữa hai cặp tập hợp đặc trưng.
Giả sử Ml = ml 1, ml 2, ..., ml P và Tl = tl 1, tl 2, ..., tl
Q lần lượt là hai bản đồ đường cạnh của ảnh khuôn mặt trong cơ sở dữ liệu và ảnh khuôn mặt cần nhận dạng. Từ định nghĩa của khoảng cách LT-MHD, khoảng cách trực tiếp từ tập Ml đến tập Tl trong phương pháp LT-LHD được định nghĩa như sau:
hpLT−LHD = P1 P i=K lml i P X i=K lml i mindist ml i, Tl (i) (4.19)
trong đó P là tổng số đường cạnh trong bản đồ cạnh Ml, K =f ×P với f là một tỷ số cho trước, ký hiệumindist ml
i, Tl là khoảng cách từ đường cạnhml
i tới đường gần nhất của nó trongTl. Ký hiệu mindist ml
i, Tl
(i) là giá trị thứ itrong chuỗi giá trị được sắp thứ tự tăng dần mindist ml
i, Tl
ml i∈Ml.
Tuy nhiên, khoảng cách trực tiếp được định nghĩa tại phương trình (4.19) có nhược điểm sau. Giả sửml
1 và ml
2 lần lượt là hai đường cạnh trong bản đồ cạnhMl và d1 và d2 lần lượt tương ứng là khoảng cách từ hai đường cạnh này tới đường cạnh gần nhất của nó trong bản đồ cạnhTl.d1 vàd2 sẽ đo sự lệch nhau của các đường cạnhml
1 vàml
2 với đường tương ứng gần nhất của chúng. Giả sử rằngd1 lớn hơn giá trị mindistLT−LHD ml, Tl
K
và d2 nhỏ hơn giá trị mindistLT−LHD ml, Tl
K. Như vậy theo phương trình (4.19), khoảng cách d1 được dùng để tính khoảng cách Hausdorff trực tiếp từ Ml đến Tl. Tuy nhiên rất có khả năng xảy ra trường hợplml
1×d1 ≪lml
2×d2 nếu đường cạnh ml
2 dài hơn rất nhiều so với đường cạnh ml
1. Một sự lệch nhau của đường dài hơn sẽ mang nhiều ý nghĩa hơn so với việc các đường ngắn lệch nhau trong việc đo sự không tương xứng giữa hai bản đồ cạnh. Như vậy việc khoảng cách Hausdorff trực tiếp để đo sự không tương
xứng giữa Ml và Tl thì đường ml
2 sẽ mang nhiều ý nghĩa hơn đường ml
1. Với phân tích đó, khoảng cách trực tiếp của phương pháp LT-LHD sẽ được định nghĩa lại như sau:
hLT−LHD = P1 P i=K lml i P X i=K lml i×mindist mli, Tl (i) (4.20) với mindist ml i, Tl = min tl j∈TldLT−LHD ml i, tl j (4.21)
vàP là tổng số đường cạnh trong bản đồ cạnhMl,K =f×P vớif là một tỷ số cho trước, ký hiệu
lml
i ×mindist ml i, Tl
(i)là giá trị thứitrong chuỗi lml×mindist ml, Tl
ml∈Ml được sắp theo thứ tự từ giá trị nhỏ đến giá trị lớn và dLT−LHD ml
i, tt j
là khoảng cách giữa hai đường cạnh, được định nghĩa như tại phương trình (4.16). Khoảng cách trực tiếp LT-LHD từMl đến Tl là trung bình có trọng số của khoảng cách từ đường cạnh ml đến đường gần nhấttl∈Tl, với điều kiện đường cạnhml được chọn khi thỏa điều kiện có giá trị của tích giữa chiều dài của nó và khoảng cách từ nó đến đường cạnh gần nhất trong bản đồ cạnh kia lml×mindist ml, Tl bằng hoặc lớn giá trị lớn thứ K trong chuỗi giá trịlml×mindist ml, Tl của tất cả các đườngml∈Ml.
Giải thuật 14 trình bày giả code để tính khoảng cách trực tiếp trong phương pháp LT-LHD từ bản đồ cạnhMlđến bản đồ cạnhTl. HàmDIST ()được dùng để tính khoảng cách giữa hai đường cạnh như định nghĩa tại phương trình (4.14), lml là độ dài của các đường cạnhml. Trong thuật toán 14, có 2 vòng lặp được thực hiện. Vòng lặp ngoài (dòng 5 đến dòng 26) sẽ được thực hiện với tất cả các đường cạnhml thuộcMl. Vòng lặp trong (dòng 13 đến dòng 16) sẽ được thực hiện với các đường cạnhtl thỏa mãn điều kiện như tại phương trình (4.15). Vòng lặp trong sẽ không thực hiện nếu không có đường cạnh nào thỏa mãn điều kiện này (dòng 24 đến dòng 25). TrongKM vòng lặp ngoài đầu tiên, giá trị của ma trậnh sẽ luôn được cập nhật. Mục tiêu của việc này là để ghi lại KM giá trị lớn nhất của chuỗilml×mindist ml, Tl. Tới các vòng lặp tiếp theo ma trậnh chỉ được cập nhật khi tìm thấy giá trịlml×mindist ml, Tllớn hơn giá trị đầu tiên trong ma trận h, hay giá trị nhỏ nhất trong ma trận h.
Khoảng cách sơ cấp LT-LHD giữa hai bản đồ cạnh được định nghĩa như sau: HpLT−LHD Ml, Tl
= max hLT−LHD Ml, Tl
, hLT−LHD Tl, Ml (4.22) Tương tự như phương pháp LHD, nếu đường cạnhtl là đường gần nhất của đường ml
trong bản đồ cạnhTl, đồng thời khoảng cách giữa hai trung điểm của hai đường nhỏ hơn giá trịNp thì đường ml được gọi là một đường đáng tin cậy vì đã tìm được đường tương ứng của mình trong bản đồ cạnh Tl. Một chỉ số không tin cậy giữa 2 bản đồ cạnh cũng được định nghĩa như tại phương trình (4.10). Như vậy khoảng cách LT-LHD giữa 2 bản
Algorithm 14 : Giải thuật tính toán khoảng cách trực tiếp LT-LHD từ Ml đến Tl
1: Inputs: Edge map Ml and edge map Tl, fraction f
2: Outputs: Directed Hausdorff distancehLT−LHD Ml, Tl
3: KM = (1−f)×P
4: h=zeros(2, KM)
5: for each line segmentml in edge map Ml do
6: Get the group indexgm of line segment ml
7: cmin=∞
8: cmax= min (h(1,:))
9: for gt=gm−k :gm+k do
10: Insert line segments tl has group indexgt intolist
11: end for
12: if list is not empty then
13: for each line segmenttl in list do
14: d=DIST ml, tl
15: cmin= min (cmin, d)
16: end for
17: if cmin×lml > cmaxthen
18: h(1,1) =cmin×lml 19: h(2,1) =lml 20: end if 21: else 22: h(1,1) =V ×lml 23: h(2,1) =lml 24: end if
25: sort h in ascending order of the value of the first row
26: end for
27: return hLT−LHD Ml, Tl
=sum(h(1,:))/sum(h(2,:)) đồ cạnh Ml và Tl được tính như sau:
HLT−LHD Ml, Tl
=qH2
pLT−LHD(Ml, Tl) +W2 nD2
n (4.23)
trong đó Wn là một trọng số có thể tìm được sau quá trình huấn luyện thuật toán. Sử dụng tập dữ liệu BERN [85] để huấn luyện thuật toán, ta có thể tìm được giá trị của các chỉ số như sau:Np = 6, Wn = 17 and W = 40.
4.4 Giảm độ phức tạp tính toán cho phương phápLT-LHD LT-LHD
4.4.1 Áp dụng phương pháp EARLYBREAK để giảm độ phứctạp cho phép tính khoảng cách trực tiếp LT-LHD tạp cho phép tính khoảng cách trực tiếp LT-LHD
Trong thuật toán 14, vòng lặp trong (dòng 13 đến dòng 16) không nhất thiết phải được thực hiện với toàn bộ các đường cạnh có trong list. Giả sử ma trận h đã có KM giá trị lml×mindist ml, Tl đã tìm được và cmax là giá trị nhỏ nhất trong số các giá trị này. Xét một đường cạnhml tại vòng lặp ngoài, nếu có một đường cạnh tl
j của vòng lặp trong khoảng cách d giữa chúng làm cho lml ×d < cmax thì đường cạnh đó được gọi là một đường không đóng góp vào phép tính khoảng cách trực tiếp vì khoảng cách từ đường ml
này đến điểm tương ứng gần nhất của nó trong T sẽ lml ×mindist ml, Tl
< cmax và giá trị này sẽ không được cập nhật vào ma trận h. Như vậy việc tính toán có thể bỏ qua các đường tl còn lại trong list để tiếp tục với đường cạnh ml tiếp theo ở vòng lặp ngoài mà không làm thay đổi kết quả phép tính.
Phương pháp EARLYBREAK cũng là một phương pháp tính nhanh phép tính khoảng cách Hausdorff như phương pháp LSS. Tuy nhiên, phương pháp LSS yêu cầu các tập hợp phải được sắp xếp thứ tự theo mã Morton và điều này không phù hợp với tập hợp đặc trưng là các đường cạnh trong phương pháp LT-LHD. Vì vậy, trong nghiên cứu này, phương pháp EARLYBREAK sẽ được áp dụng để làm giảm độ phức tạp cho phép tính khoảng cách trực tiếp của phương pháp LT-LHD như tại phương trình (4.20). Hình 4.6 mô tả lưu đồ giải thuật khi áp dụng phương pháp EARLYBREAK để tính nhanh khoảng cách trực tiếp trong phương pháp LT-LHD. Trong hình 4.6, vector h được dùng để lưu lại(P −K) = (1−f)P giá trị lớn nhất của chuỗilml×mindist ml, Tl và cmax là giá trị nhỏ nhất trong số các giá trị này. Cũng tương tự như phương pháp LT-NMHD, mấu chốt của việc giảm độ phức tạp phép tính khoảng cách trực tiếp trong lưu đồ giải thuật hình 4.6 là việc xảy ra break. Với một đường cạnh ml, nếu có một đường cạnh tl trong list thỏa điều kiện để thuật toán break thì việc tính toán với các đường còn lại trong list có thể bỏ qua và tiếp tục với đường ml tiếp theo ở phía ngoài. Nếu không có đường tl nào thỏa điều kiện để xảy ra break, việc tính toán sẽ được thực hiện với tất cả các đường tronglist.
Giải thuật 15 trình bày giả code thực hiện phép tính khoảng cách trực tiếp của phương pháp LT-LHD khi áp dụng phương pháp EARLYBREAK. Trong giải thuật 15, breaksẽ không xảy ra trongKM vòng lặp đầu tiên ở vòng lặp ngoài vì lúc này hcần phải cập nhật các giá trị lớn nhất. Từ các vòng lặp tiếp theo trở đi, breaksẽ diễn ra như đã phân tích ở trên.
Hình 4.6: Lưu đồ giải thuật tính nhanh khoảng cách Hausdorff trực tiếp trong phươngpháp LT-LHD pháp LT-LHD
Tạo một ma trận h để lưu các giá trị lml×mindist ml, Tl và độ dài các đường cạnh lml
Với từng đường cạnh ml trong Tl, thuật toán sẽ thực hiện
– Khởi tạo khoảng cách gần nhất từ đường cạnh ml tới bản đồ cạnh Tl, cmin.
– Thêm các đường cạnhtl vào danh sáchlist nếu thỏa điều kiện tại dòng 9. Nếu không có đường cạnh nào trong list, ma trận h sẽ được cập nhật như tại dòng 26 và 27. Nếu list có ít nhất một đường cạnh. Với mỗi đường cạnh trong list, thuật toán sẽ tính khoảng cáchd từ ml đến đường cạnh này.
– Nếu giá trị của d× lml nhỏ hơn giá trị cmax, thuật toán sẽ thực hiện gán cmin = 0 và break để tiếp tục vòng lặp ngoài tiếp theo. Nếu không xảy ra
break, thuật toán sẽ tiếp tục cập nhật giá trị của cmin.
– Nếu giá trị cmin thỏa điều kiện cmin×lml > cmax, thuật toán sẽ cập nhật lại ma trận h.
Ma trận h được sắp xếp lại theo giá trị tăng dần của lml×cmin.