CV / Depth-Anything
Depth-Anything-V2-ViTS
reComputer R Series (CM5 + Hailo-10H)
Estimación monocular de profundidad sin entrenamiento específico con Depth-Anything-V2-Small en reComputer R Series con Hailo-8 o Hailo-10H.
Elige el dispositivo que estás usando. La guía de configuración y la documentación se actualizarán en consecuencia.
Primeros pasos
sudo docker run --rm \
--name cm5-hailo10h-depth-anything-v2-vits \
--privileged \
--net=host \
-e PYTHONUNBUFFERED=1 \
--device /dev/hailo0:/dev/hailo0 \
-v /usr/lib/libhailort.so.5.1.1:/usr/lib/libhailort.so.5.1.1:ro \
-v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \
ghcr.io/seeed-projects/recomputer-hailo10h-cv/depth_anything_v2_vits:latest \
python web_detection.py --model_path model/depth_anything_v2_vits.hef --video_path video/test.mp4API REST
Usa la API REST para ejecutar inferencia. Copia los comandos siguientes.
curl -X POST "http://<Board_IP>:8000/api/models/depth_anything_v2_vits/predict" \
-F "file=@test.jpg"import requests
response = requests.post(
"http://<Board_IP>:8000/api/models/depth_anything_v2_vits/predict",
files={"file": open("test.jpg", "rb")},
timeout=30,
)
print(response.json())Detalles del modelo
reComputer R Series (CM5 + Hailo-10H)Depth-Anything-V2-ViTS en reComputer R Series (CM5 + Hailo-10H)
Depth-Anything-V2-Small (red troncal ViT-S) realiza estimación monocular de profundidad sin entrenamiento específico (zero-shot) en Hailo-10H mediante HailoRT. El HEF genera un mapa de profundidad relativo de 224×224×1; la aplicación lo normaliza, aplica un mapa de colores INFERNO y lo mezcla con alfa sobre el fotograma original.
Información del modelo
| Propiedad | Valor |
|---|---|
| Arquitectura | ViT-S (Depth-Anything-V2-Small-hf) |
| Tarea | Estimación de profundidad sin entrenamiento específico (zero-shot) |
| Entrada | 224x224x3 RGB |
| Salida | Mapa de profundidad 224x224x1 (relativo, FLOAT32) |
| Parámetros | 24.2M |
| Operaciones | 16.7G |
| AbsRel | 0.147 |
| HEF | Hailo Model Zoo v5.4.0, Hailo-10H |
| Tamaño del HEF | 24.6 MB (24,596,480 bytes) |
Ejecución con el vídeo de demostración
sudo docker run --rm \
--name cm5-hailo10h-depth-anything-v2-vits \
--privileged \
--net=host \
-e PYTHONUNBUFFERED=1 \
--device /dev/hailo0:/dev/hailo0 \
-v /usr/lib/libhailort.so.5.1.1:/usr/lib/libhailort.so.5.1.1:ro \
-v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \
ghcr.io/seeed-projects/recomputer-hailo10h-cv/depth_anything_v2_vits:latest \
python web_detection.py --model_path model/depth_anything_v2_vits.hef --video_path video/test.mp4Abra http://<Board_IP>:8000 para ver la superposición de profundidad.
Para usar una cámara USB, monte /dev/video0 y sustituya --video_path ... por
--camera_id 0.
API REST
curl -X POST "http://<Board_IP>:8000/api/models/depth_anything_v2_vits/predict" \
-F "file=@test.jpg"Devuelve depth_stats (mínimo, máximo, media, desviación estándar) para el mapa de profundidad predicho.
| Punto de acceso | Método | Finalidad |
|---|---|---|
/api/models/depth_anything_v2_vits/predict | POST | Estadísticas de profundidad (JSON) |
/api/video_feed | GET | MJPEG con superposición de profundidad INFERNO |
Notas de implementación
- Profundidad relativa: la salida se normaliza por fotograma al rango mín-máx (no es métrica). Un valor mayor = más lejos. Oscuro (INFERNO) = cerca, claro = lejos.
- El control deslizante ajusta la mezcla alfa entre el fotograma original y el mapa de colores de profundidad.
normalize_in_netpara RGB de ImageNet; sin input_conversion → se alimenta RGB uint8 sin procesar tras aplicar letterboxing.- Sin posprocesamiento en el chip: la salida es el mapa de profundidad sin procesar, solicitado como vstreams FLOAT32 para que el host reciba valores descuantizados.
- El tamaño de entrada del HEF se lee al iniciar (224x224).
Notas de desarrollo
- Fuente:
src/hailo10h_depth_anything_v2_vits/ - Dockerfile:
docker/hailo10h/depth_anything_v2_vits.dockerfile - Contenedor:
ghcr.io/seeed-projects/recomputer-hailo10h-cv/depth_anything_v2_vits:latest - HEF: Hailo Model Zoo v5.4.0 (
hailo10h), 24,596,480 bytes, SHA256b6f6328ec3d6b3c09235ce5ee33b5aebc7c63d5443083d7dc5613155bc298744 - Familia: depth_anything (variantes v2_vits / vits)
Entradas y salidas
Input: image, video, or USB camera frame. Output: relative depth map with INFERNO colormap overlay on MJPEG preview, plus depth statistics (min/max/mean/std) via API.