Está en la página 1de 26

UNIVERSIDAD DE TARAPAC

ESCUELA UNIVERSITARIA DE INGENIERA


ELCTRICA ELECTRNICA

ALGORITMO DE RECONOCIMIENTO DE
PATRONES POR VISIN COMPUTACIONAL PARA
UN ROBOT MOVIL.

Memoria para optar al ttulo de:


Ingeniero Civil Electrnico

Alumno:
Giovanni Prez Montt

Profesor Gua:
Lornzo Vsquez

2
ndice General

Profesor Informante:
xxxx
Arica Chile
2014

3
RESUMEN

NDICE GENERAL

RESUMEN..................................................................................................................iv
2

INTRODUCCIN................................................................................................1
2.1

Descripcin del proyecto................................................................................1

2.2

Objetivo general..............................................................................................2

2.2.1
3

Objetivos Especficos..............................................................................2

ESTADO DEL ARTE...........................................................................................3


3.1

Antecedentes de visin Artificial....................................................................3

3.2

Cdigo QR o Quick Response........................................................................3

3.3

OCR................................................................................................................3

3.4

Modelo de color..............................................................................................3

3.4.1

Modelo RGB (Red, Green, Blue: rojo, verde, azul)................................3

3.4.2

Escala de Grises.......................................................................................3

3.4.3

Modelo HSV (Hue, Saturation, Value: Matiz, Saturacin, Valor)...........3

3.4.4

Binarizacin.............................................................................................3

3.5

Ecuaciones del modelo Pinhole......................................................................3

3.6

Mapas para la navegacin...............................................................................3

3.7

OpenCV..........................................................................................................3

3.8

Hardware.........................................................................................................3

3.8.1

Raspberri PI.............................................................................................3

3.8.2

Samsung Galaxy S2S...............................................................................3

Planteamiento de los Objetivos Especficos.......................................................3

Lnea de Trabajo..................................................................................................4

Conclusiones.........................................................................................................5

Bibliografa...........................................................................................................6

4
RESUMEN
Figura 1: Modelo Pinhole........................................................................................3
Figura 2: Matriz imagen para una imagen en escala de grises(a), Matriz imagen
RGB para una imagen en color (b).........................................................................4
Figura 3: cdigo de barra unidimensional y bidimensional....................................5
Figura 4: Arquitectura de los cdigos QR...............................................................6
Figura 5: Ejemplo de aplicacin de un OCR............................................................8
Figura 6: Modelo RGB basado en la sntesis aditiva...............................................9
Figura 7: Modelo HSV en su forma caracterstica en cono...................................10
Figura 8: Espacio de trabajo donde se realizaran las pruebas del lector QR y OCR.
............................................................................................................................ 13
Figura 9: Raspberri PI y sus puertos perisfericos..................................................15

5
RESUMEN

RESUMEN

Ante la tendencia del aumento de los robots de carcter social que sirven de
ayuda para las personas, es necesario contar con tcnicas de visin artificial robustas
que permitan reconocer patrones, balizas y objetos en el mundo real para la ubicacin
y la toma de decisiones acertadas.
El siguiente proyecto tiene como objetivo general estudiar diferentes tcnicas
de visin por computador, para su posterior implementacin.
Las tcnicas vistas, estudiadas e implementadas a continuacin pretender ser
una herramienta de apoyo para un robot de carcter social que ser implementado en
otra tesis y le facilite la entrega de informacin de ciertos patrones (cdigos QR o
cdigos de barra) para la localizacin de un robot dentro de un supermercado que
ayudara a los adultos mayores a realizar sus compras de forma ms cmoda.

1
CAPTULO 1 : OBJETIVOS

INTRODUCCIN
Se ha vuelto cotidiano el uso de la tecnologa y dispositivos electrnicos en el

quehacer diario de las personas. Cada da los procesadores se vuelven ms potentes y


disminuyen su tamao, a tal extremo que hoy realizar las actividades que solo se
hacan en un computador en la dcada de los 90,hoy se pueden realizar desde un
Smartphone o desde un Tablet con resultados similares o mejores.
Es tambin cierto que la expectativa de vida en las ciudades crece y nos
encontramos con que una poblacin que se vuelve vieja a medida que la tecnologa
avanza. Es por esta razn que las ciudades del maana contaran con altos ndices de
poblacin de tercera edad. Tareas tan simples como las de desplazarse en el
supermercado se puede transformar en un desafo para una persona de 80 aos.
En este mbito es que el desarrollo de robots que ayuden a la asistencia o el
cuidado de la humanidad ser parte fundamental en la vida cotidiana. Sensores ms
baratos y precisos, bateras que aseguren autonomas mayores, actuadores que den
precisin y seguridad a los movimientos o algoritmos para una inteligencia artificial,
son en parte los desafos que tenemos que solucionar como ingenieros.
En el siguiente proyecto de titulacin profundizaremos en algunas de las
tantas tcnicas de visin computacional que se utilizan para conocer parmetros del
mundo real mediante la informacin adquirida de una cmara de bajo coste.

1.1

Descripcin del proyecto


El objetivo de la siguiente tesis es prestar las herramientas de visin

computacional a un robot mvil de carcter social, que ayudara a la gente de tercera


edad en la compra y ubicacin dentro de un supermercado. La plataforma mvil es
un proyecto que fsicamente aun no es implementada, pero ser desarrollada en un
siguiente proyecto, por lo que en esta tesis nos enfocaremos en la parte de visin
computacional.
La idea parte ante la necesidad de conocer la ubicacin espacial del mvil
dentro de un espacio cerrado como lo es un supermercado, para que facilite la
ubicacin de productos que el cliente requiera. La informacin ser captada mediante
una tcnica antigua que se utiliza en navegacin, que es la de reconocer marcas en el

2
CAPTULO 1 : OBJETIVOS

espacio para compararlas en un mapa. Estas marcas sern cdigos QR, letreros o
cdigos de barra que sern preprocesador por un computador embebido.
Luego de adquirir la imagen del entorno mediante la cmara, el software
procesara la imagen y la informacin de la marca mediante una cadena de texto va
serial. Dicha informacin le permitir al robot mvil conocer su ubicacin dentro del
supermercado.
1.2

Objetivo general
Se busca estudiar diferentes tcnicas de visin por computador, con el objetivo

de implementarlas y compararlas en diversos dispositivos. Explicando los conceptos


bsicos para poder paso a paso profundizar en el algoritmo de reconocimiento de
cdigos QR y OCR.
El algoritmo creado debe ser capaz de devolver la informacin procesada para
que un dispositivo mvil pueda tomar la decisin de su ubicacin espacial. La
informacin se enviara mediante va serial a un dispositivo mvil que tomara
1.2.1

Objetivos Especficos

a) Investigar el estado del arte de las tcnicas de visin por computador.


b) Analizar tcnicas de visin por computador, de reconocimiento de patrones y
de seguimiento de trayectorias.
a. Implementacin de las tcnicas encontradas en un sistema computacional.
b. Analizar el funcionamiento del sistema desarrollado.

3
CAPTULO 2: ESTADO DEL ARTE

2
2.1

ESTADO DEL ARTE


Antecedentes de visin Artificial
La naturaleza es el gran arquitecto y creador de complejos sistemas que el

