How to Deploy YOLO Projects with reComputer AI Lab Seeed's reComputer AI Lab, an edge AI development platform, now supports one-click deployment of YOLO models on RK3588/RK3576 hardware. The platform pre-packages 18 YOLO variants across YOLOv5, YOLOv8, and YOLO11, using Docker containers for environment isolation. A tutorial addresses the lack of detailed deployment guidance, documenting step-by-step workflows for developers. How to Deploy YOLO Projects with reComputer AI Lab Introduction to reComputer AI Lab Platform Overview of reComputer AI Lab reComputer AI Lab is an edge AI development platform launched by Seeed, built around an out-of-the-box experience. It pre-packages mainstream AI use cases including YOLO via customized system images and supports one-click deployment & inference execution, drastically lowering the learning curve for developers working with the AI Box product lineup. Three hardware series are currently supported: RK Series: Rockchip RK3588 / RK3576 R Series: Raspberry Pi paired with Hailo NPU J Series: NVIDIA Jetson During hands-on testing, I noticed the official website lacks granular step-by-step guidance for full deployment workflows. This tutorial documents every critical detail of deploying models via AI Lab, enabling a smoother experience for future developers. This guide focuses exclusively on the RK Series RK3588 / RK3576 . Platform Navigation Layout The AI Lab platform features six core navigation tabs; the four most critical sections are Models, Tools, Tutorials and Projects. Their respective functions are outlined below: - Model library with pre-built deployable models and core runtime scripts - Central repository of all utility tools including RKNN model converters, LLM benchmarking tools paired with dedicated usage guides - Hardware documentation and setup tutorials for supported edge devices - Gallery of open-source projects built using the platform and compatible hardware, for learning and reference Pre-integrated YOLO Models on AI Lab YOLO You Only Look Once stands as one of the most iconic model families for object detection. First released in 2015, the series has evolved all the way to YOLO11. Its core innovation lies in single-shot detection: framing object detection as a regression task that requires only one forward pass per frame, delivering ultra-fast inference speeds. reComputer AI Lab hosts four categories of pre-packaged model suites: CV, LLM, SOUND and VLM. The YOLO suite alone contains 18 pre-converted models spanning YOLOv5, YOLOv8 and YOLO11, broken down as follows: YOLO11 Family: 3 lightweight object detection variants trained on the COCO 80-class dataset YOLOv5 Family: 3 standard-sized object detection models, 1 ReLU-optimized detection variant, and 3 instance segmentation models 7 total; all trained on COCO 80 YOLOv8 Family: 1 human pose estimation model, 3 object detection variants, 3 instance segmentation models, and 1 rotated bounding box detection model all detection & segmentation models trained on COCO 80 Additional Computer Vision Models: DeepLab v3, Depth Estimation, Person Attribute Recognition, U-Net, SegFormer, SCRFD, Depth Anything Docker Environment Setup All AI applications on reComputer AI Lab are distributed as Docker containers. Containerization ensures complete environment isolation between different workloads and eliminates manual dependency installation. Install Docker Run the following commands on your edge board terminal: Download official Docker installation scriptcurl -fsSL https://get.docker.com -o get-docker.sh Install via Alibaba Cloud mirror recommended for users in China sudo sh get-docker.sh --mirror Aliyun Enable Docker auto-start on boot and launch the servicesudo systemctl enable dockersudo systemctl start docker Verify successful installationsudo docker --version A successful installation will output the Docker version number, example output: Docker version 24.0.7, build afdd53b Configure Docker User Permissions By default, only the root user can execute Docker commands. To avoid prefixing every command with sudo, add your current user to the Docker group: sudo usermod -aG docker $USER Re-login your user session for permission changes to take effect. Validate with: docker ps If no permission errors appear, the permission configuration is complete. Model Deployment Hardware Connection & Device Initialization Flashing and basic debugging workflows for reComputer RK3576 are not covered in this software-focused tutorial. Refer to the official documentation via the link below for hardware flashing guidance: Official Hardware Connection Guide https://sensecraft.seeed.cc/ai-lab/tutorials/rk/getting-start/hardware-connection Follow this hardware connection sequence: Input peripherals: Plug keyboard and mouse into available USB ports Display output: Connect the development board to a monitor via HDMI cable Network access: Insert an Ethernet cable into the Gigabit Ethernet port Camera module USB cameras: Directly plug into any USB port CSI cameras: Power off the board first, attach the camera ribbon cable, then power back on Power supply: Connect power last. The board will boot automatically with no physical power switch. First Boot System Configuration On initial startup, an interactive setup prompt will appear to set the root account password and other core system configurations: New password:Retype new password: Once setup finishes, you will be directed to the graphical login screen. Log in using the username and password created during setup to access the desktop environment. Pull the YOLO Docker Image Now that you have reviewed the full YOLO model lineup on AI Lab, select your target model for deployment. This tutorial uses YOLO11-m as the demonstration model. Click the Details button next to your chosen model to open the dedicated model page, split into three main sections: - 1. Quick deployment & one-click inference launch scripts - 2. Full setup documentation, including Docker installation steps, standalone image pull commands, and complete deployment/inference workflows - 3. Inference API reference: multiple invocation methods, response format definitions and supplementary technical details We will use the quick-start workflow from Section ① for fast model deployment and backend startup. Copy and execute the command below: sudo docker run --rm --privileged --net=host \ -e RKNN LOG LEVEL=0 \ --device /dev/video1:/dev/video1 \ --device /dev/dri/renderD129:/dev/dri/renderD129 \ --device /dev/dri/renderD129:/dev/dri/renderD129 \ -v /proc/device-tree/compatible:/proc/device-tree/compatible \ ghcr.io/seeed-projects/recomputer-rk-cv/rk3576-yolo11:latest \ python web detection.py --model path model/yolo11m.rknn --video video/test.mp4 This command configures critical Docker runtime parameters: - --rm: Automatically delete the container after shutdown - --privileged: Grant full hardware access permissions It handles full YOLO11-m image downloading and launches the local inference server. The compressed container image size ranges from 1GB to 2GB; download duration depends on your network bandwidth. Key parameter breakdown: - --device /dev/video1:/dev/video1: Maps the host camera device into the container for camera access. Modify the device index before the colon if multiple cameras are connected. - ghcr.io/seeed-projects/recomputer-rk-cv/rk3576-yolo11:latest: Official pre-built container image bundling RK3576 runtime, YOLO11 and RKNN toolkit - python web detection.py --model path model/yolo11m.rknn --video video/test.mp4: Launch the web-based object detection service, load the pre-converted RKNN YOLO11-m model, and run inference on a sample test video After container launch, the terminal will print output similar to the following: Loading model...Model loaded successfullyStarting web server on http://0.0.0.0:8000 Run Model Inference Two methods are available to send inference requests and retrieve detection results: - Terminal cURL Requests Real-time camera streaming inferencecurl -X POST "http://127.0.0.1:8000/api/models/yolo11/predict" -F "realtime=true" Single-shot inference using default sample imagecurl -X POST "http://127.0.0.1:8000/api/models/yolo11/predict" Run detection on a custom local image filecurl -X POST "http://127.0.0.1:8000/api/models/yolo11/predict" -F "file=@/home/cat/001.jpg" Run inference on a specific frame from a local video filecurl -X POST "http://127.0.0.1:8000/api/models/yolo11/predict" -F "video=@/home/cat/test.mp4" -F "timestamp=5.5" http://127.0.0.1:8000/api/models/yolo11/predict http://127.0.0.1:8000/api/models/yolo11/predict is the core API endpoint for all YOLO inference requests. Adjust the request parameters above to match your use case. - Programmatic Code Invocation This approach is recommended if you plan to build custom applications and secondary logic around the detection pipeline. Select the invocation method that best fits your project requirements. Sample API response format: Customization & Modification Guide Switch Pre-converted YOLO11 Models Multiple YOLO11 variants are pre-installed inside the container for direct swapping: YOLO11n: Fastest inference speedpython web detection.py --model path model/yolo11n.rknn --camera id 1 YOLO11s: Balanced speed and accuracypython web detection.py --model path model/yolo11s.rknn --camera id 1 YOLO11m: Higher detection precisionpython web detection.py --model path model/yolo11m.rknn --camera id 1 Model performance comparison table: Restrict Detection to a Subset of COCO 80 Classes By default, the YOLO model detects all 80 COCO object classes. You can limit detection to specific target categories to boost inference speed or filter irrelevant results with the steps below: - Create a local file named class config.txt, and list target class labels in the format: "person", "bicycle", "car", "motorbike" Note: All pre-packaged YOLO models use the COCO 80-class label set. - Add a volume mount flag -v to your Docker run command to map the local label config file into the container. Append the --class path argument to the Python startup command to load the custom filter. Full reference command: sudo docker run --rm --privileged --net=host \ -e PYTHONUNBUFFERED=1 \ -v $ pwd /class config.txt:/app/class config.txt \ --device /dev/video1:/dev/video1 \lass config.txt \ --device /dev/dri/renderD129:/dev/dri/renderD129 \ -v /proc/device-tree/compatible:/proc/device-tree/compatible \ -v /proc/device-tree/compatible:/proc/device-tree/compatible \ ghcr.io/Seeed-Projects/recomputer-rk-cv/rk3588-yolo:latest \ python web detection.py --model path model/yolo11n.rknn --camera id 1 --class path class config.txt Important Note: This class filter only hides unwanted detection outputs. The underlying neural network is still trained on the full COCO 80-class dataset. To detect custom objects outside COCO labels, you must train a custom YOLO model from scratch. Deploy Custom Trained YOLO Models To detect domain-specific objects such as industrial components, safety helmets or open flames, train a custom YOLO model and convert it to RKNN format for edge deployment. End-to-end workflow overview: Dataset Preparation: Annotate object detection datasets with LabelImg, CVAT or equivalent labeling tools Model Training: Train the custom detector via Ultralytics YOLO framework ONNX Export: Export the finished trained model to ONNX format RKNN Conversion: Convert ONNX weights to RKNN using RKNN Toolkit2 Container Deployment: Replace the default.rknn model file inside the Docker container with your custom model Official RKNN conversion documentation: https://github.com/airockchip/rknn-toolkit2 https://github.com/airockchip/rknn-toolkit2 Video Stream Configuration Step 1: Identify Camera Device Index List all connected video devices with this command before deployment: ls /dev/video Typical output: /dev/video0 /dev/video1 Default camera index conventions: RK3588: Camera usually mapped to /dev/video1 RK3576: Camera usually mapped to /dev/video0 Test each index one by one if the camera is unrecognized. Install v4l-utils to view detailed camera hardware specifications: sudo apt install v4l-utilsv4l2-ctl --device=/dev/video0 --list-formats-extv4l2-ctl --device=/dev/video1 --list-formats-ext The service returns an MJPEG real-time video stream overlaid with detection bounding boxes. Stream Endpoint: GET /api/video feed Embed stream in HTML web pages: