Professional Documents
Culture Documents
Bao Cao AI
Bao Cao AI
-----Ω-----
ĐỀ TÀI:
MỤC LỤC
Lý do chọn đề tài....................................................................................................................................... 3
2. Những khó khăn của hệ thống nhận dạng khuôn mặt. ...................................................................... 7
2
Face Recognition GVHD Trần Khải Thiện
LỜI MỞ ĐẦU
Lý do chọn đề tài
Công nghệ nhận diện sinh trắc học càng ngày càng trở nên quen thuộc trong cuộc
sống. Ví dụ : dấn vân tay, khuôn mặt, mống mắt, đốt ngón tay ….. Các nhà khoa
học đã tìm ra những tính năng độc đáo. Bằng sự so sánh số học, nó giúp chúng ta
thuận tiện trong việc nhận diện các đặc điểm cá nhân, giúp tiết kiện thời gian và
Hệ thống nhận dạng khuôn mặt là một ứng dụng máy tính tự động xác định hoặc
nhận dạng một người nào đó từ một bức hình ảnh kỹ thuật số hoặc một khung hình
video từ một nguồn video. Một trong những cách để thực hiện điều này là so sánh
các đặc điểm khuôn mặt chọn trước từ hình ảnh và một cơ sở dữ liệu về khuôn
mặt. Hệ thống này thường được sử dụng trong các hệ thống an ninh và có thể được
so sánh với các dạng sinh trắc học khác như các hệ thống nhận dạng vân tay hay
tròng mắt.
3
Face Recognition GVHD Trần Khải Thiện
Nhận dạng khuôn mặt là một trong nhiều thành tự hay ho mà nghiên cứu AI đã
mang lại cho thế giới. Đây là một chủ đề gây tò mò cho nhiều tín đồ công nghệ -
những người muốn có một sự hiểu biết cơ bản về cách mọi thứ hoạt động. Chúng
ta hãy ngâm mình vào chủ đề, để xem mọi thứ hoạt động như thế nào.
- Xây dựng một phần mềm ứng dụng nhận dạng khuôn mặt.
- Tìm hiểu các phương pháp xác định khuôn mặt (Face Detection).
4
Face Recognition GVHD Trần Khải Thiện
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
5
Face Recognition GVHD Trần Khải Thiện
Nhận dạng mặt người (Face recognition) là một lĩnh vực nghiên cứu của ngành
Computer Vision, và cũng được xem là một lĩnh vực nghiên cứu của ngành
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). Xét về nguyên tắc chung, nhận dạng mặt có sự
tương đồng rất lớn với nhận dạng vân tay và nhận dạng mống mắt, tuy nhiên sự
khác biệt nằm ở bước trích chọn đặt trưng (feature extraction) của mỗi lĩnh vực.
Trong khi nhận dạng vân tay và mống mắt đã đạt tới độ chín, tức là có thể áp dụng
trên thực tế một cách rộng rãi thì nhận dạng mặt người vẫn còn nhiều thách thức và
vẫn là một lĩnh vực nghiên cứu thú vị với nhiều người. So với nhận dạng vân tay
và mống mắt, nhận dạng mặt có nguồn dữ liệu phong phú hơn (bạn có thể nhìn
thấy mặt người ở bất cứ tấm ảnh, video clip nào liên quan tới con người trên mạng)
và ít đòi hỏi sự tương tác có kiểm soát hơn (để thực hiện nhận dạng vân tay hay
mống mắt, dữ liệu input lấy từ con người đòi hỏi có sự hợp tác trong môi trường có
kiểm soát).
6
Face Recognition GVHD Trần Khải Thiện
Bài toán nhận dạng mặt người là bài toán đã được nghiên cứu từ những năm
70.Tuy nhiên, đây là một bài toán khó nên những nghiên cứu hiện tạivẫn chưa đạt
được những kết quả mong muốn. Chính vì thế, vấn đề này vẫn đang được nhiều
nhóm trên thế giới quan tâm nghiên cứu. Khó khăn của bài toán nhận dạng mặt
a.Tư thế chụp, góc chụp: Ảnh chụp khuôn mặt có thể thay đổi rất nhiều bởi
vì góc chụp giữa camera và khuôn mặt. Chẳng hạn như: chụp thẳng, chụp chéo bên
trái 45 độ hay chụp chéo bên phải 45 độ, chụp từ trên xuống, chụp từ dưới lên,
v.v... Với các tư thế khác nhau, các thành phần trên khuôn mặt như mắt, mũi,
miệng có thể bị khuất một phần hoặc thậm chí khuất hết.
b.Sự xuất hiện hoặc thiếu một số thành phần của khuôn mặt: Các đặc trưng
như: râu mép, râu hàm, mắt kính, v.v... có thể xuất hiện hoặc không. Vấn đề này
làm cho bài toán càng trở nên khó hơn rất nhiều.
c.Sự biểu cảm của khuôn mặt: Biểu cảm của khuôn mặt con người có thể
làm ảnh hưởng đáng kể lên cácthông số của khuôn mặt. Chẳnghạn, cùng một
khuôn mặt một người, nhưng có thể sẽ rất khác khi họcười hoặc sợ hãi, v.v...
d.Sự che khuất: Khuôn mặt có thể bị che khuất bởi các đối tượng khác hoặc
7
Face Recognition GVHD Trần Khải Thiện
e.Hướng của ảnh(pose variations): Các ảnh khuôn mặt có thể biến đổi rất
nhiều với các góc quay khác nhau của trục camera. Chẳng hạn chụp với trục máy
ảnh nghiênglàm cho khuôn mặt bị nghiêng so với trục của ảnh.
f.Điều kiện của ảnh: Ảnh được chụp trong các điều kiệnkhác nhau về: chiếu
sáng, về tính chất camera (máy kỹ thuật số, máy hồng ngoại, v.v...), ảnh có chất
lượng thấp ảnh hưởng rất nhiều đến chất lượng ảnh khuôn mặt.
Để giải quyết bài toán nhận dạng khuôn mặt sử dụng thư viện OpenCV, chúng ta
có thể sử dụng các ngôn ngữ lập trình như:.NET C#, VB, IronPython, Java, C++...
Trong đồ án này ngôn ngữ lập trình được sử dụng là Python và sử dụng thư viện
OpenCV,
Con người thu nhận thông tin qua các giác quan, trong đó thị giác đóng vai trò
quan trọng nhất. Những năm trở lại đâyvới sự phát triển của phần cứng máy tính,
xử lý ảnh và đồ họa đã phát triển một cách mạnh mẽ và có nhiều ứng dụng trong
cuộc sống. Xử lý ảnh và đồ họa đóng vai trò quan trọng trong tương tác người
máy.
8
Face Recognition GVHD Trần Khải Thiện
Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm cho ra
kết quả mong muốn. Kết quả đầu ra của một quá trình xử lý ảnh có thể là một ảnh
Ảnh có thể xem là tập hợp các điểm ảnh và mỗi điểm ảnhđược xem như là đặc
trưng cường độ sáng hay một dấu hiệu nào đótại một vị trí nào đó của đối tượng
trong không gian và nó có thể xem như một hàm n biến P(c1, c2, ..., cn). Do đó,
ảnh trong XLAcó thể xem như ảnh n chiều.Sơ đồ tổng quát của một hệ thống xử lý
ảnh.
9
Face Recognition GVHD Trần Khải Thiện
Python là một ngôn ngữ lập trình bậc cao cho các mục đích lập trình đa năng, do
Guido van Rossum tạo ra và lần đầu ra mắt vào năm 1991. Python được thiết kế
với ưu điểm mạnh là dễ đọc, dễ học và dễ nhớ. Python là ngôn ngữ có hình thức rất
sáng sủa, cấu trúc rõ ràng, thuận tiện cho người mới học lập trình. Cấu trúc của
Python còn cho phép người sử dụng viết mã lệnh với số lần gõ phím tối thiểu. Vào
tháng 7 năm 2018, Van Rossum đã từ chức Leader trong cộng đồng ngôn ngữ
Python sau 30 năm lãnh đạo. Python hoàn toàn tạo kiểu động và dùng cơ chế cấp
phát bộ nhớ tự động; do vậy nó tương tự như Perl, Ruby, Scheme, Smalltalk, và
Tcl. Python được phát triển trong một dự án mã mở, do tổ chức phi lợi nhuận
Python Software Foundation quản lý. Ban đầu, Python được phát triển để chạy trên
nền Unix. Nhưng rồi theo thời gian, Python dần mở rộng sang mọi hệ điều hành từ
MS-DOS đến Mac OS, OS/2, Windows, Linux và các hệ điều hành khác thuộc họ
Unix. Mặc dù sự phát triển của Python có sự đóng góp của rất nhiều cá nhân,
nhưng Guido van Rossum hiện nay vẫn là tác giả chủ yếu của Python. Ông giữ vai
trò chủ chốt trong việc quyết định hướng phát triển của Python.
10
Face Recognition GVHD Trần Khải Thiện
OpenCV là một thư viện mã nguồn mở hàng đầu cho thị giác máy tính (computer
vision), xử lý ảnh và máy học, và các tính năng tăng tốc GPU trong hoạt động thời
gian thực. OpenCV được phát hành theo giấy phép BSD, do đó nó hoàn toàn miễn
phí cho cả học thuật và thương mại. Nó có các interface C++, C, Python, Java và
hỗ trợ Windows, Linux, Mac OS, iOS và Android. OpenCV được thiết kế để tính
toán hiệu quả và với sự tập trung nhiều vào các ứng dụng thời gian thực. Được viết
bằng tối ưu hóa C/C++, thư viện có thể tận dụng lợi thế của xử lý đa lõi. Được sử
dụng trên khắp thế giới, OpenCV có cộng đồng hơn 47 nghìn người dùng và số
lượng download vượt quá 6 triệu lần. Phạm vi sử dụng từ nghệ thuật tương tác, cho
đến lĩnh vực khai thác mỏ, bản đồ trên web hoặc công nghệ robot.
OpenCV đang được sử dụng rộng rãi trong các ứng dụng bao gồm:
11
Face Recognition GVHD Trần Khải Thiện
stitching, videostab)
12
Face Recognition GVHD Trần Khải Thiện
Vào thư mục khuôn mặt và mã hóa tất cả những khuôn mặt:
13
Face Recognition GVHD Trần Khải Thiện
Tìm thấy tất cả các khuôn mặt trong một hình ảnh và nhãn cụ thể nếu họ biết họ là
ai:
14
Face Recognition GVHD Trần Khải Thiện
Kết quả:
15