DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE...

61
1 DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE NARANJAS PARA EL ROBOT GIO 1 USANDO VISIÓN ASISTIDA POR COMPUTADOR. JHONNY LEONARDO GONZALEZ GALVIS JHON ALEXIS PARRA ABRIL UNIVERSIDAD CATÓLICA DE COLOMBIA FACULTAD DE INGENIERÍA PROGRAMA DE INGENIERÍA ELECTRÓNICA Y TELECOMUNICACIONES ALTERNATIVA TRABAJO DE INVESTIGACIÓN TECNÓLOGICA BOGOTÁ 2015

Transcript of DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE...

Page 1: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

1

DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE

NARANJAS PARA EL ROBOT GIO 1 USANDO VISIÓN ASISTIDA POR

COMPUTADOR.

JHONNY LEONARDO GONZALEZ GALVIS

JHON ALEXIS PARRA ABRIL

UNIVERSIDAD CATÓLICA DE COLOMBIA

FACULTAD DE INGENIERÍA

PROGRAMA DE INGENIERÍA ELECTRÓNICA Y TELECOMUNICACIONES

ALTERNATIVA TRABAJO DE INVESTIGACIÓN TECNÓLOGICA

BOGOTÁ

2015

Page 2: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

2

DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE

NARANJAS PARA EL ROBOT GIO 1 USANDO VISIÓN ASISTIDA POR

COMPUTADOR.

JHONNY LEONARDO GONZALEZ GALVIS

JHON ALEXIS PARRA ABRIL

TRABAJO DE GRADO PARA OPTAR AL TÍTULO DE

INGENIERO ELECTRÓNICO Y TELECOMUNICACIONES

DIRECTOR

BEATRIZ NATHALIA SERRATO

MsC. AUTOMATIZACIÓN Y ROBÓTICA

INGENIERA EN CONTROL

UNIVERSIDAD CATÓLICA DE COLOMBIA

FACULTAD DE INGENIERÍA

PROGRAMA DE INGENIERÍA ELECTRÓNICA

ALTERNATIVA TRABAJO DE INVESTIGACIÓN TECNOLÓGICA

BOGOTÁ

2015

Page 3: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

3

Page 4: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

4

Nota de Aceptación

Presidente del Jurado

Jurado

Jurado

Bogotá 11, Mayo, 2015

Page 5: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

5

CONTENIDO

INTRODUCCIÓN

Pág.

1. OBJETIVOS………………………………………………………………………………….14

1.1. GENERAL…………………………………………………………………………………..14

1.2. ESPECÍFÍCOS……………………………………………………………………………..14

2. JUSTIFICACIÓN……………………………………………………………………………. 15

3. MARCO REFERENCIAL……………………………………………………………………16

4. MARCO CONCEPTUAL…………………………………………………………………….26

4.1. LA VISIÓN…………………………………………………………………………………..26

4.2. VISIÓN ACROMÁTICA……………………………………………………………………26

4.2.1. La sensibilidad a la intensidad………………………………………………………….26

4.2.2. La inhibición lateral………………………………………………………………………26

4.3. VISION CROMÁTICA……………………………………………………………………..27

4.3.1. Matiz……………………………………………………………………………………….27

4.3.2. Saturación…………………………………………………………………………………27

4.4. VISIÓN ARTIFICIAL……………………………………………………………………….27

4.5. ETAPAS DE UN SISTEMA DE VISIÓN ARTIFICIAL………………………………….27

4.6. ADQUISICIÓN Y REPRESENTACIÓN DE IMÁGENES DIGITALES………………. 28

4.7. ADQUISICIÓN DE LA IMAGEN……………………………………………………….....28

4.7.1. Kinect………………………………………………………………………………………28

4.8. DIGITALIZACIÓN DE LA IMAGEN………………………………………………………29

4.8.1. Muestreo…………………………………………………………………………………..30

4.8.2. Cuantización………………………………………………………………………………30

4.8.3. Codificación Binaria……………………………………………………………………...31

4.9. REPRESENTACIÓN DE IMÁGENES DIGITALES…………………………………….32

4.10. RELACIONES ENTRE PIXELES………………………………………………………...33

4.10.1. Conectividad……………………………………………………………………………… 34

4.10.2. Distancia………………………………………………………………………………….. 34

4.11. MEJORAMIENTO DE LA IMAGEN………………………………………………………36

4.11.1. Suavizado (Smoothing) …………………………………………………………………36

Page 6: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

6

4.11.2. Operadores Morfológicos……………………………………………………………….. 36

4.11.3. Umbralización (Threshold) ……………………………………………………………...38

4.12. DETECCIÓN DE CONTORNOS. ………………………………………………………..40

4.12.1. Canny……………………………………………………………………………………...40

4.12.2. Transformada de Hough………………………………………………………………...40

4.13. ARDUINO…………………………………………………………………………………...41

4.13.1. Arduino uno…………………………………………………………………………..41

4.13.2. Comunicación Serial……………………………………………………………………..42

4.13.3. Entradas y salidas Digitales………………………………………………………..42

4.13.4. Servomotores………………………………………………………………………..42

5. DESARROLLO DE HARDWARE………………………………………………………….43

5.1 ROBOT GIO1………………………………………………………………………………...44

5.2. PLATAFORMA MÓVIL……………………………………………………………………...45

5.3. PINZA ROBÓTICA…………………………………………………………………………..45

6. DESARROLLO DE SOFTWARE…………………………………………………………..46

6.1. ADQUISICIÓN DE LA IMAGEN………………………………………………………….47

6.2. PROCESAMIENTO DE LA IMAGEN……………………………………………………48

6.3. SEGMENTACIÓN DE LA IMAGEN……………………………………………………...50

6.4. RECONOCIMIENTO………………………………………………………………………51

7. CONCLUSIONES……………………………………………………………………………55

8. REFERENCIAS………………………………………………………………………………56

Page 7: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

7

LISTA DE TABLAS

Pág. Tabla 1. Binarización de la señal cuantificada……………………………………..…31 Tabla 2. Resultados detección de naranjas. …………………………………..……..53 Tabla 3. Resultados detección de otros frutos. ………………………………………53

Page 8: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

8

LISTA DE CUADROS

Pág. Cuadro 1. Diferentes formatos para ficheros gráficos……………………………….32

Page 9: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

9

LISTA DE FIGURAS

Pág. Figura 1. Iluminación de la imagen…………………………………………………….19 Figura 2. Diagrama para detección a rango largo. …………………………………..20 Figura 3. Diagrama de bloques de un algoritmo de segmentación………………...24 Figura 4. Diagrama de bloques de un sistema de visión artificial…………………..28 Figura 5. Señal análoga. ……………………………………………………………….29 Figura 6. Muestreo de la señal análoga. ……………………………………………..30 Figura 7. Cuantización de la señal muestreada. ……………………………………..30 Figura 8. Generación de una imagen digital. ………………………………………...31 Figura 9. Imagen detectada por el sensor. …………………………………………...32 Figura 10. Vecindad 𝑁4(𝑝). …………………………………………………………….33 Figura 11. Vecindad 𝑁𝑑(𝑝). …………………………………………………………….33 Figura 12. Distancia euclidiana para una imagen de 5 por 5……………………….34 Figura 13. Distancia manhattan para una imagen de 5 por 5………………………35 Figura 14. Distancia tablero de ajedrez. ……………………………………………...35 Figura 15. Imagen Original. …………………………………………………………….36 Figura 16. Erosión y dilatación de pixeles. …………………………………………...37 Figura 17. Abierto y cerrado de pixeles. ……………………………………………...37 Figura 18. Tratamientos Morfológicos. ………………………………………………..38 Figura 19. Tipos de umbralización. ……………………………………………………39 Figura 20. Detector de bordes Canny. ………………………………………………..40 Figura 21. Detección de líneas. ………………………………………………………..41

Page 10: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

10

Figura 22. Detección de círculos. ……………………………………………………..41 Figura 23. Kinect para Xbox 360. ……………………………………………………..43

Figura 24. Arduino Uno-R3. ……………………………………………………………44

Figura 25. Robot GIO1. …………………………………………………………………44

Figura 26. Pinza robótica. ………………………………………………………………45

Figura 27. Algoritmo implementado. …………………………………………………..46

Figura 28. Visualización Visual Studio 2013 del Sensor Kinect…………………….47 Figura 29. Imagen original………………………………………………………………48 Figura 30. Imagen escala de grises……………………………………………………49 Figura 31. Imagen en modelo HSV…………………………………………………….49 Figura 32. Imagen binarizada…………………………………………………………..50 Figura 33. Detector contornos Canny 1……………………………………………….51 Figura 34. Detector contornos Canny 1……………………………………………….51 Figura 35. Detección de círculos en la imagen………………………………………52 Figura 36. Resultados algoritmo final. ………………………………………………..52 Figura 37. Binarización programa final………………………………………………..53 Figura 39. Comando cmd……………………………………………………………….53

Page 11: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

11

GLOSARIO

ARDUINO: Plataforma de prototipado electrónico OpenSource basada en hardware

y software flexible y de fácil uso.

CÁMARA DE PROFUNDIDAD: Cámaras que toman imágenes 3D y calcula la

distancia de los objetos con rayos infrarrojos.

CÁMARA RGB: Cámaras que toman fotos digitales, que se componen del color en

términos de la intensidad de los colores primarios de la luz.

ESCALA DE GRISES: En visión este término se refiere a una imagen monocroma

con una gradación de grises. Una cámara monocroma que trabaje a 8 bits, generará

una imagen con 256 tonos de gris. Si la cámara trabaja a 12 bits su escala de gises

será de 4096 niveles.

FASE DE ADQUISICIÓN: los sensores captan información sobre el exterior. Su

aportación a la siguiente fase es una representación cuantitativa y digitalizada de la

escena.

FASE DE INTERPRETACIÓN: clasificación de objetos e identificación de escenas

en base al valor de sus descriptores.

FASE DE TRATAMIENTO: abarca aspectos como corrección de distorsiones,

eliminación de ruido, mejora del contraste, detección de los objetos de interés

(segmentación de la imagen) y medición de los descriptores de los objetos

(propiedades como tamaño, forma, color, textura, etc).

FOV: Siglas en inglés de Campo de Visión (Field of View). Indica el área que es

visible para un sistema de visión de máquina. Depende del tipo de objetivo y de la

distancia de trabajo entre el objeto y la cámara.

HISTOGRAMA: Es una representación gráfica de los valores de todos los píxeles

de la imagen. Generalmente a la izquierda de la gráfica se representa el valor cero

correspondiente al negro y a la derecha se representa el valor máximo (que

depende del número de bits) correspondiente al blanco. La curva del histograma

representa la cantidad de píxeles de cada valor de gris que hay en la imagen. Si la

Page 12: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

12

imagen es en color se acostumbran a representar los histogramas de valores de

rojo, verde y azul.

INTERACCIÓN NATURAL (NI): El término de interacción Natural (NI) se refiere a

un concepto en donde la iteración humano-dispositivo se basa en los sentidos

humanos, centrado principalmente en la audición y visión.

KINECT: La Kinect es un dispositivo desarrollado por Microsoft el cual consta de

dos cámaras de profundidad y una cámara RGB, se han desarrollado varias librerías

para desarrollos tecnológicos y una serie de algoritmos necesarios para diferentes

aplicaciones como detección de objetos.

OCR: Siglas en inglés de Reconocimiento Óptico de Caracteres (Optical Character

Recognition), un software específico para identificar textos escritos en una imagen

y transformarlos en un formato digital comprensible para el ordenador.

OPENCV: Open Source Computer Vision es una librería software open-source de

visión artificial y machine learning. Provee una infraestructura para aplicaciones de

visión artificial. La librería tiene más de 2500 algoritmos, que incluye algoritmos de

machine learning y de visión artificial para usar.

OPENNI: (Open Natural Interaction) es un framework open source que provee APIs

para el desarrollo de aplicaciones que utilicen interacción natural para la interacción

