English
Mới nhấtAI & Dữ liệuIn 3D & CNCNhúng & IoTPhần mềmVề VHITEK MakerLiên hệQuy tắc bình luận

CAPS đoạt Á quân 2 Qualcomm Hack The Challenge 2026: camera AI đếm chỗ đỗ xe chạy trên thiết bị

Bởi Ngụy Minh Đức|
CAPS đoạt Á quân 2 Qualcomm Hack The Challenge 2026: camera AI đếm chỗ đỗ xe chạy trên thiết bị

Qualcomm Future Makers — Hack The Challenge 2026 là chương trình đổi mới sáng tạo dành cho sinh viên, ra đề quanh một ràng buộc duy nhất: mô hình AI phải chạy thẳng trên thiết bị. Vòng Grand Finale — Hack Day diễn ra ngày 16/8/2026 tại Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM, do Qualcomm tổ chức cùng innoex. CAPS của nhóm Mặt Trời Nhỏ vào Top 12 chung kết và nhận giải Á quân 2, giá trị 10.000.000 đồng.

Ba thành viên nhóm Mặt Trời Nhỏ cầm bảng giải Á quân 2 trước phông Qualcomm Future Makers
Nhóm Mặt Trời Nhỏ nhận giải Á quân 2 Hack The Challenge 2026.

Bài này ghi lại phần kỹ thuật: các con số đo được trên thiết bị, những tham số đã chọn, và lý do chọn chúng. Mã nguồn công khai, đường dẫn ở cuối bài.

Đề bài buộc mô hình chạy tại chỗ, và ràng buộc đó quyết định mọi thứ phía sau

Chạy trên thiết bị nghĩa là khung hình được xử lý ngay tại bo mạch treo trên trần, thay vì gửi về một máy chủ ở nơi khác. Bãi xe hưởng ba thứ từ cách làm này: hình ảnh ở lại trong bãi, hệ thống vẫn đếm được khi đường truyền chập chờn, và chi phí vận hành dừng ở tiền điện.

Đổi lại, toàn bộ ngân sách tính toán gói gọn trong một bo nhúng. Mọi lựa chọn thiết kế còn lại của CAPS đều bắt nguồn từ ràng buộc đó.

CAPS đặt một camera trên trần thay cho mỗi ô một cảm biến

Cách quen thuộc ở bãi xe là gắn cho từng ô một cảm biến siêu âm hoặc từ trường, rồi kéo dây về bộ điều khiển. Số cảm biến tăng theo số chỗ, và số điểm hỏng cũng vậy.

CAPS treo một camera lên trần và khai từng chỗ đỗ thành một vùng đa giác trên khung hình. Trong bản chạy tại cuộc thi, hai camera giữ sáu chỗ trên hai tầng: camera 01 (MaixCam) giữ A1–A3, camera 02 (ESP32-CAM) giữ B-1–B3. Mỗi thiết bị mang thêm một đèn báo, chiếu đỏ xuống ô đang có xe.

Mô hình bãi xe hai tầng với thiết bị gắn trần chiếu đèn đỏ xuống ô có xe
Mô hình hai tầng dựng cho vòng chung kết: đèn đỏ báo ô đang có xe.

616 ms mỗi lần suy luận là con số quyết định ngân sách camera

Đo trên Arduino UNO Q — chip QRB2210, aarch64, 2 GB RAM — mô hình nhận dạng xe mất trung vị 616 ms cho mỗi lần suy luận ở độ phân giải 640×640. Đây là số đo trên thiết bị thật, chạy onnxruntime trên CPU.

Từ con số đó suy ra phần còn lại. Chu kỳ chụp mặc định 3 giây kham được khoảng ba camera và vẫn còn dư tải. Lên sáu camera thì chu kỳ phải giãn thành 5 giây, nếu muốn giữ nguyên bo mạch.

Đó là cách một con số đo được biến thành giới hạn triển khai: người lắp đặt biết trước mình đang đánh đổi giữa số camera và độ trễ cập nhật, thay vì phát hiện ra khi bãi đã lắp xong.

Bốn trên năm khung hình đồng thuận thì một chỗ đỗ mới đổi trạng thái

Một người đi ngang, một bóng đổ, một khung hình mờ vì rung — mỗi thứ đều đủ để một lần nhận dạng ra kết quả sai. Đọc từng khung hình rồi báo ngay sẽ cho một bảng trạng thái nhấp nháy liên tục.

CAPS đặt một bộ lọc bỏ phiếu: một chỗ đỗ chỉ đổi trạng thái khi 4 trong 5 khung hình liên tiếp cùng nói một điều. Giá phải trả là độ trễ, và nó tính được: với chu kỳ 3 giây, một xe vừa đỗ xuất hiện trên bảng sau khoảng 12–15 giây.

"Chưa xác định" là trạng thái thứ ba, và nó khác "trống"

Bộ lọc bỏ phiếu sinh ra một tình huống mà hệ thống hai trạng thái xử lý sai: chỗ đỗ mà máy chưa thấy đủ khung hình để kết luận. Gọi nó là "trống" thì bảng điện tử sẽ chỉ tài xế tới một ô có thể đang có xe.

CAPS báo ba trạng thái tách bạch — trống, có xe, và chưa xác định — và ghi thẳng lời giải thích lên màn hình quản trị: Unknown is not free: the system has not yet seen enough frames to decide.

Danh sách sáu chỗ đỗ của CAPS với cột camera, trạng thái và thời điểm đổi trạng thái
Sáu chỗ đỗ do hai camera phụ trách, kèm mốc thời gian của lần đổi trạng thái gần nhất.

