Vision Artificial

of 36/36
Visión artificial Visión artificial Introducción a los sistemas de visión artificial 18 de julio de 2009 Copyright © 2008, 2009 Jorge Rodríguez Araújo [email protected]
  • date post

    13-Jun-2015
  • Category

    Documents

  • view

    2.879
  • download

    1

Embed Size (px)

Transcript of Vision Artificial

Visin artificialVisin artificialIntroduccin a los sistemas devisin artificial18 de julio de2009Copyright 2008, 2009 Jorge Rodrguez [email protected] 1. Visin artificial...................................................................................1 1.1 Sistema de iluminacin.............................................................................1 1.1.1 Fuentes de luz..........................................................................................1 1.1.2 Esquemas de iluminacin........................................................................2 1.2 Captura de imagen....................................................................................3 1.2.1 Sensores digitales de imagen..................................................................4Sensor CCD................................................................................................................4Sensor CMOS.............................................................................................................4Caractersticas...........................................................................................................4 1.2.2 Objetivos..................................................................................................5Caractersticas...........................................................................................................6Seleccin de la lente..................................................................................................6 1.3 Procesado de imagen................................................................................6 1.3.1 Modelos de color......................................................................................7 1.3.2 Tratamiento de imagen............................................................................7Transformaciones de histograma...............................................................................7Eliminacin de ruido..................................................................................................8 1.3.3 Segmentacin..........................................................................................8Operadores morfolgicos...........................................................................................9 1.3.4 Etiquetado y clasificacin......................................................................10 1.3.5 Visin estreo........................................................................................10 1.3.6 Template matching................................................................................11 2. Procesamiento de imagen con Python............................................13 2.1 PIL............................................................................................................13 2.1.1 Negativo................................................................................................14 2.1.2 Representacin a lo Matlab....................................................................15 2.2 OpenCV...................................................................................................16 2.2.1 Capturando desde una webcam.............................................................16 3. VirtualSketch...................................................................................18 3.1 Introduccin............................................................................................18 3.1.1 Objetivos................................................................................................18 3.1.2 Mtodo...................................................................................................18 3.2 Identificacin del marcador.....................................................................19 3.2.1 Algoritmo meanshift..............................................................................19 Captura del fondo.............................................................................................20 Deteccin de movimiento.................................................................................20 Segmentacin...................................................................................................20 Identificacin....................................................................................................21 Localizacin......................................................................................................21 3.3 Implementacin.......................................................................................23 Capturas de pantalla.........................................................................................23i 4. Filtro de Kalman...............................................................................24 4.1 Introduccin............................................................................................24 4.2 Filtro de Kalman......................................................................................24 4.3 Aplicacin del filtro de Kalman................................................................26 4.3.1 Estimacin de la posicin de un telfono mvil.....................................26 4.3.2 Desarrollo..............................................................................................26 5. Identificacin de un contorno rectangular.......................................28 5.1 Introduccin............................................................................................28 5.2 Deteccin de bordes...............................................................................28 5.3 Deteccin del contorno rectangular........................................................29Tranformada de Hough para lneas....................................................................29 5.4 Identificacin del contorno rectangular..................................................31 6. Clculo de la homografa.................................................................32 6.1 Homografa..............................................................................................32 6.2 Resolucin de sistemas de ecuaciones lineales......................................33iiVisin artificial 1. Visin artificialUn sistema de visin artificial se compone bsicamente por: Sistema de iluminacin: Proporciona unas condiciones de iluminacin uniformes e independientes del entorno, permitiendo o facilitando la extraccin de los rasgos de inters para una determinada aplicacin. Captura de imagen:Conjunto encargadode recogerlas caractersticadel objeto en estudio y proporcionar los datos para su procesado, por medio de una imagen digital. Procesado de imagen: Conjunto de algoritmos y transformaciones necesarias para realizar el anlisis de la imageny de este modo extraer la informacin de las imgenes capturadas, con el fin de obtener los resultados para los que haya sido diseado. 1.1 Sistema de iluminacinDado que la imagen se forma a partir de la luz que reflejan los objetos, la nica posibilidad de obtener una imagen con caractersticas constantes en la que se resalten losaspectos deinters yse atenenlos intrascendentespermitiendo ofacilitando la resolucin del problema es controlando las condiciones de iluminacin.Para ello, se emplea el sistema de iluminacin, que se encuentra formado por la fuente de luz segn un determinado esquema de iluminacin, lo que enconjunto proporciona unas condiciones de iluminacin determinadas.Hayquetenerencuentaqueel problema de iluminacin no resulta trivial y su coste supone una parte importante del total del proyecto. 1.1.1 Fuentes de luzEntre la multitud de fuentes de luz existentes, las ms utilizadas son:1Hardware Software Dentro de la reflexin de la luz se distingue entre reflexin especular, donde el rayo incidente es reflejado en una nica direccin, y reflexin difusa, donde los rayos incidentes son dispersados en mltiples direcciones.En la reflexin directa elngulo de incidencia es igual al ngulo de reflexin:0i=0rVisin artificial Fluorescente de alta frecuencia1: no ofrece demasiada luz y presenta deriva con el tiempo, pero su precio econmico y su adaptabilidad tanto en forma como en color los hacen atractivos. Halgena: presenta granluminosidad, pero desprende calor, suluz es caliente y su precio es caro. Adems, presentan envejecimiento. Xenn: presenta an mayor luminosidad, aunque los mismos inconvenientes, y un precio an mayor. LED: admite multitud de configuraciones y estn disponibles en multitud de colores, son estables, duraderos, funcionan en baja tensin, aunque su precio es elevado. LSER: permiten generar patrones de iluminacin. 1.1.2 Esquemas de iluminacinLos principales esquemas de iluminacin son: Iluminacinposteriordifusa(Backlight): mediantelailuminacindifusa por la parte posterior del objeto se obtiene una imagen de alto contraste, donde la silueta oscura de los objetos se ve resaltada frente al fondo blanco, y por tanto resulta adecuado para medir la forma de los objetos. Iluminacin difusa direccional:emulando a la luz natural pero sin variacionesseemitenlosrayosparalelosyenunadireccindeterminadapara lograr una iluminacin uniforme. Iluminacin omni-direccional difusa: consigueunaimagenlibredesombrasycon gran contraste, gracias a que el objeto es iluminado desde todas direcciones con luz difusa. Para ello se emplea una superficie reflectante de forma semiesfrica llamada domo, que acta como fuente de iluminacin al reflejar la luz,con lo que se logra eliminar las sombrasy reflejos,y se aumenta el contraste, suavizando las texturas y minimizando lainfluenciadelasrayas,el polvoylosrelieves,ascomo de las curvaturas que pueda tener el objeto inspeccionado.1 Deben emplearse fluorescentes de alta frecuencia dado que los estndar producen un efecto parpadeo en la imagen que la hace inservible.2CmaraDomoLuzObjetoVisin artificialSe emplea en la deteccin de marcas de diferentes colores, caracteres y deteccin de todo lo que suponga un cambio de color tanto en superficies lisas, esfricas, rugosas o con brillo. Iluminacin direccional lateral (Grazing): resalta la textura de los objetos o aquellas caractersticas salientes, dado que al incidir la luz con un ngulo muy pequeo slo ser reflejada hacia la cmara cuando se encuentre algn saliente. Por tanto, resulta til para resaltar protuberancias y hendiduras de la superficie del objeto. Iluminacinconluz polarizada: puede servir para eliminar brillos de objetos brillantes, como en el caso de una bolsa de patatas, dado que los filtros que se instalan en iluminacin y cmara impedirn que la luz que no provenga de lafuentedeiluminacin, yqueportantopresentardistintapolarizacin, sea capturada por la cmara. Iluminacinestructurada: mediantelaproyeccindepuntos, franjaso rejillas de luz sobre la superficie de trabajo se establece un patrn que permite extraer las caractersticas dimensionales del objeto por medio de la medicin de la distorsin que sufre dicho patrn de luz ante la presencia de un objeto. Uno de los sistemasmsconocidosconsisteenlailuminacinconunhazlserplano,de modoque al situarse enunnguloconocidorespectoalacmara, lalnea proyectada y distorsionada por la presencia de un objeto presentar un determinado desplazamiento segn la profundidad a la que se encuentre el punto, permitiendo de este modo conocer su posicin en el espacio, y finalmente reconstruir el objeto 3D mediante tcnicas de computacin. Montajesconespejos:losmontajesrealizadosconespejospermitenver distintas partes de un objeto en una misma imagen. 1.2 Captura de imagenEn la captura de imagen intervienen las cmaras y las tarjetas de adquisicin de imagen, estando las cmaras, al igual que el ojo humano, formadas por una lente convergente que proyecta la imagen sobre una superficie sensible a la luz denominada sensor de imagen.3Visin artificial 1.2.1 Sensores digitales de imagenLossensoresdigitalesdeimagenestnformadospor unaseriedeelementos fotosensores (sensibles a la luz)que modifican su seal elctrica segn la intensidad luminosaquereciben, loque permitelacapturadelospuntos queconformanla imagen.Estos sensores suelen estar configurados en forma matricial de modo que proporcionan una imagen bidimensional.Anivel industrial tambinseempleanlossensoresconconfiguracinenlnea, dada sus altas resoluciones, cuando los objetos se sitan en superficies en movimiento para aplicaciones de medida (metrolgia).Con objeto de reducir costes suelen existir en el mercado multitud de cmaras que emplean lo que se conoce como imagen entrelazada, donde se capturan por un lado las lneasparesypor otrolasimpares, conloqueal hacerseeninstantesdetiempo diferentes no pueden ser empleadas con objetos en movimiento.Los sensores son realizados en dos dos tecnologas, principalmente en CCD y en CMOS.Sensor CCDLatecnologaCCD(ChargeCouplingDevice) eslaqueproporcionaunamejor imagen, sobre todo en el caso de las cmaras profesionales en las que se emplea un sensor para cada color, mientras que en las de consumo se emplea un nico sensor, de modo que este est constituido como un mosaico de detectores de colores y por tanto capturaunamenordensidaddepuntos. Cuandoel sensorhacapturadolaimagen enva la informacin completa serializada fila a fila.Sensor CMOSLa tecnologa CMOS es la ms econmica, y ofrece un menor tamao, gracias a su gradodeintegracinelectrnica. Adems, puedecapturar partesdelaimagen, no teniendo que transmitirla completamente.CaractersticasAlahoradeseleccionar unacmarahayquetener encuentaunaseriede caractersticas, y entre las principales se destacan: Resolucin: nmero de pxeles que conforman la imagen capturada. Sensibilidad: nivel mnimo de iluminacin que puede capturar el sensor.4Visin artificial Rangodinmico: margendeluz(intensidadluminosa)quepuedecapturarel sensor, o sea, diferencia mxima entre luz y oscuridad que puede distinguir. Seal/ruido y Smear: influencia entre pxeles. Velocidad: velocidadmxima a la que puede capturar imgenes, siendo su medida en frames por segundo [fps]. 1.2.2 ObjetivosEl objetivotienecomofuncinconcentrarlosrayosdeluz,provenientesdelos objetos a visualizar, en un plano donde se formar la imagen para ser captada por el sensor.Est formado por el diafragma, que controla la apertura y por tanto limita el haz derayosentrante, lalente, queenfocael objeto, yelzoom, quepermitevariarla distancia focal (distancia al objeto).El diafragma permite regular la apertura del objetivo y con ello la luminosidad de la imagen. Adems, aunque al cerrar el diafragma los rayos salen enfocados independientemente de la distancia al objeto, entrar menos luz y por tanto la escena ser ms oscura, con lo que se requerir un mayor tiempo de exposicin.La lente viene caracterizada por la distancia focal (f), que es la distancia desde su centro hasta el punto en el que convergen los rayos que llegan paralelos a ella. As, el aumentodeladistanciafocal disminuyeel campovisibleyconelloladistanciade trabajo de la misma.De este modo, el desenfoque se produce segn el objeto se aleja o acerca de la posicin ideal, dado que la imagen dejar de formarse sobre el sensor, y por tanto cada punto de la imagen no se corresponder con su elemento correspondiente del sensor. Para corregirlo, se cambia la focal de la lente, lo que se traduce en variar la distancia entre lente y sensor.Existenunaclasedeobjetivos, llamadostelecntricos,quepermitenver los objetos en proyeccin ortogrfica; siempre y cuando sean ms pequeos que el dimetro de la propia lente.5Eje pticofLenteDiaf ragmaVisin artificialCaractersticasLa dos caractersticas principales que definen un objetivo son: Campo visible(FOV): es el rea visible por la lente para una cierta distancia de trabajo en la que los objetivos aparecen enfocados. Profundidad de campo(DOF): es el rango de distancias a las cuales los objetos se encuentran enfocados.Seleccin de la lenteComo la lente est muy cerca del sensor frente a la distancia al objeto, se aproxima la distancia focal (f) por aquellaque existaentre lalente yel sensor, de modo que los rayos pasarn por el centro de la lente.As, si se desea que un objeto de 150x150 mm sea recogido por una cmara con un sensor CCD 1/3 (3,6x4,8 mm) que se coloca a 400 mm del objeto, la distancia focal mxima que permitira que el objeto entrase en la imagen capturada por el sensor, vendra dada por:fh= FHDe tal modo que para que el objeto quepa en la imagen, la distancia focal mxima vendr dada por la altura menor del sensor (h=3,6 mm), siendo H=150 mm la altura del objeto y F=400 mm la distancia.Distancia focal: f = (3,6 400) / 150 = 9,6 mm 1.3 Procesado de imagenUnaimagendigital noesmsqueunarreglomatricial dondeel valordecada elemento ( img(x,y)), cuyas coordenadas en el plano son (x,y), representa elnivel de intensidad de iluminacin de cada pxel (punto) que la compone.6Lente de Fresnel: est compuesta por microcurvaturas que le permiten, en teora, ser igual de funcional que una lente de alta curvatura. En la prctica se utilizan, principalmente, paraconseguir unafuente de luz colimada (rayos paralelos) a bajo coste, dado su ahorro de material.fFEje pticoHSensorObjetohLenteVisin artificialAunque lo dicho se refiere a una imagen en escala de grises, donde cada pxel presenta un valor asignado de entre 0 y 255 (un byte), en las imgenes en color se tiene un conjunto valores, dependiendo del modelo de color, por cada pxel. 1.3.1 Modelos de colorAunqueexistenmultituddemodelosdecolorsegnsufinalidad, losmodelos tpicos empleados en procesamiento digital son el RGB y el HSI.El modelo RGB representa el color de cada pxel por medio de un conjunto de tres valores, donde cada valor representa el nivel de intensidad de cada uno de los colores bsicos: rojo, verde y azul.El modeloHSIrepresentalosvaloresdetono, saturacineintensidad.El tono representa la fuerza del color, la saturacin representa el grado con el que el color se diluyeenluzblanca, ylaintensidadpresentalacaractersticadeserprcticamente independientedelailuminacin, yseobtienecomolasumadelosvaloresRGB(I =R+G+B ).As, mientras que una imagen RGB presenta los colores que deben ser directamenterepresentadosenel monitor, unaimagenHSI resultaapropiadapara obtener informacin independientemente de las condiciones de iluminacin. 1.3.2 Tratamiento de imagenEn el tratamiento de imagen se realiza un procesado a bajo nivel para mejorar las caractersticas de la imagen, ya que aunque esto no aumentar la informacin contenida en ella si puede mejorar su visualizacin o tratamiento posterior.Transformaciones de histogramaEl histograma es el grfico de las frecuencias de aparicin de cada nivel de gris, o 7Imagenimg(x,y)(0, 0)XYwidthheightVisin artificialde los niveles de cada canal de un modelo de color de la imagen, y facilita informacin para realizar multitud de operaciones de reasignacin de los valores de cada pxel de la imagen. Negativo o vdeo inverso: cambia valores oscuros por claros y viceversa, de tal modo que g(x,y) = 255 f(x,y). Imagen gamma: resalta los oscuros y satura los claros, mejorando la percepcin en imgenes oscuras, o a la inversa, (g(x,y) = f(x,y)) segn el valor del exponente. Pseudocolor: se asigna un mapa de colores a una imagen en escala de grises, o se reasigna el mapa de colores de una imagen a color (color falso), con lo que se logra apreciar detalles de la imagen que debido a la limitacin del ojo humano (slo detecta unos 20 niveles de gris) pasaran desapercibidos. Estiramiento del histograma: se emplea para mejorar el contraste de las imgenes, dado que distribuye un intervalo del histograma de la imagen de modo que ocupe todo el rango de valores, de tal modo que g(x,y) = 255 (f(x,y) a)/(b-a)), donde [a,b] es el intervalo de la imagen que ser extendido. Ecualizacin del histograma: intenta igualar la frecuencia de aparicin de todos los niveles de gris, mejorando el contraste de la imagen, aunque a veces puede provocar la aparicin de ruido donde hay una rampa en el histograma acumulado.Eliminacin de ruidoEl ruido tipo sal y pimienta(Salt andPepper) es untipo especial de ruido impulsivo, que presenta un punteado caracterstico que lo hace fcilmente identificable y que se elimina mediante el empleo del filtro de mediana. Este filtro presenta la ventaja de no eliminar los bordes como lo hara un filtro de media, aunque resulta computacionalmente costoso debido a que requiere la ordenacin de los valores de los puntos de la vecindad para calcular la mediana y as sustituir el valor de cada pxel.El ruido coherente es aquel que presenta un patrn de comportamiento frecuencial, y se elimina por medio del filtrado en frecuencia. Para esto, se realiza la transformacin en frecuencia de la imagen por medio de la aplicacin de la transformada discreta de Fourier (DFT), y se le aplica un filtro para eliminar el ruido. 1.3.3 SegmentacinEn la segmentacin se busca la separacin entre objetos y fondo.El mtodo de segmentacin ms simple es la umbralizacin, donde se transforma 8Visin artificialla imagen a binaria, asignando a cada pxel uno de dos valores segn su valor original supere o no uno conocido como threshold (umbral).La identificacin de bordes (edges) o contornos, representa otro mtodo de segmentacin, yconsisteenlaaplicacindealgunodelosncleosdeconvolucin (Soble, Roberts, Laplaciano) diseado a tal efecto. Con estas operaciones se identifican las regiones en las que los pxeles experimentan fuertes variaciones en sus niveles de intensidad.Tambinexistelaposibilidaddeaplicarunalgoritmoconocidocomofiltrode Canny para detectar un contorno ptimo de un pxel de ancho. Este filtro consiste en la determinacin del borde ms probable bajo las condiciones de que: debe detectar todos loscontornosysolamenteloscontornos, ladistanciaentreel pxel sealadocomo contorno y el contorno real debe ser tan pequea como se pueda, y un nico contorno debe ser identificado por un nico pxel. De este modo la aplicacin del filtro de Canny produce un mximo local donde existe un contorno, eliminando as los efectos del ruido.Operadores morfolgicosSuelen emplearse en la mejora de los resultados de la segmentacin, los conocidos como operadores morfolgicos, dado que se basan en la matemtica morfolgica, ya que descartan o unen puntos que componen los objetos presentes en una imagen segn un criterio de forma.Para esto, las distintas operaciones morfolgicas emplean una estructura (ncleo) quedefinelaformaytamaodelasuperficiemnimaquecomponeel objeto. Yse definendosoperacionesbsicas, erosinydilatacin, quedarnlugaraotrasdos, apertura y cierre.Con la erosinse seleccionan los puntos para los cuales el ncleo se encuentra totalmente incluido en la imagen.Con la dilatacin se seleccionan los puntos para los cuales el ncleo toca a algn punto de la imagen.Conlaaperturase eliminanobjetos pequeos y se suavizanlos contornos generados por la mala segmentacin, dado que est compuesto por una operacin de erosin seguida de una de dilatacin.Conelcierrese cierranlos huecos y aperturas del tamao del ncleo que presente el objeto, dado que est compuesto por una dilatacin seguida de una erosin.9Visin artificial 1.3.4 Etiquetado y clasificacinEn el etiquetado se busca distinguir entre los distintos objetos encontrados en la etapaanterior. As, seagrupanlospuntosconcaractersticassimilaresparaformar objetos a los que se les asigna un identificador nico (etiquetado).Posteriormente, sevamsall, yseclasificanenclases, categorasomodelos segn sus propiedades. 1.3.5 Visin estreoSe conoce como visinestreo al empleo de dos cmaras pararecuperar la informacin de profundidad de un objeto empleando tcnicas de visin artificial.Para simplificar notablemente el problema se emplean dos cmaras iguales, tanto ptica como geomtricamente, que se alinean situndose sus ejes paralelos y coplanarios.Al cumplirseloanterior setienequesepuedeaplicar larestriccinepipolar, donde los pares conjugados (puntos correspondientes entre las dos imgenes) aparecern sobre la lnea epipolar, resultado de la interseccin del plano epipolar con el objeto.Para obtener la profundidad de cada punto , y as realizar la reconstruccin 3D, habr que recorrer los puntos de una de las imgenes buscando los correspondientes en la otra (encontrar pares conjugados), para encontrar las disparidades, y con ellas, las profundidades.Para realizar esta bsqueda-correlacin de los puntos de la imagen se emplea el mtodo de mxima correlacin (mxima correspondencia), donde se recorta un patrn entornoal puntoabuscardeunadelasimgenes, al quellamaremosventanade correlacin, y se recorre la otra imagen calculando su correlacin, de tal modo que aquel 10Prof undidadmnimadetectablebPlano epipolarObjetoCmarasVisin artificialcuyo valor sea mximo ser el ms semejante.Empleandolarestriccinepipolar, sesabequelospuntoscorrespondientesse encontrarn en su entorno, y teniendo en cuenta el horopter, se restringe el rango de bsqueda, a la llamada ventana de bsqueda, en torno a la localizacin del punto (u) en laotraimagenpor medio de unintervalodefinido por el mximodesplazamiento posible.Mediante esta comparacin se obtiene para cada punto de la imagen izquierda un vector de candidatos, donde se considerar que el par conjugado es aquel que presenta la mxima correlacin.El horopter representa el rango de inters sobre la lnea epipolar, dado que para encontrar el punto correspondiente en la otra imagen no ser necesario recorrer toda la lnea epipolar, ya que el objeto debe presentarse en un determinado rango de disparidad, ya que tanto si se encontrase demasiado cerca como demasiado legos no se producira la convergencia de los rayos.As, tenemos que la profundidad de un punto vendr dada por:z=bfdDonde b es la distancia entre cmaras, f la distancia focal, y d la disparidad entre el punto y su correspondiente en la otra imagen.An, con todas estas hiptesis, el coste computacional es elevado y la precisin disminuye con la distancia. 1.3.6 Template matchingSeempleaparaidentificarunapartedeterminadadelaimagenpormediodel empleo de una plantilla (template).Para ello se establece un ncleo formado por el trozo de imagen que contiene la 11u uLnea epipolarVentana de correlacinVentana de bsquedaImagen i zqui erda Imagen derechaVisin artificialplantilla (g(x, y)) y se busca la regin de mayor semejanza dentro de la imagen (f(x, y)), lo que vendr dado por la mxima correlacin. As:Ri , j )=m nf i +m , j+n)g m, n) Mejor correlacin = max Ri , j ))NOTA: Para que los resultados sean independientes de la imagen, se emplea la correlacin normalizada.12Procesamiento de imagen con Python 2. Procesamiento de imagen con PythonEl procesamiento de imgenes digitales es el uso de algoritmos de computadora para el tratamiento de imgenes digitales. Adquisicin de la imgen Preprocesamiento Segmentacin Representacin y descripcin Reconocimiento e interpretacin 2.1 PILPIL (Python Image Library) es una librera para el manejo de imgenes con Python.Paramanejarlasimgenesseutilizael mduloImage, cuyasfuncionesopeny save permiten cargar y guardar, respectivamente, una imagen en o desde un archivo. La librera, automticamente, determina a partir de la extensin del nombre de archivo el formato de la imagen.Cuandosecargaosecreaunaimagen, loquerealmentesehaceescrearun objetoImage, a travs delcualse da acceso a una serie de mtodos y atributos que facilitarn su manipulacin y tratamiento.As, por ejemplo, el tamao de la imagen es devuelto por el atributo size como un par cuyos valores son el ancho (width) y el alto (height) de la imagen en pxeles. Otro atributo, mode, define el modelo de color de la imagen, como L (luminance) para escala de grises o RGB para color verdadero.#!/usr/bin/env python# Carga una imagen .jpg, la visualiza y la guarda como .pngimport Imageim = Image.open("fruits.jpg")print im.size, im.modeim.show()im.save("fruits.png")13Procesamiento de imagen con Python 2.1.1 NegativoEl mtodo point proporciona un camino para cambiar los valores de los pxeles de la imagen de una forma directa mediante el empleo de expresiones lambda (funciones definibles en una sola lnea), al ser procesado cada pxel de la imagen de acuerdo a la funcin indicada.Esta tcnica permite aplicar, rpidamente y en una nica expresin, todo tipo de transformaciones de punto a una imagen.#!/usr/bin/env python# Genera el negativo de la imagenimport Imageimage = Image.open("fruits.png")image = image.point(lambda i: 255-i)image.show()14Procesamiento de imagen con Python 2.1.2 Representacin a lo MatlabMediante la librera matplotlibse pueden realizar representaciones grficas 2D con una interfaz similar a Matlab.#!/usr/bin/env python# Representa los histogramas de la imagen a colorfrom pylab import *import Image# Carga la imagenimage = Image.open("fruits.png")# Representa la imagensubplot(121)im = imshow(image)# Representa los histogramastitle("Histograma")h = image.histogram()subplot(333)bar(arange(256), h[0:256], ec="r", fc="r")subplot(336)15Procesamiento de imagen con Pythonbar(arange(256), h[256:512], ec="g", fc="g")subplot(339)bar(arange(256), h[512:768], ec="b", fc="b")# Visualiza el resultadoshow() 2.2 OpenCVOpenCV(OpenSourceComputer VisionLibrary) esunalibreradefunciones orientadas al procesamiento de imgenes entiempo real, desarrollada por Intel y liberada como open source, que permite su uso desde Python tanto en Windows como en Linux. 2.2.1 Capturando desde una webcamA continuacin se muestra como capturar y visualizar las imgenes adquiridas a travs de una webcam.#!/usr/bin/env python# Captura las imagenes de una webcamimport sysfrom opencv import cv,highguiif __name__ == '__main__':# Inicia el dispositivo de capturacapture = highgui.cvCreateCameraCapture(0)# Crea la ventana de visualizacionhighgui.cvNamedWindow("Webcam", highgui.CV_WINDOW_AUTOSIZE)# Bucle de captura infinitowhile 1:16Procesamiento de imagen con Python# Captura de la imagen actualframe = highgui.cvQueryFrame(capture)# Muestra la imagen capturadahighgui.cvShowImage("Webcam", frame)# Captura los eventos de teclado mediante una esperac = highgui.cvWaitKey(10)# Detiene la ejecucion al pulsar Escif c == "\x1b":breakcvDestroyWindow("Webcam")17VirtualSketch 3. VirtualSketch 3.1 IntroduccinVirtualSketchesunaaplicacindeescritorioquepormediodevisinartificial permite una interaccin directa entre hombre y computador a travs de una webcam.De forma natural, y con la nica ayuda de una webcam para capturar la imagen, se puede dibujar directamente en el ordenador. La idea es utilizar cualquier clase de marcador, como el dedo o un bolgrafo para dibujar de forma virtual sobre cualquier tipo de superficie, trazndose el dibujo en el ordenador.As, en posteriores versiones se pretende utilizar una simple hoja de papel como panel y medianteelmarcadorcontrolar el movimiento del puntero, loque permitira simular desde una pantalla tctil hasta una tableta digitalizadora, por supuesto, con las limitaciones de precisin que implica la resolucin de la webcam. 3.1.1 ObjetivosCuando se desarrolla cualquier proyecto resulta fundamental mantener en mente una serie de objetivos que se establecen en su inicio.En este caso: La identificacin del marcador debe ser robusta y totalmente automtica. El seguimiento del marcador debe realizarse con la mxima precisin y estabilidad que permitan los recursos disponibles. Los resultados debenser independientes de la posiciny orientacinde la cmara. El funcionamiento ha de ser simple y transparente al usuario. 3.1.2 MtodoParacapturarlaposicindeunobjetopormediodevisinartificial hayque 18 VirtualSketch v0.1Requiere Microsoft .NET Framework, versin 2.0VirtualSketchresolverdosproblemas. El primeroconsisteenidentificarylocalizarel objeto, yel segundo es establecer la correspondencia entre la posicin medida (localizacin en la imagen) y la real (localizacin en el mundo real).Para identificar el objeto se utiliza deteccinde movimiento, comparando la imagen capturada con una que se toma como referencia (background) y en la que no se puede encontrar el objeto. Con esto se puede identificar el marcador sin su conocimiento a priori e independientemente de las condiciones de iluminacin.Para definir la correspondencia entre la posicin medida y la buscada, se emplear en prximas versiones la identificacin del recinto rectangular que representa la hoja de papel, y que dado que presenta dimensiones conocidas permite la determinacin de la homografa o matriz de proyeccin, que establece la correspondencia entre las coordenadas de la imagen y las reales. 3.2 Identificacin del marcadorPara identificar el objeto que servir como marcador hay que capturar el fondo de tal modoquesirvacomoimagendereferencia, ypormediodeladiferenciaconla imagen capturada detectar los cambios.Los cambios entre los pxeles de la imagen de referencia y la actual posibilitan que mediante la aplicacin de un determinado umbral se pueda binarizar la imagen para identificar el marcador.Una vez identificado el objeto, se establece el patrn de color que lo identifica, y se utiliza el algoritmo meanshift, para realizar y el seguimiento y proporcionar la localizacin del marcador.Paraquelosresultadosseanidependientesdelascondicionesdeiluminacin, habr que utilizar un modelo de color como el HSI (Tono, Saturacin, Intensidad), en vez del RGB. 3.2.1 Algoritmo meanshiftEl algoritmo meanshift permite el seguimiento de objetos basado en una segmentacin en color, por medio de la bsqueda del mejor candidato en las posiciones vecinas de dos frames consecutivos.As: Se establece un modelo de referencia en el frame actual. Se calcula el modelo.19VirtualSketch Se busca el modelo en el siguiente frame.Paraencontrarel modeloseempiezaenlaposicinactual ysebuscaenlas posiciones vecinas del siguiente frame, as, cuando se encuentra el mejor candidato segn una funcin de mxima similitud, se detiene el algoritmo y se repite con el siguiente par de frames. Captura del fondoCuandoseinicialacmaralaimagenestarvariandohastaqueel sensorse acomode. En ese momento se capturar la imagen de referencia dado que se tendr una imagenestable, dondelasnicasvariacionesserndebidasaloserroresdel propio sistema de captura y a las pequeas variaciones ambientales. Deteccin de movimientoPara detectar el movimiento, una forma sencilla, consiste en realizar la sustraccinentre la imagenactual y la de referencia. De esta forma, la imagen resultante contiene los cambios entre imgenes, con lo que mediante la aplicacin de un determinado umbral permite identificar los cambios (presencia del marcador).As, se restan los pxeles de las imgenes en RGB y se convierte la diferencia a nivel de gris.Para convertir entre RGB y escala de grises se aplica:GRAY =0,299R+0,587G+0,114B SegmentacinPara obtener el umbral que permita segmentar la imagen de forma automtica se utiliza el mtodo Otsu.Este mtodo proporciona el umbral ptimo (threshold) para la segmentacin de la imagen bajo el criterio de mxima varianza entre fondo (background) y objeto (foreground).As, se calcula la varianza entre todas las posibles divisiones y se toma el umbral que presenta la mxima varianza entre clases, de tal modo que:T=maxc2)[umbral ptimo]siendo20VirtualSketchc2=wBuBu)2+wFuFu)2 [varianza]wk=i=0kpi [probabilidad acumulada]uk=i =0kipi [media acumulada]uc=ukok [media de la clase (B o F)]Dondepi es la probabilidad de aparicin de un determinado niveli . IdentificacinUna vez obtenida la imagen binaria podra parecer que el resultado ser nuestro marcador, pero lo cierto es que probablemente el resultado presente agrupaciones de pxeles que deben ser descartadas. De modo que sera recomendable aplicar un algoritmodeconectividadparaidentificarel objeto, discerniendoentrelasdistintas agrupaciones de pxeles (blobs2) para poder seleccionar el correcto segn un criterio de tamao, pero por simplicidad, an no se ha implementado.Para restringir la bsqueda y optimizar el procesado, se define una ventana de bsqueda, queparasimplificar sercuadrada, detal modoquesutamaoqueda definido por el radio del crculo inscrito.Al definir una ventana de bsqueda, se tiene un comportamiento similar al que presentara una ficha de parchs, donde permanece inmvil mientras no se desliza con el movimiento del dedo que se sita encima. LocalizacinPara establecer la localizacin del marcador se utilizan sus caractersticas geomtricas.2 Los blobs son agrupaciones de pxeles, en imgenes binarias, entre los cuales existe conectividad.21Ventana de bsquedaVirtualSketchEl centroide o centro de masas ( XCM,YCM) viene dado por:(XCM=XiA, YCM=YiA)Donde el tamao queda definido por medio del rea ( A ), que no es ms que el nmero de pxeles que lo componen, y que tambinse utiliza para identificar el marcador, dado que ser el mayor.Se puede obtener la orientacin del marcador por medio de la determinacin de los ejes principales de inercia, cuya direccin queda definida por medio del ngulo (0), siendo aquel que forman los ejes principales con respecto al sistema de referencia (x ,y ) situado en el centro de masas.tan 20)=2PxyIxI yDonde los momentos de inercia del blob respecto a los ejesxeyvienen dados por:Ix=yi2,I y=xi2Y, el producto de inercia por:Pxy=xiyi Dado que la posicin de los pxeles viene dada para el sistema de referencia absoluto ( X ,Y ) de la imagen, habr que aplicar el teorema de Steiner para determinar los momentos y el producto de inercia que hay que aplicar.I p=ICM+Ad p2De tal modo, que los momentos y productos de inercia quedan definidos a partir de aquellos respecto al origen de la imagen, como:22Imagenimg(x,y)(0, 0)XYwidthheightxy(XCM, YCM)VirtualSketchI X=Yi2 AYCM2IY= Xi2 AXCM2PXY=XiYi AXCMYCM 3.3 ImplementacinLa implementacin se ha realizado en C#, utilizando: SharpDevelop IDE .NET 2.0 Implementado En desarrollo Capturas de pantalla23Name: stringEstimateLocation: PointFLocation: PointFSize: intThreshold: byteProcess(): voidtracking: boolMarkerPublic ClassPropertiesMethodsDiference(): voidOtsuThreshold(): byteBinarize(): voidLocate(): PointFKalmanFilter(): PointFFiltro de Kalman 4. Filtro de Kalman 4.1 IntroduccinTodosistemadinmico3puedeser representadoensuformageneral por un conjunto de ecuaciones de estado( x ), que en su forma discreta se expresan como:x k+1)=A xk )+Buk )y k)=C x k)+Du k)Mientrasqueel primerconjuntodeecuacionesmodelael comportamientodel sistema, el segundoexpresalas ecuaciones de medida, osea, relacionalos datos recogidos por los diferentes sensores y el estado del sitema.Dadoquelasmedidas( y ) presentarnundeterminadoerror4( v ), para obtener la medida que ms se aproxime a la real se debe encontrar la mejor estimacin ( x ) para el vector de estado.Esta mejor estimacin se contempla como aquel vector de estado que minimiza la suma de los cuadrados del error5, de tal modo que:y=Cx+v x= CTC )1CTyDadoquealgunasmedidassernmsfiablesqueotras, porquenotodoslos sensores sern igual de fiables, y considerando que las medidas son independientes, se tiene que la matriz de covarianzas (R) ser diagonal, con lo que se introduce una matriz de ponderacin ( V ) formada por las inversas de las varianzas de cada sensor, de tal modo que: xopt= CTV C)1CTVy 4.2 Filtro de KalmanEl filtro de Kalman es una mejora empleada en la estimacin del estado de un sistema dinmico, dado que adems de las medidas, emplea el modelo del sistema.3 Un sistema dinmico es aquel que vara con el tiempo.4 Por el principio de incertidumbre de Heisenberg se sabe que la observacin de cualquier sistema implica una alteracin del estado del mismo.5 La pseudoinversa de una matriz [ (CTC)-1CT ] proporciona una solucin de mnimos cuadrados (error mnimo) cuando la matriz del sistema no es cuadrada.24Filtro de KalmanAs, conel modelo del sistema se realiza unaprediccindel estado que es corregida por el sistema de medida.Dado que el modelo discreto del sistema podr ser expresado como:[Prediccin]x k+1)=A xk )+Buk)[Medida] yk )=C xk )Y teniendo en cuenta que cada medida y cada estimacin tendrn un determinado gradodeconfianza, yunosdeterminadoserroresdemedida( v k) ) yprediccin(wk ) )6, se tiene que:[Ecuacin del modelo]x k+1)=A k) xk )+B k) uk)+Ek )w k)[Ecuacin de las medidas] yk )=C k) xk)+vk )Si se asume que estos errores son gaussianos de media nula e incorrelados, se tiene que sus matrices de covarianza son diagonales, siendoQla de la ecuacin de propagacin, yRla de la ecuacin de medida.Adems, si el sistemaesnolineal, yaseaensuecuacindeestado, oensu ecuacindemedidas, oenambas,hayquelinealizardichasecuacionesmediantele clculo de los jacobianos entorno al punto de trabajo.Finalmente, la solucin por el filtro de Kalman viene dada por: Establecimiento de las condiciones iniciales: estado inicial ( x0) ) e incertidumbre inicial ( P0) ). Propagacin: estimacin del estado segn el modelo del sistema y la propagacin de su covarianza. x=A x+BuP=AP AT+E Q ET Actualizacin: correccin de la la estimacin del estado conla informacin procedente de las medidas.L=PCT| C PCT+R1P=P LC P6 Ruido del sistema y error del modelo.25Filtro de Kalman x=x+ L

