🛠 Boîte de vision RTSP : caméra MIPI, accélération NPU RKNN et VPU

Radxa ROCK 3B (Rockchip RK3568) · avance · Schéma : IMG-radxa-rock-3b-avance-2-rock3b-npu-vision.svg — caméra MIPI CSI sur la Radxa ROCK 3B, pipeline capture → décodage VPU → inférence NPU RKNN → flux RTSP vers clients

Objetivos

Construir una caja de visión sobre la NPU de 1 TOPS INT8 del RK3568 (framework RKNN, soporte para TensorFlow/TF-Lite/PyTorch/Caffe/ONNX) y la VPU (decodificación 4Kp60 H.265/H.264/VP9, codificación 1080p60): cámara en el conector MIPI CSI de 2 carriles, inferencia sobre fotograma, difusión RTSP. Radxa documenta cada componente: secciones oficiales de RTSP, OpenCV y AI/RKNN en docs.radxa.com (app-development).

Hardware

Código completo

# 1. Activer la caméra (Radxa OS) : rsetup -> Camera overlay, reboot, puis :
ls /dev/video* ; v4l2-ctl --list-devices        # chercher la pipeline mipi-csi

# 2. Chaîne d'acquisition (gstreamer, décodage/encodage matériel) :
sudo apt install gstreamer1.0-tools gstreamer1.0-plugins-good
gst-launch-1.0 v4l2src device=/dev/video11 ! video/x-raw,width=1280,height=720 ! \
  videoconvert ! autovideosink                  # aperçu live depuis la CSI

# 3. Inférence RKNN : installer la toolchain rknn-toolkit2 (hôte x86) pour
#    convertir le modèle ONNX -> .rknn, puis runtime rknnlite sur la carte :
sudo pip3 install rknn-toolkit-lite2            # wheel selon la doc AI Radxa
python3 detect.py --model model.rknn --cam 0    # script du tuto AI officiel

# 4. Diffusion RTSP (encodage 1080p60 matériel) :
sudo apt install v4l2loopback-dkms
# gst-launch-1.0 ... ! mpph264enc ! rtspclientsink location=rtsp://... (voir tuto RTSP)

Verificación esperada

v4l2-ctl --list-devices lista el pipeline CSI; gst-launch muestra el flujo de la cámara; el script RKNN muestra cajas/etiquetas y latencia por fotograma (la NPU de 1 TOPS mantiene el tiempo real con modelos ligeros tipo YOLO cuantificados en INT8); un cliente VLC reproduce el flujo RTSP. cat /sys/class/devfreq/*npu*/load (o rknn top) muestra la NPU activa.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales