YOLOv8n-Pose
Before you begin, complete the environment setup:
- Host Model Conversion Tool — install NeuroPilot Converter
- Device Environment Setup — install Neuron SDK
Host-Side Model Conversion
If you only need to run the model on the device, you can skip Host-Side conversion and use pre-compiled DLA models.
Clone the Repository
git clone https://github.com/Ronin-1124/nio12l-model-zoo.git
cd nio12l-model-zoo
Export ONNX
If you haven't set up the yolo-export environment, create it and install dependencies:
conda create -n yolo-export python
conda activate yolo-export
pip install ultralytics
cd examples/yolov8n-pose/convert_model
conda activate yolo-export
yolo export model=yolov8n-pose format=onnx opset=13 imgsz=640
Cut ONNX
If you haven't installed project dependencies, run this in the project root:
pip install -r requirements.txt
conda activate np8
python cut_onnx.py
Prepare Calibration Data
cd ../../..
python prepare_calibration_data.py path=./datasets/coco128/images/train2017 imgsz=640
Convert Model
cd examples/yolov8n-pose/convert_model
python convert_mtk_fp32.py
python convert_mtk_int8.py
After conversion, the following files are generated in examples/yolov8n-pose/model/:
int8/yolov8n-pose_mtk_int8.tflitefp32/yolov8n-pose_mtk_fp32.tflite
Device-Side Deployment
Clone the Repository
git clone https://github.com/Ronin-1124/nio12l-model-zoo.git
cd nio12l-model-zoo
Get Models
Method 1: Download Pre-Compiled DLA (Recommended)
wget -P examples/yolov8n-pose/model/int8 https://github.com/Ronin-1124/nio12l-model-zoo/releases/download/v2026.05.11-dla/yolov8n-pose_int8.dla
wget -P examples/yolov8n-pose/model/fp32 https://github.com/Ronin-1124/nio12l-model-zoo/releases/download/v2026.05.11-dla/yolov8n-pose_fp32.dla
Method 2: Convert from Host
Transfer Models
scp yolov8n-pose_mtk_int8.tflite <user>@<device>:/path/to/nio12l-model-zoo/examples/yolov8n-pose/model/int8/
scp yolov8n-pose_mtk_fp32.tflite <user>@<device>:/path/to/nio12l-model-zoo/examples/yolov8n-pose/model/fp32/
Convert to DLA
cd examples/yolov8n-pose/model/int8
ncc-tflite --arch=mdla2.0 -d yolov8n-pose_int8.dla yolov8n-pose_mtk_int8.tflite
cd ../fp32
ncc-tflite --arch=mdla2.0 -d yolov8n-pose_fp32.dla yolov8n-pose_mtk_fp32.tflite --relax-fp32
Build
cd /path/to/nio12l-model-zoo
cmake -S . -B build
cmake --build build -j
Run
Default uses INT8 model:
./build/yolov8n-pose_demo
Use FP32 model:
./build/yolov8n-pose_demo --fp32
Specify images:
./build/yolov8n-pose_demo --image assets/images/bus.jpg --image assets/images/zidane.jpg
Performance reference (1000-inference average):
| Precision | Time (ms) | FPS |
|---|---|---|
| INT8 | 37.973 | 26.33 |
| FP32 | 72.806 | 13.74 |
Results are saved in outputs/yolov8n-pose/ (vis/ for visualization images, detections/ for JSON).