Las cámaras inteligentes y sus aplicaciones

Resumen
En este artículo se describe brevemente el funcionamiento de las cámaras inteligentes, algoritmos y tecnologías utilizadas, algunas de sus posibles aplicaciones y finalmente el futuro de las cámaras inteligentes y su impacto en nuestra sociedad.
Palabras Claves: Cámaras Inteligentes, OCR, Sistemas de supervisión y vigilancia, algoritmos de detección de contornos
Abstract
In this article, the operation, algorithms and technologies used in Smart Cameras are explained in a brief manner, as well as some of their possible applications and finally the future of the Smart Cameras and their impact in our society.
Key words: Smart Cameras, OCR, security and surveillance systems, algorithms of detection of contours
Introducción
Las cámaras inteligentes son una tecnología que integra una cámara de vídeo que controla saturación, contraste y enfoque por medio de un semiconductor de metal oxido complementario (CMOS) con el poder computacional de una computadora personal PC. El elemento sensor de la computadora es el dispositivo CCD (Charge Coupled Device). Sin embargo, la mejor definición de cámara inteligente depende frecuentemente del contexto de la aplicación específica.
La solución de cámaras inteligentes incluye un sensor, un procesador digital de señales (DSP) para la conversión analógica digital, memoria RAM para el almacenamiento de imágenes y manipulación, memoria en dispositivos de almacenamiento para el software operacional y almacenamiento de algoritmos. [1]
Las cámaras inteligentes son el primer paso hacia dispositivos independientes que no solamente ven partes del ambiente sino que además pueden interpretar lo que ven. Pueden localizar objetos con precisión aunque los mismos se muevan dentro de una línea de producción y continúan funcionando precisamente aunque las condiciones de iluminación se modifiquen.
Sus aplicaciones potenciales se encuentran en ambientes industriales y en cualquier área donde la seguridad esté en consideración y por lo tanto son virtualmente ilimitadas. Debido a que la cámara es autocontenida costará menos manufacturarla y será mucho más fácil de instalar que cualquier otro sistema actual.
Aplicaciones
En las líneas de producción, la necesidad de cámaras inteligentes está creciendo por una variedad de razones. En la manufactura, la tolerancia disminuye mientras que los productos y sus componentes disminuyen de tamaño. Al mismo tiempo, los fabricantes demandan menor cantidad de errores y la nano-manufactura está en el horizonte.
Mejores que cualquier ojo humano, las cámaras inteligentes en una línea de producción pueden verificar muchas y distintas características simultáneamente, con una precisión para localizar los objetos de 0.02 pixeles, lo que resulta de tres a cinco veces más preciso que la mayoría de las máquinas de visión en el mercado[2].
El sistema de inspección «Can Scan» de la Universidad de York [3], permite verificar el correcto empaquetado de productos. La fig. 1. Muestra el sistema.
fig.1. Sistema «Can-Scan»
Este sistema de inspección usa la técnica de triangulación para determinar el alto, ancho y composición de los productos de un paquete transparente.
Una línea láser roja Clase II, es proyectada oblícuamente sobre el paquete. Una cámara inteligente observa el haz por encima del producto. El desplazamiento lateral de la línea indica variaciones en la altura. Cuando se detecta un paquete defectuoso o un ítem faltante se envía una señal al mecanismo de rechazo. fig. 2.
a. Bien empacado
b. Mal Empacado
fig.2. Paquetes vistos por la cámara inteligente
Algunas características importantes del sistema son: la velocidad de la cinta transportadora puede ser hasta de 30 metros/minuto, con un espaciamiento mínimo de un paquete. Puede utilizarse en latas aerosoles, botellas, barras de chocolate y cualquier otro empaquetado transparente.
La unidad puede ser entrenada por el operador de línea sin necesidad de personal especializado, sobre la base de paquetes modelo, por lo cual todos los paquetes colocados son verificados contra el estándar.
El sistema es tolerante a variaciones del color del producto, velocidad de la cinta transportadora, desplazamiento lateral y variaciones de la iluminación ambiental.
Las cámaras inteligentes tendrán aplicaciones en la industria automotriz, donde se demandan calidades extremadamente altas de fabricación, típicamente de cinco partes fallidas por millón. Con este tipo de demanda no se puede confiar en los métodos de inspección estadística tradicionales. Cada una de las partes tiene que inspeccionarse a fondo. Esto coloca a esta tecnología en un lugar muy importante, porque son capaces de evaluar componentes a una tasa de hasta diez partes por segundo. [2]
OCR
Las cámaras inteligentes también funcionan como dispositivos OCR (reconocimiento óptico de caracteres) Esta tecnología es usada en aplicaciones como la inspección de las unidades de pantallas de teléfonos móviles, verificación de la información de etiquetas de partes de máquinas, lectura de las direcciones en los sobres de correo y reconocimiento de las placas de los automóviles. La ventaja del uso de las técnicas de inteligencia artificial, como las redes neuronales, es que serán capaces de leer etiquetas impresas, aprendiendo de unos pocos ejemplos. No se requerirá de programación adicional. [2]
Seguridad y Vigilancia
El mercado de la seguridad y la vigilancia es dominado por los sistemas de circuito cerrado de televisión CCTV un área que podría ser considerada como ideal para la introducción de cámaras inteligentes. En esta aplicación el dispositivo puede ser usado para detectar intrusos o situaciones poco usuales.
A diferencia de los sistemas convencionales que registran todo lo que está ocurriendo o dependen de un vigilante que debe programar el sistema, estos sistemas ven por sí mismos. Como sus contrapartes en las líneas de producción, estos dispositivos visuales contienen toda la inteligencia necesaria detrás de los lentes. Programados para enviar sus imágenes al personal de emergencia solamente en el caso de un accidente serio, como una persona tirada en el suelo inanimada, tales cámaras serán siempre vigilantes silenciosos.
Las áreas públicas y en particular las estaciones de subterráneos ofrecen una importante área de aplicación para la tecnología de cámaras inteligentes. La Siemens Corporate Research (SCR) en conjunto con Siemens Sistema de Transporte y Siemens Información y Comunicaciones ha desarrollado un sistema de vídeo análisis, donde es posible detectar aglomeraciones, lo que permite mejorar la seguridad y protección. Adicionalmente permitiría programar dinámicamente los horarios de trenes y autobuses. [2]
A medida que las cámaras disminuyan de tamaño, serán menos susceptibles al vandalismo y podrán ser incorporadas a las estructuras arquitectónicas. Las cámaras inteligentes podrán ser entrenadas para detectar eventos anómalos, por ejemplo, el Auto-Cameran de SCR se coloca en los techos para detectar y seguir personas. En un futuro estos y otros modelos podrían ser actualizados en la misma manera en que una computadora en línea es actualizada en una intranet, lo que les permitiría reconocer nuevas situaciones [2].
Hasta los automóviles podrían estar dotados de cámaras miniatura, que alertarían al conductor sobre vehículos desacelerando rápidamente. También se podrían colocar en los espejos retrovisores y laterales, eliminando los «puntos ciegos» y en el caso de un evento o accidente grabar los segundos antes de la colisión.
Educación
Las cámaras inteligentes pueden colaborar con la educación. Al estar conectadas a las computadoras personales, permitirían a los programas conocer el estado de ánimo del estudiante, si se encuentra motivado o si no está comprendiendo lo que se le instruye. Por lo cual el programa sería capaz de cambiar el ritmo con que se está aprendiendo o si es necesario, motivar y reestructurar el estudio. [4]
Algoritmos
Los algoritmos utilizados en cada una de las aplicaciones varían así como las aplicaciones de las cámaras inteligentes. [5]
Lo primero que realiza la cámara es aprender. Por ejemplo tome un bolígrafo y colóquelo dentro del campo de visión de la cámara y enseguida el software registrará todas las características principales gracias al uso del detector de borde dominante del bolígrafo para una localización precisa del mismo en la línea de producción.
Las cámaras serán capaces de interpretar bordes curvados, poco definidos o punteados. En muchos casos de automatización industrial, los bordes son tan poco definidos que hasta el mismo ojo humano no puede distinguirlos claramente, pero esto sistemas si pueden.
(a)
(b)
Fig. 3. Fotografía de una engrapadora. (b) Bordes calculados a partir de (a)
En la fig. 3 se muestra la imagen de una escena que contiene una engrapadora sobre una mesa, así como los bordes detectados en esta imagen. Los bordes son las curvas del plano de imágenes en los que se presenta un cambio «importante» en la brillantez de la imagen. El objetivo final de la detección de bordes es lograr la construcción de un dibujo de línea idealizado, como el de la fig.4.
fig.4. Distintos tipos de borde: (1) discontinuidad de profundidad; (2) discontinuidad en la orientación de la superficie; (3) discontinuidad en la reflectancia; (4) discontinuidad en la iluminación (sombras)
La idea es que los contornos de los bordes de la imagen correspondan a importantes contornos de la escena. En el ejemplo, hay discontinuidades de profundidad señaladas como «1»; hay discontinuidades en la orientación de la superficie, señaladas como «2»; discontinuidad en la reflectancia, señalada como «3»; y una discontinuidad de la iluminación (sombra) señalada como «4».
¿Cómo detectar los bordes de la imagen? Considere el perfil de la brillantez de la imagen a lo largo de una sección transversal unidimensional perpendicular a uno de los bordes, por ejemplo, el que está entre el borde izquierdo de la mesa y el muro. Es algo semejante a lo que se muestra en la fig.5(a).
fig.5. (a) Perfil de intensidad I(x) a través de una sección I-D cubriendo un borde de paso. (b) Su derivada I’(x). (c) El resultado de la convolución R(x)=I*G’(x)
La ubicación del borde es x=50. Como los bordes corresponden a las partes de las imágenes en donde la brillantez experimenta un cambio brusco, surge la idea de diferenciar la imagen y localizar aquellos sitios en los que la magnitud de la derivada I’(x) sea grande. Bueno, la idea casi llega a funcionar. En la fig.5(b) podemos ver que si bien existe un pico en x=50, también hay otros picos subsidiarios en otras ubicaciones (por ejemplo, x=75) que podrían ser confundidos, y considerados como bordes auténticos. Lo anterior es consecuencia de la presencia de ruido en la imagen. Para obtener mejores resultados hay que combinar la operación de diferenciación con la de alisamiento. Obtenemos como resultado lo que aparece en la fig. 5(c), en donde se conserva el pico central que está en x=50, en tanto que los picos subsidiarios están bastante reducidos. Lo anterior facilita localizar los bordes y evita que el ruido provoque confusión.
Para entender mejor las ideas anteriores es necesario utilizar el concepto matemático de convolución. Muchas operaciones que sirven para procesar imágenes, como el alisamiento y la diferenciación, son llevadas a cabo haciendo una convolución de la imagen con funciones adecuadas.
Convolución usando filtros lineales
La función que resulta de la convolución de dos funciones, f y g, es la nueva función h, representada como h=f*g, y que es definida como:
Para dominios continuos y discretos, respectivamente. Por lo general, las funciones f y g tienen valores distintos de cero sólo dentro de un intervalo finito, lo que facilita realizar la sumatoria por computadora. La generalización de lo anterior a funciones definidas en dos dimensiones (como es el caso de las imágenes) es la siguiente:
Detección de bordes
Volvamos al ejemplo unidimensional de la fig.5. Es necesario precisar el concepto de alisamiento de imagen. Una manera normal de llevar a cabo el alisamiento consiste en convolucionar la imagen utilizando una función Gaussiana:
Ahora podemos mostrar que para toda función f y g, f*g’=(f*g)’ por lo que la convolución que utiliza una función Gaussiana G(x) y luego diferenciarla equivale a convolucionar la imagen utilizando G’(x), es decir, la primera derivada de una función Gaussiana:
Por lo tanto, el algoritmo para detectar un borde unidimensional es muy sencillo:
1. Convolucionar la imagen I, utilizando G’(x) para obtener R.
2. Determinar el valor absoluto de R.
3. Marcar los picos de abs(R) cuyo valor rebasa un límite fijado, Tn. El propósito de establecer un límite es para eliminar los picos falsos producidos por el ruido.
En el caso de dos dimensiones, hay que tomar en cuenta que el borde puede estar en cualquier ángulo w. Para detectar bordes verticales: convolucionar utilizando G’(x)G(y). En la dirección y, el efecto es sólo de alisamiento (debido a la convolución Gaussiana) y en la dirección x, es de diferenciación así como de alisamiento. El algoritmo para detectar bordes verticales es el siguiente:
1. Convolucionar la imagen I(x,y), utilizando G’(x)G(y) para obtener Rv(x,y).
2. Determinar el valor absoluto de Rv(x,y).
3. Marcar los picos de abs(Rv(x,y).) que rebasan un límite fijado, Tn.
Para detectar un borde con cualquier orientación, es necesario convolucionar la imagen utilizando para ello dos filtros fv=G’(x)G(y) y fh=G´(y)G(x) que no es sino fv girada 90º. El algoritmo para detectar los bordes que tengan una orientación cualquiera es:
1. Convolucionar la imagen I(x,y), empleando fv(x,y) y fh(x,y) para obtener Rv(x,y) y Rh(x,y), respectivamente.. Se define R(x,y)= (Rv(x,y))^2+(Rh(x,y))^2.
2. Determinar el valor absoluto de R(x,y).
3. Marcar los picos de abs(R(x,y).) que rebasan un límite fijado, Tn.
Una vez marcados los pixeles del borde con ayuda de este algoritmo, el siguiente paso consiste en unir todos los pixeles que pertenezcan a las mismas curvas de borde. Para ello, se supondrá que cualquiera de los dos pixeles vecinos que también son pixeles de borde con las mismas orientaciones debería pertenecer a la misma curva de borde. Lo anterior es un procedimiento básico que se utiliza en el detector de bordes Canny (Canny, 1986), un algoritmo estándar muy empleado para detectar bordes en imágenes.
Obtención de información tridimensional por percepción visual
Para llevar a cabo ciertas acciones como son la manipulación, el desplazamiento e identificación es necesario obtener información tridimensional. Son tres los aspectos que intervienen en lo anterior:
1. Segmentación de la escena en objetos independientes.
2. Definición de la posición y orientación de cada uno de los objetos relativos al observador.
3. Definición de la forma de cada objeto
La segmentación de la imagen es un paso que conduce a la organización del grupo de pixeles de imagen que correspondan a entidades de la escena con significado semántico. Para poder identificar, necesitamos saber cuáles de las características pertenecen a un mismo grupo, y así poderlas comparar con modelos previamente almacenados. Para poder tomar un objeto primero necesitamos saber qué elementos son los que lo configuran.
La detección de bordes, es un primer paso útil para la segmentación de imágenes y escenas, aunque en sí no es del todo adecuado. Principalmente por dos razones: (a) puede suceder que una parte de las curvas del borde que corresponden a los límites de superficie no estén muy contrastadas y no pueda detectárseles; (b) muchas de las curvas de borde que se detectan podrían corresponder a ruido, marcas de superficie o sombras. La segmentación puede considerarse como parte de la obtención de información tridimensional sobre la escena.
El determinar la posición y orientación de un objeto en relación con el observador es de vital importancia para llevar a cabo actividades de manipulación y traslado.
Cuando la cámara se mueve en relación con un objeto, tanto la distancia de éste como su orientación varían. Lo único que se conserva es la forma del objeto, el concepto básico es que la forma no cambia dentro de ciertas transformaciones de grupo, por ejemplo, combinaciones de rotaciones y traslaciones. La forma de un objeto es importante para la realización de algunas actividades de manipulación, pero su empleo más importante está en la identificación de los objetos, en donde la forma geométrica así como el color y la textura constituyen los elementos más importantes para identificarlos, clasificar lo que aparece en la imagen como ejemplo de una clase vista anteriormente, etcétera.
Movimiento
Si la cámara se desplaza en relación con una escena tridimensional, el cambio aparente producido en la imagen se conoce como flujo óptico. Lo anterior describe la dirección y la velocidad de movimiento de las características de la imagen como consecuencia del movimiento relativo que se da entre observador y escena.
Visión estereoscópica binocular
La idea en este caso es bastante similar a la del paralaje por movimiento, excepto que en vez de utilizar imágenes separadas entre sí por el tiempo, se utilizan dos (o más imágenes) separadas entre sí por un espacio como sucede en los ojos humanos. Como un determinado aspecto de la escena se encuentra en un sitio diferente en relación con el eje z de cada plano de imagen, al sobreponer las dos imágenes habrá una disparidad en cuanto a la ubicación de la imagen original en las dos imágenes producidas.
Gradientes de textura
La textura en el lenguaje cotidiano es una propiedad de las superficies relacionada con las impresiones táctiles que provocan. En el caso de la percepción visual por computadora se refiere a un concepto con el que está estrechamente vinculado: un patrón repetido en el espacio sobre una superficie que puede percibirse visualmente.
Lo anterior es válido en la escena. En la imagen, el tamaño aparente, la forma, el espaciamiento, etc. de los elementos de textura (texeles) es diferente.
Con base en un poco de análisis matemático (Garding 1992) es posible calcular expresiones de la tasa de cambio de diversas características texel de la imagen, como el área, la condensación y la densidad. Estos gradientes de textura son funciones de la forma de la superficie así como de su inclinación y ladeo respecto del observador.
Para recuperar la forma a partir de la textura se emplea un procedimiento que consta de dos pasos: (a) medir los gradientes de textura, (b) evaluar la forma de la superficie, la inclinación y el ladeo que están produciendo los gradientes de textura medidos.
Sombreado
El sombreado (variación de la intensidad de la luz que se recibe en las diversas partes de una superficie de la escena) depende de la geometría de la escena, de las características de reflectancia de las superficies y de la localización e intensidad de las fuentes de luz. En el caso de las gráficas por computadora, el objetivo consiste en determinar la brillantez de una imagen I(x,y) con base a la geometría de la escena y la reflectancia. En la percepción visual por computadora se trata de invertir el proceso, es decir, recobrar la geometría de la escena y las características de reflectancia a partir de la brillantez de la imagen I(x,y). Lo anterior ha resultado extremadamente difícil, excepto en los casos más simples.
Conclusiones
El uso de cámaras inteligentes permitirá en un futuro no muy lejano fabricar productos con una muy alta calidad y considerablemente más económicos, debido a que se ahorrará tiempo y esfuerzo en el momento de realizar controles de calidad, lo que garantizará productos de muy alta calidad y menos susceptibles a fallas. Todo esto se traducirá en mejores servicios y menor coste para el usuario final.
En el mercado de la seguridad y vigilancia, el uso de las cámaras inteligentes, en áreas públicas como estaciones de subterráneos y centros comerciales permitirá una vigilancia y supervisión más efectiva en la detección de intrusos o situaciones poco usuales.
Como hemos visto a lo largo de este artículo, el futuro del área de cámaras inteligentes es prometedor, con nuevas y variadas aplicaciones que se desarrollan día a día.
* * *
Referencias
[1] www.spie.org/web/oer/september/sep98/cover.html
[2] www.siemens.de/FuI/en/zeitschrift/archiv/Heft1_99/artikel2.html
[3] www.yec.york.ac.uk/yec/canscan.htm
[4] https://imsc.usc.edu/Research/ci/smartcameras.html
[5] Inteligencia artificial. Un enfoque moderno
Stuart Russell. Peter Norvig
Prentice Hall Hispanoamericana, S.A. 1996
980pp.
[6] www.vision1.com/text-only/research.html

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *