CV / YOLOX

YOLOX

Select an RKNN YOLOX-S/M model or a Hailo-8 Tiny/S-Leaky/L-Leaky HEF for the target platform.

5 téléchargements
Précision
RKNN / Hailo HEF

Choisissez l'appareil que vous utilisez. Le guide de configuration et la documentation seront mis à jour en conséquence.

Pour commencer

Déployer
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-yolox:latest \
  python3 web_detection.py --platform rk3576 --model_path model/yolox_s.rknn \
  --class_path model/coco_80_labels_list.txt --video_path video/test.mp4

API REST

Utilisez l'API REST pour exécuter l'inférence. Copiez les commandes ci-dessous.

Curl
curl http://localhost:8080/v1/chat/completions -d '{
  "model": "yolox-rknn",
  "messages": [{"role": "user", "content": "Hello"}]
}'
Python
import requests

resp = requests.post(
    "http://localhost:8080/v1/chat/completions",
    json={"model": "yolox-rknn", "messages": [{"role": "user", "content": "Hello"}]},
)
print(resp.json())

Détails du modèle

YOLOX sur reComputer RK3576 et RK3588

Cette page repose sur les services YOLOX de reComputer-RK-CV. Le runtime effectue l’inférence RKNN, le décodage des branches YOLOX, la fusion des scores d’objectivité/classe et la NMS par classe.

Informations sur le modèle

PropriétéValeur
TâcheDétection d’objets COCO à 80 classes
EntréeRGB letterbox 640 x 640
Variantesyolox_s.rknn, yolox_m.rknn
Valeur par défautmodel/yolox_s.rknn
Étiquettesmodel/coco_80_labels_list.txt

Exécuter le service

RK3576

bash
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-yolox:latest \
  python3 web_detection.py --platform rk3576 \
  --model_path model/yolox_s.rknn \
  --class_path model/coco_80_labels_list.txt --video_path video/test.mp4

RK3588

bash
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-yolox:latest \
  python3 web_detection.py --platform rk3588 \
  --model_path model/yolox_s.rknn \
  --class_path model/coco_80_labels_list.txt --video_path video/test.mp4

Utilisez model/yolox_m.rknn pour la variante moyenne. Conservez l’argument du chemin des classes lors du changement de modèle. Ouvrez http://<BOARD_IP>:8000 ou /docs.

Arguments de démarrage

ArgumentValeur par défautDescription
--platformObligatoirerk3576 ou rk3588.
--model_pathObligatoireFichier RKNN YOLOX-S ou YOLOX-M.
--class_pathObligatoire dans la commande fournieFichier des noms de classes COCO.
--camera_id1Indice de caméra ; -1 active uniquement les téléversements.
--video_pathAucunMP4 local en boucle ; remplace la caméra.
--host / --port0.0.0.0 / 8000Adresse et port du service.

REST API

Endpoint : POST /api/models/yolox/predict

bash
curl -X POST "http://<BOARD_IP>:8000/api/models/yolox/predict" \
  -F "file=@bus.jpg" -F "conf=0.25" -F "iou=0.45"
json
{
  "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}
}

Le service accepte les requêtes d’image, d’image vidéo téléversée et de source courante. GET/POST /api/config contrôle obj_thresh et nms_thresh ; les valeurs conf et iou de la requête les remplacent. Les endpoints d’état, MJPEG, téléversement, analyse asynchrone, état, liste et téléchargement sont également disponibles.

L’entrée est letterboxée, convertie en RGB, décodée par branche puis traitée par fusion objectivité/classe et NMS par classe. Les modèles de remplacement doivent correspondre au décodeur YOLOX et à la configuration des classes fournis.

Compiler localement

bash
docker build -f docker/rk3576/yolox.dockerfile \
  -t rk3576-yolox:local src/rk3576_yolox

docker build -f docker/rk3588/yolox.dockerfile \
  -t rk3588-yolox:local src/rk3588_yolox

Entrées et sorties

Input: image, video frame, or camera frame. Output: COCO classes, confidence scores, and boxes.