Đồ án HCMUTE: Thiết kế mô hình CNN nhận dạng độ tuổi và giới tính

Đồ án HCMUTE: Thiết kế mô hình CNN nhận dạng độ tuổi và giới tính. Tìm hiểu kiến trúc mạng, quy trình xây dựng và ứng dụng thực tế của đồ án.

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2022

65
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

LỜI CẢM ƠN

LỜI CAM ĐOAN

DANH MỤC BẢNG BIỂU

DANH MỤC HÌNH ẢNH

DANH MỤC TỪ VIẾT TẮT

1. CHƯƠNG 1: TỔNG QUAN

1.1. MỤC TIÊU ĐỀ TÀI

1.2. GIỚI HẠN ĐỀ TÀI

1.3. PHƯƠNG PHÁP NGHIÊN CỨU

1.4. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU

1.5. BỐ CỤC QUYỂN BÁO CÁO

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1. GIỚI THIỆU MẠNG NƠ-RON TÍCH CHẬP

2.1.1. Tổng quan về mạng nơ-ron tích chập

2.1.2. Điểm đặc trưng của mạng nơ-ron tích chập

2.2. CẤU TRÚC MẠNG NƠ-RON TÍCH CHẬP

2.2.1. Lớp tích chập (Convolution layer)

2.2.2. Lớp kết nối đầy đủ (Fully Connected Layer)

2.3. KIẾN TRÚC MẠNG VGG

2.3.1. Tổng quan về mạng VGG

2.3.2. Kiến trúc của mạng VGG16

2.4. BỘ CƠ SỞ DỮ LIỆU (DATASET)

3. CHƯƠNG 3: THIẾT KẾ MÔ HÌNH PHÂN LOẠI ĐỘ TUỔI VÀ GIỚI TÍNH

3.1. XỬ LÝ BỘ CƠ SỞ DỮ LIỆU (DATASET)

3.1.1. Sắp xếp và phân chia tập dữ liệu

3.1.2. Phân tích tập dữ liệu

3.2. TỔNG QUAN QUY TRÌNH THỰC HIỆN

3.2.1. Sơ lược về quy trình thực hiện

3.2.2. Phương pháp thực hiện

3.3. PHÂN TÍCH KIẾN TRÚC MÔ HÌNH XỬ LÝ

3.3.1. Mô hình phát hiện khuôn mặt (Face detection)

3.3.2. Kiến trúc mô hình xử lý dùng mạng VGG16

3.3.3. Phương pháp cho từng nhiệm vụ phân loại

3.3.3.1. Phân loại giới tính
3.3.3.2. Phân loại độ tuổi

3.3.4. Thuật toán được sử dụng trong mô hình

4. CHƯƠNG 4: KẾT QUẢ VÀ ĐÁNH GIÁ

4.1. KẾT QUẢ XÂY DỰNG MÔ HÌNH

4.2. KẾT QUẢ HUẤN LUYỆN MÔ HÌNH

4.2.1. Kết quả huấn luyện

4.2.2. Ma trận nhầm lẫn (confusion matrix)

4.2.3. Kết quả huấn luyện

4.2.4. Ma trận nhầm lẫn

4.3. KẾT QUẢ THỰC NGHIỆM

4.3.1. Kết quả nhận dạng khuôn mặt ở điều kiện bình thường

4.3.2. Kết quả nhận dạng khuôn mặt ở điều kiện không tốt

4.3.3. Kết quả tổng quan

5. CHƯƠNG 5: KẾT LUẬN VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN

5.1. Đối với kết quả phân loại độ tuổi

5.2. Đối với kết quả phân loại giới tính

5.3. Kết quả nhận dạng trực tiếp độ tuổi và giới tính thông qua webcam

5.4. PHƯƠNG HƯỚNG PHÁT TRIỂN

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về mô hình CNN nhận dạng tuổi và giới tính HCMUTE

Trong kỷ nguyên của Trí tuệ nhân tạo (AI), các ứng dụng thị giác máy tính (computer vision) ngày càng trở nên phổ biến, đặc biệt trong lĩnh vực nhận dạng khuôn mặt. Một trong những nghiên cứu nổi bật tại Việt Nam là đồ án tốt nghiệp HCMUTE về "Thiết kế mô hình mạng CNN ứng dụng trong nhận dạng độ tuổi và giới tính". Sáng kiến này không chỉ là một bài nghiên cứu khoa học có giá trị mà còn giải quyết các vấn đề thực tiễn trong phân tích nhân khẩu học tự động. Đề tài tập trung vào việc xây dựng một hệ thống nhận dạng đa nhiệm, có khả năng ước tính tuổi (age estimation)phân loại giới tính (gender classification) đồng thời trong thời gian thực. Cốt lõi của hệ thống là mạng nơ-ron tích chập (Convolutional Neural Network - CNN), một kiến trúc học sâu (deep learning) đã chứng minh hiệu quả vượt trội trong các bài toán xử lý ảnh. Nghiên cứu này sử dụng kiến trúc nền tảng là mô hình VGG16, một trong những kiến trúc mạng CNN sâu và mạnh mẽ nhất. Mục tiêu của đề tài là tạo ra một mô hình có độ chính xác cao, đặc biệt là khi áp dụng với dữ liệu người châu Á, một yếu tố thường bị thiếu cân bằng trong các bộ dữ liệu quốc tế. Sản phẩm cuối cùng là một ứng dụng web có khả năng nhận diện tuổi và giới tính trực tiếp qua webcam, cho thấy tiềm năng ứng dụng to lớn trong nhiều lĩnh vực như marketing, an ninh và tương tác người-máy.

