Lưu đồ giải thuật tính nhanh khoảng cách Hausdorff trực tiếp trong phương

Một phần của tài liệu Phương pháp nhận dạng khuôn mặt trong điều kiện đơn mẫu dựa trên độ đo lt mhd (Trang 67)

5 KẾT QUẢ MÔ PHỎNG

3.3Lưu đồ giải thuật tính nhanh khoảng cách Hausdorff trực tiếp trong phương

pháp LT-NMHD

toán khoảng cách Hausdorff trực tiếp giữa hai tập hợp điểm.

Trong nghiên cứu này, phương pháp LSS sẽ được áp dụng để làm độ phức tạp cho phép tính khoảng cách trực tiếp (3.7) của phương pháp LT-NMHD. Mã Morton được sử dụng để sắp xếp thứ tự cho các tập hợp. Hình 3.3 mô tả lưu đồ giải thuật áp dụng phương pháp LSS để tính nhanh khoảng cách trực tiếp trong phương pháp LT-NMHD. Trong đó vectorh được dùng để lưu lại(P −K) = (1−f)×P giá trị lớn nhất của chuỗi

min

tj∈T kmi−tjk

mi∈M

, và giá trịcmax là giá trị nhỏ nhất trong số các giá trị này. Trong lưu đồ giải thuật ở hình 3.3, mấu chốt của việc giảm độ phức tạp cho phép tính khoảng cách trực tiếp là việc xảy ra break. Nếu một điểm mi có khoảng cách tới điểmtj thỏakmi−tjk< cmaxthì sẽ xảy rabreak và việc tính toán sẽ tiếp tục với điểm mi+1 thay vì tính khoảng cách từ mi đến các điểm còn lại trong T. Nếu không xảy ra

break thì việc tính toán vẫn diễn ra tiếp tục với tất cả các điểm còn lại trong T. Giải thuật 13 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-NMHD khi áp dụng phương pháp LSS. Biếnpreindex được dùng để lưu vị trí xảy ra

break ở vòng lặp trước hoặc vị trí có khoảng cách cực tiểu của vòng lặp trước. Trong giải thuật 13,break sẽ không xảy ra trongKM vòng lặp đầu tiên ở vòng lặp ngoài vì lúc này ma trậnh cần phải cập nhật các giá trị lớn nhất của các cặp điểm trội tương ứng.

Giải thuật 13 sẽ tính khoảng cách Hausdorff trực tiếp từ tập M đến tậpT như sau:

ˆ Khởi tạo ma trận h để lưu khoảng cách lớn nhất giữa các cặp điểm trội ở hàng 1 và trung bình của hệ số W tại cặp điểm trội tương ứng này. Biến preindex lưu vị trí bắt đầu tìm kiếm ở vòng lặp trong

– Giá trị cmax là giá trị nhỏ nhất trong số các khoảng cách giữa các cặp điểm trội tương ứng được lưu lại trong ma trận h và place là vị trí của giá trị nhỏ nhất đó trong ma trận h. Khởi tạo giá trịcmin.

– Bắt đầu từ vị trí preindex, vòng lặp trong sẽ bắt đầu tìm kiếm sang hai bên vị trí preindex. Điểm m ở vòng lặp ngoài sẽ lần lượt được tính khoảng cách đến các điểm ở vòng lặp trong. Nếu một khoảng cách được tìm thấy có giá trị thấp hơncmax, thuật toán sẽbreak và tiếp tục vòng lặp ngoài tiếp theo. Nếu không xảy ra break, các khoảng cách sẽ được dùng để cập nhật giá trị của cmin.

– Giá trị minplace được dùng để lưu lại vị trí điểm trội trong Tz mà có khoảng cách ngắn nhất đến điểm m ở vòng lặp ngoài.

