№ 73
RoadWatch Copilot là trợ lý cảnh báo hỗ trợ lái đa phương thức, chạy theo hướng edge-first, phân tích camera trước để nhận diện người đi bộ, xe máy, ô tô, làn đường, biển báo và nguy cơ va chạm trong giao thông hỗn hợp Việt Nam. Hệ thống hợp nhất rủi ro thành hazard trực quan, beep và cảnh báo giọng nói tiếng Việt có ngữ cảnh, nhưng chỉ hỗ trợ người lái và không tự lái, phanh hoặc đánh lái.
Nếu vào trang và thấy 1 dòng báo đỏ bên cạnh nút "Bắt đầu phân tích", hãy nhấn vào nút "engineer Engineer" ở góc phải trên cùng để đăng xuất và đăng nhập lại sẽ sử dụng được
Bấm vào nút "Tài xế 1", "Tài xế 2" và "Kỹ sư ADAS" ngay dưới nút "Vào hệ thống" để nhập nhanh thông tin tài khoản sau đó nhấn nút "Vào hệ thống để sử dụng hệ thống"
Khuyến khích sử dụng tài khoản "Kỹ sư ADAS" vì có thể chuyển đổi nhanh giữa Driver và Engineer HUD. Tài khoản engineer:
Có thể chuyển sang giao diện driver bằng cách bấm vào nút "Driver HUD" ở góc trên cùng bên phải màn hình
Trong lần triển khai public Web ban đầu, RoadWatch từng có E2E P50/P95 đều
~ 150 ms và khi chọn video mẫu, màn hình có thể chờ hơn 1 phút mà
chưa trả kết quả, đồng thời hiệu năng của model cũng sẽ bị giới hạn vì xử lý dữ liệu qua api gọi đến cloud. Đây là một vấn đề kiến trúc và tài nguyên của public cloud
demo, không phải bằng chứng rằng pipeline edge mục tiêu cũng có độ trễ như vậy.
Nguyên nhân chính đã được xác định:
429.Các biện pháp đã triển khai:
session generation và
staleness cap để kết quả cũ không bị rò rỉ sang video mới hoặc sau thao tác seek..gitignore khỏi GitHub.Kết quả sau khắc phục cho thấy trải nghiệm public đã cải thiện đáng kể: revision cuối của Web là , TTS là ; burst health đạt . Một FCW acceptance run có E2E , public Piper round-trip , ; browser QA ghi nhận UI P95 và không có warning/error trong console.
roadwatch-web-00019-x8hroadwatch-tts-00003-rt7tts_failed=0Tuy nhiên, public GCP+AWS vẫn là evaluation/replay plane, không phải đường chạy critical của xe. Throughput cloud CPU được ghi nhận khoảng 4,39–5,16 FPS ở các phiên acceptance; con số này không được diễn giải thành realtime 30 FPS trên xe. Kiến trúc triển khai thực tế vẫn phải đưa perception, risk và audio cốt lõi về edge/AAOS, còn GCP+AWS dùng cho demo, HITL, telemetry được cho phép và quản trị model.
Các tình huống tại Việt Nam có mật độ xe máy và người đi bộ cao, hành vi cắt ngang hoặc nhập làn không luôn tuân theo làn chuẩn, biển báo có thể bị che khuất, ngược sáng, mưa hoặc xuất hiện đồng thời nhiều loại. Một cảnh báo cứng kiểu “beep” không trả lời được ba câu hỏi mà tài xế cần biết:
Với VinFast, đây là hướng R&D có giá trị vì nó kết nối Computer Vision, HMI trên xe, tiếng Việt, edge computing và quy trình kiểm thử theo dữ liệu giao thông phức tạp tại Việt Nam. RoadWatch không tuyên bố thay thế hệ thống ADAS hiện hữu của VinFast; nó là một prototype cho lớp local-context warning copilot có thể được đánh giá, đo lường và tích hợp theo contract rõ ràng.
RoadWatch được thiết kế như một lớp trợ lý cảnh báo:
Video library / upload / camera contract
|
v
Perception Engine (ONNX/ORT; edge có thể dùng TensorRT)
| object | traffic sign + speed | lane + drivable area
|
v
Tracking + image-space kinematics + temporal evidence
|
v
Deterministic Risk Engine
FCW / VRU / cut-in / cross-traffic / LDW / sign relevance
|
v
Alert Governor: severity, debounce, cooldown, deduplication, preemption
|
v
Canonical Alert Event (event_id, object, direction, risk, message)
| | |
v v v
HUD/banner Browser beep Piper Vietnamese TTS
Ba mặt phẳng triển khai được tách riêng:
| Mặt phẳng | Vai trò | Trạng thái hiện tại |
|---|---|---|
| Edge / AAOS | Chạy perception, risk và audio cục bộ; hướng tới camera thật và offline | AAOS hiện đã mô phỏng import/replay video và HMI nền; Camera HAL, CAN và vehicle API thật còn chờ phần cứng |
| Public Web / GCP+AWS | Demo cho ban tổ chức, upload/replay video, HUD, Engineer Dashboard và đo metric | Đã deploy GCP+AWS; URL hiện tại: https://c3-app-162-ivo7erh2oq-as.a.run.app/app/ |
| Engineer / HITL | Xem timeline, hazard, model health, review frame và evidence | Đã có React Engineer Dashboard; workflow HITL và closed-course validation tiếp tục mở rộng |
| Bài toán | Runtime artifact/kiến trúc | Quyết định hiện tại | Ý nghĩa |
|---|---|---|---|
| Road-user detection | yolo11n_320.onnx | Promoted baseline | Nhận diện person, bicycle, motorcycle, car, bus, truck với chi phí tính toán phù hợp edge |
| Traffic-sign detection | roadwatch_detector_v2_416.onnx | Promoted Traffic Sign Phase 2 runtime export | Phát hiện biển báo Việt Nam; resolution 416 dành cho cloud CPU replay, không phải một model train mới độc lập |
| Speed value recognition | roadwatch_speed_digits_v2.onnx | Promoted | Xác nhận giá trị biển giới hạn tốc độ thay vì chỉ đọc class detector |
| Lane/drivable area | yolop_lane_detection_640.onnx | Release lane hiện hành | Sinh lane mask và drivable-area mask; LDW bị khóa khi lane quality thấp |
| UFLDv2 candidate | UFLDv2 ResNet-18 | Chưa promote | Chưa vượt edge FPS gate và chưa đủ bằng chứng multi-lane ổn định |
| Fallen rider | Taxonomy + research plan | Chưa có model production | Cần dataset có license, nhãn chuẩn và hard-negative/temporal evaluation trước khi đưa vào alert path |
Việc không promote Object V2 hoặc UFLDv2 chỉ vì model mới “có vẻ chính xác hơn” là một quyết định có chủ đích. RoadWatch dùng event-level regression, false-alert budget, latency và điều kiện đêm/mưa để tránh làm giảm chất lượng cảnh báo quan trọng. Fine-tuning nặng được đóng gói và chạy trên Kaggle GPU; laptop AMD chỉ dùng development/test, không bị ép chạy full training.
| User story | Cách giải quyết | Bằng chứng |
|---|---|---|
| Là tài xế, tôi muốn biết nguy cơ phía trước là gì | Object detection + tracking + risk engine sinh đối tượng, hướng và mức nguy hiểm | FCW canonical message: “Cảnh báo va chạm phía trước!”; VRU/cut-in/cross-traffic có schema cảnh báo riêng |
| Là tài xế, tôi muốn nhận cảnh báo tiếng Việt tự nhiên | Một canonical alert event dùng chung cho banner và TTS; Piper vi_VN-vais1000-medium phát WAV xác định | HUD báo piper/vi_VN-vais1000-medium; không còn speechSynthesis; tts_failed=0 |
| Tôi không muốn bị làm phiền bởi cảnh báo lặp | Alert Governor dùng severity, debounce, cooldown, deduplicate, hysteresis và audio preemption | Critical beep được ưu tiên; TTS không tự ghi đè nội dung banner; các câu cảnh báo chuẩn được pre-cache |
| Tôi muốn biết biển báo tốc độ có thực sự được xác nhận | Detector + speed classifier + temporal confirmation + sign arbitration | test_video10: tốc độ 60, detector confidence 0,9136, classifier confidence 0,9806, hits=3, audio_action=tts |
| Tôi muốn theo dõi làn và được cảnh báo lệch làn khi đủ tin cậy | YOLOP lane/drivable mask, lane quality gate và LDW logic | Lane acceptance: final quality 0,9688, max 1,00, coverage 0,60; frame chất lượng thấp không cố vẽ/cảnh báo bằng mọi giá |
| Kỹ sư muốn tái lập lỗi và review mô hình | React Engineer Dashboard, video timeline, frame evidence, review queue và regression harness | Python regression 156/156; queue RW-10 được review theo schema verified và có audit trail |
| Ban tổ chức muốn mở sản phẩm từ một URL | Cloud Run + GCS asset bootstrap + Video Library/custom upload + browser HUD | Public URL hoạt động; 12/12 health requests trả 200 sau khi sửa concurrency |
| Tôi muốn chuyển sang xe thật sau prototype | Tách interface video/camera, perception, risk và HMI; AAOS giữ contract replay để thay input adapter | AAOS replay đã có; Camera HAL/CAN/vehicle integration được xác định là hardware gate, chưa tuyên bố đã tích hợp |
Các số liệu dưới đây là các acceptance run khác nhau và phải đọc cùng revision, video window, hardware và backend; chúng không phải một tuyên bố chung rằng mọi video đều đạt cùng throughput.
| Hạng mục | Kết quả đã ghi nhận |
|---|---|
| Local regression | 156/156 Python tests pass; compile, TypeScript, Vite production build và diff-check pass |
| Final public Web | roadwatch-web-00019-x8h, URL Cloud Run hoạt động |
| Final public Piper | roadwatch-tts-00003-rt7, private IAM-only service |
| FCW public acceptance | E2E P50/P95 63,89/94,02 ms; processed FPS 4,39; Piper round-trip 308,16 ms; tts_failed=0 |
| Browser QA | UI P95 84,3 ms; FPS 5,16; console không có warning/error |
| Full-perception sign run | test_video10: event speed 60, message banner/TTS giống nhau, E2E P95 83,42 ms |
| Full-perception lane run | test_video10: E2E P95 84,18 ms; object/sign/speed/lane providers loaded, error null |
| Availability correction | Health burst 12/12 HTTP 200, 0 HTTP 429 |
Các bằng chứng chi tiết hơn nằm trong thư mục "web_demo/docs:
CLOUD_FULL_PERCEPTION_DEPLOYMENT.mdPIPER_VI_WEB_DEPLOYMENT.mdMASTER_ACTION_PLAN.mdAGENTS.md, mục Work Execution LedgerVideoSource hiện tại sang CameraSource mà không thay risk/alert
contract; frame cần timestamp, sequence number và session identity.| Hạng mục chưa có | Phương án tạm thời | Điều kiện để xác nhận trên xe |
|---|---|---|
| Camera trước thật/Camera HAL | Import video, AAOS replay và camera adapter giả lập | Camera stream thật, timestamp, exposure/rolling-shutter profile và quyền hệ thống |
| Ego speed, gear, brake, steering, turn signal | Image-space relative motion và heuristic lead-braking; mọi giá trị gắn estimated/uncalibrated | CAN/vehicle signal hợp pháp, data contract và kiểm thử lỗi tín hiệu |
| Khoảng cách mét/TTC tuyệt đối | Relative closing trend, path conflict và risk score; không tuyên bố mét hoặc ground-truth TTC | Camera calibration, depth/stereo/radar hoặc telemetry đủ tin cậy |
| Jetson Orin thật | EC2 ARM64/GPU dùng cho packaging/preflight | Benchmark trên đúng Jetson Orin, nhiệt độ, điện năng, FPS, p95 và dropped frames |
| VinFast API/vehicle actuator | AAOS contract mock; không truy cập API nội bộ | NDA/API/Camera HAL/CAN và phê duyệt an toàn từ OEM |
| Chứng nhận an toàn | Locked regression, hazard analysis và closed-course protocol | Test track, safety driver, FMEA/FTA, logging, cybersecurity và quy trình chứng nhận phù hợp |
Do đó, câu trả lời kỹ thuật chính xác là: RoadWatch có đường triển khai thực tế rõ ràng, nhưng prototype hiện tại mới chứng minh được perception/replay/HMI contract và cloud demo. Nó chưa chứng minh được hành vi an toàn trên VF5, VF6, VF7, VF8 hoặc VF9, và không nên quảng bá như tính năng OEM đã sẵn sàng tích hợp.
Các mục tiêu sau là release gate đề xuất, chưa được ghi nhận là đã đạt:
Giai đoạn A — Safety/data baseline
>=90%, false alert hướng tới <=1 alert/phút trên
negative windows và không có audio duplicate trong cùng một event.Giai đoạn B — Edge performance
>=20 FPS, mục tiêu release
trên thiết bị đích >=30 FPS, p95 critical alert pipeline <150 ms khi đã
định danh phần cứng.Giai đoạn C — Camera/AAOS integration
Giai đoạn D — OEM pilot và MLOps
RoadWatch cho thấy một kỹ sư không chỉ gọi một model object detection rồi vẽ bounding box, mà có thể xây dựng một sản phẩm end-to-end:
RoadWatch Copilot phù hợp được trình bày như một prototype R&D cho ADAS warning trong giao thông Việt Nam. Giá trị cốt lõi không chỉ là nhận diện vật thể, mà là chuỗi hoàn chỉnh từ dữ liệu địa phương → perception → risk reasoning → ưu tiên cảnh báo → tiếng Việt → HMI → kiểm thử và bằng chứng triển khai.
Nếu được tiếp tục trong môi trường doanh nghiệp, bước hợp lý nhất là một pilot giới hạn trên dữ liệu/camera được VinFast phê duyệt, không nối actuator, đo trên closed course và benchmark đúng hardware. Sau khi có calibration, vehicle signals, test track và review an toàn, RoadWatch mới có thể được đánh giá như một ứng viên component trong hệ sinh thái ADAS/AAOS của VinFast.