Nosotros

Condiciones Generales

Política de Privacidad

Política de Cookies

Limitación responsabilidad

Preguntas Frecuentes

Contacto

IA Video: Cómo funciona
16118
page-template-default,page,page-id-16118,theme-bridge,bridge-core-3.0.8,qi-blocks-1.2.6,qodef-gutenberg--no-touch,woocommerce-no-js,qode-page-transition-enabled,ajax_fade,page_not_loaded,,side_area_uncovered_from_content,columns-4,qode-theme-ver-29.5,qode-theme-bridge,qode_header_in_grid,wpb-js-composer js-comp-ver-6.10.0,vc_responsive
 

IA Video: Cómo funciona

La Inteligencia Artificial (IA en castellano e AI en inglés) todavía es un puro proceso computacional en el que un programa informático ejecuta operaciones comparables a las que realiza la mente humana, como el aprendizaje, el razonamiento o la percepción. Para lo que se necesita crear modelos digitales (ceros y unos) en uno proceso de prueba y error sobre infinidad de patrones que introduces (ML- Machine Learning) hasta que el modelo tiene un grado de error razonablemente bajo para utilizarlo. En el caso de FELWY esos modelos se han creado, de momento, para poder detectar personas, mascotas y mucho más a partir de las imágenes de video. Aquí verás que utilizamos Frigate, un programa de código abierto que se apoya en infinidad de modelos creados por una comunidad abierta de desarrolladores.

Tus cámaras WiFi funcionando 24h

Transmisión local de streaming RTSP

Tus cámaras están 24/7 conectadas y retransmitiendo imágenes a través de la red WiFi (generalmente) o vía Ethernet (menos habitual) a tu FELWY Home Unit (FHU) dentro de tu hogar que actúa como el cerebro del sistema (+ info ) para que las analice.

Análisis inicial de imágenes

Ojos listos y vigilantes para ver movimientos

Los distintos streamings de video de cada cámara llegan, en local y sin salir de nuestro sistema doméstico, a nuestra FHU( + info ) que a través de Frigate, la solución de código abierto que utilizamos para tratar las imágenes ( + info ), analiza el movimiento de cada fotograma enviado. Esto no es Inteligencia Artificial, sino simple comparación fotograma a fotograma para identificar cambios de color/tono en los píxeles suficientemente significativos. Como se ve en el ejemplo de abajo, determina, en rojo, las zonas en las que identifica movimiento y, en verde, determina un área de interés a analizar en mayor profundidad. Este es un proceso lógico para ahorro de recursos de computación de Inteligencia Artificial, que como veremos en el siguiente punto, es la que requiere, de lejos, más recursos.

La IA comienza a procesar

Procesamiento de detección de personas, mascotas y más

Esta es la parte de pura Inteligencia Artificial. Una vez detectado simple movimiento, Frigate envía cada una esas regiones marcadas en verde en las que sabe que hay movimientos a analizar a los llamados detectores (Procesador CPU/GPU en la FHU 1st edition y TPU/Coral en la FHU 1st Edition Plus – + info sobre diferencias/capacidades ) que son los que las comprueban con los algoritmos generados para cada modelo según cada tipo de detección solicitada (personas, perros, gatos y todo aquello que podamos imaginar). Como comentábamos, FELWY utiliza modelos generados por la comunidad y que están en constante proceso de mejora. Frigate se apoya en TensorFlow ( + info ) que es una maravillosa plataforma de ML (Machine Learning) de código abierto para facilitar la creación y compartición de modelos de IA de todo tipo. La computación requerida para este proceso es elevada y depende, lógicamente, del número de órdenes de trabajo (detecciones) solicitadas a los detectores. En concreto, de los fotogramas por segundo, del streaming de detección, de la resolución de la imagen, del número de objetos a detectar, de la cantidad de tiempo en la que haya movimiento y, por lo tanto, necesidad de detección. Es por ello que proponemos una configuración del servicio FELWY optimizada de Frigate para cada situación y FHU ( + info ). En la imagen, y siguiendo con el ejemplo, vemos el resultado que nos dan los algoritmos de las tres detecciones solicitadas (personas, perros y gatos). Una detección correcta de una persona y de un perro ( nuestra Jackie ) con la probabilidad de acierto que reporta el algoritmo teniendo en cuenta las circunstancias de cada fotograma.

Porcentaje de error

La IA no es perfecta, pero cada vez más

La Inteligencia Artificial en realidad no es inteligencia sino computación sobre modelos  pre entrenados que crean un algoritmo sobre el que la computadora remite inputs y recibe outputs en forma de probabilidad sobre el mismo. En nuestros ejemplos , el modelo de detección de personas y perros ha requerido inyectar miles de fotos de cada uno de ellos en un proceso de prueba y error en herramientas de ML (Machine Learning) en el que el ser humano es clave para asegurar ese entrenamiento y mejorar el modelo que se irá haciendo más y más fiables. En nuestro caso daba un 73% para la persona y un 71% al perro. También observareis que la persona sentada y de espaldas es menos evidente de detectar para un algoritmo que el perro que esta de cuerpo entero y que, por contra, el indice de probabilidad es muy similar. Esto se produce por dos principales motivos. El primero, porque e modelo de personas está mucho más afinado y, segundo, porque la identificación del perro es mucho más compleja por similitud con otros animales para empezar (gatos, zorros y muchos otros modelizados). La realidad es que sin gatos en la casa del ejemplo, muy ocasionalmente que identifica al perro con un gato. Y muy remotamente incluso con una persona. Que sirva de limitación de responsabilidad. Pero es algo muy extraño y, sobre todo, limitado a algún fotograma del video ya que rápidamente sobre la misma escena corrige al correcto.

Por eso es muy importante definir a partir de qué probabilidad lo considero un positivo para ejecutar una acción y que, como se explica en la parte de configuración fina de Frigate, las máscaras de zona y movimiento para, principalmente en cámaras de exterior, evitar los falso positivos. En FELWY diferenciamos, además, entre el porcentaje requerido para reconocer un positivo para cuando el sistema está armado (vigilancia) o desarmado (grabación de mascotas principalmente). Y también la exigencia cambia para cuando, estando el sistema armado conecta con los usuarios principales y, cuando estos no lo atiendes, el nivel de exigencia para comenzar el proceso de comunicaciones FELWY a los supervisores de emergencia. Nos parece lógico que la exigencia para estos caso sea mayor. Aunque es algo que conforme el usuario va mejorando su configuración para evitar falsos positivos, puede modificar igualmente.

Finalmente, y como anécdota, nuestra configuración inicial incluye, sólo para cuando el sistema está armado y para las cámaras exteriores, la detección de paraguas. Algo que, dentro de la enorme lista de modelos de detección disponibles en Frigate ( ver ), nos parecía lógico para días de lluvia (o no) en el que el malo entra con uno abierto y que pueda dificultar la detección como persona. Aunque es raro porque la realidad es que con ver una parte del cuerpo ya suele reconocer a las personas.

 

Abajo ejemplos de un falso positivo a un gato (perro) y cómo sólo mostrando unos dedos, identifica a una persona con alta probabilidad

Sobrecarga de imágenes

Factores determinantes para el esfuerzo computacional

