1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(Đồ án HCMUTE) thiết kế mô hình mạng CNN ứng dụng trong nhận dạng độ tuổi và giới tính

65 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết kế mô hình mạng CNN ứng dụng trong nhận dạng độ tuổi và giới tính
Tác giả Nguyễn Thị Hồng Gấm, Lê Thị Quỳnh Nhi
Người hướng dẫn PGS.TS Trương Ngọc Sơn
Trường học Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh
Chuyên ngành Ngành Công nghệ Kỹ thuật Điện tử - Viễn thông
Thể loại đồ án tốt nghiệp
Năm xuất bản 2022
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 65
Dung lượng 5,04 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các số liệu, tài liệu ban đầu: Mô hình phân loại độ tuổi và giới tính bao gồm các số liệu như sau: - Các tài liệu: những bài báo trong nước và ngoài nước liên quan đến nhận dạng khuôn

Trang 1

THÀNH PHỐ HỒ CHÍ MINH

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

SVTH:

ĐỒ ÁN TỐT NGHIỆPNGÀNH CNKT ĐIẸN TỬ - VIỄN THÔNG

THIẾT KẾ MÔ HÌNH MẠNG CNN ỨNG DỤNG TRONG NHẬN DẠNG ĐỘ TUỔI VÀ GIƠI TÍNH

GVHD: TRƯƠNG NGỌC SƠN

NGUYỄN THỊ HỒNG GẤM

LÊ THỊ QUỲNH NHI

S K L 0 0 9 3 4 9

Trang 2

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH

KHOA ĐÀO TẠO CHẤT LƯỢNG CAO

ĐỒ ÁN TỐT NGHIỆP

THIẾT KẾ MÔ HÌNH MẠNG CNN ỨNG DỤNG TRONG NHẬN DẠNG ĐỘ TUỔI VÀ GIỚI TÍNH

NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - VIỄN THÔNG

Sinh viên thực hiện:

NGUYỄN THỊ HỒNG GẤM 18161067

LÊ THỊ QUỲNH NHI 18142050

Giảng viên hướng dẫn:

PGS.TS TRƯƠNG NGỌC SƠN

Trang 3

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập – Tự do – Hạnh phúc

-*** -

TP Hồ Chí Minh, ngày 30 tháng 7 năm 2022

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

Họ và tên sinh viên 1: Lê Thị Quỳnh Nhi

Họ và tên sinh viên 2: Nguyễn Thị Hồng Gấm

MSSV: 18142050 MSSV: 18161067

Giảng viên hướng dẫn: PGS TS Trương Ngọc Sơn

1 Tên đề tài: Thiết kế mô hình mạng CNN ứng dụng trong nhận dạng độ tuổi và

giới tính

2 Các số liệu, tài liệu ban đầu: Mô hình phân loại độ tuổi và giới tính bao gồm

các số liệu như sau:

- Các tài liệu: những bài báo trong nước và ngoài nước liên quan đến nhận dạng khuôn mặt, nhận dạng độ tuổi, giới tính và các vấn đề liên quan đến nhận dạng thuộc tính trên khuôn mặt Các trang web có chứa thông tin liên quan đến đề tài như tập dữ liệu, các kiến trúc mạng trong CNN, phương pháp

cải thiện độ chính xác

- Các số liệu: bộ cơ sở dữ liệu dùng để huấn luyện và kiểm tra được thu thập gồm 18000 hình ảnh ở nhiều độ tuổi khác nhau Sử dụng kiến trúc mạng

VGG16, trọng số từ mô hình YuNet để phát hiện khuôn mặt

3 Nội dung thực hiện đề tài:

- Tìm hiểu cơ sở lý thuyết liên quan đến mạng CNN, kiến trúc VGG16

- Tạo một tập dữ liệu mới (gồm 18000 ảnh) Sắp xếp, phân chia tập dữ liệu để

số lượng ảnh trong mỗi độ tuổi được cân bằng

- Điều chỉnh các thông số và số lớp trong kiến trúc mạng Áp dụng phương

pháp tối ưu hóa để nâng cao độ chính xác cho cả phân loại độ tuổi, giới tính

- Thực thi mô hình, dựa trên kết quả về độ chính xác khi nhận dạng để điều

chỉnh thông số, đưa ra nhận xét và đánh giá

4 Sản phẩm: Mô hình nhận dạng được độ tuổi, giới tính thời gian thực dựa trên

khuôn mặt thông qua webcam và hiển thị kết quả dự đoán trên ứng dụng web

Trang 4

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập – Tự do – Hạnh phúc

-*** -

TP Hồ Chí Minh, ngày 30 tháng 7 năm 2022

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

Họ và tên sinh viên 1: Lê Thị Quỳnh Nhi

Họ và tên sinh viên 2: Nguyễn Thị Hồng Gấm

MSSV: 18142050 MSSV: 18161067 Ngành: CNKT Điện tử - Viễn thông

Tên đề tài: Thiết kế mô hình mạng CNN ứng dụng trong nhận dạng độ tuổi và giới tính

Họ và tên Giảng viên hướng dẫn: PGS.TS Trương Ngọc Sơn

NHẬN XÉT:

1 Về nội dung và khối lượng thực hiện:

2 Ưu điểm:

3 Khuyết điểm:

4 Đề nghị cho bảo vệ hay không?

5 Đánh giá loại:

6 Điểm:………… (Bằng chữ:……… )

GIẢNG VIÊN HƯỚNG DẪN

Trang 5

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập – Tự do – Hạnh phúc

-*** -

TP Hồ Chí Minh, ngày 30 tháng 7 năm 2022

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

Họ và tên sinh viên 1: Lê Thị Quỳnh Nhi

Họ và tên sinh viên 2: Nguyễn Thị Hồng Gấm

MSSV: 18142050 MSSV: 18161067 Ngành: CNKT Điện tử - Viễn thông

Tên đề tài: Thiết kế mô hình mạng CNN ứng dụng trong nhận dạng độ tuổi và giới

2 Ưu điểm:

3 Khuyết điểm:

4 Đề nghị cho bảo vệ hay không?

5 Đánh giá loại:

6 Điểm:………… (Bằng chữ:……….)

GIẢNG VIÊN PHẢN BIỆN

Trang 6

LỜI CẢM ƠN

Lời đầu tiên, nhóm thực hiện đề tài đồ án tốt nghiệp xin gửi lời cảm ơn chân thành đến Giảng viên hướng dẫn Thầy Trương Ngọc Sơn Trong suốt quá trình nhóm thực hiện đề tài, Thầy đã đưa ra những chỉ dẫn cũng như giải đáp thắc mắc và góp ý cho nhóm

