CV / YOLO11

YOLO11

YOLO11 目标检测系列 Nano 版本,轻量高效,适合边缘部署。

753 次下载
大小
~5MB
内存
1GB+
精度
FP16

选择你正在使用的设备,设置指南和文档将相应更新。

效果预览

快速开始

部署
sudo docker run --rm \
  --name rk3588-yolo11n \
  --privileged \
  --net=host \
  -e PYTHONUNBUFFERED=1 \
  -e RKNN_LOG_LEVEL=0 \
  --device /dev/video1:/dev/video1 \
  --device /dev/dri/renderD129:/dev/dri/renderD129 \
  -v /proc/device-tree/compatible:/proc/device-tree/compatible \
  ghcr.io/seeed-projects/recomputer-rk-cv/rk3588-yolo11:latest \
  python web_detection.py --model_path model/yolo11n.rknn --video video/test.mp4

模型详情

reComputer RK

快速开始

1. 安装 Docker

在开发板上运行以下命令安装 Docker:

bash
# 下载安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh
# 使用阿里云镜像源安装
sudo sh get-docker.sh --mirror Aliyun
# 启动 Docker 并设置开机自启
sudo systemctl enable docker
sudo systemctl start docker

2. 运行项目 (One command, dual-mode preview)

本项目支持通过"网页浏览器"进行预览。使用一条命令即可运行项目。同时提供 Fast-API 接口,方便用户进行定制化开发和测试。

步骤 A:拉取镜像

bash
sudo docker pull ghcr.io/Seeed-Projects/recomputer-rk-cv/rk3588-yolo:latest
sudo docker pull ghcr.io/Seeed-Projects/recomputer-rk-cv/rk3576-yolo:latest

步骤 B:一键运行

适用于 RK3588:

bash
sudo docker run --rm --privileged --net=host \
    -e PYTHONUNBUFFERED=1 \
    -e RKNN_LOG_LEVEL=0 \
    --device /dev/video1:/dev/video1 \
    --device /dev/dri/renderD129:/dev/dri/renderD129 \
    -v /proc/device-tree/compatible:/proc/device-tree/compatible \
    ghcr.io/Seeed-Projects/recomputer-rk-cv/rk3588-yolo11:latest \
    python web_detection.py --model_path model/yolo11n.rknn --camera_id 1

适用于 RK3576:

bash
sudo docker run --rm --privileged --net=host \
    -e PYTHONUNBUFFERED=1 \
    -e RKNN_LOG_LEVEL=0 \
    --device /dev/video1:/dev/video1 \
    --device /dev/dri/renderD128:/dev/dri/renderD128 \
    -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/yolo11n.rknn --camera_id 1

访问地址: http://<Board_IP>:8000

注意: 如果需要自定义类别,可以添加 -v $(pwd)/class_config.txt:/app/class_config.txt \ 挂载和 --class_path 参数。 程序默认使用 COCO 80 类别.

示例:

bash
sudo docker run --rm --privileged --net=host \
    -e PYTHONUNBUFFERED=1 \
    -e RKNN_LOG_LEVEL=0 \
    -v $(pwd)/class_config.txt:/app/class_config.txt \
    --device /dev/video1:/dev/video1 \
    --device /dev/dri/renderD129:/dev/dri/renderD129 \
    -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

🔌 API 文档

This 项目提供 RESTful interfaces compatible with the Ultralytics Cloud API standard, supporting object detection via image uploads using HTTP P操作系统T requests.

1. 模型推理接口(Predict)

端点: P操作系统T /api/models/yolo11/predict

请求参数(Multipart/Form-Data):

  • file: (可选) 要检测的图片文件。
  • video: (可选) 要检测的 MP4 视频文件。
  • timestamp: (可选) Timestamp in 视频 file (seconds), returns 检测结果 for the frame at that point. 默认值 is 0.
  • realtime: (可选) 布尔值。如果为 true 或未提供 file/video 参数,返回当前摄像头帧的检测结果。
  • conf: (可选) 单次请求的置信度阈值,范围 0.0-1.0。
  • iou: (可选) 单次请求的 NMS IOU 阈值,范围 0.0-1.0。

使用示例:

1. 图片检测:

bash
curl -X P操作系统T "http://127.0.0.1:8000/api/models/yolo11/predict" -F "file=@/home/cat/001.jpg"

2. 视频指定帧检测:

bash
curl -X P操作系统T "http://127.0.0.1:8000/api/models/yolo11/predict" -F "video=@/home/cat/test.mp4" -F "timestamp=5.5"

3. 获取当前摄像头帧检测:

bash
curl -X P操作系统T "http://127.0.0.1:8000/api/models/yolo11/predict" -F "realtime=true"
# 或不带文件参数
curl -X P操作系统T "http://127.0.0.1:8000/api/models/yolo11/predict"

响应格式(JSON):

json
{
  "success": true,
  "source": "video frame at 5.5s",
  "predictions": [
    {
      "class": "person",
      "confidence": 0.92,
      "box": { "x1": 100, "y1": 200, "x2": 300, "y2": 500 }
    }
  ],
  "image": { "width": 1280, "height": 720 }
}

2. 系统配置接口(Config)

用于动态调整实时视频流和默认推理的阈值。

获取当前配置

  • 端点: GET /api/config
  • 响应: {"obj_thresh": 0.25, "nms_thresh": 0.45}

更新系统配置

  • 端点: P操作系统T /api/config
  • 请求体(JSON): {"obj_thresh": 0.3, "nms_thresh": 0.5}
  • 响应: {"status": "success"}

3. 命令行参数

web_detection.py supports the following arguments:

Argument描述默认值
--model_pathRKNN 模型文件路径(必填)
--camera_id摄像头设备 ID (e.g., fill 1 for /dev/video1)1
--video_path视频文件路径(如果提供则覆盖 camera_id)None
--class_path自定义类别配置文件路径(class_config.txt)None (默认值 COCO 80)
--hostWeb 服务器监听地址0.0.0.0
--portWeb 服务器端口8000

Custom Class Configuration (class_config.txt) Format:

用双引号标注类别名称,以逗号分隔,例如: "person", "bicycle", "car", "motorbike"


Real-time Video Stream Interface (Video Feed)

获取带有检测框绘制的实时 MJPEG 视频流,可直接嵌入 HTML <img> 标签中。

  • 端点: GET /api/video_feed
  • 使用示例: <img src="http://<Board_IP>:8000/api/video_feed">