Nhận diện khuôn mặt thông minh là các giải pháp sử dụng trí thông minh nhân tạoAL để phát hiện khuôn mặt từ hình ảnh hoặc video được ghi nhận bởi camera, so khớp với các hình ảnh khuôn m
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
TIỂU LUẬN
MÔN: XỬ LÝ ẢNH
ĐỀ TÀI: NHẬN DIỆN KHUÔN MẶT
Sinh viên thực hiện: TRẦN QUỐC TUẤN MSSV: N18DCCN199
Giáo Viên Bộ Môn: LÊ HOÀNG THÁI
Trang 2MỤC LỤC
I Giới Thiệu 3
II Phát Hiện Khuôn Mặt 3
1 Tạo hình ảnh thích hợp 5
2 AdaBoost 6
3 Cấu Trúc Tầng 6
III Trích Xuất Đặc Trưng 6
1 Phân Tích Thành Phần(PCA) 6
2 Phân Biết Phân Biệt Tuyến Tính(LDA) 7
IV ĐO KHOẢNG CÁCH 9
V TỔNG KẾT: 10
Trang 3I Giới Thiệu.
Một số công nghệ sinh trắc học đang được nhen nhóm phát triển, trong
đó có “Nhận diện khuôn mặt”
Theo đó, sự xuất hiện của công nghệ này làm dấy lên làn sóng quan tâm cũng như phản ứng rất lớn Chúng ta cùng tìm hiểu vấn đề này ngay sau đây
Với trí tuệ nhân tạo, nhận dạng khuôn mặt chắc chắn là công nghệ kỹ thuật số có ý nghĩa rất lớn đối với các công ty, tổ chức - và đặc biệt là các chính phủ
Nhận diện khuôn mặt thông minh là các giải pháp sử dụng trí thông minh nhân tạo(AL) để phát hiện khuôn mặt từ hình ảnh hoặc video được ghi nhận bởi camera, so khớp với các hình ảnh khuôn mặt có sẵn trong cơ sở
dữ liệu khuôn mặt được lưu trước đó
Những năm gần đây việc ứng dụng trí tuệ nhân tạo (AL) trong các ngành
đã trở nên phổ biến và dần thay thế con người để phục vụ cuộc sống tốt hơn.Hiện tại ứng dụng công nghệ nhận diện trong các giải pháp trong các giải pháp trong thực tế ngày càng nhiều hơn
Trong thực tế, quá trình nhận diện bao gồm 2 quá trình chính là Face Detection (Tạm gọi là Phát hiện khuôn mặt) và Face Recognization
(Nhận diện khuôn mặt) Mỗi quá trình lại sử dụng những thuật toán khác nhau
1 Face Detection: Đây là quá trình phát hiện khuôn mặt trong ảnh Các
máy ảnh, camera smartphone hiện tại đều có chức năng này
2 Face Recognition: Đây mới là quá trình “nhận diện khuôn mặt” Từ
kết quả của phase trước, ta đã có các khuôn mặt trong ảnh Các khuôn mặt này sẽ lần lượt được so sánh với các khuôn mặt đã có trong cơ sở
dữ liệu để tìm khuôn mặt giống nhất
Và sau đây chúng ta hãy đi sâu vào “NHẬN DIỆN KHUÔN MẶT”
II Phát Hiện Khuôn Mặt.
Có khá nhiều cách để phát hiện khuôn mặt: Thông qua màu sắc, cử động hoặc qua góc cạnh trong ảnh,… Tuy nhiên, thuật toán được sử dụng phổ biến nhất hiện nay là Viola-Jones (Thư viện OpenCV hỗ trợ nhận diện khuôn mặt theo thuật toán này)
Thuật toán này ở chỗ nó không chỉ nhận diện được khuôn mặt mà còn có thể nhận diện được đồ vậy, hình dạng Cơ chế của nó khá đơn giản:
Trang 4 Tạo ra một frame hình vuông, lần lượt di chuyển frame này khắp tấm ảnh gốc
Mỗi khi frame di chuyển, kiểm tra xem khu vực trong frame có phải là khuôn mặt hay đồ vật hay không (Bằng cách kiểm tra các vùng sáng tối trong frame)
Sau khi di chuyển hết tấm ảnh, tăng kích cỡ frame lên và quét lại từ đầu
Dừng thuật toán khi frame đủ lớn
Nghe đơn giản vậy, nhưng đi sâu vào nghiên cứu các bạn sẽ thấy nó khá rắc rối với các thuật ngữ như: Haar Feature, Adaboost Training Hệ thống phải được train với vài ngàn đến vài chục ngàn tấm ảnh để tìm ra đặc điểm của khuôn mặt người
Tóm lại, dữ liệu đầu vào của quá trình này là một tấm ảnh Dữ liệu đầu ra
là vị trí và kích cỡ của các khuôn mặt trong ảnh
Phương pháp nhận diện khuôn mặt Viola-Jones được sử dụng.Phương pháp phát hiện đối tượng Viola-jones được đề xuất bởi Paul Viola và Michael Jones năm 2001 Phương pháp này có tác động nhiều nhất trong những năm 2000 và được gọi là đối tượng đầu tiên khung phát hiện để cung cấp khả năng phát hiện đối tượng có liên quan có thể chạy trong thời gian thực Viola-Jones yêu cầu toàn cảnh trực diện các mặt thẳng đứng Ở cấp độ cao, phương thức đọc đầu vào hình ảnh với một cửa sổ tìm kiếm các đặc điểm khuôn mặt người Khi nào đủ các tính năng được tìm thấy, sau đó loại cửa sổ này của hình ảnh được báo cáo là một khuôn mặt Để mang lại kích thước khác nhau mặt, cửa sổ phải được thu nhỏ và quá trình này được lặp lại Đối với mỗi tỷ lệ cửa sổ liên quan đến thông qua phương pháp riêng của các thang đo khác Phương pháp này xảy ra là khá tốn thời gian do tính toán kích thước hình ảnh khác nhau Để giảm số lượng các tính năng mỗi cửa sổ phải kiểm tra và mỗi cửa sổ được chuyển qua các cấp độ Các cấp độ đầu tiên bao gồm ít tính năng hơn để kiểm tra
và dễ dàng vượt qua hơn nhiều nhưng các cấp độ sau sẽ có nhiều hơn các tính năng và yêu cầu cao hơn Ở mỗi cấp độ, đánh giá các tính năng cho các cấp đó được thu thập và liệu nếu giá trị đã thu thập không vượt qua ngưỡng, mức là không thành công và cửa sổ này sẽ không được nhận
Trang 5dạng là một khuôn mặt Các Phương pháp nhận diện khuôn mặt Viola-Jones được chia thành ba các phần (Hình ảnh tích phân, học bộ phân loại với AdaBoost và cấu trúc tầng có chủ ý) giúp có thể xây dựng một nhận diện khuôn mặt thành công có thể được sử dụng trong thời gian thực ứng dụng
1 Tạo hình ảnh thích hợp.
Một hình biểu diễn được gọi là hình tích phân Tích phân hình ảnh còn được gọi là một bảng diện tích tổng hợp Hình ảnh tích phân là được tính như một bước tiền xử lý Bước đầu tiên của phương pháp Viola Jones là chuyển đổi hình ảnh khuôn mặt đầu vào thành một hình tích phân Điều này có thể được thực hiện bằng cách làm cho mỗi pixel bằng nhau cho toàn bộ tổng hợp của tất cả các pixel ở trên và bên trái của pixel liên quan Hình ảnh tích phân có thể được tính toán
như thể hiện trong phương trình dưới đây:
Trong đó I là ảnh tích phân và O là ảnh gốc
Để hoàn thành tính tổng của bất kỳ diện tích hình chữ nhật nào bằng cách
sử dụng hình ảnh tích phân là cực kỳ hiệu quả
Tổng kết pixel trong khu vực hình chữ nhật có thể là
được tính như trong phương trình dưới đây:
Các tính năng sẽ được tính toán theo thời gian liên tục xem xét rằng tổng các pixel có thể được tính trong các hình chữ nhật cấu thành trong thời gian không đổi Viola-Jones có nhận thấy rằng một máy dò có độ phân giải cơ bản là 24 * 24 pixel mang lại kết quả khả quan
Trang 62 AdaBoost
AdaBoost là một phương pháp thúc đẩy học máy có khả năng
tìm một giả thuyết có độ chính xác cao bằng cách kết hợp nhiều
mỗi giả thuyết tuần với độ chính xác trung bình AdaBoost
phương pháp này thường được xem là bước đầu tiên đi thẳng vào
các phương pháp thúc đẩy thực tế
3 Cấu Trúc Tầng
Việc phân loại các bộ phân loại phức tạp hơn dần dần đạt được
tỷ lệ phát hiện thậm chí tốt hơn Khái niệm về Viola-Jones phương pháp nhận diện khuôn mặt là quét máy dò thường xuyên bằng cùng một hình ảnh mỗi lần với một kích thước mới Bất kể một hình ảnh phải chứa một hoặc nhiều khuôn mặt, không có nghi ngờ gì rằng một lượng lớn cửa sổ phụ được đánh giá quá lớn có thể vẫn không phải là khuôn mặt Bộ phân loại Cascade bao gồm mỗi cấp có chứa một bộ phân loại mạnh Trách nhiệm của mỗi cấp độ để đánh giá xem một cửa sổ phụ nhất định có thực
sự là không mặt hoặc có thể là một khuôn mặt Việc triển khai có 22 cấp độ với các cấp độ đầu chứa ít tính năng hơn và sau đó các cấp có chứa các tính năng chi tiết chuyên sâu hơn Thông thường, các cấp độ đầu được thông qua thường xuyên hơn với các cấp độ sau đòi hỏi nhiều hơn
III.Trích Xuất Đặc Trưng.
“Khai thác tính năng liên quan đến việc giảm lượng tài nguyên cần thiết
để mô tả một lượng lớn dữ liệu Đặc tính trích xuất từ dữ liệu đã cho là một vấn đề quan trọng đối với ứng dụng thành công máy học Trong công việc này PCA và LDA được sử dụng làm tính năng trích xuất và thứ nguyên phương pháp giảm từ các hình ảnh khuôn mặt ban đầu PCA và LDA tạo ra các vectơ đặc trưng theo một chiều giảm.”
1 Phân Tích Thành Phần(PCA)
Phân tích thành phần chính (PCA) là một trong những các phương pháp quan trọng được sử dụng trong nhận dạng mẫu và nén PCA là trích xuất tính năng và thứ nguyên phương pháp khử PCA là một phương pháp
Trang 7thống kê phổ biến sử dụng cách tiếp cận toàn diện để tìm các mẫu ở chiều cao dữ liệu Mục đích của PCA bắt nguồn từ thông tin cách tiếp cận lý thuyết, chia nhỏ hình ảnh khuôn mặt thành tập hợp các hình ảnh tính năng đặc trưng được gọi là Eigenfaces mà được sử dụng để đại diện cho cả khuôn mặt hiện có và khuôn mặt mới Trong PCA phương pháp, ma trận hình ảnh khuôn mặt 2 chiều phải là chuyển thành vectơ 1 chiều 1 chiều vectơ có thể là vectơ hàng hoặc vectơ cột Kết quả là, biểu diễn hình ảnh dẫn đến một không gian nhiều chiều Phương pháp PCA Các bước như sau:
a Tập hợp huấn luyện của tổng số M hình ảnh được sử dụng để tính toán Trung bình có nghĩa như thể hiện trong phương trình dưới đây:
b Hình ảnh ban đầu sẽ bị trừ khỏi mức Trung bình được trình bày như thể hiện trong phương trình dưới đây:
c Tính toán ma trận phương sai như được hiển thị trong phương trình dưới đây:
d Tính Eigenvalues và Eigenvector của Ma trận hiệp phương sai
e Sắp xếp và chọn các giá trị Eigen tốt nhất Cao nhất Các Eigenvalues thuộc một nhóm Eigenvectors được chọn,M Eigenvectors này mô tả các Eigenfaces Cho rằng mới các khuôn mặt gặp phải, các
Eigenfaces có thể được cập nhật hoặc tính toán lại cho phù hợp
f Chiếu các mẫu đào tạo lên Eigenfaces
2 Phân Biết Phân Biệt Tuyến Tính(LDA)
Phân tích phân biệt tuyến tính (LDA) còn được gọi là Phương pháp mặt
cá được sử dụng để khắc phục nhược điểm PCA của nó ứng dụng được
Trang 8lưu giữ trong cơ sở dữ liệu hình ảnh nhỏ Nó đạt được bởi chiếu hình ảnh lên không gian Eigenface bằng PCA sau khi triển khai LDA thuần túy trên nó để phân loại Eigenface dữ liệu chiếu không gian LDA tìm kiếm các vectơ đó trong không gian bên dưới phân biệt đối xử tốt nhất giữa các lớp Các hình ảnh nhóm LDA của cùng một lớp và tách các hình ảnh của các lớp khác nhau Về mặt toán học, hai thước đo được xác định (ma trận phân tán bên trong lớp và giữa ma trận phân tán lớp) Đối với tất cả các mẫu của tất cả các lớp, sự phân tán giữa các lớp ma trận SB và ma trận phân tán bên trong lớp SW được xác định như được hiển thị trong các phương trình dưới đây:
Ở đâu là mẫu của lớp n, là giá trị trung bình của lớp n, N là số lớp, là số mẫu trong lớp n và u là giá trị trung bình của tất cả các lớp Sau đó không gian con cho LDA được bao trùm bởi một tập các vectơ
W=[W1,W2,W3,…,WM]
Mục tiêu là để tối đa hóa sự đo lường giữa các lớp trong khi giảm thiểu các biện pháp trong lớp Hình 5 cho thấy khi tối đa hóa tỷ lệ giữa phương sai lớp trong phương sai lớp sẽ tìm thấy sự phân tách lớp tốt Để làm điều này chúng tôi tối đa hóa tỷ lệ để chứng minh rằng nếu
SW không phải là ma trận số ít Ma trận phân tán lớp với biểu thị cách hình ảnh khuôn mặt được phân phối chặt chẽ với các lớp trong và ma trận phân tán giữa các lớp mô tả cách các lớp cách xa nhau Khi hình ảnh khuôn mặt được chiếu vào vectơ phân biệt W Hình ảnh khuôn mặt phải được phân phối chặt chẽ với các lớp trong và phải được tách biệt giữa các lớp càng nhiều càng tốt Nói cách khác, những vectơ phân biệt thu nhỏ mẫu số và cực đại tử số
Trang 9IV ĐO KHOẢNG CÁCH
Sau khi các tính năng được trích xuất và chọn bằng PCA LDA, bước tiếp theo là đo khoảng cách giữa các hình ảnh Hầu hết các phương pháp nhận dạng khuôn mặt từ thập kỷ trước đều giúp quyết định theo số đo khoảng cách Khoảng cách giữa hai hình ảnh là một mối quan tâm chính trong nhận dạng hình ảnh và thị giác máy tính Bước cuối cùng của nhận dạng khuôn mặt là đo khoảng cách giữa hai ảnh Hình ảnh giống nhau là
khoảng cách giữa các vectơ của hai ảnh Các khoảng cách giữa các biểu diễn không gian đối tượng được sử dụng làm cơ sở cho các quyết định công nhận Cách này hay cách khác, đo khoảng cách có tác động lớn trong nhận dạng khuôn mặt khu vực Phương pháp đo khoảng cách được
sử dụng trong nhiều lĩnh vực như tài chính, khai thác dữ liệu, nhận dạng giọng nói và tín hiệu giải mã
Khoảng cách Euclide được sử dụng để đo khoảng cách giữa các hình ảnh Khoảng cách Euclide được định nghĩa là đường thẳng khoảng cách
đường thẳng giữa hai điểm, kiểm tra gốc của sự khác biệt bình phương giữa các tọa độ của một cặp đối tượng Khoảng cách Euclide có thể được tính bằng phương trình phía dưới:
Trang 10Nếu không có căn bậc hai, chúng ta có thể có được Bình phương Đo khoảng cách Euclid (SED) Tiêu chuẩn Khoảng cách Euclide có thể được bình phương để đặt trọng lượng lớn dần lên các vật ở xa nhau Trong trường hợp này, phương trình trở thành như hình dưới đây:
V TỔNG KẾT:
Trong phân tích này, ba cơ sở dữ liệu (MUCT, Face94, và
Nhận mặt) được sử dụng để đánh giá hiệu suất của hệ thống Trong
Cơ sở dữ liệu MUCT, 8 cá nhân với 1 đến 3 đào tạo và thử nghiệm
hình ảnh cho mỗi cá nhân được sử dụng Trong khi, trong Face94 và
Cơ sở dữ liệu nhận mặt , 8 cá nhân được đào tạo từ 1 đến 4 và hình ảnh thử nghiệm cho mỗi cá nhân được sử dụng Mô phỏng của phương pháp
đề xuất đã được thực hiện bằng MATLAB gói phần mềm Phân tích cho thấy rằng việc tăng số lượng hình ảnh đào tạo sẽ tăng tỷ lệ nhận dạng Phương pháp Viola-Jones được sử dụng để phát hiện khuôn mặt trên mỗi
cơ sở dữ liệu Phương pháp này đạt được tỷ lệ phát hiện cao và tất cả hình ảnh được phát hiện và cắt trong ba cơ sở dữ liệu Nhân vật 6 hiển thị phát hiện và cắt ảnh mẫu bằng phương pháp Viola Jones