Nhóm xin chân thành gửi lời cảm ơn đến các Thầy, Cô trong khoa Đào tạo Chất lượng cao đã hướng dẫn, truyền đạt lại kiến thức và kinh nghiệm quý giá, tạo điều kiện thuận lợi giúp cho nhóm có thể hoàn thành được đề tài

Ngoài ra, nhóm thực hiện đề tài cũng xin cảm ơn anh, chị và các bạn cùng khóa

đã nhiệt tình chia sẻ kiến thức, cũng như góp ý giúp nhóm hoàn thành đồ án tốt hơn Cuối cùng, mặc dù nhóm đã cố gắng hoàn thành các công việc, nhiệm vụ mà đề tài đặt ra, tuy nhiên vì chưa có nhiều kinh nghiệm và kiến thức của nhóm còn nhiều hạn chế nên sẽ không thể tránh khỏi những thiếu sót trong quá trình thực hiện, trình bày đề tài Nhóm mong Thầy, Cô thông cảm và rất mong nhận được những ý kiến đóng góp từ Thầy, Cô

Nhóm xin chân thành cảm ơn!

Trang 7

LỜI CAM ĐOAN

Nhóm thực hiện đồ án tốt nghiệp cam đoan không sao chép nội dung và kết quả của các công trình khác Tỷ lệ trùng lắp với các tài liệu khác là 28%, các nội dung

tham khảo trong đề tài đã được nhóm trích dẫn đầy đủ

Đại diện nhóm thực hiện đồ án tốt nghiệp (ký và ghi rõ họ tên)

Trang 8

MỤC LỤC

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

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

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

LỜI CẢM ƠN iv

LỜI CAM ĐOAN v

MỤC LỤC vi

DANH MỤC BẢNG BIỂU ix

DANH MỤC HÌNH ẢNH x

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

TÓM TẮT xiii

CHƯƠNG 1: TỔNG QUAN 1

1.1 GIỚI THIỆU 1

1.2 MỤC TIÊU ĐỀ TÀI 2

1.3 GIỚI HẠN ĐỀ TÀI 2

1.4 PHƯƠNG PHÁP NGHIÊN CỨU 3

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

1.6 BỐ CỤC QUYỂN BÁO CÁO 3

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

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

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

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

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

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

2.2.2 Lớp gộp (Pooling layer) 9

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

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

Trang 9

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

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

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

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

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

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

3.2.1 Phân tích tập dữ liệu 19

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

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

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

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

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

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

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

3.3.3.1 Phân loại giới tính 27

3.3.3.2 Phân loại độ tuổi 28

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

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

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

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

4.2.1 Giới tính 33

4.2.1.1 Kết quả huấn luyện 33

4.2.1.2 Ma trận nhầm lẫn (confusion matrix) 34

4.2.2 Độ tuổi 37

4.2.2.1 Kết quả huấn luyện 37

4.2.2.2 Ma trận nhầm lẫn 37

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

Trang 10

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

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

4.3.3 Kết quả tổng quan 44

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

5.1 KẾT LUẬN 46

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

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

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

5.2 PHƯƠNG HƯỚNG PHÁT TRIỂN 46

TÀI LIỆU THAM KHẢO 48

Trang 11

DANH MỤC BẢNG BIỂU

Bảng 3.1 Tỷ lệ phần trăm khuôn mặt nhóm người châu Á và các châu lục khác của

bộ dữ liệu 19

Bảng 3.2 Sự phân chia số lượng hình ảnh trong tập dữ liệu độ tuổi 19

Bảng 3.3 Sự phân chia số lượng ảnh trong tập dữ liệu giới tính 20

Bảng 3.4 Bảng phân chia tỷ lệ trong quá trình huấn luyện 20

Bảng 4.1 Trọng số kết nối của mô hình mạng VGG16 cho giới tính 31

Bảng 4.2 Trọng số kết nối của mô hình mạng VGG16 cho độ tuổi 32

Bảng 4.3 Ma trận nhầm lẫn cho bài toán giới tính 34

Bảng 4.4 Ma trận nhầm lẫn của mô hình phân loại độ tuổi 38

Bảng 4.5 Giá trị Precision, Recall, F1 của độ tuổi 39

Bảng 4.6 Kết quả nhận dạng độ tuổi, giới tính ở một số điều kiện khác nhau 44

Trang 12

DANH MỤC HÌNH ẢNH

Hình 2.1 Cấu trúc mạng nơ-ron tích chập [9] 6

Hình 2.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] 7

Hình 2.3 Ví dụ khi bước trượt (stride) bằng 1 7

Hình 2.4 Hình ảnh ngõ ra sau khi thêm padding 8

Hình 2.5 Các dạng hàm kích hoạt phổ biến 8

Hình 2.6 Phương pháp Max pooling [11] 10

Hình 2.7 Phương pháp Average Pooling [11] 10

Hình 2.8 Chuyển đổi vector 2 chiều thành 1 chiều [11] 10

Hình 2.9 Cấu trúc của lớp kết nối đầy đủ 11

Hình 2.10 Kiến trúc mạng VGG16 [9] 13

Hình 2.11 Một vài hình ảnh trích từ tập UTKFace 15

Hình 2.12 Một vài hình ảnh trích từ tập dữ liệu VN-celeb 16

Hình 2.13 Minh họa một vài hình ảnh thu thập từ Google Image, Getty Images và Dreamstime 16

Hình 2.14 Những hình ảnh bị loại bỏ khỏi tập dữ liệu 17

Hình 3.1 Ảnh minh họa cho cách đặt tên ảnh trong tập dữ liệu 18

Hình 3.2 Sơ đồ khối mô hình nhận dạng độ tuổi, giới tính 21

Hình 3.3 Sự thay đổi cấu trúc mô hình huấn luyện 23

Hình 3.4 Xác định các điểm mốc để phát hiện khuôn mặt 24

Hình 3.5 Kiến trúc mô hình phân loại độ tuổi, giới tính 25

Hình 3.6 Sơ đồ khối VGG1 và khối VGG2 25

Hình 3.7 Sơ đồ khối VGG3 và khối VGG4 26

Hình 3.8 Mô tả chi tiết lớp kết nối đầy đủ (FC) 27

Hình 3.9 Nhãn của dữ liệu ảnh 29

Hình 3.10 Minh họa giá trị nhãn thật và nhãn dự đoán 29