1.1. Giới thiệu về đồ án tốt nghiệp HCMUTE ứng dụng học sâu

Đồ án tốt nghiệp tại trường Đại học Sư phạm Kỹ thuật TP.HCM (HCMUTE) này là một công trình nghiên cứu ứng dụng công nghệ học sâu để giải quyết bài toán nhận dạng thuộc tính con người từ hình ảnh khuôn mặt. Đề tài được hướng dẫn bởi PGS.TS Trương Ngọc Sơn, thể hiện sự đầu tư nghiêm túc vào lĩnh vực AI. Mục tiêu chính là triển khai một mô hình đa nhiệm, phân loại giới tính (nam, nữ) và 8 nhóm tuổi khác nhau, từ (1-9) đến (70+). Nghiên cứu này không chỉ dừng lại ở lý thuyết mà còn tạo ra sản phẩm thực tiễn có khả năng hoạt động trên webcam, mở ra nhiều hướng phát triển cho các ứng dụng thông minh trong tương lai. Đây là một ví dụ tiêu biểu cho chất lượng đào tạo và nghiên cứu khoa học tại khóa luận SPKT.

1.2. Tầm quan trọng của thị giác máy tính trong nhận dạng

Lĩnh vực thị giác máy tính đóng vai trò xương sống cho các công nghệ nhận dạng tự động. Thay vì lập trình các quy tắc nhận dạng một cách thủ công, các mô hình học sâu như mạng nơ-ron tích chập có khả năng tự động học các đặc trưng khuôn mặt (facial feature extraction) từ một lượng lớn dữ liệu. Việc tự động ước tính tuổiphân loại giới tính có ý nghĩa quan trọng trong nhiều ngành. Ví dụ, trong bán lẻ, hệ thống có thể đề xuất sản phẩm phù hợp với nhân khẩu học của khách hàng. Trong an ninh, nó giúp phác thảo chân dung đối tượng. Nghiên cứu tại HCMUTE đã chứng tỏ rằng việc áp dụng CNN có thể mang lại độ chính xác cao, vượt qua các phương pháp truyền thống và mở ra một kỷ nguyên mới cho các hệ thống thông minh.

II. Thách thức khi xây dựng hệ thống nhận dạng tuổi giới tính

Việc xây dựng một hệ thống nhận dạng tuổi và giới tính chính xác phải đối mặt với nhiều thách thức kỹ thuật. Vấn đề lớn nhất xuất phát từ chất lượng và tính đa dạng của dữ liệu đầu vào. Các bộ dữ liệu công khai như IMDB-WIKI hay UTKFace tuy lớn nhưng thường mất cân bằng về giới tính, độ tuổi và đặc biệt là chủng tộc, với tỷ lệ khuôn mặt người châu Á rất thấp. Điều này làm giảm hiệu quả của mô hình khi triển khai tại Việt Nam. Một thách thức khác là sự biến đổi tự nhiên của khuôn mặt người theo thời gian. Quá trình lão hóa không đồng đều và bị ảnh hưởng bởi nhiều yếu tố, khiến việc ước tính tuổi trở thành một bài toán phức tạp. Ngoài ra, các điều kiện chụp ảnh trong thực tế như ánh sáng, góc mặt, biểu cảm và các vật thể che khuất (kính, khẩu trang) cũng ảnh hưởng nghiêm trọng đến độ chính xác của quá trình phát hiện khuôn mặt và trích xuất đặc trưng. Tài liệu gốc từ đồ án tốt nghiệp HCMUTE cũng chỉ ra rằng, việc phân chia các nhóm tuổi quá sát nhau như (20-29), (30-39) đòi hỏi mô hình phải học được những đặc trưng cực kỳ tinh vi. Để vượt qua những rào cản này, việc xây dựng một tập dữ liệu cân bằng và lựa chọn một kiến trúc mạng nơ-ron tích chập đủ sâu là yếu tố tiên quyết.

2.1. Vấn đề mất cân bằng trong các tập dữ liệu công khai

Một trong những rào cản chính được đề cập trong nghiên cứu là sự thiếu cân bằng của các dataset phổ biến. Ví dụ, nhiều bộ dữ liệu có số lượng ảnh nam giới vượt trội so với nữ giới, hoặc tập trung vào một số nhóm tuổi nhất định (thanh niên, trung niên) và bỏ qua các nhóm tuổi khác (trẻ em, người cao tuổi). Đặc biệt, đặc trưng khuôn mặt người châu Á có nhiều điểm khác biệt, nhưng lại chiếm tỷ lệ rất nhỏ. Điều này dẫn đến hiện tượng mô hình bị "thiên vị" (bias), hoạt động tốt trên người phương Tây nhưng kém chính xác khi nhận dạng người châu Á. Nhận thấy vấn đề này, nhóm nghiên cứu HCMUTE đã chủ động giải quyết bằng cách tạo ra một bộ dữ liệu mới.

2.2. Khó khăn trong việc ước tính tuổi và phân loại giới tính

Bài toán age estimation vốn phức tạp hơn gender classification. Trong khi giới tính là một đặc trưng nhị phân (nam/nữ) tương đối ổn định, tuổi tác lại là một quá trình liên tục và thay đổi tinh vi. Những người ở cùng một độ tuổi có thể trông rất khác nhau do di truyền và lối sống. Ngược lại, những người ở các nhóm tuổi liền kề, ví dụ 28 và 32 tuổi, có thể có các đặc điểm khuôn mặt rất giống nhau. Điều này đặt ra yêu cầu cao cho khả năng trích xuất đặc trưng khuôn mặt của mô hình Convolutional Neural Network. Mô hình phải học được các dấu hiệu lão hóa vi tế như nếp nhăn, cấu trúc da thay vì chỉ dựa vào các đặc điểm chung.

III. Phương pháp xây dựng bộ dữ liệu 18

Để giải quyết vấn đề thiên vị dữ liệu, nhóm nghiên cứu của khóa luận SPKT đã thực hiện một bước đi đột phá: xây dựng một bộ cơ sở dữ liệu mới gồm 18.000 ảnh. Quá trình này thể hiện sự đầu tư công phu và là nền tảng cho sự thành công của mô hình CNN nhận dạng tuổi và giới tính HCMUTE. Dữ liệu được thu thập từ nhiều nguồn đa dạng. Khoảng 40% đến từ dataset UTKFace, 30% từ bộ VN-celeb (người nổi tiếng Việt Nam), và 30% còn lại được thu thập thủ công từ các trang web như Google Images, Getty Images. Mục tiêu chính là tăng tỷ lệ khuôn mặt người châu Á lên 56% và đảm bảo sự cân bằng tuyệt đối giữa hai giới tính (9.000 ảnh nam, 9.000 ảnh nữ) cũng như sự phân bổ đồng đều giữa các nhóm tuổi. Mỗi ảnh được xử lý cẩn thận: cắt để chỉ lấy vùng khuôn mặt, loại bỏ các ảnh mờ, nhiễu, góc chụp quá nghiêng và chuẩn hóa về kích thước 224x224 pixel. Quy trình này đảm bảo chất lượng dữ liệu đầu vào, một yếu tố sống còn trong quá trình huấn luyện mô hình (model training). Việc xây dựng một tập dữ liệu chất lượng cao và cân bằng như vậy là một đóng góp quan trọng, giúp mô hình học một cách "công bằng" và không bị thiên vị.

3.1. Quy trình thu thập dữ liệu từ UTKFace và các nguồn khác

Nhóm nghiên cứu đã áp dụng một chiến lược thu thập dữ liệu đa nguồn. Tập dữ liệu UTKFace được sử dụng làm nền tảng nhờ sự đa dạng về độ tuổi. Tuy nhiên, để khắc phục nhược điểm về tỷ lệ người châu Á thấp, nhóm đã bổ sung một lượng lớn ảnh từ bộ VN-celeb và các nguồn trên internet. Quá trình thu thập thủ công đòi hỏi sự tỉ mỉ để lọc ra những hình ảnh không liên quan hoặc chất lượng kém. Mỗi hình ảnh sau khi thu thập đều được gán nhãn thủ công với thông tin: [Tuổi][Giới tính][Chủng tộc]_[STT], tạo ra một cấu trúc dữ liệu rõ ràng, thuận lợi cho việc xử lý ảnh và huấn luyện.

3.2. Kỹ thuật tiền xử lý và cân bằng dataset cho model training

