Skip to content

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.onnx

Chạ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 backend

Chạ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:2048

Backend 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

ModelNodeNguồn
YuNet (face_detection_yunet.onnx)cvedix_face_detector_nodeOpenCV Zoo
SFace (face_recognition_sface.onnx)cvedix_face_recognizer_nodeOpenCV 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:latest

Chi 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

Phần mềm độc quyền — CVEDIX