Hình 4.1 Kết quả của huấn luyện mô hình giới tính 34

Trang 13

Hình 4.2 Ma trận nhầm lẫn trong mô hình phân loại giới tính 36

Hình 4.3 Kết quả huấn luyện độ tuổi 37

Hình 4.4 Ma trận nhầm lẫn của mô hình phân loại độ tuổi 38

Hình 4.5 Kết quả nhận dạng nữ nhóm tuổi (1 – 9) 40

Hình 4.6 Kết quả nhận dạng nam nhóm tuổi (10 – 19) 40

Hình 4.7 Kết quả nhận dạng nữ ở nhóm tuổi (20 – 29) 41

Hình 4.8 Kết quả nhận dạng nam ở nhóm tuổi (20 – 29) 41

Hình 4.9 Kết quả nhận dạng nữ ở nhóm tuổi (50 – 59) 42

Hình 4.10 Kết quả nhận dạng nam ở nhóm tuổi (40 – 49) 42

Hình 4.11 Kết quả nhận dạng nam ở nhóm tuổi (20 – 29) 43

Hình 4.12 Kết quả nhận dạng đối với nữ ở nhóm tuổi (50 – 59) 43

Hình 4.13 Kết quả nhận dạng nữ nhóm tuổi (60 – 69) 44

Trang 14

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

AI Artificial Intelligence

ANN Artificial Neural Network

CNN Convolutional Neural Network

CPU Central Processing Unit

DNN Deep Neural Network

FC Fully Connected layer

GPU Graphics Processing Unit

MNIST Modified National Institute of Standards and Technology database

Trang 15

TÓM TẮT

Trong thời kì bùng nổ về kỹ thuật, công nghệ như hiện nay thì Trí tuệ nhân tạo (AI) đang nắm giữ vai trò rất quan trọng và được ứng dụng ngày càng nhiều trong các lĩnh vực công nghệ hiện đại Thách thức chính đối với AI là sử dụng máy tính để

xử lý các nhiệm vụ mà con người giải quyết bằng trực giác và não bộ Do đó các hệ thống AI phải có khả năng “bắt chước” chức năng nhận thức của con người, phân tích

dữ liệu, tiếp thu kiến thức, học hỏi và đưa ra các quyết định Để thực hiện được những chức năng này thì máy tính phải học tập và được huấn luyện hay còn được gọi là Học máy (Machine Learning), và Học sâu (Deap Learning) là một trong những cách tiếp cận đến Học máy được dùng phổ biến nhất Những năm gần đây, mô hình mạng nơ-ron tích chập (CNN) dựa trên Học sâu đã tạo nên một làn sóng bùng nổ trong lĩnh vực Thị giác máy tính do hiệu suất tuyệt vời của nó trong nhiệm vụ phân loại cũng như nhận dạng Đặc biệt phải nhắc đến là bài toán nhận dạng hay phát hiện khuôn mặt người và đi cùng với nó là nhận dạng cảm xúc, dân tộc, độ tuổi, giới tính Trong

đề tài này, quá trình nhận dạng độ tuổi, giới tính dựa trên khuôn mặt sẽ được nhóm thực hiện bằng cách xây dựng mô hình dùng mạng nơ-ron tích chập dựa trên kiến trúc mạng VGG16 Mô hình được huấn luyện giúp nhận dạng được đồng thời độ tuổi và giới tính của một người thông qua camera, kết quả dự đoán sẽ được hiển thị trên web

để dễ dàng quan sát

Trang 16

CHƯƠNG 1: TỔNG QUAN 1.1 GIỚI THIỆU

Mặc dù đã được các nhà nghiên cứu quan tâm và đề cập từ những năm 1955, nhưng đến hiện tại thì Trí tuệ nhân tạo (AI) mới thực sự được biết đến phổ biến ở hầu hết các quốc gia trên toàn thế giới Cuốn theo dòng chảy của cuộc Cách mạng công nghiệp 4.0, AI đã và đang phát triển rộng rãi, dần tham gia nhiều hơn vào các hoạt động của đời sống hàng ngày Một trong những nhánh chính của AI là Học máy (Machine Learning), với ưu điểm là có thể xử lý được lượng dữ liệu khổng lồ giúp cho việc huấn luyện, phân tích dữ liệu… trở nên hiệu quả hơn Thêm vào đó là sự đa dạng của các thuật toán Học sâu đã hỗ trợ rất nhiều trong việc xây dựng mô hình cho các bài toán trong lĩnh vực Thị giác máy tính Không chỉ dừng lại ở việc nhận diện đối tượng trong ảnh mà ngày nay Thị giác máy tính ngày càng được mở rộng hơn trong các bài toán khác như nhận dạng, phân loại biển báo giao thông, nhận diện giọng nói, khuôn mặt, cử chỉ và hành động… Đặc biệt, có thể thấy việc nhận dạng khuôn mặt trong vài năm gần đây rất phát triển và được ứng dụng rộng rãi Ngoài việc dựa vào khuôn mặt để xác định danh tính của đối tượng thì việc nhận diện cảm xúc, biểu cảm trên khuôn mặt hay giới tính và độ tuổi của họ cũng đang được quan tâm khá nhiều Thông thường việc nhận diện này đối với con người khá dễ dàng, nhưng việc cho máy móc nhận dạng đúng được độ tuổi, giới tính là một vấn đề phức tạp cũng như cần rất nhiều thời gian để nghiên cứu và phát triển Sau khi xây dựng được mô hình nhận dạng, nó có thể làm tiền đề cơ sở cho các ứng dụng liên quan ví

dụ như phân loại tuổi và giới tính tự động trong lĩnh vực thương mại, truyền thông Hay hướng đến ứng dụng cụ thể trong những trang web thương mại điện tử, giúp gợi

ý sản phẩm cho khách hàng dựa theo từng độ tuổi và giới tính của họ, từ đó các gợi

ý đưa ra cho từng cá nhân sẽ phù hợp hơn

Nhận thấy sự cần thiết của việc nhận dạng tuổi và giới tính dựa trên máy móc,

từ lâu các nhà nghiên cứu đã bắt đầu đưa ra các giải quyết cho bài toán này Năm

1990, Cattrel và Matcalfe đưa ra nghiên cứu sơ bộ cho mô hình nhận dạng giới tính, cảm xúc dùng Holo với bộ dữ liệu gồm 160 ảnh khuôn mặt của 10 đối tượng nam và