con el usuario, esto es, interacción basada en los sentidos humanos como pueden

ser el oído o la visión.

PÍXEL: Abreviación de “Picture Element”. El elemento individual de una imagen

digital.

TELECENTRICIDAD: Propiedad de un objetivo telecéntrico por la que mantiene

paralelos al eje óptico todos los rayos ópticos principales, es decir, los rayos que

pasan a través del centro de la apertura.

VISIÓN ARTIFICIAL: La visión artificial, también conocida como visión por

computador o visión técnica, es un subcampo de la inteligencia artificial. El propósito

de la visión artificial es programar un computador para que "entienda" una escena

o las características de una imagen.

Page 13: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

13

INTRODUCCIÓN

La agricultura de precisión ha sido en los últimos años uno de los más importantes

objetos de investigación en muchas universidades del mundo. En el encontramos

que los principales trabajos son dirigidos a sistemas de cosecha autónomos para

vegetales/frutas, sistemas de fertilización autónomos o sistemas de irrigación

autónomos, entre otros. En la Universidad Católica de Colombia se tiene la iniciativa

de investigar en agricultura de precisión, por tal razón se diseñó un sistema robótico

que permite la recolección de naranjas, en el que se utilizó sistemas motorizados,

tanto para el sistema de movimiento de la plataforma móvil y de recolección de las

naranjas. Por tal razón se propone el diseño e implementación de un sistema de

reconocimiento de objetos (naranjas), que será desarrollado con el fin de mejorar

las características de la plataforma robótica GIO 1, para que este sea capaz de

diferenciar las naranjas de otros objetos (piedras u otros frutos) en entornos

controlados.

Page 14: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

14

1. OBJETIVOS

1.1. GENERAL

Diseñar e implementar un sistema de reconocimiento de naranjas para el

robot GIO1 usando visión asistida por computador.

1.2. ESPECÍFÍCOS

Determinar el sistema de captura y procesamiento de imágenes.

Implementar algoritmos de reconocimiento de patrones para identificación

de naranjas.

Page 15: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

15

2. JUSTIFICACIÓN

El robot GIO 1 es una plataforma robótica diseñada en la Universidad Católica de

Colombia que consiste en realizar un sistema de recolección de frutas, para ayudar

en el campo a aquellos trabajadores que realizan tareas manuales.

Dicha plataforma no posee un sistema robusto de identificación de naranjas debido

a que posee sensores ultrasónicos que no son precisos a la hora de identificar las

naranjas, de modo tal que se propone realizar la adecuación de un sistema de visión

asistida por computador que permita realizar el reconocimiento de las frutas de

forma más precisa.

Page 16: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

16

3. MARCO REFERENCIAL

En la actualidad es de gran importancia utilizar sistemas de reconocimiento que

permitan identificar los frutos o vegetales determinados a cosechar, por tal razón se

realizó una investigación en un centro tecnológico estadounidense donde se

definieron dos problemas que afectan directamente a los sistemas de cosecha

autónomos. Uno de estos problemas enunciados por el investigador, fue que toda

máquina de cosecha necesita de un sistema de visión para el reconocimiento de las

frutas o vegetales, dependiendo su aplicación1. Muchas universidades alrededor del

mundo, se basaron en estos dos paradigmas para el diseño e implementación de

sus propios sistemas de cosecha autónomos. En la universidad de Londres se

desarrolló un robot recolector de naranjas, compuesto de dos brazos telescópicos

accionados eléctricamente independientes montados en una plataforma común,

que esta a su vez está en un gran brazo hidráulico, y este brazo está sobre un

vehículo de orugas. Los brazos telescópicos tienen cámaras que detectan y miden

la posición y la distancia de la fruta dentro de la copa del árbol2. Otra importante

implementación es el robot de recogida de naranjas (QPR), desarrollado en la

universidad de Catania, una de las principales claves de este robot es identificar y

medir la fruta en tres dimensiones, mediante técnicas de procesamiento de

imágenes lo suficientemente robustas para hacer frente a las variaciones lumínicas

y del entorno cambiante3. Uno de los más importantes aportes robóticos para la

cosecha automática fue desarrollado por investigadores de la Universidad de la

Florida, Shalimar en Estados Unidos, inventando el método de estimación gama,

basado en la posición de las frutas en 3D, emplea una cámara monocular que

permitir el control en tiempo real utilizando la reconstrucción euclidiana por medio

de las coordenadas ortogonales4

1 SARIG, Yarid. “Robotics of fruit harvesting: A state of the art review”, Journal of Agricultural Engineering Research, 1993, p. 265-280; Citado en: 11/02/2015. 2 RECCE, Michael, TAYLOR, John, PLEBE, Alessio, TROPIANO, Giuseppe. “Vision and neural control for an

orange harvesting robot”, International Workshop on Neural Networks for Identification, Control, Robotics, and

Signal/Image Processing, 1996, p. 467-475; Citado en: 11/02/2015. <http://goo.gl/M6fkiY>

3 PLEBE, Alessio, GRASSO, Giorgio. “Localization of spherical fruits for robotic harvesting”, Machine Vision and

Applications, 2001, 9.70-79; Citado en: 11/02/2015; [en línea]. Disponible en: <http://goo.gl/ARBRnF>

4 TORREGROSA, A., ALBERT, F., ALEIXOS, N., ORTIZ, C., BLASCO, J. “Analysis of the detachment of citrus fruits by vibration using artificial vision”, Biosystems Engineering Volume 119, 2014, pg. 1-12; Citado en: 15/03/2015; [en línea]. Disponible en: <http://goo.gl/zKvzxN>

Page 17: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

17

En la universidad de Nueva Gales del Sur se realizó una investigación de un

algoritmo de visión para detectar manzanas en una sola imagen, donde se utilizó el

enrojecimiento de las naranjas para diferenciarlas del resto de los frutos además

se le agregó un sistema de detección de bordes y textura, usando filtros laplacianos

para facilitar la identificación5. Teniendo en cuenta el uso de estos filtros,

investigadores de la universidad de la Florida desarrollaron un algoritmo de visión

artificial que combina la segmentación y análisis de forma adaptativa para la

detección de naranjas, este algoritmo consiste de segmentación, etiquetado de la

región, filtrado de tamaño, extracción de perímetro y detección basado en el

perímetro de la fruta, también incluye la detección de frutas que se encuentran en

grupos mediante el uso de técnicas de análisis de forma. Este algoritmo tiene la

capacidad de detectar las frutas en diversas condiciones de ambiente y de entorno

cambiante6.

Una investigación del Instituto Valenciano de Investigaciones Agrarias (IVIA)

desarrolló un sistema para clasificar los cítricos de acuerdo con el tipo de defectos

externos que presentan, con sistemas de visión infrarrojo , ultravioleta y de

fluorescencia, identificándolos defectos más comunes de los cítricos, e

implementaron un algoritmo de clasificación de fruta incrementando tanto la calidad

de la fruta y también el beneficio del consumidor7, otro sistema para la detección

automática de defectos que poseen los cítricos es la oclusión bajo condiciones de

iluminación naturales, se basa en la información y las curvas de nivel de colores,

para identificar los cítricos en condiciones de iluminación variable dentro de copas

de los árboles, con el fin de guiar a los robots para la recolección de frutas

cítricas8. Otro método de detección automática de frutas defectuosas, en este caso

las naranjas, es la iluminación combinada y la utilización de métodos de relación de

imagen, que analiza los diferentes componentes de color (R, G y B) y sus

5 ZHAO, Jun, TOW, Joel, KATUPITIYA, Jayantha, “On tree fruit recognition using texture properties and color

data”, IEEE/RJS International Conference on Intelligence Robots and Systems, 2005, p. 263-268; Citado en:

11/02/2015; [en línea]. Disponible en: < http://goo.gl/zKvzxN >

6 HANNAN, M, BURKS, T, BULANON, D, “A machine vision algorithm combining adaptive segmentation and shape analysis for orange fruit detection” , Agricultural Engineering International: The CIGR Ejournal, 2009, Manuscript 1281, Vol. XI; Citado en: 11/02/2015; [en línea]. Disponible en: <http://goo.gl/oEEIoi> 7 BLASCO, J., ALEIXOS, N., GOMEZ, J., MOLTÓ, E.” Citrus sorting by identification of the most common defects using multispectral computer vision”, Journal of Food Engineering Volume 83 Issue 3, 2007, pg. 384-393; Citado en: 15/03/2015; [en línea]. Disponible en: <http://goo.gl/4Y7MnG> 8 LU, Jun, SANG, Nong. “Detecting citrus fruits and occlusion recovery under natural illumination conditions”, Computers and Electronics in Agriculture Volume 110, 2015, pg. 121-130; Citado en: 15/03/2015; [en línea]. Disponible en: <http://goo.gl/3NUdXQ>

Page 18: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

18

combinaciones, usa un algoritmo de procesamiento y clasificación basado en un

método de umbralización simple, siendo capaz de diferenciar las naranjas normales

de las defectuosas9. A partir de esto el departamento de Ingeniería Mecánica y de

Construcción, Universidad Jaume I de Castelló (UJI), implemento un algoritmo de

segmentación de región orientada que permite la detección de visión por ordenador,

siendo capaz de identificar los defectos de la cáscara de los cítricos, mediante

técnicas de procesamiento de imágenes de inspección de frutas, comúnmente

empleados en la industria, el algoritmo propuesto fue capaz de detectar

correctamente 95% de las naranjas y mandarinas que presentaron defectos10.

Gracias al reconocimiento por visión artificial de los defectos de las frutas, en la

Facultad de Agronomía de la Universidad de Okayama, Japón, se implementó un

sistema que evalúa la calidad de las naranjas por medio de visión artificial usando

redes neuronales, las características que se utilizaron fueron el color , la forma y la

rugosidad de la superficie de la fruta, extraídas de las imágenes, el peso de la fruta

se introdujo como entrada de las redes neuronales, mientras que se utilizó contenido

de azúcar o el pH de la fruta, como los valores de salida de las redes neuronales 11. Otro sistema de visión artificial fue desarrollado por el Instituto de

Reconocimiento de Formas e Inteligencia Artificial, de la Universidad Huazhong de

Ciencia y Tecnología, Wuhan en China, es la detección por medio de fusión,

utilizando el método basado en mapa cromático aberración y luminancia, el cual

identifica los cítricos en los árboles, con el fin de identificar las frutas mediante la

fusión de los resultados segmentados de CAM y LM12.

9 LI, Jiangbo, RAO, Xiuqin, WANG, Fuije, Wu, Wei, Ying Yibin. “Automatic detection of common surface defects on oranges using combined lighting transform and image ratio methods”, Postharvest Biology and Technology Volume 82, 2013, pg. 59-69; Citado en: 15/03/2015; [en línea]. Disponible en: <http://goo.gl/sBgq43> 10 BLASCO, J., ALEIXOS, N., MOLTÖ, E.” Computer visión detection of peel defects in citrus by means of a region oriented segmentation algorithm”. Journal of Food Engineering Volume 81 Issue 3, 2007, pg. 535-543; Citadoen: 15/03/2015; [en línea]. Disponible en: <http://goo.gl/Nk3GFF> 11 KONDO, Naoshi, AHMAD, Usman, MONTA, Mitsuji, Murase, Haruhiko. “Machine visión based quality evaluation of lyokan orange fruit using neural networks”. Computers and Electronics in Agriculture Volume29 Issues 1-2, 2000, pg. 135-147; Citado en: 15/03/2015; [en línea]. Disponible en: <http://goo.gl/yzpkmU> 12 LU, Jun, SANG, Nong, HU, Yang, FU, Huini. “Detecting citrus fruits with highlight on tree based on fusion of multi-map”. Optik – International Journal for Light and Electron Optics Volume 125 Issue 8, 2014, pg. 1903-1907; Citado en: 15/03/2015; [en línea]. Disponible en: <http://goo.gl/6ziqNk>

Page 19: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

19

Figura 1 Iluminación de la imagen.

Fuente. LU, Jun, SANG, Nong, HU, Yang, FU, Huini. “Detecting citrus fruits with highlight on tree based on

fusion of multi-map”. Optik – International Journal for Light and Electron Optics Volume 125 Issue 8, 2014, pg.

1905; Citado en: 15/03/2015; [en línea]. Disponible en: <http://goo.gl/RkFA11>

El departamento de Ingeniería Rural y Agroalimentaria de la Universidad

Politécnica de Valencia implementó un sistema por visión artificial, que es capaz de

separar los cítricos por medio de vibración, basado en el análisis de secuencias

adquiridas por las cámaras de movimiento lento, que son capaces de obtener

información robusta y precisa sobre el movimiento de la fruta, como la trayectoria,

los ángulos o las aceleraciones sufridos mientras que vibra13, uno de los últimos

avances científicos fue desarrollado en la Universidad Jaume I, Castellón en

España, el cual realiza una inspección multiespectral de cítricos utilizando visión

artificial y procesadores de señal digital, la cámara multiespectral, es capaz de

adquirir imágenes visibles e infrarrojo; el diseño de algoritmos específicos están

basados en dos DSP que trabajan en paralelo, lo que permite dividir las tareas de

inspección en los diferentes procesadores, ahorrando tiempo de procesamiento14.

Además de aplicaciones para cosecha automática la visión artificial o por

computadora es capaz de realizar reconocimiento de imágenes a distancia15,

utilizando cámaras de profundidad que realizan la detección, en la figura 2 se

presenta el algoritmo utilizado para detección a un rango largo16.

13 Ibid, p.16 14 ALEIXOS, N., BLASCO, J., NAVARRÓN, F., MOLTÓ, E. “Multispectral inspection of citrus in real-time using machine vision and digital signal processors” Computers and electronics in agriculture Volume 22 Issue 2, 2002, pg. 121-137; Citado en: 15/03/2015; [en línea]. Disponible en: <http://goo.gl/TihLJh> 15 LAI, Kevin, BO, Liefeng, REN, Xiaofeng, FOX, Dieter. “A Large-Scale Hierarchical Multi-View RGB-D Object Dataset”, Robotics and Automation (ICRA), 2011, pg. 1817-1824 Citado en: 07/03/2015; [en línea]. Disponible en: <http://goo.gl/ALcmML> 16 HOFFMAN, Richard, JAIN, Anil. “Segmention and Classification of Range Images”, Pattern Analysis and Machine Intelligence, 2009, pg. 608-620; Citado en: 07/03/2015; [en línea]. Disponible en: <http://goo.gl/ilGPEx>

Page 20: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

20

Figura 2. Diagrama para detección a rango largo.

Fuente HOFFMAN, Richard, JAIN, Anil. “Segmention and Classification of Range Images”, Pattern Analysis and Machine Intelligence, 2009, pg. 609; Citado en: 07/03/2015; [en línea]. Disponible en: <http://goo.gl/T6kkbp>

Además de reconocer los objetos a rangos largos, las cámaras de profundidad

tienen la capacidad de reconocer la textura de los objetos, el algoritmo está basado

en el modelamiento y la reconstrucción 3D de los objetos deseados, implementando

una detección por colores basados en los descriptores histogramicos de HUE17.

Actualmente en la universidad de Barcelona existe un sistema capaz de reconocer

objetos, basado en algoritmos como K-NN y distancia euclídea y por un clasificador

ECOC basado en el algoritmo GentleAdaboost. El sistema propuesto ha sido

validado en bases de datos públicas realizando una comparativa entre diferentes

sistemas existentes mostrando un alto rendimiento18, en cuanto a esto, existen

17 TANG, Jie, MILLER, Stephen, SINGH, Arjun, ABBEEL, Pieter. “A Textured Object Reconigtion Pipeline for Color and Deph Image Data”, Robotics and Automation (ICRA), 2012, pg. 3476-3474; Citado en: 07/03/2015; [en línea]. Disponible en: <http://goo.gl/XEEKx0> 18 CUENCA SANZ, Julián. “Reconocimiento de objetos por descriptores de forma”. Director: Sergio Escalera Guerrero. Universidad de Barcelona, Departamento de matemática aplicada y análisis, 2008; Citado en: 02/03/2015; [en línea]. Disponible en: <http://goo.gl/am0A0c>

Page 21: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

21

diferentes dispositivos como cámaras web, Kinect, cámaras estereoscópicas,

además de una gran cantidad de algoritmos que sirven para la detección de objetos,

uno de ellos es la Sustracción de fondo, Mixture of Gauss, Filtro de Kalman y

también funciones de la librería OpenNI19, estos algoritmos fueron desarrollados en

la universidad Politécnica de Valencia, los cuales funcionan con Kinect20. En la

universidad de la Rioja en España, efectuaron algoritmos de traslación o

desplazamiento, algoritmos de rotación o giro, de escalado y zoom utilizadas en la

extracción o segmentación de objetos de la imagen21. Muchas de estas aplicaciones

pueden ser implementadas en sistemas embebidos ya sea por costo o movilidad,

por ejemplo, en la Universidad Pontificia Bolivariana en Colombia diseñaron un robot

móvil autónomo guiado con visión artificial, el cual utiliza algoritmos de aprendizaje

como las máquinas de soporte vectorial, utiliza librerías como OpenCV22, utiliza una

tarjeta de desarrollo BeagleBoardXm que posee librerías de Simulink que pueden

ser utilizadas en conjunto con las herramientas de visión artificial de Matlab y para

el control de sus motores utiliza la Tarjeta Arduino Uno23, siendo la BeagleBoard

una gran tarjeta de desarrollo para visión artificial, la cual también fue utilizada en la

universidad de Strathclyde, donde sus investigadores desarrollaron un robot

llamado Robo-Kinect hecho en componentes de hardware como OMAP de Texas

Instruments, basado en BeagleBoard, un microcontrolador MSP430 y un software

de código abierto, para el reconocimiento y detección de objetos utilizando la técnica

(TOF) codificación de luz24.

La Kinect es un dispositivo desarrollado por Microsoft el cual consta de dos cámaras

de profundidad y una cámara RGB, se han desarrollado varias librerías para

desarrollos tecnológicos y una serie de algoritmos necesarios para diferentes

19 DOCUMENTACIÓN OpenNI, Citado en: 02/03/2015; [en línea]. Disponible en: <http://goo.gl/Mp2Zpk> 20 OLGUIN RIVAS, Lorena. “Detección y seguimiento de una persona en una habitación”. Director: Carmen Juan Lizandra. Universidad Politécnica de Valencia, Departamento de sistemas informáticos y computación, 2013; Citado en: 02/03/2015; [en línea]. Disponible en: <http://goo.gl/Mq3buZ> 21 Materia didáctica, Ingenierías; 24. Técnicas y algoritmos básicos de visión artificial [en línea]. Universidad de la Rioja: Servicio de Publicaciones, 2006[02/03/2015]. Disponible en Internet: <http://goo.gl/nlB2jG> 22 DOCUMENTACION OpenCV, Citado en: 02/03/2015; [en línea]. Disponible en: <http://goo.gl/37jrwP> 23 GONZALEZ, Juan, MORA, Iván, VARELA, Johny. “Robot móvil guiado con visión (VISBOT)”, INGENIAR UPB, 2013, pg. 171-187; Citado en: 02/03/2015; [en línea]. Disponible en: <http://goo.gl/exFAkn> 24ABUZAINA, Anas, NIXON, Mark, CATER, John, “3D MovingObjectReconstructionby Temporal Accumulation”, 22nd International Conferenceon Pattern Recognition (ICPR), 2014, pg. 2125-2130; Citado en: 11/02/2015; [en línea]. Disponible en: < http://goo.gl/25L91b >

Page 22: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

22

aplicaciones como detección de objetos25. La transferencia de habilidades de los

seres humanos a robots, es una forma de aprendizaje de aplicaciones orientadas a

la enseñanza de sistemas artificiales, para desempeñar una variedad de tareas y

funciones, gracias al dispositivo Kinect se tiene la capacidad de simular las

extremidades humanas, sobre un robot humanoide26, además tiene la funcionalidad

de reconocer los gestos mediante la utilización de cámaras de profundidad, que

trasmite un modelo de superficie implícito global de la escena observada en tiempo

real27, y seguridad por reconocimiento de personas, donde el sistema detecta

personas en el área de cobertura utilizando la información de la imagen de

profundidad, utilizando transformaciones morfológicas, como la erosión, se

encuentra la región de interés (ROI), luego el sistema establece una línea de

detección que la gente atraviesa, con lo que se puede realizar el conteo de las

personas28.

Microsoft diseño un sistema para la cartografía precisa, en tiempo real, en un

escenario interior y de iluminación variable, fusionando todos los datos de

profundidad que transmite el sensor Kinect, además de usar un modelo global (ICP)

algoritmo iterativo ,(AR) realidad aumentada y (MVS) multi-vista estéreo29. A partir

de la implementación del dispositivo Kinect la Universidad de Southampton

desarrollo tecnologías de adquisición 3D e implementaron un algoritmo que

incorpora una estructura temporal de la información de movimiento, para construir

modelos 3D de objetos en movimiento, se utiliza el movimiento compensado de

acumulación temporal30. Se realizó una revisión exhaustiva del dispositivo Kinect,

el cual habla de los algoritmos utilizados en la visión por computador, el

25 CRUZ, Leandro, LUCIO, Djalma, VELHO, Luiz.”Kinect and RGBD images: Challenges and Applications” Graphics, Patterns and Images Tutorials: 25th SIBGRAPI-T Conference, 2012, pg. 36-49; Citado en: 07/03/2015; [en línea]. Disponible en: <http://goo.gl/mWkW9r> 26 ROSADO, José, SILVA, Felipe, SANTOS, Vítor, LU, Zhenli. “Reproduction of Human Arm Movements Using Kinect-Based Motion Capture Data” Robotcis and Biomimetics (ROBIO), IEEE International Conference, 2013, pg. 885-890; Citado en: 07/03/2015; [en línea]. Disponible en: < http://goo.gl/7vgDXQ > 27 NEWCOMBE, Richard, IZADI, Shahram. “Kinect Fusion: Real-Time Dense Surface Mapping and Tracking” Mixed and Augmented Reality (ISMAR): 10th IEEE International Symposium, 2011, pg. 127-136; Citado en: 07/03/2015; [en línea]. Disponible en: <http://goo.gl/N6aq8r> 28 HSIEH, Ching, WANG, Hui-Chun, WU, Yeh-Kuang. “A Kinect-Based People-flow Counting System”, IEEE International Symposium on Intelligent Signal Processing and Communication Systems (ISPACS), 2012, pg. 146-150; Citado en: 15/03/2015; [en línea]. Disponible en: < http://goo.gl/CWxWJv > 29WANG, Han, MOU, Wei, SURATNO, Hendra, SEET, Gerald “Visual odometry using RGB-D camera on ceiling vision”, IEEE International Conference on Robotics and Bimimetics (ROBIO), 2012, pg. 710-714; Citado en: 11/02/2015; [en línea]. Disponible en: < http://goo.gl/MjTxF7> 30 Ibid. p22

Page 23: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

23

procesamiento previo que utiliza para el seguimiento y reconocimiento de objetos,

mapeo en 3-D y diferencias en comparación con su RGB31, además se desarrolló

otro algoritmo por la universidad de Singapur, el cual se utiliza para el cálculo de

odometría basado en visión artificial, este algoritmo permite reducir la acumulación

de error presente en los enfoques de estimación de odometría visual, dicho

algoritmo se desarrolló para la cámara RGB-D (Kinect) adquiriendo nubes de puntos

(ICP) para estimar la posición actual de la cámara mediante el cálculo de la rotación

y la translación de la trama32.

En la Universidad de Málaga se presentó la integración del sensor Kinect en un

robot móvil para mejorar la realización de las tareas de detección de obstáculos y

