Luận Văn: Xây Dựng Hệ Thống Nhận Dạng Và Kiểm Soát Khuôn Mặt Sử Dụng Deep Learning

Chuyên khảo kỹ thuật phân tích Luận văn xây dựng hệ thống nhận dạng kiểm soát khuôn mặt với deep learning, đánh giá các khía cạnh quan trọng, đề xuất hướng nghiên cứu tiếp theo.

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Báo cáo thực tập tốt nghiệp

2020

91
20
0

Phí lưu trữ

35 Point

Tóm tắt

I. Giới thiệu

Chương này giới thiệu về tính cấp thiết của việc nghiên cứu nhận dạng khuôn mặtdeep learning. Hệ thống nhận dạng khuôn mặt đang trở thành một công cụ quan trọng trong nhiều lĩnh vực như an ninh, giáo dục và quản lý. Mục tiêu của nghiên cứu là xây dựng một hệ thống tự động nhận dạng khuôn mặt sử dụng mạng nơ-ronhọc sâu. Phạm vi nghiên cứu bao gồm việc áp dụng các thuật toán nhận dạngxử lý hình ảnh để tối ưu hóa quá trình nhận diện.

1.1 Tính cấp thiết của vấn đề nghiên cứu

Nhận dạng khuôn mặt là một bài toán phức tạp nhưng có nhiều ứng dụng thực tế. Con người có khả năng nhận diện khuôn mặt tốt, nhưng máy tính cần được huấn luyện để đạt được độ chính xác tương tự. Deep learning đã chứng minh hiệu quả trong việc giải quyết bài toán này. Nghiên cứu này nhằm mục đích phát triển một hệ thống nhận dạng tự động, giúp cải thiện độ chính xác và tốc độ xử lý.

1.2 Mục tiêu đối tượng phạm vi nghiên cứu

Mục tiêu chính là xây dựng một hệ thống nhận dạng khuôn mặt tự động sử dụng mô hình học sâu. Đối tượng nghiên cứu bao gồm các thuật toán nhận dạngxử lý hình ảnh. Phạm vi nghiên cứu tập trung vào việc áp dụng mạng nơ-ron tích chập (CNN)hàm Triplet Loss để tối ưu hóa quá trình nhận diện.

1.3 Phương pháp nghiên cứu

Phương pháp nghiên cứu bao gồm việc trích xuất khuôn mặt từ ảnh 2D và áp dụng kỹ thuật học sâu. Deep learning được sử dụng để phân tích và trích xuất các đặc trưng của khuôn mặt. Quá trình này bao gồm ba bước chính: xác định khuôn mặt, trích xuất đặc trưng và xác minh danh tính.

II. Cơ sở lý thuyết

Chương này trình bày các cơ sở lý thuyết liên quan đến nhận dạng khuôn mặtdeep learning. Các khái niệm cơ bản về mạng nơ-ron, học sâuthuật toán nhận dạng được giải thích chi tiết. Ngoài ra, các thư viện mã nguồn mở như OpenCV, Dlib, TensorFlow và Keras được giới thiệu để hỗ trợ quá trình nghiên cứu.

2.1 Bài toán nhận dạng mặt người

Nhận dạng mặt người là một bài toán phức tạp trong lĩnh vực thị giác máy tính. Các thách thức bao gồm sự thay đổi ánh sáng, góc chụp, cảm xúc và tuổi tác. Deep learning đã giúp cải thiện độ chính xác của các hệ thống nhận dạng bằng cách sử dụng mạng nơ-ron tích chập (CNN).

2.2 Bản chất bài toán về Deep Learning

Deep learning là một phần của học máy, sử dụng các mạng nơ-ron để học các đặc trưng từ dữ liệu. CNN là một trong những mô hình tiên tiến nhất, được áp dụng rộng rãi trong nhận dạng khuôn mặt. Quá trình học bao gồm việc xây dựng mô hình, chuẩn bị dữ liệu và tối ưu hóa các tham số.

2.3 Các thư viện mã nguồn mở được sử dụng

Các thư viện mã nguồn mở như OpenCV, Dlib, TensorFlow và Keras được sử dụng để hỗ trợ quá trình nghiên cứu. OpenCV cung cấp các công cụ xử lý ảnh, trong khi TensorFlow và Keras hỗ trợ việc xây dựng và huấn luyện các mô hình deep learning.

