Congreso Internacional de Investigación Tijuana.
Revista Aristas: Investigación Básica y Aplicada.
ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.
PROCESAMIENTO DE IMÁGENES APLICADOS A LA EDUCACIÓN
Resumen— En el procesamiento de Imágenes es necesario implementar algoritmos de bajo costo para identificar objetos básicos, como son figuras geométricas, líneas, etc. El trabajo de procesar imágenes conlleva al uso de algoritmos con los que se pueden identificar líneas o figuras geométricas básicas. EL procesamiento de una imagen digital tiene como objetivos, el mejoramiento de la información gráfica para la interpretación humana y el procesamiento de los datos e información. Existen diferentes metodologías para la visión por computadora (interpretación de imágenes) las cuales se han ido desarrollando con el paso del tiempo, capaces de reconocer formas e interpretar una imagen conforme a las características o patrones que posee una imagen digital. La utilización de reconocimiento de patrones es muy eficiente para realizar sistemas de muy bajo costo, para conceptos básicos de la geometría, trigonometría, álgebra y la aritmética, que siendo conocimientos no muy complejos son básicos para que sean adquiridos por el alumno de una forma amigable.
DORA MARÍA CALDERÓN NEPAMUCENO Universidad Autónoma del Estado de México Unidad Académica Profesional Nezahualcóyotl
[email protected] EFRÉN GONZÁLEZ GÓMEZ GABRIELA KRAMER BUSTOS DORICELA GUTIÉRREZ CRUZ EDGAR FIGUEROA ARENAS Universidad Autónoma del Estado de México Unidad Académica Profesional Nezahualcóyotl
Palabras claves— Patrones, Figuras, Geométricas, Educación.
1. INTRODUCCIÓN El desarrollo tecnológico en los últimos días ha hecho que los gráficos por computadora o el procesamiento de la imagen sea un importante y popular desarrollo en el ámbito de la tecnología moderna. El reconocimiento de patrones tanto como la interpretación de imágenes digitales han tenido procesos significativos, en los centros de investigación hay un interés por el procesamiento de la imagen y el reconocimiento de patrones y en desarrollar mejores metodologías para la visión por computadora. El procesamiento de una imagen digital tiene como objetivos, el mejoramiento de la información gráfica para la interpretación humana y el procesamiento de los datos e información. Existen diferentes metodologías para la visión por computadora (interpretación de imágenes) las cuales se han ido desarrollando con el paso del tiempo, capaces de reconocer formas e interpretar una imagen conforme a las características o patrones que posee una imagen digital. La utilidad o la necesidad de interpretar una imagen, son necesarias en el Área de la ingeniería, la computación, tecnologías de la información, etc. Los algoritmos más usados para la interpretación de imágenes los abordaremos en este documento, haremos alusión al algoritmo de Hough, empleado en reconocimiento de patrones de una imagen, la cual
permite encontrar formas como círculos, líneas, entre otras, dentro de la imagen, la versión más sencilla consiste en encontrar líneas. El modo de funcionamiento es estadístico y de acuerdo a los puntos que se tengan se debe averiguar las posibles líneas en las que puede estar el punto, lo cual se logra por medio de una operación que es aplicada a cada línea en un rango determinado. Abordaremos otro algoritmo para tener el esqueleto de una imagen el cual servirá para el reconocimiento de una forma o figura. 2. DESARROLLO En el procesamiento de imágenes es necesario implementar algoritmos de bajo costo para identificar objetos básicos, como son figuras geométricas, líneas, etc. El trabajo de procesar imágenes conlleva al uso de algoritmos con los que se pueden identificar líneas o figuras geométricas básicas, uno de ellos es la transformada de Hough. La Transformada de Hough es una técnica para la detección de figuras en imágenes digitales. Esta técnica es mayormente usada en el campo de Visión por Computadora. Con la transformada de Hough es posible encontrar todo tipo de figuras que puedan ser expresadas matemáticamente, tales como rectas, circunferencias o elipses. La transformada de Hough fue propuesta y patentada en 1962, por Paul Hough, inicialmente esta técnica solo se aplicaba en la detención de rectas de una imagen, ya
18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México.
148
Congreso Internacional de Investigación Tijuana.
Revista Aristas: Investigación Básica y Aplicada.
después con el paso del tiempo se extendió para detectar cualquier figura que se pudiera descubrir con unos cuantos parámetros, como los eran comúnmente circunferencias y elipses.
valores de .
ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.
correspondientes a los
posibles valores de
Fig. 1. Tabla acumuladora. Fuente: Elaboración propia
La idea básica es encontrar curvas que puedan ser parametrizadas como líneas rectas, polinomios y círculos. Se puede analíticamente describir un segmento de línea en varias formas [1]. Consideramos un punto y la ecuación de la recta, de la forma pendiente y ordenada al origen.
Por el punto pasan infinitas rectas, pero todas satisfacen la ecuación anterior para diferentes valores de. Escribiendo esta ecuación en la forma 2.1 Algoritmo de adelgazamiento o esqueletización Cambio de parámetros ahora en el plano (espacio de parámetros) da lugar a una única recta para el par . Ahora al considerar un segundo punto , también va a tener su recta asociada en el espacio de parámetros . Al trazar las rectas se cortarán en el espacio de parámetros en un punto , donde es la pendiente y b’ la ordenada al origen de la recta que contiene a los puntos y en el plano. Todos los puntos de esa recta en el plano xy darán lugar a rectas diferentes en el espacio de parámetros que se cortan en un único punto La transformada de Hough usa el espacio de parámetros en forma de celdas acumuladoras, donde y ( ) son los rangos para la pendiente y la ordenada al origen, los cuales los rangos son variables y es a criterio del problema o dimensión de la imagen. La celda de coordenadas con un valor de acumulador corresponde al cuadrado asociado con las coordenadas del espacio de parámetros. Inicialmente todas las celdas del acumulador de inicializan en 0. Entonces para cada punto de la imagen a reconocer, permitiendo que el parámetro pueda tomar cualquier valor de entre los mi (rango) y calculamos usando la ecuación del espacio de parámetros, valor de entre los (rango). Si para un valor en el acumulador en coordenadas resultó un valor se tiene que hacer:
La esqueletización o adelgazamiento es la transformación de una componente de la imagen original . Esta transformación busca reducir la cantidad de datos o simplificar la forma del objeto, con el fin de encontrar características útiles en algoritmos de reconocimiento y clasificación. Gran variedad de métodos se han propuesto con el objetivo de preservar una componente conectada que represente a la imagen digital, al simplificar la forma, o reducir la cantidad de datos, propone una clasificación de los métodos de esqueletización a partir de los operadores que emplean: a)
Métodos cuyos operadores se basan en la transformada de distancia.
b) Métodos cuyos operadores reportan líneas medias o centrales. c)
Métodos cuyos operadores están caracterizados por adelgazamientos iterativos.
El cual un algoritmo clásico para tener un adelgazamiento es el siguiente, Un algoritmo de imagen consiste en una sucesión de transformaciones de imagen y una condición de terminación . La aplicación del algoritmo consistirá en la aplicación sucesiva e iterada de las transformaciones que lo componen hasta llegar a la condición de terminación . Suponemos que tenemos la siguiente imagen:
Donde
son los subíndices de la tabla acumuladora.
Cuando se tenga un máximo en la celda acumuladora se procede a que para a cada punto obtenemos 18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México.
149
Congreso Internacional de Investigación Tijuana.
Revista Aristas: Investigación Básica y Aplicada.
Fig. 2. Ejemplo de imagen con pixeles.
ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.
Para cada triada del pixel de la imagen, se le asignara un mismo valor, , sumando cada componente y realizar un promedio. Si el promedio sobrepasa (color) se realiza:
un
umbral
de 128
La imagen se cargara solo en Blanco y Negro. Fuente: Elaboración propia.
Recorremos cada pixel de la imagen hasta encontrar un pixel negro en el cual se crea una vecindad de todos los pinceles adyacentes al pixel analizado
Fig. 3. Ejemplo de colores cargados en la imagen.
Se recorre la vecindad P donde se analizaran los colores que son diferentes del color de la figura que se quiere adelgazar en este caso será negro 0 y blanco 1 no contando con el pixel que se está analizando, también se analizara en número de transiciones de 1 a 0 en la secuencia siguiente: Fuente: Elaboración propia. Tabla 1. Ejemplo de tabla
P9
P2
P3
P8
P1
P4
P7
P6
P5
Fuente: Elaboración propia.
La cual cumplirá con las siguiente condiciones, las cuales si cumple se etiquetara para borrado. a) El número de pixeles diferentes de 1 sea mayor o igual a 2 pero menor o igual que 6. b) El número de transacciones sea igual a uno. c) El producto sea igual a 0 d) El producto sea igual a 0 Si cumple con los 4 pasos se procederá a etiquetarlo para borrado. Se vuelve iniciar el proceso iterativo repitiendo todo el procedimiento a cada pixel negro encontrado y alterando pasó c) y d) de la siguiente forma: a) b) 2.2 Reconocimiento de figuras geométricas básicas La plataforma en la cual se trabajara es en el entorno de Visual Studio con el lenguaje de programación de C++. Primero se trabajara la imagen de la figura la cual se reconocerá, trataremos la imagen convirtiéndola a un efecto de binarización.
Teniendo la imagen en blanco y negro, se procede a realizar un método el cual solo tendrá el esqueleto de la figura. Con trabajo del algoritmo de esqueletizacion o adelgazamiento, se tendrá una imagen de menos grosor, el nivel de pixeles se reducirá el cual facilitara el cálculo sus rectas o figuras que tiene la imagen. Para cada pixel negro encontrado de la imagen, cumplirá con las siguientes condiciones:
El número de pixeles diferentes de 1 sea mayor o igual a 2 pero menor o igual que 6. El número de transiciones sea igual a uno.
El producto sea igual a 0
El producto sea igual a 0. Si cumple con los 4 pasos se precederá a etiquetarlo para ser borrado. Se vuelve iniciar el proceso iterativo repitiendo todo el procedimiento a cada pixel negro encontrado y alterando pasó c) y d) de la siguiente forma:
Teniendo el esqueleto de la figura se puede saber cuáles son las formas que la integran, en este caso está conformado por rectas. Reconocer las rectas que la
18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México.
150
Congreso Internacional de Investigación Tijuana.
Revista Aristas: Investigación Básica y Aplicada.
integran y sus ecuaciones puede ser un poco costoso si lo pensamos en forma procedimental para resolver el problema, el cual con ayuda de la Transformada de Hough se pueden calcular las figuras que lo integran, en este caso serán rectas. El cual mediante su modelo estadístico cada punto representa líneas infinitas las cuales se cruzan y se obtiene un punto. Las rectas se obtienen para hacer el reconociendo de la figura: Fig. 4. Rectas para reconocimiento de figura.
ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.
Se conoce su intersección en
y sustituir en:
Se conoce su intersección en sabiendo cuáles son sus intersecciones de cada vértice, sus coordenadas en el plano, podremos sacar sus segmentos, distancia, diferencia de cada intersección el cual podremos saber básicamente de que figura se trata. Por ejemplo: si existen 4 rectas y 4 intersecciones, y la distancia entre dos puntos de cada vértice es igual, podría tratarse posiblemente de un cuadrado. De otra forma si se conocen sus vértices y la longitud de cada una de ellos o sus pendientes de cada recta, podrían saberse sus ángulos internos con la siguiente razón [2]: |
Fuente: Elaboración propia.
El encontrar rectas con el algoritmo o transformada de Hough usando un umbral propuesto para limitar el número de rectas que puede haber en la figura, tiene una variación en cual el umbral no es contante, dependiendo de qué forma o figura se va a reconocer; por lo que a veces el umbral varía y debe de ser manual ante un usuario. El problema planteado es que un umbral dado para al algoritmo, para la discriminación de rectas del acumulador, puedes ser ±número de rectas esperadas correctas. Si tiene un numero de rectas, mas, de lo esperado, algunas rectas son paralelas entre si y contienen una mínima distancia una de otra por lo que se realiza una pequeña depuración con un umbral dado pero ahora para la discriminación de rectas; se toma en cuenta un pequeño perímetro para saber que rectas son paralelas y que rectas no lo son, ya que las que no, pertenecen a otra arista de la figura. Por lo que se platea tomar todo el número de rectas de cada arista y realizar una media, así para tener el promedio de las rectas resultantes y así tener una estimación esperada para la recta correcta. Con ayuda de las rectas obtenidas ya depuradas, podemos tener sus pendientes y ordenadas al origen y :
Lo cual teniendo sus pendientes y sus ordenadas podemos saber cuáles y en qué punto del plano existe la intersección de una recta con la otra. Si se tiene la razón:
|
Si se conocen sus ángulos internos (ángulos rectos de 90) y se sabe que la longitud de la distancia de cada una de las intersecciones es igual, si podría tratarse más firmemente de un cuadrado. En el caso de un rombo casi posee las mismas características que el del cuadrado, solo que ahí nos ayudaría conocer forzosamente sus ángulos internos ya que a diferencia del cuadrado sus ángulos no son rectos, y sus ángulos opuestos con iguales. Un triángulo solo tiene tres intersecciones, el cual al momento de que se detecten 3 rectas se sabrá fácilmente que se trata de un triángulo, por lo que se hace, es calcular sus ángulos internos para saber qué tipo de triangulo es. Fig. 5. Ejecución del programa el cual reconoce un Rombo
Fuente: Elaboración propia.
3. CONCLUSIONES Sabemos que el poder de las matemáticas junto con la computación puede ser un monstruo en la tecnología y avances en la ciencia, ingeniería y computación. Comprobamos que aplicando algoritmos no muy costosos computacionalmente y con cálculos no muy complejos, se puede realizar un reconocimiento de visión por computadora el cual puede ser una base para hacer grandes cosas como por ejemplo hacer un reconocimiento facial o yendo más allá reconocer formas o figuras dentro de una imagen de video. Vimos que el poder del algoritmo de Hough es muy eficiente para realizar sistemas de muy bajo costo, y de lo importante de tener presente conceptos básicos de la geometría,
18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México.
151
Congreso Internacional de Investigación Tijuana.
Revista Aristas: Investigación Básica y Aplicada.
ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015.
trigonometría, algebra y la aritmética, que siendo conocimientos no muy complejos a un nivel de ingeniería, pueden ayudar de mucho sobre todo en el nivel educativo. 4. REFERENCIAS [1]. Swokowski, E. (1989). Cálculo con Geometría Analítica. 2da. Edición. Grupo Editorial Iberoamericana [2]. John C. Russ (1998) The Image Processing Handbook, 3rd ed. Ed. IEEE Press., [3]. Pogorélov A.V. (1974), Ed. Mir. Moscú, Geometría elemental. ______________________________________________ Dora María Calderón Nepamuceno: Doctora en Ciencias en la especialidad en Control Automático. Profesora Investigadora de tiempo completo en la Universidad Autónoma del Estado de México – Unidad Académica Profesional Nezahualcóyotl. Áreas de interés: Ingeniería de software e Inteligencias Artificial (Sistemas Basados en conocimiento). Gabriela Kramer Bustos. Maestra en Ciencias de la educación. Profesor Investigador de tiempo completo en la Universidad Autónoma del Estado de México – Unidad Académica Profesional Nezahualcóyotl. Áreas de interés: Educación. Efrén González Gómez. Maestro en Ciencias en Sistemas Computacionales. Profesor Investigador de tiempo completo en la Universidad Autónoma del Estado de México – Unidad Académica Profesional Nezahualcóyotl. Áreas de interés: Reconocimiento de Patrones e Inteligencias Artificial Doricela Gutiérrez Cruz. Doctora en Sistemas. Profesor de tiempo completo en la Universidad Autónoma del Estado de México – Unidad Académica Profesional Nezahualcóyotl. Áreas de interés: Ingeniería de software e Inteligencias Artificial (Sistemas Basados en conocimiento). Edgar Figueroa Arenas. Alumno décimo semestre de la licenciatura en Ingeniería en Sistemas Inteligentes, en la Universidad Autónoma del Estado de México – Unidad Académica Profesional Nezahualcóyotl. Áreas de interés: Reconocimiento de Patrones e Inteligencias Artificial
18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México.
152