Người nghiên cứu sẽtrích đặc trưng của khuôn mặt trước tiên để có các ứng viên, sau đó các ứng viên này sẽđược xác định thông qua các luật để biết ứng viên nào là khuôn mặt, ứng viên nào
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
- -BÀI THU HOẠCH
MÔN: CƠ SỞ TRI THỨC VÀ ỨNG DỤNG
Đề tài: Nhận diện khuôn mặt và mô hình mẫu màu da
trong nhận diện khuôn mặt.
Nhóm học viên thực hiện: NGUYỄN THỊ DIỆU ANH
Trang 2LỜI NÓI ĐẦU
Từ khi máy tính ra đời và con người làm việc với máy tính, một bài toán đặt ra làlàm thế nào để máy giao tiếp với con người tốt hơn? Liệu máy tính chỉ có thể tính toánhay là chúng còn có khả năng suy diễn tri thức, giải quyết các bài toán một cách linhđộng, có tư duy như con người? Con người nỗ lực để sự giao tiếp giữa người và máyngày càng trở nên hoàn thiện hơn, gần gũi hơn Chúng ta cũng biết não bộ con người là
bộ máy hoàn hảo để xử lý các thông tin mang lại từ thế giới quan tương tác vào conngười, dựa vào đặc điểm cấu trúc của các tế bào nơ-ron thần kinh và hệ thống ngôn ngữmáy tính, hàng trăm chủ đề được khai thác Và một trong những lĩnh vực mới mẻ đó lànhận diện
Bài toán nhận diện để giải quyết các vấn đề về bảo mật riêng tư, công nghệ, giải trí,
và nhiều ứng dụng khác Một số mảng về nhận diện như nhận diện dấu vân tay, nhận diệnchữ viết, nhận diện ký tự, nhận diện giọng nói,… và trong phạm vi bài thu hoạch này,nhóm chúng em xin được trình bày một vấn đề nhỏ trong nhận diện khuôn mặt
Nhận diện khuôn mặt bắt đầu được nghiên cứu, tìm hiểu vào những năm 1960, tuynhiên nhiều vấn đề của bài toán này đến nay vẫn chưa được giải quyết triệt để Nhữngnăm gần đây, do có nhiều tiến bộ trong kỹ thuật phân tích và xây dựng các mô hìnhkhuôn mặt mẫu nên lĩnh vực này đạt được một số thành quả nhất định Vấn đề này ngàycàng nhận được nhiều sự sự quan tâm bởi tính ứng dụng cao của nó trong an ninh, trong
kỹ thuật số và trong các ngành công nghiệp giải trí đa phương tiện
Chúng em trân trọng cảm ơn GS.TSKH Hoàng Văn Kiếm, người Thầy đã tận tụy
truyền tải các nội dung bộ môn CƠ SỞ TRI THỨC làm nền tảng cho chúng em tìm hiểu,nghiên cứu và phát triển đề tài Đồng thời, chúng em cũng trân trọng cảm ơn các Thầy Côphòng Sau Đại học – Trường Đại học Công nghệ thông tin – Đại học Quốc gia TP HCM
đã tạo điều kiện thuận lợi nhất cho chúng em học tập
Trân trọng!
Trang 3MỤC LỤC
LỜI NÓI ĐẦU 2
I TỔNG QUAN VỀ NHẬN DIỆN KHUÔN MẶT 4
1 Quy trình nhận dạng khuôn mặt 5
2 Kỹ thuật phân tích không gian con trong nhận diện khuôn mặt 9
3 Phân tích thành phần chính (Principal Component Analysis – PCA ) 10
4 Những ứng dụng trong nhận diện khuôn mặt 13
II MÔ HÌNH HOÁ MÀU DA 15
1 Đặc trưng màu da và không gian màu 15
2 Mô hình màu da 19
a Các ảnh riêng lẻ 19
b Dãy ảnh tuần tự 21
3 Mô hình quỹ tích màu da (Skin locus model) 21
a Tạo ra quỹ tích da 21
b Tiếp cận dựa trên quang phổ 22
c Tiếp cận dựa trên hình ảnh 23
4 Áp dụng quỹ tích da 24
III DEMO CHƯƠNG TRÌNH NHẬN DIỆN KHUÔN MẶT NGƯỜI 1 Thuật toán áp dụng 25
2 Demo chương trình 26
IV KẾT LUẬN 30
TÀI LIỆU THAM KHẢO 31
Trang 4I TỔNG QUAN VỀ NHẬN DIỆN KHUÔN MẶT
Từ khi mới sinh ra, con người đã có đầy đủ các giác quan và có thể tự mình cảmnhận được những sự vật hiện tượng xung quanh Một đứa trẻ sơ sinh có thể biết đượcchính xác ai là bố mẹ nó, ai là người thân của nó, quá trình này diễn ra tự nhiên, là bảnnăng Khi chúng ta lớn lên thì việc nhận diện hình ảnh cũng trở nên đa dạng, phong phú
Có những người dù chỉ gặp một lần nhưng bạn lại không bao giờ quên khuôn mặt của họ,bởi não bộ đã ghi nhận thông tin và xử lý chính xác mỗi khi bạn nhớ lại, trả về đúng hìnhảnh mà bạn đã thấy từ trước đó rất lâu Và mặc dù bạn tiếp xúc với bao nhiêu người đinữa, thì khó mà có sự nhầm lẫn giữa khuôn mặt người này và người kia
Nhưng đối với máy tính, việc nhận ra đúng khuôn mặt của một đối tượng mà nó tiếpxúc là một thách thức lớn, bởi số lượng người trên thế giới quá nhiều và mỗi người sởhữu một khuôn mặt khác nhau Không những thế, theo thời gian khuôn mặt của người đó
sẽ thay đổi, đồng thời những tác động bên ngoài như độ sáng, góc nhìn, trạng thái trênkhuôn mặt, ….làm cho việc nhận diện của máy tính trở nên phức tạp với nhiều thông sốđầu vào
Chúng ta sẽ tìm hiểu về tổng quan lý thuyết nhận dạng khuôn mặt, lĩnh vực này đòihỏi xây dựng những thuật toán chính xác và những kỹ thuật phân tích chi tiết, hiệu quả đểđảm bảo độ tin cậy cao, nhất là ứng dụng nhận diện vào trong lĩnh vực an ninh
Trang 51 Quy trình nhận diện khuôn mặt
Một hệ thống nhận diện khuôn mặt về cơ bản trải qua bốn giai đoạn:
Sơ đồ: Quy trình nhận diện khuôn mặt
Giai đoạn “Xác định khuôn mặt” chiếm vai trò quan trọng trong quy trình nhận diệnkhuôn mặt Bài toán xác định khuôn mặt được định nghĩa như sau:
- Xác định khuôn mặt người là kỹ thuật máy tính để xác định các vị trí và các kích
thước của các khuôn mặt người trong các ảnh bất kỳ (ảnh kỹ thuật số) Kỹ thuật này nhậnbiết các đặc trưng của khuôn mặt và bỏ qua những hình ảnh khác như toà nhà, cây cối, cơthể, …
Xác định khuôn mặt
Liên kết khuôn mặt
Khai thác các đặc trưng khuôn mặt
Tìm mẫu phù hợp
Cơ sở dữ liệu
Trang 6Dựa vào đặc điểm tính chất của bài toán, các nhà nghiên cứu đã đưa ra bốn hướngtiếp cận chính để giải quyết bài toán xác định khuôn mặt người:
- Hướng tiếp cận dựa trên tri thức: Xây dựng tập luật dựa trên tri thức con người
về các khuôn mặt người Đây là hướng tiếp cận dạng top – down Người nghiên cứu sẽtrích đặc trưng của khuôn mặt trước tiên để có các ứng viên, sau đó các ứng viên này sẽđược xác định thông qua các luật để biết ứng viên nào là khuôn mặt, ứng viên nào khôngphải là khuôn mặt.[3]
Các đặc trưng cơ bản của khuôn mặt sử dụng trong tập luật như: Khuôn mặt là mộthình gồm có hai mắt, hai chân mày đối xứng qua một trục thẳng đứng, có mũi, miệng …Những mô tả này sẽ là cơ sở để xây dựng các luật một cách hiệu quả Tuy nhiên, việc xâydựng tập luật này thật sự không đơn giản, nếu mô tả quá chi tiết sẽ dẫn đến việc có thể bỏqua mất một số đối tượng là khuôn mặt nhưng không được nhận dạng, bởi khi hình ảnhghi nhận khuôn mặt còn tuỳ thuộc nhiều vào góc chụp hình, khuyết tật, dị tật trên khuônmặt, ….Còn ngược lại nếu mô tả quá thô sơ thì một số đối tượng có thể được nhận dạng
(VD: biển báo giao thông, logo, ….)
- Hướng tiếp cận dựa trên đặc trưng không thay đổi: Hướng tiếp cận này dựa trên
nguyên tắc cơ bản là cho dù khuôn mặt bị thay đổi trong các tư thế khác nhau, điều kiệnánh sáng khác nhau, …vv… nhưng vẫn luôn tồn tại những đặc trưng riêng không bị thayđổi Dựa trên các đặc trưng này người nghiên cứu sẽ lập trình cho hệ thống nhận diệnkhuôn mặt
Thuật toán thường áp dụng trong hướng tiếp cận này là: Cân bằng sáng, khử nhiễu,các bộ lọc hoặc sử dụng mô hình xác suất Các đặc trưng như: lông mày, mắt, mũi,miệng, đường viền của tóc thường được thực hiện bằng phương pháp xác định cạnh,phương pháp này không hiệu quả khi có bóng của khuôn mặt do có thể cạnh của bónghiển thị rõ hơn cạnh của khuôn mặt Thông thường, các phương pháp xác định khuôn mặtđược thực hiện sau khi biến đổi ảnh sang ảnh xám hoặc ảnh nhị phân và xử lý nhận diệntrên các điểm ảnh dạng bit-map
Trang 7- Hướng tiếp cận dựa trên so khớp mẫu: Các mẫu chuẩn sẽ được xây dựng trước
hoặc xác định các tham số thông qua hàm Từ một ảnh đầu vào, các giá trị tương quan vớiảnh mẫu chuẩn sẽ được so sánh theo đường viền của mắt, mũi, miệng, … Thông qua cácgiá trị này mà một ảnh được xác định là có khuôn mặt hay không Ưu điểm của phươngpháp này là dễ cài đặt, tuy nhiên hiệu quả lại không cao
Thông thường, có hai tập mẫu cần xây dựng Đó là tập mẫu chuẩn cho trước và tậpmẫu biến dạng Các phương pháp phổ biến để xây dựng tập mẫu chuẩn là sử dụng đường
viền (Craw), chia ảnh mẫu thành nhiều khối con (Tsukamoto), phân tích hình chiếu (phân tích thành phần chính - PCA), phổ màu da (Dowdall), ….
Đối với mẫu biến dạng thì có phương pháp sử dụng đường gấp khúc (Lam và Yan),
phương pháp 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 (Huang và Su), còn Lanitis đã 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ằng các vector các điểm mẫu
- Hướng tiếp cận dựa trên diện mạo: Áp dụng các phương pháp xác suất thống kê
và máy học để tìm các đặc tính liên quan của khuôn mặt và không phải khuôn mặt
Theo phương pháp xác suất thống kê, một ảnh hay một vector đặc trưng xuất phát từ
một ảnh được xem là biến ngẫu nhiên x (khuôn mặt hoặc không phải khuôn mặt) Khi đó
ta thiết lập các hàm mật độ:
P(x| x là khuôn mặt) hoặc P(x|x không là khuôn mặt)
Có thể dùng phân loại Bayers hoặc khả năng cực đại để phân loại đối tượng, tuynhiên đối với Bayers thì khó có thể cài đặt trực tiếp bởi số chiều của x khá cao, các hàmmật độ là đa phương thức Vì vậy, người ta thường áp dụng các kỹ thuật làm giảm chiềucủa x trước khi sử dụng Bayers
Trang 8Hướng tiếp cận dựa trên diện mạo là tìm một hàm biệt số để phân tách thành hai lớp
dữ liệu: khuôn mặt và không phải khuôn mặt Đầu vào là các mẫu ảnh được chiếu vào
không gian có chiều thấp hơn, rồi sau đó dùng hàm biệt số để phân loại (dựa vào các độ
đo khoảng cách), hoặc xây dựng mặt quyết định phi tuyến mạng neural đa tầng, hoặc
dùng SVM – support vector machine và các phương thức kernel chiếu hoàn toàn các mẫuvào không gian có chiều cao hơn để rời rạc hoá dữ liệu Sau đó dùng mặt phẳng quyếtđịnh phân loại mẫu khuôn mặt và không phải khuôn mặt
Sau khi có các đối tượng được xác định với kết quả là khuôn mặt, có thể cần phảitheo dõi các thành phần của đối tượng để cụ thể hoá, chuẩn hoá xem đó có phải thật sự làkhuôn mặt hay không? Quá trình này liên kết từ đối tượng so sánh với các tập mẫu, cácđặc trưng được xây dựng sẵn, hoặc phân tích theo khối hình học Các thành phần củakhuôn mặt như mắt, mũi, miệng, chân mày, và phác thảo khuôn mặt được đặt dựa trênđặc điểm vị trí, khoảng cách và chuẩn hoá bằng cách biến đổi hình học hoặc so mẫu biếndạng Sau cùng, kỹ thuật bình thường hoá khuôn mặt dựa trên sự chiếu sáng và gam màuxám
Khi thu được mẫu chuẩn hoá của khuôn mặt, ta tiếp tục khai thác các đặc trưng, cáctính năng để thu được các thông tin hữu ích phân biệt các khuôn mặt người khác nhau vàxét tính ổn định với các biến thể hình học Để tìm sự phù hợp với khuôn mặt, ta sử dụngđầu vào các vector đặc trưng của khuôn mặt và số lần xuất hiện mẫu khuôn mặt trong cơ
sơ dữ liệu để so sánh Kết quả đầu ra là sự trùng hợp tương đối giữa khuôn mặt mẫu vàđối tượng phân tích, hoặc nếu không tìm thấy sự tương ứng với các đặc trưng mẫu thì kếtluận đối tượng đang xem xét không phải là khuôn mặt
Kết quả của sự nhận diện khuôn mặt phụ thuộc rất nhiều vào các đặc trưng đượcphân tích trong tập mẫu và phương pháp phân loại sử dụng để nhận biết khuôn mặt trongquá trình cụ thể hoá và chuẩn hoá Bởi vậy việc lựa chọn đặc trưng và phương pháp nhậndiện chiếm vai trò quan trọng, thể hiện hiệu quả của cả quá trình
2 Kỹ thuật phân tích không gian con trong nhận diện khuôn mặt
Trang 9Trên thực tế, các hình ảnh và video đầu vào chứa nhiều đối tượng, chẳng hạn một tấmhình bao giờ cũng chứa các hình ảnh như nhà cửa, cây cối,…còn khuôn mặt chỉ chiếmmột không gian nhỏ Vì vậy, hình ảnh ban đầu đưa vào là dư thừa, số chiều của ảnh này
có thể giảm xuống, ta chỉ xét đến những không gian mà ở đó có đối tượng được nghi vấn
là có phải mô hình khuôn mặt hay không?
Hình 1: Ảnh đầu vào với số điểm ảnh lớn, trong đó không gian con chứa đối tượng là
khuôn mặt chiếm phần nhỏ
Hình 2: Mô tả tỉ lệ không gian khuôn mặt trong hình ảnh đầu vào
Để tách không gian con cho nhận diện khuôn mặt, phương pháp tiếp cận là phân tíchcác thành phần chính (PCA) Các tính năng trong không gian con như cung cấp thông tinnổi bật, gần với mẫu nhận diện, đầu vào các vector tính năng làm cho mô hình hoá khônggian con tăng hiệu quả đáng kể trong việc nhận diện khuôn mặt Nếu để nguyên bản ảnh
Trang 10đầu vào ta nhận thấy sự phi tuyến và không nổi bật lên các đặc trưng của mẫu mô hìnhkhuôn mặt.
Vậy, bài toán nhận diện khuôn mặt trước hết là giải quyết việc xác định thành phần
là khuôn mặt và không phải là khuôn mặt trong hình ảnh đầu vào
3 Phân tích thành phần chính (Principal Component Analysis – PCA )[2]
PCA là một phương pháp phân tích dữ liệu nhiều biến đầu vào đơn giản nhất vàđược ứng dụng chủ yếu vào bài toán nhận diện khuôn mặt Như ta đã biết, số chiều tronghình ảnh đầu vào tương đối lớn, khó hình dung trong không gian 2 chiều hoặc 3 chiều,bởi vậy chúng ta cần tìm cách đưa dữ liệu về không gian có số chiều nhỏ hơn PCA như
là một công cụ hữu ích giúp biến đổi với các ưu điểm sau:
- Giảm số chiều của dữ liệu
- PCA xây dựng một không gian mới với số chiều ít hơn, nhưng lại biểu diễn dữ
liệu tương đương với không gian cũ, không làm mất đi tính biến thiên của dữ liệutrên chiều mới
- Các trục toạ độ trong không gian mới là tổ hợp tuyến tính của không gian cũ, do
đó PCA xây dựng các đặc trưng mới dựa trên các đặc trưng đã quan sát được, vànhững đặc trưng này vẫn biểu diễn tốt dữ liệu ban đầu
- Trong không gian mới, những liên kết tiềm ẩn được phát hiện mà ở không gian cũ
nó bị che khuất hoặc khó phân tích
Như vậy, PCA tuy làm giảm số chiều không gian của dữ liệu đầu vào nhưng nó chođảm bảo tính toàn vẹn của dữ liệu, đồng thời cho phép phân tích những đặc trưng khó tìmthấy ở không gian cũ
Ví dụ sau đây minh hoạ sự thay đổi hệ quy chiếu làm thay đổi hình ảnh trong khônggian:
Trang 11Hình 3: Ví dụ minh hoạ PCA
Ở hình 3 ta thấy nếu hình ảnh theo chiều thẳng phía trước thì bóng đen không thểnhận biết được là gì, nhưng nếu xoay chiều nhìn ngang thì dễ dàng đoán nhận đó là hìnhảnh của con lạc đà Như vậy chứng tỏ hình chiếu từ phía ngang cho ta nhiều thông tin hơnhình chiếu thẳng
Ta có thể xem xét ví dụ cụ thể sau để hiểu hơn cơ chế hoạt động của phương phápPCA:
Hình 4: Ví dụ minh hoạ biểu diễn dữ liệu theo PCA
Trang 12Trong đó tập điểm màu xanh là tập dữ liệu ban đầu được biểu diễn trong không gian
3 chiều, tuy nhiên không gian này không biểu diễn một cách rõ ràng sự biến thiên của dữliệu Vì vậy người ta dùng phương pháp PCA, chuyển từ không gian 3 chiều sang khônggian 2 chiều với hệ trục toạ độ mới như hình bên phải Điểm khác biệt cơ bản khi chuyển
sang hệ toạ độ mới là các trục đôi một trực giao (vuông góc) trên cùng một mặt phẳng,
bởi vậy khi xét một điểm biểu diễn dữ liệu trên hệ toạ độ ta luôn tìm được sự tương quanchính xác của mỗi đối tượng, từ đó nhận thấy rõ sự biến thiên của dữ liệu đầu vào
Thuật toán của phương pháp PCA như sau: Cho ma trận X = {xij} ∈ Rnxp
(đối với nhận điện hình ảnh thì x ij là các điểm ảnh)
Các bước thực hiện PCA:
1 Tiền xử lý:
Miền giá trị của đặc trưng thuộc tập dữ liệu ban đầu và trong không gian mới cóthể khác nhau Ví dụ từ [0, 100] → [-30, 150] Như vậy cần phải có bước tiền xử lý đểchuẩn hoá dữ liệu trên ma trận X Thông thường có 2 cách tiền xử lý:
Centered PCA: Chuyển tất cả đặc trưng của X (cột của X) về cùng 1 gốc toạ độ:
Trong đó n là số dòng của X, g j là mean của cột thứ j của X, được tính như trên
Normed PCA: Chuyển tất cả đặc trưng của X (cột của X) về cùng một gốc toạ độ, đồng
thời chuẩn hoá về cùng một quãng độ lệch chuẩn(standard – deviation)
Phương pháp Normed thường được dùng Sau bước tiền xử lý, ma trận X^ là đầu vàocho bước tiếp theo
Trang 132 Xây dựng không gian mới
Tính ma trận hiệp phương sai của các đặc trưng trong X^
Và p vector riêng tương ứng là: u1, u2 ,… , up.
Khi đó các trục của không gian mới chính là các vector ui ởtrên và các vector trực
giao đôi một với nhau (độc lập tuyến tính)
3 Chuyển dữ liệu từ không gian ban đầu vào không gian mới
Thông thường không gian mới không được xây dựng từ tất cả vector riêng mà chỉchọn k vector đầu tiên (k<p) Cách chọn k thỏa mãn:
Như vậy ta gọi: U = [u1| u2|…|uk] € Rpxk
Khi đó toạ độ các điểm trong hệ toạ độ mới là: F = X^ U
Lần lượt biểu diễn các điểm lên hệ toạ độ ta có không gian mới được xây dựng bằngphương pháp PCA
4 Những ứng dụng trong nhận diện khuôn mặt
Hiện nay, nhận diện khuôn mặt chiếm được nhiều sự quan tâm và ứng dụng rộng rãitrong nhiều lĩnh vực, chúng tôi trình bày một số ứng dụng cụ thể như sau:
An ninh: nhận diện khuôn mặt của tội phạm, hoặc theo dõi con người thông quacác hệ thống giám sát, các hệ thống an ninh như sân bay, cơ quan xuất nhập cảnh
Tương tác người và máy: trao đổi ngôn ngữ giữa người và máy thông qua nhữngbiểu thị của khuôn mặt, đặc biệt là việc hỗ trợ cho những người khuyết tật, hoặc nhữngngười gặp hạn chế trong việc giao tiếp ngôn ngữ
Trang 14Điều khiển vào ra: Cổng giao dịch và quản lý của công ty, văn phòng có thể ứngdụng để quản lý nhân viên ra vào những khu vực được cho phép, hoặc quản lý thời gianlàm việc.
Tích hợp dữ liệu vào thẻ: như thẻ ATM, thẻ căn cước, chứng minh thư, …
Tìm kiếm hình ảnh, video: với những từ khoá tương ứng, quá trình tìm kiếm chonhững kết quả tương ứng với khuôn mặt được nhận diện
Multimedia: Ứng dụng trong việc phát triển các tính năng của điện thoại di động
(video call, nhận diện người dùng…), hay máy chụp hình nhận diện khuôn mặt, căn chỉnh theo trạng thái của khuôn mặt (cười, khóc, …)
Hính 5: Nhận diện khuôn mặt trong ảnh
Trang 15II MÔ HÌNH HOÁ MÀU DA
1 Đặc trưng màu da và không gian màu
Màu sắc là một đặc trưng cấp thấp nhưng lại có khả năng phân biệt tốt và dễ tínhtoán, ít bị ảnh hưởng bởi những tính chất hình học Trong cùng một điều kiện ánh sángđồng nhất thì màu da không thay đổi dù ta xoay chiều khuôn mặt, phóng to hay thu nhỏhình ảnh Cơ sở để nhận diện khuôn mặt là màu da có những đặc trưng khác biệt vớinhững màu sắc khác
Khi sử dụng các hệ thống nhận diện hình ảnh, vấn đề thường gặp là máy tính khónhận biết sự thay đổi màu sắc khi điều kiện ánh sáng thay đổi Ví dụ sau đây minh hoạcho sự thay đổi màu sắc khi độ chiếu sáng và cân bằng trắng thay đổi:
Hình 65: Ảnh hưởng của sự thay đổi ánh sáng