1. Trang chủ >
  2. Luận Văn - Báo Cáo >
  3. Công nghệ thông tin >

4 Dựa trên so khớp mẫu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.87 MB, 67 trang )


2.4.1 Xác định các mẫu trƣớc

Sakai đã cố gắng thử phát hiện mặt ngƣời chụp thẳng trong ảnh. Ông

dùng vài mẫu con về mắt, mũi, miệng, và đƣờng viền khuôn mặt để mô

hình hoá một khuôn mặt. Mỗi mẫu con đƣợc định nghĩa trong giới hạn của

các đoạn thẳng. Các đƣờng thẳng trong ảnh đƣợc trích bằng phƣơng pháp

xem xét thay đổi gradient nhiều nhất và so khớp các mẫu con. Đầu tiên tìm

các ứng viên thông qua mối tƣơng quan giữa các ảnh con và các mẫu về

đƣờng viền. Sau đó, so khớp với các mẫu con khác. Hay nói một cách khác,

giai đoạn đầu xem nhƣ là giai đoạn sơ chế để tìm ứng viên, giai đoạn thứ

hai là giai đoạn tinh chế để xác định có tồn tại hay không một khuôn mặt

ngƣời. Ý tƣởng này đƣợc duy trì cho đến các nghiên cứu sau này.

Craw đƣa ra một phƣơng pháp phát hiện mặt ngƣời dựa vào các mẫu

về hình dáng của các ảnh đƣợc chụp thẳng (dùng vẻ bề ngoài của hình dáng

khuôn mặt). Đầu tiên dùng phép lọc Sobel để tìm các cạnh. Các cạnh này

sẽ đƣợc nhóm lại theo một số ràng buộc. Sau đó, tìm đƣờng viền của đầu,

quá trình tƣơng tự đƣợc lặp đi lặp lại với mỗi tỷ lệ khác nhau để xác định

các đặc trƣng khác nhƣ: mắt, lông mày, và môi. Sau đó Craw mô tả một

phƣơng thức xác định dùng một tập có 40 mẫu để tìm các đặc trƣng khuôn

mặt và điều khiển chiến lƣợc dò tìm.

Govindaraju đề nghị một phƣơng thức phát hiện mặt ngƣời có hai

giai đoạn để phát sinh các giả thuyết khuôn mặt và kiểm tra nó. Một mô

hình khuôn mặt đƣợc xây dựng trong các giai đoạn xác định đặc trƣng bằng

các cạnh. Các đặc trƣng đƣợc mô tả nhƣ các đƣờng cong của phía bên trái,

đƣờng viền tóc, phía bên phải của khuôn mặt đƣợc chụp thẳng. Dùng phép

toán Marr-Hildreth để xác định cạnh. Sau đó dùng một bộ lọc để loại bỏ

các đối tƣợng không tham gia vào xây dựng khuôn mặt. Liên kết các cặp

của các đoạn đƣờng viền trên cơ sở mức độ kề và các hƣớng liên quan. Xác

định các góc để phân đoạn đƣờng viền thành các đƣờng cong đặc trƣng.

Gán nhãn các đƣờng cong đặc trƣng bằng cách kiểm tra thuộc tính hình học

và các vị trí liên quan trong láng giềng của nó. Nối các cặp của các đƣờng

cong đặc trƣng thông qua các cạnh nếu các thuộc tính của nó tƣơng thích.

So sánh các tỷ lệ của các cặp thuộc tính cho một cạnh và ấn định một giá trị

tƣơng ứng. Nếu giá trị của một nhóm của ba đƣờng cong đặc trƣng (với các

nhãn khác nhau) thấp thì nhóm này sẽ trở thành một giả thuyết. Khi phát

hiện mặt trong các bài báo thì thông tin phụ sẽ đƣợc dùng thêm đó là số

44



lƣợng ngƣời trong ảnh để chọn giả thuyết tối ƣu. Tỷ lệ chính xác của

