Đề tài “Nghiên cứu phương pháp nhận diện khuôn mặt và ứng dụng” ra đời với một đích nhằm nâng cao hiểu biết của bản thân và đánh giá lại quá trình học tập tại khoa Tin học, trường Đại họ
Trang 1BÁO CÁO KHÓA LUẬN TỐT NGHIỆP
Đề tài: NGHIÊN CỨU PHƯƠNG PHÁP NHẬN DIỆN KHUÔN MẶT
VÀ ỨNG DỤNG
Giảng viên hướng dẫn : TS Phạm Anh Phương Sinh viên thực hiện : Nguyễn Thị Duyên Lớp : 13CNTT
Trang 2Đề tài “Nghiên cứu phương pháp nhận diện khuôn mặt và ứng dụng” ra đời với một đích nhằm nâng cao hiểu biết của bản thân và đánh giá lại quá trình học tập tại khoa Tin học, trường Đại học Sư phạm cùng với sự giúp đỡ tạo điều kiện của các thầy cô trong khoa Trước tiên, em xin chân thành cảm ơn các thầy cô, đặc biệt cảm ơn Thầy, Tiến sĩ Phạm Anh Phương là người đã gợi ý và trực tiếp hướng dẫn
em hoàn thành luận văn này
Mặc dù đã cố gắng nhưng do trình độ và kinh nghiệm thực tế còn hạn chế nên trong quá trình thực hiện đồ án không tránh khỏi những thiếu sót Em rất mong nhận được những nhận xét, đóng góp từ Thầy Cô và các bạn để đồ án của em có thể hoàn thiện hơn
Em xin chân thành cảm ơn!
Nguyễn Thị Duyên
Trang 3LỜI CAM ĐOAN
Em xin cam đoan những nghiên cứu trong luận văn này là trung thực và không trùng lặp với các tài liệu khác Mọi sự sai lệch em xin chịu hoàn toàn trách nhiệm
Đà Nẵng, tháng 4 năm 2017 Sinh viên thực hiện
Nguyễn Thị Duyên
Trang 4NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN
………
………
………
………
………
………
………
………
………
………
………
Đà Nẵng, ngày tháng 4 năm 2017
Cán bộ hướng dẫn
Trang 5NHẬN XÉT CỦA HỘI ĐỒNG PHẢN BIỆN
………
………
………
………
………
………
………
………
………
………
………
………
Đà Nẵng, ngày tháng 4 năm 2017
Hội đồng phản biện
Trang 6DANH MỤC CÁC TỪ VIẾT TẮT
STT Ký hiệu viết tắt Tên của ký hiệu viết tắt
9 LCD Liquid crystal display
Trang 7DANH MỤC HÌNH VẼ
Hình 1: Biểu diễn điểm ảnh 19
Hình 2: Mô hình RGB 20
Hình 3: Biến đổi ảnh xám 21
Hình 4:Độ phân giải của 1 ảnh 22
Hình 5: So khớp mẫu khuôn mặt 27
Hình 6: Biểu diễn ảnh trong không gian 28
Hình 7: Biểu diễn ảnh trong không gian 3 chiều 28
Hình 8: Sơ đồ Usecase 37
Hình 9: Sơ đồ luồng 38
Hình 10: Vào hệ thống điểm danh 41
Hình 11: Thêm sinh viên 42
Hình 12: Kiểm tra số lần điểm danh 43
Hình 13: Thống kê 43
Trang 8DANH MỤC BẢNG
Bảng 1: Lớp 39
Bảng 2: Tài khoản 39
Bảng 3: Điểm danh 40
Bảng 4: SinhVien 40
MỤC LỤC DANH MỤC CÁC TỪ VIẾT TẮT 6
DANH MỤC HÌNH VẼ 7
DANH MỤC BẢNG 9
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục tiêu nghiên cứu 1
3 Đối tượng nghiên cứu 1
4 Giới hạn và phạm vi nghiên cứu 1
5 Phương pháp nghiên cứu 2
6 Bố cục đề tài 2
CHƯƠNG 1: TỔNG QUAN VỀ CÔNG NGHỆ JAVAWEB 3
1.1 JavaWeb 3
1.2 Mô hình MVC 3
1.3 Struts Framework 4
1.4 HTML 6
1.5 JQUERY 7
1.5.1 Giới thiệu 7
1.5.2 Cú pháp 8
1.6 AJAX 8
1.6.2 Cú pháp 9
Trang 91.8 Môi trường 10
1.8.1 Eclipse 10
.8.2 SQL Server 12
CHƯƠNG 2: ĐỀ TÀI QUẢN LÝ TRUNG TÂM GIA SƯ 14
Trang 102.1 Giới thiệu bài toán 14
2.2 Yêu cầu chức năng 14
2.2.1 Admin 14
2.2.2 Giáo viên 14
2.2.3 Học viên 14
2.2.4 Người dùng vãng lai: 15
2.2.5 Chức năng chi tiết 15
2.3 Phân tích thiết kế hệ thống 16
2.3.1 Sơ đồ Usecase (Usercase diagram) 16
2.3.2 Mô hình luồng 21
2.3.3 Thiết kế cơ sở dữ liệu 23
2.3.4 Sơ đồ lớp (Class Diagram) 27
2.3.5 Sơ đồ tuần tự (Sequence diagram) 32
CHƯƠNG 3: TRIỂN KHAI WEB QUẢN LÝ TRUNG TÂM GIA SƯ ……… 41
3.1 Môi trường triển khai 41
3.2 Kết quả triển khai 41
3.2.1 Trang chủ 41
3.2.2 Đăng nhập 42
3.2.3 Giới thiệu 42
3.2.4 Đăng ký học kèm 43
KẾT LUẬN 45
1 Các kết quả đạt được 45
2 Hạn chế 45
3 Hướng phát triển 45
TÀI LIỆU THAM KHẢO
Trang 11MỞ ĐẦU
1 Lý do chọn đề tài
Cùng với sự phát triển không ngừng của khoa học kĩ thuật, các ứng dụng mang tính công nghệ xuất hiện ngày càng nhiều và đang dần thay thế con người trong lao động và sản xuất
Theo đó, hệ thống nhận diện bằng máy móc đang được ứng dụng trong nhiều lĩnh vực của xã hội từ an ninh, quốc phòng đến kinh tế, chín trị Vì vậy, việc nghiên cứu để cho ra đời nhiều ứng dụng tạo điều kiện để máy móc có thể thay con người nhận biết bất cứ vật gì là điều vô cùng cần thiết, nó không những giúp rút ngắn thời gian, công sức lao động mà còn đưa con người tiến xa hơn trên con đường nghiên cứu
và ứng dụng khoa học công nghệ hiện đại
Chính vì vậy, đề tài phương pháp nhận diện khuôn mặt và ứng dụng được đưa vào nghiên cứu với mục đích giúp máy móc có thể nhận dạng được khuôn mawtjcon người, ứng dụng rộng rãi trong an ninh, bảo mật, kinh tế, giáo dục
2 Mục tiêu nghiên cứu
Nắm rõ được phương pháp nhận diện khuôn mặt với OpenCV
Nắm rõ được quy tắc làm việc của Open CV, Visual Studio và SQL Server
Xây dựng được ứng dụng nhận diện khuôn mặt người áp dụng để điểm danh số lượng trong một lớp, nhóm
3 Đối tượng nghiên cứu
EmguCV 3.0.0.2157
Visual Studio 2012
SQL Server 2014
Các giải thuật phát hiện khuôn mặt
Các giải thuật nhận diện khuôn mặt
4 Giới hạn và phạm vi nghiên cứu
Giới hạn mẫu phát hiện là khuôn mặt người
Trang 12 Giới hạn ứng dụng được dùng trong lớp học, nhóm, câu lạc bộ
Công cụ hỗ trợ: Visual Studio 2012
Lưu trữ dữ liệu: Sql Server 2014.
5 Phương pháp nghiên cứu
Tìm hiểu, khảo sát các ứng dụng có chức năng tương tự, nghiên cứu và ứng dụng vào đề tài
Tham khảo cách tổ chức, bố cục của giao diện hướng đến sự đơn giản, dễ sử dụng đối người sử dụng
Đề xuất các chức năng cho ứng dụng, cũng như nhận phải hồi ý kiến về chức năng từ giáo viên hướng dẫn từ đó đưa ra các giải pháp hợp lý phù hợp với xu thế phát triển của ứng dụng
Ngoài ra sử dụng các phương pháp nghiên cứu khác như nghiên cứu tài liệu, giáo trình hay các tài liệu tham khảo có liên quan đến hệ thống cần xây dựng
6 Bố cục đề tài
Ngoài phần mở đầu và kết luận, báo cáo được chia ra làm 3 chương có cấu trúc như sau:
Chương 1: Tổng quan về OpenCV
Phần này sẽ trình bày sơ lược các kiến thức cơ bản mà đề tài sử dụng để thiết kế ứng dụng nhận diện khuôn mặt: OpenCV, trong đề tài này, ta sẽ đề cập đến thư viện mà OpenCV cung cấp cho Net đó là EmguCV, các giải thuật liên quan , C#, WindowForm, SQL Server cũng như môi trường sử dụng là Visual Studio và SQL Server Managerment Studio 2014
Chương 2: Đề tài nhận diện khuôn mặt và ứng dụng
Phần này sẽ trình bày chi tiết quá trình phân tích thiết kế hệ thống từ bước tìm hiểu, phân tích yêu cầu người dùng, tạo tài liệu cho quá trình xây dựng như: Requirement outline, SRS, vẽ Usecase, thiết kế mô hình luồng (System Flow Page), sơ đồ lớp (Class Diagram), và tiến hành thiết kế cơ sở dữ liệu cho ứng dụng
Chương 3: Triển khai ứng dụng quản lý điểm danh trong một lớp
Cài đặt chương trình, giới thiệu ứng dụng và cách sử dụng
Trang 13CHƯƠNG 1: TỔNG QUAN VỀ OPENCV 1.1 Open CV
Computer vision (viết tắt - CV) tạm dịch là thị giác máy tính là ngành khoa học và công nghệ làm cho máy móc có khả năng "nhìn"
Là một môn khoa học, CV liên quan đến lí thuyết và công nghệ trong việc xây dựng các hệ thống trí tuệ nhân tạo nhận thông tin từ hình ảnh Hình ảnh có thể được truyền vào dưới nhiều dạng: video, các góc nhìn của nhiều camera, dữ liệu nhiều chiều từ máy chụp trong y tế
Là một ngành công nghệ, CV nghiên cứu và ứng dụng các lý thuyết, các mô hình trong thị giác máy tính để xây dựng các hệ thống computer vision
Nhận dạng mặt người được nghiên cứu từ nhưng năm 1980, là một lĩnh vực nghiên cứu của ngành thị giác máy tính (Computer Vision), và cũng được xem là một lĩnh vực nghiên cứu của ngành sinh trắc học (Biometrics) tương tự như nhận dạng vân tay – Fingerprint recognition, hay nhận dạng mống mắt – Iris recognition Nhận dạng mặt có nguồn dữ liệu phong phú hơn và
ít đòi hỏi sự tương tác có kiểm soát hơn Bài toán nhận dạng mặt người còn nhiều thách thức nên hàng năm trong & ngoài nước vẫn có nhiều nghiên cứu về các phương pháp nhận dạng mặt người
Chúng ta có khả năng nhận ra hàng ngàn khuôn mặt của những người mình đã gặp, đã giao tiếp trong cuộc sống chỉ bằng một cái nhìn thoáng qua, thậm chí sau nhiều năm không gặp cũng như những sự thay đổi trên khuôn mặt do tuổi tác, cảm xúc, trang phục, mầu tóc,…Do đó, việc nghiên cứu các đặc tính của khuôn mặt người đã thu hút rất nhiều nhà triết học, nhà khoa học qua nhiều thế kỷ, trong đó có cả Aristotle và Darwin Chính vì những lý do trên, từ những năm 1970, nhận dạng mặt người đã thu hút sự quan tâm của nhiều nhà nghiên cứu trong các lĩnh vực như bảo mật, tâm lý học, xử lý ảnh và thị giác máy tính
1.1.1 Open CV
Chức năng OpenCV được chứa trong một số module:
CXCORE chứa các định nghĩa kiểu dữ liệu cơ bản Ví dụ, cấu trúc dữ liệu điểm cho hình ảnh, hình chữ nhật và được quy định tại cxtypes.h
Trang 14 CV bao gồm xử lý hình ảnh và các phương pháp hiệu chỉnh máy ảnh Các chức năng tính toán hình học cũng nằm ở đây
CVAUX được mô tả trong tài liệu hướng dẫn của OpenCV có chứa mã thử nghiệm và thực nghiệm.Tuy nhiên, các giao diện đơn giản nhất để nhận dạng khuôn mặt trong mô-đun này
ML chứa machine-learning interfaces
Các chức năng còn lại được chứa trong HighGUI và CVCAM Cả hai đều nằm trong một thư mục có tên là "otherlibs Nó chứa các cửa sổ đa nền tảng, đa chức năng
CVCAM chứa các giao diện để truy cập video thông qua DirectX trên nền tảng Windows 32-bit Tuy nhiên, HighGUI cũng chứa các giao diện video
ContTrain = NumLabels = EmployeeID.Count();
for (int i = 1; i <= NumLabels; i++)
{
LoadFaces = String.Format("face" + i + ".bmp");
trainingImages.Add(newImage<Gray, byte>(Application.StartupPath +
Trang 15void FrameGrabber(object sender, EventArgs e)
gray = currentFrame.Convert<Gray, Byte>();
MCvAvgComp[][] facesDetected = gray.DetectHaarCascade(haar,1.2,
10, Emgu.CV.CvEnum.HAAR_DETECTION_TYPE.DO_CANNY_PRUNING, newSize(20, 20)); foreach
MCvTermCriteria termCrit = newMCvTermCriteria(ContTrain, 0.01);
EigenObjectRecognizer recognizer = new
Ảnh có thể được định nghĩa là một hàm 2 chiều f(x, y), trong đó x và y là các tọa độ trong không gian (spatial) hoặc mặt phẳng (plane), và độ lớn (amplitude) của hàm f được gọi là độ sáng (intensity) hay độ xám (gray level) của ảnh tại điểm đó
1.3 Các kiểu ảnh
a Ảnh chỉ số (Index Images): một ảnh chỉ số bao gồm một ma trận dữ liệu X
và ma trận bản đồ màu (map) Ma trận dữ liệu có thể có kiểu thuộc lớp uint8, uint16
Trang 16hoặc kiểu double Ma trận bản đồ màu là một mảng m x 3 kiểu double bao gồm các giá trị dấu phẩy động nằm giữa 0 và 1 Mỗi hàng của bản đồ chỉ ra các giá trị mà: red, green và blue của một màu đơn Một ảnh chỉ số sử dụng ánh xạ trực tiếp giữa giá trị của pixel ảnh tới giá trị trong bản đồ màu Màu sắc của mỗi pixel ảnh được tính toán bằng cách sử dụng giá trị tương ứng của X ánh xạ tới một giá trị chỉ số của bản đồ màu Giá trị 1 chỉ ra hàng đầu tiên, giá trị 2 chỉ ra hàng thứ hai trong bản đồ màu Một bản đồ màu thường được chứa cùng với ảnh chỉ số và được tự động nạp cùng với ảnh Tuy nhiên, ta không bị giới hạn khi sử dụng bản đồ màu mặc định, ta có thể sử dụng bất kì bản đồ màu nào Các pixel trong ảnh được đại diện bởi một số nguyên ánh xạ tới một giá trị tương ứng trong bản đồ màu
b Ảnh cường độ ( Intensity Images ): một ảnh cường độ là một ma trận dữ liệu ảnh I mà giá trị của nó đại diện cho cường độ trong một số vùng nào đó của ảnh
Ma trận có thể thuộc lớp double, uint8 hay uint16 Trong khi ảnh cường độ hiếm khi được lưu với bản đồ màu Những phần tử trong ma trận cường độ đại diện cho các cường độ khác nhau hoặc độ xám
c Ảnh nhị phân (Binary Images ) : trong một ảnh nhị phân, mỗi pixel chỉ có thể chứa một trong hai giá trị nhị phân 0 hoặc 1 tương ứng với bật hoặc tắt (on hoặc off ) Một ảnh nhị phân được lưu trữ như một mảng lôgíc của 0 và 1
d d Ảnh RGB ( RGB Images ) Một ảnh RGB được lưu trữ dưới dạng một mảng dữ liệu có kích thước 3 chiều m x n x 3, định nghĩa các giá trị màu red, green và blue cho mỗi pixel riêng biệt Ảnh RGB không sử dụng bảng màu Màu của mỗi pixel được quyết định bởi sự kết hợp giữa các giá trị R,G,B (Red, Green, Blue) được lưu trữ trong một mặt phẳng màu tại vị trí của pixel Định dạng file đồ hoạ lưu trữ ảnh RGB giống như một ảnh 24 bít trong đó R,G,B chiếm tương ứng 8 bít 1 Điều này cho phép nhận được 16,7 triệu màu khác nhau Một mảng RGB có thể thuộc lớp double, uint8 hoặc uint16 Trong một mảng RGB thuộc lớp double, mỗi thành phần màu có giá trị giữa 0 và 1 Một pixel mà thành phần màu của nó là (0,0,0) được hiển thị với màu đen và một pixel mà thành phần màu là (1,1,1) được hiển thị với màu trắng Trong một ảnh RGB khoảng trắng tương ứng với giá trị cao nhất của mỗi màu
Trang 17riêng rẽ Chẳng hạn trong ảnh mặt phẳng R, vùng trắng đại diện cho sự tập trung cao nhất của màu đỏ thuần khiết Nếu R được trộn với G hoặc B ta sẽ có màu xám Vùng màu đen trong ảnh chỉ ra giá trị của pixel mà không chứa màu đỏ R= 0 Tương tự cho các mặt phẳng màu G và B
và tỷ lệ quét 1 pixel không có kích thước cố định
Mỗi điểm ảnh là một mẫu của một hình ảnh ban đầu, nhiều điểm ảnh hơn thường cung cấp đại diện chính xác hơn của bản gốc Cường độ của mỗi điểm ảnh có thể thay đổi Hình ảnh trong hệ thống màu sắc, màu sắc thường là ba hoặc bốn đại diện trong cường độ thành phần như màu đỏ, xanh lá cây, và màu xanh, hoặc màu lục lam, đỏ tươi, màu vàng, và màu đen Hầu hết các chương trình ứng dụng đồ họa đều diễn tả độ phân giải của hình ảnh bằng pixel dimensions
- kích thước pixel, với số đo chiều ngang đi trước
1.5 Mức xám của ảnh
Mức xám của điểm ảnh là cường độ sáng của nó được gán bằng giá trị số tại điểm đó Trong biểu diễn số của các ảnh đa mức xám, một ảnh được biểu diễn dưới dạng một ma trận hai chiều Mỗi phần tử của ma trận biểu diễn cho mức xám hay cường độ của ảnh tại vị trí đó Mỗi phần tử trong ma trận được gọi là một phần tử ảnh hoặc điểm ảnh (pixel)
Một điểm ảnh có hai đặc trưng cơ bản là vị trí (x,y) của điểm ảnh và độ xám
a Các thang giá trị mức xám thông thường Thông thường có các thang mức xám như : 16, 32, 64, 128, 256 (với lý do kỹ thuật máy tính dùng 1 byte (8 bít) để biểu diễn mức xám thì có thể biểu diễn: 28 = 256 mức (0… 255) thì mức 256 là mức phổ dụng
b Mức xám ở ảnh đen trắng Ảnh đen trắng là ảnh chỉ có hai màu đen trắng,
Trang 18mức xám ở các điểm ảnh có thể khác nhau Nếu dùng 8 bit (1 byte) để biểu diễn mức xám, thì số các mức xám có thể biểu diễn được là 28 hay 256 Mỗi mức xám được biểu diễn dưới dạng là một số nguyên nằm trong khoảng từ 0 đến 255, với mức 0 biểu diễn cho mức cường độ đen nhất và 255 biểu diễn cho mức cường độ sáng nhất
c Mức xám ở ảnh nhị phân Ảnh chỉ có hai mức đen, trắng phân biệt, tức dùng
1 bít mô tả 21 mức khác nhau Nói cách khác mỗi điểm ảnh của ảnh nhị phân chỉ có thể là 0 hoặc 1 d Mức xám ở ảnh màu Ảnh màu được tạo nên từ ba màu cơ bản (Red, Blue, Green), người ta dùng 3 byte để mô tả mức mầu, khi đó giá trị màu: 28*3
= 224 = 16,7 triệu màu Với ảnh màu: Cách biểu diễn cũng tương tự như với ảnh đen trắng, chỉ khác là các số tại mỗi phần tử của ma trận biểu diễn cho ba màu riêng rẽ gồm: đỏ (red), lục (green) và lam (blue) Để biểu diễn cho một điểm ảnh màu cần 24 bit, 24 bit này được chia thành ba khoảng 8 bit Mỗi khoảng này biểu diễn cho cường
độ sáng của một trong các màu chính
1.6 Ma trận điểm ảnh
Ảnh số chỉ là một ma trận 2 chiều, và việc xử lý chúng chỉ là những thao tác trên ma trận này sao cho ra kết quả hợp lý Ví dụ một bức ảnh số có độ phân giải 640x480 nghĩa là chiều ngang có 640 điểm ảnh (pixel), chiều dọc có 480 điểm ảnh, và mỗi điểm ảnh được biểu diễn bằng một con số
Trang 19Hình 1: Biểu diễn điểm ảnh
Ảnh số đa mức xám được biểu diễn bằng ma trận 2 chiều f(x,y) trong đó các phần tử là giá trị điểm màu của ảnh
1,1) - f(M 0) 1, - f(M
1) - N f(1,
f(1,1) f(1,0)
1) - N f(0, .
f(0,1) )
0 , 0 ( f
)
,
( x y
f
Như vậy nếu ta có một ảnh kích thước 800x600 thì khi biểu diễn thành ma trận 2 chiều có
số hàng là 600, số cột là 800, mỗi phần tử của ma trận có giá trị từ 0-255
Đối với ảnh màu, mỗi phần tử của mảng 2 chiều là một bộ giá trị RGB Phần tử f(i,j) của
ma trận có dạng
f(i, j)=(B(i, j), G(i, j), R(i, j))
Giá trị điểm ảnh tại điểm (i, j) được tính:
f(i,j) = h (B(i, j), G(i, j), R(i, j))= B(i,j)*2562 + G(i, j)*256 + R(i, j)
Mô hình RGB:
Hệ này mô tả màu sắc thông qua 3 thành phần màu cơ bản là Red, Green và Blue Có thể
mô xem xét mô hình RGB trong không gian 3 chiều như hình 1.2.1
Mọi điểm nằm trong khối hộp chữ nhật có toạ độ (r,g,b) thể hiện một màu
Màu nằm trên đường chéo (0,0,0) - (1,1,1) (3 thành phần R, G, B bằng nhau) ->thể hiện mức xám
Trang 20Yellow=(1,1,0)
Hình 2: Mô hình RGB
1.7 Biến đổi ảnh xám
Thông thường các ảnh chúng ta gặp trong thực tế là các ảnh mầu gồm 3 thành phần
(R,G,B) như vậy trong quá trình nhận dạng mà ta dung cả 3 thành phần mầu này thì kích thước ảnh nhận dạng quá lớn như vậy một điều đặt ra là ta tìm một phép biến đổi sao cho có thể đưa ảnh về biểu diễn ở dạng toán học thuận tiện cho quá trình nhận dạng
Phép biến đổi xám đưa mỗi điểm ảnh mầu 3 thành phần về một thành phần theo công thức: Gray(i,j) = (byte)(114 * B(i,j) + 587 * G*(i,j) + 299 * R(i,j) / 1000;
Giá trị này được tính thong qua tỷ lệ đặc trưng của các mầu mà vẫn giữ được những đặc trưng cơ bản của ảnh
Ta nhận thấy kích thức của mẫu cần nhận dạng bằng 1/3 đôí với ảnh mầu Như vậy một ảnh mầu MxN sẽ được đưa về một ma trận(MxN) mức xám
Gray(i,j) với 0<=i<=M,0<=j<=N
Trang 21Hình 3: Biến đổi ảnh xám
Với Gray(i,j) được tính theo phương trình ở trên
Với biến đổi nhị phân thì Gray(i,j) = 0 nếu Gray(i,j)<= Threshold, Gray(i,j) = 1 nếu ngược lại với 0<=Threshold <=255
1.8 Phương pháp xác định khuôn mặt
Hiện nay có rất nhiều phương pháp nhận dạng khuôn mặt người, dựa vào các tính chất của các phương pháp, ta có thể chia ra làm bốn hướng tiếp cận chính như sau: Hướng tiếp cận dựa trên tri thức: mã hoá hiểu biết của con người về các loại khuôn mặt và tạo ra các tập luật để xác định khuôn mặt Hướng tiếp cận dựa trên đặt tả không thay đổi: mục tiêu các thuật toán tìm ra các đặt trưng mô tả cấu trúc khuôn mặt người (các đặt trưng không thay đổi với tư thế, vị trí đặt thiết bị thu hình, độ sáng tối thay đối…) Hướng tiếp cận dựa trên so khớp mẫu: dùng các mẫu chuẩn hay các đặt trưng của khuôn mặt người Hướng tiếp cận dựa trên diện mạo: phương pháp học từ một tập ảnh huấn luyện mẫu để xác định khuôn mặt người
1.9 Hướng tiếp cận dựa trên tri thức
Trong hướng tiếp cận này, các luật sẽ phụ thuộc rất lớn vào tri thức của những tác giả nghiên cứu về bài toán xác định khuôn mặt người Đây là hướng tiếp cận dạng top-down
Dễ dàng xây dựng các luật cơ bản để mô tả các đặc trưng của khuôn mặt và các quan hệ tương ứng Ví dụ, một 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à có một mũi, một miệng Các quan hệ của các đặc trưng có thể được mô tả như quan hệ về khoảng cách và vị trí Thông thường các tác giả sẽ trích đặc trưng của khuôn mặt trước tiên để có đượ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 và ứng viên nào không phải khuôn mặt Thường áp dụng quá trình xác định để giảm số lượng xác định sai
Một vấn đề khá phức tạp khi dùng hướng tiếp cận này là làm sao chuyển từ tri thức con người sang các luật một các hiệu quả Nếu các luật này quá chi tiết (chặt chẽ) thì khi xác định
có thể xác định thiếu các khuôn mặt có trong ảnh, vì những khuôn mặt này không thể thỏa mãn tất cả các luật đưa ra Nhưng các luật tổng quát quá thì có thể chúng ta sẽ xác định lầm
Trang 22một vùng nào đó không phải là khuôn mặt mà lại xác định là khuôn mặt Và cũng khó khăn
mở rộng yêu cầu từ bài toán để xác định các khuôn mặt có nhiều tư thế khác nhau
Có hai tác giả Yang và Huang đã dùng một phương thức theo hướng tiếp cận này để xác định các khuôn mặt Hệ thống của hai tác giả này bao gồm ba mức luật Ở mức cao nhất, dùng một khung cửa sổ quét trên ảnh và thông qua một tập luật để tìm các ứng viên có thể là khuôn mặt Ở mức kế tiếp, hai ông dùng một tập luật để mô tả tổng quát hình dáng khuôn mặt Còn ở mức cuối cùng lại dùng một tập luật khác để xem xét ở mức chi tiết các đặc trưng khuôn mặt Một hệ thống đa độ phân giải có thứ tự được dùng để xác định (hình 2.1)
Độ phân giải thấp nhất (mức mộ) của ảnh dùng để tìm ứng viên khuôn mặt mà còn tìm ở các mức phân giải tốt hơn Ở mức hai, xem xét biểu đồ histogram của các ứng viên để loại bớt ứng viên nào không phải là khuôn mặt, đồng thời dò ra cạnh bao xung quanh ứng viên Ở mức cuối cùng, những ứng viên nào còn lại sẽ được xem xét các đặc trưng của khuôn mặt về mắt và miệng Hai ông đã dùng một chiến lược “từ thô đến mịn” hay “làm rõ dần” để giảm số lượng tính toán trong xử lý Mặc dù tỷ lệ chính xác chưa cao, nhưng đây là tiền đề cho nhiều nghiên cứu sau này