III. Triển khai nghiên cứu

Chương này mô tả quá trình triển khai nghiên cứu, bao gồm việc lựa chọn kỹ thuật, chuẩn bị dữ liệu và xây dựng mô hình. Dữ liệu huấn luyện được thu thập và xử lý để đảm bảo chất lượng đầu vào. Mô hình deep learning được xây dựng và tối ưu hóa để đạt được độ chính xác cao trong việc nhận dạng khuôn mặt.

3.1 Lựa chọn kỹ thuật

Các kỹ thuật như HOG (Histogram of Oriented Gradients)SVM (Support Vector Machine) được lựa chọn để phát hiện và phân loại khuôn mặt. Deep learning được sử dụng để trích xuất các đặc trưng phức tạp từ dữ liệu.

3.2 Chuẩn bị dữ liệu

Dữ liệu huấn luyện được thu thập từ các nguồn khác nhau và được xử lý để loại bỏ nhiễu. Quá trình này bao gồm việc chuẩn hóa kích thước ảnh và tăng cường dữ liệu để cải thiện hiệu suất của mô hình.

3.3 Chuẩn bị mô hình

Mô hình deep learning được xây dựng dựa trên CNNhàm Triplet Loss. Quá trình huấn luyện bao gồm việc tối ưu hóa các tham số để giảm thiểu sai số và cải thiện độ chính xác.

IV. Triển khai huấn luyện mô hình

Chương này tập trung vào quá trình huấn luyện mô hình và đánh giá kết quả. Mô hình deep learning được huấn luyện trên bộ dữ liệu đã chuẩn bị, và các kết quả được phân tích để đánh giá hiệu suất. Quá trình này bao gồm việc xác định khuôn mặt trong ảnh và xác minh danh tính.

4.1 Xác định khuôn mặt trong ảnh

Quá trình xác định khuôn mặt được thực hiện bằng cách sử dụng các thuật toán nhận dạngxử lý hình ảnh. Deep learning được áp dụng để cải thiện độ chính xác và tốc độ xử lý.

4.2 Biểu diễn khuôn mặt dưới dạng vector

Các khuôn mặt được biểu diễn dưới dạng vector để dễ dàng so sánh và phân loại. Mô hình học sâu được sử dụng để trích xuất các đặc trưng quan trọng từ dữ liệu.

4.3 Xây dựng model

Mô hình deep learning được xây dựng và huấn luyện để nhận dạng khuôn mặt. Quá trình này bao gồm việc tối ưu hóa các tham số và đánh giá hiệu suất của mô hình.

V. Kết luận

Chương này tổng kết các kết quả đạt được trong quá trình nghiên cứu. Hệ thống nhận dạng khuôn mặt sử dụng deep learning đã được xây dựng và đạt được độ chính xác cao. Nghiên cứu này đã chứng minh hiệu quả của mạng nơ-ron tích chập (CNN)hàm Triplet Loss trong việc nhận dạng khuôn mặt. Các ứng dụng thực tế của hệ thống bao gồm an ninh, giáo dục và quản lý.

01/03/2025
Luận văn xây dựng hệ thống nhận dạng kiểm soát khuôn mặt với deep learning

Trích đoạn nội dung tài liệu

Chương 1 GIỚI THIỆU 1.1 Tính cấp thiết của vấn đề nghiên cứu Con người rất giỏi việc nhận diện khuôn mặt và các hình mẫu phức tạp. Ngay cả khi một thời gian trôi qua vẫn không ảnh hưởng đến khả năng này và con người muốn máy tính trở nên mạnh mẽ như họ trong việc nhận diện khuôn mặt. Hơn một thập kỷ qua, có rất nhiều công trình nghiên cứu về bài toán xác định khuôn mặt người từ ảnh đen trắng, ảnh xám, đến ảnh màu. Các nghiên cứu đi từ bài toán đơn giản là ảnh chỉ chứa một khuôn mặt người nhìn thẳng vào thiết bị thu hình và đầu ở tư thế thẳng đứng, cho đến ảnh màu với nhiều khuôn mặt người trong cùng ảnh, khuôn mặt có quay một góc nhỏ, hay bị che khuất một phần, và với ảnh nền của ảnh phức tạp (ảnh chụp ngoài thiên nhiên) nhằm đáp ứng nhu cầu thật sự cần thiết của con người.

Nhận dạng khuôn mặt là bài toán có nhiều ứng dụng trong thực tế và nhận được sự quan tâm lớn từ cộng đồng các nhà khoa học nghiên cứu về Thị giác máy tính trong thời gian gần đây. Một hệ thống nhận dạng khuôn mặt có nhiều bước và mỗi bước lại là một lĩnh vực nghiên cứu với các cách tiếp cận khác nhau. Đó chính là lý do nhóm đã chọn đề tài này nhằm nghiên cứu, học hỏi về công nghệ đang phát triển của thế giới.2 Mục tiêu, đối tượng, phạm vi nghiên cứu 1.1 Mục tiêu nghiên cứu Nhằm xây dựng một chương trình nhận dạng khuôn mặt tự động, đề tài thực hiện nghiên cứu các vấn đề sau: 10  Nghiên cứu kỹ thuật phát hiện ảnh mặt dựa trên đặc trưng HOG (Histogram of Oriented Gradients)  Nghiên cứu thuật toán giám sát SVM (Support Vector Machine)  Nghiên cứu thư viện mã nguồn mở OpenCV  Nghiên cứu thư viện mã nguồn mở Dlib  Nghiên cứu thư viện mã nguồn mở Tensorflow và Keras  Nghiên cứu kiến trúc mạng CNN VGG16  Nghiên cứu áp dụng hàm Triplet Loss[1] của mạng Deep Learning cho bài toán nhận dạng mặt 1.2 Đối tượng áp dụng, phạm vi nghiên cứu Hệ thống nhận diện khuôn mặt có thể giúp:  Xác định danh tính của một đối tượng  Điểm danh trong phạm vi nhà trường, công sở  Tra cứu thông tin tội phạm  Giám sát bằng camera để phát hiện tội phạm tại các khu vực công cộng  Tìm trẻ lạc dựa vào các camera đặt ở các nơi công cộng  Phát hiện các nhân vật VIP đặt chân vào khách sạn  Có thể dùng trong khoa học để so sánh một thực thể với nhiều thực thể khác 1.3 Phương pháp nghiên cứu 1.1 Trích xuất khuôn mặt từ ảnh 2D Hầu hết các phần mềm nhận dạng khuôn mặt đều hoàn toàn dựa trên hình ảnh 2D. Nhưng vì hình ảnh 2D lại là một hình ảnh mang đến độ chính xác ‘ở 11 mức máy móc’, máy dễ dàng nhận diện được khi sử dụng hình ảnh 2D nên vẫn được ưa chuộng.

Vì sao ảnh 2D có độ chính xác? Đó là vì nó không có chiều sâu, và vì điều này khiến cho khuôn mặt ‘được’ nhận diện thiếu đi các đặc điểm nhận dạng riêng biệt hay ít biến số hơn nên dễ nhận diện hơn. Với một hình ảnh 2D hay hình ảnh phẳng hoàn toàn, máy tính có thể do khoảng cách độ rộng của miệng, khoảng cách mắt, độ rộng đồng tử và nhiều những biến số khác nhưng nó lại không thể đo được chiều dài/cao/cong mũi, đặc điểm trán bạn chẳng hạn, nó trở nên bất khả thi với hình ảnh 2D. Hiện nay có rất nhiều kỹ thuật để thực hiện việc nhận dạng khuôn mặt, tuy nhiên điểm chung của các kỹ thuật này là đều sẽ phải thực hiện qua 3 bước:  Bước 1: Xác định và lấy ra (các) khuôn mặt có trong hình ảnh  Bước 2: Từ hình ảnh các khuôn mặt lấy ra từ bước 1, thực hiện việc phân tích, trích xuất các đặt trưng của khuôn mặt  Bước 3: Từ các thông tin có được sau khi phân tích, kết luận và xác minh danh tính người dùng 1.2 Kỹ thuật Deep Learning Khi bắt đầu bước 2, thực việc phân tích, trích xuất các đặc trưng của khuôn mặt sẽ ứng dung kỹ thuật học sâu Deep Learning[2]. Đó chính là dựa trên một tập hợp các thuật toán để cố gắng mô hình dữ liệu trừu tượng hóa ở mức cao bằng cách sử dụng nhiều lớp xử lý với cấu trúc phức tạp, hoặc bằng cách khác bao gồm nhiều biến đổi phi tuyến.

Học sâu là một phần của một họ các phương pháp học máy rộng hơn dựa trên đại diện học của dữ liệu. Một quan sát (ví dụ như, một hình ảnh) có thể được biểu diễn bằng nhiều cách như một vector của các giá trị cường độ cho 12 mỗi điểm ảnh, hoặc một cách trừu tượng hơn như là một tập hợp các cạnh, các khu vực hình dạng cụ thể, vv. Một vài đại diện làm khiến việc học các nhiệm vụ dễ dàng hơn (ví dụ, nhận dạng khuôn mặt hoặc biểu hiện cảm xúc trên khuôn mặt) từ các ví dụ. Một trong những hứa hẹn của học sâu là thay thế các tính năng thủ công bằng các thuật toán hiệu quả đối với học không có giám sát hoặc nửa giám sát và tính năng phân cấp.

Nhiều kiến trúc học sâu khác nhau như mạng neuron sâu (DNN- Deep Neural Network), mã mạng neuron tích chập sâu (Convolutional Neural Network), mạng niềm tin sâu (Deep Belief Network) và mạng neuron tái phát đã được áp dụng cho các lĩnh vực như thị giác máy tính, tự động nhận dạng giọng nói, xử lý ngôn ngữ tự nhiên, nhận dạng âm thanh ngôn ngữ và tin sinh học, chúng đã được chứng minh là tạo ra các kết quả rất tốt đối với nhiều nhiệm vụ khác nhau. Mạng neuron tích chập sâu (Convolutional Neural Network) là một trong những mô hình Deep Learning tiên tiến. Nó giúp cho chúng ta xây dựng được những hệ thống thông minh với độ chính xác cao như hiện nay. Như hệ thống xử lý ảnh lớn như Facebook, Google hay Amazon đã đưa vào sản phẩm của mình những chức năng thông minh như nhận diện khuôn mặt người dùng, phát triển xe hơi tự lái hay drone giao hàng tự động.

Ở đây mạng neuron tích chập sâu (Convolutional Neural Network) sẽ được áp dụng vào bài toán nhận dạng khuôn mặt này.4 Kết quả đạt được của đề tài Do trình độ có hạn và thời gian đầu tư cho đề tài chưa nhiều nhưng nhóm mong muốn sẽ đạt được những kết quả nghiên cứu khả quan như: 13  Nắm bắt được quy trình phát triển của một hệ thống nhận dạng khuôn mặt cũng như nhiều hệ thống khác  Biết được nhiều khái niệm trên mức cơ bản phục vụ cho việc nghiên cứu luận văn  Phân tích được vai trò của lĩnh vực Machine Learning (Máy học) cụ thể là Deep Learning trong xu hướng của thế giới  Đánh giá thực trạng việc ứng dụng nhận dạng khuôn mặt trong các bài toán, mô hình khác nhau  Đề xuất một số giải pháp đang được ứng dụng trong việc xây dựng hệ thống nhận dạng khuôn mặt  Phân tích được toàn bộ bài toán từ bước mô tả quy trình đến việc phân tích dữ liệu và các chức năng của hệ thống  Xây dựng phần mềm tương đối hoàn chỉnh so với yêu cầu đề ra 14 Chương 2 CƠ SỞ LÝ THUYẾT 2.1 Bài toán nhận dạng mặt người – những vấn đề cơ bản 2.1 Giới thiệu Nhận dạng mặt người (Face recognition) là một chủ đề nghiên cứu thuộc lĩnh vực thị giác máy tính (Computer Vision) đã được phát triển từ đầu những năm 90 của thế kỷ trước. Cho tới hiện nay, đây vẫn là một chủ đề nghiên cứu mở nhận được sự quan tâm của nhiều nhà nghiên cứu từ nhiều lĩnh vực nghiên cứu khác nhau như nhận dạng mẫu (Pattern Recognition), học máy (Machine Learning), thống kê (Statistics), sinh trắc học (Biometrics). Điều này là do có rất nhiều ứng dụng thực tế cần tới một hệ thống nhận dạng mặt, từ các hệ thống quản lý đăng nhập đơn giản cho tới các ứng dụng giám sát tại các địa điểm công cộng (public areas surveillance) hoặc quản lý dân số (population management) và pháp lý (forsensics). Bên cạnh đó, so với các hệ thống nhận dạng dựa trên các đặc điểm sinh trắc học khác của con người, như nhận dạng mống mắt và vân tay (fingerprint and iris recoginitions), dáng đi (gait recognition), nhận dạng mặt có nhiều ưu điểm:  Một hệ thống nhận dạng mặt không đòi hỏi có sự tương tác trực tiếp giữa đối tượng được nhận dạng và hệ thống  Việc thu nhận dữ liệu (ảnh mặt) cho quá trình nhận dạng một con người dễ thực hiện hơn so với thu nhận các đặc đặc điểm sinh trắc học khác (như thu nhận dấu vân tay và mống mắt)  Dữ liệu về mặt người phổ biến hơn so với các đặc trưng khác do sự bùng nổ các mạng xã hội (facebook, twitter …), các dịch vụ chia sẻ dữ liệu đa phương tiện (youtube, vimeo …) và sự phát triển mạnh mẽ của các thiết bị thu nhận hình ảnh 15  Từ ảnh khuôn mặt của một người ta có thể khai thác nhiều thông tin liên quan chứ không chỉ là danh tính, chẳng hạn như giới tính (gender), màu da (skin color), hướng nhìn (gaze direction), chủng tộc, hành vi, sức khỏe, độ tuổi, cảm xúc và mức độ thông minh… Hình 2.1 Các thông tin có trong ảnh mặt người 2.2 Thách thức trong nhận dạng mặt người Tuy nhiên việc xây dựng một hệ thống nhận dạng mặt hoàn toàn tự động với khả năng nhận dạng chính xác cao thực sự là một thách thức đối với các nhà nghiên cứu.

