# Social Distance Detector

Esta función analiza un flujo de imágenes para detectar personas y verificar el distanciamiento físico según un umbral de distancia. Visualiza las personas detectadas y resalta los pares que violan la distancia especificada.

## 📥 Entradas

`Image Any`\
Proporcione la imagen o el fotograma de vídeo a analizar.

`Perspective Matrix`\
Matriz de transformación opcional para convertir coordenadas de imagen a un plano del mundo real y obtener mediciones de distancia más precisas.

`Distance Threshold`\
La distancia mínima permitida entre personas (las unidades dependen de la calibración de la perspectiva).

## 📤 Salidas

`Image Any`\
Imagen anotada con las personas detectadas, líneas de conexión y resaltado de violaciones.

`Person Count`\
Número de personas detectadas en el fotograma.

`Violation Count`\
Número de pares que violan el umbral (pares más cercanos que la distancia permitida).

`Is Violated ?`\
Valor booleano que indica si existe al menos una violación.

## 🕹️ Controles

`Confidence Ratio`\
Deslizador que ajusta la sensibilidad de confianza de la detección. Valores más altos requieren mayor confianza para contar como persona.

## 🎨 Características

* Detección y visualización de personas en tiempo real sobre las imágenes entrantes.
* Medición de distancia par a par entre las personas detectadas.
* Corrección de perspectiva opcional usando la `Perspective Matrix` para comprobaciones de distancia en el mundo real.
* Salidas claras para monitorización y procesamiento posterior: imagen, conteos y bandera de violación.

## 📊 Mecanismo de funcionamiento

Cuando está activo, el bloque recibe la entrada de imagen, detecta las posiciones de las personas en el fotograma, opcionalmente mapea esas posiciones usando la `Perspective Matrix`, calcula distancias par a par y las compara con el `Distance Threshold`. El bloque devuelve una imagen anotada y salidas numéricas/booleanas que describen el estado de detección y de violación.

## 📝 Cómo usar

1. Proporcione una fuente de imagen a `Image Any` (flujo de cámara o imagen cargada).
2. Si necesita distancias en el mundo real, suministre una `Perspective Matrix` calibrada. Sin ella, las comprobaciones de distancia usan unidades del plano de imagen (píxeles).
3. Ajuste el `Distance Threshold` según su calibración o una distancia aproximada en píxeles.
4. Sintonice `Confidence Ratio` para equilibrar detecciones perdidas vs. falsos positivos.
5. Lea las salidas para activar alertas, registros o procesamientos adicionales cuando ocurran violaciones.

## 💡 Consejos y trucos

* Para entrada de cámara, combine este bloque con una fuente de imagen como `Camera USB`, `Camera IP (ONVIF)`, `Stream Reader` o `Load Image`.
* Para previsualizar resultados en mayor tamaño, añada `Show Image` después de este bloque.
* Si la detección es ruidosa, pruebe redimensionar o eliminar ruido con `Image Resizer` o `Denoising` para mejorar la estabilidad.
* Para detección de personas más robusta o clases personalizadas, considere combinar con `Object Detection` o `Object Detection - Custom` aguas arriba y pasar los centros detectados a este bloque para la comprobación de distancias.
* Use `Perspective Transform` para generar una `Perspective Matrix` fiable cuando necesite distancias en el mundo real.
* Use `Image ROI` o `Image ROI Select` para limitar el área de análisis (reduce detecciones falsas y acelera el procesamiento).
* Si necesita seguimiento entre fotogramas, utilice `Object_Detection_Tracker` aguas abajo para obtener IDs persistentes y análisis mejorados.

## 🛠️ Solución de problemas

* No se detectan personas: aumente ligeramente `Confidence Ratio` o proporcione entrada de mayor resolución. Asegúrese de que la iluminación de la escena permita contornos claros de las personas.
* Muchos falsos positivos: intente aumentar `Confidence Ratio`, aplique preprocesado como `Blur` o `Image Threshold`, o restrinja el área con `Image ROI`.
* Mediciones de distancia incorrectas: verifique la calibración y proporcione una `Perspective Matrix` correcta usando `Perspective Transform`. Sin corrección de perspectiva, las distancias están en píxeles de imagen y pueden no reflejar valores del mundo real.
* Alta carga CPU/GPU: reduzca la resolución de entrada con `Image Resizer` o ejecute la detección con menor frecuencia.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.augelab.com/spanish/bloques-de-funcion/ai-blocks/social-distance-detector.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
