Zonas
Las zonas te permiten definir un área específica del encuadre y aplicar filtros adicionales para tipos de objetos, de modo que puedas determinar si un objeto está dentro de un área particular. La presencia en una zona se evalúa basándose en el centro inferior del cuadro delimitador del objeto. No importa cuánto del cuadro delimitador se superponga con la zona.
Por ejemplo, el gato en esta imagen está actualmente en la Zona 1, pero no en la Zona 2.

Las zonas no pueden tener el mismo nombre que una cámara. Si se desea, una sola zona puede incluir múltiples cámaras si tienes varias cámaras cubriendo la misma área configurando zonas con el mismo nombre para cada cámara.
Durante las pruebas, habilita la opción Zonas para la vista de Depuración de tu cámara (Configuración --> Depuración) para poder ajustar según sea necesario. La línea de la zona aumentará su grosor cuando cualquier objeto entre en la zona.
Para crear una zona, sigue los pasos para una "Máscara de movimiento", pero usa la sección de la interfaz web para crear una zona en su lugar.
Restricción de alertas y detecciones a zonas específicas
A menudo solo querrás que se creen alertas cuando un objeto entre en áreas de interés. Esto se hace usando zonas junto con la configuración de required_zones. Supongamos que solo quieres que se cree una alerta cuando un objeto entre en tu zona entire_yard; la configuración sería:
cameras:
name_of_your_camera:
review:
alerts:
required_zones:
- entire_yard
zones:
entire_yard:
friendly_name: Jardín completo # Puedes usar caracteres de texto de cualquier idioma
coordinates: ...
También puedes querer filtrar las detecciones para que solo se creen cuando un objeto entre en un área de interés secundaria. Esto se hace usando zonas junto con la configuración de required_zones. Supongamos que quieres alertas cuando un objeto entra al área interior del jardín pero detecciones cuando entra al borde del jardín; la configuración sería:
cameras:
name_of_your_camera:
review:
alerts:
required_zones:
- inner_yard
detections:
required_zones:
- edge_yard
zones:
edge_yard:
friendly_name: Borde del jardín # Puedes usar caracteres de texto de cualquier idioma
coordinates: ...
inner_yard:
friendly_name: Jardín interior # Puedes usar caracteres de texto de cualquier idioma
coordinates: ...
Restricción de capturas a zonas específicas
cameras:
name_of_your_camera:
snapshots:
required_zones:
- entire_yard
zones:
entire_yard:
friendly_name: Jardín completo
coordinates: ...
Restricción de zonas a objetos específicos
A veces quieres limitar una zona a tipos de objetos específicos para tener un control más granular de cuándo se guardan las alertas, detecciones y capturas. El siguiente ejemplo limitará una zona a objetos de tipo persona y la otra a automóviles.
cameras:
name_of_your_camera:
zones:
entire_yard:
coordinates: ... (en todos los lugares donde quieres una persona)
objects:
- person
front_yard_street:
coordinates: ... (solo la calle)
objects:
- car
Solo los objetos de tipo automóvil pueden activar la zona front_yard_street y solo persona puede activar entire_yard. Los objetos serán rastreados para cualquier person que entre en cualquier parte del jardín, y para automóviles solo si entran a la calle.
Tiempo de permanencia en zona
A veces se espera que los objetos pasen a través de una zona, pero un objeto merodeando en un área es inesperado. Las zonas pueden configurarse para tener un tiempo mínimo de permanencia después del cual el objeto se considerará dentro de la zona.
Al usar zonas de permanencia, un elemento de revisión se comportará de la siguiente manera:
- Cuando una persona está en una zona de permanencia, el elemento de revisión permanecerá activo hasta que la persona salga de la zona de permanencia, independientemente de si está estacionaria.
- Cuando cualquier otro objeto está en una zona de permanencia, el elemento de revisión permanecerá activo hasta que se cumpla el tiempo de permanencia. Luego, si el objeto está estacionario, el elemento de revisión terminará.
cameras:
name_of_your_camera:
zones:
sidewalk:
loitering_time: 4 # la unidad es en segundos
objects:
- person
Inercia de zona
A veces el cuadro delimitador de un objeto puede ser ligeramente incorrecto y el centro inferior del cuadro delimitador está dentro de la zona mientras que el objeto no está realmente en la zona. La inercia de zona ayuda a protegerse contra esto al requerir que el cuadro delimitador de un objeto esté dentro de la zona durante múltiples fotogramas consecutivos. Este valor puede configurarse:
cameras:
name_of_your_camera:
zones:
front_yard:
inertia: 3
objects:
- person
También puede haber casos en los que esperas que un objeto entre y salga rápidamente de una zona, como cuando un automóvil está entrando al camino de entrada, y es posible que quieras que el objeto se considere presente en la zona inmediatamente:
cameras:
name_of_your_camera:
zones:
driveway_entrance:
inertia: 1
objects:
- car
Estimación de velocidad
SecureVu puede configurarse para estimar la velocidad de los objetos que se mueven a través de una zona. Esto funciona combinando datos del rastreador de objetos de SecureVu y mediciones de distancia del "mundo real" de los bordes de la zona. El caso de uso recomendado para esta función es rastrear la velocidad de los vehículos en una carretera mientras se mueven a través de la zona.
Tu zona debe definirse con exactamente 4 puntos y debe estar alineada con el suelo donde se mueven los objetos.

La estimación de velocidad requiere un número mínimo de fotogramas para que tu objeto sea rastreado antes de que se pueda calcular una estimación válida, por lo que crea tu zona lejos de los lugares donde los objetos entran y salen para obtener los mejores resultados. El cuadro delimitador del objeto debe ser estable y permanecer de tamaño constante mientras entra y sale de la zona. Tu zona no debe ocupar todo el encuadre, y la zona no necesita ser del mismo tamaño o más grande que los objetos que la atraviesan. La velocidad de un objeto se registra mientras pasa por la zona y luego se guarda en la base de datos de SecureVu.
Se requieren mediciones precisas de distancia del mundo real para estimar las velocidades. Estas distancias pueden especificarse en la configuración de tu zona a través del campo distances.
cameras:
name_of_your_camera:
zones:
street:
coordinates: 0.033,0.306,0.324,0.138,0.439,0.185,0.042,0.428
distances: 10,12,11,13.5 # en metros o pies
Cada número en el campo distance representa la distancia del mundo real entre los puntos de la lista coordinates. Entonces, en el ejemplo anterior, la distancia entre los primeros dos puntos ([0.033,0.306] y [0.324,0.138]) es 10. La distancia entre el segundo y tercer conjunto de puntos ([0.324,0.138] y [0.439,0.185]) es 12, y así sucesivamente. La manera más rápida y precisa de configurar esto es a través del Editor de Zonas en la interfaz de SecureVu.
Los valores de distance se miden en metros (métrico) o pies (imperial), dependiendo de cómo esté configurado unit_system en tu configuración de ui:
ui:
# puede ser "metric" o "imperial", el valor predeterminado es metric
unit_system: metric
La velocidad promedio de tu objeto mientras se movía por tu zona se guarda en la base de datos de SecureVu y puede verse en la interfaz en el panel de Detalles del Objeto Rastreado en Explorar. La velocidad estimada actual también puede verse en la vista de depuración como el tercer valor en la etiqueta del objeto (consulta las advertencias a continuación). La velocidad estimada actual, la velocidad estimada promedio y el ángulo de velocidad (el ángulo de la dirección en que se mueve el objeto en relación con el encuadre) de los objetos rastreados también se envían a través del tema MQTT events. Consulta la documentación de MQTT.
Estos valores de velocidad se muestran como un número en millas por hora (mph) o kilómetros por hora (kph). Para millas por hora, establece unit_system en imperial. Para kilómetros por hora, establece unit_system en metric.
Mejores prácticas y advertencias
- La estimación de velocidad funciona mejor con una carretera o camino recto cuando tu objeto viaja en línea recta por ese camino. Evita crear tu zona cerca de intersecciones o cualquier lugar donde los objetos hagan un giro.
- Crea una zona donde el centro inferior del cuadro delimitador de tu objeto viaje directamente a través de ella y no quede obstruido en ningún momento.
- Se puede usar una zona grande (como en el ejemplo de foto anterior), pero puede causar estimaciones inexactas si el cuadro delimitador del objeto cambia de forma (como cuando gira o queda parcialmente oculto). Generalmente es mejor hacer tu zona lo suficientemente grande para capturar algunos fotogramas, pero lo suficientemente pequeña para que el cuadro delimitador no cambie de tamaño mientras entra, viaja y sale de la zona.
- Dependiendo del tamaño y la ubicación de tu zona, es posible que quieras disminuir el valor de
inertiade la zona desde el valor predeterminado de 3. - Cuanto m ás precisas sean las medidas del mundo real, más precisa será la estimación de velocidad. Sin embargo, debido a la forma en que funciona el algoritmo de seguimiento de SecureVu, es posible que necesites ajustar los valores de distancia del mundo real para que las velocidades estimadas coincidan mejor con las velocidades reales.
- Una vez que un objeto sale de la zona, es probable que la precisión de la velocidad disminuya debido a la distorsión de perspectiva y la desalineación con el área calibrada. Por lo tanto, los valores de velocidad se mostrarán como cero a través de MQTT y no serán visibles en la vista de depuración cuando un objeto está fuera de una zona de seguimiento de velocidad.
- Las velocidades son solo una estimación y dependen en gran medida de la posición de la cámara, los puntos de la zona y las medidas del mundo real. Esta función no debe usarse para aplicación de la ley.
Umbral de velocidad
Las zonas pueden configurarse con un requisito de velocidad mínima, lo que significa que un objeto debe moverse a esta velocidad o por encima de ella para ser considerado dentro de la zona. Las distances de la zona deben definirse como se describe arriba.
cameras:
name_of_your_camera:
zones:
sidewalk:
coordinates: ...
distances: ...
inertia: 1
speed_threshold: 20 # la unidad es en kph o mph, dependiendo de cómo esté configurado unit_system (ver arriba)