hombre intenta replicar con su tecnologa, tal es el caso de la visin como mecanismo
que permite identificar, enfocar o detectar patrones y colores. El trmino Visin
Artificial dentro del campo de la Inteligencia Artificial puede considerarse como el
conjunto de todas aquellas tcnicas y modelos que nos permitan el procesamiento,
anlisis y explicacin de cualquier tipo de informacin espacial obtenida a travs de
imgenes digitales.
Biolgicamente hablando, el ojo humano posee una estructura de 125
millones de bastones y 7 millones de conos que le permiten detectar la presencia de la
luz. Por su parte, el cristalino se encarga del enfoque de la imagen, para su
proyeccin en la retina del ojo y de esta forma poder ser procesada finalmente por el
cerebro.
En trabajos como
Si bien es cierto que el ojo humano es un sensor que transforma las imgenes
de 3D a una imagen bidimensional, la visin artificial se puede ver enfrentada a
ciertas dificultades al momento de utilizarse. Tales problemas pueden venir asociados
en los cambios de iluminacin, cambios de escalas, deformaciones del lente, oclusin,
movimiento o perdida de informacin, solo por citar algunos casos.
Por otro lado las cmaras actuales han sido creadas bajo los principios
bsicos de la ptica. Existe un modelo muy utilizado en el campo de la visin
computacional llamada Pinhole, ver Figura 1.

Figura 1: Modelo Pinhole.

4
CAPTULO 2: ESTADO DEL ARTE

Por el momento basta entender que modelo pinole relaciona los objetos del
espacio 3D al plano de la cmara. Este modelo parte con la base de que todos los
rayos que provienen de una imagen pasan por un fino agujero para proyectar la
imagen del objeto en el sensor de imagen de forma invertida.
Tambin es conveniente definir que la imagen obtenida digitalmente es
representada por medio de una matriz bidimensional

m n

en el caso de una

imagen en escala de grises y si es el caso de una imagen en color (la ms usada para
la visin computacional) ser representada por una matriz tridimensional
m n p

donde

p=1

puede ser la matriz que contenga al rojo,

matriz que contenga al verde y

p=3

p=2

la matriz que contenga al azul (ver Figura

2).

(a)

la

(b)

Figura 2: Matriz imagen para una imagen en escala de grises(a), Matriz imagen
RGB para una imagen en color (b).

5
CAPTULO 2: ESTADO DEL ARTE

2.2

Cdigo QR o Quick Response

Un cdigo QR (quick response code, cdigo de respuesta rpida) es un


mdulo til para almacenar informacin en una matriz de puntos o un cdigo de
barras bidimensional creado en 1994 por la compaa japonesa Denso Wave,
subsidiaria de Toyota. Se caracteriza por los tres cuadrados que se encuentran en las
esquinas y que permiten detectar la posicin del cdigo al lector. La sigla QR viene
de la frase inglesa Quick Response (Respuesta Rpida en espaol), pues los
creadores (un equipo de dos personas en Denso Wave, dirigido por Masahiro Hara)
tenan como objetivo que el cdigo permitiera que su contenido se leyera a alta
velocidad. Los cdigos QR son muy comunes en Japn y de hecho son el cdigo
bidimensional ms popular en ese pas.

Figura 3: cdigo de barra unidimensional y bidimensional.


Al momento de pensar en aplicaciones para estos cdigos sobran las ideas en
un mundo tecnolgico, debido al fuerte crecimiento de dispositivos mviles como son
Tablets y Smartphones. Nuestros Gadgets se transforman en verdaderas mquinas de
cmputo que permiten leer, crear y procesar la informacin que existe en los cdigos
QR.
Hoy en da estos cdigos se utilizan en revistas, diarios, anuncios publicitarios,
tarjetas de presentaciones, realidad aumentada solo por citar algunos ejemplos. Sin
embargo para nuestro caso puntual, lo utilizaremos para la orientacin o

6
CAPTULO 2: ESTADO DEL ARTE

geolocalizacin robtica

en un

espacio Indoor, teniendo en claro que esta

herramienta servir de ayuda para completar un mapa en el supermercado.


Ahora, la pregunta es

Cmo funciona este cdigo? Poseen numerosos

cuadritos pequeos donde se almacena la informacin, la magia de este cdigo


bidimensional radica en 3 marcas ubicadas en las esquinas. En la Figura 4 se puede
apreciar los tipos de marcas que posee el cdigo.

Figura 4: Arquitectura de los cdigos QR.


Las ventajas principales del cdigo QR respecto a los cdigos de barra
convencionales son las siguientes:

Gran capacidad de informacin (un cdigo de barras puede almacenar unos 20


dgitos mientras que un cdigo QR puede almacenar hasta varios cientos de

veces ms informacin)
Tamao de impresin pequeo (al tener informacin tanto en vertical como en
horizontal se puede codificar la misma informacin en la dcima parte de un

cdigo de barras tradicional)


Codificacin de caracteres en Kanji y Kana (JIS Level 1 y Level 2; 1 carcter

Kanji o Kana se puede codificar en 13 bits)


Resistente a daos y suciedad (al llevar claves de correccin de errores se
puede recuperar hasta un 30% de bytes segn el dao que haya sufrido el

cdigo)
Legible desde cualquier direccin en 360 (gracias a los patrones de deteccin
de direccin situados en 3 de las esquinas del cdigo)

7
CAPTULO 2: ESTADO DEL ARTE

Concatenacin del cdigo (un cdigo QR se puede dividir en cdigos QR ms


pequeos que, al concatenarlos, contienen la misma informacin que el
cdigo original)

Aunque el cdigo QR es un estndar ISO (ISO/IEC18004), su uso no est sujeto a


ningn tipo de licencia ya que Denso Wave liber la especificacin del mismo y no
ejerce sus derechos de patente. Por este motivo, en la web se pueden encontrar
mltiples generadores de cdigos QR (habitualmente gratuitos aunque tambin hay
servicios de pago ms especializados que permiten almacenar y gestionar los cdigos
generados, realizar el seguimiento de su uso, incluir personalizaciones, etc.) y
libreras (API) para que nosotros mismos podamos realizar una aplicacin que sea
capaz de generarlos y/o leerlos.
El tamao de impresin del cdigo QR debe ser lo suficientemente visible para
que la informacin dentro del cdigo sea legible. Posee una relacin entre el tamao
del lado con respecto a la distancia de deteccin expresada en la siguiente formula.
Tamao_mnimo=distancia_mnima /10

(1)

Por ejemplo, un QR en un anuncio publicitario que debe ser ledo a una distancia
de 12 metros no debera tener un tamao menor al de 120cm de lado. De la misma
manera un cdigo que aparece en una revista no debera ser inferior a 1,5cm de lado,
para poder realizar una lectura a 15cm.

8
CAPTULO 2: ESTADO DEL ARTE

2.3

OCR
El Reconocimiento ptico de Caracteres o OCR por sus siglas en ingls

(Optical Character Recognition), es un proceso dirigido a la digitalizacin de textos,


los cuales identifican automticamente a partir de una imagen smbolos o caracteres
que pertenecen a un determinado alfabeto, para luego almacenarlos en forma de
datos, as podremos interactuar con estos mediante un programa de edicin de texto o
similar.
Para lograr el objetivo de reconocer texto desde una imagen, el algoritmo OCR
requiere realizar 4 etapas: Binarizacin, Fragmentacin o segmentacin de la imagen,
Adelgazamiento de los componentes y Comparacin con patrones.
Los sistemas OCR son utilizados fundamentalmente para digitalizar libros,
formularios y documentos

a partir de una imagen. Esta imagen puede ser

un

documento escaneado, una fotografa, una impresin de pantalla o similar.


Otra de las aplicaciones para un OCR son los radares. Estos deben ser capaces
de localizar una matrcula de un vehculo con condiciones de iluminacin,
perspectiva y entorno variables. En la etapa de segmentacin, se buscan texturas
similares a la de una matrcula y se asla el rea rectangular que forma la matrcula.
Finalmente, se aplica un proceso de clasificacin mltiple sobre el conjunto de
pxeles pertenecientes a la matrcula, proporcionando una cadena de caracteres que se
tienen que ajustar a un una matrcula. Si aparece algn error, es corregido.
Para nuestro caso, pensamos en utilizar este algoritmo en reconocer los letreros
que se encuentra generalmente en los pasillos, de manera de poder ubicar en que
pasillo nos encontramos, o si en la seccin se encuentran los productos que andamos
buscando.

