CV / YOLOX
YOLOX
Select an RKNN YOLOX-S/M model or a Hailo-8 Tiny/S-Leaky/L-Leaky HEF for the target platform.
Choose the device you're using, the set up guide and documentation will update accordingly.
Getting Started
sudo docker run --rm --privileged --net=host --device /dev/dri/renderD128:/dev/dri/renderD128 \
-v /proc/device-tree/compatible:/proc/device-tree/compatible:ro \
ghcr.io/seeed-projects/recomputer-rk-cv/rk3576-yolox:latest \
python3 web_detection.py --platform rk3576 --model_path model/yolox_s.rknn \
--class_path model/coco_80_labels_list.txt --video_path video/test.mp4REST API
Use the REST API to run inference. Copy the commands below.
curl http://localhost:8080/v1/chat/completions -d '{
"model": "yolox-rknn",
"messages": [{"role": "user", "content": "Hello"}]
}'import requests
resp = requests.post(
"http://localhost:8080/v1/chat/completions",
json={"model": "yolox-rknn", "messages": [{"role": "user", "content": "Hello"}]},
)
print(resp.json())Model Details
reComputer RKYOLOX on reComputer RK3576 and RK3588
This page is based on the YOLOX services in
reComputer-RK-CV. The
runtime performs RKNN inference, YOLOX branch decoding, objectness/class-score
fusion, and class-aware NMS.
Model information
| Property | Value |
|---|---|
| Task | COCO 80-class object detection |
| Input | 640 x 640 letterboxed RGB |
| Variants | yolox_s.rknn, yolox_m.rknn |
| Default | model/yolox_s.rknn |
| Labels | model/coco_80_labels_list.txt |
Run the service
RK3576
sudo docker run --rm --privileged --net=host \
--device /dev/dri/renderD128:/dev/dri/renderD128 \
-v /proc/device-tree/compatible:/proc/device-tree/compatible:ro \
ghcr.io/seeed-projects/recomputer-rk-cv/rk3576-yolox:latest \
python3 web_detection.py --platform rk3576 \
--model_path model/yolox_s.rknn \
--class_path model/coco_80_labels_list.txt --video_path video/test.mp4RK3588
sudo docker run --rm --privileged --net=host \
--device /dev/dri/renderD128:/dev/dri/renderD128 \
-v /proc/device-tree/compatible:/proc/device-tree/compatible:ro \
ghcr.io/seeed-projects/recomputer-rk-cv/rk3588-yolox:latest \
python3 web_detection.py --platform rk3588 \
--model_path model/yolox_s.rknn \
--class_path model/coco_80_labels_list.txt --video_path video/test.mp4Use model/yolox_m.rknn for the medium variant. Keep the class-path argument
when switching models. Open http://<BOARD_IP>:8000 or /docs.
Startup arguments
| Argument | Default | Description |
|---|---|---|
--platform | Required | rk3576 or rk3588. |
--model_path | Required | YOLOX-S or YOLOX-M RKNN file. |
--class_path | Required by the packaged command | COCO class-name file. |
--camera_id | 1 | Camera index; -1 enables uploads only. |
--video_path | None | Looping local MP4; overrides the camera. |
--host / --port | 0.0.0.0 / 8000 | Service address and port. |
REST API
Endpoint: POST /api/models/yolox/predict
curl -X POST "http://<BOARD_IP>:8000/api/models/yolox/predict" \
-F "file=@bus.jpg" -F "conf=0.25" -F "iou=0.45"{
"success": true,
"source": "uploaded image",
"predictions": [
{
"class": "bus",
"confidence": 0.91,
"box": {"x1": 100, "y1": 120, "x2": 520, "y2": 430}
}
],
"image": {"width": 640, "height": 480}
}The service accepts image, uploaded-video frame, and current-source requests.
GET/POST /api/config controls obj_thresh and nms_thresh; request-level
conf and iou override them. Health, MJPEG, video upload, asynchronous
analysis, status, list, and download endpoints are also available.
Input is letterboxed, converted to RGB, decoded by branch, and processed with objectness/class-score fusion and class-aware NMS. Replacement models must match this included YOLOX decoder and class configuration.
Build locally
docker build -f docker/rk3576/yolox.dockerfile \
-t rk3576-yolox:local src/rk3576_yolox
docker build -f docker/rk3588/yolox.dockerfile \
-t rk3588-yolox:local src/rk3588_yoloxInputs and Outputs
Input: image, video frame, or camera frame. Output: COCO classes, confidence scores, and boxes.