Đồ án Thị giác máy tính với đề tài Nhận dạng khuôn mặt. Nhận diện khuôn mặt sử dụng mô hình mạng Lenet5. Chi tiết về mô hình Lenet5 và lý do sử dụng. Các hàm kích hoạt thường dùng. Bộ data tự tạo để train và test mô hình. Độ chính xác lên đến 95%
TRƯỜNG ĐẠI HỌC XÂY DỰNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN -o0o - Đồ Án: Thị Giác Máy Tính Nhận diện khn mặt Giảng viên hướng dẫn: Thái Thị Nguyệt Hà Nội, ngày 18/10/2022 Mục Lục Mở đầu Chương I: Lý thuyết Các phép đo hiệu a Accuracy b Confusion Matrix c ROC curve - AUC d F1 – score LeNet5 a Mạng thần kinh tích chập b Lịch sử LeNet5 .5 c LeNet5 ? d Tính LeNet5 e Kiến trúc LeNet5 .6 Các hàm kích hoạt thường dùng .12 a Thế hàm kích hoạt 12 b Vì cần sử dụng hàm kích hoạt 13 c Linear Function .13 d ReLU (Rectified Linear unit) 13 e Sigmoid 14 f Hyperbolic Tangent Activation Function(Tanh) 15 g Softmax Activation Function 15 Chương II: Thực nghiệm Đánh giá 16 Bộ data sử dụng 16 Xử lý phân tích data .16 Xây dựng model 18 Kết quả, đánh giá cải tiến .19 Tài liệu tham khảo .22 Mở đầu Với phát triển không ngừng khoa học công nghệ, đặc biệt với điện thoại thông minh (smartphone) ngày đại sử dụng phổ biến đời sống người làm cho lượng thông tin thu hình ảnh ngày tăng Theo đó, lĩnh vực xử lý ảnh trọng phát triển, ứng dụng rộng rãi đời sống xã hội đại Không dừng lại việc chỉnh sửa, tăng chất lượng hình ảnh mà với cơng nghệ xử lý ảnh giải toán nhận dạng chữ viết, nhận dạng dấu vân tay, nhận dạng khn mặt… Một tốn nhiều người quan tâm lĩnh vực xử lý ảnh nhận dạng khn mặt (Face Recognition) Như biết, khn mặt đóng vai trị quan trọng q trình giao tiếp người với người, mang lượng thơng tin giàu có, chẳng hạn từ khn mặt xác định giới tính, tuổi tác, chủng tộc, trạng thái cảm xúc, đặc biệt xác định mối quan hệ với đối tượng (có quen biết hay khơng) Do đó, tốn nhận dạng khn mặt đóng vai trị quan trọng nhiều lĩnh vực đời sống ngày người hệ thống giám sát, quản lý vào ra, tìm kiếm thơng tin người tiếng,…đặc biệt an ninh, bảo mật Có nhiều phương pháp nhận dạng khuôn mặt để nâng cao hiệu suất nhiên dù hay nhiều phương pháp vấp phải thử thách độ sáng, hướng nghiêng, kích thước ảnh, hay ảnh hưởng tham số mơi trường Bài tốn Nhận diện khn mặt (Face Recognition) bao gồm nhiều toán khác như: phát mặt người (face detection), đánh dấu (facial landmarking), trích chọn (rút) đặc trưng (feature extration), gán nhãn, phân lớp (classification) Trong thực tế, nhận dạng khuôn mặt người (Face Recognition) hướng nghiên cứu nhiều nhà khoa học quan tâm, nghiên cứu để ứng dụng thực tiễn Ở trường đại học hàng đầu Công Nghệ Thông Tin Massachusetts Institute of Technology (MIT), Carnegie Mellon University (CMU), Standford, Berkeley công ty lớn Microsoft, Apple, Google, Facebook có trung tâm sinh trắc học (Biometrics Center) nghiên cứu nhận dạng khn mặt người trở thành lĩnh vực nghiên cứu Gần đây, công ty Hitachi Kokusai Electric Nhật cho đời camera giám sát, chụp ảnh tìm 36 triệu khn mặt khác có nét tương tự sở liệu vòng giây Chương I: Lý thuyết Các phép đo hiệu Khi xây dựng mô hình học máy, cần phép đánh giá để xem mơ hình sử dụng có hiệu khơng để so sánh khả mơ hình Có nhiều cách đánh giá mơ hình Tùy vào toán khác mà sử dụng phương pháp khác Các phương pháp thường sử dụng là: - Accuracy score Confusion matrix ROC curve – AUC F1 – score Precision and Recall a Accuracy Là số đơn giản để triển khai xác định số lượng dự đoán tổng số lượng dự đoán Accuracy= Number of Correct Predictions Total number of predictions Mặc dù đơn giản để sử dụng thực hiện, thích hợp cho trường hợp lớp có số lượng mẫu Sẽ tốt sử dụng Accuracy lớp biến mục tiêu liệu gần cân ngược lại, không sử dụng biến mục tiêu chủ yếu thuộc lớp b Confusion Matrix Confusion phương pháp đánh giá kết toán phân loại với việc xem xét số độ xác độ bao quát dự đoán cho lớp Một confusion matrix gồm số sau lớp phân loại: Về bản, ma trận nhầm lẫn gồm số để dễ hiểu ta dùng ví dụ dự đốn ung thư để giải thích số này: - TP(True Positive): Số lượng dự đốn xác Là mơ hình dự đốn người bị ung thư TN (True Negative): Số lương dự đốn xác cách gián tiếp Là mơ hình dự đốn người không bị ung thư, tức việc không chọn trường hợp bị ung thư xác FP(False Positive): Số lượng dự đoán sai lệch Là mơ hình dự đốn người bị ung thư người hồn tồn khỏe mạnh FN(False Negative): Số lượng dự đoán sai lệch cách gián tiếp Là mơ hình dự đốn người khơng bị ung thư người bị ung thư, tức việc không chọn trường hợp bị ung thư sai Từ số, sử dụng tham số sau để đánh giá mức độ tin cậy mơ hình: - Precision: Trong tất dự đốn Positive đưa ra, dự đốn xác số tính theo cơng thức: Precision= - TP TP+ FP Recall: Trong tất trường hợp Positive, trường hợp dự đoán xác số tính theo cơng thức: TP Recall= TP+ FN Confusion Matrix biểu diễn dạng bảng kết dự đoán phân loại nhị phân nào, sử dụng để mơ tả hiệu suất mơ hình phân loại tập liệu thử nghiệm giá trị thực biết đến c ROC curve - AUC Đường cong ROC (receiver operating characteristic curve) biểu đồ cho thấy hiệu suất mơ hình phân loại tất ngưỡng phân loại Đường cong hiển thị hai tham số: - Tỷ lệ dương tính thực Tỷ lệ dương tính giả True Positive Rate (TPR) – Tỷ lệ dương tính thực TPR= TP TP+ FN False Positive Rate (FPR) – Tỷ lệ dương tính giả FPR= FP FP+TN Đường cong ROC vẽ đồ thị TPR so với FPR ngưỡng phân loại khác Việc giảm ngưỡng phân loại phân loại nhiều mục dương, tăng số dương tính giả dương tính thực Hình bên cho thấy đường cong ROC điển hình Hình 1: Tỷ lệ TP so với FP ngưỡng phân loại khác Để tính tốn điểm đường cong ROC, đánh giá mơ hình hồi quy logistic nhiều lần với ngưỡng phân loại khác nhau, cách khơng hiệu Có thuật tốn dựa xếp hiệu cung cấp thông tin này, gọi AUC AUC viết tắt "Area under ROC Curve." Điều có nghĩa AUC đo toàn khu vực hai chiều bên tồn đường cong ROC Hình 2: AUC AUC cung cấp phép đo tổng hợp hiệu suất tất ngưỡng phân loại có Một cách diễn giải AUC xác suất mơ hình xếp hạng ví dụ dương tính ngẫu nhiên cao ví dụ phủ định ngẫu nhiên d F1 – score Như có khái niệm Precision Recall mong muốn đại lượng cao tốt Tuy nhiên thực tế ta điều chỉnh model để tăng Recall mức dẫn đến Precision giảm ngược lại, cố điều chỉnh model để tăng Precision làm giảm Recall Nhiệm vụ phải cân đại lượng Vậy tốn đặt là: giả sử xây dựng tập model (để sau chọn model tốt nhất) Và “đứng đường” lựa chọn model cho cân Precision Recall Nhưng thật may có thêm tham số dung hòa ta vào để lựa chọn, F-1 Score: F 1=2 Precision∗Recall Precision+ Recall Đó, vào F1 mà chọn model, F1 cao tốt Khi lý tưởng F1 = (khi Recall = Precision=1) F1-score có giá trị nằm nửa khoảng (0,1] F1 cao, phân lớp tốt Khi recall precision (tốt có thể), F1=1 Khi recall precision thấp, ví dụ 0.1, F1=0.1 LeNet5 a Mạng thần kinh tích chập Mạng thần kinh chuyển đổi (ConvNet/CNN) thuật toán Deep Learning cho hấp thụ hình ảnh đầu vào, gán tầm quan trọng (trọng số độ lệch học được) cho khía cạnh/đối tượng khác hình ảnh phân biệt chúng Q trình tiền xử lý cần thiết ConvNet thấp nhiều so với thuật toán phân loại khác chiến lược nguyên thủy, lọc thiết kế thủ cơng, với đủ đào tạo, ConvNets có khả nghiên cứu tìm hiểu lọc/đặc điểm Thiết kế ConvNet tương tự mẫu thuộc tính Tế bào thần kinh Bộ não người thúc đẩy tổ chức Visual Cortex Các tế bào thần kinh riêng lẻ phản ứng với kích thích vùng hạn chế chế độ xem trực quan gọi Trường tiếp nhận nhóm trường chồng lên để ẩn toàn khu vực trực quan b Lịch sử LeNet5 LeNet-5 mạng thần kinh tích chập sớm thúc đẩy kiện học sâu Sau vơ số năm phân tích nhiều lần lặp lại hấp dẫn, kết cuối đặt tên LeNet-5 vào năm 1988 Năm 1989, Yann LeCun cộng Bell Labs ban đầu áp dụng quy tắc lan truyền ngược cho tất ứng dụng hợp lý tin tính linh hoạt cung cấp trình tổng quát hóa mạng tăng lên đáng kể cách cung cấp ràng buộc từ miền tác vụ Trong năm đó, LeCun giải thích điểm bất thường nhỏ nhận dạng chữ số viết tay báo khác chứng minh cách giả sử vấn đề phân tách tuyến tính, mạng lớp có xu hướng thể kỹ khái quát hóa Sau loại bỏ bất thường cách sử dụng phát tính bất biến mạng nhiều lớp, khơng tự nhiên, mơ hình hoạt động tốt Ông tin kết xác minh việc giảm thiểu số lượng tham số miễn phí mạng thần kinh tăng cường khả tổng quát hóa giống c LeNet5 ? Năm 1989, Yann LeCun trình bày mạng thần kinh tích chập có tên LeNet Nói chung, LeNet đề cập đến LeNet-5 mạng thần kinh tích chập đơn giản Mạng nơ-ron tích chập dạng mạng nơ-ron chuyển tiếp nguồn cấp liệu có nơ-ron nhân tạo trả lại vị trí bao quanh phạm vi bao phủ khác hoạt động tốt xử lý hình ảnh quy mơ lớn LeNet-5 có xuất CNN xác định yếu tố CNN Tuy nhiên, hồn tồn khơng phù hợp vào thời điểm thiếu thiết bị phần cứng, đặc biệt GPU thuật toán khác d Tính LeNet5 - Mỗi lớp tích chập bao gồm ba phần: chức kích hoạt tích chập, tổng hợp phi tuyến tính Sử dụng tích chập để trích xuất đặc trưng khơng gian (Convolution ban đầu gọi trường tiếp nhận) Subsampling lớp tổng hợp trung bình hàm kích hoạt Sử dụng MLP làm phân loại cuối Kết nối thưa thớt lớp để giảm độ phức tạp tính toán e Kiến trúc LeNet5 LeNet5 mạng nhỏ, chứa mơ-đun deep learning: convolutional layer, pooling layer, and full link layer Nó sở mơ hình học sâu khác Ở chúng tơi phân tích sâu LeNet5 Đồng thời, thơng qua phân tích ví dụ, hiểu sâu lớp tích chập lớp tổng hợp LeNet-5 Tổng cộng bảy lớp, không bao gồm đầu vào, lớp chứa tham số huấn luyện; lớp có nhiều FeatureMap, đặc điểm FeatureMap đầu vào trích xuất lọc tích chập sau FeatureMap có nhiều nơ-ron Input Layer Lớp lớp đầu vào Nó thường khơng coi lớp mạng khơng có học lớp Lớp đầu vào hỗ trợ 32x32 kích thước hình ảnh chuyển sang lớp C1 layer-convolutional layer Input picture: 32 * 32 Convolution kernel size: * Convolution kernel types: Output featuremap size: 28 * 28 (32-5 + 1) = 28 Number of neurons: 28 * 28 * Trainable parameters: (5 * + 1) * (5 * = 25 tham số đơn vị tham số thiên vị cho lọc, tổng cộng lọc) o Number of connections: (5 * + 1) * * 28 * 28 = 122304 o o o o o o Chi tiết: - - - Thao tác tích chập thực ảnh đầu vào (sử dụng convolution kernels kích thước * 5) để thu C1 f eature maps (6 eature maps kích thước 28 * 28, 32-5 + = 28) Chúng ta xem có tham số cần thiết Kích thước convolution kernel * có tổng cộng * (5 * + 1) = 156 tham số, +1 cho biết kernel có độ lệch Đối với C1 convolutional layer, pixel C1 kết nối với * pixel độ lệch ảnh đầu vào, đó, có tổng cộng 156 * 28 * 28 = 122304 kết nối Có 122.304 kết nối, cần tìm hiểu 156 tham số, chủ yếu thơng qua chia sẻ trọng số S2 layer-pooling layer (downsampling layer) o Input: 28 * 28 o Sampling area: * o Sampling method: đầu vào thêm vào, nhân với tham số huấn luyện, cộng với phần bù huấn luyện Kết qua sigmoid o o o o o o Sampling type: Output featureMap size: 14 * 14 (28/2) Number of neurons: 14 * 14 * Trainable parameters: * (trọng số tổng + phần bù) Number of connections: (2 * + 1) * * 14 * 14 Kích thước feature map S2 1/4 kích thước feature map C1 Chi tiết: - - Pooling thực sau first convolution Pooling thực cách sử dụng kernels * S2, thu feature maps có kích thước 14 * 14 (28/2 = 14) Pooling layer S2 tổng pixel vùng * C1 nhân với hệ số trọng số cộng với độ lệch, sau kết ánh xạ lại Vì vậy, pooling core có hai tham số đào tạo, có 2x6 = 12 tham số đào tạo, có 5x14x14x6 = 5880 kết nối C3 layer-convolutional layer Input: tất số kết hợp feature maps S2 Convolution kernel size: * Convolution kernel type: 16 Output featureMap size: 10 * 10 (14-5 + 1) = 10 Mỗi feature maps C3 kết nối với tất số feature maps S2, cho biết feature maps lớp kết hợp khác feature maps trích xuất từ lớp trước o The trainable parameters are: * (3 * * + 1) + * (4 * * + 1) + * (4 * * + 1) + * (6 * * +1) = 1516 o Number of connections: 10 * 10 * 1516 = 151600 o o o o o Chi tiết: - - - Sau first pooling, second convolution, đầu t second convolution C3, 16 feature maps 10x10 kích thước convolution kernel * Chúng ta biết S2 có feature maps 14 * 14, làm cách để có 16 feature maps từ feature maps? feature maps C3 (tương ứng với cột thứ hộp màu đỏ hình trên) kết nối với feature maps kết nối với lớp S2 (hộp màu đỏ hình trên) feature maps feature maps kết nối với lớp S2 feature maps kết nối (hộp màu đỏ thứ hai hình trên), feature maps kết nối với feature maps không kết nối lớp S2 feature maps cuối kết nối với tất feature maps lớp S2 Kích thước kernel tích chập * 5, có * (3 * * + 1) + * (4 * * + 1) + * (4 * * + 1) +1 *(6*5*5+1) = 1516 tham số Kích thước ảnh 10*10 nên có 151600 kết nối Cấu trúc tích chập C3 đồ thị S2 hiển thị bên S4 layer-pooling layer (downsampling layer) o Input: 10 * 10 o Sampling area: * o Sampling method: đầu vào thêm vào, nhân với tham số huấn luyện, cộng với phần bù huấn luyện Kết qua sigmoid o Sampling type: 16 o Output featureMap size: * (10/2) o Number of neurons: 5 16 = 400 o Trainable parameters: * 16 = 32 (t rọng số tổng + phần bù) o Number of connections: 16 (2 + 1) 5 = 2000 o Kích thước feature map S4 1/4 kích thước đồ đặc trưng C3 Chi tiết: - S4 pooling layer,, kích thước cửa sổ * 2, tổng cộng có 16 feature maps, 16 map 10x10 lớp C3 gộp theo đơn vị 2x2 để thu 16 feature maps, 5x5 Lớp có tổng cộng 32 tham số đào tạo 2x16, 5x5x5x16 = 2000 kết nối C5 layer-convolution layer o o o o o Input: tất 16 feature maps lớp S4 Convolution kernel size: * Convolution kernel type: 120 Output featureMap size: * (5-5 + 1) Trainable parameters / connection: 120 * (16 * * + 1) = 48120 Chi tiết: - Lớp C5 lớp tích chập Vì kích thước 16 hình ảnh lớp S4 5x5, giống kích thước convolution kernel , nên kích thước hình ảnh tạo thành sau tích chập 1x1 Điều dẫn đến 120 kết tích chập Mỗi kết nối với 16 maps cấp độ trước Vì vậy, có (5x5x16 + 1) x120 = 48120 tham số có 48120 kết nối Cấu trúc mạng lớp C5 sau: F6 layer-fully connected layer o Input: c5 vec-tơ 120 chiều o Calculation method: tính tốn tích vơ hướng vectơ đầu vào vectơ trọng số, cộng với phần bù kết xuất thông qua hàm sigmoid o Trainable parameters: 84 * (120 + 1) = 10164 Chi tiết: - Layer lớp kết nối đầy đủ Lớp F6 có 84 node, tương ứng với bitmap 7x12, -1 nghĩa trắng, nghĩa đen, đó, màu đen trắng bitmap biểu tượng tương ứng với mã Các tham số huấn luyện số lượng kết 10 nối cho lớp (120 + 1) x 84 = 10164 Sơ đồ bảng mã ASCII sau: Phương thức kết nối layer sau: Output layer-fully connected layer¶ Lớp đầu fully connected layer, có tổng cộng 10 nút, tương ứng đại diện cho số từ đến giá trị nút i 0, kết nhận dạng mạng số i Kết nối mạng chức sở hướng tâm (RBF) sử dụng Giả sử x đầu vào lớp trước y đầu RBF, phép tính đầu RBF là: y i=∑ ( x j−wij )2 j Giá trị công thức w_ij xác định mã hóa bitmap i, i nằm khoảng từ đến j nằm khoảng từ đến * 12-1 Giá trị đầu RBF gần gần i, tức gần với số mã hóa ASCII i, điều có nghĩa kết nhận dạng nhập mạng ký tự i Lớp có 84x10 = 840 tham số kết nối 11 Các hàm kích hoạt thường dùng Trong mạng neural nói chung, hàm kích hoạt thành phần quan trọng việc học sâu, chúng sử dụng để xác định đầu mơ hình học sâu, độ xác hiệu suất mơ hình đào tạo thiết kế phân chia quy mơ mạng neural lớn Các hàm kích hoạt để lại tác động đáng kể để khả mạng để hội tụ hội tụ nhanh a Thế hàm kích hoạt Hàm kích hoạt xác định đầu đầu vào xử lý giá trị đầu vào thuật ngữ khác xác định đầu nút đưa đầu đến đầu vào nút khác Về bản, việc định kích hoạt hủy kích hoạt tế bào thần kinh để có đầu mong muốn Nó thực chuyển đổi phi tuyến đầu vào để có kết tốt mạng thần kinh phức tạp Hàm kích hoạt giúp bình thường hóa đầu đầu vào nằm phạm vi từ đến -1 Hàm kích hoạt hiệu giảm thời gian tính tốn mạng lưới thần kinh đào tạo hàng triệu điểm liệu Hàm kích hoạt định mạng thần kinh cung cấp thơng tin đầu vào nhận có liên quan khơng liên quan Chúng ta lấy ví dụ để hiểu tốt tế bào thần kinh chức kích hoạt giới hạn giá trị đầu đến số giới hạn Một neuron mức trung bình có trọng số đầu vào, sau tổng số chuyển qua hàm kích hoạt để có đầu Y =∑ ( weights ×input +bias ) 12 Y giá trị tế bào thần kinh phạm vi từ âm vơ cực đến dương vơ cực Vì vậy, phải ràng buộc dự đoán mong muốn kết tổng quát Y = Activation function ( ∑ ( weights ×input +bias ) ) Vì vậy, chúng tơi chuyển tế bào thần kinh đến hàm kích hoạt chức cho giá trị đầu ràng buộc b Vì cần sử dụng hàm kích hoạt Khơng có hàm kích hoạt, trọng số bias có biến đổi tuyến tính mạng lưới thần kinh mơ hình hồi quy tuyến tính, phương trình tuyến tính đa thức mức độ đơn giản để giải hạn chế khả giải vấn đề phức tạp cao đa thức độ Nhưng ngược lại với điều đó, việc bổ sung hàm kích hoạt vào mạng thần kinh thực chuyển đổi phi tuyến tính thành đầu vào làm cho có khả giải vấn đề phức tạp dịch ngôn ngữ phân loại hình ảnh Thêm vào đó, hàm kích hoạt khác biệt chúng dễ dàng thực phép truyền trở lại, chiến lược tối ưu hóa thực phương pháp lan truyền ngược để đo chức độ dốc mạng thần kinh c Linear Function Nó hàm kích hoạt đường thẳng đơn giản giá trị hàm tỷ lệ thuận với tổng trọng số tế bào thần kinh đầu vào Các hàm kích hoạt tuyến tính tốt việc đưa loạt kích hoạt giá trị đạo hàm tích cực làm tăng tốc độ xử lý tốc độ đầu vào tăng Trong nhị phân, tế bào thần kinh hoạt động hay không Nếu bạn biết giá trị đạo hàm giảm dần huấn luyện sâu bạn nhận thấy giá trị hàm hàm không đổi Y =mZ Trong đạo hàm Z khơng đổi Ý nghĩa đạo hàm khơng đổi khơng liên quan đến Z Trong điều này, thay đổi thực trình lan truyền ngược không đổi không phụ thuộc vào Z nên điều không tốt cho việc huấn luyện d ReLU (Rectified Linear unit) Relu sử dụng rộng rãi tại, giá trị hàm kích hoạt dao động từ đến vô cực, tất giá trị âm chuyển đổi thành 13 e Sigmoid Hàm kích hoạt sigmoid sử dụng chủ yếu thực nhiệm vụ với hiệu lớn, bản, cách tiếp cận xác suất việc định nằm khoảng từ đến 1, phải đưa định dự đoán đầu ra, sử dụng hàm kích hoạt phạm vi tối thiểu, đó, dự đốn xác f ( x )= ( −x ) 1+e 14 f Hyperbolic Tangent Activation Function(Tanh) Hàm kích hoạt tốt chút so với hàm sigmoid, giống hàm sigmoid, sử dụng để dự đốn phân biệt hai lớp ánh xạ đầu vào âm thành số lượng âm nằm khoảng từ -1 đến g Softmax Activation Function SoftMax sử dụng chủ yếu lớp cuối cùng, tức lớp đầu để định giống hoạt động kích hoạt sigmoid, SoftMax mang lại giá trị cho biến đầu vào theo trọng số chúng tổng trọng số cuối 15 Chương II: Thực nghiệm Đánh giá Bộ data sử dụng - - Sử dụng CV2 để lấy ảnh người thật, chuyển động khn mặt chương trình chụp ảnh để đảm bảo data không bị trùng lặp Mỗi khuôn mặt lấy 100 mãu Bộ data gồm bộ: train, test, val + Train dùng để huấn luyện model + Test dùng để kiểm tra model chọn model tốt + val để đánh giá xem model tốt hay xấu Bộ train, test val có 17 nhãn: + chris_evans : 50 ảnh train , 22 ảnh test, 12 ảnh val + chris_hemsworth: 53 ảnh, , 12 ảnh test, 12 ảnh val + mark_ruffalo: 66 ảnh, 12 ảnh test, 12 ảnh val + robert_downey_jr: 51 ảnh, 12 ảnh test, 12 ảnh val + scarlett_johansson: 54 ảnh, 12 ảnh test, 12 ảnh val + tung_lm: 100 ảnh, 30 ảnh test, 16 ảnh val + my_tam: 100 ảnh, 30 ảnh test, 16 ảnh val + dt_hiep: 100 ảnh, 30 ảnh test, 16 ảnh val + huy_nn: 100 ảnh, 30 ảnh test, 16 ảnh val + khanh_td: 100 ảnh, 30 ảnh test, 16 ảnh val + phan_manh_quy: 100 ảnh, 30 ảnh test, 16 ảnh val + ronaldo: 100 ảnh, 30 ảnh test, 16 ảnh val + son_tung: 100 ảnh, 30 ảnh test, 16 ảnh val + tai_smile: 100 ảnh, 30 ảnh test, 16 ảnh val + tien_nd: 100 ảnh, 30 ảnh test, 16 ảnh val + toi_di_code_dao: 100 ảnh, 30 ảnh test, 16 ảnh val + vu_duy_dan: 100 ảnh, 30 ảnh test, 16 ảnh val Xử lý phân tích data - Công cụ xử dụng: Google Colab Import thư viện cần thiết: 16 Các nhãn tên người dataset - Đọc liệu Bộ data load đầy đủ train 274 ảnh, classes, test 70 ảnh classes, val 60 ảnh classes - Map nhãn cụ thể - Gán số cho tên để hiển thị trực quan dự đoán Vẽ biểu đồ thể phân bố nhãn 17 - Các nhãn phân bố khơng đồng khoảng nhãn có số luợng 3.5% chris_evans robert_downey_jr, nhãn có số lượng nhiều 6.9% tai_smile, khanh_td In thử 25 ảnh train A 18 ... curve) biểu đồ cho thấy hiệu suất mơ hình phân loại tất ngưỡng phân loại Đường cong hiển thị hai tham số: - Tỷ lệ dương tính thực Tỷ lệ dương tính giả True Positive Rate (TPR) – Tỷ lệ dương tính thực... Tỷ lệ dương tính giả FPR= FP FP+TN Đường cong ROC vẽ đồ thị TPR so với FPR ngưỡng phân loại khác Việc giảm ngưỡng phân loại phân loại nhiều mục dương, tăng số dương tính giả dương tính thực Hình... classes, val 60 ảnh classes - Map nhãn cụ thể - Gán số cho tên để hiển thị trực quan dự đoán Vẽ biểu đồ thể phân bố nhãn 17 - Các nhãn phân bố không đồng khoảng nhãn có số luợng 3.5% chris_evans