Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 35 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
35
Dung lượng
6,96 MB
Nội dung
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN ĐẠI HỌC QUỐC GIA HÀ NỘI BÁO CÁO THỰC TẬP Đề tài: TRÍCH XUẤT THƠNG TIN VÀ XÁC THỰC DANH TÍNH BẰNG CĂN CƯỚC CÔNG DÂN Người hướng dẫn : ĐINH KHẮC DŨNG Sinh viên thực : NGUYỄN NAM PHONG Lớp : K65A5 KHOA HỌC DỮ LIỆU Mã sinh viên : 20002084 Hà Nội, ngày 21 tháng năm 2023 LỜI CẢM ƠN Lời em xin gửi lời cảm ơn tới Phòng Đào tạo Trường Đại học Khoa học Tự nhiên định thêm môn Thực tập thực tế Khoa học Dữ liệu vào chương trình học trường để em có hội trải nghiệm mơi trường thực tế doanh nghiệp Tiếp đến em xin chân thành cảm ơn người hướng dẫn, anh Đinh Khắc Dũng đồng hành giúp đỡ em thời gian thực tập, hướng dẫn trang bị cho em kinh nghiệm kiến thức Cùng với cơng ty ANLAB hỗ trợ em điều kiện cần thiết, tạo môi trường làm việc tích cực thân thiện Do kiến thức hạn chế thiếu kinh nghiệm việc tổng hợp thơng tin q trình thực tập nên báo cáo khó tránh khỏi lỗi sai, thiếu sót Kính mong nhận ý kiến đóng góp bổ sung, lời nhận xét từ quý thầy để viết hồn thiện xác Em xin chân thành cảm ơn! MỤC LỤC DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT DANH MỤC HÌNH VẼ i iii CHƯƠNG TỔNG QUAN ĐỀ TÀI 1.1 Phát biểu toán 1.2 Công cụ sử dụng 1.2.1 PyTorch Tensorflow 1.2.2 Jupyter Notebook Anaconda 1.2.3 Kaggle 1.2.4 VietOCR 1.2.5 PyTesseract CHƯƠNG SỬ DỤNG VIETOCR ĐỂ TRÍCH XUẤT THƠNG TIN 2.1 OCR 2.2 Phương hướng 2.2.1 Tạo ảnh mẫu 2.2.2 Xoay ảnh 2.2.3 Trích xuất thông tin Phương pháp 2.3.1 Chọn ảnh mẫu 2.3.2 Phát keypoint SIFT 2.3.3 Ghép keypoint BFMatcher 2.3.4 Xoay ảnh 2.3.5 Xử lí vùng ảnh đọc ảnh 2.4 Kết thực nghiệm 2.5 Nhận xét 2.3 CHƯƠNG XÂY DỰNG MƠ HÌNH TRÍCH XUẤT TRƯỜNG THÔNG TIN ID 3.1 Ý tưởng 3.2 Phương hướng sử dụng CNN 3.2.1 Cắt vùng ảnh chứa trường thông tin ID 3.2.2 Phân tách chữ số 3.2.3 Phân loại chữ số đưa kết Phương pháp sử dụng CNN 3.3.1 Cắt vùng ảnh chứa trường thông tin ID 3.3.2 Phân tách chữ số 10 3.3.3 Phân loại chữ số đưa kết 10 CRNN 11 3.4.1 CNN 12 3.4.2 RNN 12 3.4.3 Transcription 13 3.4.4 Hàm mát 14 Phương hướng sử dụng CRNN 14 3.5.1 Sinh ảnh để huấn luyện mơ hình 14 3.5.2 Xây dựng mơ hình CRNN 14 Phương pháp sử dụng CRNN 14 3.6.1 Sinh ảnh để huấn luyện mơ hình 14 3.6.2 Xây dựng mơ hình CRNN 15 So sánh Implement CNN CRNN 15 3.7.1 Kết thực nghiệm 15 3.7.2 Nhận xét 16 3.3 3.4 3.5 3.6 3.7 CHƯƠNG XÁC THỰC KHUÔN MẶT BẰNG CĂN CƯỚC CÔNG DÂN 17 4.1 MTCNN 17 4.2 FaceNet 19 4.3 Yêu cầu ảnh 20 4.4 Phương hướng 20 4.4.1 Phát khuôn mặt 20 4.4.2 Encoding ảnh khuôn mặt 20 4.4.3 So sánh vector embedding khuôn mặt 21 Phương pháp 21 4.5.1 Phát khuôn mặt MTCNN 21 4.5.2 Nhận diện đeo trang 21 4.5.3 Nhận diện mặt quay sang bên 23 4.5.4 Encoding ảnh khuôn mặt FaceNet 23 4.5.5 So sánh vector embedding khuôn mặt 24 4.6 Kết thực nghiệm 24 4.7 Nhận xét 25 4.5 TÀI LIỆU THAM KHẢO 26 NHẬN XÉT THỰC TẬP 27 DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT KÝ HIỆU VIẾT TẮT DIỄN GIẢI ĐẦY ĐỦ CCCD OCR GPU SIFT BFMatcher CNN RNN CRNN CTC TRDG LSTM SGD MTCNN NMS Căn cước công dân Optical Character Recognition Graphics Processing Unit Scale-Invariant Feature Transform Brute-Force Matcher Convolutional Neural Network Recurrent Neural Network Convolutional Recurrent Neural Network Connectionist Temporal Classification Text Recognition Data Generator Long-Short Term Memory Stochastic Gradient Descent Multi-task Cascaded Convolutional Networks Non-Maximum Suppression i DANH MỤC HÌNH ẢNH Hình 2.3 Phát keypoint CCCD mẫu Hình 2.4 Phát keypoint CCCD cần xoay Hình 2.5 Ghép keypoint ảnh Hình 2.6 Kết xoay ảnh Hình 2.7 Vùng ảnh ngày sinh tiền xử lí Hình 3.8 Ví dụ ảnh ID Hình 3.9 Ảnh ID sau tiền xử lí, resize 333x75 viền trắng 10 Hình 3.10 Các chữ số ảnh detect 10 Hình 3.11 Ảnh chữ số resize 24x44 10 Hình 3.12 Mơ hình CNN sử dụng 11 Hình 3.13 Trường hợp dự đoán 11 Hình 3.14 Luồng hoạt động CRNN 12 Hình 3.15 Chữ nằm nhiều khung hình liên tiếp 13 Hình 3.16 Ví dụ ảnh sinh 15 Hình 3.17 Trường hợp dự đoán sai nhầm chữ số thành chữ số 16 17 Hình 4.19 Tầng 1: P-net 18 Hình 4.20 Tầng 2: R-net 18 Hình 4.21 Tầng 3: O-net 19 Hình 4.22 Luồng hoạt động FaceNet 19 Hình 4.23 Các bước sử dụng MTCNN 20 Hình 4.24 Các bước sử dụng FaceNet 20 Hình 4.25 Ảnh chụp đầy đủ vùng ảnh chứa khuôn mặt sau xử lí 21 Hình 4.26 Mơ hình CNN phân loại đeo trang 22 Hình 4.27 Phát ảnh đeo trang 22 Hình 2.1 Luồng hoạt động OCR Hình 2.2 Ảnh CCCD mẫu đảm bảo đầy đủ tiêu chí Hình 4.18 Luồng hoạt động MTCNN ii Hình 4.28 Ảnh xác định quay sang phải 23 Hình 4.29 Kết xác thực cặp ảnh 24 iii CHƯƠNG TỔNG QUAN ĐỀ TÀI Chương bao gồm giới thiệu công việc thực công cụ sử dụng 1.1 Phát biểu tốn Trong thời kì chuyển đổi số, tự động trích xuất thông tin từ giấy tờ tùy thân áp dụng rộng rãi nhiều lĩnh vực viễn thông, ngân hàng, y tế, Nếu trước đây, ta cần phải đến tận nơi để thực thủ tục đăng kí, xác minh thơng tin, thao tác thực thông qua điện thoại, nhờ giải pháp định danh khách hàng điện tử eKYC Quy trình eKYC thơng thường bao gồm bước: • Bước 1: Xác minh tài liệu cách chụp giấy tờ tùy thân • Bước 2: Trích xuất tự động thơng tin giấy tờ tùy thân • Bước 3: Đối chiếu hình ảnh người sử dụng cách so khớp video hình ảnh chân dung với hình ảnh giấy tờ tùy thân Trong báo cáo này, ta xây dựng mô hình dựa quy trình eKYC, với giấy tờ tùy thân sử dụng thẻ CCCD có gắn chíp 12 chữ số 1.2 1.2.1 Công cụ sử dụng PyTorch Tensorflow PyTorch Tensorflow hai framework tiếng việc xây dựng huấn luyện mạng nơ ron nhân tạo Cả hai phát triển với mã nguồn mở, giúp cộng đồng tùy biến, nâng cấp sử dụng miễn phí • Tensorflow phát triển Google, đánh giá tốt PyTorch khía cạnh xây dựng mở rộng mơ hình phục vụ cho sản phẩm thực tế Cùng với cộng đồng lớn để hỗ trợ giải vấn đề • PyTorch phát triển Facebook Là framework phát triển sau, nên PyTorch cung cấp hệ sinh thái hỗ trợ tối đa việc thử nghiệm nghiên cứu ý tưởng Đặc biệt, hiệu suất PyTorch tốt so với Tensorflow, cộng đồng PyTorch không thua Tensorflow Trong đề tài này, em sử dụng hai framework nhằm có thêm kinh nghiệm kĩ để phù hợp với doanh nghiệp sau 1.2.2 Jupyter Notebook Anaconda Jupyter Notebook tảng tính tốn khoa học mã nguồn mở, hỗ trợ 40 ngôn ngữ lập trình • Jupyter cho phép người dùng xem kết code inline mà không cần phụ thuộc phần khác code Điều cho phép em kiểm tra đọc kết cell cách độc lập, khơng cần chạy tồn PyCharm • Tận dụng tài nguyên máy Em sử dụng GPU máy mình, với tiếp xúc trực tiếp file thư mục máy Do đó, sử dụng Jupyter Notebook Anaconda đảm bảo ổn định tiện lợi tảng Kaggle hay Colab thực tác vụ nhẹ đơn giản 1.2.3 Kaggle Kaggle tảng trực tuyến cho cộng đồng học máy khoa học liệu [1] • Cho phép chia sẻ tìm kiếm liệu; tìm hiểu xây dựng mơ hình • Nguồn tài ngun miễn phí Ta sử dụng miễn phí GPU P100 T4x2 Kaggle khoảng thời gian định, giúp tăng tốc độ huấn luyện mơ hình, phù hợp với tác vụ nặng tốn nhiều thời gian 1.2.4 VietOCR VietOCR thư viện phục vụ việc OCR cho tiếng Việt [2] • Kiến trúc mơ hình bao gồm CNN Transformer, huấn luyện liệu 10 triệu ảnh Do đạt độ xác cao • Là thư viện OCR xây dựng cho tiếng Việt, phù hợp với yêu cầu toán 1.2.5 PyTesseract Python-tesseract cơng cụ OCR dành cho Python [3] • Hỗ trợ đa ngơn ngữ • Thư viện cú pháp dễ sử dụng • Có nhiều tham số phục vụ cho mục đích khác nhau, dễ dàng tối ưu tốn Bảng 3.1 Ví dụ feature sequence y1 a 0.90 b 0.05 c 0.05 - 0.00 x1 3.4.3 y2 0.2 0.01 0.79 0.00 x2 y3 0.03 0.02 0.00 0.95 x3 y4 0.26 0.74 0.00 0.00 x4 y5 0.03 0.24 0.70 0.03 x5 Transcription Ta cần chuyển dự đốn khung hình RNN thành chuỗi văn bản, cách chọn chuỗi có xác suất cao Tuy nhiên, đôi lúc xuất trường hợp chữ khung hình Ví dụ, ta đọc từ hey, chữ nằm khung hình liên tiếp, kết đọc hheyy Khi đó, ta gộp chữ trùng thành Nhưng đến gặp từ có kí tự trùng hello bị sai Hình 3.15 Chữ nằm nhiều khung hình liên tiếp Trong đề tài này, ta sử dụng CTC - Connectionist Temporal Classification [7][8] để khắc phục vấn đề CTC chèn thêm kí tự blank, kí hiệu - vào kí tự trùng nhau, gộp kí tự trùng bên kí tự blank Đến cuối cùng, CTC loại bỏ kí tự blank chuỗi văn cuối Để đưa chuỗi kết quả, CTC tính tỉ lệ tất chuỗi văn dựa phân phối đầu RNN (sau gộp kí tự trùng loại bỏ blank) chọn chuỗi có xác suất cao Xác suất chuỗi văn X tổng xác suất tất align, với align chuỗi văn sau CTC xử lí trở thành chuỗi X Ví dụ, align chuỗi "abc" có khung hình –abc, aa-bc, a-b-c Xác suất chuỗi "abc" tổng xác suất tất align Ví dụ xác suất aa-bc 0.9 * 0.2 13 * 0.95 * 0.74 * 0.7 = 0.088578 3.4.4 Hàm mát Ta sử dụng hàm CTC loss, với cách tính negative log xác suất chuỗi kết với điều kiện phân phối nhãn y: Loss = - log P(ground truth|y) 3.5 Phương hướng sử dụng CRNN 3.5.1 Sinh ảnh để huấn luyện mơ hình Cũng mơ hình học sâu khác, CRNN u cầu lượng lớn liệu ảnh Do chưa có liệu ảnh phù hợp với yêu cầu tốn (CCCD có 12 chữ số), nên ta sinh tập ảnh tương tự với tập ảnh test nhằm mục đích huấn luyện mơ hình CRNN 3.5.2 Xây dựng mơ hình CRNN Ta xây dựng mơ hình CRNN, với chủ yếu việc lựa chọn mơ hình cho phần CNN RNN 3.6 Phương pháp sử dụng CRNN 3.6.1 Sinh ảnh để huấn luyện mơ hình Ta sử dụng thư viện TRDG - Text Recognition Data Generator [5] cho việc sinh ảnh Dựa ảnh thực tế, liệu sinh có định dạng: • Chữ số đầu • Font Arial Bold • Tỉ lệ chữ số xuất cao so với chữ số khác: khoảng 26%, thống kê tập ảnh test • Nền ảnh cắt từ thẻ CCCD Với mục đích tạo đa dạng cho tập ảnh, điều kiện sau thêm vào: • • • • • • • Thêm font Arial Làm mờ ảnh nhiều mức độ Khoảng cách chữ số từ đến pixel Nền ảnh có thêm lựa chọn: Gaussian noise, Plain white, Quasicrytal Xoay ảnh góc nhỏ Chuyển dịch ảnh theo chiều dọc chiều ngang Zoom ảnh với tỉ lệ 0.1 Tất ảnh dạng Grayscale Sau thử nghiệm nhiều lần, số lượng ảnh 14 sinh 30.000 ảnh, có 24.000 ảnh train 6.000 ảnh valid, đạt hiệu tốt độ xác thời gian huấn luyện mơ hình Hình 3.16 Ví dụ ảnh sinh 3.6.2 Xây dựng mơ hình CRNN Sau nhiều lần thử nghiệm, mơ hình có kết tốt bao gồm: • • • • Resnet 101 cộng thêm lớp tích chập 256x3x3 phần CNN lớp LSTM bidirectional phần RNN Hàm mát CTC loss Hàm tối ưu SGD 3.7 3.7.1 So sánh Implement CNN CRNN Kết thực nghiệm Tập test bao gồm 262 ảnh ID Bảng 3.2 Thời gian chạy ảnh (s) Độ xác (detect chữ số) Độ xác (test) Implement CNN 1.69 100% 99.6% CRNN 0.02 97.3% 15 Hình 3.17 Trường hợp dự đốn sai nhầm chữ số thành chữ số 3.7.2 Nhận xét Có thể thấy, implement sử dụng CNN cho kết tốt dự đoán sai ảnh tổng cộng 262 ảnh, cụ thể sai chữ số 12 chữ số Với việc xây dựng theo bước, đơn giản để tìm khắc phục lỗi cải thiện kết Ngoài ra, huấn luyện mơ hình CNN, ta cần liệu ảnh chữ số, vốn có nhiều mạng dễ sinh ảnh Tuy nhiên, cách làm gặp hạn chế lớn, chữ số ảnh phải tách biệt nhau, khơng bị dính vào Do đó, gặp ảnh có nhiễu dính chữ số chữ số khơng phân tách, dẫn đến việc dự đốn sai ảnh Và nên ta khơng thể áp dụng implement vào toán chữ viết tay Ngồi ra, thời gian dự đốn implement CNN lâu nhiều so với CRNN Kết sử dụng CRNN không tốt implement CRNN, nhiên cao Đặc biệt, CRNN giải vấn đề chữ số dính nhau, với tốc độ chạy nhanh nhiều so với việc sử dụng implement CNN, phù hợp với nhiều toán tương lai Tuy vậy, mơ hình end-to-end, ta gặp nhiều khó khăn vấn đề sửa lỗi cải thiện kết Mơ hình địi hỏi lượng liệu ảnh lớn, dẫn đến việc thời gian huấn luyện lâu Và toán này, liệu ảnh CRNN phức tạp nhiều so với implement CNN, ta phải sinh ảnh 12 chữ số, thay chữ số 16 CHƯƠNG XÁC THỰC KHUÔN MẶT BẰNG CĂN CƯỚC CÔNG DÂN Chương đề xuất phương pháp để xác thực khn mặt thẻ CCCD nhằm phục vụ tốn xác thực số điện thoại 4.1 MTCNN MTCNN - Multi-task Cascaded Convolutional Networks [9] sử dụng nhằm xác định vị trí khn mặt ảnh Về cấu trúc, MTCNN bao gồm mạng CNN xếp chồng đồng thời hoạt động Mỗi mạng CNN có cấu trúc vai trị khác việc phát khn mặt Đầu MTCNN vector đặc trưng biểu diễn cho vị trí khn mặt xác định ảnh, bao gồm mắt, mũi, miệng Hình 4.18 Luồng hoạt động MTCNN 17 MTCNN tạo image pyramid, hay nói cách khác tạo nhiều có kích cỡ khác làm đầu vào tầng chồng MTCNN, nhằm thực phát khn mặt nhiều kích thước Ở tầng 1, ta sử dụng mạng đề xuất (P-net) để thu cửa sổ tiềm vector hồi quy cửa sổ Tiếp theo, cửa sổ chứa khuôn mặt hiệu chuẩn dựa vector hồi quy Cuối cùng, cửa sổ loại bỏ bớt NMS - Nonmaximim suppression Hình 4.19 Tầng 1: P-net Tất cửa sổ chứa khuôn mặt thu tầng sàng lọc cách đưa vào CNN khác gọi mạng lọc (R-net) để tiếp tục loại bỏ lượng lớn cửa sổ khơng chứa khn mặt Sau tương tự tầng 1, ta thực hiệu chuẩn NMS Ở tầng này, MTCNN thêm zero pixel vào phần thiếu bounding box bounding box bị vượt biên ảnh Kết tọa độ box cịn lại Hình 4.20 Tầng 2: R-net Tầng tương tự tầng 2, sử dụng CNN chi tiết gọi mạng đầu 18 (O-net) để lọc kết lần Kết đầu mạng bao gồm tọa độ bounding box, tọa độ vị trí khn mặt: mắt, mũi, bên cánh mơi, điểm tự tin box Hình 4.21 Tầng 3: O-net 4.2 FaceNet FaceNet [10][11] mạng nơ-ron học sâu sử dụng để trích xuất đặc trưng từ ảnh khuôn mặt người FaceNet nhận ảnh mặt người làm đầu vào, trả lại kết vector có độ dài cố định thể đặc trưng quan trọng khuôn mặt Vector cịn gọi embedding, tất thông tin quan trọng ảnh nhúng vào vector Từ vector embedding có được, ta tính khoảng cách khn mặt người biết người chưa biết, khoảng cách đủ gần ta kết ln người ngược lại Hình 4.22 Luồng hoạt động FaceNet Về cách huấn luyện, đầu tiên, FaceNet sinh vector ngẫu nhiên cho tất ảnh Sau đó, FaceNet huấn luyện dựa theo Triplet Loss: Lựa chọn ngẫu nhiên ảnh làm mốc - Anchor Lựa chọn ngẫu nhiên ảnh lớp với ảnh mốc - Positive example Lựa chọn ngẫu nhiên ảnh khác lớp với ảnh mốc - Negative example Điều chỉnh tham số FaceNet để tối thiểu hóa khoảng cách ảnh mốc ảnh lớp; tối đa hóa khoảng cách ảnh mốc ảnh khác lớp • Lặp lại q trình • • • • 19 4.3 Yêu cầu ảnh Để mô hình hoạt động cách tốt nhất, ta cần đặt số yêu cầu ảnh chân dung: • Ảnh chứa khn mặt • Khn mặt cần đặt diện: khơng cúi/ngẩng, khơng xoay sang bên • Người chụp khơng đeo trang 4.4 4.4.1 Phương hướng Phát khuôn mặt Ta sử dụng MTCNN để xác định vị trí cắt vùng ảnh chứa khn mặt Hình 4.23 Các bước sử dụng MTCNN 4.4.2 Encoding ảnh khuôn mặt Với ảnh khuôn mặt, ta thực encoding thành vector embedding FaceNet để có vector có độ dài cố định Hình 4.24 Các bước sử dụng FaceNet 20 4.4.3 So sánh vector embedding khuôn mặt Ta so sánh vector embedding khuôn mặt cắt từ ảnh thẻ CCCD với vector embedding khuôn mặt cắt từ ảnh chụp bình thường Nếu khoảng cách vector thấp ngưỡng cho trước ta chấp nhận ảnh chụp ngược lại 4.5 Phương pháp 4.5.1 Phát khuôn mặt MTCNN Ta sử dụng MTCNN thư viện facenet_pytorch, resize ảnh 170x170 chuẩn hóa ảnh cách chia cho 255 Kết trả có vùng ảnh chứa khn mặt tọa độ điểm khn mặt Hình 4.25 Ảnh chụp đầy đủ vùng ảnh chứa khuôn mặt sau xử lí 4.5.2 Nhận diện đeo trang Ta xây dựng mơ hình CNN nhằm phân loại ảnh đeo trang Trong đề tài này, ta sử dụng kiến trúc VGG16, cộng thêm lớp Fully Connected 256 unit, lớp Dropout 0.5 lớp Fully Connected unit với hàm hoạt động sigmoid 21 Hình 4.26 Mơ hình CNN phân loại đeo trang Với ảnh mặt có từ MTCNN, ta đưa vào mơ hình CNN để xác định người ảnh có đeo trang hay khơng Nếu có mơ hình khơng chấp nhận ảnh Hình 4.27 Phát ảnh đeo trang 22 4.5.3 Nhận diện mặt quay sang bên Từ tọa độ điểm khn mặt, ta có tam giác với đỉnh mũi mắt Nếu góc mắt trái lớn nhiều so với góc mắt phải, ta coi người ảnh nghiêng bên trái ngược lại Qua thực nghiệm, ta đặt ngưỡng hiệu góc nhỏ 23 độ để mơ hình có kết tốt Hình 4.28 Ảnh xác định quay sang phải 4.5.4 Encoding ảnh khuôn mặt FaceNet Ta sử dụng mơ hình InceptionResnetV1, với trọng số có sẵn huấn luyện tập VGGFace2, bao gồm 3.31 triệu ảnh 9131 người khác để trích xuất đặc trưng khn mặt Đầu vector embedding có độ dài 512 ứng với khuôn mặt 23 4.5.5 So sánh vector embedding khuôn mặt Đối với cặp vector, bao gồm vector khuôn mặt từ thẻ CCCD vector khuôn mặt từ ảnh chụp, ta tính khoảng cách Euclid Nếu khoảng cách nhỏ 0.888, ta chấp nhận ảnh người Hình 4.29 Kết xác thực cặp ảnh 4.6 Kết thực nghiệm Ta cần kiểm tra trường hợp: người A muốn xác thực A người B muốn xác thực A Số đối tượng test thu thập người Tổng số ảnh chụp (không tính thẻ CCCD) 52 Trong tốn thực tế, người ta muốn loại bỏ việc sử dụng sim rác việc đối chiếu khuôn mặt chủ số điện thoại với thẻ CCCD Do đó, ta cần hạn chế trường hợp hơn, hay nói cách khác, cần hạn chế việc chấp nhận người B người A (False Acceptance) • Số trường hợp phân loại sai ảnh đeo trang: 0/4 ảnh đeo trang, 2/48 ảnh khơng đeo trang, có ảnh cúi ảnh nghiêng sang trái 90 độ • Số trường hợp không nghiêng mặt: 186 • Số trường hợp nghiêng mặt: 126 • Số trường hợp False Rejection - không chấp nhận A A: 3/31, có ảnh ngẩng đầu • Số trường hợp False Acceptance - chấp nhận B A: 0/155 • Tốc độ trung bình lần thử: 3.375s 24 4.7 Nhận xét Kết thỏa mãn yêu cầu đề ra, không xuất trường hợp chấp nhận sai người Độ xác trường hợp xác thực A A đạt khoảng 90.3%, nhiên số phép thử trường hợp cịn Mặt khác, mơ hình cịn gặp số vấn đề Tốc độ kiểm tra lâu, ngồi việc đưa ảnh vào mơ hình phân loại đeo trang, ảnh ta cần tới lần xác định vị trí khn mặt: • Xác định khn mặt khơng xử lí vùng ảnh khn mặt để phân loại đeo trang • Xác định điểm khn mặt để xác định góc nghiêng mặt • Xác định khn mặt xử lí vùng ảnh khn mặt để xác thực khn mặt Ngồi ra, thuật tốn cịn thiếu sót chưa thể xác định khuôn mặt cúi ngẩng, ảnh hưởng đến độ xác Một vấn đề khác tính thực tiễn mơ hình Kết đạt hoàn toàn đến từ việc so sánh với ảnh chụp, đó, ta hồn tồn sử dụng ảnh có sẵn để vượt qua mơ hình 25 TÀI LIỆU THAM KHẢO [1] Hoa Nguyen Kaggle Tutorial 2020 [2] Phạm Bá Cường Quốc Github pbcquoc/vietocr 2022 [3] pytesseract - PyPI pypi.org/project/pytesseract [4] Pragatiunna Github pragatiunna/License-Plate-Number-Detection 2021 [5] Belval Github Belval/TextRecognitionDataGenerator 2022 [6] Baoguang Shi, Xiang Bai and Cong Yao An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition 2015 [7] Alex Graves, Santiago Fernández, Faustino Gomez and Jurgen Schmidhuber Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Networks 2006 [8] Dan Sporici PyTorch CRNN: Seq2Seq Digits Recognition w/ CTC codingvision.net 2020 [9] Kaipeng Zhang, Zhanpeng Zhang and Zhifeng Li Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks IEEE 2016 [10] Luka Dulcic Face Recognition with FaceNet and MTCNN arsfutura.com 2019 [11] Florian Schroff, Dmitry Kalenichenko and Javes Philbin FaceNet: A Unified Embedding for Face Recognition and Clustering IEEE 2015 26 NHẬN XÉT THỰC TẬP Công ty thực tập: Người hướng dẫn: Thời gian thực tập: Họ tên sinh viên: Ý thức làm việc sinh viên: Khả làm việc/học hỏi: Mức độ hồn thành nhiệm vụ giao: Xác nhận cơng việc báo cáo có cơng việc giao: Những vấn đề cần góp ý với thực tập sinh/nhà trường để cơng việc tiến hành tốt hơn: Điểm đánh giá (theo thang điểm 10): Hà Nội, ngày 21 tháng năm 2023 Xác nhận người đánh giá Xác nhận doanh nghiệp (Kí đóng dấu) 27