ˆ Giá trị của cmin sẽ được cập nhật vào ma trận h nếu giá trị này lớn hơncmax 3.4.2 Tính toán độ phức tạp của phương pháp LT-NMHD Gọi P và Q lần lượt là số điểm trội trong hai tập hợp M và T. Để tính khoảng cách Hausdorff trực tiếp từ tập M đến tập T theo phương pháp NMHD, theo phương trình (3.5), một điểm trội m ∈M phải tính khoảng cách tới tất cả các điểm trội t∈T để tìm điểm tương ứng, là điểm có khoảng cách gần nhất tới nó. Việc này được lặp lại với tất cả các điểm trội m ∈ M. Như vậy, độ phức tạp của phép tính khoảng cách Hausdorff trực tiếp trong phương pháp NMHD làO(P Q).

Với phương pháp LT-NMHD, phép tính khoảng cách Hausdorff trực tiếp như tại giải thuật 12 cũng có độ phức tạp làO(P Q). Tuy nhiên, khi áp dụng phương pháp LSS, phép tính khoảng cách Hausdorff trực tiếp của phương pháp LT-NMHD như tại giải thuật 13 sẽ có độ phức tạp tính toán lần lượt làO((1−f)P Q+f P)vàO(P Q) trong trường hợp tốt nhất và trong trường hợp xấu nhất. Trong trường hợp tốt nhất, giải thuật 13 sẽ

breakngay tại vòng lặp trong đầu tiên. Như đã đề cập ở trên, break sẽ không xảy ra ở (1−f)P vòng lặp ngoài đầu tiên vì lúc này thuật toán sẽ cần cập nhật các giá trị cho ma trận h. Với f P vòng lặp ngoài tiếp theo, trong trường hợp tốt nhất break ngay tại vòng lặp trong đầu tiên, số vòng lặp trong cũng chỉ là f P. Vì vậy trong trường hợp tốt nhất, độ phức tạp của phép tính sẽ làO((1−f)P Q+f P). Ở trường hợp xấu nhất, nếu không xảy ra break thì thuật toán vẫn phải thực hiện tất cả các vòng lặp nên sẽ có độ phức tạp là O(P Q) như khi chưa áp dụng phương pháp LSS. Tuy nhiên, câu hỏi quan trọng hơn là độ phức tạp trung bình của giải thuật 13 là bao nhiêu. Nếu gọi R là số điểm trội trung bình mà một điểm m ở vòng lặp ngoài phải tính khoảng cách đến, hay còn có thể gọi R là số vòng lặp trong trung bình của mỗi vòng lặp ngoài. Như vậy độ phức tạp trung bình của giải thuật 13 sẽ là O((1−f)P Q+f P R). Giá trị của R càng lớn thì sẽ dẫn đến độ phức tạp của giải thuật 13 sẽ rất cao và ngược lại. Câu hỏi đặt ra

Hình 3.4: Hàm phân bố xác xuất của biến ngẫu nhiênR

ở đây là giá trị của R lớn như thế nào và phụ thuộc vào điều gì? Sau đây chúng tôi sẽ sử dụng lý thuyết về xác suất thống kê để có thể tính toán giá trị củaR một cách khoa học. Xét một điểm t trong vòng lặp trong và d là khoảng cách từ điểm này đến điểm m ở vòng lặp ngoài tại thời điểm đang xét. Chúng tôi định nghĩae là một biến cố mà khoảng cáchdcó giá trị lớn hơn giá trị cmax, giá trị nhỏ nhất của hnhư đề cập trong giải thuật 13, nghĩa làe≡d≥cmax. Biến cốethể hiện việc không xảy ra việc breaksớm. Gọiqlà xác suất của biến cốe, ta cóP (e) = q. Ngược lại, biến cốe¯được dùng để định nghĩa cho việc tìm thấy một giá trị d nhỏ hơn giá trị cmax. Biến cố e¯thể hiện việc xảy ra break. Như vậy xác suất của biến cốe¯sẽ là P (¯e) =p= 1−q.

Giả sử vòng lặp trong đã thực hiện được R lần trước khi xảy ra hiện tượng break. Nghĩa là đã cóR lần tìm được giá trị d thỏa mãn điều kiệnd ≥cmax và trong vòng lặp tiếp theo thì xảy ra trường hợpd < cmax, hay cóR lần xảy ra biến cố evà tiếp theo xảy ra biến cốe. Nếu coi¯ R là một biến ngẫu nhiên thì hàm mật độ xác suất sẽ được tính như sau:

