CV / YOLOv6
YOLOv6
Select YOLOv6n, YOLOv6s, or YOLOv6m by changing the RKNN model path.
Wähle das Gerät, das du verwendest. Die Einrichtungsanleitung und Dokumentation werden entsprechend aktualisiert.
Erste Schritte
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-yolov6:latest \
python3 web_detection.py --platform rk3576 --model_path model/yolov6n.rknn --video_path video/test.mp4REST API
Verwende die REST API für die Inferenz. Kopiere die folgenden Befehle.
curl http://localhost:8080/v1/chat/completions -d '{
"model": "yolov6-rknn",
"messages": [{"role": "user", "content": "Hello"}]
}'import requests
resp = requests.post(
"http://localhost:8080/v1/chat/completions",
json={"model": "yolov6-rknn", "messages": [{"role": "user", "content": "Hello"}]},
)
print(resp.json())Modelldetails
YOLOv6 auf reComputer RK3576 und RK3588
Diese Bereitstellung basiert auf den YOLOv6-Modulen in reComputer-RK-CV. Sie führt COCO-Erkennung mit RKNN-Toolkit-Lite2 aus und bietet Browservorschau, REST-Inferenz und Offlinevideoverarbeitung.
Modellinformationen
| Eigenschaft | Wert |
|---|---|
| Aufgabe | COCO-Objekterkennung mit 80 Klassen |
| Eingabe | 640 x 640, letterboxed und von BGR nach RGB konvertiert |
| Varianten | yolov6n.rknn, yolov6s.rknn, yolov6m.rknn |
| Standard | model/yolov6n.rknn |
| Ausgabe | Klassen, Konfidenzwerte und Boxen im Quellbild |
Dienst starten
Wählen Sie die Modellgröße durch Änderung von --model_path.
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-yolov6:latest \
python3 web_detection.py --platform rk3576 \
--model_path model/yolov6n.rknn --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-yolov6:latest \
python3 web_detection.py --platform rk3588 \
--model_path model/yolov6n.rknn --video_path video/test.mp4Verwenden Sie model/yolov6s.rknn oder model/yolov6m.rknn für die anderen Varianten. Ersetzen Sie --video_path video/test.mp4 durch --camera_id -1 für reinen Uploadbetrieb. Öffnen Sie http://<BOARD_IP>:8000 oder /docs.
Startargumente
| Argument | Standard | Beschreibung |
|---|---|---|
--platform | Erforderlich | rk3576 oder rk3588; muss zum Image passen. |
--model_path | Erforderlich | Eine der enthaltenen YOLOv6-RKNN-Dateien. |
--camera_id | 1 | Kameraindex; -1 aktiviert reinen Uploadbetrieb. |
--video_path | Kein Wert | Lokale MP4-Schleife; überschreibt die Kamera. |
--class_path | COCO-Labels | Optionale Ersatzklassenliste. |
--host / --port | 0.0.0.0 / 8000 | FastAPI-Listenadresse und Port. |
REST API
Endpunkt: POST /api/models/yolov6/predict
Felder sind file, video, timestamp, realtime, conf (Standard 0.25) und iou (Standard 0.45).
curl -X POST "http://<BOARD_IP>:8000/api/models/yolov6/predict" \
-F "file=@bus.jpg" -F "conf=0.25" -F "iou=0.45"curl -X POST "http://<BOARD_IP>:8000/api/models/yolov6/predict" \
-F "video=@test.mp4" -F "timestamp=5.5"Beispielantwort:
{
"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}
}GET /api/config liefert obj_thresh und nms_thresh. Aktualisieren Sie sie mit POST /api/config; Anfragefelder conf und iou überschreiben globale Werte.
Der Dienst bietet außerdem GET /api/health, GET /api/video_feed, POST /api/video/upload, POST /api/video/analyze sowie Video-Status-, Listen- und Download-Endpunkte. Dateien liegen unter workspace/, sofern RK_CV_WORKSPACE nicht gesetzt ist. Ersatzmodelle müssen Eingabegröße und YOLOv6-Tensorlayout von web_detection.py beibehalten.
Lokal bauen
docker build -f docker/rk3576/yolov6.dockerfile \
-t rk3576-yolov6:local src/rk3576_yolov6
docker build -f docker/rk3588/yolov6.dockerfile \
-t rk3588-yolov6:local src/rk3588_yolov6Eingaben und Ausgaben
Input: image, video frame, or camera frame. Output: COCO classes, confidence scores, and boxes.