Đây là một nền tảng thí điểm phục vụ xử lý và quản lý dữ liệu vi phạm giao thông được tạo ra từ nhiều nguồn camera AI tại các điểm giám sát. Thay vì làm việc trực tiếp với raw video hoặc mô hình nhận diện, hệ thống tập trung vào tầng phía sau: tiếp nhận detection event, xử lý dữ liệu bất đồng bộ, tương quan các kết quả liên quan và chuyển chúng thành các bản ghi phương tiện/vi phạm có thể sử dụng cho quy trình vận hành.
Tại một điểm giám sát, cùng một phương tiện có thể được ghi nhận bởi nhiều camera và ở các thời điểm khác nhau. Kết quả từ các nguồn này không đến đồng thời; các camera ở cùng một phía cũng có thể trả detection lệch nhau, trong khi dữ liệu giữa hai phía của điểm tracking có thể cách nhau tùy theo tốc độ và hướng di chuyển của phương tiện.
Vì vậy, backend không thể chỉ lưu từng detection độc lập. Hệ thống cần một bước correlation và aggregation để nhận diện các kết quả có khả năng thuộc cùng một phương tiện, nhóm các detection liên quan, tổng hợp các loại vi phạm và tạo ra một instance thống nhất để phục vụ tra cứu, rà soát và xử lý tiếp theo.
Vai trò & phạm vi đóng góp
Phần tôi trực tiếp phụ trách tập trung vào backend processing tại NestJS sau khi detection event đã được chuyển tới hệ thống qua message queue.
Các đóng góp chính bao gồm:
tiếp nhận và xử lý các detection event bất đồng bộ;
xây dựng logic đối chiếu biển số theo nhiều tầng, ưu tiên exact match và sử dụng similarity heuristic cho các trường hợp OCR sai lệch một phần;
xử lý trạng thái chưa đầy đủ khi dữ liệu từ các phía chưa đến đủ, sau đó tiếp tục correlation ở các chu kỳ xử lý kế tiếp;
tổng hợp nhiều detection thành một vehicle/violation instance và loại bỏ các violation trùng lặp ở mức kết quả cuối;
lưu các instance đã hoàn tất vào MSSQL;
phát WebSocket event từ backend khi có instance mới để hỗ trợ giao diện vận hành cập nhật gần real-time;
trực tiếp triển khai các giao diện nghiệp vụ như tra cứu vi phạm, cấu hình loại lỗi và mức phạt, lập/gửi phiếu phạt và hỗ trợ chỉnh sửa trước khi hoàn tất xử lý.
Xử lý dữ liệu trong giai đoạn pilot
Trong giai đoạn thử nghiệm, hệ thống sử dụng một khoảng thời gian gom dữ liệu ngắn để cân bằng giữa hai mục tiêu:
chờ đủ các detection liên quan từ nhiều camera;
giữ độ trễ ở mức người dùng vận hành vẫn cảm nhận gần real-time.
Nếu một instance chưa đủ dữ liệu ở một chu kỳ xử lý, hệ thống có thể giữ trạng thái tạm để thử correlation ở chu kỳ tiếp theo. Các trường hợp không thể ghép đủ sau đó được đưa vào một luồng xử lý riêng thay vì ép thành một normal instance.
Trong các đợt kiểm tra thủ công theo từng khoảng thời gian ngắn, pipeline ghi nhận mức aggregation coverage khoảng 95% vào ban ngày và khoảng 80% vào ban đêm. Coverage ban đêm thấp hơn chủ yếu do điều kiện nhận diện đầu vào như ánh sáng yếu, tốc độ xe, phương tiện lớn che khuất nhau hoặc biển số khó nhận diện.
Các con số trên phản ánh kết quả quan sát trong giai đoạn pilot, không phải benchmark độ chính xác của mô hình AI.