phƣơng pháp này là 70%, tuy nhiên các khuôn mặt phải đƣợc chụp thẳng

và không bị che khuất.

Venkatranman và Govindaraju dùng cách tiếp cận tƣơng tự, nhƣng

dùng wavelet để trích cạnh. Tsukamoto trình bày một mô hình hiệu quả khi

dùng mẫu khuôn mặt (QMF). Trong QMF, mỗi ảnh mẫu đƣợc chia thành

nhiều khối, các đặc trƣng hiệu quả đƣợc ƣớc lƣợng cho mỗi khối. Tham số

hoá một mẫu khuôn mặt theo: lightness và edgeness là các đặc trƣng trong

mô hình. Sau đó dùng các mẫu (đã đƣợc chia thành các khối) để tính giá trị

faceness (mức độ là khuôn mặt) ở tại mọi vị trí của ảnh. Một khuôn mặt

đƣợc xác định khi giá trị faceness vƣợt một ngƣỡng đã đƣợc cho trƣớc.

Hình chiếu đƣợc dùng nhƣ các mẫu để phát hiện mặt ngƣời. Dùng PCA

(phân tích thành phần chính – Principal Component Analysis - PCA) để có

một tập hình chiếu cơ bản từ các mẫu khuôn mặt, hình chiếu đƣợc mô tả

nhƣ một mảng các bit. Dùng đặc trƣng hình chiếu riêng kết hợp biến đổi

Hough để phát hiện mặt ngƣời. Sau đó một phƣơng pháp xác định dựa trên

đa loại mẫu để xác định các thành phần của khuôn mặt đƣợc trình bày.

Phƣơng pháp này định nghĩa một số giả thuyết để mô tả các khả năng của

các đặc trƣng khuôn mặt. Với một khuôn mặt sẽ có một tập giả thuyết, lý

thuyết DepsterShafer. Dùng một nhân tố tin cậy để kiểm tra sự tồn tại hay

không của các đặc trƣng của khuôn mặt, và kết hợp nhân tố tin cậy này với

một độ đo để xem xét có hay không có khuôn mặt trong ảnh.

Sinha dùng một tập nhỏ các bất biến ảnh trong không gian ảnh để mô

tả không gian các mẫu ảnh [24, 25]. Tƣ tƣởng chính của ông dựa vào sự

thay đổi mức độ sáng của các vùng khác nhau của khuôn mặt (nhƣ hai mắt,

hai má, và trán), quan hệ về mức độ sáng của các vùng còn lại thay đổi

không đáng kể. Xác định các cặp tỷ số của mức độ sáng của một số vùng

(một vùng tối hơn hay sáng hơn) cho ta một lƣợng bất biến khá hiệu quả.

Các vùng có độ sáng đều đƣợc xem nhƣ một mẫu tỷ số mà là mẫu thô trong

không gian ảnh của một khuôn mặt với độ thích hợp ít dùng để chọn nhƣ

các đặc trƣng chính của khuôn mặt nhƣ hai mắt, hai má, và trán. Lƣu giữ

thay đổi độ sáng của các vùng trên khuôn mặt trong một tập thích hợp với

các cặp quan hệ sáng hơn – tối hơn giữa các vùng nhỏ. Một khuôn mặt

đƣợc xác định khi một ảnh thoả tất cả các cặp sáng hơn – tối hơn. Ý tƣởng

này xuất phát từ sự khác biệt của cƣờng độ giữa các vùng kề cục bộ, sau

này đƣợc mở rộng trên cơ sở biến đổi wavelet để biểu diễn cho xác định

45



ngƣời đi bộ, xác định xe hơi, phát hiện mặt. Ý tƣởng của Sinha còn đƣợc

áp dụng cho hệ thống thị giác của robot. Hình 2.16 cho thấy mẫu nổi bật

trong 23 quan hệ đƣợc định nghĩa. Dùng các quan hệ này để phân loại, có

11 quan hệ thiết yếu (các mũi tên màu đen) và 12 quan hệ xác thực (các

mũi tên xám). Mỗi mũi tên là một quan hệ. Một quan hệ thoả mãn mẫu

