Una Introducción a la Visión de Máquina

© 1999-2007 Luis Guillermo RESTREPO RIVAS

Los sensores proporcionan al robot información sobre su entorno, que él puede usar para guiar sus acciones. La visión es un sentido muy importante porque puede dar información de una resolución relativamente alta a distancias relativamente grandes. Se han desarrollado muchos tipos de sistemas de visión para robots, los cuales entran en uso práctico cada vez con más frecuencia.

Los sistemas de visión para máquinas comenzaron a aparecer en el decenio iniciado en 1950, asociados con aplicaciones no robóticas, como lectura de documentos, conteo de especímenes biológicos en la sangre, y reconocimiento aerofotográfico de aplicación militar. En el campo propiamente robótico el desarrolló comenzó a mediados del decenio iniciado en 1960, con el establecimiento de laboratorios de inteligencia artificial en instituciones como el MIT, la U. de Stanford y el Stanford Research Institute. Para 1980 muchas compañías estaban desarrollando sistemas de visión para robots y para otras aplicaciones industriales.

VISION BIDIMENSIONAL

El objetivo general de una máquina vidente es derivar una descripción de una escena, analizando una o mas imágenes de dicha escena. En algunas situaciones la escena misma es básicamente bidimensional. Por ejemplo si el robot trabaja con piezas planas sobre una superficie plana, o si busca perforaciones en tal superficie. La visión para situaciones bidimencionales es más fácil que para las tridimensionales, y, como era natural, los primeros trabajos sobre máquinas videntes se hicieron en esa modalidad.

El proceso de visión bidimensional

Para que un robot reconozca partes, perforaciones, etc. en una superficie, y en general objetos, Primero debe distinguir los objetos de interés del resto de la superficie. En otras palabras, debe ser capaz de "destacar" partes de la imagen que corresponden a esos objetos. Este proceso de extraer subconjuntos de una imagen que corresponden a partes relievantes de la escena se denomina SEGMENTACION.

Cuando se ha extraido un subconjunto de una imagen, generalmente es necesario medir varias propiedades geométricas de tal subconjunto (tamaño, forma, etc.) tales medidas pueden ser la base para reconocer si el subconjunto representa un objeto dado, así como para determinar la posición y orientación de tal objeto. También pueden servir de base para una posterior segmentación dentro del subconjunto; por ejemplo, si dos objetos se tocan o superponen, puede ocurrir que hayan sido extraidos como un solo subconjunto, y puede ser necesario dividir este subconjunto en dos partes basándose en criterios geométricos, por ejemplo descomponiéndolo en partes convexas. Esta etapa del proceso de visión se denomina ANALISIS GEOMETRICO. Se pueden diseñar diferentes algoritmos para Análisis Geométrico, dependiendo de la manera como estén representados los subconjuntos de imagen dentro del computador, por esto el tema de la REPRESENTACION GEOMETRICA de subconjuntos de la imagen está estrechamente relacionado con el Análisis Geométrico.

El reconocer objetos por medio del análisis de subconjuntos de una imagen puede variar mucho en dificultad, dependiendo de la comlejidad de los objetos. Si los objetos que pueden estar presentes en la escena difieren mucho entre sí, se puede usar una comparación relativamente sencilla contra patrones o plantillas; en esta situación, puede incluso ser innecesario extraer explicitamente los objetos del resto de la imagen. Más a menudo, los objetos pueden reconocerse porque cumplen un conjunto característico de valores de sus parámetros geométricos. Este método de comparación de rasgos geométricos se usó, por ejemplo en un módulo de visión desarrollado en el SRI International a mediados de los años 70. Si los objetos a reconocer son complejos, puede ser necesario descomponer en etapas el proceso de reconocimiento: Detectar primero subobjetos y reconocer sus propiedades, y luego reconocer los objetos como combinaciones de esos subobjetos en relaciones específicas. este procedimiento se conoce como el método de COMPARACION DE ESTRUCTURAS.

Segmentación