Figura 5: Ejemplo de aplicacin de un OCR.

9
CAPTULO 2: ESTADO DEL ARTE

10
CAPTULO 2: ESTADO DEL ARTE

2.4

Modelo de color.
Un modelo de colores es un modelo matemtico abstracto que permite

representar los colores en forma numrica, utilizando tpicamente tres o cuatro


valores o componentes cromticos (por ejemplo RGB y CMYK son modelos de
colores).
Si bien el color es un fenmeno fsico que procesamos de las diferentes
longitudes de onda que nos devuelven los objetos con la interaccin de la luz. Las
longitudes del espectro de luz visible para el ojo humano son relativamente limitadas,
esto cuenta desde los 400nm a los 700nm. Los modelos de color con los que
trabajaremos sern: RGB, escala de grises, HSV y binario.
Para nuestro caso en particular, nuestro objetivo es realizar un reconocimiento
de marcas o letras, por lo que ser til en algunos casos trabajar la imagen en escala
de grises o en binario. Por el contrario, si nuestro objetivo es ubicar ciertos colores
donde podran encontrarse situadas las marcas a reconocer, ser de gran utilidad
trabajar con los modelos RGB o de preferencia el HSV.
2.4.1

Modelo RGB (Red, Green, Blue: rojo, verde, azul)


Un amplio porcentaje del espectro visible se puede representar combinando

luz de color rojo, verde y azul (RGB) en distintas proporciones e intensidades. Donde
se solapan, se crea el cian, el magenta, el amarillo y el blanco.

Figura 6: Modelo RGB basado en la sntesis aditiva.


La suma de todos los colores RGB produce el blanco, es decir, se transmiten
al ojo todas las longitudes de onda visibles. Por ello se denominan colores aditivos o

11
CAPTULO 2: ESTADO DEL ARTE

colores luz (en las aplicaciones en las que se usan, la ausencia de color es el negro al
igual que pasa con nuestro ojo).
2.4.2

Escala de Grises
Una imagen a escala de grises es representada por medio de una matriz

bidimensional de m x n elementos en donde n representa el nmero de pxeles de


ancho y m el nmero de pxeles de largo. Cada pixel en la matriz de la imagen tiene
un valor de 0 (negro) a 255 (blanco).
2.4.3

Modelo HSV (Hue, Saturation, Value: Matiz, Saturacin, Valor)


El modelo HSV fue creado en 1978 por Alvy Ray Smith. Se trata de una

transformacin no lineal del espacio de color RGB, y se puede usar en progresiones


de color.
Es comn que deseemos elegir un color adecuado para alguna de nuestras
aplicaciones, cuando es as resulta muy til usar la ruleta de color HSV. En ella el
matiz se representa por una regin circular; una regin triangular separada, puede ser
usada para representar la saturacin y el valor del color. Normalmente, el eje
horizontal del tringulo denota la saturacin, mientras que el eje vertical corresponde
al valor del color. De este modo, un color puede ser elegido al tomar primero el matiz
de una regin circular, y despus seleccionar la saturacin y el valor del color
deseado de la regin triangular (ver Figura ).

Figura 7: Modelo HSV en su forma caracterstica en cono.


2.4.4

Binarizacin
Hablamos de binarizacion cuando una imagen digital posee nicamente dos

valores posibles para cada pxel. Normalmente, los colores utilizados para su

12
CAPTULO 2: ESTADO DEL ARTE

representacin son negro y blanco, aunque puede usarse cualquier pareja de colores.
Uno de los colores se emplea como fondo y el otro para los objetos que aparecen en
la imagen.
2.5

Ecuaciones del modelo Pinhole


Como se ve en la Figura 1, un punto Xcam expresado en el sistema de