Bảng còn giữ mốc thời gian cho từng lần đổi trạng thái, nên một chỗ đỗ báo sai luôn truy ngược được về khung hình đã sinh ra nó.

Chỗ đỗ được khai bằng cách vẽ đa giác lên chính khung hình camera

Bãi xe nào cũng có hình học riêng, nên vị trí các ô là thứ phải khai lại ở mỗi lần lắp. CAPS đưa việc đó lên trình duyệt: người lắp đặt mở khung hình của camera, vẽ một đa giác cho mỗi ô, đặt mã ô rồi lưu. Thay đổi có hiệu lực ngay, tiến trình nhận dạng vẫn chạy.

Ba vùng đa giác vẽ chồng lên khung hình camera số hai trong trình quản trị CAPS
Mỗi ô đỗ là một đa giác vẽ tay trên khung hình; lưu xong áp dụng ngay.

Cách khai này giữ được các ô chéo và ô bị cột che một phần — thứ mà một khung chữ nhật căn theo trục sẽ cắt nhầm.

Tài xế tra chỗ đỗ bằng biển số, trên một màn hình riêng

Màn hình quản trị dành cho người vận hành bãi. Người lái xe cần một thứ khác hẳn: chỗ nào còn trống, và lát nữa xe mình đậu ở đâu. CAPS tách hẳn giao diện đó ra — mở lên là một ô tìm kiếm Tìm xe của bạn, nhập biển số rồi tra, bên dưới là số chỗ trống của từng tầng.

Màn hình tra cứu của CAPS với ô nhập biển số và số chỗ trống theo từng tầng
Màn hình đặt tại bãi: tra xe theo biển số, kèm số chỗ trống mỗi tầng.

Giao diện có sẵn hai ngôn ngữ, Việt và Anh, và bản điện thoại giữ nguyên bố cục ấy theo chiều dọc. Một tầng hết chỗ hiện số 0 màu đỏ kèm dòng "Tầng này đã hết chỗ trống", thay vì bắt người đọc tự suy từ một con số.

Bản điện thoại của màn hình tra cứu CAPS hiển thị bằng tiếng Việt
Bản điện thoại, tiếng Việt: một tầng hết chỗ báo số 0 màu đỏ kèm lời giải thích.

Vỏ thiết bị do nhóm tự dựng, tách đế bắt trần khỏi thân mang camera

Bản vẽ 3D vỏ thiết bị CAPS gồm đế bắt trần và thân xoay mang camera
Đế bắt cố định lên trần, thân xoay quanh khớp cầu để ngắm hướng camera sau khi lắp.

Đế bắt cố định lên trần, thân xoay quanh khớp cầu. Người lắp bắt vít một lần rồi ngắm hướng camera sau, thay vì tháo ra bắt lại cho tới khi đủ tầm nhìn.

Phần cứng và phần mềm CAPS đang chạy

Lớp

Thành phần

Xử lý

Arduino UNO Q — QRB2210, aarch64, 2 GB RAM, 32 GB flash

Camera chính

MaixCam, cảm biến GC4653, phục vụ ảnh JPEG qua HTTP

Camera phụ

ESP32-CAM, cảm biến OV3660 hoặc OV2640

Đèn báo

Vòng LED WS2812B

Nhận dạng

YOLO xuất sang ONNX, chạy onnxruntime trên CPU

Dịch vụ

FastAPI, SQLAlchemy, SQLite

Giao diện

React, Ant Design, TypeScript, Vite

Triển khai

Docker Compose, systemd

Thiết bị CAPS trưng bày tại gian của nhóm ở vòng chung kết
Bản dựng mang tới vòng chung kết Hack The Challenge 2026.

Mã nguồn công khai theo giấy phép MIT

CAPS-DASH nằm trên GitHub theo giấy phép MIT: github.com/nguyminhdc78-del/CAPS-DASH. Kho mã gồm dịch vụ nhận dạng, giao diện quản trị và tài liệu triển khai bằng Docker Compose.

Kết quả cuộc thi được công bố trong bài đăng của ban tổ chức.

Bằng chứng nhận Qualcomm Future Makers trao cho đội Mặt Trời Nhỏ với sản phẩm CAPS
Bằng ghi nhận CAPS vào Top 12 chung kết, do Phó chủ tịch Kỹ thuật Qualcomm ký.

Xem CAPS chạy

Đoạn ghi hình nhóm mang đi thi cho thấy trọn vòng đời một lượt đỗ: xe vào ô, đèn trần đổi màu, và bảng trạng thái cập nhật sau khi bộ lọc bỏ phiếu chốt.

Hình ảnh khác từ vòng chung kết

Lễ trao giải trên sân khấu, màn hình sau lưng hiện tên Mặt Trời Nhỏ - CAPS
Lễ trao giải Grand Finale — Hack Day, 16/8/2026.
Nhóm Mặt Trời Nhỏ bên gian trưng bày với mô hình bãi xe hai tầng
Gian trưng bày của nhóm: mô hình hai tầng, xe mô hình gắn biển số, và bảng điều khiển chạy trực tiếp.
Sảnh sự kiện Hack The Challenge 2026 tại Trường Đại học Khoa học Tự nhiên
Một góc sảnh sự kiện.

Các con số trong bài đo trên bản dựng tháng 8/2026. Bo mạch khác, độ phân giải khác hoặc mô hình khác sẽ cho kết quả khác — đo lại trước khi mang sang một cấu hình mới.

Bình luận

Chưa có bình luận nào. Nếu bài này sai ở đâu, nói giúp.

Bình luận được duyệt trước khi hiện. Chúng tôi lưu địa chỉ IP và trình duyệt của bạn trong 90 ngày để chống spam, và không lưu email ở dạng đọc được. Chi tiết ở quy tắc bình luận.