Una IMAGEN DIGITAL es una matriz de números que representan valores de iluminación en puntos regularmente espaciados de la imagen de una escena. Los elementos de más bajo nivel de tal imagen se llaman PIXELs (contracción de "Picture Element"), y sus valores se denominan NIVELES DE GRIS (el color casi no ha sido utilizado aún en los sitemas de visión robóticos). La efectividad de una técnica de Segmentación depende de las propiedades de la clase de imágenes a que se aplique.

Establecimiento de umbrales

Si el brillo de un objeto difiere significativamente del de su entorno, origina en la imagen un conjunto de pixels con Niveles de Gris muy diferentes de los Niveles de los pixels circundantes. (A menudo pueden producirse grandes diferencias de brillo entre un objeto y su entorno controlando el ángulo en que incide la luz). Los subconjuntos de imagen con esa característica pueden extraerse de la imagen estableciendo un UMBRAL para los Niveles de Gris, o sea clasificando cada pixel como "claro" u "oscuro" dependiendo de si su Nivel de Gris es inferior o superior al umbral.

Si la iluminación de la escena está bajo nuestro control, y podemos también calibrar el sensor, puede ser posible establecer un umbral permanente para segmentar correctamente escenas de determinada clase, pero, en general, será necesario determinar el umbral óptimo para cada imagen individual. Si los objetos ocupan una fracción significativa de la escena, esa determinación se puede hacer analizando el HISTOGRAMA DE LA IMAGEN, el cual es un gráfico que nos muestra la frecuencia con que ocurre en la imagen cada Nivel de Gris. Este histograma debe tener dos picos, uno que representa el Nivel de Gris predominante en el fondo, y otro el predominante en el objeto. Los Niveles intermedios deben ser relativamente infrecuentes, correspondiendo en el histograma a valles entre los picos. Evidentemente, en estos casos un buen Nivel en el cual establecer el Umbral es el más infrecuente entre los Niveles de los dos picos (o sea correspondiente al punto más bajo del valle entre picos), ya que casi todos los pixels del objeto caen a un lado de tal umbral, y casi todos los pixels del fondo caen al otro lado.

Si la iluminación de la escena no es uniforme, puede suceder que objetos intrínsecamente oscuros a un lado de la escena resulten más brillantes que un fondo intrínsecamente claro en otro lado, de tal manera que los objetos no pueden ser separados del fondo por la simple comparación con un umbral. Una manera de atacar esta situación es dividir la imagen en secciones y escoger un umbral adecuado para cada sección analizando su propio histograma. Posteriormente esos histogramas pueden ser interpolados para obtener un umbral variable que segmente convenientemente la imagen completa.

Bases de las visión en color para máquinas

Como se mecionó antes, la visión robótica a color a sido poco estudiada en general, aunque tiene un papel muy importante en aplicaciones específicas. El color en un punto de una imagen puede representarse por tres números que representen, por ejemplo, los niveles de las componentes roja, verde y azul. Entonces una Imagen Digital a Color es una matriz de tripletas de valores. Si esos niveles de los pixels se grafican como puntos de un "espacio cromático", el objeto y el fondo originan cúmulos de puntos. Tales cúmulos son análogos a los picos del histograma y la imagen se puede segmentar en regiones de diferente color parcelando el espacio cromático de tal manera que se separen los cúmulos. Este ha sido el método clásico utilizado para segmentar las imágenes obtenidas por los sensores remotos multiespectrales, pero aún no tiene utilización extensiva en visión robótica.

Detección de bordes

Los objetos pequeños no se extraen facilmente del fondo en que se ven, utilizando el método del umbral, porque los picos que producen en el histograma son demasiado pequeños para detectarlos con confiabilidad. Similarmente, si una escena contiene muchos objetos de diferentes brillos, tampoco es fácil extraerlos por el método del umbral, porque sus picos respectivos en el histograma se superponen. En tales casos se puede utilizar otros métodos para segmentación, con tal de que los objetos posean un brillo relativamente uniforme y que contrasten fuertemente con su inmediato entorno. Esto implica que la variación de nivel de gris ocurre muy gradualmente dentro de cada objeto, y rápidamente en los bordes de objetos. En tal caso los objetos se pueden extraer por Detección de Bordes, o sea detectando los pixels en los cuales la rata de cambio del Nivel de Gris respecto al espacio es alta.

El método clásico de detectar bordes en una imagen es aplicar un operador derivada isotrópico, tal como el Gradiente. Tal operador dará valores altos en los bordes, sin importar sus orientaciones. Para este fin se han utilizado muchas aproximaciones discretas al gradiente, como el operdor cruzado de Roberts, y el operador de Sobel usado en los primeros sistemas de visión de Stanford.

Otros métodos básicos de detección de bordes incluyen la comparación de la vecindad de cada pixel con patrones o plantillas de Funciones Paso en diferentes orientaciones; si se detecta un buen ajuste, es muy probable que haya un borde en esa orientación. Otro método consiste en ajustar una superficie polinomial a los Niveles de Gris en la vecindad de cada pixel; si el gradiente de la superficie ajustada es alto, es probable que haya un borde.

Análisis de textura

Si un objeto no presenta un brillo uniforme, sino que muestra cierta "trama", ni el umbral ni la detección de bordes son útiles para extraerlo, ya que sus pixels no poseen Niveles de Gris en un rango estrecho y presenta muchos "bordes" internos. No obstante, tal objeto puede ser distinguible de su vecindad basándonos en su trama o patrón característico de Niveles de Gris o TEXTURA VISUAL.

Las Texturas Visuales se pueden caracterizar por conjuntos de propiedades locales de sus pixels, o sea por el hecho de que en una región texturada, tienden a presentarse ciertos patrones locales de Niveles de Gris en la vecindad de cada pixel. Cada pixel puede caracterizarse por un conjunto de números calculando para él un conjunto de propiedades relacionadas con la textura, para segmentar la imagen en regiones de texturas diferentes. Este procedimiento tiene cierta analogía al tratamiento de imágenes a color que se mencionó antes, pero como las propiedades texturales tienden a ser más variables que los colores, debe obtenerse primero cierto promedio local para hacer más compactos los cúmulos correspondientes a cada región. Similarmente, calculando los valores promedios de las propiedades locales y tomando luego diferencias de esos promedios se puede calcular un "gradiente de textura" en cada pixel y usarlo para detectar bordes entre regiones de diferentes texturas.

Un método potente para caracterizar texturas consiste en realizar varios tipos de operaciones de adelgazamiento y expansión de regiones y analizar sus resultados; por ejemplo, las tramas visuales delgadas desaparecen al aplicar un poco de adelgazamiento, mientras las tramas con espaciamientos pequeños se funden al aplicar un poco de expansión. Este método de análisis de imagen ha sido usado en gran variedad de aplicaciones durante unos 20 años.

Acreción de regiones

Los métodos de segemtación discutidos hasta ahora tratan cada pixel o su vecindad independientemente; no les concierne si los pixels resultantes constituyen una región conectada o si los segmentos de bordes resultantes constituyen una frontera suave de alto contraste. Se pueden obtener regiones o bordes de mejor calidad condicionando los resultados a que sean localmente consistentes, o sea que las regiones estén conectadas o que los bordes se encadenen suavemente. Para asegurar continuidad se puede utilizar métodos de seguimiento secuencial de los bordes, o acreción de regiones. Un método más poderoso, pero computacionalmente más costoso es buscar consistencia global por partes, o sea buscar regiones que sean óptimas con respecto a la consistencia o suavidad del Nivel de Gris, o bordes que sean óptimos respecto a contraste y a suavidad de la dirección. Un método útil para hallar regiones globalmente consistentes, es un proceso de "dividir y unir", en el cual las regiones se dividen si son inconsistentes, y se unen pares de regiones adyacentes si su unión es consistente.

Análisis Geométrico

Una vez que en una imagen se ha segmentado una región , esta se puede representar por una imagen binaria, en la cual los pixels que pertenecen a la region tienen valor 1, y los del fondo tienen valor 0. De esta imagen binaria se pueden calcular varias propiedades geométricas de la región. Este proceso se denomina a veces como VISION BINARIA.

Conectividad y bordes

Si una escena contiene varios objetos sobre un fondo, la segmentación de su imagen dá el conjunto de pixels pertenecientes a todos los objetos; la segmentación no ha distinguido los objetos entre si. Para trabajar con cada objeto es necesario "etiquetar" o marcar los pixels de los objetos, de tal manera que los que pertenecen a un mismo objeto tengan la misma marca, y viceversa. Este proceso se denomina MARCACION DE COMPONENTES CONECTADOS, y asigna una marca distintiva única a cada conjunto de pixels que están interconectados. El hecho de estar mutuamente conectados es el principio básico del proceso de contar objetos (o sea regiones internamente conectadas) en una imagen.

El borde de una región es el conjunto de pixels adyacentes a pixels no pertenecientes a la región. Tales pixels de frontera caen en un conjunto de curvas, correspondiendo una de ellas al borde externo de la región, y los demás a agujeros, si los hay. Para marcar esos bordes individualmente se puede utilizar un método de Seguimiento de Bordes, que comienza en un pixel del borde y visita sucesivamente todos los pixels que pertenecen al mismo borde, hasta retornar al pixel inicial.

Propiedades de tamaño y forma

El área de una región se puede medir aproximadamente en función del número de sus pixels, o sea el número de pixels que tienen una marca particular. A su vez, el perímetro es función del número de pixels del borde externo, o (para un borde específico) el número de movimientos necesarios para dar la vuelta por el borde pixel por pixel. Un parámetro geométrico usado frecuentemente y que mide lo compacto de una región es: C= Area/(perímetro)2. La elongación de una región se puede definir usando un proceso de adelgazamiento y medición de área; una región es elongada si aunque tenga gran área desaparece al aplicarle un ligero adelgazamiento. Las medidas de distancia son otra fuente de información útil sobre las formas.

Muchas propiedades formales de una región se pueden derivar midiendo la curvatura (o sea la tasa de cambio de dirección) de su borde externo. Son concavidades las partes del borde con curvatura negativa, o sea quellas donde la dirección cambia el el sentido opuesto a las agujas del reloj cuando el borde se sigue en el sentido de dichas agujas. Las esquinas son puntos del borde donde la curvatura pose un valor absoluto muy alto. Tales propiedades formales son útiles para segmentar una región en caso de ser necesario, por ejemplo cuando dos objetos de la escena se tocan o se superponen parcialmente.

Representaciones geométricas

Una región no tiene que ser representada por el conjunto de unos en su imagen binaria, se pueden usar otras representaciones más compactas si la forma de la región es simple. Las siguientes son algunas de las más conocidas:

Código de Longitud de Secuencia: Cada fila de la imagen binaria consiste en secuencias de unos alternadas con secuencias de ceros. Así que una fila se determina completamente con especificar el valor inicial 0 o 1 y las longitudes de las cadenas. La mayoría de las propiedades geométricas de una región pueden medirse directamente de su código de Longitud de Secuencias. Este método de codificar una imagen ha sido muy utilizado en compresión de datos.

Código de Encadenamiento: La secuencia de movimientos hechos al seguir un borde, junto con las coordenadas del punto de arranque, determinan completamente dicho borde; esta secuencia de movimientos se denomina el código de encadenamiento del borde. Una región queda determinada al especificar sus bordes de este modo, y muchas propiedades de la región se pueden calcular directamente a partir de esta codificación de los bordes. El mismo proceso se puede utilizar para codificar y procesar curvas digitalizadas.

Arbol Tetrafurcado ("Quadtree"): Cualquier región es la unión de los bloques máximos de pixels (ej: cuadrados) que están contenidos en la región; así que la región queda determinada al especificar la lista de centros y tamaños de esos bloques (cuadrados). Tal representación es muy compacta pero algo dificil de trabajar puesto que es una lista no ordenada. Una representación menos compacta pero más tratable es la denominada Arbol Tetrafurcado ("quadtree") que se obtiene al subdividir recursivamente la imagen binaria en cuadrantes, deteniendose la subdivisión de un bloque cuando todos sus pixels son iguales. El proceso de subdivisión recursiva define una estructura de árbol que se va ramificando en de a cuatro ramas; el árbol facilita el procesamiento para calculos geométricos.

Otras Representaciones: También son útiles varios métodos para aproximar la forma de una región. La frontera de una región puede ser aproximada por un polígono. Una región similar a una cinta posee un eje medio en el cual los centros de los cuadrados máximos caen aproximadamente a lo largo de una curva (el esqueleto de la cinta); entonces la región se puede aproximar especificando esa curva junto con una función de amplitud que especifica cómo varían los tamaños de los cuadrados al movernos sobre la curva. Las aproximaciones poligonales sucesivas a una curva se pueden organizar en una estructura de árbol, en la cual un nodo representa el lado de un polígono que aproxima un arco dado de la curva y los hijos de ese nodo representan los lados de un polígono refinado que aproximan subarcos del arco.

Reconocimiento en escenas bidimensionales.

En los ambientes de trabajo en que nos podemos limitar a dos dimensiones, asumimos que los objetos a reconocer son relativamente planos y que yacen sobre una superficie.

Ajuste a plantilla y transformada de Hough

Si la forma del objeto deseado se conoce de antemano con precisión, este es posible que se reconozca por medio de un proceso de comparación contra patrones o plantillas. Un método primitivo sería comparar la plantilla contra la imagen, pixel por pixel, en todas las posiciones y orientaciones bidimensionales posibles. La comparación se puede basar en diferencias a nivel de pixel, o calculando alguna función de correlación. Este es un método computacionalmente costoso que se usa sólo para detectar partes pequeñas de objetos, tales como bordes rectos o esquinas, usando plantillas que constan de pocos pixels. Si de este modo podemos detectar un conjunto de rasgos distintivos del objeto, luego se pueden buscar combinaciones de esos rasgos en posiciones relativas adecuadas para determinar el objeto en sí.

Un método menos costoso computacionalmente, conocido como la transformada de Hough, se puede utilizar para objetos que aunque son extensos, contienen relativamente pocos pixels, por ejemplo una curva delgada, o el borde de un objeto. La idea básica es mapear esos pixels hacia un espacio transformado definido de tal manera que los pixels pertenecientes a la curva o borde de interés se proyecten sobre un mismo punto en ese espacio. Si en la imagen hay presentes muchos pixels que pertenecen todos a la misma curva, ellos darán origen a un pico en el espacio de Hough.

Ajuste a características

Si los objetos que se espera encontrar en la escena son suficientemente diferentes entre sí, a menudo es posible distinguirlos midiendo los valores de un conjunto de propiedades, sin requerir una confrontación contra plantillas. Las propiedades usadas pueden ser las de índole geométrica mencionadas antes, o también relacionadas con el color o la textura. Para cada región candidata en la imagen se le mide el conjunto de propiedades y se compara con los valores ideales que caracterizan a los varios tipos de objetos. Se ha reconocido que una región R es un objeto X cuando las medidas para R coinciden aproximadamente con los valores típicos de X.

Reconocimiento Estructural

Si los objetos son relativamente complejos puede no ser posible distinguirlos entre sí con base en conjuntos de valores de ciertas características, ya que los rangos de valores que caracterizan diferentes objetos pueden no ser suficientemente distintos. En tal caso se puede intentar un método estructural. Se extraen de la imagen partes de los objetos y se caracterizan por valores de parámetros. Luego se hallan combinaciones de esas partes, en relaciones determinadas, las cuales representan partes más complejas u objetos completos. Este proceso se puede repetir en varias etapas, si fuere necesario, hasta que se identifican los objetos deseados. Este método se conoce como RECONOCIMIENTO ESTRUCTURAL, o RECONOCIMIENTO SINTACTICO ya que tiene analogía con el análisis sintáctico del lenguaje.

VISION TRIDIMENSIONAL

La visión es mucho más compleja si requerimos tratarla tridimensionalmente, por ejemplo si el robot debe trabajar con una pila de objetos, o tiene que determinar la orientación de un objeto en el espacio. En tales escenas las superficies de los objetos pueden tener orientaciones variables y, por ejemplo, un objeto uniformemente reflectante puede no aparecer con brillo uniforme.

