(Tiểu luận) 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

35 7 0
(Tiểu luận) 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

Đ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

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 hiện: 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 cịn 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 i DANH MỤC HÌNH VẼ 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 2.3 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 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 3.3 3.4 3.5 3.6 3.7 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 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 4.5 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 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 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 MTCNN Multi-task Cascaded Convolutional Networks NMS Non-Maximum Suppression i DANH MỤC HÌNH ẢNH 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 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 Hình 4.18 Luồng hoạt động MTCNN 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 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 Cơng cụ sử dụng 1.2.1 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 Py-Torch 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 toá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 ngun 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 toán

Ngày đăng: 28/09/2023, 20:28

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan