Saltar al contenido principal

Máscaras

Máscaras de movimiento

Las máscaras de movimiento se usan para evitar que tipos de movimiento no deseados activen la detección. Intenta observar el flujo de Depuración (Configuración --> Depuración) con los Cuadros de Movimiento habilitados para ver qué puede ser detectado regularmente como movimiento. Por ejemplo, deseas enmascarar tu marca de tiempo, el cielo, los tejados, etc. Ten en cuenta que esta máscara solo evita que se detecte movimiento y no impide que los objetos sean detectados si la detección de objetos se inició debido al movimiento en áreas sin máscara. El movimiento también se usa durante el rastreo de objetos para refinar el área de detección de objetos en el siguiente fotograma. El exceso de máscaras dificultará el rastreo de objetos.

Consulta la aclaración adicional a continuación sobre por qué podrías no querer usar una máscara de movimiento.

Máscaras de filtro de objetos

Las máscaras de filtro de objetos se usan para filtrar falsos positivos de un tipo de objeto dado según su ubicación. Deben usarse para filtrar cualquier área donde no sea posible que un objeto de ese tipo esté. El centro inferior del cuadro delimitador del objeto detectado se evalúa contra la máscara. Si está en un área enmascarada, se asume que es un falso positivo. Por ejemplo, puedes querer enmascarar tejados, paredes, el cielo, las copas de los árboles para personas. Para automóviles, enmascarar ubicaciones distintas de la calle o tu entrada indicará a SecureVu que cualquier cosa en tu jardín es un falso positivo.

Las máscaras de filtro de objetos pueden usarse para filtrar falsos positivos persistentes en ubicaciones fijas. Por ejemplo, la base de este árbol puede ser detectada frecuentemente como una persona. La siguiente imagen muestra un ejemplo de una máscara de filtro de objetos (área sombreada en rojo) sobre la ubicación donde el centro inferior generalmente se encuentra para filtrar detecciones de personas en una ubicación precisa.

máscara de objetos

Uso del creador de máscaras

Para crear una máscara de polígono:

  1. Visita la interfaz web
  2. Haz clic/toca el ícono de engranaje y abre "Configuración"
  3. Selecciona "Editor de máscaras/zonas"
  4. En la parte superior derecha, selecciona la cámara para la que deseas crear una máscara o zona
  5. Haz clic en el ícono de más debajo del tipo de máscara o zona que deseas crear
  6. Haz clic en la imagen más reciente de la cámara para crear los puntos del área enmascarada. Haz clic en el primer punto nuevamente para cerrar el polígono.
  7. Cuando hayas terminado de crear tu máscara, presiona Guardar.

Tu archivo de configuración se actualizará con las coordenadas relativas de la máscara/zona:

motion:
mask: "0.000,0.427,0.002,0.000,0.999,0.000,0.999,0.781,0.885,0.456,0.700,0.424,0.701,0.311,0.507,0.294,0.453,0.347,0.451,0.400"

Se pueden listar múltiples máscaras en tu configuración.

motion:
mask:
- 0.239,1.246,0.175,0.901,0.165,0.805,0.195,0.802
- 0.000,0.427,0.002,0.000,0.999,0.000,0.999,0.781,0.885,0.456

Aclaración adicional

Esta es una respuesta a una pregunta planteada en reddit:

Es útil entender un poco sobre cómo SecureVu usa la detección de movimiento y la detección de objetos juntas.

Primero, SecureVu usa la detección de movimiento como una verificación inicial para ver si hay algo que valga la pena revisar con la detección de objetos.

Una vez detectado el movimiento, intenta agrupar las áreas de movimiento cercanas con la esperanza de identificar un rectángulo en la imagen que capture el área que vale la pena inspeccionar. Estos son los "cuadros de movimiento" rojos que ves en el visor de depuración.

Después de identificar el área con movimiento, SecureVu crea una "región" (los cuadros verdes en el visor de depuración) para ejecutar la detección de objetos. Los modelos están entrenados con imágenes cuadradas, por lo que estas regiones siempre son cuadrados. Añade un margen alrededor del área de movimiento con la esperanza de capturar una vista recortada del objeto en movimiento que llene la mayor parte de la imagen pasada a la detección de objetos, sin cortar nada. También toma en consideración la ubicación del cuadro delimitador del fotograma anterior si está rastreando un objeto.

Después de ejecutar la detección de objetos, si hay objetos detectados que parecen estar cortados, SecureVu reencuadra la región y ejecuta la detección de objetos nuevamente en el mismo fotograma para obtener una mejor vista.

Todo esto ocurre para cada área de movimiento y objeto rastreado.

¿Simplemente estás diciendo que el DISPARO INICIAL de cualquier tipo de detección solo ocurrirá en áreas sin máscara, pero que una vez que esto ocurre, las máscaras se vuelven irrelevantes y la detección de objetos toma precedencia?

Esencialmente, sí. Sin embargo, no lo describiría como que la detección de objetos toma precedencia. Las máscaras de movimiento simplemente impiden que esas áreas se cuenten como movimiento. Esas máscaras no modifican de ninguna manera las regiones pasadas a la detección de objetos, por lo que absolutamente puedes detectar objetos en áreas enmascaradas para movimiento.

Si es así, este es un comportamiento completamente esperado e intuitivo para mí. Porque obviamente si un "pie" inicia la detección de movimiento, la cámara debería poder verificar si es una persona completa antes de que cruce completamente a la zona. Los documentos implican que este es el comportamiento, así que tampoco entiendo por qué esto sería perjudicial para la detección de objetos en general.

Cuando solo un pie está disparando movimiento, SecureVu hará zoom y mirará solo el pie. Si eso incluso califica como una persona, determinará que el objeto está siendo cortado y mirará de nuevo y de nuevo hasta hacer zoom atrás lo suficiente para encontrar a la persona completa.

También es perjudicial para cómo SecureVu rastrea un objeto en movimiento. El movimiento cerca del cuadro delimitador del fotograma anterior se usa para determinar inteligentemente dónde debería estar la región en el siguiente fotograma. Con demasiadas máscaras, el rastreo se ve obstaculizado y si un objeto camina desde un área sin máscara a un área completamente enmascarada, prácticamente desaparece y será detectado como un "nuevo" objeto si sale del área enmascarada. Esto es importante porque SecureVu usa el historial de puntuaciones mientras rastrea un objeto para determinar si es un falso positivo o no. Se necesita un mínimo de 3 fotogramas para que SecureVu determine si es el tipo de objeto que cree que es, y la puntuación media debe ser mayor que el umbral. Si una persona cumple este umbral mientras está en la acera antes de caminar hacia tu entrada, obtendrás una alerta en el instante en que pongan un pie en una zona.

Pensé que el punto principal de esta función era reducir el uso de CPU cuando hay movimiento en áreas innecesarias.

Lo es, pero la definición de "innecesario" varía. Quiero ignorar las áreas de movimiento que sé que definitivamente no están siendo disparadas por objetos de interés. Marcas de tiempo, árboles, cielo, tejados. No quiero ignorar el movimiento de objetos que quiero rastrear y saber a dónde van.

Para mí, darle CUALQUIER relleno a mis máscaras resulta en muchas detecciones de personas en las que no estoy interesado. Vivo en la ciudad y capturo mucha acera en mi cámara. La gente pasa por mi puerta principal todo el tiempo y el margen entre la acera y caminar realmente hacia mi porche es muy delgado, así que básicamente tengo todo excepto los contornos exactos de mi porche enmascarado. Esto resulta en detecciones muy ordenadas, pero esta información sigue confundiéndome. ¿Estoy exagerando?

Esto es para lo que sirven las required_zones. Debes definir una zona (recuerda que esto se evalúa basándose en el centro inferior del cuadro delimitador) y hacer que sea requerida para guardar capturas y clips (anteriormente eventos en 0.9.0 a 0.13.0 y elementos de revisión en 0.14.0 y posteriores). También puedes usar esto en tus condiciones para una notificación.

Quizás mi situación específica simplemente justifica esto. Solo he tenido dificultades para entender la relevancia de esta información; parece ser exactamente lo que se esperaría al "enmascarar" un área de CUALQUIER imagen.

Puede que ese sea el caso para ti. SecureVu definitivamente trabajará más duro rastreando personas en la acera para asegurarse de no perder a nadie que ponga un pie en tu porche. La desventaja con la forma en que lo tienes ahora es un reconocimiento más lento de los objetos y posibles omisiones. Eso puede ser aceptable según tus necesidades. Además, si tu resolución es lo suficientemente baja en el flujo de detección, tus regiones ya pueden ser tan grandes que capturan el objeto completo de todos modos.