correcciny

medida C x

estimacin) 4.3 Aplicacin del filtro de Kalman 4.3.1 Estimacin de la posicin de un telfono mvilSevaaaplicarel filtrodeKalmanparaestimarlaposicindeunusuariode telfono mvil que se encuentra en un rea en la que se conocen las distancias a tres estaciones base, localizadas en posiciones conocidas.Se asume que el telfono se mueve en un espacio plano delimitado por slo tres estaciones base situadas en las posiciones: (0, 0), (500, 1000) y (1000, 500).La intensidad de la sealrecibida desde cada estacin base permite estimar la distancia entre telfono y repetidor, y se asume media nula y error tpico de 10 m ms el 10% de la medida correspondiente.Como el usuario podr estar en movimiento se asume un desplazamiento aleatorio, de modo que en las condiciones normales de funcionamiento el desplazamiento tpico entre dos instantes de muestreo es de 50 m. 4.3.2 Desarrollo1. Definicin del vector de estado.Dadoquesetrataderesolverlaposicindel telfonomvil respectoal mismo sistema de referencia absoluto que da la situacin de las estaciones base, el vector de estado vendr definido por las coordenadas cartesianas que indican su posicin.x=|XY2. Definicin del modelo dinmico.Como se desconoce totalmente la evolucin de la persona que porta el telfono, se supondrqueestparada, yportanto, todavariacindeposicinserasociadaal error de la ecuacin de propagacin del estado (error de prediccin).|XYk+1)=|1 00 1|XYk )+w k)3. Modelado del error de prediccin.Dado que se asume undesplazamiento aleatorio de unos 50 m, entre dos muestreos consecutivos, y dado que se asume que este error es de media nula y no 26Filtro de Kalmancorrelado, lamatrizdecovarianzasdelaestimacin( Q ) vendrdefinidaporlos valores de varianza ocupando las posiciones de la diagonal.w k)N 0, Q) / Q=|50200 5024. Definicin de las ecuaciones de medida.Dado que la medida que se tiene es la distancia a cada una de las estaciones base, vendr dada en funcin de las coordenadas cartesianas por la distancia Eucldea, de tal modo que:di=. X Xi)2+Y Yi)2+vi con i=1, 2, 35. Linealizacin de las ecuaciones de medida.Como resulta que la ecuacin de medida no es lineal, para poder aplicar el filtro de Kalman, hay que linealizarla por medio de la aplicacin del jacobiano, de tal modo que:( )( ) ( )11 1221 222 21 1 2 231 32 siendoij jiiji ijh hx xdh h hxx x x xh h = = = + H6. Modelado del ruido.Dado que el error de las medidas es de 10 m ms un 10% de la distancia, se tiene que:v k)N 0, R) /R=|10+0,1d1)20 00 10+0,1d2)200 0 10+0,1d3)27. Establecimiento de valores iniciales.Definido el problema, para establecer los valores iniciales que permitan ejecutar el filtroseasumirqueel mvil estcercadel origen, ydadoqueel estadoinicial es desconocido se asignar una covarianza muy grande, una desviacin tpica de 500 m en cada coordenada, de tal modo que se tienda hacia una estimacin real de la posicin del usuario.x0)=|XY0)=|1010 P0)=|500200 500227Identificacin de un contorno rectangular 5. Identificacin de un contorno rectangular 5.1 IntroduccinCuandosequiereobtener, independientementedelaposicindelacmara, la imagen de un plano delimitado por un contorno rectangular, como una hoja de papel o la pantalla de un ordenador, se puede establecer la proyeccin que define la verdadera proporcin de la imagen conocidas las dimensiones reales del rectngulo e identificndolo en la imagen.Para identificar ese contorno rectangular se realiza un proceso de tres etapas:1. Se aplica un operador tipo laplaciano para detectar los bordes existentes en la imagen.2. Sobrelaimagendebordes, seidentificanlosbordesrectospor mediodela aplicacin de la transformada de Hough para lneas.3. Unavezobtenidaslaslneas,sebuscanaquellasqueverificanlascondiciones impuestas por un contorno rectangular. 5.2 Deteccin de bordesUn borde es toda regin de la imagen donde aparece una fuerte variacin del nivel de intensidad entre pxeles adyacentes.Alahorade identificar unborde enunaimagen, existendos posibilidades matemticas, aplicar unfiltrobasadoenunoperador gradienteoenunoperador laplaciano.La diferencia estriba en que mientras que con el operador gradiente se obtienen los niveles de variacin entre pxeles, con el laplaciano lo que se obtiene son los puntos de inflexin de las variaciones de intensidad, o sea los cambios de tendencia.Dado que todos los operadores de gradiente proporcionan resultados similares, se suele emplear el operador de Sobel, cuyo kernel de convolucin vara segn la direccin de deteccin de los bordes, as:|1 2 10 0 01 2 1 o|1 0 12 0 21 0 1 [Sobel]Dadoque se desconoce laorientacindel contorno, se optapor el operador 28Identificacin de un contorno rectangularlaplacino, que adems es ms exacto que el gradiente en la precisin del borde , siendo su kernel de convolucin tpico:|0 1 01 4 10 1 0 [Laplaciano] 5.3 Deteccin del contorno rectangularPara la identificacin de contorno rectangular se aplica, sobre la imagen de bordes binarizada, latransformadadeHoughparalneas, paradeestemodoidentificarlas lneasrectasdelaimagenquepermitirnencontrarlasqueconformanel contorno rectangular.Tranformada de Hough para lneasLa transformada de Hough para lneas es una tcnica muy robusta que permite encontrar puntos alineados en una imagen binarizada, o sea, detectar lneas rectas.Una serie de puntos (xi, yi) alineados definen una lnea recta cuya ecuacin en la forma explcita es y = mx + b. Con lo que cada recta del espacio de la imagen (X, Y) vendr dada por un nico par (m, b) en el espacio paramtrico.Debido a que tanto la pendiente de la recta (m) como el trmino independiente (b) tienden a infinito cuando la recta tiene una posicin cercana a la vertical, en lugar de utilizar la ecuacin y = mx + b se emplea la parametrizacin (, ), que define la recta en su forma polar: = x cos + y sen Por tanto hay que realizar una transformacin entre el plano de imagen (x, y) y el espacio de parmetros (, ).29Identificacin de un contorno rectangularComo por cada punto de la imagen podrn pasar un nmero infinito de rectas, y por tanto podr presentar un conjunto infinito de parmetros, se toma un espacio de parmetros discretizado.As, dado que dos puntos que estn sobre la misma recta presentarn un par de parmetros comunes, si por cada punto perteneciente a la recta se genera un voto sobre unacumulador, setienequeel nmerodevotosparaunpardeparmetrosesel nmero de puntos perteneciente a esa recta.Para ello, en la transfomada de Hough se crea una matriz de acumulacin A(i,j) que subdivide el espacio paramtrico en una serie de intervalos que irn desde mina max, ydesdeminamax, de tal modocadacelda(i,j) de lamatriz contendrla probabilidad de que (i, j) sea una recta de la imagen.Dadoquelaparametrizacin(, ) sedefinedesdeel centrodelaimagen, los intervalos de valores posible para una imagen de tamao WxH vendrn dados por: |.W 2+H22

