Mục đích của Luận văn này nhằm đề xuất xây dựng mô hình kiến trúc mạng nơ-ron tích chập để phân lớp dữ liệu hình ảnh mặt người để dự đoán ra độ tuổi của người đó. Để hiểu rõ hơn mời các bạn cùng tham khảo nội dung chi tiết của Luận văn này.
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - SOULINSOMPHOU Oupala 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 Chuyên ngành : KHOA HỌC MÁY TÍNH Mã số : 8.48.01.01 TĨM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT HÀ NỘI – NĂM 2020 Luận văn hoàn thành tại: HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG Người hướng dẫn khoa học: TS NGUYỄN ĐÌNH HĨA Phản biện 1: ………………………………………………………………………… Phản biện 2: ……………………………………………………………………… Luận văn bảo vệ trước Hội đồng chấm luận văn thạc sĩ Học viện Cơng nghệ Bưu Viễn thơng Vào lúc: ngày tháng năm 2020 Có thể tìm hiểu luận văn tại: - Thư viện Học viện Cơng nghệ Bưu Viễn thơng PHẦN MỞ ĐẦU Với phát triển phần cứng mạnh mẽ cho phép tính tốn song song hàng tỉ phép tính, tạo tiền đề cho Mạng nơ-ron tích chập trở nên phổ biến đóng vai trị quan trọng phát triển trí tuệ nhân tạo nói chung xử lý ảnh nói riêng Một ứng dụng quan trọng mạng nơ-ron tích chập cho phép máy tính có khả “nhìn” “phân tích” hình ảnh Phân tích đặc điểm khn mặt người chủ đề quan tâm chủ yếu tính ứng dụng Hiện kỹ thuật Deep Learning kỹ thuật hiệu giúp phân tích đặc điểm dựa khuôn mặt người Trong tuổi tác giới tính, hai số đặc điểm quan trọng, đóng vai trị tương tác xã hội Mặc dù vai trị mà thuộc tính đóng góp sống hàng ngày, song khả tự động ước tính độ tuổi xác đáng tin cậy từ hình ảnh khn mặt người chưa đáp ứng nhu cầu ứng dụng thương mại Từ việc ước tính độ tuổi từ hình ảnh khn mặt người nhiệm vụ quan trọng ứng dụng thơng minh, kiểm sốt truy cập, tương tác người với máy tính, thực thi pháp luật, trí thơng minh tiếp thị giám sát trực quan Trong luận văn em đề xuất xây dựng mơ hình kiến trúc mạng nơ-ron tích chập để phân lớp liệu hình ảnh mặt người để dự đốn độ tuổi người Dựa vào thực trạng kết hợp với kỹ thuật khai phá liệu học hỏi nghiên cứu để đưa đề tài “Nghiên cứu phân loại độ tuổi người ảnh mặt người sử dụng mạng nơ ron tích chập” Nội dung Luận văn xây dựng thành chương sau: Chương Giới thiệu Tổng quan Bài toán phân loại độ tuổi người hình ảnh, bao gồm tổng quan về toán phân loại ảnh mặt người, nghiện cứu liên quan số ứng dụng thực tế toán phân loại độ tuổi ảnh mặt người Chương Phân loại độ tuổi người hình ảnh sử dụng mạng nơ ron tích chập Trên sở xác định hướng giải luận án Chương 1, Chương giới thiệu mạng nơ ron tích chập kiến trúc mạng phương pháp học sâu Chương trình bày kỹ thuật tiền xử lý liệu đầu vào việc xây dựng mơ hình huấn luyện cho toán Chương Cài đặt thử nghiệm Chương giới thiệu liệu sử dụng tốn, mơi trường thực áp dụng mơ hình tốt xây dựng chương vào liệu đánh giá kết phân loại độ tuổi 2 CHƯƠNG 1: TỔNG QUAN VỀ BÀI TỐN PHÂN LOẠI ĐỘ TUỔI CỦA NGƯỜI BẰNG HÌNH ẢNH 1.1 Giới thiệu toán phân loại độ tuổi người qua hình ảnh 1.1.1 Tổng quan Việc phân tích trích xuất thơng tin có từ ảnh mặt người nhà khoa học nghiên cứu từ đầu năm 90 kỷ trước Điều có nhiều thơng tin có ích khai thác từ ảnh khn mặt, ví dụ danh tính, giới tính, độ tuổi, cảm xúc, cử tương tác, dân tộc, tình trạng sức khỏe,… Trong số thơng tin suy từ ảnh mặt người, độ tuổi thuộc tính quan trọng có nhiều ứng dụng thực tế, ví dụ tương tác người máy, quảng cáo có định hướng, thống kê dân số Khuôn mặt đối tượng thể người hình ảnh khn mặt mang nhiều thông tin quan trọng như: tuổi tác, giới tính, trạng thái cảm xúc, dân tộc, Trong đó, việc xác định tuổi tác giới tính quan trọng, đặc biệt giao tiếp, cần sử dụng từ ngữ phù hợp với giới tính người nghe ví dụ tiếng Việt có: anh/chị, chú/cơ Hay với nhiều ngơn ngữ khác giới, chẳng hạn tiếng Việt lời chào hỏi dành cho người lớn tuổi khác với người trẻ tuổi Do đó, việc xác định tuổi giới tính dựa khn mặt tốn quan trọng, có ý nghĩa thực tế to lớn 1.2 Hướng tiếp cận giải tốn Phương pháp giải tốn phân làm hai loại phương pháp học, Phương pháp học máy truyền thống Phương pháp học sâu 1.2.1 Phương pháp học sâu Trong luận văn áp dụng phương pháp học sâu để giải tốn phân loại độ tuổi người hình ảnh Học sâu (Deep Learning) hay viết tắt DL thuật toán dựa số ý tưởng từ não tới việc tiếp thu nhiều tầng biểu đạt, cụ thể lẫn trừu tượng, qua làm rõ nghĩa loại liệu DL ứng dụng nhận diện hình ảnh, nhận diện giọng nói, xử lý ngôn ngữ tự nhiên Hiện nhiều toán nhận dạng sử dụng DL để giải DL giải tốn với số lượng lớn, kích thước đầu vào lớn với hiệu độ xác vượt trội so với phương pháp phân lớp truyền thống Những năm gần đây, mà khả tính tốn máy tính nâng lên tầm cao lượng liệu khổng lồ thu thập hãng công nghệ lớn, Machine Learning tiến thêm bước dài lĩnh vực đời gọi DL (Học Sâu) DL giúp máy tính thực thi việc tưởng chừng vào 10 năm trước: phân loại ngàn vật thể khác ảnh, tự tạo thích cho ảnh, bắt chước giọng nói chữ viết người, giao tiếp với người, hay chí sáng tác văn hay âm nhạc 1.3 Kết luận chương Trong chương I, luận văn trình bày tổng quan toán phân loại độ tuổi qua ảnh mặt người, ứng dụng toán thực tế hướng tiếp cận giải toán dựa phương pháp học sâu sử dụng mạng nơ ron tích chập CNN 4 CHƯƠNG 2: 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 2.1 Giới thiệu mạng nơ ron tích chập Mạng nơ-ron tích chập (CNN hay ConvNet) mạng nơ-ron (Wikipedia, báo, video) phổ biến dùng cho liệu ảnh Bên cạnh lớp liên kết đầy đủ (FC layers), CNN với lớp ẩn đặc biệc giúp phát trích xuất đặc trưng - chi tiết (patterns) xuất ảnh gọi Lớp Tích chập (Convolutional Layers) Chính lớp tích chập làm CNN trở nên khác biệt so với mạng nơ-ron truyền thống hoạt động hiệu tốn phân tích ảnh so sánh với mạng Nơ-ron truyền thống (Neural Network) - hoạt động không thực hiệu với liệu đầu vào hình ảnh: coi điểm ảnh thuộc tính (feature), ảnh RBG kích thước (64×64) có 12288 (=64×64×3) thuộc tính Nếu kích thước ảnh tăng lên 1000×10000, có 3triệu (3M) thuộc tính cho ảnh đầu vào Nếu sử dụng mạng liên kết đầy đủ (fully connected NN) giả sử lớp thứ có 1000 thành phần (units/ neurons), ma trận trọng số có kích thước 1000×3M tương đương với 3B trọng số cần huấn luyện (learning) Điều yêu cầu khối lượng tính tốn cực lớn (expensive computational cost) thường dẫn đến overfitting không đủ liệu huấn luyện CNN mơ hình DL tiên tiến giúp cho xây dựng hệ thống thơng minh với độ xác cao CNN lấy cảm hứng từ vỏ não thị giác người, nhìn thấy vật đó, loại lớp tế bào thần kinh kích hoạt, lớp phát đặc trưng đồ vật (hình dạng, kích thước, màu sắc,…) Lớp thần kinh mà nhận dạng nhiều đặc điểm đồ vật việc nhận dạng phân loại đồ vật người trở nên dễ dàng Ý tưởng đằng sau mạng nơ ron tích chập thực q trình trích lọc hình ảnh trước đưa vào q trình huấn luyện, sau q trình trích lọc nhận đặc trưng hình ảnh đó, từ đặc trưng phát muốn hình ảnh So với thuật tốn phân loại hình ảnh khác, mạng nơ ron tích chập sử dụng trình tiền xử lý tối thiểu, nghĩa mạng học lọc thường thiết kế tay hệ thống khác Bởi CNN hoạt động với độc lập khỏi nỗ lực người, chúng mang lại nhiều lợi thuật tốn khác 5 Mục đích CNN giảm hình ảnh thành hình thức dễ xử lý không chi tiết tính quan trọng để hỗ trợ việc đưa dự đoán Điều quan trọng thiết kế mơ hình khơng giỏi tính học tập mà cịn xử lý liệu lớn Trước tìm hiểu kiến trúc, mơ hình mạng nơ ron tích chập CNN em trình bày khái niệm thường sử dụng làm việc với mạng nơ ron CNN a Tích chập (Convolutional) Tích chập sử dụng xử lý tín hiệu số (Signal processing) Nhờ vào nguyên lý biến đổi thông tin, nhà khoa học áp dụng kĩ thuật vào xử lý ảnh video số Để dễ hình dung, ta xem tích chập nhƣ cửa sổ trượt (sliding window) áp đặt lên ma trận Bạn theo dõi chế tích chập qua hình minh họa bên Hình 0.1.1 Minh học phép tốn tích chập Ma trận bên trái ảnh đen trắng Mỗi giá trị ma trận tương đương với điểm ảnh (pixel), màu đen, màu trắng (nếu ảnh grayscale giá trị biến thiên từ đến 255) Sliding window cịn có tên gọi kernel, filter hay feature detector Ở đây, ta dùng ma trận filter 3×3 nhân thành phần tương ứng (element-wise) với ma trận ảnh bên trái Gía trị đầu tích thành phần cộng lại Kết tích chập ma trận (convoled feature) sinh từ việc trượt ma trận filter thực tích chập lúc lên tồn ma trận ảnh bên trái b Bộ lọc (Kernel/Filter) Độ phức tạp đặc trưng phát lọc tỉ lệ thuận với độ sâu lớp tích chập mà thuộc Nghĩa lọc lớp tích chập sâu phát đặc trưng phức tạp Trong mạng CNN, lớp tích chập sử dụng lọc hình học (geometric filters) để phát đặc trưng đơn giản cạnh ngang, dọc, chéo ảnh Những lớp tích chập sau dùng để phát đối tượng nhỏ, bán hồn chỉnh mắt, mũi, tóc, v.v Những lớp tích chập sâu dùng để phát đối tượng hồn hỉnh như: chó, mèo, chim, tơ, đèn giao thơng, v.v Mục đích việc tích chập (Convolutional) để lấy hình dạng (pattern) hình ảnh cách sử dụng lọc (Filter/Kernel) Kernel coi tham số mơ hình CNN sử dụng để tính tốn tích chập (convolve) ảnh Chúng ta thấy thao tác tích chập mơ tả hình (Hình 2.1) Hình 2.4 Bộ lọc W (kernel) c Feature map Tích chập khối quan trọng CNN Thuật ngữ tích chập dựa phép hợp toán học hai hàm tạo thành hàm thứ ba Phép tốn kết hợp hai tập thơng tin khác Trong trường hợp CNN, tích chập thực giá trị đầu vào liệu lọc (Kernel/ filter thuật ngữ sử dụng khác tùy tình huống) để tạo đồ đặc trưng (feature map) Ta thực phép tích chập cách trượt lọc theo liệu đầu vào Tại vị trí, ta tiến hành phép nhân ma trận tính tổng giá trị để đưa vào đồ đặc trưng Trong hình đây, thành phần lọc (màu xanh lá) trượt đầu vào (màu xanh dương) kết trả đồ đặc trưng (màu đỏ) Bộ lọc có kích thước 3×3 ví dụ 7 Hình 2.10 Phép tích chập hình ảnh với giải màu Đấy trường hợp hình ảnh với giải màu ảnh xám, trường hợp quan trọng cần xem xét cách mà phép tích chập thực hình ảnh màu Điểm ảnh ảnh màu có ba giá trị tương ứng với ba giải màu - giá trị đỏ, lục lam Do đó, muốn chạy phép tích chập hình ảnh màu, trước tiên phải chia thành thành phần màu đỏ, xanh lục xanh lam thực chạy lọc giải liệu đỏ, màu xanh lục màu xanh lam tổng hợp tất kết Hình 2.11 Phép tích chập hình ảnh màu Chúng ta thực phép tích chập đầu vào nhiều lần khác Mỗi lần sử dụng lọc khác Kết ta thu đồ đặc trưng khác Cuối cùng, ta kết hợp toàn đồ đặc trưng thành kết cuối tầng tích chập Từ phát lọc cho kết tương ứng với lớp phân loại hiệu Đối với toán tương tụ thường gọi kết q trình tích chập feature map, trọng số xác định đặc trưng shared weight độ lệch xác định feature map shared bias 8 Cấu trúc mạng nơ ron tích chập số mơ hình mạng thơng dụng 2.2 thực tế Cấu trúc mạng nơ ron tích chập thường bao gồm thành phần như: - Convolution layer Activaion layer Poolling layer Flatten layer Fully connected layer Nếu chia theo loại tầng CNN gồm hai thành phần: Phần tầng ẩn hay phần rút trích đặc trưng: phần này, mạng tiến hành tính tốn hàng loạt phép tích chập phép hợp (pooling) để phát đặc trưng Ví dụ: ta có hình ảnh ngựa vằn, phần mạng nhận diện sọc vằn, hai tai, bốn chân Mỗi tầng tầng ẩn tăng cường độ chi tiết độ phức tạp trình nhận diện đặc trưng hình ảnh ví dụ tầng huấn luyện để phát biên cạnh hình ảnh tầng cuối huấn luyện để phát hình dạng phức tạp hình tam giác, hình trịn, đơi mắt, mũi, lốp xe v.v Các nơ ron tầng cuối tầng ẩn kết nối đến tất nơ ron tầng đầu Phần phân lớp: phần này, lớp với liên kết đầy đủ đóng vai trò phân lớp đặc trưng rút trích trước Tầng đưa xác suất đối tượng hình Hình 2.12 Mơ cấu trúc mạng nơ ron tích chập Cấu trúc mạng CNN tập hợp lớp tích chập (Convolution) chồng lên sử dụng hàm kích hoạt ReLU để kích hoạt trọng số nơ ron Mỗi lớp sau thơng qua hàm kích hoạt tạo thông tin trừu tượng cho lớp Mơ hình CNN tầng liên kết với thông qua chế gọi tầng tích chập Lớp kết tích chập từ tầng trước đó, nhờ mà ta có kết nối cục Như neuron lớp sinh từ kết tính tốn Kernel Filter áp đặt lên vùng ảnh đầu vào nơ ron trước Trong mơ hình CNN ngược lại Các layer liên kết với thông qua chế convolution Layer kết convolution từ layer trước đó, nhờ mà ta có đưuọc kết nối cục Nghĩa nơ-ron layer sinh từ filter áp đặt lên vùng ảnh cục nơ-ron layer trước 2.2.1 Convolutional Đây thường tầng mạng nơ ron tích chập, giống lớp ẩn khác, lớp tích chập lấy liệu đầu vào, thực phép chuyển đổi để tạo liệu đầu vào cho lớp (đầu lớp đầu vào lớp sau) Phép biến đổi sử dụng lớp tích chập phép tính tích chập Mỗi lớp tích chập chứa nhiều lọc - phát đặc trưng (Kernel/Filter) cho phép phát trích xuất đặc trưng khác ảnh Với mơ hình mạng CNN, lớp tích chập lớp ẩn (Hidden layer), khác chỗ lớp tích chập tập đồ đặc trưng, đồ đặc trưng scan liệu đầu vào ban đầu, trích xuất đặc tính (Feature) cụ thể Trong tầng ta có ma trận gọi convolution filter hay kernel thực quét dịch qua ma trận đầu vào, từ trái qua phải, từ xuống nhân tương ứng với giá trị ma trận đầu vào, cộng lại đưa qua hàm kích hoạt (Sigmoid, ReLU, Elu…), kết nhận số cụ thể tập hợp lại thành ma trận đầu tầng này, ma trận đồ đặc trưng Giả sử ma trận đầu vào I, ma trận lọc K có kích thước h x w, ta có ma trận I x K tính cơng thức : I * K xy h w K i 1 ij I x i 1 , y j 1 j 1 2.2.2 Poolling Là lớp thêm vào lớp tích chập với mục đích giảm kích thước liệu thơng qua việc lấy mẫu (sampling), để đơn giản hóa thơng tin đầu để giảm bớt số 10 lượng neuron Việc lấy mẫu thực cách lấy giá trị lớn giá trị trung bình tất giá trị cửa sổ pooling chọn Pooling cách giảm kích thước ma trận mà giữ thông tin quan trọng ma trận Nhiệm vụ duyệt cửa sổ nhỏ dọc ma trận hình ảnh lấy giá trị đặc trưng cửa sổ từ bước Trên thực tế cửa sổ dùng thường có kích thước 2x2 3x3 Pooling xem kĩ thuật giúp giảm tượng overfitting CNN Chúng ta có thê hình dung hoạt động hình sau (Hình 2.13) Lớp Pooling sử dụng CNN để giảm kích thước đầu vào, tăng tốc độ tính tốn hiệu việc phát đặc trưng Có nhiều hướng Pooling sử dung, phổ biến pooling theo giá trị cực đại (max pooling) pooling theo giá trị trung bình (average pooling) ‒ Max Pooling trả giá trị tối đa từ cửa sổ trượt bao phủ lọc (Kernel/feature) ‒ Average Pooling trung bình trả mức trung bình tất giá trị từ cửa sổ trượt bao phủ lọc Hình 2.13 Việc thực lấy mẫu tầng Pooling Lớp pooling thường sử dụng sau lớp tích chập (convulational), với tính chất lớp pooling, làm giảm đáng kể tính chất ma trận, giúp giảm chi phí tính tốn đáng kể Lớp tích chập Lớp Pooling, tạo thành lớp thứ i mạng Tùy thuộc vào độ phức tạp ảnh, số lượng lớp tăng lên để lấy chi tiết mức độ sâu hơn, u cầu hiệu tính tốn máy tính nhiều Sau 11 trải qua bước tích chập mơ hình hiểu phân lớp liệu Bước đưa dữu liệu đầu lớp tích chập vào mảng nơ ron bình thường để thực hiejn trình phân lớp 2.2.3 Lớp kết nối đầy đủ (Fully connected layer) Tên tiếng viết Mạng liên kết đầy đủ Tại lớp mạng này, nơ-ron layer liên kết tới nơ-ron lớp khác Để đưa ảnh từ layer trước vào mạng này, buộc phải dàn phẳng ảnh thành vector thay mảng nhiều chiều trước Tại layer cuối sử dụng hàm kinh điển học máy mà sử dụng softmax để phân loại đối tượng dựa vào vector đặc trưng tính tốn lớp trước Hình 2.14 Minh họa lớp kết nối đầy đủ Một lớp kết nối đầy đủ với đầu lớp trước đó, nơ ron lớp kết nối đến tất nơ ron lớp gọi lớp kết nối đầy đủ Lớp nhận giá trị đầu vào từ lớp pooling xác định kết đầu Đầu lớp thực bầu chọn xem đặc trưng giống với kết nhãn đầu nhất, từ xác định nhãn liệu đầu vào 2.2.4 Hàm Kích hoạt (Activation Function) Hàm kích hoạt nút đặt cuối cấu trúc mạng nơ ron, có nhiều loại hàm kích hoạt khác hàm Sigmoid, Maxout, ReLU… (Hình 2.1) Việc lựa chọn hàm kích hoạt đơi kinh nghiệm người xây dựng mạng cịn phụ thuộc nhiều toán mà giải Tuy nhiên hàm ReLU hoạt động tốt cho phần lớn tốn DL 12 Hình 2.15 Các hàm kích hoạt phổ biết mơ hình mạng nơ ron - ReLU (Rectified Linear Unit) dựa tư tưởng việc loại bỏ bớt tham số không quan trọng q trình training điều cho mạng trở nên nhẹ việc training nhanh chóng có hiệu Hàm thực việc rât đơn giản sau: giữ nguyên giá trị đầu vào lớn 0, giá trị đầu vào nhỏ coi Chúng ta hình dung kĩ hình sau (Hình 2.2): Hình 2.16 Hàm kích hoạt ReLU - Softmax loại hàm kích hoat - activation function Nó hữu ích tốn phân loại đa lớp Softmax nhận đầu vào mảng số thực đầu phân phối xác suât với phần tử nằm khoảng [0, 1] tổng phần tử (tương ứng với 100%) 13 2.2.5 Một số mơ hình mạng thơng dụng thực tế Trên thực tế mơ hình mạng nơ ron sử dụng phổ biến với kiến trúc mạng sử dụng lớp tích chập nhiều tầng với kích thước feature map lớp tăng dần, có nhiều mơ hình với kiến trúc mạng thiết kế sáng tạo cho kết hiệu Dưới ví dụ số kiến trúc mạng nơ ron tích chập thơng dụng: LeNet Alexnet VGGNet 2.3 Xây dựng tập liệu cho toán 2.3.1 Giới thệu liệu sử dụng toán Trong toán phân loại độ tuổi người hình ảnh sử dụng mạng nơ ron tích chập sử dụng tập liệu khuôn mặt diễn viên phim Ấn Độ (Idian Movies Face Database) hay viết tắt IMFDB liệu khuôn mặt lớn bao gồm 26742 hình ảnh 100 diễn viên Ấn Độ thu thập từ 100 video Tất hình ảnh lựa chọn cắt xén thủ công từ khung hình video dẫn đến nhiều kích thước, tư thế, biểu hiện, độ sáng, độ tuổi độ phân giải Bộ liệu IMFDB sở liệu khuôn mặt cung cấp nhãn chi tiết cho hình ảnh độ tuổi, tư thế, giới tính biểu giúp nhiều ứng dụng khác liên quan đến phân tích khn mặt Ảnh khuôn mặt người liệu IMFDB thu thập từ video, khn mặt video phim cho có đa dạng ảnh khác độ chiếu sáng, góc nhìn, độ phân giải, độ mờ, v.v Video thu thập từ hai thập kỷ trước nên chứa nhiều ảnh khn mặt khác độ tuổi so với hình ảnh thu thập từ Internet thơng qua truy vấn tìm kiếm nay[9] Bộ liệu IMFDB xây dựng cách chọn thủ công cắt xén khung hình video dẫn đến mức độ đa dạng biểu cảm khn mặt người sử dụng để phát triển thuật toán để phân tích biểu cảm mặt người Cắt xén khn mặt: Khn mặt cắt khung hình vừa với khn mặt Để trì tính qn hình ảnh, tơi theo dõi cách cắt xén khn mặt từ trán đến cằm 14 Hình 2.20 Một số hình ảnh ví dụ liệu IMFDB Trong liệu kèm theo tệp bảng liệu tương ứng với thơng tin mã hình ảnh, thông tin khác nhãn phân loại hình ảnh [9] Bao gồm trường liệu : ID : Image id Expressions : Anger, Happiness, Sadness, Surprise, Fear, Disgust Illumination : Bad, Medium, High Pose : Frontal, Left, Right, Up, Down Occlusion : Glasses, Beard, Ornaments, Hair, Hand, None, Others Makeup : Partial makeup, Over-makeup Gender : Male, Female Age : Young, Middle, Old Bảng 2.1 Mẫu liệu IMFDB ID Expression 088.jpg SURPRISE 177.jpg NEUTRAL 634.jpg HAPPINESS 671.jpg SADNESS 799.jpg HAPPINESS Illumination MEDIUM BAD MEDIUM BAD MEDIUM Pose Occlusion Makeup FRONTAL GLASSES OVER RIGHT NONE PARTIAL FRONTAL OTHERS PARTIAL LEFT OTHERS PARTIAL DOWN OTHERS PARTIAL Gender Age Male Male Male Female Female Young Old Young Young Middle 15 807.jpg HAPPINESS 908.jpg DISGUST 938.jpg SADNESS 033.jpg HAPPINESS 183.jpg SURPRISE MEDIUM BAD BAD MEDIUM MEDIUM UP DOWN LEFT FRONTAL FRONTAL OTHERS OTHERS NONE NONE NONE PARTIAL PARTIAL PARTIAL PARTIAL OVER Male Male Male Male Female Middle Middle Young Young Young 2.3.2 Tiền xử lý chuẩn bị liệu a Loại bỏ đặc trưng không cần thiết b Loại bỏ nhiễu liệu c Chỉnh kích thước ảnh sang kích thước phù hợp d Phân chia liệu 2.4 Xây dựng mơ hình mạng nơ ron tích chập để giải tốn phân loại độ tuổi người hình ảnh 2.4.1 Cấu trúc mơ hình Việc xây dựng mơ hình để đạt hiệu cao phụ thuộc vào yếu tố cấu trúc cảu mơ hình mạng, lựa chọn thuật tốn, xác định biến liệu phù hợp điều chỉnh tham số phù hợp dựa liệu sử dụng để huấn luyện mơ hình Đối với toán sử dụng mơ hình mạng nơ ron tích chập CNN để phân loại độ tuổi hình ảnh với tập liệu dã giới thiệu mục Cấu trúc mơ hình mạng nơ ron tích chập sử dụng tốn dựa vào mơ hình mạng LeNet, có cấu trúc bao gồm ba lớp tích chập (Convolution) với lớp có lớp Pooling lớp, đến ba lớp kết nối đầy đủ (Fullyconnected) với lớp kết nối đầy đủ cuối lớp giá trị đầu với sô nơ ron sơ nhãn phân loại Mơ hình bao gồm chi tiết cụ thể sau: Lớp tích chập (Convolution) Ba lớp mơ hình mạng lớp tích chập, với lớp tích chập nhận liệu đàu vào mảng cẩu hình ảnh có kích thước 128 x 128 pixel Tại lớp khai báo với số lọc (Kernel) sử dụng 25 với kích thước lọc mà x Tiếp theo khai báo hàm kích hoạt cho lớp này, sử dụng hàm “ReLu” giới thiệu mục 16 Tương tự với lớp tích chập đầu tiên, lớp tích chập thứ hai thứ ba khai báo tương ứng với số dặc trưng sử dụng khác 50 75 theo Còn hàm kích hoạt khai báo hàm “ReLu” tương tự Giữa lớp kích hoạt khai báo lớp hợp (Pooling), sử dụng phép hợp tối đa (Max pooling) với giá trị kích thước x Hàm kích hoạt sử dụng (Activation function) Hàm kích hoạt sử dụng tốn gồm có hai hàm “ReLu” (Rectified Linear Unit) hàm “Softmax” Tại lớp tích chập sử dụng hàm “ReLu” hàm kích hoạt Hàm có cơng thức dễ thực tính tốn hiệu với nhiều loại toán, với tốc độ thữ nhanh đãn đến thời gian huấn luyện mơ hình tương đối nhanh so vưới hàm kích hoạt khác Tại tầng liên kết đầy đủ cuối cùng, chung ta sử dụng hàm “Softmax” Hàm “Softmax” thường sử dụng tầng đầu ra, nhằm đánh giá sắc xuất nhãn phân loại liệu đầu vào tầng Lớp làm phẳng (Flatten) Lớp có nhiệm vụ chuyển đổi kết đầu từ lớp tích chập mảng nhiều chiều chuyển đổi thành vec tơ chiều trước vào tầng kết nối đầy đủ để thực trình phân loại Hình 2.26 Minh họa phương thức làm phẳng (Flatten) Lớp kết nối đầy đủ (Fully connected layer) Tại lớp sử dụng tất lớp, hai lớp lớp kết nối đầy đủ với số nơ ron 32 sử dụng hàm “ReLU” hàm kích hoạt 17 Với lớp phân nhãn cuối với số nơ ron tương ứng với số nhãn phân loại tập liệu (“Middle”, “Old”, “Young”) Cuối nhận mơ hình mạng minh họa hình (Hình 2.27): Hình 2.27 Minh họa mơ hình mạng sử dụng tốn 2.4.2 Các hàm kỹ thuật sử dụng a Thuật toán tối ưu (Optimizer) b Hàm lỗi (Loss function) c Kỹ thuật Drop-out để giảm Over-fitting d Kỹ thuật tăng cường liệu (Data augmentation) e Cân trọng số (weight balancing) 2.5 Kết chương Trong chương II, Luận văn trình bày giới thiệu mạng nơ ron tích chập, cấu trúc mạng ứng dụng thực tế sử dụng mạng nơ ron tích chập Giới thiệu liệu sủa dụng luận văn tiền xử lý liệu chuẩn bị cho mơ hình mạng, sau xây dựng mộ mơ hình mạng để giải tốn phân loại độ tuổi người thực huấn luyện mơ hình Trong chương tơi đánh giá kết huấn luyện kiểm chứng mơ hình 18 CHƯƠNG 3: CÀI ĐẶT VÀ THỬ NGHIỆM 3.1 Cài đặt môi trường thực huấn luyện thử nghiệm mạng nơ ron tích chập áp dụng liệu thực tế Trong trình triển khai xây dựng mơ hình luận văn tơi áp dụng giải pháp phần mềm sau: Ngôn ngữ lập trình Python Cơng cụ mơi trường tích hợp mã nguồn Python sử dụng Jupyter Notebook Các thư viện hỗ trợ Python: ‒ Keras ‒ Tensorflow ‒ Pandas ‒ OpenCV ‒ Mathplotlib ‒ Numpy ‒ Scikit-learn Mối trường cài đặt: 3.2 Phương pháp đánh giá Để đánh giá hiệu suất toán phân loại văn sử dụng độ đo như: Accuracy, Precision, Recall, bảng Confusion matrix Được định nghĩa phần Để ước lượng độ đo này, dựa vào bảng sau: Bảng 3.1 Bảng Confusion matrix Dự đoán Nhãn TN FP FN TP 19 Một số tiêu chí mơ tả độ hiệu mơ hình phân loại bao gồm có: Accuracy : Khả mơ hình phân loại dự báo xác, phân loại xác hay xác định nhãn lớp liệu cần phân loại Được tính cơng thức: 𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = 𝑇𝑃 + 𝑇𝑁 (𝑇𝑃 + 𝑇𝑁) + (𝐹𝑃 + 𝐹𝑁) Precision : Được định nghĩa xác suất mà liệu phân loại là phân loại (độ xác lần dự đốn) Được tính tốn ước lượng sau: 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑇𝑃 𝑇𝑃 + 𝐹𝑃 Recall : Được định nghĩa xác suất mà liệu với nhãn phân loại (độ xác dự đốn cho nhãn) Được tính tốn ước lượng sau: 𝑅𝑒𝑐𝑎𝑙𝑙 = 3.3 𝑇𝑃 𝑇𝑃 + 𝐹𝑁 Đánh giá kết Từ kết trình huấn luyện trên, thực kiểm chứng mơ hình sau huấn luyện với liệu kiểm chứng chuẩn bị trước sau: Kết nhận được thể đây: Từ kết kiểm chứng với số đánh giá độ xác phân lớp mơ hình nhận mức tương đương 86.37% với liệu kiểm chứng Chúng ta xem xét với độ đo khác Precision Recall thể bảng sau: Bảng 3.2 Kết phân loại mơ hình Nhãn Precision Recall Middle 0.92 0.84 Old 0.78 0.82 Young 0.82 0.91 Trung bình 0.84 0.86 20 Với số đo độ Precision cho thấy liệu kiểm chứng 84% liệu phân loại nhãn Độ đo Recall cho thấy mẫu liệu có nhãn phân loại phân loại nhãn với xác suất 86% Để đánh giá mơ hình cụ thể xem kết phân loại nhãn, xem mơ hình có tỷ lệ phân nhãn nhãn với độ xác cách sinh bảng Confusion matrix đây: Bảng 3.3 Confusion matrix Dự đoán Middle Old Young Middle 1346 73 178 Old 49 305 20 Young 73 13 921 Nhãn Bảng 3.3 ma trận phân tích độ xác dự đốn nhãn sau chạy mơ hình Từ bảng thấy kết phân loại đúng, sai nhãn bảng 3.4 đây: Bảng 3.4 Kết phân loại theo nhãn Nhãn phân loại Phân loại Phân loại sai Tổng số mẫu Middle 1346 251 1597 Old 305 69 374 Young 921 86 1007 Tại lớp có nhãn phân loại độ tuổi “Old” mơ hình phân loại 305 mẫu tất 374 mẫu, tương đương với 81.55% Với lớp có nhãn phân loại Middle, mơ hình phân loại 1346 mẫu tổng số 1597 mẫu, chiếm 84,28% Tương tự, xác suất phân loại mẫu xác nhãn “Young” 91,46% 21 Nhận xét: Với kết đạt từ mơ hình cho thấy độ xác phân loại mơ hình tương đối ổn định chưa đạt kết tốt nhất, độ xác phân lớp nhãn độ tuổi già (Old) có độ xác tương đối thấp so với lớp khác Từ tơi nhận thấy hai vấn đề chưa giải đo toán là: Vấn đề xử lý liệu cân bằng, số tổng số mẫu liệu mang nhãn độ tuổi già chiếm 12% tất liệu Vấn đề thứ hai mơ hình phân loại, chưa xây dựng mơ hình tốt để thực toán phân loại độ tuổi với liệu này, hạn chế tài nguyên máy tính nên khơng khả xử lý mơ hình mơ hình với độ phức tạp cao với số tham số mơ hình cao 3.4 Kết chương Trong chương này, tơi trình bày mơi trường cài đặt, ngơn ngữ lập trình thư viện hỗ trợ sử dụng đưa kết quả, phương pháp phân tích đánh giá mơ hình từ đánh giá kết đạt Ngoài ra, đưa vấn đề ảnh hưởng đến độ xác mơ hình huấn luyện, từ cải thiện độ xác mơ hình nghiên cứu sau tốt 22 KẾT LUẬN Trong báo này, đề xuất mô hình học sâu sử dụng mạng CNN để nhận diện độ tuổi người dựa vào hình ảnh khn mặt Mơ hình cho phép sử dụng số lượng nhỏ tham số đạt hiệu suất tốt mơ hình cơng bố gần đây, đồng thời góp phần giải vấn đế nhận diện thời gian thực.Trong tương lai gần, tơi có kế hoạch cải thiện độ xác mơ hình, đặc biệt ước lượng độ tuổi cách thử áp dụng liệu tự thu thập Mặt khác, tơi áp dụng mơ hình tơi cho toán khác lĩnh vực thị giác máy tính học sâu Những kết hoạt động luận văn: - Nghiên cứu phương pháp học sâu so sánh với phương pháp học máy truyền thống - Giới thiệu tổng quan mạng nơ ron tích chập, thành phần kiến trúc mơ hình mạng, chức ứng dụng thực tế - Xây dụng mơ hình mạng nơ ron tích chập cho toán phân loại độ tuổi người hình ảnh Trong thực huấn luyện, điều chỉnh thông số mạng áp dụng kỹ thuật để đạt khả dự đoán độ tuổi với độ xác 83% - Phân tích đánh giá kết sau huấn luyện mơ hình Luận văn số vấn đề tiếp tục phát triển Do thời gian, kinh nghiệm, ngôn ngữ Tiếng Việt hạn chế nên khơng tránh khỏi sai sót, kính mong thông cảm Thầy Cô, Nhà khoa học Định hướng phát triển luận văn Hướng nghiên cứu luận văn tập trung vào phần xây dựng mơ hình mạng phân loại độ tuổi người với độ xác cao hơn, sử dụng mơ hình áp dụng nhiều tầng tích chập theo kiến trúc mạng VGGNet để phân tích đặc trưng chi tiết Thử nghiệp áp dụng kỹ thuật over-sampling vào liệu với nhãn phân loại già ”Old”, để tăng thêm độ cân liệu ... toán phân loại độ tuổi ảnh mặt người Chương Phân loại độ tuổi người hình ảnh sử dụng mạng nơ ron tích chập Trên sở xác định hướng giải luận án Chương 1, Chương giới thiệu mạng nơ ron tích chập. .. dự đốn độ tuổi người Dựa vào thực trạng kết hợp với kỹ thuật khai phá liệu học hỏi nghiên cứu để đưa đề tài ? ?Nghiên cứu phân loại độ tuổi người ảnh mặt người sử dụng mạng nơ ron tích chập? ?? Nội... tốn phân loại độ tuổi qua ảnh mặt người, ứng dụng toán thực tế hướng tiếp cận giải toán dựa phương pháp học sâu sử dụng mạng nơ ron tích chập CNN 4 CHƯƠNG 2: PHÂN LOẠI ĐỘ TUỔI CỦA NGƯỜI BẰNG