También es dificil obtener información uniforme; las sombras son inevitables. Si se pueden calcular los efectos de la iluminación y de la orientación de las superficies, se puede corregir la información de brillo de la imagen, de manera que esta presente la reflectividad intrínseca de las superficies para luego segmentar la imagen en regiones que correspondan a superficies uniformemente reflectivas. Además, si se conoce la orientación de una superficie en todos los puntos, se puede segmentar la imagen en regiones dentro de las cuales no hay cambios abruptos en la orientación y que entonces probablemente pertenecen a las superficies de un mismo objeto. Pero aún si se logra un segmentación correcta, el reconocimiento del objeto tridimensional aún es difícil porque tal objeto puede originar en la imagen regiones de formas (bidimensionales) muy variadas según su orientación. Además, sólo vemos un lado del objeto desde un punto de vista dado, y los objetos pueden ocultarse parcialmente entre sí, lo cual significa que el reconocimiento se debe basar en datos incompletos.

La investigación a fondo de la visión tridimensional artificial comenzó a mediados de los 60 en los principales laboratorios de inteligencia artificial. Se desarrollaron muchas técnicas para recuperar información sobre la orientación y las formas tridimensionales de las superficies visibles en una escena. Los método utilizados incluyen medición de la distancia, mapeado estéreo, y la inferencia sobre la forma de la superficie a partir de indicios presentes en una sóla imagen. Adicionalmente, se desarrollaron métodos para la información morfológica tridimensional y se realizó un trabajo básico sobre el reconocimiento de objetos tridimensionales parcialmente visibles y con orientación desconocida.

Las técnicas de visión tridimensional tienden a ser computacionalmente costosas, y pocas han sido aplicadas fuera de ambientes experimentales.

Recuperacón de forma superficial a partir de una sola imagen

El nivel de gris de un pixel en una imagen digital representa la cantidad de luz recibida por el sensor desde una dirección dada, o sea el brillo aparente de un punto P dado en la superficie de algún objeto en la escena. Ese valor de brillo es el resultante de, al menos, tres factores: Nivel de iluminación en P, reflectividad de la superficie en P y la orientación espacial de tal superficie relativa a la dirección de la mirada. No es posible separar los efectos de esos factores si solamente conocemos el brillo del punto P. Sinembargo, conociendo toda la imagen, y bajo ciertas condiciones de la escena y su iluminación, se pueden obtener algunas conclusiones razonables.

Forma a partir de sombreado

En la vecindad inmediata de un punto P, la iluminación tiende a ser aproximadamente constante, excepto en el borde de una sombra. Entonces, si P está en una superficie uniformemente reflectiva, las variaciones del brillo (sombreado) en la vecindad de P, se deben principalmente a variación en la orientación de la superficie. Las variaciones del brillo no determinan completamente la orientación de la superficie, pero sí la restringen, y si se conocen en ciertos puntos de una región esto puede permitir el determinar la orientación en el resto de la región

Forma a partir de textura

Si una superficie tiene una textura o trama visual uniforme, dará origen a una región de la imagen en la cual dicha trama no es uniforme, debido a efectos de la orientación de la superficie. La dirección de la superficie, en principio, se puede deducir a partir de mediciones locales de la anisotropía de la trama visual de la imagen. Una técnica relacionada con este principio consiste en iluminar la escena con un patrón o trama regular de luz y sombras (ejemplo: rejilla uniforme de huecos cuadrados). Las distorsiones de tal trama, como aparecen en la imagen, proporcionan información a cerca de las orientaciones superficiales. Tal tipo de iluminación recibe el nombre de "estructurada".

Forma tridimensional a partir de forma bidimensional