f(x) =P (d1 > cmax, d2 > cmax, ..., dx−1 > cmax, dx < cmax)

=q×q×...×q×p=qx−1p (3.12) Hình 3.4 biểu diễn hàm phân bố xác xuất của biến ngẫu nhiênR. Kỳ vọng củaR, hay kỳ vọng của số vòng lặp trong trung bình, được tính như sau:

E[R] = ∞ X x=1 xf(x) = ∞ X x=1 xqx−1p (3.13)

Phương trình (3.13) có thể được khai triển như sau:

Nếu nhân cả 2 vế của phương trình (3.14) cho q thì ta được E[R]q=pq+ 2q2p+ 3q3p+ 4q4p+ 5q5p+.... (3.15) Từ (3.14) và (3.15) ta được E[R] (1−q) p = 1 +q+q 2+q3+q4+...= 1 1−q (3.16)

Nếu thayp= 1−q thì phương trình (3.16) sẽ trở thành E[R] = 1

p (3.17)

Phương trình (3.17) cho thấy rằng số vòng lặp trong trung bình cần phải thực hiện trước khi xảy ra hiện tượngbreak phụ thuộc hoàn toàn vào giá trị của p là xác suất để tìm ra khoảng cách d ≤ cmax. Giá trị của p càng lớn thì số vòng lặp trong trung bình càng thấp, nghĩa là nhanh chóng xảy ra hiện tượngbreak sớm. Ngược lại, giá trị của p càng nhỏ thì càng phải thực hiện nhiều lần vòng lặp trong cho tới khi có xảybreak. Vậy giá trị củap phụ thuộc vào thông số nào?

Nếu gọi d là khoảng cách giữa hai điểm, ta có thể coid như một biến ngẫu nhiên với giả sử d có hàm phân bố xác suất là phân bố Gaussian như hình 3.5. Giá trị của p phụ thuộc vào phân bố xác suất của d và giá trị cmax. Giá trị của cmax càng lớn thì càng dễ dàng tìm được d thỏa mãn điều kiện d ≤ cmax để xảy ra break, nghĩa là xác suất p càng lớn (p là phần diện tích nằm dưới phân bố Gaussian như trong hình 3.5), thuật toán phải thực hiện ít vòng lặp bên trong và ngược lại.

Trong thực tế, rất khó để có thể mô hình chính xác hàm phân bố xác suất của biến ngẫu nhiênd nên sẽ không thể kết luận chính xác độ phức tạp trung bình của phép tính khoảng cách Hausdorff trực tiếp LT-NMHD khi áp dụng LSS bằng công thức toán. Tuy nhiên số vòng lặp trung bình luôn là hằng số 1 (adsbygoogle = window.adsbygoogle || []).push({});

p. Với hằng số này, ta có thể ước lượng thời gian tính toán của thuật toán một cách tổng quát thông qua khoảng cách Hausdorff giữa hai bản đồ cạnh. Khoảng cách Hausdorff LT-NMHD càng lớn thì giá trị củacmax càng lớn và dẫn đến giá trịpcàng lớn, nghĩa là thời gian chạy của thuật toán càng nhỏ. Ngược lại khoảng cách Hausdorff LT-NMHD càng nhỏ thì thời gian chạy của thuật toán sẽ càng lâu. Đây chính là nhược điểm của giải thuật, khi chúng ta tính toán khoảng cách từ một bản đồ cạnh đến chính nó, tất cả các giá trị củah sẽ là0, khi đó thì việc áp dụng phương pháp LSS sẽ không dẫn đến việc giảm độ phức tạp tính toán của phép tính khoảng cách Hausdorff trực tiếp.

Bên cạnh đó, giá trị của tỷ số f cũng ảnh hưởng đến số vòng lặp trong trung bình R. Với giá trị f càng lớn, chiều dài của ma trận h càng bé và giá trị của cmax càng lớn.