10 đối tượng nữ [1] Năm 1994, Kwon và Lobo đã đi đầu trong việc xây dựng bài toán ước lượng độ tuổi từ ảnh chụp khuôn mặt với ba loại đối tượng là trẻ sơ sinh, thanh niên và người già [2] Nhưng các bài toán thường là tách rời nhau, các mô hình nghiên cứu có nhiệm vụ riêng biệt và vẫn còn hạn chế trong quá trình nhận diện Gần đây, sự kết hợp nhận dạng đồng thời cả độ tuổi và giới tính cũng đã và đang được cải tiến để nâng cao độ chính xác Gần đây hơn vào năm 2015, Gil Levi cùng Tal Hassncer đã dùng CNN để phân loại độ tuổi và giới tính dựa trên tập dữ liệu Audience

Trang 17

benchmark gồm các khuôn mặt chưa được lọc [3] Từ nghiên cứu của Gil Levi và cộng sự cho thấy CNN có thể được sử dụng để huấn luyện mô hình và đưa ra các kết quả phân loại theo độ tuổi, giới tính được cải thiện khá nhiều

Có thể thấy đã có rất nhiều những nghiên cứu ngoài nước liên quan đến nhận dạng độ tuổi và giới tính như được nêu ở trên, nhưng trong nước thì đây vẫn là một

đề tài đang được tìm hiểu cũng như có khá ít bài báo tập trung về đề tài này Và đa

số độ tuổi trong các nghiên cứu được phân chia thành các nhóm nhỏ như (0 – 2), (4 – 6), (8 – 13), (15 – 20), (25 – 32), (38 – 43), (48 – 53) và (60 – 100) [3], [4], [5] Giữa các nhóm tuổi có khoảng cách khá xa và một số độ tuổi không nằm trong nhóm tuổi đó sẽ không được phân loại hay nhận dạng

Dựa trên những phân tích liên quan đến đề tài, nhóm vẫn sử dụng mô hình mạng CNN dựa trên kiến trúc VGG sẵn có, tuy nhiên điểm khác biệt đó là nhóm thực hiện tạo môt bộ cơ sở dữ liệu (dataset) mới, thay đổi các lớp trong mô hình mạng và chia lại tỷ lệ nhóm tuổi Với mục tiêu nhận diện độ tuổi, giới tính thời gian thực cùng

một lúc, nhóm lựa chọn thực hiện đề tài “Thiết kế mô hình mạng CNN ứng dụng trong nhận dạng độ tuổi và giới tính” Mô hình định hướng đến việc phân chia các nhóm

tuổi với độ tuổi liên tiếp để có thể nhận dạng khuôn mặt ở mọi độ tuổi và giới tính

- Mô hình mạng CNN được thiết kế dựa trên kiến trúc VGG16 Tuy nhiên thay đổi một số thông số để phù hợp với tập dữ liệu mà mục tiêu phân loại độ tuổi, giới tính

- Dữ liệu đầu vào được nhận dạng thời gian thực thông qua camera laptop và kết quả hiển thị độ tuổi, giới tính trên màn hình thông qua web

1.3 GIỚI HẠN ĐỀ TÀI

Đề tài chỉ tập trung nghiên cứu nhận dạng độ tuổi và giới tính dựa vào tập dữ liệu bao gồm các khuôn mặt được chụp cận mặt ở điều kiện ban ngày, đủ ánh sáng, góc chụp là trực diện

Trang 18

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

- Tìm hiểu về lý thuyết của mạng nơ-ron tích chập, kiến trúc mạng VGG16

- Tạo bộ cơ sở dữ liệu mới gồm 18000 ảnh

- Nghiên cứu bài toán về phân loại độ tuổi, giới tính

- Thiết kế, xây dựng mô hình phát hiện khuôn mặt, phân loại tuổi và giới tính

- Tìm hiểu các phương pháp cải thiện độ chính xác, dựa trên độ chính xác để thay đổi các thông số trong mô hình mạng sao cho tối ưu

- Phân tích và đánh giá mô hình mạng

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

- Đối tượng nghiên cứu: mạng nơ-ron tích chập, kiến trúc mạng VGG16 Tập

dữ liệu UTKFace, VN-celeb… Mô hình mạng dùng để phát hiện khuôn mặt, phân loại độ tuổi, giới tính

- Phạm vi nghiên cứu: nghiên cứu từ những mô hình đã có, áp dụng kiến trúc VGG16 vào mô hình huấn luyện Một số phương pháp cải thiện độ chính xác

1.6 BỐ CỤC QUYỂN BÁO CÁO

Nội dung của đề tài được trình bày bao gồm 5 chương như sau:

- 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ế

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

Trang 19

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

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

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.1.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

Trang 20

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

2.2 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ố

Trang 21

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

Hình 2.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

2.2.1 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

Trang 22

Hình 2.2 Ví dụ về phép tích chập với hình ảnh đầu vào (6x6x3) và bộ lọc

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 bên dưới

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 Để ngõ ra cũng có kích thước là

Trang 23

5x5 ta sẽ thêm số 0 ở ngoài viền ngõ vào sau đó mới áp bộ lọc lên Ví dụ được minh hoạ như Hình 2.4 bên dưới

Hình 2.4 Hình ảnh ngõ ra sau khi thêm padding

Feature map (mạng đặc trưng): là ngõ ra của ảnh đầu vào khi bộ lọc được dịch

chuyển trên hết bức ảnh với phép tích vô hướng Có thể nói feature map sẽ lọc các đặc trưng của ngõ vào ví dụ như đường viền, cạnh, góc… và các lớp tiếp theo sẽ trích xuất tiếp những đặc trưng của ngõ vào đó, bằng cách sử dụng nhiều lớp như vậy sẽ chia nhỏ được các đặc trưng của ảnh nhất có thể Công thức (1) được dùng để tính kích thước ma trận ngõ ra là:

s: là bước trượt (stride)

Hàm kích hoạt (activation function): Hàm này được dùng nhằm đảm bảo tính

phi tuyến của mô hình huấn luyện sau quá trình thực hiện một loạt phép tính ở lớp tích chập Các hàm kích hoạt phi tuyến chuyên dùng như hàm Sigmoid, hàm Tanh và hàm ReLU như được thể hiện ở Hình 2.5 bên dưới:

Hình 2.5 Các dạng hàm kích hoạt phổ biến

Trang 24

Hàm Sigmoid: công thức σ = 1

1+ 𝑒 −𝑥 có giá trị ngõ ra nằm trong khoảng (0, 1)

Ưu điểm của hàm này là việc thực hiện phép đạo hàm đơn giản hơn các hàm khác nên giảm thiểu được khối lượng tính toán trong quá trình huấn luyện Tuy nhiên, nhược điểm của hàm Sigmoid là gây ra hiện tượng Vanishing gradient (giá trị cập nhật tiến dần về 0 dẫn đến không cập nhật tham số)

𝑥 − 𝑒−𝑥

𝑒 𝑥 + 𝑒 −𝑥 có giá trị ngõ ra (-1, 1) Hàm Tanh cũng có hiện tượng Vanishing gradient nhưng hàm này có giá trị kì vọng bằng 0 giúp cho việc học ở các lớp sâu nhanh hơn

Hàm ReLU: có công thức là f(x) = max (0, x) Hàm ReLU được hiểu đơn giản

hơn là giữ lại giá trị lớn hơn 0, còn những giá trị nhỏ hơn 0 sẽ được xem là bằng 0 Với ưu điểm là tốc độ hội tụ và khả năng tính toán nhanh, hiện nay hầu hết các mô hình CNN đều sử dụng hàm ReLU trong quá trình huấn luyện

Trong lớp tích chập này, hàm ReLU được dùng nhiều hơn thay vì hàm Sigmod

hay hàm Tanh vì nó hạn chế sự triệt tiêu của Gradient Descent, tốc độ xử lý nhanh,

đơn giản mà vẫn giữ được hiệu quả tốt trong khi tính toán Áp dụng hàm kích hoạt ReLU lên đầu ra của lớp tích chập, nhằm mục đích chuyển các giá trị âm của ngõ vào thành giá trị 0, giúp loại bỏ hết những giá trị âm không cần thiết gây ảnh hưởng đến việc tính toán ở các lớp tiếp theo

2.2.2 Lớp gộp (Pooling layer)

Đây là lớp được chèn vào giữa những lớp tích chập để giảm kích thước của dữ liệu bằng cách lấy mẫu (sampling) Mục đích của việc này là giúp giảm bớt số lượng nơ-ron và đơn giản hóa thông tin ngõ ra nhưng sẽ vẫn giữ được thông tin quan trọng của ma trận Thông thường, lớp gộp có nhiều phương thức phù hợp cho nhiều bài toán khác nhau, tuy nhiên hai phương pháp nổi bật nhất là Max Pooling (tổng hợp tối đa)

và Average Pooling (tổng hợp trung bình)

Max Pooling được sử dụng nhiều nhất với ý tưởng giữ lại những chi tiết có đặc

điểm nổi bật nhất hay nói cách khác chính giữ lại pixel có giá trị lớn nhất Bằng cách chia ngõ vào thành các ô cửa sổ (window), thông thường cửa sổ của Max Pooling là 2x2 (vì nếu lấy giá trị quá lớn, nó sẽ phá vỡ cấu trúc ảnh và làm ảnh hưởng đến dữ liệu ngõ vào), sử dụng bước trượt là 2 hay chính bằng với kích thước của ô cửa sổ để không bị trùng lặp Kích thước của ngõ ra sau khi đi qua lớp Max Pooling sẽ giảm đi một nửa nhưng vẫn giữ được những điểm nổi bật nhất của ngõ vào

Trang 25

Ví dụ cho Max Pooling dùng bộ lọc 2x2, có bước trượt (stride) bằng 2 Bộ lọc

sẽ trượt theo chiều ngang và dọc của ảnh Và với mỗi vùng ảnh được áp bộ lọc lên sẽ chọn ra 1 giá trị lớn nhất và giữ lại như Hình 2.6 bên dưới

Hình 2.6 Phương pháp Max pooling [11]

Average Pooling (lấy giá trị trung bình) cũng khá phổ biến Hình ảnh cũng sẽ

được chia thành các cửa sổ tương tự như Max Pooling Tuy nhiên, ở phương pháp này những giá trị trong cửa sổ sẽ được cộng lại với nhau sau đó lấy trung bình của các phần tử, được minh hoạ như Hình 2.7

Hình 2.7 Phương pháp Average Pooling [11]

Tóm lại, chức năng chính của lớp gộp là làm giảm kích thước của đầu vào và giảm độ phức tạp tính toán, bên cạnh đó lớp gộp còn giúp kiểm soát hiện tượng overfitting (học quá mức)

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

Trước khi đưa ảnh vào lớp này, buộc phải chuyển đổi ngõ vào thành mảng một chiều hay nói cách khác là mảng nhiều chiều sẽ được làm phẳng (flatten) rồi chuyển đổi thành vector một chiều, sự chuyển đổi thể hiện ở Hình 2.8 bên dưới

Hình 2.8 Chuyển đổi vector 2 chiều thành 1 chiều [11]

Trang 26

Trong lớp kết nối đầy đủ, mỗi nơ-ron của lớp này sẽ liên kết đến từng nơ-ron của lớp khác như Hình 2.9, cũng tương tự như một mạng nơ-ron truyền thống

Hình 2.9 Cấu trúc của lớp kết nối đầy đủ

Ngõ ra của lớp này sẽ thực hiện “bầu chọn” xem những đặc trưng thu được giống với kết quả hay nhãn đầu vào nào nhất, từ đó xác định được nhãn của dữ liệu đầu vào

là gì

Ở lớp cuối cùng thông thường sẽ dùng một số hàm như hàm Softmax, Sigmoid

để phân loại các đối tượng dựa trên đặc điểm của các vector đặc trưng đã được tính toán ở các lớp trước đó Trong bài toán phân lớp đa nhãn (multiclass classification) hàm Softmax được dùng phổ biến hơn vì những ưu điểm riêng của nó Cụ thể các giá trị đi qua hàm Softmax sẽ được chuyển đổi thành các giá trị xác suất, vì vậy ngõ ra lúc này chính là một vector xác suất dự đoán của các lớp Để hiểu rõ hơn ta xem công thức (2) sau:

softmax(z j ) = 𝑒𝑧𝑗

∑ 𝐾 𝑒 𝑧𝑘 𝑘=1

(2)

Softmax nhận đầu vào là một mảng số thực còn đầu ra là một phân phối xác suất với mỗi phần tử nằm trong khoảng [0 – 1] và tổng các phần tử là 1 (tương ứng với 100%)

2.3 KIẾN TRÚC MẠNG VGG

2.3.1 Tổng quan về mạng VGG

Trang 27