También se pueden obtener indicios acerca de las formas tridimensionales de las superficies de la escena a partir de las formas bidimensionales de los rasgos. Un ejemplo primitivo de este concepto, usando aristas lineales, demostró que las formas de las esquinas donde se unen las aristas dan información útil sobre cuales superficies de las que se encuentran en una de esas uniones pertenecen a un mismo objeto. Posteriormente se generalizó este trabajo basándose en que un borde en una imagen puede originarse por varios tipos de cambios abruptos en la escena, incluyendo cambios en la iluminación (bordes por sombra), ocultamiento parcial, o marcas en una misma superficie. Cuando las aristas se reunen en un punto (vértice) no son posibles todas las combinaciones de esos casos, y cuando se consideran todas esas uniones en la imagen, se reduce mucho el numero de posibilidades. En principio es posible distinguir entre varios tipos de aristas analizando cuidadosamente las variaciones de brillo en su vecindad. Cuando superficies planas se encuentran en un vértice, las orientaciones espaciales de las superficies están restringidas, y esto da información útil acerca de la forma de poliedros.

Las formas de los bordes o regiones en una imagen, también pueden dar información cuantitativa sobre la forma de la superficie si se hacen ciertas asumsiones respecto a los extremos. Por ejemplo, una curva en una imagen puede ser producida por muy diferentes curvas en el espacio, pero muchas veces se puede asumir que la curva real en el espacio es la que tiene la menor curvatura posible. Similarmente, una región en una imagen puede originarse por diversos trozos de superficie en el espacio, pero se puede asumir que el trozo real de superficie es el que tiene la forma más simple, o sea la más simétrica y compacta.

Detección de distancia y visión en estéreo

Si disponemos de dos imágenes de una misma escena tomadas de dos posiciones diferentes conocidas, y si podemos identificar en embas los dos puntos correspondientes a un mismo punto P de la escena, entonces se puede calcular por triangulación la posición del punto P en el espacio. La principal dificultad es el identificar los pares correspondientes de puntos de imagen.

También se puede derivar la forma de la superficie a partir de múltiples imágenes tomadas desde una misma posición. pero bajo diferentes condiciones de iluminación. El sombreado en cada imagen impone restricciones en las orientaciones de las superficies en cada punto, y la intersección de esas restricciones detrmina la orientación sin ambiguidad. En esta técnica, conocida como "estéreo fotométrico" no hay problema en identificar un par de puntos correspondientes, puesto que las imágenes están en perfecto registro.

La información sobre la forma de las superficies estaría inmediatamente disponible si se pudiera medir directamente la distancia a cada punto superficial visible. Se han desarrollado varios tipos de sensores de distancia. Un método es iluminar una parte de la escena cada vez, por ejemplo con un plano de luz; la posición espacial de un punto iluminado puede quedar completamente determinado por su posición en la imagen, ya que debe quedar a lo largo de una dirección espacial dada (la dirección de la visión) y tambien sobre el plano de luz. Otro método consiste en iluminar la escena punto por punto, con un pulso de luz, y medir la distancia hasta el punto iluminado por medio del desplazamiento de fase o retardo entre el envio del pulso y el retorno del reflejo.

Reconocimiento de objetos tridimensionales

En la imagen segmentada de una escena tridimensional las regiones representan parches de superficie. El reconocimiento de objetos tridimensionales a partir de una imagen bidimensional es dificil porque solamente se ve un lado de los objetos, aún ignorando la posible ocultación de un objeto por otro, y las formas de las partes visibles dependen de la orientación del objeto. Si se sabe de antemano qué posibles objetos pueden aparecer en la escena, una técnica sería almacenar descripciones de esos objetos como se verían desde varias decenas de puntos de vista, para hacer una comparación de formas, pero esto es computacionalmente costoso.

Se pueden definir descripciones tridimensionales de objetos de varias maneras. Un objeto se puede determinar especificando las formas de sus superficies, las cuales se pueden aproximar por "parches" de varios tipos estándar, (Como en el caso bidimensional, las aproximaciones sucesivas se pueden organizar en un árbol). Un objeto también se puede aproximar por la union de "cubos máximos" de varios tipos. Los cubos máximos se pueden organizar en una estructura de árbol ramificado de a 8 ramas ("octree"), definido subdividiendo recursivamente el espacio en octantes.

