Sử dụng giao diện Microsoft Azure để trích xuất thông tin từ thẻ căn cước hoặc hộ chiếu bằng công nghệ OCR
Ngày cập nhật: 19-08-2023 | Số lần xem: 2288 | Số từ: 1011 | Phân loại: Nhận dạng hình ảnh
Tìm kiếm
Tài liệu Python SDK
Cài đặt gói cần thiết
|
|
Ví dụ mã nguồn
|
|
Tuy nhiên, ví dụ trên sử dụng URL của một tệp PDF, trong khi tôi cần xử lý file cục bộ hoặc luồng dữ liệu nhị phân.
Các phương thức khác của DocumentAnalysisClient
Tham khảo thêm tại:
Có ba phương thức chính:
begin_analyze_document_from_url
: Phương thức được dùng trong ví dụ.begin_analyze_document
: Đây là phương thức phù hợp với yêu cầu của tôi.close
: Đóng kết nối sau khi xử lý.
Tham số của begin_analyze_document
model_id
: Là chuỗi xác định mô hình sử dụng (ví dụ: thẻ căn cước, hóa đơn).document
: Dòng dữ liệu hoặc tệp có định dạng như JPEG, PNG, PDF, TIFF, BMP hoặc HEIF.locale
: Với người dùng Mỹ, bạn nên chọnen-US
.
Ví dụ mới sử dụng file địa phương
|
|
Mô hình tương ứng cho thẻ căn cước/hộ chiếu
Theo tài liệu đầu tiên:
Mã model là: prebuilt-idDocument
Phạm vi áp dụng
- Hộ chiếu quốc tế, thẻ hộ chiếu nhỏ.
- Giấy phép lái xe, thẻ căn cước, thẻ thường trú (Green Card), thẻ bảo hiểm xã hội, thẻ quân nhân tại Mỹ.
- Chứng minh thư, giấy phép lái xe, thẻ cư trú tại châu Âu.
- Giấy phép lái xe, PAN Card, Aadhaar Card tại Ấn Độ.
- Chứng minh thư, thẻ thường trú (枫叶卡) tại Canada.
- Chứng minh thư, thẻ có hình ảnh, Key-pass ID (bao gồm phiên bản số) tại Úc.
Hình ảnh thử nghiệm
Tôi đã tìm lại hộ chiếu cũ để thực hiện kiểm tra.
Trường dữ liệu trích xuất
Tùy từng loại giấy tờ sẽ có các trường dữ liệu khác nhau, nhưng vẫn có những trường chung như:
FirstName
LastName
DocumentNumber
Chi phí sử dụng
Chi tiết về giá tại:
Đối với các mô hình dựng sẵn (tài liệu, bố cục, hóa đơn, nhận dạng, W-2, thẻ bảo hiểm y tế, vắc-xin, danh thiếp):
- $10 cho 1.000 trang, tức khoảng $0.01/trang.
- 500 lượt miễn phí mỗi tháng.
Hello world – Kiểm tra hộ chiếu
Dưới đây là đoạn code đơn giản với hộ chiếu của tôi:
|
|
Kết quả trả về đúng như mong đợi.
Trường hợp không thể nhận diện
Tôi đã thử nghiệm với một hình ảnh JPG không phải là hộ chiếu hoặc căn cước:
|
|
Lúc này, chúng ta có thể kiểm tra xem các khóa như FirstName
, LastName
, DocumentNumber
có tồn tại trong fields
hay không. Nếu không có hoặc documents
là danh sách rỗng, thì chắc chắn đó không phải là tài liệu hợp lệ.
TODO
- Có thể phát triển tính năng phát hiện giấy tờ giả mạo.
Xung đột giữa các thư viện
Việc cài đặt SDK của Azure có thể gây ra xung đột với các dự án khác như Rasa. Một số lỗi điển hình:
|
|
Ngoài ra, pip cũng cảnh báo:
|
|
Vì vậy, việc sử dụng môi trường ảo hoặc container là rất quan trọng để tránh xung đột.
Giới hạn kích thước hình ảnh
Trong lúc đang ở biển cùng con gái và thử nghiệm dịch vụ OCR qua điện thoại, tôi bất ngờ gặp lỗi hệ thống. Sau khi kiểm tra log, nguyên nhân chính là do kích thước tệp vượt quá giới hạn:
|
|
Phiên bản miễn phí của Azure chỉ hỗ trợ tối đa 4MB, còn bản trả phí lên tới 500MB. Tôi đã cân nhắc việc nén hình ảnh trước khi upload và cuối cùng quyết định sử dụng giải pháp nén trên server bằng Python, và mọi thứ đã hoạt động ổn định trở lại.