Sau khi thu thập, dữ liệu thô phải trải qua bước tiền xử lý nghiêm ngặt. Các hình ảnh không đạt chuẩn như bị mờ, khuôn mặt không nhìn thẳng, hoặc bị che khuất quá nhiều đều bị loại bỏ. Toàn bộ 18.000 ảnh được chuẩn hóa về cùng kích thước (224x224). Quan trọng nhất là quá trình cân bằng dữ liệu: mỗi nhóm tuổi được phân bổ một số lượng ảnh gần như bằng nhau, và trong mỗi nhóm tuổi, tỷ lệ nam/nữ là 50/50. Sự cân bằng này giúp mô hình học sâu không ưu tiên dự đoán một lớp nào hơn các lớp khác, từ đó cải thiện đáng kể độ chính xác tổng thể trong cả bài toán phân loại giới tínhước tính tuổi.

IV. Hướng dẫn thiết kế kiến trúc VGG16 nhận dạng tuổi giới tính

Trái tim của hệ thống nhận dạng là mô hình mạng nơ-ron tích chập được xây dựng dựa trên kiến trúc VGG16. Nghiên cứu này không xây dựng mô hình từ đầu mà áp dụng phương pháp học chuyển tiếp (Transfer Learning), một kỹ thuật hiệu quả trong deep learning. Cụ thể, nhóm sử dụng lại các lớp tích chập của mô hình VGG16 đã được huấn luyện trước trên tập dữ liệu ImageNet khổng lồ. Các lớp này đã học được cách trích xuất các đặc trưng hình ảnh tổng quát như cạnh, góc, và hình khối. Sau đó, các lớp kết nối đầy đủ (Fully Connected) ở cuối của VGG16 gốc được loại bỏ và thay thế bằng các lớp mới, được thiết kế riêng cho hai nhiệm vụ: phân loại giới tínhphân loại độ tuổi. Kiến trúc này được tinh chỉnh (Fine-tuning) trên bộ dữ liệu 18.000 ảnh đã xây dựng. Đối với bài toán giới tính (2 lớp), lớp đầu ra sử dụng hàm kích hoạt Sigmoid và hàm mất mát Binary Cross-entropy. Đối với bài toán độ tuổi (8 lớp), lớp đầu ra sử dụng hàm Softmax và hàm mất mát Categorical Cross-entropy. Thuật toán tối ưu Adam được lựa chọn nhờ khả năng hội tụ nhanh và hiệu quả. Việc sử dụng các công cụ như TensorFlow, Keras và thư viện OpenCV đã hỗ trợ đắc lực cho quá trình triển khai và huấn luyện mô hình.

4.1. Ứng dụng mô hình YuNet OpenCV để phát hiện khuôn mặt

Trước khi có thể nhận dạng tuổi và giới tính, hệ thống cần phải xác định vị trí khuôn mặt trong ảnh hoặc video. Nhiệm vụ phát hiện khuôn mặt (face detection) này được thực hiện bởi mô hình YuNet, một mô hình gọn nhẹ và hiệu quả từ thư viện OpenCV. YuNet có khả năng phát hiện khuôn mặt nhanh chóng và chính xác dựa trên 5 điểm mốc (mắt, mũi, khóe miệng). Vùng khuôn mặt được phát hiện sẽ được cắt ra và đưa vào mô hình VGG16 để xử lý. Việc tách riêng hai giai đoạn phát hiện và nhận dạng giúp tối ưu hóa hiệu suất toàn hệ thống.

4.2. Tinh chỉnh kiến trúc VGG16 cho bài toán phân loại đa nhiệm

Phương pháp Fine-tuning trên kiến trúc VGG16 là chìa khóa của mô hình. Thay vì huấn luyện lại toàn bộ 138 triệu tham số, nhóm nghiên cứu "đóng băng" các lớp tích chập đầu tiên và chỉ huấn luyện các lớp trên cùng cùng với các lớp kết nối đầy đủ mới. Cách tiếp cận này giúp tiết kiệm tài nguyên tính toán và thời gian model training, đồng thời tận dụng được kiến thức đã học từ tập ImageNet. Các lớp kết nối đầy đủ mới được thiết kế với số nơ-ron là 128, kèm theo kỹ thuật Dropout để chống học quá mức (overfitting), đảm bảo mô hình có khả năng tổng quát hóa tốt trên dữ liệu mới.

4.3. Lựa chọn hàm mất mát và thuật toán tối ưu Adam phù hợp

Việc lựa chọn hàm mất mát (loss function) phù hợp là rất quan trọng. Với bài toán nhị phân như gender classification, Binary Cross-entropy là lựa chọn tối ưu. Trong khi đó, với bài toán đa lớp như age estimation (8 nhóm), Categorical Cross-entropy được sử dụng. Cả hai hàm này đều đo lường sự khác biệt giữa xác suất dự đoán của mô hình và nhãn thực tế. Thuật toán tối ưu Adam được chọn để cập nhật trọng số của mạng, giúp hàm mất mát giảm nhanh và ổn định, từ đó giúp mô hình hội tụ đến kết quả tốt nhất trong thời gian ngắn hơn so với các thuật toán khác.