khuôn mặt khi tỷ lệ giữa hai vùng vƣợt qua một ngƣỡng và 23 quan hệ này

vƣợt ngƣỡng thì xem nhƣ xác định đƣợc một khuôn mặt.



Hình 2.16: Một mẫu khuôn mặt, có 16 vùng và 23 quan hệ

(các mũi tên).

Phƣơng pháp so khớp mẫu theo thứ tự để phát hiện mặt ngƣời do

Miao trình bày. Ở giai đoạn đầu tiên, ảnh sẽ đƣợc xoay từ -20o đến 20o với

mỗi bƣớc là 5o và theo thứ tự. Xây dựng ảnh đa độ phân giải, hình 2.17, rồi

dùng phép toán Laplace để xác định các cạnh. Một mẫu khuôn mặt gồm

các cạnh mô tả sáu thành phần: hai lông mày, hai mắt, một mũi, và một

miệng. Sau đó áp dụng heuristic để xác định sự tồn tại của khuôn mặt trong

ảnh, phƣơng pháp này cho phép xác nhiều khuôn mặt, nhƣng kết quả không

tốt bằng xác định một khuôn mặt (chụp thẳng hoặc xoay) trong ảnh xám.



Hình 2.17: (a) Ảnh ban đầu có độ phân giải n=1;

(b), (c), và (d) Ảnh có độ phân giải n=4, 8, và 16.

Wei và Lai [29] dùng bộ lọc để phân đoạn kết hợp thuật toán tìm

láng giềng gần nhất xác định ứng viên khuôn mặt, từ ứng viên này sau đó

so khớp với các mẫu đã xác định trƣớc để biết ứng viên có phải là khuôn

mặt hay không. Tỷ lệ chính xác là 80%.

Darrell [31] dùng phân đoạn đề tìm ứng viên, dùng ứng viên này để

phát hiện mặt ngƣời dựa vào mẫu rồi theo vết chuyển động của ngƣời.

46



Dowdall dùng phổ của màu da ngƣời để xác định ứng viên. Sau đó

chiếu các ứng viên này để so sánh với các mẫu có trƣớc để xác định ứng

viên nào là khuôn mặt ngƣời. Phƣơng pháp này chỉ xác định cho khuôn mặt

chụp thẳng và gần thẳng, góc quay khoảng từ -10o đến 10o.

Holst xây dựng một hệ thống từ các mẫu với các đặc trƣng kép: (1)

thành phần, gồm: mắt, mũi, và miệng; (2) hình dáng khuôn mặt, trên độ

phân giải thấp. Ông dùng hai phƣơng pháp tìm kiếm trong không gian dữ

liệu của mình để phát hiện mặt ngƣời.



Hình 2.18: Phân nhóm dữ liệu khuôn mặt và nhóm dữ liệu không phải

khuôn mặt

Froba và Zink lọc cạnh ở độ phân giải thấp rồi dùng biến đổi Hough

để so khớp mẫu theo hƣớng cạnh để xác định hình dáng khuôn mặt ở dạng

chụp hình thẳng ở dạng xám. Tỷ lệ chính xác trên 91% [5].

Shu và Jain xây dựng ngữ nghĩa khuôn mặt. Ngữ nghĩa theo hình

dáng và vị trí các thành phần khuôn mặt. Hai ông từ bộ ngữ nghĩa này xây

dựng một đồ thị quan hệ để dễ dàng so khớp khi phát hiện mặt ngƣời.

Iwata [20] xây dựng mẫu mỗi đặc trƣng gồm bốn đặc trƣng theo bốn

hƣớng: ngang, bên phải phía trên, đứng, và bên trái phía trên của khuôn

mặt chụp thẳng hoặc gần thẳng trong ảnh xám. Để so khớp từng phần của

mẫu kết hợp xác suất các láng giềng.

Tỷ lệ chính xác của phƣơng pháp này là gần 99%. Keren [7] xây