navegación reactiva. Concretamente, se presentaron las principales características

del sensor, y se propusieron mecanismos para afrontar los problemas que surgen

en su integración. Las pruebas realizadas pusieron de manifiesto la utilidad de este

sensor para que un robot móvil pueda desplazarse de forma más segura en

entornos con obstáculos a diferentes alturas33. Se puede asegurar con toda certeza

que gracias al sensor Kinect y al uso debido de algoritmos de visión por

computadora se pueden detectar objetos, en la Universidad de Guanajuato un grupo

de investigadores determinaron una estrategia para la segmentación e identificación

de objetos34.

31HAN, Jungog, SHAO, Ling, XU, Dong, SHOTTON, Jamie “Enhanced Computer Vision with Microsoft Kinect

Sensor: A Review”, IEEE Transactions on Cybernetics (Volume: 43), 2013, pg. 1318-1334; Citado en:

11/02/2015; [en línea]. Disponible en: <http://goo.gl/17guH9>

32LIPINSKI, P., MCCABE, S., DI CATERINA, G.,”RoboKinect - A low-cost mobile vision system for 2.5D object

detection”, 5th European DSP on Education and Research Conference, 2012, pg. 276-280; Citado en:

11/02/2015; [en línea]. Disponible en: < http://goo.gl/rZx6nE >

33SARMIENTO, R., GALINDO, C., GONZALEZ, J. “Navegación Reactiva de un Robot Móvil usando Kinect”, Universidad de Málaga (España), 2012; Citado en: 07/03/2015; [en línea]. Disponible en: <http://goo.gl/5GmdSj> 34HERNANDEZ, José, IBARRA, Mario. “Detecting objects using color and depth segmentation with Kinect sensor”, Procedia Technology 3, 2012, pg. 196-204; Citado en: 07/03/2015; [en línea]. Disponible en: <http://goo.gl/fWZo89>

Page 24: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

24

Figura 3. Diagrama de bloques de un algoritmo de segmentación.

Fuente HERNANDEZ, José, IBARRA, Mario. “Detecting objects using color and depth segmentation with Kinect sensor”, Procedia Technology 3, 2012, pg. 197; Citado en: 07/03/2015; [en línea]. Disponible en: <http://goo.gl/pTYsmb>

En Colombia, se han desarrollado varias investigaciones con el dispositivo Kinect

una de ellas fue el Randomized Decision Forests desarrollado por la Universidad

Simón Bolívar, el cual realiza la captura de movimiento de un individuo utilizando la

técnica de aprendizaje de árboles de decisión, este algoritmo es capaz de aprender

ciertas características de un conjunto de imágenes de profundidad con el fin de

clasificar los pixeles de una imagen y así obtener la postura de la persona35. Como

se había mencionado anteriormente el Kinect es un dispositivo que sirve para la

detección de objetos, en la universidad Carlos III de Madrid efectuaron una

investigación, que se centra en el análisis y funcionamiento del sensor Kinect de

Microsoft para poder utilizarlo en la captura de una escena, es decir realizar la

detección del objeto, procesar la imagen para guardar únicamente los datos útiles,

filtrar ruido, remover información innecesaria y hacer la segmentación para el

posterior análisis de la imagen36. Otra investigación acerca de la detección de

objetos utilizando el sensor Kinect fue realizada en la Universidad Nacional Arturo

35ROS, Alfonso, MENDONÇA, Ismael. “Captura de movimiento de personas con múltiples sensores Kinect”. Director: Carolina Chang. Universidad Simón Bolívar, Coordinación de la ingeniería de la computación, 2012; Citado en: 02/03/2015; [en línea]. Disponible en: <http://goo.gl/WU1I2I> 36 NUÑO, Javier. “Reconocimiento de objetos mediante sensor 3D Kinect”. Director: Alejandro Lumbier. Universidad Carlos III de Madrid, Departamento de ingeniería de sistemas y automática, 2012; Citado en: 02/03/2015; [en línea]. Disponible en: <http://goo.gl/c9MK2s>

Page 25: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

25

Jauretche en Argentina, la cual realiza una detección de rostros por medio del

algoritmo de Haar que provee la librería OpenCV y SDK sobre la imagen RGB

obtenida, este algoritmo realiza la detección de los ojos, nariz y boca a través de

tres funciones para detectar cada uno de los parámetros37. Unos investigadores de

la universidad de Autónoma de Querétaro realizaron una segmentación de

imágenes obtenidas a través del sensor Kinect, mediante filtros morfológicos y

estadísticos determinando distancias en imagen de profundidad y color38.

Otra importante investigación colombiana fue el diseño e implementación de un

robot en la Universidad de los Llanos, este robot móvil usa la librería OpenCV junto

con el dispositivo Kinect de Microsoft que reconstruye una imagen a partir de la

distorsión del patrón, busca todos los puntos rojos de la escena, los cuenta, calcula

el centroide, diámetro, posición, distancia y envía los resultados a la tarjeta Arduino,

el cual controla los motores y realiza las acciones correspondientes39.

37 SALVATORE, Juan, OSIO, Jorge, MORALES, Martin. “Detección de objetos utilizando el sensor Kinect”, Twelfth LACCEI Latin American and Caribbean Conference for Engineering and Technology, 2014; Citado en: 02/03/2015; [en línea]. Disponible en: <http://goo.gl/21wTkm> 38 GARDUÑO, Antonio. “Segmentación de imágenes obtenidas a través de un sensor Kinect con criterios morfológicos y atributos visuales de profundidad”. Director: Luis Morales. Universidad Autónoma de Querétaro, Facultad de Ingeniería, 2014; Citado en: 02/03/2015; [en línea]. Disponible en: <http://goo.gl/DwSDP7> 39DÍAZ, César, ROMERO, César. “Navegación de robot móvil usando Kinect, OpenCV y Arduino”, Prospect. Vol. 10, No. 1, 2012, pg. 71-78; Citado en: 02/03/2015; [en línea]. Disponible en: <http://goo.gl/hQ9RRi>

Page 26: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

26

4. MARCO CONCEPTUAL

4.1. LA VISIÓN

La luz es considerada como una onda, según el modelo ondulatorio la luz viene de

terminada por dos propiedades: su amplitud y su longitud de onda. El ojo es un

órgano que captura luz, la luz atraviesa un lente llamado cristalino que incide en la

retina. La retina en presencia de la luz genera impulsos neuronales que son

enviadas al cerebro por medio del nervio óptico. El cerebro procesa estos impulsos

generando unas sensaciones, esto es conocido como percepción visual. La

percepción visual está dividida en percepción acromática (orientada al brillo y el

contraste de imágenes) y percepción cromática (distribución de colores basados en

longitudes de onda).

4.2. VISIÓN ACROMÁTICA

La visión acromática está orientada al brillo y al contraste de las imágenes, la

sensación de brillo está relacionada con dos fenómenos:

4.2.1. La sensibilidad a la intensidad. El sistema visual es capaz de percibir y

distinguir un amplio rango de niveles de brillo, pero es sensible cuando hay

muchos niveles de brillo involucrados a la vez, generando una pérdida de

precisión en la diferenciación de brillos, necesitando periodos de adaptación

para cada situación.

4.2.2. La inhibición lateral. Este fenómeno, está relacionado con perturbaciones en

las fronteras de cambio de intensidad, que se genera cuando las células de

la retina, al detectar un nivel de intensidad, inhiben las células vecinas,

produciendo que el brillo percibido no esté en proporción con el brillo físico.

Page 27: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

27

4.3. VISION CROMÁTICA

La energía que produce cada longitud de onda está relacionada con la sensación

que percibimos, esta relación está definida por el matiz y la saturación.

4.3.1. Matiz. El matiz depende de la longitud de onda dominante, es decir, aquella

que tiene más energía en el diagrama espectral.

4.3.2. Saturación. Mide la proporción entre la longitud de onda dominante y el resto

de longitudes de onda. Un color se ve determinado cuando se percibe una

combinación de matiz, saturación y brillo. La teoría de que se necesitan tres

elementos para percibir los colores, es la base de la teoría del triestimulo.

4.4. VISIÓN ARTIFICIAL

La visión artificial es el proceso por el cual se extrae información del mundo físico,

para reconocer y localizar objetos a partir de una representación de una realidad,

que proporciona información sobre brillo, colores, formas, etcétera. Estas

representaciones suelen estar en forma de imágenes estáticas o en movimiento, o

en algunos casos con escenas tridimensionales.

4.5. ETAPAS DE UN SISTEMA DE VISIÓN ARTIFICIAL

La primera etapa consiste en la captura o adquisición de las imágenes

digitales por medio de un sensor.

La segunda etapa consiste en el tratamiento digital de las imágenes. En esta

etapa mediante filtros y transformaciones geométricas, se eliminan o se

realzan partes deseadas de la imagen.

La siguiente etapa es la segmentación, y consiste en aislar los elementos

que se desean de una escena para comprenderla.

Por último se llega a la etapa de reconocimiento o clasificación. En ella se

distinguen los objetos segmentados, mediante al análisis de ciertas

características que se establecen previamente para diferenciarlos40.

40 José Francisco Vélez Serrano, Ana Belén Moreno Díaz, Ángel Sánchez Calle, José Luis Esteban Sánchez-Marín, Visión por computador, 274 p. Primera Edición, 2003.

Page 28: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

28

Figura 4. Diagrama de bloques de un sistema de visión artificial.

Fuente José Francisco Vélez Serrano, Ana Belén Moreno Díaz, Ángel Sánchez Calle, José Luis Esteban

Sánchez-Marín, Visión por computador, pág. 22, 1° Edición, 2003.

4.6. ADQUISICIÓN Y REPRESENTACIÓN DE IMÁGENES DIGITALES

Para la obtención de imágenes digitales, el proceso se divide en dos etapas: la

primera es la etapa de adquisición donde se utilizan sensores ópticos para obtener

la representación de una realidad en un momento dado. En la segunda etapa, o

etapa de representación se realiza la digitalización de la señal, convirtiéndola en

una señal con todas sus componentes discretas.

4.7. ADQUISICIÓN DE LA IMAGEN

Para la adquisición de la imagen es necesario de un dispositivo físico que sea

sensible a una determinada banda del espectro electromagnético. Este dispositivo

toma una señal análoga proporcional al nivel de energía detectado para luego ser

digitalizado. Entre los sensores ópticos podemos encontrar:

Cámara fotográfica análoga

Cámara de video análoga.

4.7.1. Kinect. Es un dispositivo electrónico capaz de capturar el esqueleto

humano, reconocerlo y posicionarlo en el plano, que está integrado por los

siguientes componentes:

Sensor de profundidad.

Cámara RGB.

Array de micrófonos.

Sensor de infrarrojos (emisor y receptor).

Page 29: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

29

Gracias a la gran variedad de componentes del sensor Kinect, este ofrece una gran

facilidad para el desarrollo de aplicaciones orientadas a la visión artificial, la

detección de entornos y el reconocimiento de voz.41

4.8. DIGITALIZACIÓN DE LA IMAGEN

Es el proceso de paso de señales continuas o análogas (o analógico) a señales

digitales o discretas). En la digitalización normalmente tiene tres procesos: el

muestreo (“sampling”), la cuantización (“quantization”) y cuantización binaria

(“binary quantization”) 42.

Figura 5. Señal análoga.

Fuente GUARDIA, Monset, “Conceptos básicos de los computadores”, La Universidad Virtual. Pág. 14.

Citado en: 02/03/2015; [en línea]. Disponible en: <http://goo.gl/AyfmF8>

41 Microsoft Company, “Kinect for Windows Technical Datasheet”. Citado en: 02/03/2015; [en línea]. Disponible en: <https://goo.gl/20bBdf> 42 GUARDIA, Monset, “Conceptos básicos de los computadores”, La Universidad Virtual. Citado en: 02/03/2015; [en línea]. Disponible en: <http://goo.gl/AyfmF8>

Page 30: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