coordenadas de la cmara, con coordenadas (XW, YW, ZW) se proyecta en un punto del
plano imagen xim de coordenadas (x, y) aplicando el modelo Pinhole. Los valores de
las coordenadas del plano imagen se obtienen a partir de las ecuaciones de proyeccin
perspectiva para un objetivo de distancia focal f.

(1)
Las coordenadas en pxeles (u, v) de esta posicin (x, y) en el plano imagen se
obtienen utilizando el tamao horizontal y vertical de los pxeles. Posteriormente, se
deben referenciar estos valores al origen superior izquierdo del sensor imagen, por lo
que se les aade el valor del punto principal (u0, v0) expresado en pxeles. Para ello se
realiza la transformacin entre el espacio euclidiano de la cmara (plano imagen con
distancia z = -f) y el sensor imagen con origen (0, 0) situado en la parte superior
izquierda de la imagen captada.

(2)
El punto tridimensional Xcam correspondiente al pxel de impacto (u,v).no es
nico. Todos los puntos pertenecientes a la recta que une el centro ptico C con el
punto Xcam inicialmente considerado, son posibles puntos originales. As cualquier
punto X de la recta R con coordenadas (X, Y, Z) cumple la siguiente igualdad al
proyectarse sobre el pxel (u,v).

(3)
donde

El subndice cam para las coordenadas (X, Y, Z) indica que el punto X est
expresado en el sistema de referencia de la cmara. En general, las coordenadas para

13
CAPTULO 2: ESTADO DEL ARTE

objetos de la escena vendrn dadas por un sistema de referencia global o particular


para un objeto.
Si se consideran las coordenadas (XW, YW, ZW) de un punto X de la escena para
un cierto sistema de referencia externo, dichas coordenadas se tienen que expresar en
el sistema de coordenadas de la cmara para poder aplicar las ecuaciones de
proyeccin del modelo Pinhole. La transformacin entre ambos sistemas de
coordenadas viene expresada como una matriz de rotacin y traslacin denominada
matriz extrnseca (RText).
Conocida la matriz RText se puede realizar la transformacin de coordenadas
de un punto expresado en el sistema de referencia W al sistema de coordenadas de la
cmara C.

(4)

Sustituyendo en la ecuacin de proyeccin del modelo Pinhole, se obtiene la


siguiente expresin:

(5)

De esta manera obtenemos la matriz que depender de los valores intrnsecos


de la cmara y la matriz (RText).
En conclusin, las ecuaciones descritas en este apartado son el primer paso
para encontrar los parmetros de la lente, siendo de vital importancia el paso de la
calibracin de la cmara, que se detallara en un captulo posterior.
Luego de obtener los parmetros intrnsecos y extrnsecos de nuestra cmara,
tendremos la opcin de rectificar las imgenes tomadas, facilitando el proceso de
reconocimiento de marcas o de texto.

14
CAPTULO 2: ESTADO DEL ARTE

2.6

Mapas para la navegacin


Ya bien lo saban los primeros navegantes, que para poder llegar a su destino,

los capitanes de los barcos deban orientarse por las estrellas o por faros para trazar el
rumbo a navegar. Algo similar sucede con los robots que si bien no ven las estrellas,
pueden reconocer patrones para comparar si van por la ruta correcta.
El Mapeo robtico es la rama de la cartografa que se ocupa del estudio y la
aplicacin de la capacidad de construir (o utilizar) un mapa o plano de planta con el
fin de que el robot sea capaz de localizarse en el mismo.
Una estrategia de navegacin un poco ms elaborada mejora notablemente las
capacidades del robot. Los mapas cognitivos permiten capacidades de planificacin y
el uso de las percepciones, eventos memorizados y consecuencias esperadas.
Tal es el caso, que para la aplicacin que planeamos implementar, contamos
con un mapa en grillas de los pasillos dentro del supermercado, como tambin
conocemos la ubicacin de la mercadera (verFigura 8Error: Reference source not
found).

Figura 8: Espacio de trabajo donde se realizaran las pruebas del lector QR y OCR.
La informacin que nos permitir saber si estamos en el estante de la comida
para perro o en el estante de los lcteos ser adquirida mediante la lectura de los

15
CAPTULO 2: ESTADO DEL ARTE

cdigos QR o carteles especiales. Las marcas debern estar ubicadas a una altura no
mayor a un metro y ser lo suficientemente visibles para identificarlas a una distancia
de 30 cm. Tambin es importante

destacar que el

algoritmo solo entregara

informacin espacial del lugar donde se encuentra, por lo que solo podremos saber
si el pasillo es el correcto o si debemos realizar otra trayectoria para llegar al estante
solicitado. Tambin supondremos que el robot poseer sensores suficientes que le
permitan navegar por los pasillos sin chocar con los estantes o personas.
2.7

OpenCV
OpenCV es una biblioteca libre de visin computacional desarrollada por la

empresa Intel. Su primera aparicin fue en enero de 1999, y desde esta fecha que se
ha utilizado en infinidad de aplicaciones gracias a que su publicacin se da bajo
licencia BSD (Berkeley Software Distribution), que le permite ser usada libremente
para propsitos comerciales y de investigacin con las condiciones en ella
expresadas.
En las versiones disponibles, OpenCV nos permite trabajar en Windows,
GNU/Linux y Mac OS X. contiene una gran gama de funciones, alrededor de 2500
algoritmos optimizados, como el reconocimiento facial, calibracin de cmaras,
visin estreo, visin robtica, segmentacin de colores, reconocimiento de formas.
Al momento de codear cdigo, es bastante flexible, permitiendo realizar
nuestras aplicaciones en C++, C, Python, Java y Matlab. OpenCV est escrito de
forma nativa en C++ y se estn desarrollando motores para que trabaje con OpenCL
y CUDA permitiendo el uso de las unidades lgicas de los procesadores para
disminuir el tiempo de clculo al momento de las operaciones matriciales.
Al momento de escribir cdigo, lo realizaremos en lenguaje C++, Python y
java. Debido a que es en estos lenguajes de programacin donde contamos con
mayor documentacin, ejemplos, libros y soporte para crear aplicaciones.

16
CAPTULO 2: ESTADO DEL ARTE

2.8

Hardware

Para la implementacin de los cdigos en C++, pytho o Java, utilizaremos 2 tipos de


dispositivos. El primero ser la tarjeta de desarrollo RaspberryPI y el segundo ser un
Samsung Galaxy S2 con sistema Android. Permitindonos de esta manera comparar
el mismo programa en diferentes plataformas.
2.8.1

Raspberri PI
RapberryPI es un ordenador de placa reducida o SBC(Single.board-computer) ,

posee un

procesador ARM de 32bit

(CPU) que corre a 700MHz, procesador

grfico(GPU) videoCoreIV y memoria RAM de 512MB , la forma de almacenar el


sistema operativo es mediante una memoria SD.
En las ventajas que posee esta plataforma es en la programacin en Python,
lenguaje de programacin conocido por

ser de alto nivel y

muy legible,

compatibilidad con compiladores en C++ y java. Raspberri pi cuenta con un sistemas


operativos que se basan en Linux y que en nuestro caso usaremos la versin Debian
(Raspbian). La principal ventaja de utilizar este microprocesador es el bajo consumo
de batera, el esculido peso de 40grs de placa RaspberryPI y 3grs de Picamera, la
compatibilidad con las libreras de OpenCV y el acceso mediante libreras a los pines
de salidas que permiten activar motores, leer sensores o enviar informacin mediante
protocolo serial. Convirtindose en excelente candidato para el proyecto.

Figura 9: Raspberri PI y sus puertos perisfericos.

17
CAPTULO 2: ESTADO DEL ARTE

Para la captura de imgenes utilizaremos la cmara genrica C170 logitech que


posee una resolucin de 640x480 y que captura video a 30FPS.
2.8.2

Samsung Galaxy S2S


El Samsung Galaxy S II (GT-I9100), es un telfono inteligente de gama media