Được ra mắt vào năm 2014 trong cuộc thi ImageNet, VGG đã biết đến rộng rãi với một số kiến trúc cải thiện hơn so với Alexnet Trong khi mạng LeNet và AlexNet

sử dụng các lớp theo thứ tự Conv-Maxpooling thì kiến trúc của VGG lại được xây dựng với các lớp Conv liên tiếp Conv-Conv-Conv [9] Nhờ vậy, những đặc trưng của

dữ liệu sẽ được giữ lại nhiều hơn so với việc dùng Maxpooling ngay sau lớp Conv, tuy nhiên việc tính toán cũng sẽ trở nên chậm hơn VGGNet là mạng nơ-ron tích chập sâu cơ bản Từ “sâu” đề cập đến số lượng các lớp với VGG16 gồm 16 lớp và VGG19 gồm 19 lớp phức hợp Kiến trúc VGG là cơ sở của các mô hình nhận dạng đối tượng mang tính đột phá và hiện nay nó là một trong những kiến trúc nhận dạng hình ảnh phổ biến nhất Kiến trúc sơ lược của VGGNet bao gồm:

Đầu vào: VGGNet có kích thước hình ảnh đầu vào là 224x224 Trong cuộc

thi ILSVRC, những người tạo ra mô hình đã sử dụng kích thước 224×224 trong mỗi hình ảnh để giữ cho kích thước dữ liệu ngõ vào được nhất quán Tuy nhiên, kích thước ảnh đầu vào có thể được tùy chỉnh để phù hợp hơn với các mô hình nhận dạng khác nhau

Các lớp tích chập (convolution layers): những lớp này dùng receptive field

(vùng mà filte trượt trên ảnh) tối thiểu là 3x3 Hơn nữa, còn có các bộ lọc tích chập 1x1 hoạt động như một phép biến đổi tuyến tính của ngõ vào Kế tiếp là hàm ReLU,

nó là một hàm tuyến tính giúp cải thiện khả năng huấn luyện Bước trượt (stride) được giữ cố định ở 1 pixel để giữ nguyên độ phân giải sau khi thực hiện tích chập

Các lớp ẩn (hidden layers): tất cả các lớp ẩn trong VGGNet đều dùng hàm

ReLU VGG thường không dùng Local Response Normalization (LRN) vì nó làm tăng thời gian huấn luyện và tiêu thụ bộ nhớ Hơn nữa, nó không cải thiện độ chính xác tổng thể

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

VGG16 là mạng nơ-ron tích chập được đưa ra bởi A Zisserman và K Simonyan Mô hình sau khi được huấn luyện bởi kiến trúc mạng VGG16 đã đạt độ chính xác cao lên đến 92.7% và đạt top 5 trong tập dữ liệu ImageNet gồm 14 triệu hình ảnh thuộc 1000 lớp khác nhau Kiến trúc của VGG16 được thể hiện như Hình 2.10 bên dưới

Trang 28

Hình 2.10 Kiến trúc mạng VGG16 [9]

Trong kiến trúc VGG16 gồm có 16 lớp với 13 lớp tích chập (2 nhóm lớp tích chập liền nhau Conv-Conv và 3 nhóm lớp tích chập Conv-Conv-Conv), theo sau mỗi nhóm lớp Conv là lớp Maxpooling, cuối cùng là 3 lớp kết nối đầy đủ và 1 lớp ngõ ra Softmax Tổng tham số (parameters) trong mô hình là hơn 138 triệu tham số Cụ thể hơn, các lớp có các thông số như sau [8]:

- Lớp Conv1, Conv2: kích thước bộ lọc là (3x3x64) với số lượng tham số lần lượt

là 1.728 và 36.864

- Lớp Pooling 1: kích thước 2x2, stride = 2, padding = 0 Tạo ra feature map có

kích thước giảm một nửa còn (112x112x3) và giữ nguyên chiều sâu từ lớp Conv2

- Lớp Conv3, Conv4: kích thước bộ lọc là (3x3x128), số tham số lần lượt là

73.728 và 147.456

- Lớp Pooling 2: kích thước 2x2, stride = 2, padding = 0 Tạo ra feature map có

kích thước giảm đi một nửa còn (56x56x3), giữ nguyên chiều sâu từ đầu ra ở lớp trước

- Lớp Conv5, Conv6, Conv7: kích thước bộ lọc (3x3x256), số tham số lần lượt ở

lớp Conv5 là 294.912, ở lớp Conv6 và Conv7 bằng nhau là 589.824

- Lớp Pooling 3: kích thước 2x2, stride = 2, padding = 0 Tạo ra feature map có

kích thước giảm còn (28x28x3), giữ nguyên chiều sâu

- Lớp Conv8, Conv9 và Conv10: kích thước bộ lọc là (3x3x512) với số tham số

lần lượt ở lớp Conv8 là 1.179.648, lớp Conv9 và Conv10 bằng nhau là đều có 2.359.296 tham số

- Lớp Pooling 4: kích thước 2x2, stride = 2, padding = 0 Tạo ra feature map có

kích thước giảm còn (14x14x3), chiều sâu giữ nguyên

- Lớp Conv11, Conv12 và Conv13: kích thước bộ lọc (3x3x512), số tham số ở 3

lớp đều giống nhau là 2.359.296

- Lớp Pooling 5: kích thước 2x2, stride = 2, padding = 0 Tạo ra feature map có

kích thước giảm còn (7x7x3), chiều sâu giữ nguyên

Trang 29

- Lớp Fully connected 1, 2, 3: số nơ-ron ở mỗi lớp đều bằng 4096 nơ-ron Số

tham số ở lớp FC1 là 102.760.448, ở lớp FC2 là 16.777.216 và ở lớp FC3 là 4.096.000

- Cuối cùng là ngõ ra hàm Softmax với 10.000 nơ-ron

Nhìn chung, các lớp Conv có kích thước kernel là 3x3 với các độ sâu khác nhau Càng về các lớp Conv sau thì kích thước của chiều dài, chiều rộng càng giảm nhưng depth (độ sâu) lại càng tăng, điều này giúp mô hình mạng học sâu hơn (phù hợp với bài toán nhận dạng và phân loại), giảm tham số tính toán cho mô hình Bên cạnh đó còn dùng hàm ReLU ngay sau mỗi Conv Sau khá nhiều lớp tích chập và lớp Pooling,

dữ liệu được làm phẳng (flatten) và đưa vào lớp kết nối đầy đủ (fully connected layer)

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

