Skip to main content

YOLOv8n-Pose

Before you begin, complete the environment setup:

Host-Side Model Conversion

Quick Start

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

Host PC
git clone https://github.com/Ronin-1124/nio12l-model-zoo.git
cd nio12l-model-zoo

Export ONNX

tip

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

Host PC
cd examples/yolov8n-pose/convert_model
conda activate yolo-export
yolo export model=yolov8n-pose format=onnx opset=13 imgsz=640

Cut ONNX

tip

If you haven't installed project dependencies, run this in the project root:

pip install -r requirements.txt

Host PC
conda activate np8
python cut_onnx.py

Prepare Calibration Data

Host PC
cd ../../..
python prepare_calibration_data.py path=./datasets/coco128/images/train2017 imgsz=640

Convert Model

Host PC
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.tflite
  • fp32/yolov8n-pose_mtk_fp32.tflite

Device-Side Deployment

Clone the Repository

Device
git clone https://github.com/Ronin-1124/nio12l-model-zoo.git
cd nio12l-model-zoo

Get Models

Device
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
Host PC
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
Device
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

Device
cd /path/to/nio12l-model-zoo
cmake -S . -B build
cmake --build build -j

Run

Default uses INT8 model:

Device
./build/yolov8n-pose_demo

Use FP32 model:

Device
./build/yolov8n-pose_demo --fp32

Specify images:

Device
./build/yolov8n-pose_demo --image assets/images/bus.jpg --image assets/images/zidane.jpg

Performance reference (1000-inference average):

PrecisionTime (ms)FPS
INT837.97326.33
FP3272.80613.74

Results are saved in outputs/yolov8n-pose/ (vis/ for visualization images, detections/ for JSON).

    You need to be logged into GitHub to post a comment. If you are already logged in, please ignore this message.

    Radxa-docs © 2026 by Radxa Computer (Shenzhen) Co.,Ltd. is licensed under CC BY 4.0