dựng khái niệm Antifaces để phát hiện mặt ngƣời (tổng quát cho các đối

tƣợng 3-chiều). Dựa trên nhiều loại mẫu kết hợp giả thuyết phân bố xác

suất để tìm những đối tƣợng không có mối tƣơng quan để tìm khuôn mặt

47



ngƣời. Ông cho biết, phƣơng pháp này nhanh hơn eigenface và SVM và

mức độ chính xác gần tƣơng đƣơng.

Feris [27] dùng mạng wavelet thứ nhất để xác định ứng viên khuôn

mặt khi so khớp với các mẫu đã học trƣớc. Sau đó tác giả dùng mạng

wavelet thứ hai để xác định các thành phần nhƣ mắt, mũi, và miệng thông

qua các đặc trƣng góc cạnh. Từ các thành phần này xem xét tính hoà hợp

để có quyết định cuối cùng ứng viên nào là khuôn mặt ngƣời.

2.4.2 Các mẫu bị biến dạng

Yuille dùng các mẫu biến dạng để mô hình hoá các đặc trƣng của

khuôn mặt, mô hình này có khả năng linh hoạt cho các đặc trƣng

khuôn mặt.

Trong hƣớng tiếp cận này, các đặc trƣng khuôn mặt đƣợc mô tả bằng

các mẫu đƣợc tham số hoá. Một hàm năng lƣợng (giá trị) đƣợc định nghĩa

để liên kết các cạnh, đỉnh, và thung lũng trong ảnh để tƣơng ứng với các

tham số trong mẫu. Mô hình này tốt nhất khi tối thiểu hàm năng lƣợng qua

các tham số,

Mặc dù kết quả tốt với mẫu biến dạng trong theo vết đối tƣợng trên

đặc trƣng không mô hình theo lƣới, một hạn chế của hƣớng tiếp cận này là

các mẫu biến dạng phải đƣợc khởi tạo trong phạm vi gần các đối tƣợng để

xác định.

Một hƣớng tiếp cận dựa trên đƣờng gấp khúc (snake) và các mẫu để

phát hiện mặt. Đầu tiên một ảnh sẽ đƣợc làm xoắn lại bởi một lọc làm mờ

rồi dùng phép toán morphology để làm nổi bật cạnh lên. Dùng một đƣờng

gấp khúc có n điểm ảnh (giá trị n nhỏ) để tìm và ƣớc lƣợng các đoạn cong

nhỏ. Mỗi khuôn mặt đƣợc xấp xỉ bằng một ellipse và biến đổi Hough, rồi

tìm một ellipse nổi trội nhất. Một tập có bốn tham số mô tả một ellipse

đƣợc dùng nhƣ ứng viên để phát hiện mặt. Với mỗi ứng viên, một phƣơng

thức tƣơng tự nhƣ phƣơng thức mẫu biến dạng dùng để xác định các đặc

trƣng ở mức chi tiết. Nếu tìm thấy số lƣợng đáng kể các đặc trƣng khuôn

mặt và thỏa tỷ lệ cân đối thì xem nhƣ đã xác định đƣợc một khuôn mặt.

Lam và Yan cũng dùng đƣờng gấp khúc để xác định vị trí đầu với thuất

toán greedy để cực tiểu hóa hàm năng lƣợng [18].

Thay vì dùng đƣờng gấp khúc thì Huang và Su [8] dùng lý thuyết

dòng chảy để xác định đƣờng viền khuôn mặt dựa trên đặc tính hình học.

48



Hai ông dùng lý thuyết tập đồng mức (Level Set) để loang từ các khởi động

ban đầu để có đƣợc các khuôn mặt ngƣời.

Lanitis mô tả một phƣơng pháp biểu diễn khuôn mặt ngƣời với cả hai thông

tin: hình dáng và cƣờng độ. Bắt đầu với các tập ảnh đƣợc huấn luyện với

các đƣờng viền mẫu nhƣ là đƣờng bao mắt, mũi, cằm/má đƣợc gán nhãn.

Dùng một vector các điểm mẫu để mô tả hình dáng. Tác giả dùng một mô

hình phân bố điểm (Point Distribution Model – PDM) để mô tả vector hình

dáng qua toàn bộ các cá thể. Dùng tiếp cận nhƣ Kirby và Sirovich để mô tả

cƣờng độ bề ngoài của hình dáng đã đƣợc chuẩn hoá. Một PDM có hình

dáng nhƣ khuôn mặt dùng để phát hiện mặt bằng mô hình hình dáng tích

cực (Active Shape Model - ASM) để tìm kiếm và ƣớc lƣợng vị trí khuôn

mặt cũng nhƣ các tham số về hình dáng.

Các mảnh của khuôn mặt đƣợc làm biến dạng về hình dáng trung

bình rồi trích các tham số cƣờng độ. Các tham số hình dáng và cƣờng độ

đƣợc dùng để phân loại. Cootes và Taylor áp dụng cách tiếp cận này để

phát hiện mặt. Đầu tiên, hai ông định nghĩa một vùng hình chữ nhật chứa

các đặc trƣng quan tâm. Dùng phân tích nhân tố làm vừa các đặc trƣng

huấn luyện để có một hàm phân bố. Có đƣợc các đặc trƣng là ứng viên nếu

độ đo xác suất vƣợt qua một ngƣỡng khi dùng ASM. Sau khi huấn luyện

xong có thể phát hiện mặt ngƣời.

Hƣớng tiếp cận theo ASM đƣợc mở rộng bằng hai lọc Kalman để

ƣớc lƣợng các tham số về hình dáng và cƣờng độ dùng để theo vết khuôn

mặt ngƣời.



49



CHƢƠNG 3



CHƢƠNG TRÌNH THỬ NGHIỆM



3.1 Bài toán

Phát hiện mặt ngƣời trong ảnh có nhiều ứng dụng trong cuộc sống, tuy

nhiên, trong luận văn này, tôi chỉ xây dựng một chƣơng trình nhỏ để minh

hoạ cho các lý thuyết ở trên. Cụ thể đấy là một chƣơng trình phát hiện mặt

ngƣời trong ảnh đƣợc viết trên nền visual C++ của Microsoft, sử dụng thƣ

viện mã nguồn mở OpenCV.

Bài toán đặt ra từ một bức ảnh đầu vào, có thể có hoặc không có ngƣời

xuất hiện trong đó. Mục tiêu đề ra: Hãy phát hiện mặt ngƣời trong bức ảnh

đó (nếu có) qua các thành phần trên khuôn mặt nhƣ: Hai mắt, mũi, miệng.

Mô hình hệ thống nhƣ sau:

HỆ THỐNG PHÁT HIỆN

MẶT NGƢỜI TRONG ẢNH



Ảnh đầu vào



Phát hiện khuôn mặt theo

hƣớng tiếp cận thành phần

Dựa theo đặc trƣng Haar +

Adaboost



Hiển thị kết quả

(Có thể dùng kết quả,

phục vụ cho hệ thống

nhận dạng ảnh)



Hình 3.1: Mô tả hệ thống phát hiện mặt ngƣời trong ảnh

3.2 Hƣớng nghiên cứu

3.2.1 Phân loại thành phần khuôn mặt

 Thành phần trực quan

Là các thành phần có đƣợc dựa trên sự quan sát trực tiếp khuôn mặt,

là các bộ phận dựa trên ý hiểu thông thƣờng của con ngƣời, nhƣ mắt, mũi

miệng..

50



 Thành phần cục bộ

Là các vùng có đặc trƣng phân biệt trên khuôn mặt. Các thành phần

này không dựa trên sự quan sát trực tiếp của mắt ngƣời mà đƣợc lựa chọn

qua một bộ trích đặc trƣng, các thành phần này không cố định mà tùy thuộc

vào thuật toán rút đặc trƣng cụ thể.

