TITULO
CIRCUITO DE ADAPTACIÓN DE LUMINANCIA BASADO EN
INTERACCIONES LOCALES
SECTOR DE LA TÉCNICA
Dentro del sector de la tecnología de la información y las comunicaciones la presente invención está referida a integración de software en sensores de pixel inteligente (redes neuronales celulares). Concretamente en esta invención se describe un método que permite al sensor un ajuste global de la luminancia incidente a través de operaciones de procesado locales. Concretamente el ámbito dentro del cual esta patente puede tener mayor grado de impacto es en empresas fabricantes de cámaras de video tanto analógico como digital, monitores, videoconferencia, telefonía móvil, etc. Otras patentes http://www.de1phion.com relacionadas con esta propuesta son: (1) Chua, L. y Yang, L., "Cellular neural network", Pat. US5140670 (2) Werblin, F., Roska, T. y Chua, L.O. "CNN programmable topographic sensory device', Pat. US5717834.
ESTADO DE LA TÉCNICA
Aproximaciones generales al problema de la normalización En general, la normalización es un proceso global. El procedimiento habitual de cálculo es la búsqueda de un máximo y mínimo globales. Para ello se almacenan en una memoria temporal los valores actuales del máximo y mínimo. Dichos valores se comparan con el valor actual (local) y son sustituidos por dicho valor si éste es menor que el mínimo almacenado o mayor que el máximo almacenado. Después de pasar por todos los puntos de análisis, la memoria temporal contendrá los valores máximo y mínimo globales. Entonces, los valores originales (es decir las entradas) pueden ser escalados linealmente utilizando los valores máximo y mínimo globales con objeto de ocupar un determinado rango de valores, por ejemplo entre 0 y . El carácter global de la aproximación algorítmica claramente limita su utilización en aplicaciones electrónicas, y por tanto otras aproximaciones han sido sugeridas con objeto de obtener una solución aproximada al problema. Entre ellas cabe citar (datos recopilados de
http://www.eleceng.adelaide.edu.au/Groups/GAAS/ Bugeye/visionchips/vision_chips/)
• Adaptación basada en el valor medio.
Este método encuentra el valor medio de los valores y realimenta dicho valor con objeto de controlar la ganancia. Es fácilmente implementable en VLSI utilizando el modo de suma de corriente.
• Adaptación basada en el error medio o error cuadrático medio.
Los métodos basados en el error medio pueden proporcionar información acerca de la desviación de las variables al nivel de la jerarquía. Esto puede ser interpretado como una indicación del nivel de actividad. Por tanto, la actividad del sistema puede ser controlada mediante éste método.
• Adaptación basada en el valor máximo.
Este método proporciona una decisión en base al valor mayor de las variables. La realización hardware de éste método se denomina circuito ganador-toma-todo "winner- take-all (WTA)".
Es preciso señalar que el circuito propuesto puede llevar a cabo una operación de tipo ganador-toma-todo si las regiones de procesado no se encuentran interconectadas. Por tanto, en cada una de dichas regiones, se llevará a cabo una normalización independiente, es decir se determinarán las regiones de máximo o mínimo. Con la introducción de un umbral, obtenemos la operación WTA. En general, sin embargo, la red no elimina ningún valor a costa de otros, por lo que es diferente de las arquitecturas WTA. En su lugar lo que hace el sistema es re-escalar los valores en cada región de un modo independiente. Otros métodos para el mapeado de valores arbitrarios en un determinado rango dinámico incluyen la utilización de funciones de compresión o sigmoidales. Sin la presencia de un mecanismo adaptativo, dichas funciones proporcionan un resultado peor que en el caso de incorporar adaptabilidad. Obsérvese, que el sistema aquí propuesto puede ser también utilizado para la adaptación de funciones no-lineales, a través de la utilización del valor local disponible en la parametrización de los valores globales máximo y mínimo. El mecanismo que aquí se propone además de su implementación simple tanto desde el punto de vista algorítmico como a través de circuito electrónico, proporciona el máximo y mínimo globales de un modo local, es decir, cada célula tiene
acceso al valor máximo y mínimo sin hacer ninguna referencia a valores de variables globales. El sistema propuesto puede ser implementado como una red local WTA o bien como un nuevo circuito retiniano (p.e. a través de redes neuronales celulares). Existen en la actualidad un amplio conjunto de circuitos retiñíanos artificiales (es decir implementaciones electrónicas de modelos de la retina de los vertebrados), pero en donde el circuito de adaptación a los cambios de luz se efectúa de un modo local, extrayendo solo la información de contraste local de la distribución de luminancia. Como ejemplo de implementación de una retina de silicio (VLSI) cabe citar:
• H. Kobayashi, T. Matsumoto, T. Yagi & K. Tanaka, em Light-adaptive architectures for regularization visión chips", Neural Networks, Vol. 8, No. 1, pp. 87-101, 1995. Este método está basado en la teoría de la regularización. Diferencia a partir del promedio local: retinas de silicio
En los métodos que se citan a continuación, el promedio local es substraído de la señal en cada célula. En algunas ocasiones, dos promedios locales con diferente distribución espacial son substraídos uno del otro. Este método presenta dos desventajas. En primer lugar, la señal se "centrará" en torno al cero, y por tanto la variación de la señal dependerá del promedio local. Por ejemplo, si la corriente media es de 1 nA, la variación de la señal se situará en torno a dicho valor. En segundo lugar, este método no es capaz de reproducir la respuesta a la dependencia de la intensidad. Debido a su sencillez, este método ha sido utilizado en muchas implementaciones VLSI de retinas artificiales, como por ejemplo:
• C. Mead & M.A. Mahowald, "A silicon model of early visual processing, " Neural Networks, Vol. 1, pp. 91-97, 1988. Este método está inspirado en los diferentes componentes individuales de una retina. • W. Bair & C. Koch, "An analog VLSI chip for finding edges from zero- crossings," Neural Information Processing Systems, Vol. 3, pp. 399-405, 1991.
• C-Y. Wu & C-F. Chiu, "A new structure of the 2-D silicon retina," IEEE Journal of Solid State Circuits, Vol. 30, No. 8, pp. 890-897, August 1995.
División por el promedio local En los métodos que se indican a continuación, el valor en cada célula se divide por el promedio local. La ventaja fundamental de la división frente a la resta de los métodos anteriores, es que la salida ahora se encuentra centrada en torno a "uno". Por tanto, la
salida puede ser normalizada ahora al valor deseado. En los métodos que usan la resta, si un valor offset (por ejemplo 100 nA) se añade en torno al cero, los valores pequeños se perderán. Otra ventaja de éste método es la denominada característica de supresión de ruido multiplicativa (MNC). Al dividir la señal por el promedio local, el ruido de continua (AC noise), que puede provenir de la reflexión de la superficie de los objetos (de ahí su carácter multiplicativo), puede ser reducido a una fracción pequeña. De hecho, éstos métodos han sido propuestos con dicho propósito. Han sido usados como pre-procesadores en chips para la detección de movimiento, con objeto de reducir el efecto de fuentes de luz continuas (AC). Entre los métodos que utilizan división por el promedio local, cabe citar:
• A. Moini, A. Bouzerdoum, K. Eshraghian, A. Yakovleff, X.T. Nguyen, A. Blanksby, R. Beare, D. Abbott & R.E. Bogner, "An insect vision-based motion detection chip," IEEE J. Solid State Circuits, Vol. 32, No. 2, pp. 279-284, February 1997.
• A. Moini, A. Bouzerdoum, K. Eshraghian, A. Yakovleff & X.T. Nguyen, The architecture of an insect visión based VLSI motion detection chip," Australian Microelectronics Conference, pp. 68-73, 1995.
• A. Moini, A. Bouzerdoum, K. Eshraghian, A. Yakovleff, X.T. Nguyen, A. Blanksby, R. Beare, D. Abbott & R.E. Bogner, "An insect vision-based motion detection chip," IEEE J. Solid State Circuits, Vol. 32, No. 2, pp. 279-284, February 1997.
• A. Moini, A. Bouzerdoum, K. Eshraghian, A. Yakovleff & X.T. Nguyen, "The architecture of an insect visión based VLSI motion detection chip," Australian Microelectronics Conference, pp. 68-73, 1995.
Inhibición lateral lineal
Inhibición lateral lineal es un caso simple de inhibición lateral, donde la señal en una célula es substraída a partir de fracciones de las células vecinas. Este modelo puede explicar las características de mejora de bordes y del rango dinámico. Sin embargo, no puede reproducir el fenómeno de dependencia con la intensidad. Este método se ha usado en la implementación de algunos chips basados en la inhibición lateral. Entre ellos cabe citar:
• S. Wolpert & E. Micheli-Tzanakou, "Silicon models of lateral inhibition," IEEE Trans. Neural Networks, Vol. 4, No. 6, pp. 955-961, Nov. 1993.
Inhibición lateral multiplicativa "Shunting inhibition"
En la inhibición lateral, un porcentaje de las señales de salida de cada célula y de sus vecinas es sustraída de la señal en cada canal. Este modelo ha sido desarrollado de hecho para modelar el comportamiento de una retina biológica. Permite demostrar todas las propiedades de una retina biológica. Algunos chips de visión han sido diseñados basados en la inhibición lateral.
• R.B. Darling & W.T. Dietze, "Implementation of multiplicative lateral inhibition in a gaas sensory neural -network photodetector array," IEEE J.
Quantum Electronics, Vol. 29, No. 2, pp. 645-654, February 1993.
• A. Moini, A. Bouzerdoum & K. Eshraghian, "A current mode implementation of shunting inhibition," ISCAS, June 9-12, Hong Kong, pp. 557-560, 1997.
El método aquí propuesto es completamente diferente de otros modelos existentes. También es diferente de otros algoritmos que realizan el rellenado de superficies con algún color. En este caso, al valor central de cada pixel se le asigna el valor máximo de los vecinos. Una estrategia similar puede seguirse para la búsqueda del mínimo global, pero sin embargo las implementaciones VLSI de los programas de rellenado de superficies requieren mayor coste computacional que el método aquí propuesto.
Descripción de la invención
Breve descripción de la invención
El método aquí propuesto proporciona una solución definitiva al problema de la búsqueda del máximo y mínimo globales de un conjunto de números a partir de la información local y de interacciones no-algoritmicas. El término "no-algorítmico" se refiere a que no utilizamos comparaciones explícitas entre valores (p.e. del tipo if ... then). El término local se refiere a que no se utiliza una memoria global o "buffer", sino tan solo interacciones locales entre células vecinas. En su forma más simple, el método consiste en tres ecuaciones diferenciales. Cada ecuación puede ser inteφretada como una capa de procesado independiente de un array ordenado de células. La topología es la misma para las tres capas. La primera capa realiza una difusión no lineal
convergiendo al máximo global. Esto significa que el máximo global está localmente disponible, a pesar de llevarse a cabo tan sólo interacciones locales entre las células de cada capa. Análogamente la segunda capa convergerá al mínimo local. La tercera capa conecta tanto el máximo como el mínimo con objeto de obtener una representación normalizada de la entrada. Por supuesto, los valores pueden ser utilizados para la adaptación (normalización) de señales arbitrarias, como se mencionó en el apartado Descripción detallada de la invención Definiciones Sea x,j los datos de entrada que deseamos procesar, con i t | l Λ| v j e |1. |
Sea yy(t) la salida de la red para un determinado tiempo t. La red produce un re- mapeado del rango de valores de entrada > € ' 1 '' en los valores de salida ^ e P !1 A y B son constantes con A > B. Operadores para la difusión no-lineal
Considérese el operador Laplaciano y2l -1 ≡ *^ ≡ «M-J )- De este modo, una versisión simple de la ecuación de reacción-difusión es:\\
donde P es el coeficiente de difusión que determina la velocidad de propagación de la actividad y y ••¡r s (a^>
En una retícula discreta, la dinámica anterior puede describirse mediante una aproximación de la Laplaciana por medio de diferencias finitas centradas, es decir
El factor 1/4 garantiza la estabilidad numérica.
Nki es un conjunto de índices que especifican una vecindad de tipo von-Neumann, es decir — H' ~ M' + ). , j - 0-t' + ' )r. Obsérvese que la ecuación de difusión es lineal. Vamos a introducir los operadores rectificación de media onda o HWR[ . ]+, y el operador rectificación de inverso de media onda o iHWR[ .]"' que
se definen comol l ' ≡ >mχi -") y 1 1" = itl|ll( .°í .
Dicho de otro modo, [ . ]+ devuelve el valor positivo de su argumento y [. ]" el valor negativo de su argumento. Se verifica que 'J' ~ l_ '
Nota: Ambas ecuaciones pueden ser entendidas en el contexto de lo que se denomina rectificación de las sinapsis eléctricas. Los operadores de rectificación lo que llevan a cabo es que los pulsos neuronales se produzcan a partir del umbral cero}. Podemos entonces aplicar esos operadores a la última ecuación, con lo que tendremos:
Aunque esto parece que es una simple modificación, sin embargo representa el núcleo básico de la presente patente. Así hemos dividido la ecuación lineal de difusión \ref{linDiff} en dos ecuaciones no-lineales de difusión (3) y (4).\\ Si inicializamos pw '- ^) -=^u > <w = °. "' 1t^< la dinámica de la ecuación (3) viene dada por: Jim ati{ t} = íT .xffl.:., } = A V Vj (5)
y la dinámica de \ref{disB} es
Obsérvese que cada célula a,, obtiene el máximo global A al final del proceso, y la célula b,j el mínimo global B. La razón de ese comportamiento es debido al hecho de que el operador HWR sólo permite a una célula incrementar su actividad si uno de sus vecinos más próximos tiene una actividad mayor. En caso de no existir más gradiente entre las células, no existirá en ese caso mayor incremento de actividad en las mismas. Esto corresponde con el estado de convergencia de la red. La actividad de propagación
es por tanto no conservativa, puesto que las todas las células a incrementarán su actividad hasta el valor global del máximo. La dinámica de las células b,j tiene lugar de una manera similar. Cada b,j solo le está permitido decrementar su actividad si uno de sus vecinos más próximos presenta una actividad más baja. Esta difusión cesa si no existen más gradientes, e decir cuando todas las células han alcanzado el mínimo global. Para la integración de las ecuaciones diferenciales 3,4 es suficiente con emplear el método de Euler, en el supuesto que P <=1 Normalización
Teniendo acceso de esta manera al máximo y mínimo globales, la normalización se puede llevar a cabo a través de un escalado lineal,
La última ecuación debe ser evaluada después de la convergencia de las ecuaciones (3,4). Alternativamente, la solución puede venir dada mediante:
que en el equilibrio (es decir, cuando se verifica "3* " s' τ ^ '), da lugar a la Ec. 7. La exponencial se ha introducido por estabilidad numérica, y tau debe ser elegido con un valor alto, p.e. r = 10J. En general, el método es numéricamente estable. La última ecuación permite además simular la dinámica de la red (veáse más adelante). Normalización local La red por tanto lleva a cabo una normalización local que puede entenderse como un mecanismo del tipo ganador-toma-todo mencionado antes en una región definida mediante pesos distintos de cero. Considérese una matriz de pesos W que contiene todo ceros. Podemos definir entonces de modo arbitrario dentro de dicha matriz algunas regiones que tomen valores distintos de cero. Para ello considérese la analogía de considerar la matriz W como una región de agua (pesos cero) y las regiones W, como islas (pesos distintos de cero). Considérese por tanto a la matriz W que contenga m de tales islas (o regiones aisladas) *v = M- 1 Φ I » — €J H, TO < Las regiones se encuentran aisladas por pesos iguales a cero. El operador * denota composición. Cada isla W, por tanto puede definirse mediante un conjunto de coordenadas matriciales(indices fila/columna) junto
con sus correspondientes valores distintos de cero (pesos). No es posible que dos islas se supeφongan espacialmente (en nuestra analogía eso significa que dos islas conectadas puedan fusionarse y crear una sola isla). Para lograr que el modelo pueda funcionar, es importante señalar que una normalización como la descrita anteriormente producirá siempre un valor igual a cero como mínimo global, debido a que en el modelo original las islas no se consideran como aisladas. Podemos modificar las ecuaciones (3) y (4) de tal manera que la matriz W represente una matriz de ponderación para la constante de difusión P, produciendo de esta manera un coeficiente de difusión espacialmente variante. La actividad solo puede ser transferida en el interior de las islas pero no entre ellas.
Mediante este método se pueden normalizar diferentes regiones de una imagen de entrada x de manera independiente. Esto puede ser muy útil para eliminar grandes variaciones en el rango de lumninancia con objeto de obtener una imagen independiende del grado y forma de iluminación. De esta manera, tenemos un mecanismo para implementar constancia al color o al brillo, si elegimos los pesos W, de tal manera que representen un marco completo de la imagen. Circuito retiniano
La dinámica simple (es decir para valores pequeños de los pasos de integración) de las ecuaciones de la red (3,4 y 8) revela respuestas que son similares a las producidas en las células ganglionares retinianas que presentan un centro excitatorio y un entorno inhibitorio. Tales células se denominan células ON, y se caracterizan por responder a la parte más brillante de una rampa de luminancia. Existen otro tipo de células que responden a la parte más oscura de la rampa, denominadas células OFF. Una célula biológica OFF presenta un entorno excitatorio y un centro inhibitorio. Las respuestas que son similares a las células OFF retinianas pueden ser calculadas modificando la ecuación (7) como
' a - fc;
Con ésta ecuación junto con la ecuación (7) se propone aquí un nuevo circuito retiniano. En primer lugar, modificaremos las ecuaciones dn J (ι)
= -9(,*>.- , í r) - Vrt »• ) + /'(f) Δ* α,, (r) df i")
^J^ - -«_.U*{ >) ~ ^Í) + i*( - Δ-fcy(í) 113»
La conductancia de pérdida (leakage) gιeak>=0 y el potencial de reposo Vrest deben de elegirse con un valor pequeño cero sin pérdida de generalidad.
Puesto que los contrastes de las imágenes "emergen" en la dinámica primaria, podemos "congelar" la dinámica haciendo decrecer la constante de difusión con la constante de tiempo
'* ''"'
Por supuesto, cuando se procesen imágenes variantes temporalmente xu(t) otros mecanismos más elaborados pueden ser incoφorados en lugar de una simple exponencial (por ejemplo circuitos activos reset). Las células ON pueden ser modeladas como:
- - = -flfeii - V„Λt ) - {btJ - <>.;j ) • t/τ - ,jT) + a-i} (Iñ)
y las células OFF como, d X _ _
- - ~ -ftifrAv,, ~ l'» < *f) + 'v - <'.j) • !f¡ + h<ι ~ $*> ( m)
Donde de nuevo gιeak y Vrest pueden tomarse como cero, o con valores muy pequeños. La variable temporal t se ha omitido por simplicidad de cada variable. En el contexto de las células retinianas, la entrada xυ procede de los fotorreceptores. Aunque nuestro modelo extrae contrastes en imágenes, no se presentan efectos espúreos puesto que el modelo puede considerarse como un operador de tipo Laplaciano o del tipo centro- entorno.
El entorno inhibitorio de los últimos operadores decrece las respuestas del contraste, cuando aparecen muchos contrastes concentrados en una región pequeña. Nuestro
modelo no presenta tales discontinuidades en los contrastes extraídos. Sin embargo, las respuestas que son cualitativamente iguales a aquellas que resultan del operador
Laplaciano pueden ser fácilmente obtenidos mediante el cálculo de '" τ/ - y ,Y (respuestas de las células OFF del tipo Laplaciano).
DESCRIPCIÓN DE LOS DIBUJOS
Figura 1 (a) Imagen original; (b) Respuesta del canal ON de un modelo basado en la utilización de filtros basados en diferencia de Gaussianas; (c) Detalle ampliado de la respuesta anterior visualizado con el contraste invertido. Como puede observarse este modelo no es capaz de reproducir correctamente el contraste en las intersecciones de las líneas
Figura 2 El modelo de circuito retiniano propuesto en ésta patente es capaz de proporcionar una respuesta más eficiente facilitando un mejor contraste en comparación con los métodos clásicos basados en la diferencia de Gaussianas. (a) Imagen original; (b) Respuesta del canal ON del circuito retiniano; (c) Detalle ampliado de la respuesta anterior visualizado con el contraste invertido. El modelo propuesto no presenta el problema anteriormente descrito.
Figura 3 Imagen original; (b-d) Respuesta dinámica de la red para diversos valores (múltiplos del tiempo de integración, indicados en las leyendas de las figuras). Figura 4 (a-d) Respuesta dinámica de la red para diversos valores (múltiplos del tiempo de integración, indicados en las leyendas de las figuras). Obsérvese que los valores altos de luminancia aceleran el proceso de normalización de la red, y que conforme la red evoluciona la respuesta que se obtiene es casi idéntica a la imagen original. Figura 5 (a-c) Respuesta dinámica de la red para diversos valores (múltiplos del tiempo de integración, indicados en las leyendas de las figuras). Obsérvese que los valores altos de luminancia aceleran el proceso de normalización de la red, y que conforme la red evoluciona la respuesta que se obtiene es casi idéntica a la imagen original. Figura 6 (a-c) Respuesta de la red para imágenes con diferente rango de contrastes (valores bajos). En las leyendas de las figuras se presentan los valores de normalización que están relacionados con el tiempo de integración de la red, es decir que los valores altos del contraste aceleran el proceso de normalización de la red.
Figura 7 (a-c) Respuesta de la red para imágenes con diferente rango de contrastes (valores altos). En las leyendas de las figuras se presentan los valores de normalización que están relacionados con el tiempo de integración de la red, es decir que los valores altos del contraste aceleran el proceso de normalización de la red. Figura 8 Ejemplo de normalización del circuito mediante interacciones locales. La figura representa el estado del sistema en diferentes instantes de tiempo (representados mediante los números situados en la cabecera de las columnas. La dinámica de la red es reminiscente de de un fenómeno de propagación de actividad o rellenado "filling-in". Es decir a partir de los bordes representados mediante las imágenes de la columna " 1 " de la figura 8, la información de luminancia se va propagando ("rellenando") en el transcurso del tiempo (fila superior de la Fig.8), así como la información de oscuridad (fila inferior de la Fig. 8). Obsérvese, como el sistema de capaz de proporcionar la imagen positiva y negativa a la vez (columna "500" de la Fig. 8). Figura 9 (a) Imagen test consistente en un damero de ajedrez, (b) Respuesta de la red en función del contraste de la imagen original. Cuando el contraste es bajo el tiempo para alcanzar el estado estacionario es mayor.
Las figuras 10-11 se describen en el apartado denominado Ejemplo de la realización de la invención.
EJEMPLO DE LA REALIZACIÓN DE LA INVENCIÓN
Figura 10 La figura representa un esquema de la retina artificial propuesta. Este modelo permite la transmisión simultánea de la información de contraste y de luminancia. Facilita un mecanismo de adaptación global de la luminancia con un amplio rango dinámico, proporcionando un código muy compacto de la información visual. Figura 11 Esta figura representa un esquema de una red neural celular en donde los elementos de procesado están interconectados según un esquema de vecindad de tipo von-Neumann (4 vecinos más próximos).