V. Đánh giá kết quả mô hình CNN nhận dạng tuổi và giới tính

Kết quả thực nghiệm của mô hình CNN nhận dạng tuổi và giới tính HCMUTE cho thấy hiệu quả rất tích cực. Đối với nhiệm vụ phân loại giới tính, mô hình đạt được độ chính xác rất cao. Cụ thể, trên tập huấn luyện, độ chính xác đạt trên 95% (xấp xỉ 98%) và trên tập kiểm thử (validation set) là khoảng 94%. Điều này có nghĩa là cứ 100 trường hợp dự đoán, có khoảng 94 trường hợp là chính xác. Phân tích ma trận nhầm lẫn (confusion matrix) cũng cho thấy mô hình hoạt động ổn định, với số lượng dự đoán đúng (True Male, True Female) trên đường chéo chính chiếm tỷ lệ áp đảo so với các dự đoán sai. Tỷ lệ nhầm lẫn giữa nam thành nữ và ngược lại là rất thấp, chứng tỏ khả năng phân biệt các đặc trưng khuôn mặt liên quan đến giới tính của mô hình là rất tốt. Các chỉ số này khẳng định sự thành công của việc áp dụng kiến trúc VGG16 kết hợp với bộ dữ liệu đã được cân bằng. Kết quả này không chỉ có ý nghĩa trong phạm vi khóa luận SPKT mà còn là một minh chứng cho thấy các mô hình học sâu được huấn luyện trên dữ liệu địa phương hóa có thể đạt hiệu suất vượt trội trong các ứng dụng thực tế tại Việt Nam. Quá trình huấn luyện mô hình trên Google Colab với 100 epoch đã cho phép mô hình học sâu và tối ưu hóa các tham số một cách hiệu quả.

5.1. Phân tích kết quả huấn luyện mô hình phân loại giới tính

Biểu đồ huấn luyện cho thấy độ chính xác (accuracy) trên cả tập train và validation đều tăng đều và hội tụ ở mức cao, trong khi giá trị mất mát (loss) giảm dần. Đường accuracy trên tập validation đạt xấp xỉ 94% và giữ ổn định, cho thấy mô hình không bị học quá mức (overfitting) một cách nghiêm trọng. Giá trị mất mát trên tập huấn luyện giảm xuống dưới 10%, trong khi trên tập kiểm thử ở mức khoảng 20%. Sự chênh lệch nhỏ này là chấp nhận được trong các bài toán deep learning và cho thấy mô hình có khả năng tổng quát hóa tốt.

5.2. Đánh giá độ chính xác qua ma trận nhầm lẫn confusion matrix

Ma trận nhầm lẫn là một công cụ trực quan để đánh giá hiệu suất của mô hình phân loại. Dựa trên 3600 mẫu của tập kiểm thử, ma trận cho thấy số lượng các mẫu được dự đoán chính xác (đường chéo chính) là rất lớn. Cụ thể, 1676 mẫu nam được đoán đúng là nam. Con số này cao hơn nhiều so với các trường hợp dự đoán sai. Độ chính xác tổng thể được tính bằng công thức Accuracy = (TM + TF) / (TM + TF + FM + FF), cho kết quả khoảng 94%. Điều này chứng tỏ hệ thống nhận dạng giới tính hoạt động với độ tin cậy cao.

VI. Kết luận Tương lai của công nghệ nhận dạng khuôn mặt CNN

Đồ án tốt nghiệp HCMUTE về thiết kế mô hình CNN nhận dạng tuổi và giới tính đã đạt được những thành công đáng kể. Nghiên cứu đã chứng minh rằng việc áp dụng mạng nơ-ron tích chập, cụ thể là kiến trúc VGG16 theo phương pháp học chuyển tiếp, có thể giải quyết hiệu quả bài toán phân loại đa thuộc tính trên khuôn mặt. Đóng góp quan trọng nhất của đề tài là việc xây dựng thành công một bộ dữ liệu mới gồm 18.000 ảnh, được cân bằng về giới tính, độ tuổi và đặc biệt là tăng cường sự hiện diện của khuôn mặt người châu Á. Điều này đã trực tiếp nâng cao độ chính xác và tính ứng dụng của mô hình trong bối cảnh Việt Nam. Kết quả thực nghiệm với độ chính xác phân loại giới tính lên đến 94% đã khẳng định hướng đi đúng đắn của nghiên cứu. Trong tương lai, công nghệ này có rất nhiều tiềm năng phát triển. Hướng đi tiếp theo có thể là mở rộng mô hình để nhận dạng thêm các thuộc tính khác như cảm xúc, dân tộc hoặc định danh cá nhân. Việc tối ưu hóa mô hình để có thể chạy mượt mà trên các thiết bị di động hoặc hệ thống nhúng cũng là một hướng đi đầy hứa hẹn. Công trình nghiên cứu khoa học này không chỉ là một khóa luận SPKT xuất sắc mà còn là tiền đề cho nhiều ứng dụng thị giác máy tính thông minh trong tương lai.

6.1. Tóm tắt những đóng góp chính của nghiên cứu khoa học này

Nghiên cứu này có ba đóng góp chính. Thứ nhất, xây dựng và công bố một bộ dữ liệu 18.000 ảnh khuôn mặt cân bằng, đặc biệt phù hợp cho các bài toán nhận dạng tại châu Á. Thứ hai, triển khai thành công mô hình Convolutional Neural Network đa nhiệm dựa trên VGG16, đạt độ chính xác cao trong việc ước tính tuổiphân loại giới tính. Thứ ba, phát triển một sản phẩm hoàn chỉnh có khả năng nhận dạng thời gian thực qua webcam, chứng minh tính khả thi và tiềm năng ứng dụng thực tiễn của đề tài.

6.2. Hướng phát triển cho hệ thống nhận dạng trong tương lai

Để phát triển xa hơn, mô hình có thể được cải tiến bằng cách sử dụng các kiến trúc mới hơn và nhẹ hơn như mô hình ResNet hoặc MobileNet để tối ưu tốc độ xử lý. Tập dữ liệu có thể được mở rộng hơn nữa để bao quát nhiều điều kiện ánh sáng và góc chụp phức tạp, từ đó tăng cường sự mạnh mẽ của hệ thống. Một hướng đi khác là kết hợp thêm các tác vụ như nhận dạng cảm xúc hoặc theo dõi ánh mắt để tạo ra các hệ thống tương tác người-máy toàn diện và thông minh hơn, phục vụ cho các lĩnh vực như quảng cáo thông minh, y tế và giáo dục.

21/09/2025

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

Chương 1 GIỚI THIỆU: giới thiệu chung về đề tài, mục tiêu nghiên cứu, giới hạn đề tài, phương pháp nghiên cứu, đối tượng và phạm vi nghiên cứu. - Chương 2 CƠ SỞ LÝ THUYẾT: giới thiệu tổng quan về mạng nơ-ron tích chập, kiến trúc mạng nơ-ron tích chập. Lý thuyết về kiến trúc mạng VGG16 và quá trình thu thập ảnh để làm bộ cơ sở dữ liệu. - Chương 3 THIẾT KẾ MÔ HÌNH PHÂN LOẠI ĐỘ TUỔI VÀ GIỚI TÍNH: trình bày chi tiết cách sắp xếp, phân chia số lượng hình ảnh trong tập dữ liệu.

Đưa ra tổng quan quá trình xử lý của mô hình, các khối trong mô hình. Phân tích kiến trúc mạng được dùng để huấn luyện. - Chương 4 KẾT QUẢ: chương này trình bày kết quả sau khi huấn luyện mô hình và kết quả nhận dạng độ tuổi và giới tính dựa trên khuôn mặt trong điều kiện thực tế. - Chương 5 KẾT LUẬN VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN: rút ra các kết luận về kết quả sau khi huấn luyện mô hình cũng như kết quả thực nghiệm.

Đề ra hướng phát triển cho đề tài. 3 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2. GIỚI THIỆU MẠNG NƠ-RON TÍCH CHẬP 2. Tổng quan về mạng nơ-ron tích chập Thuật ngữ Học sâu (DL) hay cụ thể hơn là mạng nơ-ron sâu (DNN) dùng để chỉ mạng thần kinh nhân tạo (ANN) với nhiều lớp ẩn [6].

Những năm qua, Học sâu đã được biết đến là một trong những phương pháp phổ biến và mạnh mẽ nhất trong việc mô phỏng lại chức năng, cách thức hoạt động phức tạp của não bộ con người. Và mạng nơ-ron tích chập (CNN) là một trong những mạng nơ-ron sâu được biết đến rộng rãi nhất, hay nó có tên gọi khác là ConvNet. Năm 1998, mạng CNN được giới thiệu bởi nhóm Yann LeCun, Bottou, Bengio và Haffner [7] thông qua mô hình nhận dạng chữ số viết tay sử dụng kiến trúc mạng LeNet-5. CNN đã dần trở nên nổi tiếng hơn khi nó được áp dụng vào kiến trúc Alexnet và đạt giải nhất trong cuộc thi ImageNet (ILSVRC).