Điều này là do các yếu tố (chủ quan và khách quan) ảnh hưởng tới quá trình thu nhận ảnh và tạo ra các bức ảnh có độ khác biệt rất lớn của cùng một khuôn mặt. Có thể liệt kê ra đây các yếu chủ yếu ảnh hưởng tới độ chính xác của một hệ thống nhận dạng mặt:  Ánh sáng (light conditions): Các bức ảnh mặt thu nhận ở các điều kiện sáng khác nhau sẽ rất khác nhau và làm giảm sự chính xác trong quá trình nhận dạng. 16  Thay đổi về tuổi (aging changes): Khuôn mặt người có các thay đổi lớn khi tuổi thay đổi và khó nhận dạng hơn ngay cả đối với hệ thống thị giác của con người.  Các vấn đề về hướng (pose variations): Việc nhận dạng với các ảnh có góc chụp thẳng (frontal) có kết quả tốt hơn rất nhiều so với các ảnh được chụp ở góc nghiêng lớn hơn 45o.

Giải pháp thường thấy đối với các ảnh có hướng chụp lớn là sử dụng các thuật toán nội suy để cố gắng bù đắp phần khuôn mặt bị che khuất.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Xây Dựng Hệ Thống Nhận Dạng Khuôn Mặt Bằng Deep Learning - Luận Văn Chi Tiết là một tài liệu chuyên sâu về ứng dụng công nghệ Deep Learning trong việc phát triển hệ thống nhận dạng khuôn mặt. Tài liệu này cung cấp cái nhìn toàn diện về các kỹ thuật, mô hình học sâu, và quy trình xây dựng hệ thống, từ khâu thu thập dữ liệu đến huấn luyện mô hình và đánh giá hiệu suất. Đặc biệt, nó nhấn mạnh vào các thách thức và giải pháp trong việc tối ưu hóa độ chính xác và tốc độ xử lý. Đây là nguồn tài liệu quý giá cho những ai đang nghiên cứu hoặc phát triển các ứng dụng liên quan đến thị giác máy tính và AI.

Để mở rộng kiến thức về các ứng dụng của Deep Learning, bạn có thể tham khảo Đồ án hcmute ứng dụng kit raspberry nhận dạng mặt người, nơi trình bày cách triển khai nhận dạng khuôn mặt trên phần cứng Raspberry Pi. Ngoài ra, Luận văn thạc sĩ nghiên cứu và ứng dụng deep learning phát hiện người xâm nhập cung cấp góc nhìn sâu hơn về việc áp dụng Deep Learning trong an ninh. Cuối cùng, Luận văn thạc sĩ tóm tắt văn bản sử dụng các kỹ thuật trong deep learning sẽ giúp bạn hiểu rõ hơn về các kỹ thuật xử lý văn bản bằng Deep Learning, một lĩnh vực liên quan mật thiết.