30

4.8.1. Muestreo. El muestreo (o discretización) consiste en tomar muestras de la

señal analógica en intervalos de tiempo regular.

Figura 6. Muestreo de la señal análoga.

Fuente GUARDIA, Monset, “Conceptos básicos de los computadores”, La Universidad Virtual. Pág. 15.

Citado en: 02/03/2015; [en línea]. Disponible en: <http://goo.gl/AyfmF8>

4.8.2. Cuantización. La cuantización consiste en asignar un valor, de entre un

conjunto finito, a la amplitud de la señal en cada intervalo de muestreo.

Figura 7. Cuantización de la señal muestreada.

Fuente GUARDIA, Monset, “Conceptos básicos de los computadores”, La Universidad Virtual. Pág. 16.

Citado en: 02/03/2015; [en línea]. Disponible en: <http://goo.gl/AyfmF8>

Cuanto menores sean los intervalos de tiempo del muestreo (hasta un cierto límite

más allá del cual ya no ganamos nada), y cuanto mayor sea el conjunto de valores

admitidos en la cuantificación, más cercana a será la información digitalizada a la

información analógica.

Page 31: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

31

4.8.3. Codificación Binaria. Consiste en traducir los valores de las diferentes

muestras a un sistema binario, es decir, en expresar estos valores mediante

ceros y unos.

Tabla 1. Binarización de la señal cuantificada.

Fuente GUARDIA, Monset, “Conceptos básicos de los computadores”, La Universidad Virtual. Pág. 16.

Citado en: 02/03/2015; [en línea]. Disponible en: <http://goo.gl/AyfmF8>

De la siguiente forma se realiza la digitalización de una imagen continua43:

Figura 8. Generación de una imagen digital. (a) Imagen continúa. (b) Escaneo de la imagen desde el punto A al

punto B. (c) Muestreo y cubanización. (d) Binarización.

Fuente GONZALEZ, Rafael, WOODS, Richard, “Digital Image Processing”, Tercera Edición, Pagina 53, Pearson

Prentice Hall, 2008.

43 GONZALEZ, Rafael, WOODS, Richard, “Digital Image Processing”, Tercera Edición, Pearson Prentice Hall, 2008.

Page 32: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

32

Figura 9. (a) Imagen detectada por el sensor. (b) Digitalización de la imagen.

Fuente GONZALEZ, Rafael, WOODS, Richard, “Digital Image Processing”, Tercera Edición, Pagina 54,

Pearson Prentice Hall, 2008.

4.9. REPRESENTACIÓN DE IMÁGENES DIGITALES

Existen multitud de formatos de ficheros de imágenes de tipo mapa de bits. Se

puede hablar de ficheros tipo BMP, TIFF, GIF, JFIF, PGM... Cada uno ofrece ciertas

ventajas que otros formatos pueden no contemplar. El cuadro 1 recoge las

principales características de algunos de estos formatos.

Cuadro 1. Diferentes formatos para ficheros gráficos y características principales.

Fuente José Francisco Vélez Serrano, Ana Belén Moreno Díaz, Ángel Sánchez Calle, José Luis Esteban

Sánchez-Marín, Visión por computador, Pagina 56 .Primera Edición, 2003.

Page 33: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

33

4.10. RELACIONES ENTRE PIXELES

Un pixel p con coordenadas (x, y) tiene cuatro vecinos horizontales y verticales,

cuyas coordenadas son (x+1, y), (x-1, y), (x, y-1) y (x, y+1). A este conjunto de

pixeles se le llama vecindad 4 o 4 vecinos en p, y se denota por 𝑁4(𝑝)44.

Figura 10. Vecindad 𝑁4(𝑝).

Fuente ESQUEDA, José, PALAFOX, Luis. “Fundamentos de procesamiento de imágenes”, Universidad

Autónoma de Baja California, Primera Edición, Pagina 13, Citado en: 02/03/2015; [en línea]. Disponible en:

http://goo.gl/KpoRz7

Existen también 4 vecinos diagonales de p con coordenadas (x+1, y+1), (x+1, y-1),

(x-1, y+1) y (x-1, y-1), y se les denota por 𝑁𝐷(𝑝).

Figura 11. Vecindad 𝑁𝐷(𝑝).

Fuente ESQUEDA, José, PALAFOX, Luis. “Fundamentos de procesamiento de imágenes”, Universidad

Autónoma de Baja California, Primera Edición, Pagina 14, Citado en: 02/03/2015; [en línea]. Disponible en:

http://goo.gl/KpoRz7

𝑁4(𝑝) y 𝑁𝐷(𝑝) Forman juntas la vecindad 8, denotada por 𝑁8(𝑝).

44 ESQUEDA, José, PALAFOX, Luis. “Fundamentos de procesamiento de imágenes”, Universidad Autónoma de Baja California, Primera Edición, Paginas 157, Citado en: 02/03/2015; [en línea]. Disponible en: <http://goo.gl/KpoRz7>

Page 34: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

34

4.10.1. Conectividad. La conectividad es un concepto importante útil para

establecer los límites de objetos en regiones dentro de una imagen. Para

saber si dos pixeles están conectados se determina si son adyacentes en

algún sentido 𝑵𝟒(𝒑), 𝑵𝑫(𝒑), y si sus niveles de gris satisfacen un criterio de

similaridad. En el caso de una imagen con valores 1 y 0, por ejemplo, dos

pixeles pueden ser vecinos 𝑵𝟒(𝒑), pero se dicen que están conectados solo

cuando tienen el mismo valor.

4.10.2. Distancia. La distancia o transformada de distancia proporciona una

medición de la separación existente entre dos puntos dentro de una imagen.

Dados tres pixeles, p, q y z, con coordenadas (x, y), (s, t) y (u, v),

respectivamente, se puede definir una función de distancia D si se cumple:

Donde:

Las funciones de distancia comúnmente utilizadas son: distancia euclidiana,

distancia Manhattan o de cuadra, y distancia tablero de ajedrez. Distancia euclidiana

entre p y q: En la figura 11 se muestra la distancia euclidiana para una imagen de 5

por 5, y que está dada por la siguiente ecuación:

Figura 12. Distancia euclidiana para una imagen de 5 por 5.

Fuente ESQUEDA, José, PALAFOX, Luis. “Fundamentos de procesamiento de imágenes”, Universidad

Autónoma de Baja California, Primera Edición, Pagina 15, Citado en: 02/03/2015; [en línea]. Disponible en:

<http://goo.gl/KpoRz7>

Page 35: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

35

Distancia Manhattan: Se toman solamente los vecinos de orden 4, es decir:

En la figura 12 se muestra la distancia Manhattan de una imagen de 5 por 5.

Figura 13. Distancia manhattan para una imagen de 5 por 5.

Fuente ESQUEDA, José, PALAFOX, Luis. “Fundamentos de procesamiento de imágenes”, Universidad

Autónoma de Baja California, Primera Edición, Pagina 16, Citado en: 02/03/2015; [en línea]. Disponible en:

<http://goo.gl/KpoRz7>

Distancia tablero de ajedrez: En donde se observa que los cuatro vecinos están a

una distancia unitaria del pixel central; si se desea que los 8 vecinos estén a la

misma distancia se toman:

Figura 14. Distancia tablero de ajedrez.

Fuente ESQUEDA, José, PALAFOX, Luis. “Fundamentos de procesamiento de imágenes”, Universidad

Autónoma de Baja California, Primera Edición, Pagina 16, Citado en: 02/03/2015; [en línea]. Disponible en:

<http://goo.gl/KpoRz7>

Page 36: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

36

4.11. MEJORAMIENTO DE LA IMAGEN

El objetivo del mejoramiento de la imagen es realizar transformaciones directamente

sobre la imagen para obtener información de los objetos que están en ella.

4.11.1. Suavizado (Smoothing). El suavizado es utilizado para reducir ruidos

en la imagen, por medio de filtros y difuminaciones.

Figura 15. (a)Imagen Original. (b)Difuminar. (c)Difuminar sin escala. (d) Filtro gaussiano (e) Filtro medio. (f)

Filtro lateral.

Fuente Blog OpenCV. Citado en: 02/03/2015; [en línea]. Disponible en: <http://goo.gl/tttDHX>

4.11.2. Operadores Morfológicos. La morfología matemática es un conjunto

de técnicas matemáticas que permitan tratar problemas que involucran

formas de una imagen. Las transformadas morfológicas básicas son la

dilatación y la erosión, pero también encontramos otros operadores.

Dilatación y erosión: Las operaciones de dilatación y erosión consisten en

realizar un incremento o eliminación de una fila de pixeles en un objeto de

una imagen binaria45.

45 PERTUSA, José, “Técnicas de análisis de imagen”, Aplicaciones en Bilogía, Universidad de Valencia, 2003, 352 páginas, Citado en: 02/03/2015; [en línea]. Disponible en: <https://goo.gl/9csT65>

Page 37: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

37

Figura 16. Erosión y dilatación de pixeles.

Fuente PERTUSA, José, “Técnicas de análisis de imagen”, Aplicaciones en Bilogía, Universidad de Valencia,

2003, Pagina 107, Citado en: 02/03/2015; [en línea]. Disponible en: <https://goo.gl/9csT65>

Abierto y Cerrado: Estos dos operadores morfológicos son la combinación de

erosión y dilatación. En el caso de Abierto se realiza primero una erosión y

luego una dilatación. En el caso de Cerrado se realiza primero una dilatación

y luego una erosión46.

Figura 17. Abierto y cerrado de pixeles.

Fuente RUSS, John, “The image processing handbook”, Quinta Edición, CRC Press Taylor & Francis Group, 2007, página 472, Citado en: 02/03/2015; [en línea]. Disponible en: <https://goo.gl/KNra1l>.

Gradiente morfológica: El operador gradiente morfológica viene definido por

la siguiente ecuación:

𝑔𝑟𝑎𝑑𝑖𝑒𝑛𝑡𝑒 = 𝑑𝑖𝑙𝑎𝑡𝑎𝑐𝑖ó𝑛 − 𝑒𝑟𝑜𝑠𝑖ó𝑛

46 RUSS, John, “The image processing handbook”, Quinta Edición, CRC Press Taylor & Francis Group, 2007, 821 páginas, Citado en: 02/03/2015; [en línea]. Disponible en: <https://goo.gl/KNra1l>

Page 38: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

38

Top Hat: Este operador está definido por la siguiente ecuación.

𝑇𝑜𝑝 𝐻𝑎𝑡 = 𝑖𝑚𝑎𝑔𝑒𝑛 𝑜𝑟𝑖𝑔𝑖𝑛𝑎𝑙 − 𝑎𝑏𝑖𝑒𝑟𝑡𝑜

Black Hat: Este operador está definido por la siguiente ecuación47:

𝐵𝑙𝑎𝑐𝑘 𝐻𝑎𝑡 = 𝑐𝑒𝑟𝑟𝑎𝑑𝑜 − 𝑖𝑚𝑎𝑔𝑒𝑛 𝑜𝑟𝑖𝑔𝑖𝑛𝑎𝑙

Figura 18. (a)Imagen original. (b) Imagen dilatada. (c) Imagen erosionada. (d) Black Hat. (e) Top Hat. (f)

Gradiente morfológica.

Fuente JÄHNE, Bernd, HAUSSECKER, Horst, “Computer vision and applications: A guide for students and practitioners”, Academic Press, 2000, Página 492, Citado en: 02/03/2015; [en línea]. Disponible en: <https://goo.gl/FgWyq2>.

4.11.3. Umbralización (Threshold). Para la binarización de las imágenes se

utiliza el umbral de cada pixel, donde se utiliza una transformación no lineal

para convertir imágenes en 0 y 1, o negro y blanco.

47 JÄHNE, Bernd, HAUSSECKER, Horst, “Computer vision and applications: A guide for students and practitioners”, Academic Press, 2000, 679 Páginas, Citado en: 02/03/2015; [en línea]. Disponible en: <https://goo.gl/FgWyq2>.

Page 39: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

39

Umbral binario: Todo valor de la imagen que supere al umbral definido, será

1 o blanco, y todo valor de la imagen menor al umbral definido, será un 0 o

negro.

Umbral binario invertido: Todo valor de la imagen que supere al umbral

definido, será 0 o negro, y todo valor de la imagen menor al umbral definido,

será un 1 o blanco.

Umbral truncado: Los valores menores al umbral definido, se dejan intactos,

pero todo valor que supere al umbral definido tomara el valor del umbral.

Umbral a Zero invertido: Todo valor superior al umbral definido tendera a 0 o

negro, y los valores menores al umbral definido se dejan intactos.

Umbral a Zero: Todo valor inferior al umbral tiende a 0 o negro, los valores

mayores al umbral se dejan intactos.

Figura 19. (a) Valor original y nivel del umbral. (b) Umbral binario. (c) Umbral binario invertido. (d) Truncado. (e)

Umbral a Zero invertido. (f) Umbral a Zero.

Fuente BRADSKI, Gary, KAEBLER, Adrian, “Learning OpenCV computer vision with the OpenCV library”,

Primera Edición, Pagina 136, Citado en: 02/03/2015; [en línea]. Disponible en: <http://goo.gl/uKcqg9 >

Page 40: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

40

4.12. DETECCIÓN DE CONTORNOS

La detección de bordes es una tarea importante para la visión artificial, porque son

un punto de partida para la detección de esquinas, bordes y compresión de

imágenes, además de ser la base para la segmentación de los diferentes objetos

de una imagen.

4.12.1. Canny. El detector de bordes canny puede ser utilizado sobre

imágenes a color, escala de grises y binarias. Este detector está basado en

un filtro gaussiano, donde se eligen los bordes comparando el valor generado

por el filtro y un umbral, el cual es dado por el mayor valor de la imagen

filtrada48.

Figura 20. (a) Imagen filtrada. (b) Detector Canny.

Fuente LEI, Jingsheng, WANG, Fu Lee, DENG, Hupo, MIAO, Duoqian, “Artificial Intelligence and Computational Intelligence”,4th International Conference, AICI 2012, Pagina 56, 2012, Citado en: 02/03/2015; [en línea]. Disponible en: <https://goo.gl/ztqo03>

4.12.2. Transformada de Hough. Es un método utilizado para encontrar línea,

círculos o formas simples dentro de las imágenes. Este método funciona

mejor en imágenes binarias.

Transformada lineal de Hough: La transformada lineal de Hough es utilizada

para detectar líneas en una imagen, esta transformada genera puntos

específicos dentro de la imagen y las proyecta creando líneas49.

48 LEI, Jingsheng, WANG, Fu Lee, DENG, Hupo, MIAO, Duoqian, “Artificial Intelligence and Computational Intelligence”, 4th International Conference, AICI 2012, 2012, Citado en: 02/03/2015; [en línea]. Disponible en: <https://goo.gl/ztqo03> 49 GOSHTASBY, Ardeshir, “2D and 3D Image Registration”, John Wiley & Sons, 2005, 270 páginas, Citado en: 02/03/2015; [en línea]. Disponible en: <https://goo.gl/QZopJ0>

Page 41: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

41

Figura 21. (a) Puntos en una imagen. (b) Dibujos de líneas correspondientes.

Fuente GOSHTASBY, Ardeshir, “2D and 3D Image Registration”, John Wiley & Sons, 2005, Pagina 53, Citado

en: 02/03/2015; [en línea]. Disponible en: <https://goo.gl/QZopJ0>.

Transformada circular de Hough: Se utiliza para detectar círculos dentro de las

imágenes, igual que la transformada lineal de Hough es más eficiente en imágenes

binarias50.

Figura 22. Detección de círculos.

Fuente OpenCV documentation, Citado en: 02/03/2015; [en línea]. Disponible en: <http://goo.gl/8qmPcf>

4.13. ARDUINO

Es una placa hardware que está conformada por un microcontrolador

reprogramable y pines hembra que están unidos internamente a puerto E/S tanto

digitales como análogos, los cuales se pueden conectar

4.13.1. Arduino UNO. La placa Arduino UNO es la más utilizada en el

mercado, porque fue la primera en aparecer y una de las más económica de

todas. El modelo de microcontrolador que lleva Arduino UNO es el

ATmega328P de la compañía Atmel.

50 DOCUMENTACIÓN OpenCV, Citado en: 02/03/2015; [en línea]. Disponible en: http://goo.gl/8qmPcf

Page 42: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

42

ATmega328P tiene incorporado una memoria flash que se utiliza para almacenar

permanentemente el programa que ejecutara el microcontrolador hasta que sucede

una nueva escritura. La cantidad de espacio dedicada a esta memoria es de 32 Kb.

Este microcontrolador además tiene incorpora una memoria SRAM, que al ser una

memoria volátil se utiliza para alojar datos que cambian durante la ejecución de

programa, esta tiene una capacidad de 2kb, por ultimo encontramos la memoria

EEPROM donde se almacenan datos permanentemente, esta tiene una capacidad

de 1Kb.

4.13.2. Comunicación serial. Arduino incorpora librerías para la

comunicación serie o UART, esta comunicación es utilizada para compartir

datos entre microcontroladores y dispositivos más robustos. arduino tiene

una gran variedad de métodos tanto para recibir como transmitir.

4.13.3. Entradas y salidas digitales. Arduino tiene la posibilidad de trabajar

con entradas y salidas digitales, las cuales se utilizan para control PWM,

encendido de leds, dip swtich y utilización de muchos tipos de sensores

4.13.4. Servomotores. Arduino ofrece una serie de facilidades para el uso de

servomotores, los cuales por un PWM se posiciona en el ángulo deseado, es

utilizado para aplicaciones robóticas o de automatización de procesos51.

51 TORRENTE, Oscar, “Arduino curso práctico de formación”, Alfaomega, 2013, Primera Edición, 588 paginas.

Page 43: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

43

5. DESARROLLO DE HARDWARE

En el desarrollo del proyecto fue necesario la utilización del sensor Kinect de

Microsoft, el cual posee cámaras con resoluciones (320×240 y 640×480 de alto

color) que envían datos con una frecuencia de actualización de 30 fps. Lo que

significa que algunos movimientos tendrán unos frames de retraso, sobre todo

cuando se trata de movimientos bruscos que realice el robot GIO1, cuenta con una

cámara RGB, un sensor de profundidad y un micrófono multi-array . Debido al

movimiento brusco que realiza el brazo robótico que posee el robot GIO1, fue

necesario la utilización de un sensor que posee el Kinect, que ajusta

automáticamente la inclinación de la cámara dependiendo de la dirección en que

se encuentre la naranja.

Figura 23. Kinect para Xbox 360.

Fuente Microsoft Company, “Kinect for Windows Technical Datasheet”. Citado en: 02/03/2015; [en línea].

Disponible en: https://goo.gl/20bBdf

Otro Hardware indispensable es el computador, el cual puede almacenar y procesar

en un tiempo útil la tarea que queremos que esta máquina realice, en este caso

realiza las tareas de procesamiento para inferir las características o propiedades del

entorno, a partir de una o más imágenes que adquirimos del sensor Kinect,

implementado una serie de algoritmos que permiten obtener una representación

visual del medio, suficiente para la detección del objeto mediante el Software Visual

Studio 2013. Aparte del procesamiento de imágenes, también se utilizó el

procesamiento de datos, el cual se encarga de controlar el robot GIO1, teniendo la

autonomía de toda la parte mecánica, Posee una interfaz de entrada, que está

directamente unida a los periféricos del computador. El objetivo de esa interfaz de

entrada es llevar la información al microcontrolador (Arduino Uno-R3), la pieza

encargada de procesar esos datos.

Page 44: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

44

Figura 24. Arduino Uno-R3.

Fuente TORRENTE, Oscar, “Arduino curso práctico de formación”, Alfaomega, 2013, Primera Edición, 588

paginas.

5.1 ROBOT GIO1

Figura 25. Robot GIO1.

Fuente TOVAR, Christian, “DESARROLLO E IMPLEMENTACIÓN DE UNA PLATAFORMA MÓVIL PARA

RECOLECCIÓN DE NARANJAS”, Director: MsC Beatriz Nathalia Serrato, 2014, Pagina 76, Universidad

Católica de Colombia, Facultad de Ingeniería, Programa de Ingeniera Electrónica.

Para la recolección de naranjas se utiliza el robot GIO1, el cual consta de una

plataforma móvil impulsado por motores reductores y para la recolección una pinza

compuesta por servomotores que simulan un aguijón de escorpión y sus diferentes

libertades de movimiento, tanto la pinza como la plataforma están controladas por

un microcontrolador Arduino encargado de accionar los motores bajo un algoritmo

especifico.

Page 45: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

45

5.2. PLATAFORMA MÓVIL

Como ya se mencionó la plataforma móvil está conformada por 4 moto reductores

alimentados a 24v y controlados por Arduino, cada moto reductor esta adherido a

una rueda sin llanta, que están ubicadas así; dos en la parte izquierda del robot y

dos en la parte derecha del robot, donde cada par de ruedas están unidas por una

banda que simula un carro tanque militar. Gracias a que simula el sistema de

movilización de un tanque, el robot GIO1 tiene la posibilidad de acceder a terrenos

complicados. La plataforma dispone de 6 desplazamientos, adelante, adelante,

derecha, adelante izquierda, atrás, atrás derecha, atrás izquierda, todos estos

movimientos son posibles porque cada motor tiene una etapa de control conformada

por circuitos puente H los cuales permiten movimientos en diferentes polaridades.

5.3. PINZA ROBÓTICA

Figura 26. Pinza robótica.

Fuente Autores.

La pinza robótica posee 4 servomotores concediéndole 4 libertades de movimiento.

El primer servomotor se encarga del desplazamiento del brazo robótico de forma

horizontal de 0 a 180 grados, el segundo servomotor es el encargado del primer

movimiento vertical, el tercero de la posición de la punta de la pinza y el cuarto de

cerrar y abrir la pinza. El robot realiza la detección de naranjas por medio de

sensores ultrasonido, los cuales envían una orden al Arduino el cual activa el

movimiento de recogida de frutas52.

52 TOVAR, Christian, “DESARROLLO E IMPLEMENTACIÓN DE UNA PLATAFORMA MÓVIL PARA RECOLECCIÓN DE NARANJAS”, Director: MsC BEATRIZ NATHALIA SERRATO, 2014, Universidad Católica de Colombia, Facultad de Ingeniería, Programa de Ingeniera Electrónica.

Page 46: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

46

6. DESARROLLO DE SOFTWARE

Para la detección automática de la estructura y propiedades de un posible entorno

dinámico en 3 dimensiones, a partir de una o varias imágenes bidimensionales del

ambiente, se realizó la búsqueda de algoritmos posibles para el sensor, en este

caso se dispuso de la poderosa herramienta para desarrolladores Microsoft Visual

Studio 2013 53, la cual fue de bastante ayuda para el desarrollo de este proyecto, ya

que Soporta múltiples lenguajes de programación tales como C++, C#, Visual Basic

.NET, F#, Java, Python, Ruby, PHP; al igual que entornos de desarrollo web

como ASP.NET MVC, Django, etc. Soporta el sistema operativo de Windows en

cualquiera de sus versiones, además es más fácil para la interacción con la

plataforma.

Figura 27.Algoritmo Implementado.

Fuente Autores.

53 DOCUMENTACIÓN Visual Studio 2013, Citado en: 02/03/2015; [en línea]. Disponible en: <http://goo.gl/9T1KdL>

Page 47: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

47

En el momento en que el robot GIO1 detecta algún objeto con el sensor ultrasonido,

el Arduino uno, envía un comando por comunicación serial a la portátil, esta

comienza a ejecutar el algoritmo de detección y el microcontrolador, quedando en

