Tổng quan kiến trúc hệ thống
Hệ thống xử lý hình ảnh thẻ giấy tờ (CMND, hộ chiếu, bằng lái xe) tự động hóa quy trình tìm kiếm, xác định góc và nắn chỉnh phối cảnh. Nền tảng bao gồm các thành phần cốt lõi sau:
- Mô hình AI: Sử dụng kiến trúc SCRFD (
cv_resnet_carddetection_scrfd34gkps) chuyên dụng cho nhận diện thẻ chứng từ. - Giao diện Web: Ứng dụng chạy trên cổng 7860, cung cấp UI trực quan để tương tác.
- Reverse Proxy HTTPS: Chuyển tiếp yêu cầu từ tên miền an toàn (ví dụ:
https://gpu-xxxx.web.gpu.csdn.net/) về cổng nội bộ 7860, xử lý tự động chứng chỉ SSL. - Quản lý tiến trình: Supervisor đảm bảo tính sẵn sàng cao, tự động khôi phục dịch vụ khi xảy ra lỗi.
Khởi động và kiểm tra trạng thái
Sau khi triển khai, sử dụng các câu lệnh dưới đây để xác minh dịch vụ (đặt tên tiến trình là card_service):
# Kiểm tra tình trạng hoạt động
supervisorctl status card_service
Nếu terminal trả về trạng thái RUNNING, hệ thống đang hoạt động bình thường. Trong trường hợp dịch vụ tạm dừng, thực hiện khởi động lại:
# Khởi động lại dịch vụ
supervisorctl restart card_service
Để theo dõi chi tiết lỗi hoặc tiến trình load model, truy xuất log:
# Trích xuất 100 dòng log gần nhất
tail -n 100 /var/log/card_processor.log
Cuối cùng, kiểm tra xem cổng 7860 đã được hệ điều hành cấp phát hay chưa:
# Sử dụng lsof để kiểm tra cổng
lsof -i :7860
Hướng dẫn sử dụng giao diện Web
Truy cập hệ thống
Mở trình duyệt và nhập địa chỉ HTTPS được cấp phát (ví dụ: https://gpu-k0kdqk1npx-7860.web.gpu.csdn.net/). Do sử dụng chứng chỉ tự ký cho proxy, bạn cần chấp nhận cảnh báo bảo mật để tiếp tục truy cập môi trường nội bộ.
Thao tác xử lý hình ảnh
Giao diện bao gồm khu vực tải ảnh lên, thanh điều chỉnh ngưỡng tin cậy (mặc định 0.45), nút kích hoạt phân tích và khu vực hiển thị kết quả. Quy trình thực hiện bao gồm 3 bước:
- Tải ảnh: Chọn hình ảnh chứa thẻ giấy tờ cần xử lý, đảm bảo ảnh không bị mờ hoặc chói sáng quá mức.
- Cấu hình ngưỡng: Tùy chỉnh tham số Confidence Threshold nếu cần thiết (bỏ qua nếu dùng mặc định).
- Phân tích và đánh giá: Nhấn nút kích hoạt, hệ thống sẽ trả về ba loại dữ liệu: ảnh gốc có bounding box, chi tiết JSON tọa độ, và ảnh đã được nắn chỉnh phối cảnh.
Phân tích dữ liệu trả về (JSON)
Dữ liệu JSON là đầu ra quan trọng nhất phục vụ việc tích hợp API. Cấu trúc mẫu được định nghĩa lại như sau:
{
"confidence": [0.97],
"bounding_box": [[110, 200, 490, 615]],
"corner_coords": [[[130, 215], [470, 218], [465, 600], [128, 595]]]
}
Ý nghĩa các trường dữ liệu:
confidence: Mảng chứa xác suất nhận diện đúng (từ 0.0 đến 1.0). Giá trị 0.97 tương ứng 97% độ tin cậy.bounding_box: Tọa độ hình chữ nhật bao [x_min, y_min, x_max, y_max] giới hạn khu vực vật thể.corner_coords: Mảng 2D chứa tọa độ 4 góc của thẻ theo thứ tự: Trái-Trên, Phải-Trên, Phải-Dưới, Trái-Dưới. Dữ liệu này là cơ sở để thực hiện phép biến đổi phối cảnh (Perspective Transform).
Tối ưu hóa và Xử lý sự cố
Chiến lược điều chỉnh ngưỡng tin cậy
| Điều kiện hình ảnh | Giá trị khuyến nghị | Giải thích |
|---|---|---|
| Tiêu chuẩn (sáng, rõ) | 0.45 | Giá trị mặc định, cân bằng giữa độ phủ và độ chính xác. |
| Thấp (tối, mờ, khó nhận diện) | 0.25 - 0.40 | Mở rộng phạm vi quét, giảm yêu cầu độ tin cậy để tránh bỏ sót (False Negative). |
| Phức tạp (nhiều vật thể tương tự) | 0.55 - 0.65 | Siết chặt tiêu chuẩn, loại bỏ các phát hiện sai (False Positive) từ các vật thể nền. |
Các lỗi thường gặp
- Lỗi 502 / Không truy cập được trang: Kiểm tra trạng thái Supervisor và xác nhận cổng 7860 đang lắng nghe. Nguyên nhân thường do tiến trình crash hoặc thời gian tải model ban đầu quá lâu.
- Hệ thống không phát hiện được thẻ: Giảm ngưỡng tin cậy xuống 0.3 hoặc kiểm tra lại chất lượng ảnh đầu vào (ảnh bị che khuất hoặc góc chụp quá nghiêng).
- Ảnh nắn chỉnh bị biến dạng: Kiểm tra lại mảng
corner_coords. Nếu các tọa độ góc lệch ra ngoài biên thực tế của thẻ, thuật toán biến đổi sẽ tạo ra hình ảnh méo mó. Hạn chế sử dụng ảnh có góc nghiêng lớn hơn 45 độ hoặc bị chói sáng che mất cạnh thẻ. - Phản hồi chậm: Lần gọi API đầu tiên có thể mất 10-30 giây để nạp trọng số mô hình vào VRAM. Nếu phản hồi liên tục chậm (>5s), cần kiểm tra tài nguyên RAM/GPU của máy chủ có bị quá tải hay không.