Tên của mô hình mạng này được đặt dựa trên một phép tính dùng trong mạng, phép tính này ảnh hưởng rất nhiều đến mô hình nhận dạng và tạo ra sự khác biệt to lớn đó là phép tính tích chập. CNN đã có những kết quả đột phá trong thập kỷ qua trong hầu hết các lĩnh vực liên quan đến nhận dạng mẫu, xử lý giọng nói… không chỉ dừng lại ở việc nhận dạng và phân loại hình ảnh mà độ chính xác của CNN còn cao hơn, thậm chí tốt hơn con người trong một số trường hợp [8]. Chẳng hạn như khi được sử dụng trong Thị giác máy tính, xử lý tập cơ sở dữ liệu hình ảnh lớn nhất (ImageNet) [6] kết quả đạt được rất đáng kinh ngạc. Mô hình mạng nơ-ron tích chập ngày càng phát triển và mở rộng, được ứng dụng vào các hệ thống xử lý hình ảnh lớn của Google, Amazon hay Facebook.

với nhiều mục đích sử dụng khác nhau. Ví dụ như chức năng tự động nhận dạng khuôn mặt khi ảnh được đăng tải lên Facebook, hay khi nhập một từ khóa bất kì lên Google thì trong mục Hình ảnh (Image) sẽ hiện lên rất nhiều ảnh liên quan đến từ khóa đó. Bên cạnh đó còn có nhiều ứng dụng khác như FaceID ở các điện thoại thông minh, công nghệ phát hiện ra đối tượng trong hình ảnh rồi làm sắc nét các đặc trưng của chúng sau khi phóng to của Lightroom… 2. Điểm đặc trưng của mạng nơ-ron tích chập CNN được tạo thành bởi các nơ-ron mang trọng số (weight) và sai số hay còn gọi là độ lệch (bias).

Mỗi nơ-ron được nhận một số dữ liệu ở đầu vào, sau đó thực hiện hàng loạt các phép tính nhân chập và chọn một hàm truyền phù hợp để đưa ra dự đoán. Ở mạng nơ-ron nhân tạo truyền thống, liên kết đầy đủ giữa tất cả các nơ-ron 4 với nhau gây ra sự dư thừa do các điểm ảnh về cơ bản chỉ chủ yếu bị ảnh hưởng với nhau hay với những điểm ảnh xung quanh nó mà không phụ thuộc nhiều đến các điểm ảnh nằm cách xa khác. Ngoài ra mạng nơ-ron truyền thống còn bị giới hạn bởi kích thước ảnh, khi ảnh có kích thước càng lớn thì số lượng liên kết càng cao dẫn đến sự bùng nổ về khối lượng tính toán [8]. Mạng nơ-ron tích chập ra đời với kiến trúc được thay đổi, nó chỉ xây dựng các liên kết đến những nơ-ron cần thiết trong một vùng nhỏ và sau khi trích xuất đặc trưng thì dữ liệu sẽ được làm phẳng thành véc-tơ của giá trị xác suất.

Khía cạnh có lợi nhất của nó là giảm số lượng tham số (parameters) trong ANN [6]. Ngoài ra, việc áp dụng kiến trúc mạng CNN cho phép chúng ta xây dựng những mô hình với độ chính xác cao bằng cách sử dụng nhiều lớp xử lý có cấu trúc phức tạp hoá. Từ đó thúc đẩy và phát triển những nghiên cứu tiếp cận tới các mô hình lớn để giải quyết được các nhiệm vụ phức tạp – điều mà ANN cổ điển không có khả năng thực hiện được. Điểm nổi bật của CNN so với các phương pháp khác trong Học máy truyền thống chính là độ lớn của tập dữ liệu dùng để huấn luyện.

Mặc dù, phương pháp truyền thống cũng có thể phân loại và gán nhãn, tuy nhiên vẫn còn giới hạn về kích thước tập dữ liệu. Nhưng CNN đã giải quyết được vấn đề này khi huấn luyện với số lượng dữ liệu rất lớn và còn có thể đạt được độ chính xác cao. Bên cạnh đó, điểm chung của các kiến trúc mạng nơ-ron tích chập là kích thước (chiều rộng, chiều cao) của các lớp giảm dần, song song đó thì độ sâu cũng sẽ tăng dần. Khi kích thước của ma trận giảm thì số lượng tham số cũng sẽ giảm đáng kể trong khi độ chính xác của mô hình không bị giảm nhiều.

Số bộ lọc tăng làm tăng độ sâu giúp mạng CNN học được đa dạng và có thể phân biệt được nhiều chi tiết đặc trưng hơn. CẤU TRÚC MẠNG NƠ-RON TÍCH CHẬP Trong mạng nơ-ron tích chập, dữ liệu ảnh đầu vào sẽ được chuyển thành ma trận pixel (với mỗi pixel có giá trị thay đổi từ 0 đến 255) ứng với kích thước [w x h x d], trong đó w là chiều rộng (width), h là chiều cao (height), d là độ sâu (dimension) hay đơn giản là số kênh màu của ảnh đầu vào. Nếu ảnh là màu xám thì chỉ có một kênh màu, còn đối với ảnh màu sẽ có 3 kênh màu là Red, Green và Blue (RGB). Ý tưởng chung của mô hình mạng CNN là nó thực hiện quá trình trích lọc hình ảnh đầu vào trước khi được đưa vào huấn luyện (training) [9].