Como comentábamos arriba, la detección de personas y objetos requiere una relevante capacidad de procesamiento. Por ello, es muy importante hacer una correcta configuración de los distintos factores que afectan a la carga de procesamiento necesaria para el uso requerido. A continuación indicamos cuáles son estos factores y, si es el caso, cuál es la configuración que hemos incluido por defecto y porqué en las FHUs:

  1. Número de objetos a detectar: Lógicamente sobre un mismo fotograma, se necesita más capacidad de procesamiento si pedimos detectar, personas, perros, gatos y paraguas, que si sólo requerimos detectar personas. FELWY está configurado por defecto para detectar personas sólo cuando el sistema está armado y perros y/o gatos, cuando el sistema está desarmado. Es una forma de proteger la privacidad de las personas y evitar consumo de CPU no relevante.

  2. Movimiento y tiempo: Lógicamente cuando el sistema está desarmado, entendemos que el movimiento será prácticamente inexistente excepto en el momento en el que existe una intrusión. Por esa razón en el modo armado, que es la naturaleza de un servicio de seguridad, podemos ser muy exigentes con la configuración de detección. En cambio, en modo desarmado, la probabilidad de movimiento es mucho mayor y tendremos que ser más severos con la configuración como veremos en el siguiente puntos. Si en ese momento nuestro perro y/o gato se mueve de una habitación a otra pero en general está tranquilo el consumo es muy inferior a si perro y gato están persiguiéndose sin parar.

  3. Fotogramas por segundo (FPS): Lógicamente cuanta mayor sean los fotogramas por segundo del stream de video, mayor será el esfuerzo de CPU. Por este motivo, en el modo desarmado, en el que la detección está más relacionada a grabar situaciones específicas que a vigilancia en sí, configuramos FELWY a un fotograma por segundo. Por el contrario, en modo desarmado, pasamos a 5 fotogramas por segundo el stream ya que, ahí sí que pasamos a modo vigilancia, y la velocidad es relevante.

  4. Resolución de video: Igualmente a mayor resolución de video, mayor necesidad de CPU. Y, como para un servicio de seguridad y vigilancia no se requiere tener mucho detalle sino deectar correctamente, preconfiguramos el sistema para una resolución de tan solo y de 1280×720 (HD) para las cámaras de exterior que pueden necesitar más detalle para x360 detectar persona a cierta distancia. Las cámaras tienen más capacidad pero no tiene sentido en nuestra opinión mayor exigencia

  5. Número de cámaras: Lógicamente a mayor número de cámaras, mayor necesidad de procesamiento. De manera general, la FHU 1st edition puede procesar entre 3 y 5 cámaras y la FHU 1st edition PLUS entre 6 y 10 cámaras según la intensidad de los factores de arriba

Futuro de la IA

Futuras aplicaciones FELWY con IA

Estos desarrollos de detección no son más que el principio. Es obvio que se irán mejorando pero, además, estamos empezando a ver aplicaciones sobre IA de audio que puede ser muy interesante también. En definitiva, utilizar las cámaras no sólo como ojos inteligentes, sino como oídos igualmente inteligentes. Ejemplos claros pueden ser detección de rotura de cristales, sirenas, disparos, discusiones agresivas, gritos de dolor, etc. De momento no hemos encontrado ningún modelo que realmente funcione sin generar muchas falsos positivos, pero creemos que es cuestión de poco tiempo que vayamos integrando nuevas aplicaciones en este sentido en FELWY. También estamos probando cómo aplicar el reconocimiento de caras. Aunque se nos da un dilema con nuestra máxima de protección de la privacidad y con la utilidad real de la misma. No sabremos si algún día lo utilizaremos de alguna manera que proteja la privacidad mientras cree verdadera utilidad, pero es una posibilidad. Quizás para armados/desarmados automáticos. Pero no es una opción de momento.

Y, un poco más adelante, vemos el futuro de la IA en la capacidad de creación de modelos fiables capaces de recuperar los outputs generados e interpretarlos en nuevo modelo de carácter interpretativo. Eso nos llevaría a poder identificar conductas violentas o sospechosas de personas o animales o incluyo a detectar fuego, humo, inundaciones, etc a través de las cámaras que hoy en día, con los modelos de código abierto que utilizamos, no es posible. Esto, bien utilizado, creemos que algún día dejarán obsoletos las funciones de armado/desarmado de una casa porque los sensores y cámaras podrán determinar con mucha seguridad situaciones que requieran una alerta 24/7. Sin necesidad de armar/desarmar. Un modelo que lo único que ofrece hoy, es evitar infinidad de falsas alarmas que habría en el modo desarmado.