Dado un conjunto de tales descripciones tridimensionales de objetos, estos se pueden reconocer en la imagen por un proceso de análisis de restricciones. Una región o borde en la imagen no puede ser proyección de cada posible borde o superficie de un objeto; sólo se puede originar de un subconjunto de los objetos posibles, y estos tiene que estar en un subconjunto de las posibles orientaciones espaciales. Si un conjunto de bordes o regiones es consistente, en este sentido, con la presencia de cierto objeto en cierta orientación, hay evidencia fuerte de que este objeto está presente en la escena

OTROS TOPICOS

Análisis de imagen variable en el tiempo

Hasta aquí nos hemos referido solamente a imagenes estáticas, pero cada vez se investiga más la dinámica de las escenas, usando secuencias de imágenes.

Métodos de multiresolución

Muchos tipos de operaciones sobre imágenes, tales como la detección de bordes, la acreción de regiones, la comparación de formas, etc. se pueden realizar eficientemente usando un método grueso-fino, en el cual la imagen se procesa primero a baja resolución, y los resultados se usan luego para guiar el proceso a resolución más alta. También muchas operaciones se pueden realizar con una estrategia de "dividir y conquistar", en la cual los resultados obtenidos localmente a alta resolución se pueden combinar recursivamente hacia resultados globales

Computación paralela

Muchos pasos de los procesos de visión se pueden implementar como procesos cooperativos, el los cuales se realizan en paralelo las operaciones locales, por ejemplo en cada pixel o en cada nodo de una estructura de datos.

Restricciones computacionales

Muchas de las operaciones para la visión involucran masivas cantidades de cómputo. En la actualidad algunas operaciones no son comercialmente viables. Por esta razón, por ejemplo, los sistemas de visión comerciales son binarios, ya que aún no se justifica económicamente procesar datos de niveles de gris o de color a las velocidades requeridas. Se espera que estas limitaciones vayan desapareciendo en el futuro.

Una bibliografía básica

AMAT, BASAÑEZ y TORRAS: Sistemas de Visión Tridimensional en los robots industriales, revista Mundo Electrónico, Número 130.

ANGULO, J. M.: Robótica Práctica, tecnología y aplicaciones, Editorial Paraninfo, Madrid, 1986.

DORF, R. C. (editor en jefe): International Encyclopedia of Robotics, John Wiley & Sons, 1988

DOUGHERTY, E. R. y Ch. R. GIARDINA: Mathematical Methods for Artificial Intelligence and Autonomous Systems, Prentice-Hall International Editions, Englewood Cliffs, 1988

ESCUDERO, L. F.: Reconocimiento de Patrones, editorial Paraninfo, Madrid, 1977

FU, K. S.: Syntactic Pattern Recognition and Applications, Prentice-Hall, Englewood Cliffs, 1982.

FU, K. S., R. C. GONZALEZ y C. S. G. LEE: Robótica: Detección, Visión e Inteligencia, McGraw-Hill/Interamericana de España S. A., Madrid, 1988.

IÑIGO, R. y J. M. ANGULO: Visión por computador y su aplicación en la robótica, revista Mundo Electrónico, octubre 1984.

KANADE, T.: Geometrical Aspects of Interpreting Images as a Three-Dimensional Scene, revista Proceedings of the IEEE, julio 1983, pags. 789-802.

KELLEY, R. B. y otros: Three Vision Algorithms for Acquiring Workpieces from Bins, revista Proceedings of the IEEE, julio 1983, pags. 803-820.

McPHERSON, C. y E. HALL: Three-Dimensional Robot Vision Techniques, en Recent Advances in Robotics, G. Beni (editor), pag. 263-312, Wiley-Interscience, John Wiley & Sons, 1985

SERRA, J.: Image Analisys and Mathematical Morphology, Academic Press, 1982

WINSTON, P. H. (editor) y otros: The Psychology of computar vision, McGraw-Hill Computer Science Series, 1975

ZUCKER, S. W.: Computer Vision for Robotics, a tutorial introduction. Conferencia tutorial del congreso AAAI-82. American Association for Artificial Intelligence. 1982.