Inspiration
Việc nhập liệu thủ công các dãy số từ tài liệu giấy vào hệ thống tra cứu thường phát sinh rào cản về thời gian và rủi ro sai sót do yếu tố con người (human error). Trong bối cảnh công nghệ thị giác máy tính (Computer Vision) phát triển mạnh mẽ, ý tưởng về một giải pháp tự động hóa quá trình số hóa và đối soát dữ liệu ngay từ ảnh chụp thực tế đã ra đời. Dự án nhằm mục đích tối ưu hóa trải nghiệm người dùng bằng cách biến máy ảnh thiết bị di động thành một bộ quét dữ liệu thông minh.
What it does
Smart OCR Regional Data Scanner là ứng dụng di động xử lý ảnh trực tiếp, cho phép chuyển đổi dữ liệu hình ảnh dạng giấy thành dữ liệu số hóa có cấu trúc: Trích xuất dữ liệu đa vùng: Tự động nhận diện cấu trúc văn bản, ký tự số và mã khu vực (ví dụ: các luồng phát sóng thuộc chuỗi dữ liệu xsmb thu sau). Xử lý và Làm sạch: Tách vùng dữ liệu quan trọng (ROI - Region of Interest), loại bỏ nhiễu nền và chuẩn hóa định dạng chuỗi số. Đối soát tự động: Gọi trực tiếp VN-LottoData Open Source API để thực hiện truy vấn chéo và phản hồi kết quả trùng khớp ngay trên màn hình dưới $1.5$ giây.
How I built it
Hệ thống kết hợp giữa công nghệ nhận dạng hình ảnh tiên tiến và hạ tầng xử lý API hiệu năng cao:
Mobile Framework: Phát triển ứng dụng cross-platform bằng Flutter, tối ưu khả năng tương tác trực tiếp với Camera hardware.
Computer Vision & OCR Engine: Tích hợp Google ML Kit (Mobile Vision API) và Tesseract OCR engine. Quy trình xử lý ảnh trải qua các bước: Grayscale Conversion -> Binarization (Phân ngưỡng) -> Perspective Transform (Hiệu chỉnh góc chụp) -> Text Recognition. Data Pipeline & Parsing: Dữ liệu thô sau khi OCR sẽ qua một bộ lọc biểu thức chính quy (Regex Pipeline) để trích xuất chính xác ngày phát hành, mã tỉnh thành và dãy số cần kiểm tra. API Integration Layer: Sử dụng HTTP Client với cơ chế Asynchronous Processing để truy vấn đồng thời nhiều endpoint của VN-LottoData API, giảm thiểu tối đa thời gian chờ của người dùng.
Challenges I ran into
Chất lượng ảnh đầu vào không đồng nhất: Nhiễu sáng, ảnh bị mờ do rung tay hoặc bề mặt tài liệu giấy bị nhăn làm giảm độ chính xác của mô hình OCR. Bài toán được xử lý bằng cách thêm bước tiền xử lý ảnh (Image Preprocessing) để tăng độ tương phản trước khi đưa vào nhận diện.
Định dạng font chữ đa dạng: Các phông chữ và bố cục in ấn khác nhau giữa các đơn vị phát hành gây khó khăn cho việc Bounding Box (khoanh vùng dữ liệu). Team đã phải huấn luyện (fine-tune) lại mô hình nhận diện ký tự chuyên biệt cho các chuỗi số tiêu chuẩn.
Accomplishments that I'm proud of
Đạt tỷ lệ nhận diện chính xác (Accuracy Rate) lên đến $96.8\%$ trên các tập mẫu ảnh chụp thực tế trong điều kiện ánh sáng tiêu chuẩn. Tối ưu hóa pipeline xử lý ảnh trên thiết bị (On-device Processing), giúp giảm phụ thuộc vào Server Cloud và tiết kiệm băng thông mạng. Xây dựng thành công cơ chế đối soát dữ liệu tức thì giữa kết quả OCR và dữ liệu thời gian thực từ VN-LottoData API.
What I learned
Dự án mang lại bài học sâu sắc về tối ưu hóa thị giác máy tính trên di động. Việc cân bằng giữa độ chính xác của thuật toán nhận diện và hiệu năng thiết bị (CPU/RAM Usage) là yếu tố then chốt. Ngoài ra, việc thiết kế luồng xử lý ngoại lệ (Error Handling) khi dữ liệu OCR không đạt chuẩn đóng vai trò quan trọng trong việc giữ vững tính toàn vẹn của dữ liệu hệ thống.
What's next for Smart OCR Lotto Scanner
Tích hợp Edge AI Model: Triển khai các mô hình Deep Learning nhẹ (TensorFlow Lite) trực tiếp trên thiết bị để tăng tốc độ nhận diện dưới $500\text{ms}$. Hỗ trợ Batch Scanning: Cho phép quét và đối soát hàng loạt tài liệu/tấm vé trong một lần chụp duy nhất. Chế độ quét Offline: Lưu trữ mô hình OCR và bộ cache dữ liệu trên local storage để hỗ trợ đối soát ngay cả khi mất kết nối Internet.
Built With
- ocr
- qr
- scan

Log in or sign up for Devpost to join the conversation.