espera del comando para recolectar o desechar el objeto. El algoritmo está basado

en la interpretación de características de la naranja como el color, la forma y el área

en un ambiente controlado.

6.1. ADQUISICIÓN DE LA IMAGEN

Para la adquisición de la imagen se realizó la instalación de Microsoft Visual Studio

2013 en la computadora, luego de esto se instaló el programa Kinect para Windows

SDK 2.0, el cual es un Software libre en su versión 2.0, que permite crear

aplicaciones que soportan gesto y reconocimiento de voz, utilizando la tecnología

del sensor Kinect en equipos que ejecutan Windows 8, Windows 8.1 etc.

Teniendo este novedoso programa instalado en el equipo, se efectuó la conexión

con la plataforma Visual Studio 2013 creando un programa en lenguaje C#

obteniendo de forma completa, la visualización del Sensor Kinect en nuestra

máquina.

Figura 28. Visualización Visual Studio 2013 del Sensor Kinect.

Fuente: Autores

Después de obtener la visualización del sensor Kinect en el ordenador, se instaló el

Software libre Arduino Development para Windows, con el cual se realizó la

Page 48: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

48

conexión con la plataforma Visual Studio 2013 para el procesamiento de datos del

robot GIO1, es decir, cada vez que el robot GIO1 detectara un objeto (15 cm)

mediante los sensores de ultrasonido, permite la adquisición de una serie de

imágenes por medio del sensor Kinect, la cual es guardada en una ruta específica

del ordenador con formato jpg.

6.2. PROCESAMIENTO DE LA IMAGEN

Para el procesamiento de imágenes obtenidas por el sensor Kinect, fue necesario

la instalación de la biblioteca libre OpenCV 2.4.11 en la plataforma Visual Studio

2013, Una vez instalada la biblioteca OpenCV, se crean tres algoritmos en lenguaje

C++ para el procesamiento de las imágenes. Con estos programas podremos definir

ciertas características que tienen las naranjas, como forma redondeada, radio y

color de la naranja.

Después de adquiridas las imágenes y guardas en el ordenador, las utilizamos para

hacer el primer procesamiento, cambio de RGB a escala de grises.

Figura 29. Imagen original.

Fuente: Autores

Page 49: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

49

Figura 30. Imagen escala de grises.

Fuente: Autores

Después de haber realizado el cambio de RGB a escala de grises, el algoritmo inicia

ejecutando una discriminación de color donde se ajusta la escala HSV en la que

se encuentra la naranja.

Figura 31. Imagen en modelo HSV.

Fuente: Autores

Luego se creó una imagen binaria por umbralización de color naranja, es decir, que

el área de este color se le asigna '1' y a otras zonas de otro color se les asigna '0'.

Page 50: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

50

La umbralización consta de 3 matrices, tono, saturación y valor. En OpenCV, el rango de valores de HUE, SATURACIÓN y VALOR son, respectivamente, 0-22, 0-255 y 0-255. HUE representa el color, SATURACIÓN representa la cantidad a la que ese color respectivo se mezcla con el blanco y VALOR representa la cantidad a la que ese color respectivo se mezcla con negro. En la aplicación se considerado que el objeto naranja tiene HUE, SATURACIÓN y VALOR entre 170-180, 160-255, 60-255, respectivamente. El HUE es único para que la distribución del color sea específico, pero la SATURACIÓN y VALOR pueden variar en función de las condiciones de iluminación del entorno y se utilizó operadores morfológicos para reducir el ruido indeseado provocado por las sombras, quedando lista para realizar la segmentación.

Figura 32. Imagen binarizada.

Fuente: Autores

6.3. SEGMENTACIÓN DE LA IMAGEN

La segmentación es la tarea fundamental más importante y desafiante de la visión

por computador. Es una parte crítica en muchas aplicaciones, tales como la

búsqueda de imágenes, escena comprensión, etc.

Luego se utiliza el detector de contornos Canny, el cual dibuja el borde de la naranja

utiliza la función de Canny de OpenCv, la cual pretende bajar la tasa de error de la

imagen, es decir obtener una buena detección de bordes sólo existentes en la

imagen, además debe tener una buena localización de la distancia entre los píxeles

del borde detectado y el borde que debe ser minimizado, por ultimo aplicando

Histéresis a la imagen, haciendo uso de dos umbrales (superior e inferior).

Page 51: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

51

Figura 33. Detector contornos Canny en imagen sin utilizar operadores morfológicos.

Fuente: Autores

Figura 34.Detector de contornos Canny utilizando operadores morfológicos.

Fuente: Autores

Como se observa la naranja está totalmente limpia de imperfecciones, ya que en el

proceso también se aplicaron tratamientos morfológicos, mediante la aplicación de

tres erosiones, seguido de la dilatación con el mismo elemento estructurante.

6.4. RECONOCIMIENTO

Con la naranja libre de imperfecciones, se prosigue al reconocimiento de la naranja,

ya que se obtiene el contorno circular del objeto. Para el reconocimiento de las

Page 52: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

52

naranjas se realizó un algoritmo en lenguaje C++ bajo los parámetros de radio,

forma y color que tienen las naranjas, para la detección del color se utilizó la

umbralización del HSV como ya se explicó en el procesamiento de la imagen, para

la detección del radio y la forma se utilizó la transformada circular de Hough.

Figura 35. Detección de círculos en la imagen.

Fuente: Autores

Además el método genera el valor del radio del círculo de la imagen, con el que es

posible calcular el área de la fruta, el cual si es superior al rango establecido (90

pixeles), se visualiza en la computadora si es naranja mediante el comando CMD

enviando una instrucción al Arduino uno ordenándole la recolección del objeto,

Figura 36. Resultados algoritmo final.

Fuente: Autores

Page 53: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

53

Figura 37. Binarización programa final.

Fuente: Autores

Figura 38. Comando cmd.

Fuente: Autores

En el caso que no se cumpla las discriminantes, por forma, radio y color el equipo

envía un comando al Arduino uno para que el objeto sea desechado.

Page 54: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

54

6.5. RESULTADOS OBTENIDOS

Se tomó una muestra de 100 naranjas, a las cuales se le aplico el algoritmo,

obteniendo los siguientes resultados:

TABLA 2. Resultados detección de naranjas.

Fuente: Autores.

Donde los aciertos hacen referencia a la cantidad de veces que reconoció y

recolecto la naranja, y los fallos representan las veces en que el algoritmo no

identifico la naranja.

Para comprobar que el algoritmo identifica solo naranjas, se realizó pruebas a 5

clases de frutos, algunos con características similares y otros diferentes, los

resultados fueron los siguientes:

TABLA 3. Resultados detección de otros frutos.

Fuente: Autores.

Los aciertos representan las veces en que el algoritmo identifico como no naranja,

el fruto y lo desecho, y los fallos hacen referencia a la cantidad de veces que

identifico el fruto como naranja y lo recolecto.

Es muy importante tener en cuenta que las pruebas se realizaron en un entorno

controlado con muy buena iluminación, ya que las sombras son estados de

iluminación que son propensos a producir errores, y por ende el algoritmo puede

tener fallos hasta en una probabilidad de 60% en la identificación del objeto.

Pruebas Aciertos Fallos

100 95 5

Fruto Pruebas Aciertos Fallos

Limón 10 10 0

Pera 10 9 1

Mango 10 10 0

Mandarina 10 9 1

Manzana 10 10 0

Page 55: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

55

7. CONCLUSIONES

El proyecto que se realizó, ha contribuido de manera muy importante para la

identificación y reconocimiento de las naranjas, considerando una implementación

exitosa en los sistemas desarrollados.

Se logró diseñar e implementar un sistema de reconocimiento de naranjas para la

plataforma móvil GIO1, determinando un sistema de captura y procesamiento de

imágenes, y una implementación de algoritmos para el reconocimiento de patrones

necesarios para la identificación de las naranjas.

Los resultados del sistema, indican que el hardware implementado y el método de

decisión del algoritmo, cumplen con los objetivos propuestos de manera eficiente y

con una efectividad del 95 %.

El método de Binarización permite eliminar los colores no deseados de la imagen

en modelo HSV, eficiente para discriminar objetos con diferente matiz, saturación y

brillo al de las naranjas.

El proceso de detección de círculos facilita diferenciar los objetos por su forma,

eliminando cualquier ente con distinto contorno geométrico al deseado, además el

entorno controlado permite la reducción de errores en la imagen, causados por los

diferentes estados lumínicos que se presentan en un ambiente no controlado.

Finalmente como mejora a futuro debe considerarse el incremento de la eficiencia

del algoritmo, y la implementación de mejoras al robot GIO1, para lograr un sistema

con mayor robustez como por ejemplo, un servicio de navegación satelital y auto-

sustentabilidad.

Page 56: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

56

8. REFERENCIAS

ABUZAINA, Anas, NIXON, Mark, CATER, John, “3D MovingObjectReconstructionby Temporal Accumulation”, 22nd International Conference on Pattern Recognition (ICPR), 2014, pg. 2125-2130; Citado en: 11/02/2015; [en línea]. Disponible en: <http://goo.gl/25L91b>. ALEIXOS, N., BLASCO, J., NAVARRÓN, F., MOLTÓ, E. “Multispectral inspection of citrus in real-time using machine vision and digital signal processors” Computers and electronics in agriculture Volume 22 Issue 2, 2002 pg. 121-137; Citado en: 15/03/2015; [en línea]. Disponible en: <http://goo.gl/TihLJh>. BLASCO, J., ALEIXOS, N., GOMEZ, J., MOLTÓ, E.” Citrus sorting by identification of the most common defects using multispectral computer vision”, Journal of Food Engineering Volume 83 Issue 3, 2007, pg. 384-393; Citado en: 15/03/2015; [en línea]. Disponible en: <http://goo.gl/4Y7MnG>. BLASCO, J., ALEIXOS, N., MOLTÖ, E.” Computer vision detection of peel defects in citrus by means of a region oriented segmentation algorithm”. Journal of Food Engineering Volume 81 Issue 3, 2007, pg. 535-543; Citado en: 15/03/2015; [en línea]. Disponible en: <http://goo.gl/Nk3GFF>. BRADSKI, Gary, KAEBLER, Adrian, “Learning OpenCV computer vision with the OpenCV library”, Primera Edición, Paginas 557, Citado en: 20/04/2015; [en línea]. Disponible en: <http://goo.gl/uKcqg9 > CRUZ, Leandro, LUCIO, Djalma, VELHO, Luiz.”Kinect and RGBD images: Challenges and Applications” Graphics, Patterns and Images Tutorials: 25th SIBGRAPI-T Conference, 2012, pg. 36-49; Citado en: 07/03/2015; [en línea]. Disponible en: <http://goo.gl/mWkW9r>. CUENCA SANZ, Julián. “Reconocimiento de objetos por descriptores de forma”. Director: Sergio Escalera Guerrero. Universidad de Barcelona, Departamento de matemática aplicada y análisis, 2008; Citado en: 02/03/2015; [en línea]. Disponible en: <http://goo.gl/am0A0c> DÍAZ, César, ROMERO, César. “Navegación de robot móvil usando Kinect, OpenCV y Arduino”, Prospect. Vol. 10, No. 1, 2012, pg. 71-78; Citado en: 02/03/2015; [En línea]. Disponible en: <http://goo.gl/hQ9RRi>. DOCUMENTACIÓN OpenCV, Citado en: 20/04/2015; [en línea]. Disponible en: <http://goo.gl/8qmPcf>. DOCUMENTACIÓN OpenNI, Citado en: 02/03/2015; [en línea]. Disponible en: <http://goo.gl/Mp2Zpk>.

Page 57: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

57

