CV / PP-YOLOE
PP-YOLOE
Select PP-YOLOE-S or PP-YOLOE-M by changing the RKNN model path.
Choisissez l'appareil que vous utilisez. Le guide de configuration et la documentation seront mis à jour en conséquence.
Pour commencer
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-ppyoloe:latest \
python web_detection.py --platform rk3576 --model_path model/ppyoloe_s.rknn \
--class_path model/coco_80_labels_list.txt --camera_id -1API REST
Utilisez l'API REST pour exécuter l'inférence. Copiez les commandes ci-dessous.
curl http://localhost:8080/v1/chat/completions -d '{
"model": "ppyoloe-rknn",
"messages": [{"role": "user", "content": "Hello"}]
}'import requests
resp = requests.post(
"http://localhost:8080/v1/chat/completions",
json={"model": "ppyoloe-rknn", "messages": [{"role": "user", "content": "Hello"}]},
)
print(resp.json())Détails du modèle
PP-YOLOE sur reComputer RK3576 et RK3588
Ce déploiement suit les modules PP-YOLOE de reComputer-RK-CV. Il fournit l’inférence RKNN NPU, un aperçu Web, une REST API et l’analyse vidéo asynchrone.
Informations sur le modèle
| Propriété | Valeur |
|---|---|
| Tâche | Détection d’objets COCO à 80 classes |
| Entrée | RGB letterbox 640 x 640 |
| Variantes | ppyoloe_s.rknn, ppyoloe_m.rknn |
| Valeur par défaut | model/ppyoloe_s.rknn |
| Post-traitement | Décodage DFL et NMS par classe |
Exécuter le 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-ppyoloe:latest \
python web_detection.py --platform rk3576 \
--model_path model/ppyoloe_s.rknn \
--class_path model/coco_80_labels_list.txt --camera_id -1RK3588
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-ppyoloe:latest \
python web_detection.py --platform rk3588 \
--model_path model/ppyoloe_s.rknn \
--class_path model/coco_80_labels_list.txt --camera_id -1Passez à PP-YOLOE-M avec --model_path model/ppyoloe_m.rknn. Pour une caméra, mappez /dev/videoN et définissez le --camera_id correspondant.
Arguments de démarrage
| Argument | Valeur par défaut | Description |
|---|---|---|
--platform | Obligatoire | rk3576 ou rk3588. |
--model_path | Obligatoire | Fichier RKNN PP-YOLOE-S ou PP-YOLOE-M. |
--class_path | Labels COCO | Noms de classe utilisés pour la sérialisation et le dessin. |
--camera_id | 1 | Indice de caméra ; -1 active le mode téléversement uniquement. |
--video_path | Aucun | MP4 local en boucle ; remplace la caméra. |
--host / --port | 0.0.0.0 / 8000 | Adresse et port du service. |
REST API
Endpoint : POST /api/models/ppyoloe/predict
curl -X POST "http://<BOARD_IP>:8000/api/models/ppyoloe/predict" \
-F "file=@bus.jpg" -F "conf=0.30" -F "iou=0.45"{
"success": true,
"source": "uploaded image",
"predictions": [
{
"class": "bus",
"confidence": 0.91,
"box": {"x1": 120, "y1": 80, "x2": 520, "y2": 430}
}
],
"image": {"width": 640, "height": 480}
}La priorité d’entrée est l’image, l’image d’un MP4 téléversé, puis la caméra active ou la vidéo d’exemple. GET/POST /api/config contrôle les seuils globaux d’objet et de NMS. Le runtime expose également les interfaces d’état, MJPEG, téléversement, analyse asynchrone, état, liste et téléchargement.
web_detection.py effectue le letterbox, l’inférence RKNN, le décodage DFL PP-YOLOE, la NMS par classe, la restauration des coordonnées, le rendu et la sérialisation API. Les modèles de remplacement doivent rester compatibles avec ce décodeur DFL et cette disposition de sortie.
Compiler localement
docker build -f docker/rk3576/ppyoloe.dockerfile \
-t rk3576-ppyoloe:local src/rk3576_ppyoloe
docker build -f docker/rk3588/ppyoloe.dockerfile \
-t rk3588-ppyoloe:local src/rk3588_ppyoloeEntrées et sorties
Input: image, video frame, or camera frame. Output: COCO classes, confidence scores, and boxes.