Hầu hết các hệ thống nhận diện và xử lý ảnh hiện nay đều sử dụng mạng nơ ron tích chập vì tốc độ xử lý nhanh và độ chính xác cao.. Phát hiện khuôn mặt và Trích xuất đặc trưng khuôn mặt s
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CƠ SỞ TẠI TP.HCM
Khoa: Công nghệ thông tin 2
- -
BÁO CÁO CÁ NHÂN
XỬ LÝ ẢNH
Đề tài:
NHẬN DẠNG KHUÔN MẶT
Giảng viên hướng dẫn: PGS TS Lê Hoàng Thái
Sinh viên thực hiện: Lê Đình Triều
Mã số sinh viên: N18DCCN229 Lớp: D18CQCN01-N
Trang 2MỤC LỤC
I Giới thiệu đề tài 3
II Bài toán 3
III Giới thiệu mạng Nơ ron tích chập (Convolution Neural Networks) 3
1 Khái niệm về mạng nơ ron tích chập 3
2 Mô hình mạng nơ ron tích chập 4
IV Nguyên lý hoạt động của bài toán 5
1 Các bước hoạt động 5
2 Phát hiện khuôn mặt (Face Detection): 5
3 Tiền xử lý (Preprocessing): 5
4 Xác minh khuôn mặt (Face Verification) 6
V Triển khai một ứng dụng nhận dạng khuôn mặt trên Jupyter Notebook 7
1 Cài đặt môi trường 7
2 Triển khai trên Juputer Notebook 8
3 Kết quả và đánh giá 9
VI Ứng dụng của bài toán 11
1 Ngăn chặn tội phạm tại cửa hàng bán lẻ 11
VII Tương lai của công nghệ 12
Trang 3
I Giới thiệu đề tài
hiệu quả và bắt đầu được ứng dụng rộng rãi gần đây
được ứng dụng và áp dụng ngày càng rộng rãi cả trong ngành điện thoại di động cũng như trong ngành công nghiệp sinh trắc
II Bài toán
III Giới thiệu mạng Nơ ron tích chập (Convolution Neural Networks)
1 Khái niệm về mạng nơ ron tích chập
Mạng nơ ron tích chập là một trong những mạng truyền thẳng đặc biệt Mạng nơ ron tích chập là một mô hình học sâu phổ biến và tiên tiến nhất hiện nay Hầu hết các hệ thống nhận diện và xử lý ảnh hiện nay đều sử dụng mạng nơ ron tích chập vì tốc độ xử lý nhanh
và độ chính xác cao Trong mạng nơ ron truyền thống, các tầng được coi là một chiều, thì trong mạng nơ ron tích chập, các tầng được coi là 3 chiều, gồm: chiều cao, chiều rộng và chiều sâu (Hình 1.) Mạng nơ ron tích chập có hai khái niệm quan trọng: kết nối cục bộ và chia sẻ tham số Những khái niệm này góp phần giảm số lượng trọng số cần được huấn luyện, do đó tăng nhanh được tốc độ tính toán
Hình 1 Các tầng (layer) trong CNN là 3 chiều
Trang 4Hình 2 Hình minh họa một ví dụ sử dụng CNN để phân lớp các loài vật
2 Mô hình mạng nơ ron tích chập
Có ba tầng chính để xây dựng kiến trúc cho một mạng nơ ron tích chập:
Tầng kết nối đầy đủ giống như các mạng nơ ron thông thường, và tầng chập thực hiện tích chập nhiều lần trên tầng trước Tầng gộp có thể làm giảm kích thước mẫu trên từng khối 2 × 2 của tầng trước đó Ở các mạng nơ ron tích chập, kiến trúc mạng thường chồng ba tầng này để xây dựng kiến trúc đầy đủ Ví dụ minh họa về một kiến trúc mạng
nơ ron tích chập đầy đủ:
Hình 3 Ví dụ về cấu trúc LeNet-5
Trang 5IV Nguyên lý hoạt động của bài toán
1 Các bước hoạt động
Hình 4 Các bước thực hiện một bài toán Nhận dạng khuôn mặt
2 Phát hiện khuôn mặt (Face Detection):
Hình 5 Phát hiện khuôn mặt và Trích xuất đặc trưng khuôn mặt sử dụng CNN
tương đối chính diện để hệ thống có thể nhận dạng
chúng sẽ được cắt ra, lưu vào cơ sở dữ liệu để tiến hành quá trình tiền xử lý
máy những đặc trưng này để tiến hành các bước xác minh sau này
3 Tiền xử lý (Preprocessing):
cần cùng một kích thước đã định trước
Trang 64 Xác minh khuôn mặt (Face Verification)
đưa vào với tập dữ liệu có trong máy, ở đây là điện thoại hoặc các hệ thống chấm công
(Accuracy) hệ thống sẽ cho thực hiện mở khóa máy (trên điện thoại) hoặc xác minh nhân viên (ở những hệ thống chấm công)
Hình 5 Mô hình FaceNet
Trang 7-
V Triển khai một ứng dụng nhận dạng khuôn mặt trên Jupyter Notebook
1 Cài đặt môi trường
Cài đặt Anaconda
Hình 6 Cài đặt Anaconda
Cài đặt OpenCV
Trang 8-
Hình 7 Sử dụng Anaconda cài đặt thư viện OpenCV
Hình 8 Sử dụng Terminal cài đặt OpenCV
2 Triển khai trên Juputer Notebook
Tải Model đã được train
Trang 9-
Hình 8 Code tải pretrain models nhận dạng khuôn mặt
Import thư viện OpenCV và faceCascade
Hình 9 Import thư viện OpenCV
Chạy chương trình với Webcam trên laptop
Hình 10 Chạy chương trình sử dụng Webcam
3 Kết quả và đánh giá
Trang 10-
Hình 11 Nhận dạng khuôn mặt người
b Yêu cầu nhận dạng được khuôn mặt người thật và ảnh
Hình 12 Nhận dạng nhiều khuôn mặt cùng lúc
Trang 11-
Kết quả: Chương trình nhận dạng 2 gương mặt: Người thật và Ảnh trong điện thoại Đánh giá: Chương trình là một mạng CNN thuần túy, khi nhận dạng được các Đặc trung
của mặt người, chương trình sẽ nhận dạng đó là mặt người, không phân biệt khuôn mặt thật hay ảnh tĩnh
VI Ứng dụng của bài toán
Công nghệ Nhận dạng khuôn mặt đang được áp dụng rộng rãi trong các thiết bị di động nhờ tính tiện dụng và hiệu quả của phương pháp này
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ẽ
ậ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ẻ Theo dữ liệu của chúng tôi, nhận diện khuôn mặt đã giảm sự cố phía bên ngoài xuống còn 34%, quan trọng hơn, giảm tới 91% sự cố bạo lực trong các cửa hàng bán lẻ
2 Các hệ thống điểm danh khuôn mặt
- Tại một số trường cao đẳng và đại học nước ngoài, các lớp học thường có số lượng sinh viên tham gia đông đến nỗi mà khó có thể kiểm soát liệu sinh viên có thực sự tham gia lớp học hay không Nếu mà dùng cách điểm danh truyền thống bằng cách kí vào danh sách thì có khả năng sinh viên kí hộ lẫn nhau, điểm danh tên từng người lại mất thời gian
- Tuy nhiên, công nghệ Nhận dạng khuôn mặt nay đã có thể giải quyết vấn đề này Để vào lớp
và được điểm danh, sinh viên sẽ phải quét nhận dạng khuôn mặt để khớp với dữ liệu đã lưu của trường Vì vậy trừ khi bạn có anh em sinh đôi, thì giờ cúp lớp không còn là điều dễ dàng nữa rồi
3 Thanh toán online
- Alipay đã ra mắt hệ thống nhận diện gương mặt “Smile to Pay” đầu tiên trên thế giới tại một
Trang 12-
- Ant Financial, đơn vị điều hành nền tảng thanh toán điện tử Alipay được dùng trong các trang mua sắm trực tuyến Tmall và Taobao của Alibaba, vừa triển khai ứng dụng thương mại đầu tiên của hệ thống thanh toán nhận diện gương mặt
- Việc ứng dụng “Smile to Pay”, sử dụng công nghệ Face++ do startup Megvii phát triển, cho thấy Trung Quốc, quốc gia đông dân nhất thế giới, đang trở thành môi trường thử nghiệm các ứng dụng và dịch vụ mới nhất
VII Tương lai của công nghệ
Có nhiều hướng phát triển cho chương trình này, có thể phát triển cả về mặt ứng dụng
và mặt thuật toán (để cải thiện hiệu quả phát hiện mặt người) Có thể xây dựng một ứng dụng chỉ cần đến phát hiện mặt người mà không cần nhận dạng Ví dụ như một hệ thống ghép hình, ghép khuôn mặt phát hiện được vào trong một bức ảnh khác (chẳng hạn như ghép khuôn mặt của người sử dụng cho khuôn mặt của người nổi tiếng)
Ngoài ra có thể phát triển chương trình theo hướng nhận dạng khuôn mặt, xây dựng một hệ thống để học các đặc trưng của những người cần nhận dạng Khi thực hiện, đầu tiên ta đưa qua bức ảnh qua chương trình phát hiện mặt người để phát hiện nhanh các khuôn mặt có trong ảnh, sau đấy so sách các khuôn mặt đó với các khuôn mặt mà chương trình đã được
“học” từ trước, so sánh các đặc trưng của hai khuôn mặt, nếu trùng thì đưa ra thông tin về khuôn mặt được nhận dạng
Hiện nay công nghệ nhận dạng khuôn mặt đang là xu hướng Sự ứng dụng của công nghệ không chỉ riêng trong lĩnh vực an ninh, bảo mật mà còn trong nhiều dịch vụ như chính phủ điện tử, sức khỏe, bán hàng
Xu hướng kết hợp các phương pháp sinh trắc đang được phát triển rộng rãi Ngày nay,
sự kết hợp giữa những phương pháp như Nhận dạng vân tay, Nhận dạng khuôn mặt 2D và 3D, nhận dạng mống mắt đang được phát triển rộng rãi