d, .W2+H22

d 0 | 0,n)Deestemodosetomaunconjuntodengulos 0 deprueba, resultadode dividir 90 veces el intervalo [0, 180) , y con cada uno de ellos se calculan los valores de para cada punto de la imagen y se vota la celda de acumulacinA(i,j) correspondiente a (,), estando el intervalo [-d, d] dividido en 100 partes, donde d es la mitad de la diagonal de la imagen.Finalmente se tiene que las celdas de la matriz de acumulacinA(i,j), ms 30Imagenimg(x,y)(0, 0)XYwidthheightwidth/2height/2xyIdentificacin de un contorno rectangularvotadas, sern las rectas ms probables, y siempre segn la precisin de las subdivisiones tomadas.Algoritmo// Descripcin del algoritmo1. Inicializar el acumulador a cero.2. Para cada punto de la imagen calcular los posibles valores de partiendo de los valores de . = x cos + y sen 3. Incrementar la celda del acumulador correspondiente.A(,) ++4. Identificar las celdas con mayor valor. 5.4 Identificacin del contorno rectangularFinalmente, paralocalizarlosvrticesquedefinenel contornorectangular, se buscarn entre todas las lneas ms probables proporcionadas por la transformada de Hough aquellas primeras que cumplan las siguientes condiciones: La orientacin de dos lado vecinos debe diferir en al menos 20 (lados perpendiculares). Laorientacinde dos lados opuestos nodebe diferir enms de 20 (lados paralelos). Los lados opuestos deben presentar undiferente en al menos 40 pxeles.31Clculo de la homografa 6. Clculo de la homografaPara establecer la correspondencia entre las coordenadas de la imagen y las reales se asume que la cmara cumple con una perspectiva proyectiva (modelo pin-hole), de modo que la relacin entre la proyeccin de un plano y su vista ortogonal viene dada por la homografa. 6.1 HomografaDado un punto (x, y) que se sita en la proyeccin del plano identificado en la imagen, el punto correspondiente en la vista ortogonal de ese plano buscado (X, Y) viene dado por la relacin que establece la matriz de homografa ( H ), de tal modo que:\XY1)=h11h12h13h21h22h23h31h321 )

