Các điểm lân cận trái và lân cận phải của một điểm đang xét

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 56 - 58)

5 KẾT QUẢ MÔ PHỎNG

2.23 Các điểm lân cận trái và lân cận phải của một điểm đang xét

Ý tưởng chính của giải thuật LSS để nhanh chóng tìm ra điểm dẫn đến hiện tượng

breaknhư sau. Khi tính khoảng cách Hausdorff trực tiếp từ tập hợp điểmA đến tập hợp điểm B. Nếu điểm ai tại vòng lặp ngoài tìm thấy điểm bj ở vòng lặp trong mà khoảng cách d(ai, bj) làm xảy ra break thì tới vòng lặp tiếp theo, điểm ai+1, lân cận của điểm ai, cũng sẽ có khả năng cao tìm thấy điểm làm cho thuật toánbreak ở lân cận của điểm bj. Như vậy với điểmai+1 ở vòng lặp ngoài, thuật toán tốt hơn nên bắt đầu tìm các điểm lân cận củabj thay vì bắt đầu từ điểm đầu tiên. Ngoài ra, nếu không xảy rabreak, điểm ai nhận điểm bj là điểm gần nhất của nó trong B thì nhiều khả năng điểm ai+1, lân cận của ai, cũng sẽ nhận một điểm lân cận của bj làm điểm gần nhất của nó trongB.

Tuy nhiên, để thực hiện được ý tưởng này, các điểm trong tập hợp điểm cần được sắp xếp theo thứ tự để có thể xác định lân cận của một điểm nào đó đang xét. LSS sử dụng mã Morton để sắp xếp thứ tự của các điểm trong tập hợp. Ví dụ về mã Morton cho tập hợp gồm 64 điểm trong không gian Oxy được mô tả tại hình 2.24. Các điểm sẽ lần lượt được sắp thứ tự từ 1 đến 64 theo chiều mũi tên. Bảng 2.1 minh họa cho việc dùng Morton code để sắp lại thứ tự cho 16 điểm đầu tiên trong hình 2.24.

Giải thuật LSS được mô tả trong thuật toán 11. Để lưu lại vị trí của vòng lặp trong trước đó xảy ra break, một biến preindex sẽ được sử dụng. Điểm tiếp theo ở vòng lặp ngoài sẽ bắt đầu vòng lặp trong tại vị trípreindex thay vì bắt đầu từ vị trí đầu tiên.

Trong thuật toán 11, có hai vòng lặp, gồm vòng lặp ngoài (Dòng 7 đến dòng 42) và vòng lặp trong (Dòng 11 đến dòng 36). Giải thuật LSS trong thuật toán 11 thực hiện việc tính khoảng cách Hausdorff trực tiếp như sau

ˆ Một cấu trúc Z-order được thực hiện cho cả hai tập hợp điểm A và B. Điều này giúp các điểm trong cả hai tập hợp điểm được sắp thứ tự tùy theo tọa độ của chúng.

ˆ Với điểm đầu tiên của vòng lặp ngoài, tất cả các điểm b ∈ Bz của vòng lặp trong đều phải được thực hiện. Vị trí của điểm b gần nhất tới điểm a đầu tiên sẽ được dùng làm vị trí bắt đầu cho vòng lặp tiếp theo (Dòng 21 hoặc dòng 33).

Algorithm 11: Giải thuật Local Start Search - LSS để tính khoảng cách Hausdorff trực tiếp

1: Inputs: Point set A and point setB

2: Outputs: Directed Hausdorff distancehAB

3: cmax= 0

4: preindex= 0

5: Create Z-order Az of point set A

6: Create Z-order Bz of point set B

7: for i= 1 :P do

8: cmin=∞

9: minplace= 1

10: for j = 1 :P do

11: while 1≤preindex−j ≤Q or 1≤preindex+j ≤n do

12: if 1≤preindex−j ≤Q then

13: distlef t=dist(Az(i), Bz(preindex−j))

14: if distlef t < cmax then

15: cmin = 0

16: preindex=preindex−j

17: break

18: end if

19: if distlef t < cmin then

20: cmin =distlef t

21: minplace=preindex−j

22: end if

23: end if

24: if 1≤preindex+j ≤Q then

25: distright=dist(Az(i), Bz(preindex+j))

26: if distright < cmax then

27: cmin = 0

28: preindex=preindex+j

29: break

30: end if

31: if distright < cmin then

32: cmin =distright 33: minplace=preindex+j 34: end if 35: end if 36: end while 37: end for

38: if cmax < cmin then

39: cmax=cmin

40: preindex=minplace

41: end if

42: end for

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 56 - 58)

Tải bản đầy đủ (PDF)

(178 trang)