HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG CƠ SỞ TẠI THÀNH PHỐ HỒ CHÍ MINH ĐỀ TÀI “NHẬN DIỆN KHUÔN MẶT ” Giảng viên PGS TS Lê Hoàng Thái BÁO CÁO MÔN HỌC XỬ LÝ ẢNH Contents I GIỚI THIỆU VỀ NHẬN DIỆN KHUÔN[.]
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CƠ SỞ TẠI THÀNH PHỐ HỒ CHÍ MINH
ĐỀ TÀI: “NHẬN DIỆN KHUÔN MẶT ”
Giảng viên: PGS.TS Lê Hoàng Thái BÁO CÁO MÔN HỌC
XỬ LÝ ẢNH
Trang 2Contents
I GIỚI THIỆU VỀ NHẬN DIỆN KHUÔN MẶT 3
1 GIỚI THIỆU 3
2 CÁC ỨNG DỤNG CỦA CÔNG NGHỆ NHẬN DIỆN KHUÔN MẶT 3
II.BÀI TOÁN NHẬN DẠNG KHUÔN MẶT 6
1.NHẬN DẠNG KHUÔN MẶT 8
III CHỨNG MINH TÍNH HIỆU QUẢ CỦA THUẬT TOÁN 12
2 KẾT QUẢ 14
Trang 3I GIỚI THIỆU VỀ NHẬN DIỆN KHUÔN MẶT
1 GIỚI THIỆU
- 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 (theo wikipedia)
2 CÁC ỨNG DỤNG CỦA CÔNG NGHỆ NHẬN DIỆN
KHUÔN MẶT
2.1 Ngăn chặn tội phạm tại cửa hàng bán lẻ
- Camera nhận dạng khuôn mặt hiện đang được sử dụng để xác định ngay lập tức thông tin tội phạm đến những người bán hàng hoặc những người có tiền
sử gian lận vào cửa hàng bán lẻ, để họ kịp thời phòng tránh Hình ảnh cá nhân của tội phạm kết hợp với các dữ liệu có được sẽ lập tức thông báo đến các chủ cửa hàng bán lẻ khi có tội phạm đột nhập ra vào khu mua sắm Hệ thống nhận dạng khuôn mặt đã giảm hoàn toàn tội phạm bán lẻ
2.2 Mở khóa điện thoại
- Một loạt các điện thoại trong đó có iPhone hiện đang sử dụng tính năng nhận dạng khuôn mặt để mở khóa điện thoại Công nghệ này là một cách để bảo
vệ dữ liệu cá nhân của bạn một cách an toàn nhất và đảm bảo rằng, nếu điện thoại
bị đánh cắp, tội phạm vẫn không thể tiếp cận được các dữ liệu nhạy cảm trên điện thoại bạn
2.3 Quảng cáo thông minh
- Nhận dạng khuôn mặt có khả năng làm cho quảng cáo nhắm được đúng mục tiêu hơn bằng cách đưa ra các phỏng đoán về giáo dục về tuổi và giới tính của mọi người Các công ty như Tesco đã có kế hoạch lắp đặt màn hình tại các trạm xăng với nhận diện khuôn mặt được tích hợp sẵn Tất cả chỉ còn là vấn đề thời gian trước khi nhận dạng khuôn mặt trở thành một công nghệ quảng cáo hiện đại
2.4 Tìm người mất tích
Trang 4- Nhận dạng khuôn mặt có thể được sử dụng để tìm trẻ em bị mất tích và nạn nhân trong tệ nạn buôn người Miễn là các cá nhân mất tích được thêm vào
cơ sở dữ liệu,cơ quan thực thi pháp luật có thể được cảnh báo ngay sau khi chúng được nhận diện bởi nhận diện khuôn mặt ở sân bay, cửa hàng bán lẻ hoặc không gian công cộng khác Trong thực tế, khi sử dụng nhận diện khuôn mặt này, 3000 trẻ em mất tích đã được phát hiện chỉ trong bốn ngày ở Ấn Độ
2.5 Hỗ trợ người mù
- Listerine đã phát triển một ứng dụng nhận diện khuôn mặt đột phá giúp người mù sử dụng nhận dạng khuôn mặt Các ứng dụng nhận ra khi mọi người đang mỉm cười và cảnh báo với người mù bằng chế độ rung Điều này có thể giúp
họ hiểu rõ hơn về các tình huống xã hội
2.6 Bảo vệ thực thi pháp luật
- Các ứng dụng nhận dạng khuôn mặt di động, giống như ứng dụng được cung cấp bởi FaceFirst, đã giúp nhân viên cảnh sát bằng cách giúp họ nhận dạng ngay lập tức các cá nhân trong lĩnh vực này từ khoảng cách an toàn Điều này có thể cung cấp cho họ dữ liệu theo ngữ cảnh và cho họ biết họ đang đối phó với ai
và liệu họ có cần tiến hành thận trọng hơn hay không Ví dụ, nếu một nhân viên cảnh sát đang theo dõi một tội phạm giết người tại một điểm dừng giao thông như thường lệ, nhân viên đó sẽ ngay lập tức biết rằng nghi can có thể có vũ khí và nguy hiểm hay không, từ đó có thể quyết định nên gọi thêm lực lượng hỗ trợ không
2.7 Hỗ trợ điều tra pháp y
- Nhận diện khuôn mặt có thể hỗ trợ điều tra pháp y bằng cách tự động nhận dạng cá nhân trong các cảnh quay bảo mật hoặc các video khác Phần mềm nhận dạng khuôn mặt cũng có thể được sử dụng để xác định các cá nhân đã chết hoặc bất tỉnh tại hiện trường vụ án
2.8 Nhận diện mọi người trên mạng xã hội
- Facebook sử dụng công nghệ tự động nhận dạng khuôn mặt để nhận ra khi các thành viên Facebook xuất hiện trong 1 bức ảnh Điều này giúp mọi người
dễ dàng tìm thấy họ trong ảnh và có thể đề xuất được gắn thẻ trong ảnh có mặt mình
2.9 Chuẩn đoán bệnh
- Nhận diện khuôn mặt có thể được sử dụng để chẩn đoán các bệnh gây ra những thay đổi có thể phát hiện được Ví dụ, Viện Nghiên cứu Viện Genome Quốc gia, sử dụng nhận diện khuôn mặt để phát hiện một căn bệnh hiếm gặp gọi
là hội chứng DiGeorge, trong đó có một phần của nhiễm sắc thể 22 bị thiếu Nhận diện khuôn mặt đã giúp chẩn đoán bệnh trong 96% trường hợp Khi các
Trang 5thuật toán trở nên tinh vi hơn, nhận diện khuôn mặt sẽ trở thành một công cụ
chẩn đoán vô giá cho tất cả các loại điều kiện
2.10 Bảo vệ trường học khỏi các mối đe dọa
- Hệ thống giám sát nhận diện khuôn mặt có thể nhận dạng ngay lập tức khi học sinh bị trục xuất, những phụ huynh nguy hiểm, những người buôn bán
ma túy hoặc các cá nhân khác đe dọa đến sự an toàn trường học vào sân trường Bằng cách cảnh báo đến các nhân viên bảo vệ trường học ngay tại thời điểm đó, nhận diện khuôn mặt có thể giảm nguy cơ các hành vi bạo lực
2.11 Theo dõi sự hiện diện của học sinh
- Ngoài việc giúp trường học an toàn hơn, nhận diện khuôn mặt có khả năng theo dõi sự tham dự của học sinh Theo như cách điểm danh truyền thống, các tờ điểm danh có thể cho phép học sinh ký thay một học sinh khác đang vắng mặt trong lớp Nhưng Trung Quốc đã sử dụng nhận diện khuôn mặt để đảm bảo học sinh không bỏ lớp máy tính bảng đang được sử dụng để quét khuôn mặt của học sinh và kết hợp ảnh của họ với cơ sở dữ liệu để xác thực danh tính của họ
2.12 Giúp các giao dịch diễn ra an toàn và thuận tiện hơn
- Ở Trung Quốc, có một công ty dịch vụ tài chính có tên Ant Financial cho phép khách hàng thanh toán tiền ăn bằng cách quét khuôn mặt của họ Khách hàng đặt hàng thông qua menu kỹ thuật số và sau đó sử dụng tính năng quét khuôn mặt để tùy chọn thanh toán Sau khi cung cấp số điện thoại, họ có thể mua bữa
ăn
2.13 Xác thực danh tính tại cây ATM
- Cuối cùng dường như khả năng quét khuôn mặt sẽ thay thế thẻ ATM hoàn toàn Trong khi đó, nhận dạng khuôn mặt có thể được sử dụng để đảm bảo rằng các cá nhân sử dụng thẻ ATM là những người mà họ cho biết Nhận dạng khuôn mặt hiện đang được sử dụng tại các máy ATM ở Macau để bảo vệ danh tính của mọi người
2.14 Làm cho ngành du lịch hàng không thuận tiện dễ dàng hơn
- Các hãng hàng không đã bắt đầu sử dụng nhận dạng khuôn mặt để giúp mọi người kiểm tra hành lý, tiến hành check-in và lên máy bay nhanh hơn Có vẻ như chúng ta đang nhanh chóng tiến tới một tương lai trong đó du lịch hàng không không chỉ an toàn mà còn thuận tiện dễ dàng hơn bao giờ hết
2.15 Nhận diện tài xế
- Nhiều công ty xe hơi đang thử nghiệm các cách sử dụng nhận dạng khuôn mặt Một cách sử dụng nhận dạng khuôn mặt cho xe ô tô là sử dụng một khuôn
Trang 6mặt để thay thế cho chiếc chìa khóa như một phương tiện để khởi động xe Nhận dạng khuôn mặt cũng có thể được sử dụng để chuyển kênh radio và tùy chọn chỗ ngồi dựa vào người đang lái xe Nhận diện khuôn mặt thậm chí có thể làm cho tài
xế lái xe an toàn hơn và cảnh báo tài xế nếu họ đang lơ là hoặc không tập trung vào việc lái xe
2.16 Kiểm soát quyền ra vào ở những khu vực nhạy cảm
- Nhận dạng khuôn mặt có thể hoạt động như một phương tiện kiểm soát truy cập để đảm bảo rằng chỉ những người được ủy quyền mới được vào các cơ
sở như phòng thí nghiệm, phòng họp, hầm ngân hàng, trung tâm đào tạo của vận động viên và các địa điểm nhạy cảm khác
II.BÀI TOÁN NHẬN DẠNG KHUÔN MẶT
- Nhận dạng khuôn mặt (Face Recognition) là một phương pháp sinh trắc
để xác định hoặc xác minh một cá nhân nào đó bằng cách so sánh dữ liệu hình ảnh chụp trực tiếp hoặc hình ảnh kỹ thuật số với bản ghi được lưu trữ cho người đó.Nóđượ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 khuôn 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 khuôn 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 khuôn mặt có nguồn dữ liệu phong phú hơn (chúng ta
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)
- Các hệ thống nhận dạng khuôn mặt thường được sử dụng cho các mục đích an ninh như kiểm soát an ninh tại tòa nhà, sân bay, máy ATM, tra cứu thông tin của tội phạm, phát hiện tội phạm ở nơi công cộng, và ngày càng được ứng dụng rộng rãi trong cuộc sống
Bên cạnh những thành công đã được ghi nhận thì nhận dạng khuôn mặt cũng còn gặp nhiều khó khăn như về độ sáng, hướng nghiêng, kích thước hình ảnh, diện mạo, biểu hiện cảm xúc của khuôn mặt hay ảnh hưởng của tham số môi trường
- Để xây dựng một hệ thống nhận dạng khuôn mặt có đầu vào của hệ thống
là một hình ảnh kỹ thuật số hay một khung hình video từ một nguồn video Đầu
ra là xác định hoặc xác minh người ở trong bức hình hoặc trong video đó là ai
Trang 7Hướng tới mục tiêu này chúng ta thường chia thủ tục nhận dạng khuôn mặt gồm
ba bước: Phát hiện khuôn mặt, trích rút đặc trưng và nhận dạng khuôn mặt
Các bước tiến hành nhận dạng khuôn mặt
- Phát hiện khuôn mặt (Face Detection): Chức năng chính của bước này là phát hiện ra khuôn mặt xem nó có xuất hiện ở trong một bức hình hay một đoạn video hay không? Tỉ lệ phát hiện ra khuôn mặt phụ thuộc nhiều vào điều kiện về
độ sáng, hướng khuôn mặt, biểu hiện cảm xúc trên khuôn mặt hay các yếu tố môi trường khác Để hệ thống nhận dạng hoạt động đạt hiệu quả cao thì hình ảnh khuôn mặt sau khi được phát hiện cần chuẩn hóa về kích thước, ánh sáng
- Trích rút đặc trưng (Feature Extraction): Sau khi phát hiện ra khuôn mặt trong bức ảnh, chúng ta tiến hành trích rút những đặc trưng của khuôn mặt Bước này trích xuất ra một vector đặc trưng đại diện cho một khuôn mặt Nó phải đảm bảo được tính duy nhất của một khuôn mặt
- Nhận dạng khuôn mặt (Face Recognition): Với hình ảnh đầu vào sau khi phát hiện ra khuôn mặt, trích rút các đặc trưng của khuôn mặt và đem so sánh các đặc trưng này với cơ sở dữ liệu khuôn mặt
- Bài toán nhận dạng khuôn mặt được ứng dụng nhiều trong các lĩnh vực đời sống đặc biệt ở những lĩnh vực công nghệ cao, yêu cầu về an ninh, bảo mật
Do đó để hệ thống nhận dạng khuôn mặt hoạt động mạnh mẽ với tốc độ và độ tin cậy thì có rất nhiều các phương pháp về nhận dạng khuôn mặt được đưa ra Các phương pháp có thể được phân loại theo các tiêu chí khác nhau như nhận dạng với dữ liệu ảnh đầu vào là ảnh tĩnh 2D (Elastic Bunch Graph, Active Appearance Model) Phương pháp này là phổ biến nhất và tương lai sẽ là 3D (3D Morphable Model) Tuy nhiên trên thực tế người ta hay chia phương pháp nhận dạng khuôn mặt ra thành 2 loại: - Nhận dạng dựa trên các đặc trưng của các phần tử trên khuôn mặt (Feature Base Face Recognition) - Nhận dạng dựa trên xét tổng thể toàn khuôn mặt (Appearance Based Face Recognition)
Nhận dạng dựa trên xét toàn bộ khuôn mặt
- Nội dụng chính của hướng tiếp cận này là xem mỗi ảnh có kích thước R
x C là một vector trong không gian có R x C chiều Ta xây dựng một không gian mới có chiều nhỏ hơn sao cho khi biểu diễn trong không gian đó các đặc điểm
Trang 8chính trên khuôn mặt không bị mất đi Trong không gian đó các ảnh của cùng một người sẽ được tập trung lại thành một nhóm gần nhau và cách xa so với các nhóm khác
- Hai phương pháp thường được sử dụng trong hướng tiếp cận này là: - PCA (Principle Components Analysis) - LDA (Linear Discriminant Analysis)
1.NHẬN DẠNG KHUÔN MẶT
1.2 Tiền xử lý
- Quá trình này giúp nâng cao chất lượng hình ảnh, chuẩn hóa về mặt dữ liệu, kích thước hình ảnh Giúp cho việc trích rút đặc trưng được chính xác hơn
1.3 Trích rút đặc trưng
- Trích rút đặc trưng là kỹ thuật sử dụng các thuật toán để lấy ra những thông tin mang những đặc điểm riêng biệt của một người
- Principle Components Analysis - PCA là một thuật toán được sử dụng để
tạo ra một hình ảnh mới từ hình ban đầu Ảnh mới này có kích thước nhỏ hơn rất nhiều so với ảnh ban đầu và vẫn mang những đặc trưng cơ bản nhất của ảnh cần nhận dạng
Về bản chất, PCA tìm ra một không gian mới theo hướng biến thiên mạnh nhất của một tập hợp các vector trong không gian cho trước Trong không gian mới này người ta hy vọng rằng việc phân loại sẽ mang lại kết quả tốt hơn so với không gian ban đầu
a Thuật toán PCA
- Không gian mới được tạo bởi được tạo bởi PCA được cấu thành từ K
vector đơn vị có chiều là N Mỗi vector được gọi là Eigenfaces
- Phép biến đổi:
Trang 9- Theo công thức: W = T.A Với T là ma trận chuyển đổi, T có kích thước
K x N Gọi M là số ảnh đầu vào, mỗi ảnh được chuyển thành vector N chiều Ta
có tập hợp đầu vào X = {x1, x2, x3, …., xM} Trung bình của các vector đầu vào theo công thức:
Tính sai lệch của các ảnh đầu vào so với trung bình:
Tính ma trận hiệp phương sai C:
C sẽ cho kích thước N x N Trong đó: A = [Φ1, Φ2, Φ3, … , ΦM] A sẽ có kích thước là N x M
Gọi các giá trị riêng của C là λ1, λ2, … , λ sắp xếp theo thứ tự giảm dần, tương
ứng với N vector riêng u1,u2, , uN Các vector riêng này trực giao từng đôi một Mỗi vector riêng ui được gọi là một eigenface Tập hợp các vector ban đầu được
biểu diễn trong không gian tạo bởi N eigenface theo mô tả:
họn lấy K vector riêng u tương ứng với K giá trị riêng λ lớn nhất
- Vector các hệ số khai triển [w1,w2,…,wK] chính là biểu diễn mới của ảnh được tạo ra trong không gian PCA Ảnh mới vẫn giữ được các đặc điểm chính
so với ảnh đầu vào Vector [w1,w2,…,wK] được tính theo công thức
Trang 10- Vấn đề cần giải quyết ở đây là ma trận C = A.AT có kích thước N2 Lấy
ví dụ một bức ảnh có kích thước là 100 x 100 thì N = 100 x 100 = 104 Khối lượng tính toán sẽ rất lớn, yêu cầu các hệ thống xử lý mạnh mẽ và không phù hợp với các bài toán thời gian thực
- Do đó để tính được các eigenfaces mà không cần tính cả ma trận C, người
ta đưa ra phương pháp tính nhanh dựa vào vector riêng (eigenvector) và giá trị riêng (eigenvalue) của ma trận L = AT.A có kích thước M x M với M là số ảnh đầu vào Ta có thể chứng minh như sau: Gọi 𝜐𝑖, 𝑖 lần lượt là các vector riêng và giá trị riêng của ma trận L:
Nhân cả 2 vế với A ta có:
- Ta thấy A.vi chính là vector riêng của C = A.AT ứng với giá trị riêng 𝑖
b Áp dụng PCA vào trích chọn vector đặc tính
- Mỗi bức ảnh về khuôn mặt được coi như là một vector Nếu bức ảnh có
kích thước wx h pixel thì không gian chứa vector này có số chiều N = w x h Mỗi
pixel được mã hóa bởi một thành phần của vector
- Khâu quan trọng nhất trong bài toán nhận dạng đó chính là trích chọn vector đặc tính
- Các bước để trích chọn vector đặc tính phục vụ cho việc nhận dạng: Bước 1: Tạo một tập S gồm M ảnh (ảnh học) Mỗi ảnh có kích thước RxC Mỗi
ảnh được chuyển thành một vector N = RxC chiều Biểu diễn mọi ảnh Mi thành
Γ𝑖