Chuẩn bị model
SDK không kèm sẵn model (giữ package nhỏ gọn + tránh ràng buộc license). Bạn tự chuẩn bị model theo backend muốn dùng.
Model YOLO
Tải model gốc
bash
pip install ultralytics
yolo export model=yolo11n.pt format=onnx imgsz=640
# → yolo11n.onnxChạy với ONNX Runtime (đơn giản nhất)
Dùng thẳng file .onnx — không cần convert:
cpp
auto det = std::make_shared<cvedix_nodes::cvedix_yolo_detector_node>(
"det", "yolo11n.onnx", cvedix_nodes::YoloVersion::YOLO11,
"labels.txt", 0.45f, 0.5f, 0,
cvedix_nodes::BackendType::ONNX); // ép dùng ONNX backendChạy với TensorRT (nhanh nhất trên NVIDIA GPU)
Engine phải build trên đúng máy chạy
File .engine gắn chặt với phiên bản TensorRT + GPU đã build ra nó. Copy engine giữa các máy khác TensorRT version sẽ lỗi incompatible serialization version. Luôn build lại engine trên máy đích.
bash
/usr/src/tensorrt/bin/trtexec \
--onnx=yolo11n.onnx \
--saveEngine=yolo11n.engine \
--fp16 --memPoolSize=workspace:2048Backend AUTO (mặc định) sẽ ưu tiên TensorRT nếu máy có GPU NVIDIA.
File labels
Tạo labels.txt — mỗi dòng một tên class, đúng thứ tự model được train (COCO 80 class cho YOLO chuẩn):
person
bicycle
car
motorcycle
...WARNING
Thiếu file labels hoặc sai thứ tự → hiển thị class_0, class_1 hoặc tên class bị lệch.
Model khuôn mặt
| Model | Node | Nguồn |
|---|---|---|
YuNet (face_detection_yunet.onnx) | cvedix_face_detector_node | OpenCV Zoo |
SFace (face_recognition_sface.onnx) | cvedix_face_recognizer_node | OpenCV Zoo |
Model VLM / LLM
Node VLM kết nối tới server LLM bên ngoài — không cần file model trong SDK:
bash
# Ollama
ollama pull qwen3-vl:latestChi tiết: VLM / LLM.
Gợi ý tổ chức thư mục
cvedix_data/
├── models/
│ ├── yolo11n.onnx
│ ├── yolo11n.engine # build riêng trên từng máy
│ └── labels.txt
└── videos/
└── test.mp4