3.2.2 Cấu trúc các bộ nhận dạng

Về cơ bản, có n thành phần, tƣơng ứng với n bộ nhận dạng thành phần

khác nhau. Việc tổ chức bộ nhận dạng thực ra là xây dựng bộ nhận dạng

thành phần và tổ chức bộ nhận dạng tổng hợp.

Vài cách tổ chức đơn giản:

 Qua bộ nhận dạng thành phần thứ nhất, lọc ra n1 kết quả gần nhất,

qua bộ nhận dạng thành phần thứ 2, lọc ra n2 kết quả gần nhất trong

n1 kết quả vừa tìm, làm nhƣ vậy cho đến hết.





Tính kết quả nhận dạng của cả n bộ, sau đó lấy kết quả có %

cao nhất.



3.3 Phân tích, thiết kế

Hƣớng tiếp cận phát hiện khuôn mặt dựa trên thành phần đƣợc xây

dựng dựa trên tri thức khuôn mặt, qua việc phân tích các thành phần khuôn

mặt kết hợp với việc so khớp các mẫu thành phần. Ví dụ: khuôn mặt

thƣờng có hai mắt đối xứng nhau qua trục thẳng đứng giữa khuôn mặt và

nằm ở nửa trên khuôn mặt, ngay dƣới đôi mắt là mũi, mũi nằm ở khoảng

giữa khuôn mặt, dƣới mũi là miệng, miệng nằm ở khoảng nửa dƣới khuôn

mặt và đối xứng qua trục thẳng đứng giữa khuôn mặt.

Để xác định một thành phần nằm trong một vùng chứa nó, ta sử dụng

kỹ thuật Haar + Adaboost.

Dựa vào việc phân tích vị trí các thành phần khuôn mặt một cách

tƣơng đối, ta sẽ xác định đƣợc vùng mà xác suất gần nhƣ chắc chắn sẽ chứa

từng thành phần khuôn mặt nhƣ vùng chứa mắt trái, vùng chứa mắt phải,

vùng chứa mũi,… Trên cơ sở đó ta xác định một vùng ảnh là ảnh khuôn

mặt nếu vùng ảnh đó có đầy đủ các thành phần khuôn mặt.

51



Thuật toán

Ta sử dụng mẫu học dựa trên kỹ thuật Haar + Adaboost cho 6 đối

tƣợng sau: mặt thẳng, đôi mắt, mắt trái, mắt phải, mũi, miệng.



Hình 3.2: Nhận dạng khuôn mặt dựa trên thành phần

Bƣớc 1: Phát hiện thô khuôn mặt trên ảnh bằng mẫu mặt thẳng. Sau

bƣớc này ta sẽ đƣợc một tập các vùng ảnh có khả năng là khuôn mặt.

Bƣớc 2: Phát hiện đôi mắt ở vùng từ 1/6 đến 1/2 ảnh khuôn mặt tính

từ trên xuống. Nếu tìm thấy chuyển qua bƣớc 3.

Bƣớc 3: Phát hiện mắt trái trong vùng từ 1/6 đến 1/2 chiều cao và từ

giữa đôi mắt sang trái. Nếu thấy chuyển bƣớc 4.

Bƣớc 4: Phát hiện mắt phải trong vùng từ 1/6 đến 1/2 chiều cao và từ

giữa đôi mắt sang phải. Nếu thấy chuyển bƣớc 5.

Bƣớc 5: Phát hiện mũi trong vùng từ 1/4 đến 3/4 chiều rộng và từ

giữa đôi mắt đến khoảng 1/8 cận dƣới. Nếu thấy chuyển bƣớc 6.

Bƣớc 6: Phát hiện miệng trong vùng từ 1/8 đến 7/8 chiều rộng và từ

giữa mũi đến khoảng 1/8 cận dƣới. Nếu thấy thì thông báo tìm thấy

khuôn mặt.

52



Xem Thêm
Tải bản đầy đủ (.pdf) (67 trang)

×