Trong đề tài này, nhóm thực hiện thu thập một bộ cơ sở dữ liệu hình ảnh mới bao gồm 18000 ảnh có kích thước bằng nhau là 224x224 pixel Trong hầu hết các bộ

dữ liệu được công bố hiện nay, tỷ lệ hình ảnh người phương Tây thường chiếm đa số, một số bộ dữ liệu khác cần phải có bản quyền để truy cập và sử dụng Vì các đặc trưng trên khuôn mặt người châu Á sẽ có nhiều điểm khác biệt so với người châu Âu, châu Mỹ… nên khi ứng dụng vào việc nhận dạng độ tuổi, giới tính trong môi trường

có nhiều người châu Á sẽ không đạt hiệu quả tối ưu Bên cạnh đó, đặc điểm chung của các tập dữ liệu công khai này là tỷ lệ giới tính (nam, nữ) và độ tuổi không cân bằng Với mục tiêu tạo ra sự đồng đều về tỷ lệ giới tính ở mọi độ tuổi cũng như cải thiện tỷ lệ phần trăm khuôn mặt của nhóm người châu Á, nhóm đã xây dựng một bộ

dữ liệu mới bằng cách thu thập hình ảnh từ nhiều nguồn khác nhau Một số nguồn chính bao gồm tập dữ liệu UTKFace chiếm khoảng 40% trên toàn bộ dữ liệu, bộ VN-celeb (Tập dữ liệu khuôn mặt người nổi tiếng Việt Nam) chiếm khoảng 30% và 30% còn lại đến từ các trang web như Google Image, Getty Images, Dreamstime

UTKFace là bộ cơ sở dữ liệu chứa đựng hơn 20.000 hình ảnh khuôn mặt đa dạng với tên ảnh được đặt để phân loại về dân tộc, giới tính và độ tuổi trải dài từ 0 đến 116 tuổi Các ảnh có nhiều sự thay đổi so với nhau từ biểu cảm, góc chụp, cho đến độ chiếu sáng Bộ dữ liệu này còn có thể được dùng cho nhiều mục đích như phát hiện khuôn mặt, ước tính tuổi, nhận diện giới tính, dân tộc… Một số hình ảnh trong tập UTKFace được thể hiện như Hình 2.11 bên dưới

Trang 30

Hình 2.11 Một vài hình ảnh trích từ tập UTKFace

Đặc điểm nổi bật của tập UTKFace này được thể hiện qua sự đa dạng của hình ảnh các khuôn mặt trong tự nhiên và mỗi ảnh là một khuôn mặt khác nhau Tuổi, giới tính, chủng tộc được ước tính thông qua thuật toán DEX [12] và được kiểm tra lại bởi con người Các ảnh được căn chỉnh chủ yếu là hình ảnh trực diện, được cắt thành một kích thước chung là 200x200 pixel Tuy nhiên, bộ dữ liệu này chứa khá ít khuôn mặt người châu Á, chủ yếu chỉ tập trung vào hình ảnh khuôn mặt của các chủng tộc khác như người Da đen, Mỹ La Tinh, Trung Đông

Nguồn dữ liệu thứ hai đến từ tập VN-celeb chứa hơn 23000 ảnh khuôn mặt của

1000 người nổi tiếng ở Việt Nam, kích thước ảnh là 128x128 pixel Trung bình mỗi một người sẽ có gần 20 ảnh ở các độ tuổi khác nhau trong cuộc đời họ (từ lúc trẻ đến khi già) và đa số các hình ảnh tập trung vào độ tuổi từ 20 đến 50 tuổi Vì tập VN-celeb được tạo ra với mục đích chỉ nhận dạng khuôn mặt nên các hình ảnh trong tập

dữ liệu này không được xác định độ tuổi Một vài hình ảnh lấy từ tập dữ liệu này được thể hiện ở Hình 2.12

Trang 31

Hình 2.12 Một vài hình ảnh trích từ tập dữ liệu VN-celeb

Phần còn lại của tập dữ liệu nhóm thu thập từ các nguồn internet được minh họa

ở Hình 2.13 Các nguồn gồm Google Image, Getty Images và Dreamstime Google Image là một kho dữ liệu ảnh khổng lồ nhưng chất lượng ảnh thường không được cao, bị lẫn nhiều hình ảnh không liên quan đến từ khóa tìm kiếm nên nhóm chỉ thu thập một số ít hình ảnh trên nền tảng này Getty Images là một kho ảnh trực tuyến cung cấp lượng hình ảnh lớn nhất thế giới, chứa đa dạng hình ảnh ở mọi chủ đề với chất lượng ảnh cao Dreamstime bao gồm nhiều ảnh miễn phí hoặc có bản quyền, ảnh chất lượng tốt và được xếp theo chủ đề rất dễ dàng để tìm kiếm

Hình 2.13 Minh họa một vài hình ảnh thu thập từ Google Image, Getty

Images và Dreamstime

Tuy nhiên, hình ảnh lấy từ những nguồn trên đa số là ảnh bán thân trong khi mục tiêu của tập dữ liệu là chỉ lấy các đặc trưng của khuôn mặt, do đó trước khi được dùng để huấn luyện, các ảnh này được cắt để lấy đúng vùng khuôn mặt và bỏ những phần dư thừa như phần vai, ngoại cảnh… Bên cạnh đó, mặc dù số lượng ảnh trong

Trang 32

các tập dữ liệu rất lớn nhưng lượng ảnh không đạt chất lượng, bị trùng lặp và không nằm trong độ tuổi cần thiết rất nhiều, vì vậy nhóm sẽ loại bỏ những ảnh không phù hợp như Hình 2.14 bên dưới

Hình 2.14 Những hình ảnh bị loại bỏ khỏi tập dữ liệu

Những hình ảnh bị nhiễu như ảnh có độ mờ cao, không xác định được rõ đường nét như mắt, mũi, miệng, khuôn mặt nghiên hẳn sang một bên và hình không xác định

rõ được giới tính sẽ bị loại bỏ khỏi tập dữ liệu Các khuôn mặt có nét đặc trưng rõ cho từng độ tuổi sẽ được thu thập