Quá trình này bao gồm các lớp ẩn (hidden) dùng để rút trích các đặc trưng có trong ảnh, sau đó tiến hành tính toán thông qua các lớp tích chập (Conv) và lớp Pooling. Giả sử ảnh đầu vào là khuôn mặt của một người thì phần này sẽ nhận diện mắt, mũi, miệng… từ đó có thể phát hiện ra được khuôn mặt trên hình. Phần tiếp theo là phân lớp, ở đây ta dùng một số 5 lớp kết nối đầy đủ để kết nối tất cả nơ-ron lại với nhau và xử lý kết quả của phần tích chập.1 Cấu trúc mạng nơ-ron tích chập [9] Như thể hiện ở Hình 2.1 thì một mô hình CNN cơ bản bao gồm những lớp sau: lớp tích chập (convolution layer), lớp gộp (pooling layer), lớp kết nối đầy đủ (fully connected layer). Tuỳ vào số lượng và cách sắp xếp các lớp sẽ xây dựng được những mô hình khác nhau cũng như phù hợp với đặc điểm của từng bài toán.

Lớp tích chập (Convolution layer) Lớp tích chập hay còn gọi là lớp ẩn (hidden layer) được dùng với mục đích là làm giảm kích thước hình ảnh để dễ xử lý mà vẫn giữ được các đặc trưng của dữ liệu (ảnh) ngõ vào. Trong đó, đặc trưng ảnh chính là những chi tiết như cạnh (ngang, chéo…), hình khối, hình tròn, hay phức tạp hơn như mắt, mũi, miệng, hình dạng khuôn mặt, con vật, xe, đèn giao thông. Chúng ta sẽ dùng các bộ lọc để giữ lại những chi tiết quan trọng của bức ảnh, có nhiều bộ lọc được sử dụng phố biến như bộ lọc đường chéo, cạnh, góc, hình vuông, hình tròn… [9]. Ở các lớp (layers) đầu tiên, phép tích chập chỉ thực hiện công việc đơn giản là tìm biên ảnh, các lớp tiếp theo sẽ có nhiệm vụ trích xuất tiếp các đặc trưng khác có trong ảnh.

Trong số rất nhiều điểm trên ảnh đầu vào nó sẽ lấy ra những điểm nổi bật nhất và tập hợp lại để làm hiện lên đặc trưng của đối tượng trong hình. Lớp tích chập chính là lớp quan trọng nhất và cũng là điểm làm cho CNN trở nên khác biệt hơn so với các mô hình mạng khác. Một ví dụ cho lớp tích chập được biểu diễn ở Hình 2.2 bên dưới, ảnh ngõ vào với kích thước là 6x6x3 (6 hàng, 6 cột và 3 kênh màu) sử dụng bộ lọc 3x3x3 sau đó dùng phép tích chập để tính toán và cho ra một giá trị duy nhất. Ngõ ra của lớp tích chập sau khi được tính toán (ở ví dụ này đầu ra có kích thước 4x4) là một tập mang các giá trị đặc trưng của hình ảnh đầu vào hay còn gọi là features map.2 Ví dụ về phép tích chập với hình ảnh đầu vào (6x6x3) và bộ lọc (3x3x3) [10] Một số thuật ngữ được đề cập trong lớp tích chập bao gồm: Kernel, Filter hay Feature detector đều là tên gọi của các bộ lọc (ma trận lọc).

Đây là một ma trận hệ số có giá trị 0 và 1. Tại mỗi vị trí có filter sẽ thực hiện phép toán tính tổng các tích giữa mỗi phần tử trong filter và phần tử đầu vào tương ứng. Stride (bước trượt): chính là khoảng cách mà bộ lọc di chuyển mỗi lần dịch. Ví dụ chúng ta cho stride = 1 thì sau khi tính toán xong tại một vùng ảnh, bộ lọc sẽ được dịch sang phải 1 pixel, cho đến khi dịch hết một hàng sẽ tiếp tục dịch xuống dưới một đơn vị và lặp lại cho đến khi bộ lọc dịch hết ảnh như Hình 2.3 Ví dụ khi bước trượt (stride) bằng 1 Padding (đệm): là phương pháp thêm giá trị 0 ở ngoài viền của ảnh ngõ vào (thêm cột 0 và hàng 0 vào ma trận input).

Được chia thành 2 loại là: valid và same. Valid chính là không dùng padding, ta sẽ sử dụng bộ lọc trực tiếp lên ngõ vào. Same sẽ thêm padding, làm cho ngõ ra có cùng kích thước với ngõ vào. Để rõ hơn ta xét một ảnh vào có kích thước là 5x5, bộ lọc 3x3, stride = 1.

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