Hxy1)donde\es un factor de escala distinto de cero que queda fijado al hacer h33=1 .As, se tiene que para determinar H y con ella realizar la correccin de orientacin y posicin que permita obtener la posicin real del marcador, basta con establecer la correspondencia entre los cuatro pares de puntos, los determinados en la etapa anterior sobre la imagen, y los que representan a los vrtices del contorno rectangular de dimensiones reales, quedando un sistema de ecuaciones lineales con solucin nica, tal que:32v1v2v3v4TransformacinproyectivaV1V3 V4V2Clculo de la homografax1y11 0 0 0 x1X1) y1 X1)x2y21 0 0 0 x2X2) y2 X2)x3y31 0 0 0 x3X3) y3 X3)x4y41 0 0 0 x4X4) y4 X4)0 0 0 x1y11 x1Y1) y1Y1)0 0 0 x2y21 x2Y2) y2Y2)0 0 0 x3y31 x3Y3) y3Y3)0 0 0 x4y41 x4Y4) y4Y4))h11h12h13h21h22h23h31h32)=X 1X 2X 3X 4Y1Y 2Y 3Y 4)Cada punto proporciona dos ecuaciones lineales para la solucin de los elementos de la matriz H, con lo que conocidos 4 puntos se tiene una solucin exacta, ya que h33 = 1. 6.2 Resolucin de sistemas de ecuaciones linealesAlahoraderesolverunsistemadeecuacioneslineales, lasolucinpasapor aplicaralgunodelosmtodosexistentes, pudiendoserdirectooiterativosegnlas caractersticas del problema en cuestin.Annxn=bnEn este caso se opta por aplicar un mtodo directo , concretamente el mtodo de eliminacin de Gauss con pivotacin parcial, con lo que se logra minimizar los problemasdebidosaloserroresderedondeo. Estosedebeaqueconestetipode pivotacin se toma como pivote el elemento de mayor valor absoluto de la columna.Este es el mtodo ms sencilllo de resolucin de sistemas de ecuaciones lineales.1. Eliminacin: consiste en reducir el sistema a uno triangular superior7.2. Sustitucin: consisteenlaobtencindelasolucinpormediodel mtodo conocido como sustitucin regresiva.Otra opcin podra ser aplicar el mtodo de Gauss-Jordan, con el que se elimina la etapa de sustitucin regresiva al eliminar los elementos a ambos lados de la diagonal.7 Matriz que tiene todos sus coeficientes debajo de la diagonal iguales a cero.33Si se tuviesen ms de cuatro puntos, la matriz sera sobredeterminada y H tendra que ser estimado en trminos de minimizacin, donde la mejor opcin pasara por aplicar el mtodo de descomposicin en valores singulares (SVD), dado que facilita la obtencin de una solucin ptima y robusta de un sistema de ecuaciones lineales, a pesar de que se encuentre mal condicionado.