|
| 1 | +--- |
| 2 | +description: This wiki demonstrates how to uses YOLOv11 on reComputer-RK |
| 3 | +title: Object Detection with YOLOv11 on reComputer-RK |
| 4 | + |
| 5 | +keywords: |
| 6 | + - RockChip |
| 7 | + - reComputer RK |
| 8 | +image: https://files.seeedstudio.com/wiki/wiki-platform/S-tempor.png |
| 9 | +slug: /object_detection_with_yolov11_on_recomputer_rk |
| 10 | +last_update: |
| 11 | + date: 9/3/2026 |
| 12 | + author: Nolan Chen |
| 13 | +no_comments: false |
| 14 | +createdAt: '2026-3-9' |
| 15 | +updatedAt: '2026-03-09' |
| 16 | +url: https://wiki.seeedstudio.com/object_detection_with_yolov11_on_recomputer_rk/ |
| 17 | +--- |
| 18 | + |
| 19 | +# Object Detection with YOLOv11 on reComputer-RK |
| 20 | +This project provides industrial-grade, high-performance Computer Vision (CV) application solutions for Rockchip series development boards (RK3588 and RK3576). It features deep integration of the YOLOv11 object detection model, leveraging NPU acceleration for low-latency, high-frame-rate real-time inference. |
| 21 | +## Project Structure |
| 22 | +The project is organized by platform to manage specific drivers and runtime requirements for the RKNN-Toolkit2: |
| 23 | +```pl |
| 24 | +reComputer-RK-CV/ |
| 25 | +├── docker/ # Environment setup files |
| 26 | +│ ├── rk3576/ # Dockerfile for RK3576 (rknn-rt 2.1.0+) |
| 27 | +│ └── rk3588/ # Dockerfile for RK3588 (rknn-rt 2.1.0+) |
| 28 | +├── src/ # Implementation logic |
| 29 | +│ ├── rk3576/ # RK3576 source, models, and dependencies |
| 30 | +│ └── rk3588/ # RK3588 source, models, and dependencies |
| 31 | +└── .github/workflows/ # CI/CD for automated image building |
| 32 | +``` |
| 33 | + |
| 34 | +## Hardware Compatibility |
| 35 | +While both chips offer 6 TOPS of NPU performance, they require different hardware path mappings within Docker. |
| 36 | + |
| 37 | +| Platform | SoC | NPU Node | Recommended Camera | Image Tag | |
| 38 | +| :--- | :--- | :--- | :--- | :--- | |
| 39 | +| **RK3588** | RK3588/RK3588S | `/dev/dri/renderD129` | `/dev/video1` | `rk3588-yolo` | |
| 40 | +| **RK3576** | RK3576 | `/dev/dri/renderD128` | `/dev/video0` | `rk3576-yolo` | |
| 41 | + |
| 42 | +## Getting Started |
| 43 | +### Install Docker |
| 44 | +Install the standard Docker engine on your board: |
| 45 | +```bash |
| 46 | +curl -fsSL https://get.docker.com -o get-docker.sh |
| 47 | +sudo sh get-docker.sh |
| 48 | +sudo systemctl enable --now docker |
| 49 | +``` |
| 50 | + |
| 51 | +### X11 Forwarding (Optional) |
| 52 | +To see the detection window on a monitor connected directly to the board: |
| 53 | +```bash |
| 54 | +xhost +local:docker |
| 55 | +``` |
| 56 | + |
| 57 | +### Run the Detection Project |
| 58 | +The application features Auto-Detection: if no display is found, it automatically starts an MJPEG stream accessible via your browser. |
| 59 | +#### For reComputer RK3588: |
| 60 | +```bash |
| 61 | +sudo docker run --rm --privileged --net=host \ |
| 62 | + -e DISPLAY=$DISPLAY \ |
| 63 | + -v /tmp/.X11-unix:/tmp/.X11-unix \ |
| 64 | + -e PYTHONUNBUFFERED=1 \ |
| 65 | + --device /dev/video1:/dev/video1 \ |
| 66 | + --device /dev/dri/renderD129:/dev/dri/renderD129 \ |
| 67 | + -v /proc/device-tree/compatible:/proc/device-tree/compatible \ |
| 68 | + ghcr.io/seeed-projects/recomputer-rk-cv/rk3588-yolo:latest \ |
| 69 | + python web_detection.py --model_path model/yolo11n.rknn --camera_id 1 |
| 70 | +``` |
| 71 | + |
| 72 | +#### For reComputer RK3576: |
| 73 | +```bash |
| 74 | +sudo docker run --rm --privileged --net=host \ |
| 75 | + -e DISPLAY=$DISPLAY \ |
| 76 | + -v /tmp/.X11-unix:/tmp/.X11-unix \ |
| 77 | + -e PYTHONUNBUFFERED=1 \ |
| 78 | + --device /dev/video0:/dev/video0 \ |
| 79 | + --device /dev/dri/renderD128:/dev/dri/renderD128 \ |
| 80 | + -v /proc/device-tree/compatible:/proc/device-tree/compatible \ |
| 81 | + ghcr.io/seeed-projects/recomputer-rk-cv/rk3576-yolo:latest \ |
| 82 | + python web_detection.py --model_path model/yolo11n.rknn --camera_id 0 |
| 83 | +``` |
| 84 | + |
| 85 | + |
| 86 | +## Web Interaction & Real-time Streaming |
| 87 | +The project includes a RESTful API compatible with Ultralytics standards, accessible via `http://<Board_IP>:8000.` |
| 88 | +- **Real-time Video Feed:** Access /api/video_feed. Can be embedded directly in HTML: |
| 89 | +```bash |
| 90 | +<img src="http://<IP>:8000/api/video_feed">. |
| 91 | +``` |
| 92 | + |
| 93 | +- **Static Image Inference:** |
| 94 | + |
| 95 | +```bash |
| 96 | +curl -X POST "http://localhost:8000/api/models/yolo11/predict" -F "file=@/home/user/test.jpg" |
| 97 | +``` |
| 98 | + |
| 99 | +- Dynamic Configuration: |
| 100 | + |
| 101 | +```bash |
| 102 | +# Modify confidence threshold without restarting |
| 103 | +curl -X POST "http://localhost:8000/api/config" -d '{"obj_thresh": 0.5}' |
| 104 | +``` |
| 105 | + |
| 106 | +## Developer Guide |
| 107 | +### Custom Model Deployment |
| 108 | +1. Place your converted .rknn model in a host directory. |
| 109 | +2. Create a class configuration file class_config.txt (e.g., "person", "car"). |
| 110 | +3. Mount via -v and specify the paths in the startup command: |
| 111 | +```bash |
| 112 | +sudo docker run ... \ |
| 113 | + -v $(pwd)/my_model.rknn:/app/model/my_model.rknn \ |
| 114 | + -v $(pwd)/class_config.txt:/app/class_config.txt \ |
| 115 | + ... \ |
| 116 | + python web_detection.py --model_path model/my_model.rknn --class_path class_config.txt |
| 117 | +``` |
| 118 | + |
| 119 | +### CLI Arguments Reference |
| 120 | +web_detection.py supports the following parameters: |
| 121 | + |
| 122 | +| Argument | Description | Default | |
| 123 | +| :--- | :--- | :--- | |
| 124 | +| `--model_path` | Path to the RKNN model file | (Required) | |
| 125 | +| `--camera_id` | Camera ID (e.g., 0 for `/dev/video0`) | 1 | |
| 126 | +| `--class_path` | Path to custom class configuration file | None (Default COCO 80) | |
| 127 | +| `--port` | Web server port | 8000 | |
| 128 | + |
| 129 | +## Demo Video |
| 130 | +Watch YOLOv11 running on the latest EVT samples of Seeed's upcoming Rockchip RK3576 Dev Kit: |
| 131 | + |
| 132 | + |
| 133 | +<div class="video-container"> |
| 134 | +<iframe width="800" height="400" src="https://www.youtube.com/embed/5WdCvyrCF5Q" title="Object Detection with YOLOv11 on reComputer-RK" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> |
| 135 | +</div> |
| 136 | + |
| 137 | + |
| 138 | + |
| 139 | +## Tech Support & Product Discussion |
| 140 | + |
| 141 | +Thank you for choosing our products! We are here to provide you with different support to ensure that your experience with our products is as smooth as possible. We offer several communication channels to cater to different preferences and needs. |
| 142 | + |
| 143 | +<div class="button_tech_support_container"> |
| 144 | +<a href="https://forum.seeedstudio.com/" class="button_forum"></a> |
| 145 | +<a href="https://www.seeedstudio.com/contacts" class="button_email"></a> |
| 146 | +</div> |
| 147 | + |
| 148 | +<div class="button_tech_support_container"> |
| 149 | +<a href="https://discord.gg/eWkprNDMU7" class="button_discord"></a> |
| 150 | +<a href="https://github.com/Seeed-Studio/wiki-documents/discussions/69" class="button_discussion"></a> |
| 151 | +</div> |
0 commit comments