anunciado por Samsung el 13 de febrero de 2011 en el Mobile World Congress, y


lanzado en mayo del mismo ao. Es el sucesor del Samsung Galaxy S. El Galaxy S II
cuenta con procesador de 1,2 GHz doble ncleo "Exynos" System on a chip (SoC).
Tambin cuenta con 1 GB de RAM LPDDR2 (Mobile DDR2), una pantalla de 10,8
cm (4,3 pulgadas) WVGA Super AMOLED Plus recubierta con Gorilla Glass y una
cmara de 8 megapxeles con flash, que puede grabar videos en 1080p de alta
definicin. Es uno de los primeros dispositivos que ofrecen Mobile High-Definition
Link (Enlace de Alta Definicin Mvil), que permite salida de vdeo de 1080p sin
comprimir HDMI mientras se est cargando el dispositivo al mismo tiempo. USB OnThe-Go tambin es soportado por este dispositivo. Posee una Tarjeta grfica o (GPU)
ARM Mali-400MP. La batera reemplazable por el usuario en el Galaxy S II ofrece
una capacidad de 1650 mAh y hasta diez horas de uso pesado, o dos das de uso
ligero. Samsung afirma que el tiempo de conversacin es 9 horas en 3G y 18.3 horas
en 2G.
Las ventajas que posee esta plataforma es el sistema operativo Android que
permite realizar aplicaciones en java. El lenguaje de programacin es compatible con
la API de OpenCV, permitiendo realizar un cdigo transparente y bien documentado.

18
CAPTULO 2: ESTADO DEL ARTE

Planteamiento de los Objetivos Especficos.

Con respecto a las capacidades y el tiempo de trabajo, se propone:


a. Investigar el estado del arte de las tcnicas de visin por computador.
b. Analizar tcnicas de visin por computador, de reconocimiento de patrones y
de seguimiento de trayectorias.
c. Implementacin de las tcnicas encontradas en un sistema computacional.
d. Analizar el funcionamiento del sistema desarrollado.

19
CAPTULO 2: ESTADO DEL ARTE

Lnea de Trabajo.
Dentro de nuestros objetivos especficos es realizar una plataforma que sea capaz

de detectar los cdigos QR y OCR, para luego, procesar la informacin y entregar la


ubicacin al robot.
Partiremos realizando programas bsicos en Python para entender las tcnicas de
visin computacional y documentarlas.
Se pretende crear un tutorial de como instalar OpenCV en distintos sistemas
operativos, ya que las versiones nuevas son un poco difciles de instalar.
Se avanzara en forma paralela en desarrollar la aplicacin Android y se estudiara
que IDE ser la ms adecuada para la creacin de la aplicacin final.
Ya teniendo el

prototipo, se proceder a realizar pruebas para estimar la

velocidad de trabajo de los algoritmos implementados, el costo computacional, las


posibles mejoras y depuracin de los cdigos creados, tanto en el sistema embebido
RaspberryPi como en el dispositivo Android.
Para el siguiente coloquio se pretenden tener depurado el algoritmo en java
para su versin final.

20
CAPTULO 2: ESTADO DEL ARTE

Conclusiones.
Mediante el presente informe, se concluye la factibilidad de implementar las

tcnicas de reconocimiento de patrones QR y OCR. Se entiende tambin que los


programas realizados en Python y C++ estn superados, y que an falta aprender un
poco ms de la programacin en Java para Android
El Handbook de OpenCV es una herramienta de gran utilidad al momento
de querer entender los algoritmos implementados en las libreras.
No se descarta implementar nuevos algoritmos para guiar al robot como lo
podra ser mediante un seguidor de lnea, por dar un ejemplo. Todo depender de
cmo se avance en la implementacin de los cdigos.

21
CAPTULO 2: ESTADO DEL ARTE

Bibliografa

[1] Wikipedia,
[En
lnea].
Available:
http://es.wikipedia.org/wiki/C
%C3%B3digo_QR. [ltimo acceso: octubre 2014].