Thuật toán so sánh khuôn mẫu dựa theo khoảng cách tiếp xúc

Một phần của tài liệu Tài liệu Luận văn:Nhận dạng ảnh mặt người trong điều kiện ánh sáng thay đổi pptx (Trang 33 - 36)

hoạ cụ thể thuật toán bằng những thủ tục trên ngôn ngữ lập trình PASCAL.

Mô tả các thuật toán nh− sau:

Giả sử cho một ảnh x là ảnh cần nhận dạng và đ−ợc mã hoá thành vector d-chiều trong không gian Sd. Một cơ sở dữ liệu ảnh D đ−ợc tổ chức và quản lý theo chỉ số. Kết quả thu đ−ợc là các chỉ số của lớp ảnh (cho biết đ−ợc ng−ời nhận dạng) và các chỉ số của các mẫu trong lớp (biết đ−ợc điều kiện môi tr−ờng t−ơng ứng tác động đến ảnh nhận dạng).

3.1 Thuật toán so sánh khuôn mẫu dựa theo khoảng cách tiếp xúc xúc

Thuật toán này đ−ợc thực hiện nh− hình d−ới đây:

Hình 3.1 Mô phỏng cách so sánh hai mẫu mặt với nhau dựa trên các mẫu con

Kỹ thuật nhận dạng dựa trên khuôn mẫu sử dụng quy tắc so sánh từng mẫu ảnh nhỏ với nhau. Mỗi mẫu t−ơng ứng với một vùng của ảnh và việc so sánh này là so sánh các

i i

So sánh

So sánh

mẫu t−ơng ứng của nhau có trong hai ảnh cần nhận dạng. Nh− biểu diễn của hình minh hoạ trên cho thấy mẫu thứ i của ảnh cần nhận dạng phải t−ơng ứng với mẫu thứ i trong ảnh mẫu.

Mỗi ảnh cần nhận dạng và ảnh mẫu đ−ợc chuẩn hoá có kích th−ớc cố định là 75x75 pixel, các mẫu con có kích th−ớc 15x15 pixel. Vì vậy kỹ thuật nhận dạng này rất hiệu quả trong việc so sánh các ảnh mà không chịu tác động của môi tr−ờng và do đó thuật toán này bền vững với các điều kiện tác động của ánh sáng tới các ảnh nhận dạng và ảnh mẫu. Kỹ thuật so sánh này sử dụng cách so sánh các giá trị xám của hai mẫu con với nhau bằng cách so sánh từng điểm một của mẫu. Nếu hai điểm là khác nhau thì sự khác nhau mức xám giữa chúng v−ợt quá một ng−ỡng cho tr−ớc và ng−ợc lai hai điểm ảnh là giống nhau nếu sự khác nhau giữa các giá trị mức xám của điểm ảnh không v−ợt quá ng−ỡng cho tr−ớc, giá trị này thay đổi trong khoảng [0,1] và giá trị này càng thấp càng tốt.

Theo sự mô tả trên thì một ảnh đ−ợc phân thành một vector mà các thành phần của vector là giá trị mức xám của mẫu con. Giả sử cho một ảnh cần nhận dạng x đ−ợc biểu diễn x={x1, x2, …,xN} trong đó xi (i=1..N) là các mẫu con của ảnh cần nhận dạng, tập hợp các mẫu con tạo thành một ảnh và một nhóm ảnh mặt p= {f1, f2,…,fK} trong đó fi là mẫu mặt thứ i, các mẫu mặt này cũng phải mã hoá thành các vector và có số phần tử giống nh− số phần tử của ảnh cần nhận dạng.

Thủ tục so sánh hai mẫu mặt:

Procedure df(x: mặt, fk: mặt);

Begin

D:=0;

For i=1 to số_mẫu_con do

If (|x(i) – fk(i)|) < T then

∂(|x(i)-fk(i)|) := 0 else ∂(|x(i)-fk(i)|) := 1; D:= D + ∂(|x(i)-fk(i)|); Df:= D/số_mẫu_con; End

Kết quả của thuật toán này là thu đ−ợc khoảng cách giữa hai mẫu mặt và kết quả này đ−ợc sử dụng cho việc xác định một mẫu mặt x cần nhận dạng với nhóm mặt p (nhóm

p có N phần tử).

Tiếp theo là thuật toán so sánh một ảnh cần nhận dạng với một nhóm ảnh mẫu đã thu đ−ợc. Với cách giải quyết này, ta sử dụng kết quả của thuật toán so sánh hai ảnh mặt với nhau, khoảng cách thu đ−ợc của từng cặp so sánh (so sánh ảnh cần nhận dạng với từng ảnh trong nhóm) và so sánh các kết quả thu đ−ợc nếu khoảng cách nào nhỏ nhất thì đó là cặp ảnh cần tìm. Thuật toán có thể đ−ợc mô tả trong hình sau:

Hình 3.2 Mô phỏng cách so sánh một ảnh mặt cần nhận dạng với nhóm các mẫu mặt

Hình này biểu diễn việc so sánh một mặt cần nhận dạng với một tập các ảnh mặt mẫu dựa vào khoảng cách nhỏ nhất giữa các cặp so sánh và cuối cùng thu đ−ợc một ảnh tốt nhất trong lớp ảnh mặt mẫu đó. Thủ tục này đ−ợc phát triển đệ quy cho tất cả các lớp ảnh mặt mẫu trong cơ sở dữ liệu và kết quả của việc đệ quy này là một tập các mẫu ảnh mặt tốt nhất ứng với mỗi một lớp.

Thủ tục so sánh một ảnh mặt cần nhận dạng với một lớp các ảnh mẫu:

Giả sử số ảnh mẫu có trong một lớp là N, x là ảnh cần nhận dạng, p là một lớp có N ảnh mẫu và đ−ợc biểu diễn p={f1,f2,…,fN}, giá trị min đ−ợc dùng để xác định các cặp so sánh nào có khoảng cách nhỏ nhất và dựa vào giá trị min này cho biết đ−ợc chỉ số của ảnh mẫu trong lớp đang quan sát. Thủ tục đ−ợc thực hiện nh− d−ới đây:

Procedure dt(x: mặt, p: lớp mặt); Begin min:=df(x,f1); x fi1 fi2 fi3 … … fi(N-1) fiN fij Lớp ảnh mẫu ảnh cần nhận dạng ảnh thu đ−ợc sau khi so sánh So sánh So sánh Kết quả

For i=2 to N do

If (min >= df(x,fi)) then

min:= df(x,fi) (adsbygoogle = window.adsbygoogle || []).push({});

End

Kết quả thu đ−ợc của thủ tục trên là một mẫu mặt tốt nhất ứng với giá trị min nhỏ nhất. Với cách thực hiện t−ơng tự thủ tục trên đ−ợc áp dụng cho các lớp ảnh mặt mẫu khác và thu đ−ợc K mặt tốt nhất t−ơng ứng với K lớp ảnh mặt mẫu có trong cơ sở dữ liệu. K mặt tốt nhất này đ−ợc sử dụng trong thuật toán so sánh một ảnh mặt cần nhận dạng với các mặt tốt nhất thu đ−ợc từ thuật toán so sánh dựa trên khuôn mẫu.

Một phần của tài liệu Tài liệu Luận văn:Nhận dạng ảnh mặt người trong điều kiện ánh sáng thay đổi pptx (Trang 33 - 36)