DOCUMENTACIÓN Visual Studio, Citado en: 02/03/2015; [en línea]. Disponible en: <http://goo.gl/9T1KdL>. ESQUEDA, José, PALAFOX, Luis. “Fundamentos de procesamiento de imágenes”, Universidad Autónoma de Baja California, Primera Edición, Paginas 157, Citado en: 20/04/2015; [en línea]. Disponible en: <http://goo.gl/KpoRz7>. GARDUÑO, Antonio. “Segmentación de imágenes obtenidas a través de un sensor Kinect con criterios morfológicos y atributos visuales de profundidad”. Director: Luis Morales. Universidad Autónoma de Querétaro, Facultad de Ingeniería, 2014; Citado en: 02/03/2015; [en línea]. Disponible en: <http://goo.gl/DwSDP7>. GONZALEZ, Juan, MORA, Iván, VARELA, Johny. “Robot móvil guiado con visión (VISBOT)”, INGENIAR UPB, 2013, pg. 171-187; Citado en: 02/03/2015; [en línea]. Disponible en: <http://goo.gl/exFAkn>. GONZALEZ, Rafael, WOODS, Richard, “Digital Image Processing”, Tercera Edición, Pearson Prentice Hall, 2008. Citado en: 20/04/2015; GOSHTASBY, Ardeshir, “2D and 3D Image Registration”, John Wiley & Sons, 2005, 270 páginas, Citado en: 20/04/2015; [en línea]. Disponible en: <https://goo.gl/QZopJ0> GUARDIA, Monset, “Conceptos básicos de los computadores”, La Universidad Virtual. Citado en: 20/04/2015; [en línea]. Disponible en: <http://goo.gl/AyfmF8> HAN, Jungog, SHAO, Ling, XU, Dong, SHOTTON, Jamie “Enhanced Computer Vision with Microsoft Kinect Sensor: A Review”, IEEE Transactions on Cybernetics (Volume: 43), 2013, pg. 1318-1334; Citado en: 11/02/2015; [en línea]. Disponible en: <http://goo.gl/17guH9>. HANNAN, M, BURKS, T, BULANON, D, “A machine vision algorithm combining adaptive segmentation and shape analysis for orange fruit detection” , Agricultural Engineering International: The CIGR Ejournal, 2009, Manuscript 1281, Vol. XI; Citado en: 11/02/2015; [en línea]. Disponible en: <http://goo.gl/oEEIoi>. HERNANDEZ, José, IBARRA, Mario. “Detecting objects using color and depth segmentation with Kinect sensor”, Procedia Technology 3, 2012, pg. 196-204; Citado en: 07/03/2015; [En línea]. Disponible en: <http://goo.gl/fWZo89>. HOFFMAN, Richard, JAIN, Anil. “Segmention and Classification of Range Images”, Pattern Analysis and Machine Intelligence, 2009, pg. 608-620; Citado en: 07/03/2015; [en línea]. Disponible en: <http://goo.gl/ilGPEx>. HSIEH, Ching, WANG, Hui-Chun, WU, Yeh-Kuang. “A Kinect-Based People-flow Counting System”, IEEE International Symposium on Intelligent Signal Processing

Page 58: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

58

and Communication Systems (ISPACS), 2012, pg. 146-150; Citado en: 15/03/2015; [en línea]. Disponible en: <http://goo.gl/CWxWJv>. JÄHNE, Bernd, HAUSSECKER, Horst, “Computer vision and applications: A guide for students and practitioners”, Academic Press, 2000, 679 páginas, Citado en: 20/04/2015; [en línea]. Disponible en: <https://goo.gl/FgWyq2>. KONDO, Naoshi, AHMAD, Usman, MONTA, Mitsuji, Murase, Haruhiko. “Machine visión based quality evaluation of lyokan orange fruit using neural networks”. Computers and Electronics in Agriculture Volume29 Issues 1-2, 2000, pg. 135-147; Citado en: 15/03/2015; [en línea]. Disponible en: <http://goo.gl/yzpkmU> LAI, Kevin, BO, Liefeng, REN, Xiaofeng, FOX, Dieter. “A Large-Scale Hierarchical Multi-View RGB-D Object Dataset”, Robotics and Automation (ICRA), 2011, pg- 1817-1824 Citado en: 07/03/2015; [en línea]. Disponible en: <http://goo.gl/ALcmML>. LEI, Jingsheng, WANG, Fu Lee, DENG, Hupo, MIAO, Duoqian, “Artificial Intelligence and Computational Intelligence”, 4th International Conference, AICI 2012, 2012, Citado en: 20/04/2015; [en línea]. Disponible en: <https://goo.gl/ztqo03> LI, Jiangbo, RAO, Xiuqin, WANG, Fuije, Wu, Wei, Ying Yibin. “Automatic detection of common surface defects on oranges using combined lighting transform and image ratio methods”, Postharvest Biology and Technology Volume 82, 2013, pg. 59-69; Citado en: 15/03/2015; [en línea]. Disponible en: <http://goo.gl/sBgq43>. LIPINSKI, P., MCCABE, S., DI CATERINA, G.,”RoboKinect - A low-cost mobile

vision system for 2.5D object detection”, 5th European DSP on Education and

Research Conference, 2012, pg. 276-280;Citado en: 11/02/2015; [en línea].

Disponible en: <http://goo.gl/rZx6nE>.

LU, Jun, SANG, Nong, HU, Yang, FU, Huini. “Detecting citrus fruits with highlight on tree based on fusion of multi-map”. Optik – International Journal for Light and Electron Optics Volume 125 Issue 8, 2014, pg. 1903-1907; Citado en: 15/03/2015; [en línea]. Disponible en: <http://goo.gl/6ziqNk>. LU, Jun, SANG, Nong. “Detecting citrus fruits and occlusion recovery under natural illumination conditions”, Computers and Electronics in Agriculture Volume 110, 2015, pg. 121-130; Citado en: 15/03/2015; [en línea]. Disponible en: <http://goo.gl/3NUdXQ> . Materia didáctica, Ingenierías; 24. Técnicas y algoritmos básicos de visión artificial Universidad de la Rioja: Servicio de Publicaciones, 2006[02/03/2015] ; [en línea]. Disponible en: <http://goo.gl/nlB2jG>.

Page 59: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

59

Microsoft Company, “Kinect for Windows Technical Datasheet”. Citado en: 20/04/2015; [en línea]. Disponible en: <https://goo.gl/20bBdf>. NEWCOMBE, Richard, IZADI, Shahram. “KinectFusion: Real-Time Dense Surface Mapping and Tracking” Mixed and Augmented Reality (ISMAR): !0th IEEE International Symposium, 2011, pg. 127-136; Citado en: 07/03/2015; [en línea]. Disponible en: <http://goo.gl/N6aq8r>. NUÑO, Javier. “Reconocimiento de objetos mediante sensor 3D kinect”. Director: Alejandro Lumbier. Universidad Carlos III de Madrid, Departamento de ingeniería de sistemas y automática, 2012; Citado en: 02/03/2015; [en línea]. Disponible en: <http://goo.gl/c9MK2s>. OLGUIN RIVAS, Lorena. “Detección y seguimiento de una persona en una habitación”. Director: Carmen Juan Lizandra. Universidad Politécnica de Valencia, Departamento de sistemas informáticos y computación, 2013; Citado en: 02/03/2015; [en línea]. Disponible en:<http://goo.gl/Mq3buZ>. PERTUSA, José, “Técnicas de análisis de imagen”, Aplicaciones en Bilogía, Universidad de Valencia, 2003, 352 páginas, Citado en: 20/04/2015; [en línea]. Disponible en: <https://goo.gl/9csT65>.

PLEBE, Alessio, GRASSO, Giorgio. “Localization of spherical fruits for robotic

harvesting”, Machine Vision and Applications, 2001, 9.70-79; Citado en: 11/02/2015;

[en línea]. Disponible en: <http://goo.gl/ARBRnF>.

RECCE, Michael, TAYLOR, John, PLEBE, Alessio, TROPIANO, Giuseppe. “Vision

and neural control for an orange harvesting robot”, International Workshop on Neural

Networks for Identification, Control, Robotics, and Signal/Image Processing, 1996,

p. 467-475; Citado en: 11/02/2015; [en línea]. Disponible en: <http://goo.gl/M6fkiY>.

ROS, Alfonso, MENDONÇA, Ismael. “Captura de movimiento de personas con múltiples sensores Kinect”. Director: Carolina Chang. Universidad Simón Bolívar, Coordinación de la ingeniería de la computación, 2012; Citado en: 02/03/2015; [en línea]. Disponible en: <http://goo.gl/WU1I2I>. ROSADO, José, SILVA, Filipe, SANTOS, Vítor, LU, Zhenli. “Reproduction of Human Arm Movements Using Kinect-Based Motion Capture Data”, Robotcis and Biomimetics (ROBIO), IEEE International Conference, 2013, pg. 885-890; Citado en: 07/03/2015; [en línea]. Disponible en: <http://goo.gl/7vgDXQ>.

Page 60: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

60

RUSS, John, “The image processing handbook”, Quinta Edición, CRC Press Taylor & Francis Group, 2007, 821 páginas, Citado en: 20/04/2015; [en línea]. Disponible en: <https://goo.gl/KNra1l>. SALVATORE, Juan, OSIO, Jorge, MORALES, Martin. “Detección de objetos utilizando el sensor Kinect”, Twelfth LACCEI Latin American and Caribbean Conference for Engineering and Technology, 2014; Citado en: 02/03/2015; [en línea]. Disponible en: <http://goo.gl/21wTkm>. SARIG, Yarid. “Robotics of fruit harvesting: A state of the art review”, Journal of Agricultural Engineering Research, 1993, p. 265-280; Citado en: 11/02/2015. SARMIENTO,R., GALINDO, C., GONZALEZ, J. “Navegación Reactiva de un Robot Móvil usando Kinect”, Universidad de Málaga (España), 2012; Citado en: 07/03/2015; [En línea]. Disponible en: <http://goo.gl/5GmdSj>. SERRANO, José, MORENO, Ana, CALLE, Angel, SANCHEZ, José, “Visión por computador”, 274 paginas. Primera Edición, 2003, Citado en: 20/04/2015; TANG, Jie, MILLER, Stephen, SINGH, Arjun, ABBEEL, Pieter. “A Textured Object Reconigtion Pipeline for Color and Deph Image Data”, Robotics and Automation (ICRA), 2012, pg. 3476-3474; Citado en: 07/03/2015; [en línea]. Disponible en: <http://goo.gl/XEEKx0>. TORREGROSA, A., ALBERT, F., ALEIXOS, N., ORTIZ, C., BLASCO, J. “Analysis of the detachment of citrus fruits by vibration using artificial vision”, Biosystems Engineering Volume 119, 2014, pg. 1-12; Citado en: 15/03/2015; [en línea]. Disponible en: <http://goo.gl/vFo30c>. TORRENTE, Oscar, “Arduino curso práctico de formación”, Alfaomega, 2013, Primera Edición, 588 paginas. Citado en: 20/04/2015; TOVAR, Christian, “DESARROLLO E IMPLEMENTACIÓN DE UNA PLATAFORMA MÓVIL PARA RECOLECCIÓN DE NARANJAS”, Director: MsC BEATRIZ NATHALIA SERRATO, 2014, Universidad Católica de Colombia, Facultad de Ingeniería, Programa de Ingeniera Electrónica. Citado en: 20/04/2015

WANG, Han, MOU, Wei, SURATNO, Hendra, SEET, Gerald “Visual odometry using RGB-D camera on ceiling vision”, IEEE International Conference on Robotics and Bimimetics (ROBIO), 2012, pg. 710-714; Citado en: 11/02/2015; [en línea]. Disponible en: <http://goo.gl/MjTxF7>.

ZHAO, Jun, TOW, Joel, KATUPITIYA, Jayantha, “On tree fruit recognition using

texture properties and color data”, IEEE/RJS International Conference on

Page 61: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE‘O... · DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE RECONOCIMIENTO DE ... LISTA DE CUADROS Pág. Cuadro 1. Diferentes

61

Intelligence Robots and Systems, 2005, p. 263-268; Citado en: 11/02/2015; [en

línea]. Disponible en: <http://goo.gl/S3kZEw>.