Ngày đăng: 08/05/2023, 17:43

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Garrison W. Cottrell and Janet Metcalfe, “EMPATH: Face, Emotion and Gender Recognition Using Holons”, Part of Advances in Neural Information Processing Systems 3 (NIPS), 1990 Sách, tạp chí
Tiêu đề: EMPATH: Face, Emotion and Gender Recognition Using Holons
Tác giả: Garrison W. Cottrell, Janet Metcalfe
Nhà XB: Advances in Neural Information Processing Systems 3 (NIPS)
Năm: 1990
[4]. Md. Nahidul Islam Opu, Tanha Kabir Koly, Annesha Das and Ashim Dey, “A Lightweight Deep Convolutional Neural Network Model for Real-Time Age and Gender Prediction”, Third International Conference on Advances in Electronics, Computers and Communications (ICAECC), December 2020 Sách, tạp chí
Tiêu đề: A Lightweight Deep Convolutional Neural Network Model for Real-Time Age and Gender Prediction
Tác giả: Md. Nahidul Islam Opu, Tanha Kabir Koly, Annesha Das, Ashim Dey
Nhà XB: Third International Conference on Advances in Electronics, Computers and Communications (ICAECC)
Năm: 2020
[5]. Raya Rahadian and Suyanto Suyanto, “Deep Residual Neural Network for Age Classification with Face Image”, International Seminar on Research of Information Technology and Intelligent Systems (ISRITI), December 2019 Sách, tạp chí
Tiêu đề: Deep Residual Neural Network for Age Classification with Face Image
[7]. Y. Lecun, L. Bottou, Y. Bengio and P. Haffner, “Gradient-based learning applied to document recognition”, Proceedings of the IEEE, November 1998 Sách, tạp chí
Tiêu đề: Gradient-based learning applied to document recognition
Tác giả: Y. Lecun, L. Bottou, Y. Bengio, P. Haffner
Năm: 1998
[8]. Đoàn Hồng Quang, Lê Hồng Minh và Thái Doãn Nguyên, “Nhận dạng khuôn mặt trong video bằng mạng nơ-ron tích chập”, Trung tâm Công nghệ Vi điện tử và Tin học, Viện Ứng dụng Công nghệ, 28/8/2019 Sách, tạp chí
Tiêu đề: Nhận dạng khuôn mặt trong video bằng mạng nơ-ron tích chập
Tác giả: Đoàn Hồng Quang, Lê Hồng Minh, Thái Doãn Nguyên
Nhà XB: Trung tâm Công nghệ Vi điện tử và Tin học
Năm: 2019
[9]. Nguyễn Đình Hóa, “Nghiên cứu phân loại độ tuổi của người bằng hình ảnh sử dụng mạng nơ-ron tích chập”, Học viện Công nghệ Bưu chính Viễn thông, 2020 Sách, tạp chí
Tiêu đề: Nghiên cứu phân loại độ tuổi của người bằng hình ảnh sử dụng mạng nơ-ron tích chập
Tác giả: Nguyễn Đình Hóa
Nhà XB: Học viện Công nghệ Bưu chính Viễn thông
Năm: 2020
[10]. Anton Hristov, Maria Nisheva and Dimo Dimov, “Filters in Convolutional Neural Networks as Independent Detectors of Visual Concepts”, Proceedings of the 20th International Conference on Computer Systems and Technologies, June 2019 Sách, tạp chí
Tiêu đề: Proceedings of the 20th International Conference on Computer Systems and Technologies
Tác giả: Anton Hristov, Maria Nisheva, Dimo Dimov
Năm: 2019
[11]. Nguyễn Hồng Quang, Trinh Văn Loan và Phạm Ngọc Hưng, “Nhận dạng phương ngữ tiếng Việt sử dụng mạng nơron tích chập CNN”, Kỷ yếu Hội nghị Quốc Sách, tạp chí
Tiêu đề: Nhận dạng phương ngữ tiếng Việt sử dụng mạng nơron tích chập CNN
Tác giả: Nguyễn Hồng Quang, Trinh Văn Loan, Phạm Ngọc Hưng
[12]. Rasmus Rothe, Radu Timofte, Luc Van Gool, “DEX: Deep EXpectation of apparent age from a single image”, People Workshop International Conference on Computer Vision (ICCV), 2015 Sách, tạp chí
Tiêu đề: DEX: Deep EXpectation of apparent age from a single image
Tác giả: Rasmus Rothe, Radu Timofte, Luc Van Gool
Nhà XB: People Workshop International Conference on Computer Vision (ICCV)
Năm: 2015
[13]. Nguyễn Thanh Tuấn, “Deep Learning cơ bản”, The Legrand Orange Book Template by Mathias Legrand, 8/2020 Sách, tạp chí
Tiêu đề: Deep Learning cơ bản
Tác giả: Nguyễn Thanh Tuấn
Nhà XB: The Legrand Orange Book Template by Mathias Legrand
Năm: 2020
[14]. Diederik P. Kingma and Jimmy Lei Ba, “ADAM: A METHOD FOR STOCHASTIC OPTIMIZATION”, Published as a conference paper at the 3rd International Conference for Learning Representations, San Diego, 2015 Sách, tạp chí
Tiêu đề: ADAM: A METHOD FOR STOCHASTIC OPTIMIZATION
Tác giả: Diederik P. Kingma, Jimmy Lei Ba
Nhà XB: 3rd International Conference for Learning Representations
Năm: 2015
[15]. Sofia Visa, Brian Ramsay, Anca Ralescu, Esther van der Knaap, “Confusion Matrix-based Feature Selection”, Proceedings of The 22nd Midwest Artificial Intelligence and Cognitive Science Conference 2011, Cincinnati, Ohio, USA, April 16-17, 2011 Sách, tạp chí
Tiêu đề: Proceedings of The 22nd Midwest Artificial Intelligence and Cognitive Science Conference
Tác giả: Sofia Visa, Brian Ramsay, Anca Ralescu, Esther van der Knaap
Năm: 2011
[16]. Krishna Singh, Mohamed Elhoseny, Akansha Singh, Ahmed Elngar, “Machine Learning and the Internet of Medical Things in Healthcare”, Elsevier Inc, April 14, 2021 Sách, tạp chí
Tiêu đề: Machine Learning and the Internet of Medical Things in Healthcare
Tác giả: Krishna Singh, Mohamed Elhoseny, Akansha Singh, Ahmed Elngar
Nhà XB: Elsevier Inc
Năm: 2021
[2]. Young Ho Kwont and Niels da Vitoria Lobo, “Age Classification from Facial Images”, Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, June 1994 Khác
[3]. Gil Levi and Tal Hassncer, “Age and gender classification using convolutional neural networks”, IEEE Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), June 2015 Khác
[6]. Saad Albawi, Tareq Abed Mohammed and Saad Al-Zawi, “Understanding of a convolutional neural network”, International Conference on Engineering and Technology (ICET), August 2017 Khác

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w