№ 83
VINCI biến gán nhãn Camera–LiDAR thủ công thành quy trình “AI đề xuất — con người xác minh”, giúp đội ngũ xe tự hành tạo dữ liệu huấn luyện 2D/3D nhanh và tiết kiệm chi phí hơn.
Xe tự hành và ADAS học cách nhận biết ô tô, người đi bộ hay xe đạp từ dữ liệu đã được gán nhãn. Khi mô hình perception ngày càng dễ tiếp cận hơn, một trong những nút thắt lớn còn lại nằm ở dữ liệu huấn luyện: tạo nhãn đúng, đồng nhất và đủ nhanh.
Với dữ liệu Camera–LiDAR, annotation không chỉ là vẽ một bounding box trên ảnh. Annotator còn phải:
Điều này khiến chi phí nhân sự tăng theo dữ liệu và kéo dài vòng lặp:
Data → Annotation → Review → Training → Evaluation
VINCI được xây dựng để giảm phần thao tác lặp lại trong chuỗi này mà không loại bỏ con người khỏi bước kiểm soát chất lượng.
| Quy trình thủ công | Với VINCI |
|---|---|
| Vẽ cuboid 3D từ màn hình trống | Model tạo proposal để người dùng kiểm tra và chỉnh sửa |
| Tự đối chiếu vật thể giữa ảnh và LiDAR | Calibration được dùng để projection và đồng bộ góc nhìn 2D–3D |
| Review gần như đồng đều mọi trường hợp | QA ưu tiên những proposal có tín hiệu rủi ro cao |
| Khó biết nhãn đến từ đâu và đã sửa gì | Pipeline giữ metadata phục vụ kiểm tra và truy vết |
| Phát hiện object bị bỏ sót chủ yếu bằng mắt | 2D evidence có thể hỗ trợ gợi ý các trường hợp cần kiểm tra |
Đối tượng sử dụng: đội phát triển Autonomous Vehicle / ADAS, robotics và các nhóm xây dựng dữ liệu perception cần quy trình human-in-the-loop có thể kiểm soát.
VINCI tổ chức quy trình annotation theo hướng model-assisted verification:
┌──────────────────┐
│ Camera Images │
└────────┬─────────┘
│
YOLO
│
2D Evidence
│
▼
┌──────────────┐ ┌──────────────────────┐
│ LiDAR Points │──▶│ Sensor Fusion QA │
└──────┬───────┘ │ Projection / Matching│
│ │ Risk Signals │
PV-RCNN └──────────┬───────────┘
│ │
3D Proposals ▼
└──────────────▶ Review Workspace
Camera + Point Cloud
│
Human Verification
│
▼
Reviewed Annotations
PV-RCNN đã được tích hợp vào pipeline làm detector 3D chính cho LiDAR.
Thay vì gắn toàn bộ hệ thống vào một model cụ thể, VINCI đặt một adapter/interface chung giữa detector và pipeline phía sau. Vì vậy QA, review UI và orchestration không cần viết lại nếu detector được benchmark hoặc thay đổi trong tương lai.
Điều này quan trọng hơn việc chỉ “chạy được một model”: hệ thống có thể tiến hóa model mà không phá workflow dữ liệu.
YOLO đóng vai trò evidence model, không phải nguồn chân lý cho geometry 3D.
Camera evidence có thể hỗ trợ:
Một quyết định của VINCI là:
2D model không được tự động xóa hoặc sửa cuboid 3D chỉ vì hai model bất đồng.
Bất đồng giữa sensor được xem là tín hiệu QA, không phải lệnh thay đổi dữ liệu.
Một trong những phần quan trọng nhất của VINCI là làm cho hai góc nhìn 2D và 3D thực sự đại diện cho cùng một object.
Hệ thống sử dụng calibration để biến đổi cuboid giữa các hệ tọa độ và project geometry 3D lên camera image. Workspace được thiết kế để người review có thể:
Mục tiêu không phải chỉ đặt hai cửa sổ cạnh nhau, mà là tạo một review context thống nhất giữa hai sensor.
FastAPI quản lý:
GPU inference được tách thành worker riêng để phần web/API không phụ thuộc trực tiếp vào quá trình tải model hoặc thời gian inference.
Workspace được xây dựng bằng React + three.js / React Three Fiber, kết hợp:
Thiết kế hướng tới một vòng lặp ngắn:
Inspect → Correct → Verify → Next
thay vì yêu cầu người dùng dựng lại annotation từ đầu.
Các model chạy trong môi trường Docker có phiên bản dependency xác định. Artifact inference và metadata được lưu tách khỏi UI.
Mục tiêu là để một run có thể trả lời được:
VINCI đã được triển khai thành pipeline end-to-end có thể chạy trên dữ liệu KITTI:
Dataset → GPU inference → 3D proposals → Camera evidence → QA → 2D/3D review → Reviewed annotation
PV-RCNN đã được đưa vào pipeline 3D và chạy cùng lớp review/QA phía sau. Các thử nghiệm trên các subset KITTI được sử dụng để kiểm tra không chỉ inference, mà cả cách prediction đi xuyên qua hệ thống đến giao diện review.
Ở giai đoạn hiện tại, nhóm tập trung vào việc chứng minh ba điều:
Prediction của model không dừng ở notebook. Nó được đưa qua backend, artifact layer và review workspace để con người có thể kiểm tra.
PV-RCNN chịu trách nhiệm proposal 3D; camera model cung cấp evidence. Sự bất đồng giữa hai sensor trở thành tín hiệu cho reviewer thay vì được giải quyết bằng một heuristic khó kiểm soát.
VINCI có cơ sở để thu thập các chỉ số như:
Nhưng nhóm không tuyên bố mức tiết kiệm thời gian annotation cụ thể khi chưa có controlled user study trên annotator thật.
Đây là một giới hạn có chủ đích: throughput của model không đồng nghĩa với năng suất của người dùng.
Một phần quan trọng của project là biết không nên tự động hóa điều gì.
VINCI không đặt mục tiêu:
Trong perception data, một annotation sai có thể âm thầm đi qua nhiều vòng training trước khi được phát hiện. Vì vậy VINCI ưu tiên:
reproducibility → traceability → human verification → automation
thay vì automation bằng mọi giá.
Human productivity benchmark
Đo trực tiếp hai workflow trên cùng dữ liệu:
Các metric quan trọng:
Pipeline đang tiếp tục được tối ưu để:
Camera evidence đang được phát triển theo hướng hỗ trợ phát hiện object có khả năng bị bỏ sót trong LiDAR proposal.
Điểm khó không phải chỉ là “YOLO thấy thêm object”, mà là:
làm sao đưa gợi ý đó vào 3D mà không tạo quá nhiều false positive và vẫn giữ reviewer là người quyết định.
Với dữ liệu liên tiếp theo thời gian, cùng một object không nên được xử lý như các vật thể hoàn toàn độc lập ở từng frame.
Hướng tiếp theo gồm:
VINCI đang phát triển thêm lớp provenance/versioning để có thể trả lời rõ:
“Annotation này được tạo từ model nào, cấu hình nào, qua lần review nào và thuộc phiên bản dataset nào?”
Face và license-plate anonymization đang nằm trong hướng tích hợp trước khi đưa dữ liệu đường thực tế vào quy trình annotation mở rộng.
Thay vì review dữ liệu theo thứ tự, hệ thống có thể tiếp tục tiến tới việc ưu tiên:
VINCI không cố chứng minh rằng một model mới có thể thay thế con người trong annotation.
Project muốn chứng minh một hướng thực tế hơn:
Một pipeline perception tốt không chỉ cần model tốt. Nó cần một hệ thống giúp model, geometry, dữ liệu và con người phối hợp với nhau theo cách có thể kiểm chứng.
VINCI đưa AI vào phần tốn thời gian nhất — tạo proposal và tìm trường hợp đáng chú ý — trong khi giữ những quyết định có ảnh hưởng đến training data ở phía con người.
Đây là cách project cân bằng giữa:
Computer Vision · Data Engineering · MLOps · Human-in-the-loop UX · Production Reliability
và cũng là bài toán mà VINCI tiếp tục phát triển.
AI / Computer Vision
Python · PyTorch · PV-RCNN · YOLO · KITTI
Backend / Data
FastAPI · SQL Database · REST API · Artifact / Provenance Pipeline
Frontend
React · TypeScript · three.js · React Three Fiber
Infrastructure
Docker · GPU Worker · Cloud GPU