(a) Mối quan hệ của giá trị p vớicmax.

(b) Trường hợp cmax lớn. (c) Trường hợpcmax nhỏ.

Hình 3.5: Hàm phân bố xác suất của khoảng cách giữa 2 đường cạnh và mối quan hệgiữa xác suất p và giá trịcmax. giữa xác suất p và giá trịcmax.

Điều này đồng nghĩa với giá trị của xác suất pcàng lớn và giá trị của R càng bé. Ngược lại, một giá trị f càng bé sẽ làm cho giá trị của cmax càng tăng lên và dẫn đến giá trị của R càng tăng cao. Vì vậy, số lượng vòng lặp trong trung bình R sẽ phụ thuộc vào tỷ số f. Hay nói cách khác, tỷ số f cũng góp phần quyết định đến độ phức tạp tính toán của giải thuật 13.

Phương pháp nhận dạng khuôn mặt được đề xuất LT-NMHD cũng như ý tưởng về việc áp dụng phương pháp LSS để giảm độ phức tạp tính toán cho phương pháp LT-NMHD đã được trình bày tại bài báo [87]:Dang Nguyen Chau và Do Hong Tuan, "Reducing Computational Complexity of New Modified Hausdorff Distance Method for Face Recognition Using Local Start Search," International Journal of Elec- trical and Electronic Engineering & Telecommunications, vol. 10, no. 4, pp. 261-271, 2021.

3.5 Ảnh hưởng của tỷ số f đến phương pháp LT-NMHD NMHD

Tỷ sốf sẽ quyết định số lượng các điểm trội được tham gia vào công thức tính khoảng cách Hausdorff trực tiếp trong phương pháp LT-NMHD. Hay nói cách khác, tỷ số f sẽ quyết định số lượng đặc trưng được tham gia vào việc tính độ khác nhau giữa hai tập hợp đặc trưng trong phương pháp LT-NMHD. Nếu tỷ số f lớn, một số ít các điểm trội trong tập hợp này cách xa tập hợp kia được sử dụng để đo sự khác nhau giữa hai tập hợp. Các điểm này thường là các điểm nhiễu trong các tập hợp nên với tỷ sốf lớn, sự khác nhau giữa hai tập hợp đặc trưng sẽ chính là khoảng cách giữa các điểm nhiễu. Vì vậy với tỷ số f lớn, khoảng cách Hausdorff sẽ đo không chính xác sự khác nhau giữa hai tập hợp đặc trưng và tỷ lệ nhận dạng của phương pháp LT-NMHD sẽ thấp. Ngược lại với tỷ số f nhỏ, gần như tất cả các điểm trội trong hai tập hợp được tham gia vào việc tính toán sự khác nhau giữa hai tập hợp. Trong hai tập hợp đặc trưng của ảnh khuôn mặt, sẽ có những đặc trưng giống nhau giữa các khuôn mặt và những đặc trưng mô tả sự khác nhau giữa các khuôn mặt. Nếu như tất cả các đặc trưng đều được tham gia vào việc đo sự khác nhau giữa hai tập hợp sẽ làm cho trọng số của các đặc trưng mô tả sự khác nhau giữa các khuôn mặt sẽ giảm xuống và làm giảm đi tính chính xác trong việc đo sự khác nhau. Vì vậy với tỷ sốf nhỏ, tỷ lệ nhận dạng của phương pháp LT-NMHD cũng sẽ không cao. Vậy nên tỷ lệ nhận dạng của phương pháp LT-NMHD sẽ được dự đoán là cao với một tỷ sốf vừa phải, không quá lớn và không quá nhỏ. Các khảo sát về sự ảnh hưởng lên tỷ lệ nhận dạng của phương pháp LT-NMHD sẽ được thực hiện tại chương 5.

Tỷ số f cũng ảnh hưởng đến độ phức tạp tính toán của phương pháp LT-NMHD. Theo giải thuật 13, giá trị củaf sẽ quyết định chiều dài củah. Giá trị của f càng lớn thì hcàng ngắn, dẫn đến giá trị củacmaxcàng lớn. Theo hình 3.5, giá trị củacmaxcàng lớn thì p càng lớn, nghĩa là số vòng lặp trong trung bìnhR càng nhỏ, độ phức tạp của phép tính khoảng cách Hausdorff trực tiếp trong phương pháp LT-NMHD càng thấp. Như vậy giá trị củaf càng lớn thì độ phức tạp tính toán của phương pháp LT-NMHD càng thấp. Các khảo sát về sự ảnh hưởng của tỷ số f đến độ phức tạp tính toán của phương pháp LT-NMHD sẽ được thực hiện tại phần 5.4 chương 5.

Như vậy trong phương pháp LT-NMHD, tỷ số f là một tỷ số đặc biệt, vừa ảnh hưởng đến tỷ lệ nhận dạng, vừa ảnh hưởng đến độ phức tạp tính toán của phương pháp. Nếu xét riêng về độ phức tạp tính toán thì việc chọn tỷ số f càng lớn sẽ càng tốt. Tuy nhiên nếu xét về tỷ lệ nhận dạng của phương pháp LT-NMHD thì điều này không đúng. Vì vậy việc lựa chọn tỷ số f cần tương nhượng phù hợp giữa hai yếu tố tỷ lệ nhận dạng và độ phức tạp tính toán của phương pháp LT-NMHD.

3.6 Kết luận

Chương này đã trình bày về khoảng cách mới được đề xuất, khoảng cách Least trimmed Modified Hausdorff Distance (LT-MHD). Dựa trên khoảng cách được đề xuất này, một cải tiến của phương pháp NMHD, phương pháp LT-NMHD cho nhận dạng khuôn mặt trong điều kiện SSPP đã được đề xuất. Phương pháp LT-NMHD sử dụng khoảng cách LT-MHD để đo sự giống nhau giữa hai tập hợp đặc trưng thay vì khoảng cách Hausdorff trung bình như phương pháp NMHD. Các kết quả mô phỏng trong phần sau của nghiên cứu này sẽ chứng minh sự hiệu quả của việc sử dụng khoảng cách LT-NMHD thay vì khoảng cách Hausdorff trung bình.

Bên cạnh đó, trong chương này, cách thức để áp dụng phương pháp LSS làm giảm độ phức tạp cho phép tính khoảng cách trực tiếp trong phương pháp LT-NMHD cũng đã được trình bày. Các chứng minh về toán học trong chương này đã cho thấy sự hiệu quả trong việc giảm độ phức tạp tính toán cho phương pháp LT-NMHD. Tuy nhiên, để khách quan hơn, trong phần sau nghiên cứu sẽ thông qua các kết quả mô phỏng để chứng minh việc giảm độ phức tạp này.

Algorithm 13 : Giải thuật áp dụng LSS để tính nhanh khoảng cách Hausdorff trực tiếp phương pháp LT-NMHD

1: Inputs: Dominant points sets in Z-order Mz and Tz, fractionf

2: Outputs: Directed Hausdorff distancehLT−N M HD(M, T)

3: KM = (1−f)×P

4: h=zeros(2, KM)

5: preindex=round(length(Tz)/2)

6: for i= 1 :length(Mz)do

7: [cmax, place] =min(h(1,:))

8: cmin=∞

9: brk = 0

10: for j = 0 :length(Tz) do

11: while 1≤preindex−j ≤length(Tz) or 1≤preindex+j ≤length(Tz) do

12: if 1≤preindex−j ≤length(Tz) then

13: distlef t=kMz(i), Tz(preindex−j)k

14: if distlef t < cmax then

15: preindex=preindex−j (adsbygoogle = window.adsbygoogle || []).push({});

16: brk = 1

17: break

18: end if

19: if distlef t < cmin then

20: cmin =distlef t

21: minplace=preindex−j

22: W =Wpreindex−j

23: end if

24: end if

Một phần của tài liệu Phương pháp nhận dạng khuôn mặt trong điều kiện đơn mẫu dựa trên độ đo lt mhd (Trang 67)