EN CULTIVOS CUNDIBOYACENSES.
FACULTAD DE INGENIERÍA
BOGOTÁ D.C
2015
DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE DETECCIÓN DE MALEZAS
EN CULTIVOS CUNDIBOYACENSES.
FACULTAD DE INGENIERÍA
BOGOTÁ D.C
2015
Nota de aceptación
Agradecemos a nuestros padres, quienes siempre fueron gran apoyo y ese motor
que constantemente nos impulsó a seguir adelante.
INTRODUCCIÓN ................................................................................................................................ 12
1. PLANTEAMIENTO Y FORMULACIÓN DEL PROBLEMA ............................................................... 13
2. JUSTIFICACIÓN Y ANTECEDENTES ............................................................................................ 15
2.1 JUSTIFICACIÓN ....................................................................................................................... 15
2.2 ANTECEDENTES ...................................................................................................................... 15
3. OBJETIVOS ................................................................................................................................ 19
3.1 GENERAL ................................................................................................................................ 19
3.2 ESPECÍFICOS ........................................................................................................................... 19
4. MARCO REFERENCIAL .............................................................................................................. 20
4.1 PROCESAMIENTO DE IMÁGENES ................................................................................................ 20
4.1.1 Representación de una imagen. ...................................................................................... 21
4.1.2.Dispositivos de adquisición ............................................................................................ 22
4.2 CANAL RGB ............................................................................................................................. 25
4.3 CANAL HSV ............................................................................................................................. 28
4.4 RECONOCIMIENTO DE PATRONES .......................................................................................... 29
4.4.1 Umbralización. ................................................................................................................ 29
4.4.2 Segmentación. ................................................................................................................. 30
4.4.3 Binarización. .................................................................................................................... 30
4.4.4 Máscara. .......................................................................................................................... 30
4.4.5 Discriminador de áreas. ................................................................................................... 31
4.4.6 Opening. .......................................................................................................................... 31
4.4.7 Detección de bordes. ...................................................................................................... 33
4.7 APRENDIZAJE AUTOMÁTICO .................................................................................................. 34
4.8 CLASIFICADORES .................................................................................................................... 35
4.8.1 Clasificadores supervisados. ............................................................................................ 37
4.8.2 Clasificadores no supervisados. ....................................................................................... 37
4.8.3 Clasificadores semi-supervisados. ................................................................................... 38
4.8.4 Clasificadores por refuerzo.............................................................................................. 39
5. DESARROLLO DEL PROYECTO ................................................................................................... 53
5.1 Adquisición de imágenes ........................................................................................................ 53
5.1.1 Protocolo de selección .................................................................................................... 53
5.2 ALGORITMO DE PROCESAMIENTO ......................................................................................... 56
5.2.1 Descripción de bloques. .................................................................................................. 56
5.3 CREACIÓN BASE DE DATOS .................................................................................................... 59
6. RESULTADOS ............................................................................................................................ 60
6.1 ANÁLISIS DE RESULTADOS ...................................................................................................... 60
7. CONCLUSIONES ........................................................................................................................ 70
BIBLIOGRAFÍA................................................................................................................................... 72
LISTA DE FIGURAS
Este proyecto pretende llevar a cabo el diseño de un sistema automático que facilite
la detección de agentes invasores como el pasto kikuyo en cultivos de la región
Cundiboyacense, haciendo capturas en diferentes partes para poder determinar si
el cultivo es óptimo, o si existe presencia de dicho pasto, mediante técnicas de visión
artificial se pretende llevar a cabo trabajando en torno al tratamiento de imágenes y
de características morfológicas que son suministradas a diferentes tipos de
clasificadores, lo ratifica que este sistema sea desarrollado con el fin de ayudar a la
corrección y prevención de errores en cuanto al control de calidad del cultivo, así
como el aumento en la eficiencia del mismo.
1. PLANTEAMIENTO Y FORMULACIÓN DEL PROBLEMA
2.1 JUSTIFICACIÓN
2.2 ANTECEDENTES
1
KATAOKA, T. ; KANEKO, T. ; OKAMOTO, H. ; HATA, S. Crop growth estimation system using machine vision. EN: Industrial
Electronics Society, IECON 39th Annual Conference of the IEEE, Vol 2; Pag. b1079 - b1083.
a los campos a través del uso de sistemas de gestión de malas hierbas específicas
del sitio2 el desarrollo de dichos sistemas de visión artificial se ha hecho calculando
el área de las hojas empleando un sistema de cámara y un sistema de
procesamiento de imágenes.
2
TELLAECHE, A. ; BURGOS ARTIZZU, X.P. ; PAJARES, G. ; RIBEIRO, A. A Vision-based Classifier in Precision
Agriculture Combining Bayes and Support Vector Machines, Intelligent Signal Processing. EN: WISP IEEE International
Symposium on, 2007; Pag. 1 - 6
3
WEYRICH, M.YONGHENG Wang ; SCHARF, M. Quality assessment of row crop plants by using a machine vision system.
EN: Industrial Electronics Society, IECON 39th Annual Conference of the IEEE, 2013; Pag. 2466 - 2471
4
Moltoni Andrés, Moltoni Luciana. Pulverización selectiva de herbicidas: implicancias tecnológicas y
económicas de su implementación en la argentina. EN: instituto de ingeniería rural.
5
BETANCOURT Diego Mauricio. Sistema de visión por computador para detectar hierba no deseada en
prototipo de cultivo de frijol usando ambiente controlado.64p. Trabajo de grado (Ingeniero). Universidad católica
de Colombia. Facultad de ingeniería. Electrónica y telecomunicaciones. visión artificial.
otro método es la transformada de Hough6 la cual cuenta con aplicaciones en
operación actualmente, también se emplean diferentes clasificadores supervisados
como los KNN7 o vecino más cercano, que proporciona tiempos cortos de
procesamiento, en relación al número de muestras que se deben analizar y al
número de vecinos que se tienen en cuenta para dar un criterio de selección, lo que
hace que no sea necesario tener tantos recursos de hardware y la toma de
decisiones se realice en periodos cortos, clasificadores bayesianos tienen un
fundamento probabilístico que permite llegar a una elección con un porcentaje
determinado de error, máquinas de soporte vectorial y las redes neuronales8 las
cuales por medio de entrenamientos y pesos aleatorios en sistemas MISO capaces
de seleccionar características y establecer una muestra a una clase especifica que
determina si es o no un tipo de maleza9.
Se han realizado varios estudios con los cuales se logra hacer una observación de
la viabilidad de los diferentes tipos de suelos para poder determinar que cultivo es
óptimo en cada cual, pero esto no certifica que no exista otro tipo de problemática,
por lo tanto, estos estudios nos llevan a determinar también la técnica de agricultura
de precisión que se necesita, bien sea riego inteligente, detección de plagas, control
de temperatura, entre otros. Estas nuevas implementaciones permiten avanzar en
la agricultura de precisión, específicamente en la erradicación de malezas y brindar
diferentes soluciones prácticas en los diferentes terrenos donde es necesario,
existen diferentes robots o tractores que incorporan estos sistemas y cuentan con
la capacidad de pulverizar especies arvenses como AGROBOTIC o Robocrop10
quienes cuentan con un sistema de visión artificial que les permite desplazarse por
las líneas de cultivo en busca de malas hierbas, que son erradicadas posterior a su
detección mediante un corte mecánico reduciendo la implementación de herbicidas
favoreciendo el factor económico, salud, productividad y calidad lo que incrementa
la competitividad del agro haciéndolo más rentable, es por ello que actualmente la
6 GUO-QUAN Jiang, CUI-JUN Zhao, YONG-SHENG Si. A machine vision based crop rows detection for
agricultural robots, Wavelet Analysis and Pattern Recognition (ICWAPR). EN: International Conference on.
2010.Pag. 114 - 118
7 CORREDOR GÓMEZ Jennifer Paola. Desarrollo de un sistema de control en la aplicación de técnicas
selectivas de eliminación de maleza Bogotá 1 febrero 2011.Trabajo de grado (Ingeniero). Universidad Nacional
de Colombia. Facultad de ingeniería. visión artificial.
8 RAMÍREZ OSUNA Daniela Guadalupe. Desarrollo de un método de procesamiento de imágenes para la
discriminación de malezas en cultivos de maíz. Querétaro, mayo 2012. Trabajo de grado. (Ingeniero)
Universidad Autónoma de Querétaro.
9 ESPINOSA GUALDRON Diana Judith, MUÑOZ NEIRA Milton Javier. Entrenamiento de una red neuronal
artificial para la clasificación de hojas asociadas al cultivo de maíz. EN: UniSangil, Facultad de Ciencias
Naturales e Ingeniería, San Gil Colombia
10La visión artificial: una tecnología versátil para la automatización de las máquinas agrícolas, Club Bologna
11
GARCÍA, V. VÁSQUEZ, A. Los Robots en el Sector Agrícola. EN: Universidad Politécnica de Madrid,
Departamento de Automática, Ingeniería Electrónica e Informática Industrial
3. OBJETIVOS
3.1 GENERAL
3.2 ESPECÍFICOS
12
Ramírez Escalante, Boris. Procesamiento Digital de Imágenes [en línea], Verona, [citado agosto, 2006]
Disponible en internet: <http://goo.gl/EABCQ3 >
Figura 1. Etapas de un sistema de visión artificial
Fuente: CHAVEZ, Procesamiento de imágenes [en línea], Puebla, Universidad de las Américas puebla,
[citado en 6 de Julio de 2015] disponible en internet: <http://goo.gl/JpssfW>13
4.1.1 Representación de una imagen. Una imagen digital puede ser considerada
como una matriz cuyos índices de fila y columna identifican un punto o lugar en el
espacio bidimensional dentro de la imagen y el correspondiente valor de elemento
de matriz identifica el nivel de gris en aquel punto. Los elementos de estos arreglos
digitales son llamados elementos de imagen o pixeles, es importante tener en
cuenta aspectos como:
13
CHAVEZ, Procesamiento de imágenes [en línea], Puebla, Universidad de las Américas puebla, [citado en 6
de Julio de 2015] disponible en internet: <http://goo.gl/JpssfW>13
imagen y por el aumento de brillo en determinados pixeles.
Nitidez: Es la ausencia de ruido, entre más nítida sea una imagen menos
ruido tiene.
4.1.3 Cámaras. Las cámaras utilizadas en visión artificial requieren de una serie de
tipologías que permitan el control del disparo de la cámara para capturar piezas que
pasan por delante de ella en la posición requerida. Son más sofisticadas que las
cámaras convencionales, ya que tienen que poder realizar un control completo de:
tiempos, señales, velocidad de obturación, sensibilidad, etc. Estas cámaras se
clasifican según sus características por14:
La tecnología del elemento sensor. (El sensor de imagen es el elemento de
una cámara electrónica que capta la luz que compone la imagen y la
convierte en una señal) Cámaras de tubo: Se basan en la utilización de un
material fotosensible que capta la imagen, siendo leída por un haz de
electrones. Cámaras de estado sólido CCD (Charge – Coupled – Device) las
cuales se basan en materiales semiconductores fotosensibles para cuya
lectura no es necesario un barrido electrónico.
La disposición física. Cámaras lineales. Se basan en un sensor CCD lineal
que usa una fila única de pixeles que escanea linealmente la imagen.
Construyen la imagen línea a línea realizando un barrido del objeto junto con
un desplazamiento longitudinal del mismo. Las cámaras lineales utilizan
sensores que tienen entre los 512 y 8192 pixel, con una longitud lo más corta
posible y gran calidad de imagen. El hecho de construir imágenes de alta
calidad a partir de líneas individuales, requiere de una alta precisión.
Cámaras matriciales. Se basan en un sensor CCD matricial, lo que permite
el análisis de imágenes bidimensionales. Hay una cámara específica para
cada aplicación, color, monocromo, alta definición, alta sensibilidad, alta
velocidad, infrarrojas, etc. El sensor cubre un área que está formada por una
matriz de pixeles. Los sensores de las cámaras modernas son todos de
tecnología CCD formados por miles de diodos fotosensibles posicionados de
forma muy precisa en la matriz.
Ópticas. Las ópticas se utilizan para transmitir la luz al sensor de la cámara
de una forma controlada para poder obtener una imagen enfocada de uno o
varios objetos. Para saber exactamente que óptica debe utilizarse hay que
14 Centro Integrado Politécnico ETI Tudela, Visión artificial [en línea], [citado en 26 de agosto de 2015],
disponible en internet: <http://goo.gl/ZqOvSq>
tener en cuenta una serie de parámetros. Tamaño del sensor, Distancia del
objeto a la cámara y el campo de visión que deseamos abarcar. Se puede
calcular la óptica mediante la siguiente fórmula: Distancia=(Tamaño del
sensor*Distancia al objeto)/(Tamaño del objeto) En los sistemas de visión
artificial es necesario utilizar ópticas de calidad para tener la mejor imagen
posible y permitir las medidas con la mayor Elementos que componen las
lentes:
Anillo de enfoque: Cuanto más cerca enfocamos, más sobresale el objetivo.
Diafragma: Se gira para seleccionar la entrada de luz a la cámara. Su escala
suele ser: 16,11,...,1.8. A mayor número seleccionado, menor apertura del
diafragma y mayor profundidad de campo.
Velocidad de obturación: Selecciona el tiempo que estará abierto el
diafragma. Su escala suele ser: 1/1, 1/2,…, 1/250, 1/1000. Para obtener
imágenes nítidas de objetos que se desplazan a gran velocidad hay que
seleccionar velocidades de obturación altas.
Longitud focal. Valor en milímetros que nos informa de la distancia entre el
plano focal (CCD) y el centro del objetivo.
Profundidad de campo. Espacio en el cual se ve el objeto totalmente nítido.
Depende de la longitud focal de la lente empleada.
Precisión de la medida. Depende exclusivamente del campo de medida y de
la resolución de la cámara. Ejemplo: si el campo de visión es de 10x10 mm.
y utilizamos una cámara de 752x752 pixeles, la precisión de la medida en
cada eje sería de 0,013 mm/píxel, o lo que es lo mismo, un píxel equivale a
13 milésimas de milímetro. Uno de los factores importantes a tener en cuenta
en el procesamiento de imágenes es la cámara que será utilizada para la
obtención de las imágenes o datos, ya primero hay que evaluar qué proceso
se desea hacer para así saber elegir las propiedades de la misma, existen
muchas variables importantes a considerar como lo son la resolución, la
salida, la cantidad de tonos a utilizar (Monocromática o a color) entre otros.
Considerando la relación entre la resolución y precio hay que tener en cuenta
que calidad se necesita ya que al tener una mayor resolución podemos
observar detalles muy pequeños de manera más óptima, pero si no se
necesita captar objetos demasiado pequeños la resolución de la cámara no
tiene mayor relevancia, sin llegar al punto de una cámara con una resolución
muy deficiente, dentro de las salidas es necesario evaluar entre la salida de
video compuesto, la salida de video digital y la salida RGB, ya que al tener
una salida de video digital se minimiza en gran parte la cantidad de ruido
presentes en la imagen que se puedan presentar por elementos transmisión
de datos, por otro lado la salida RGB nos permite trabajar cada color por
separado, en cuanto a los tonos utilizados se hace necesario tener en cuenta
que proceso se realizara ya que al utilizar una cámara monocromática
(escala de grises) el tiempo de procesamiento se hace mucho más corto con
relación a las cámaras a color, si se hace necesario solo un reconocimiento
de patrones de forma y tamaño las monocromáticas son una buena opción
además de que su costo es mucho menor. Otro aspecto importante es la
velocidad de obturación ya que si lo que se necesita es tomar imágenes de
objetos en movimiento se hace necesaria una velocidad de obturación más
pequeña generalmente existen cámaras con 1/60 hasta 1/10000 segundos
de obturación. Por último hay dos factores menos relevantes pero siempre
es bueno tenerlos en cuenta como lo son la relación señal/ruido la cual entre
más grande sea mucha mejor calidad tendrá la imagen, por otro lado es
bueno tener en cuenta si todos los parámetros variables de la cámara se
pueden hacer por medio de software ya que de esta manera se puede pensar
en una automatización de este proceso según las necesidades de cada caso.
En general se hace necesaria una detallada observación del proceso que se
quiera realizar ya que el precio varía de gran manera con cada cambio de
características y este es un factor muy importante ya que no es conveniente
invertir en una cámara con especificaciones que a la larga no serán de
utilidad.
El modo RGB es aditivo y se compone de tres canales: Rojo, Verde y Azul. A través
de cada uno de estos canales se proyecta una luz del color del canal que al unirse
muestra en la pantalla la imagen a todo color. En cada canal se encuentra una
imagen compuesta de blancos, negros y 254 tonalidades de gris. Un píxel negro del
canal Rojo indica que no deja pasar la luz roja, no tendrá color rojo. Por el contrario
un píxel blanco dejará pasar el total de la luz roja; el resto de tonalidades de gris
dejará pasar la cantidad que corresponda a cada tonalidad. Lo mismo sucede en
los otros canales como se puede apreciar en las siguientes figuras 15.
15
MINISTERIO DE EDUCACION Y CIENCIA Gimp, Aplicaciones didácticas [en línea], [citado en 4 de
septiembre de 2015] disponible en internet: < http://goo.gl/4cpBGC>
En la figura 2b se puede observar el cambio que ha sufrido la imagen original (figura
2a), al ser representada en el canal R, los pixeles de color rojo o en tonalidades
similares han adoptado valores diferentes y ahora se pueden ver en color blanco.
(a) (b)
Fuente: MINISTERIO DE EDUCACION Y CIENCIA Gimp, Aplicaciones didácticas [en línea], [citado en 4 de
septiembre de 2015] disponible en internet: < http://goo.gl/4cpBGC> 16
16
MINISTERIO DE EDUCACION Y CIENCIA Gimp, Aplicaciones didácticas [en línea], [citado en 4 de
septiembre de 2015] disponible en internet: < http://goo.gl/4cpBGC>
Figura 3. a) Imagen a color, b) Canal G
(a) (b)
Fuente: MINISTERIO DE EDUCACION Y CIENCIA Gimp, Aplicaciones didácticas [en línea], [citado en 4 de
septiembre de 2015] disponible en internet: < http://goo.gl/4cpBGC> 17
(a) (b)
Fuente: MINISTERIO DE EDUCACION Y CIENCIA Gimp, Aplicaciones didácticas [en línea], [citado en 4 de
septiembre de 2015] disponible en internet: < http://goo.gl/4cpBGC>
17
MINISTERIO DE EDUCACION Y CIENCIA Gimp, Aplicaciones didácticas [en línea], [citado en 4 de
septiembre de 2015] disponible en internet: < http://goo.gl/4cpBGC>
4.3 CANAL HSV
(a) (b)
Fuente: Technolabsz Canal HSV [en línea], [citado en 5 de agosto de 2015] ,disponible en internet:<
https://goo.gl/ov8IPJ>19
18
Glosario de visión artificial [en línea], [citado en 26 de julio de 2015], disponible en internet
<http://goo.gl/OjaIfc>
19
Technolabsz Canal HSV [en línea], [citado en 5 de agosto de 2015] ,disponible en internet:<
https://goo.gl/ov8IPJ
4.4 RECONOCIMIENTO DE PATRONES
Fuente: Inmensia, umbralizacion de la imagen [en línea] [citado en 8 de agosto de 2015], disponible en
internet: < http://goo.gl/1TCwCi> 20
20
Inmensia, umbralizacion de la imagen [en línea] [citado en 8 de agosto de 2015], disponible en internet: <
http://goo.gl/1TCwCi>
4.4.2 Segmentación. Subdivide una imagen en sus partes constituyentes u objetos,
con el fin de separar las partes de interés del resto de la imagen, por lo tanto el nivel
al que se lleva a cabo esta subdivisión depende del problema a resolver. En el
proceso de detectar las partes en una imagen se identifican bordes de la imagen, o
se segmenta en regiones, líneas o curvas, etc. Otra definición considera a la
segmentación como la clasificación de los puntos de la imagen (pixeles), indicando
las clases a la que pertenecen los diferentes pixeles. Los atributos básicos de
segmentación de una imagen son: la luminancia en imágenes monocromáticas, los
componentes de color en imágenes en color, textura, forma, etc.
4.4.3 Binarización. Este proceso transforma la imagen en escala de grises, a una
imagen de blanco y negro (unos y ceros) mediante una comparación o umbral. Este
umbral define el valor límite del pixel siendo negro si está por debajo de este umbral
o blanco si está por encima.
4.4.4 Máscara. Es una imagen que contiene únicamente dos colores, blanco y
negro, adopta la función de selección según el rango que sea asignado a esta,
pintando de color blanco los pixeles que están contenidos dentro del rango
especificado a la máscara, y descarta todo lo que es de diferente valor, pintándolo
de negro, haciendo posible aislar elementos indeseados.
Fuente: autores
En la figura 7 se puede observar una imagen perteneciente al banco de imágenes obtenidos en terreno sin que
se haya sometido a ningún tipo de tratamiento morfológico a diferencia de la figura 8 la cual es el resultado de
la aplicación de una máscara.
Figura 8. Mascara de la fotografía de campo
Fuente: autores
4.4.6 Opening. Este proceso está compuesto por una operación en conjunto en
donde interactúan en orden el proceso de erosión y posteriormente el de dilatación
aplicada a la imagen con el mismo elemento estructural.
Posterior a las definiciones de los diferentes procesos morfológicos se presenta un ejemplo por parte de los
autores con las respectivas imágenes tomadas en campo tal como se presenta a continuación en las respectivas
figuras.
Fuente: autores
Fuente: autores
23
LA SERNA PALOMINO, Nora. ROMÁN CONCHA, Ulises. Técnicas de Segmentación en Procesamiento Digital
de Imágenes. En: Universidad Nacional Mayor de San Marcos Facultad de Ingeniería de Sistemas e
Informática, 2012.
Figura 13. a) imagen original, b) canny
(a) (b)
Fuente MATWORKS, Detección de bordes [en línea], [citado en 6 de octubre de 2015], disponible en
internet <http://goo.gl/jPpGJ3> 24
La minería de datos ha dado lugar a una paulatina sustitución del análisis de datos
dirigido a la verificación por un enfoque de análisis de datos dirigido al
descubrimiento del conocimiento. La principal diferencia entre ambos se encuentra
en que en el último se descubre información sin necesidad de formular previamente
24
MATWORKS, Detección de bordes [en línea], [citado en 6 de octubre de 2015], disponible en internet
<http://goo.gl/jPpGJ3>
una hipótesis. La aplicación automatizada de algoritmos de minería de datos permite
detectar fácilmente patrones en los datos, razón por la cual esta técnica es mucho
más eficiente que el análisis dirigido a la verificación cuando se intenta explorar
datos procedentes de repositorios de gran tamaño y complejidad elevada25. Esta
técnica tiene como propósito general descubrir, extraer y almacenar información
importante y relevante de bases de datos mediante programas de búsqueda de
patrones, relaciones globales, desviaciones y diferentes indicadores.
Los programas mineros son pensados y creados por los usuarios, en los que se
emplean técnicas diferentes para la “explotación” de los datos, tales como clúster,
asociaciones, clasificación, visualización, redes neuronales, algoritmos genéticos,
detección de desviaciones, entre otros. Todos ellos requieren bases de datos de
tamaño considerable para que puedan ser eficientes.
4.8 CLASIFICADORES
La primera fase que se debe de tener en cuenta para llevar a cabo el proceso de
clasificación es la de entrenamiento, la finalidad de esta fase es construir un
conjunto para que los objetos que se han clasificado como ciertos, puedan ser
reconocidos. El conjunto de entrenamiento debe contener una lista de objetos con
tipos conocidos. Idealmente este conjunto de entrenamiento debería contener
muchos ejemplos, de este modo, se incluirían objetos comunes y no comunes. Para
crear el conjunto de entrenamiento se requiere una fuente de objetos clasificados
de forma cierta. Después de que se ha construido el clasificador se debe medir la
precisión. Este paso es necesario tanto en la aplicación del clasificador como
también para poder compararlo con otros clasificadores diferentes. La precisión se
puede determinar aplicando al clasificador un entrenamiento independiente de un
conjunto de objetos de los que se conoce la clasificación. Se hace uso de conjuntos
25
MORENO GARCÍA, María, MIGUEL QUINTALES, Luis, GARCÍA PEÑALVO, Francisco, POLO MARTIN,
José. Aplicación de técnicas de minería de datos en la construcción y validación de modelos predictivos y
asociativos a partir de especificaciones de requisitos de software. EN: Universidad de Salamanca, España.
conocidos ya que a veces no se tienen las fuentes necesarias para construir un
nuevo modelo que se utilice puramente para su testeo.
Suponiendo el caso particular de dos clases, a las que se asignan los valores 0 y 1
respectivamente. La información disponible de cada muestra a clasificar vendrá
dada por un número finito d de variables reales. En conjunto, estas variables
componen un vector 𝑥 ∈ ℝ𝑑 que constituye una muestra. Para modelar la
incertidumbre sobre a qué clase pertenece una muestra, se asume que existen unas
probabilidades a priori 𝑃0 y 𝑃1 para las dos clases. Para modelar la relación entre
las clases a la que una muestra pertenece y la muestra en sí (incluyendo la
incertidumbre o ruido del proceso de medida), se asume que un objeto de la clase
𝑦 ∈ {0,1} engendra una muestra aleatoria con una función de distribución
condicionada a la clase 𝐹𝑌 (𝑥 ). Las muestras aleatorias 𝑋 (las que son “observables”
en este proceso) se generan en dos etapas: una clase al azar 𝑦 ∈ {0,1} se
selecciona primero de acuerdo con las probabilidades a priori {𝑃0 , 𝑃1 }; entonces la
muestra observada 𝑋 se selecciona de acuerdo a la distribución condicionada a la
clase 𝐹𝑦 . Dada una realización de la muestra medida, 𝑋 = 𝑥 , el problema con el que
se encuentra el clasificador es el de asignar la muestra creada 𝑥 a una de las clases,
0 o 1. Por lo tanto, un clasificador o regla de decisión en este caso es simplemente
un mapeo 𝑔: ℝ𝑑 → {0,1} que indica la clase 𝑔(𝑥) a la que una muestra 𝑋 = 𝑥 debe
ser asignada26.
26
MATEO JIMÉNEZ, Fernando. Redes neuronales y preprocesado de variables para modelos y sensores en
bioingeniería, Valencia, Junio de 2012
4.8.1 Clasificadores supervisados. Los algoritmos de clasificación supervisados
son comúnmente usados en circunstancias en donde se conoce de antemano el
número de clases y cada una de sus denominaciones, este sistema de clasificación
consiste en que al entrar una muestra nueva para poderla clasificarla se tiene en
cuenta la información que se pueda extraer de un conjunto de muestras divididas
en clases y la decisión de una regla de clasificación. Este tipo de algoritmos trabajan
sobre una información previamente suministrada como un conjunto de muestras,
patrones, prototipos o ejemplos de entrenamiento que son tomados como las
representaciones de las clases y además tienen una etiqueta con la clase correcta.
Este tipo de conjuntos que están definidos o etiquetados correctamente son
llamados conjunto de entrenamiento y son los que se usan para la clasificación de
las nuevas muestras.
Debido a que este tipo de clasificación o agrupamiento tiene una gran diversidad de
algoritmos creados se puede hacer una nueva clasificación de los mismos por la
forma en que se procesan los objetos como estáticos, incrementales o dinámicos,
por la forma en que se organizan los grupos que se obtienen como jerárquicos,
particionales, basado en densidad e híbridos, por la pertenencia de los objetos a los
grupos de agrupamiento como disjuntos o solapados y por ultimo por el mecanismo
en que se basan para agrupar como de pasada simple, basada en grafos, de
optimización o basados en árboles.
Por otro lado cabe resaltar algunos de los clasificadores que son usados en los
sistemas de reconocimiento de patrones como lo son el clasificador del vecino más
cercano K-NN (K-Nearest Neighbour), el clasificador bayesiano, el clasificador por
máquinas de soporte vectorial, entre otros.
27
CETINA Victor, aprendizaje por refuerzo, Universidad Autónoma de Yucatán, 2012
4.8.4.1 Clasificador del vecino más cercano (K-NN). El algoritmo del vecino más
cercano se basa en la idea de dejar que el volumen de la celda sea función de los
datos de entrenamiento y no una función arbitraria sobre todas las muestras. Por
ejemplo, para estimar 𝑝(𝑥 ) desde n muestras de entrenamiento o prototipos se
puede centrar una celda sobre x y dejarla crecer hasta que capture KN muestras,
donde KN es alguna función especificada de n. Estas muestras son los vecinos más
cercanos KN de x. Si la densidad es alta cerca a x, la celda será relativamente
pequeña, lo cual conlleva a una buena resolución. Si la densidad es baja, la celda
crecerá hasta que entre en una región de alta densidad.
𝜃 = ∫ 𝑝(𝑥 ) 𝑑𝑥 Ecuación 4
𝜃 ∼ 𝑝(𝑥)𝑉 Ecuación 5
𝑘𝑛
𝜃∼ Ecuación 6
𝑛
𝑘𝑛⁄
𝑛
𝑃𝑛 (𝑥 ) = Ecuación 7
𝑉𝑛
28
CORREDOR GÓMEZ Jennifer Paola. Desarrollo de un sistema de control en la aplicación de técnicas
selectivas de eliminación de maleza Bogotá 1 febrero 2011.Trabajo de grado (Ingeniero). Universidad
Nacional de Colombia. Facultad de ingeniería. visión artificial.
Por otro lado podemos mostrar y entender los vecinos más cercanos de la siguiente
manera tomando la tabla como referencia de la terminología que se va a utilizar
𝑋1 … 𝑋𝑗 … 𝑋𝑛 𝐶
𝑐1 ∈ {𝑐 1 … 𝑐 𝑚 }𝑎𝑟𝑎 𝑡𝑜𝑑𝑜 𝑖 = 1, … , 𝑁
Fuente RICARDO ALER MUR Clasificadores KNN-I [en línea] <http://goo.gl/WYqwUn> [citado en
14 de noviembre de 2015]29
La distancia euclidea es una distancia normal u ordinaria que se mide entre dos
puntos de un espacio euclideo la cual puede ser deducida desde el teorema de
pitagoras, esto con el fin de determinar cual de los puntos vecinos es el mas
cercano, este proceso se describe mediante la siguiente ecuacion
Es decir la distancia entre dos puntos es netamente igual al espacio que los separa.
29
RICARDO ALER MUR. Clasificadores KNN-I [en línea], [citado en 14 de noviembre de 2015], disponible en
internet: <http://goo.gl/WYqwUn>
Donde tenemos un nuevo valor que es M y representa una matriz diagonal y 𝑚𝑖 =
𝑀𝑖𝑖 es igual al factor de ponderacion que se escalará la dimension i.
Fuente Geometría euclidea [en línea], [citado en 14 de agosto de 2015], disponible en internet:
<http://goo.gl/nCWGJO>30
30
Geometría euclidea [en línea], [citado en 14 de agosto de 2015], disponible en internet:
<http://goo.gl/nCWGJO>
Regla del vecino mas cercano
La mejor forma para determinar los errores para KNN, es usando en primera
instancia un valor de k=1, la regla del vecino más cercano para clasificar una muesta
cualquiera x es asignar una etiqueta asociada con x’, a pesar de esto esta regla es
un proceso sub-óptimo su uso normalmente conlleva a una tasa de error mucho
más grande que la minima posible31.
Fuente: autores
31
CORREDOR GÓMEZ Jennifer Paola. Desarrollo de un sistema de control en la aplicación de técnicas
selectivas de eliminación de maleza Bogotá 1 febrero 2011.Trabajo de grado (Ingeniero). Universidad
Nacional de Colombia. Facultad de ingeniería. visión artificial.
la que está en el origen del mismo. En general la estructura de la red proporciona
información acerca de las llamadas dependencias probabilísticas entre las variables
pero también sobre las independencias condicionales de cada una de las variables
o de un conjunto de variables.
Esto quiere decir que la probabilidad de que habiendo conocidos los valores que
describen al ejemplo este pertenezca a la clase 𝑣𝑗 (el cuál es el valor de la función
de clasificación en el conjunto finito V). Usando entonces el teorema de bayes:
𝐴𝑛𝑡𝑒𝑟𝑖𝑜𝑟∗𝑃𝑟𝑜𝑏𝑎𝑏𝑖𝑙𝑖𝑑𝑎𝑑
𝑃𝑜𝑠𝑡𝑒𝑟𝑖𝑜𝑟 = Ecuación 14
𝐸𝑣𝑖𝑑𝑒𝑛𝑐𝑖𝑎
Distribución normal
32
ÁNGEL A. Juan. MÁXIMO SEDANO, Alicia Vila. Clasificador de Bayes[en línea], [Citado el 30 de Noviembre
de 2015], disponible en internet: < http://goo.gl/2Z7mb2>
Podemos decir entonces que si 𝑋 ∼ 𝑁(µ, 𝜎) , entonces la variable aleatoria
𝑥−𝜇
𝑍= Ecuación 16
𝜎
Distribución Kernel
1 𝑥−𝑋𝑖
𝑓 (𝑥 ) = 𝑛ℎ ∑𝑛𝑖=1 𝑘( ) Ecuación 17
ℎ
Distribución multinomial
33
MATLAB MATHWORKS, [Citado el 30 de Noviembre de 2015] Disponible en
internet:<http://www.mathworks.com/>
categoría (es decir, predictor) d en n ensayos independientes. Los pasos para
entrenar un clasificador de Bayes ingenuo se describen a continuación.
Dónde:
4.8.4.3 Máquinas de soporte vectorial (SVM). El primer concepto que hay que
tener en cuenta para trabajar con el clasificador de máquinas de soporte vectorial
es el de datos separables, este tipo de clasificador se usa únicamente cuando la
base tiene solo 2 clases. Las máquinas de soporte vectorial clasifica los datos de
entrada haciendo la búsqueda del mejor plano que separa los datos de la clase 1
de los datos de la clase dos, es considerado como el mejor plano aquel que tiene el
mayor margen entre las dos clases, es decir que no hay datos de una clase inmersos
en la otra.
Por otro lado los vectores de soporte son los datos que están más cerca del plano
de separación, estos se encuentran en los límites permitidos.
Figura17. Plano de separacion, Imagen
Fuente: MATLAB MATHWORKS, Maquinas de soporte vectorial [en línea], [citado en 3 de octubre de 2015],
disponible e internet: <http://goo.gl/qtY10V> 34
34
MATLAB MATHWORKS, Maquinas de soporte vectorial [en línea], [citado en 3 de octubre de 2015],
disponible e internet: <http://goo.gl/qtY10V>
Los datos para el entrenamiento son un conjunto de puntos 𝑥𝑖 junto con sus
categorías 𝑦𝑖 . Para alguna dimensión d, el 𝑥𝑖 ∈ 𝑅𝑑 y 𝑦𝑖 = ± 1. La ecuación de un
hiperplano es
Fuente: GONZÁLEZ ABRIL L. Modelos de Clasificación basados en Máquinas de Vectores, [citado 25 agosto
2013], disponible en internet: < http://goo.gl/1I1ndd>35
35 GONZÁLEZ ABRIL L. Modelos de Clasificación basados en Máquinas de Vectores, [citado 25 agosto 2013],
disponible en internet: < http://goo.gl/1I1ndd>
representa por lo tanto una mayor dimensionalidad y este se obtiene con una
transformación de las variables del espacio de entrada con una función kernel, por
otro lado tenemos el caso denominado margen blando que es usado cuando no es
posible encontrar una transformación de los datos que los deje separar linealmente
bien sea en el espacio de entrada o en el espacio de características.
Figura 19. Máquina de soporte vectorial no linealmente separable inducida por una función kernel
Fuente COLMENARES Gerardo. Inteligencia artificial, máquinas de soporte vectorial, [citado 15 abril 2012],
disponible en internet < http://goo.gl/H2ZrpI > 36
4.8.4.4 Redes neuronales. Las redes neuronales son uno de los llamados
paradigmas usados para hacer computo en general y sobre todo para detección de
patrones que se basa en la interconexión paralela de neuronas creadas
artificialmente, las redes neuronales son modelos basados en los sistemas
nerviosos de los animales y personas con una gran cantidad de conexiones y
paralelismo, se puede definir también como un modelo matemático compuesto por
un gran número de elementos procesales organizados por niveles además son
redes de elementos simples interconectadas masivamente en paralelo y con una
organización jerárquica, gracias a sus fundamentos las redes neuronales presentan
algunas propiedades de gran ayuda a la hora del procesamiento por ejemplo son
capaces de aprender de la experiencia, generalizar a partir de casos anteriores,
abstraer características muy importantes a través de información irrelevante entre
otras cosas.
36
COLMENARES Gerardo. Inteligencia artificial, máquinas de soporte vectorial, [citado 15 abril 2012],
disponible en internet < http://goo.gl/H2ZrpI >
Figura 20. Ejemplo de una red neuronal completamente conectada
Fuente: MATICH DAMIAN Jorge, Redes Neuronales: Conceptos Básicos y Aplicaciones. Universidad
Tecnológica Nacional, 2001 disponible en internet:< http://goo.gl/ifsX97>37
Donde ∗ representa uno de los diferentes operadores que serán apropiados para
esta globalización como lo son máximo, sumatoria, producto, entre otras. Los
valores de entrada se multiplican por los pesos anteriormente ingresados a la
neurona. Por consiguiente, los pesos que generalmente no están restringidos
cambian la medida de influencia que tienen los valores de entrada.
37
MATICH DAMIAN Jorge, Redes Neuronales: Conceptos Básicos y Aplicaciones. Universidad Tecnológica
Nacional, 2001 disponible en internet:< http://goo.gl/ifsX97>
Es decir, que permiten que un gran valor de entrada tenga solamente una pequeña
influencia, si estos son lo suficientemente pequeños 38.
Una neurona biológica puede estar activa o excitada o inactiva ósea no excitada es
decir que cuentan con un estado de activación, las neuronas artificiales también
cuentan con estas activaciones, la función de activación calcula el estado de
actividad de las neuronas transformando así la entrada global en un valor de
activación que por lo general varía entre 0 y 1 o de -1 a 1, dentro de estas funciones
de activación podemos encontrar:
Función lineal
−1 𝑥 ≤ −1/𝑎
𝑓(𝑥) {𝑎 ∗ 𝑥 − 1/𝑎 < 𝑥 < 1/𝑎 Ecuación 22
1 𝑥 ≥ 1/𝑎
Función Sigmoidea
1
𝑓 (𝑥 ) = 1+𝑒 −𝑔𝑥 Ecuación 23
38
MATICH DAMIAN Jorge, Redes Neuronales: Conceptos Básicos y Aplicaciones. Universidad Tecnológica
Nacional, 2001 disponible en internet:< http://goo.gl/ifsX97>
5. DESARROLLO DEL PROYECTO
Fuente: autores
Fuente: autores
Fuente: autores
Este algoritmo está compuesto por ocho bloques de procedimientos en los que se
concentran todo el procesamiento de imágenes, a su vez se encuentra representado
mediante un diagrama de flujo que permite visualizar de manera más sencilla lo que
contiene y la forma en la que funciona el código que se diseñó para llevar a cabo el
tratamiento de las diferentes imágenes. A continuación, se explicaran los diferentes
bloques y se visualizara el diagrama.
En el apartado de selección se establece el rango del color verde, que va desde los
tonos más claros establecidos por [30, 50, 50] hasta los tonos más oscuros
determinados por [70, 255, 255].
Posterior a esto se aplica una máscara a la imagen a todos los objetos teniendo en
cuenta los rangos de color establecidos anteriormente, está máscara trabaja en dos
valores, en blancos y negros, todos los pixeles que no están dentro del rango de
verde toman un nuevo valor y ahora serán negros y los pixeles que se encuentran
en dicho rango se convertirán en pixeles blancos.
Después se procede a hallar el área de los objetos que ahora son blancos y que
han sido el resultado de la aplicación de la máscara, si el área de los objetos es
superior a 20000000 se busca el centro de cada objeto y se obtienen sus
coordenadas, se etiquetan, esto con el fin de descartar el ruido que se puede
presentar en las imágenes para reducir tiempo y procesamientos innecesarios.
Fuente: autores
5.3 CREACIÓN BASE DE DATOS
Fuente: autores
Fuente: autores
En la parte izquierda de la figura 18 se puede observar la presencia de malezas
mientras que en la parte derecha se tiene una planta de fresa.
39
CRIOLLO Paola Jimena , OBANDO Melissa , SÁNCHEZ M. Leonardo, BONILLA Ruth. Efecto de bacterias
promotoras de crecimiento vegetal (PGPR) asociadas a Pennisetum clandestinum en el altiplano
cundiboyacense. EN: Revista Corpoica - Ciencia y Tecnología Agropecuaria (2012) 13(2), pag.189-195.
aumentando la complejidad de la detección por estas razones dichas características
fueron descartadas.
Finalmente se optó por adoptar como criterio de selección los valores de los canales
RGB tanto de la planta cultivada como de la especie arvense, aunque existen
semejanzas en el color es posible diferenciar por tonalidades, lo que quiere decir
que los valores de los canales presentan diferencias, con esta característica no se
presentan restricciones de tiempo de muestreo, diferencias de tamaño, volumen,
predominancia, forma y edad o fase del cultivo, esto genera mayor confiablidad y
conservación de las características. Lo que da paso a la implementación de los
clasificadores que se encargaran de hacer la selección.
Fuente: autores
En el costado izquierdo se representan los datos de cultivo (CR, CG, CB) en color
azul y en la parte superior las malas hierbas (PR, PG, PB), aunque no se presenta
una separación total entre los datos de cultivo y maleza es apreciable la diferencia
con la que estos cuentan, a diferencia de las que se enfrentaron en los canales R y
G de cultivo, en donde se presentan muchas más mezclas de las dos clases a
evaluar.
Fuente: autores
Convenciones de la tabla 1
Las redes neuronales presentan diferentes ventajas sobre los demás clasificadores,
por lo que no es extraño que estas sean quienes presenten el porcentaje de error
más bajo, debido a que cada capa al ser entrenada tiene la capacidad de encontrar
y detectar las características que mejor ayudan a clasificar los datos. Estas capas
son capaces de detectar rasgos en los datos de entrada, se busca siempre detectar
la misma característica en todos los grupos, por lo que es posible repetir esa
estructura y reducir los ajustes que hay que hacer, además se cuenta con varias
capas intermedias con varias neuronas cada una, profundizando la red neuronal, lo
que hace que con más capas y con más neuronas en cada una de ellas se mejoran
las predicciones en conjuntos de datos más complicados, mejorando los resultados
obtenidos frente a otros clasificadores.
Las redes neuronales presentan el porcentaje de error más bajo con respecto a los
demás clasificadores, a continuación se muestra la matriz de confusión para el canal
G de manera gráfica, esta se obtiene en base a dos clases de las cuales se tiene
en el cuadro de color verde el número de muestras bien clasificadas para cada
clase, y en el cuadro de color rojo el número de muestras mal clasificadas, en el
cuadro de la esquina inferior derecha de la matriz se observan dos valores de
porcentaje en dos colores diferentes, el verde corresponde a las muestras
clasificadas adecuadamente y el color rojo corresponde al porcentaje de error que
se suministra en la tabla 1 para el canal G, resaltada en color verde .
Fuente: autores
Tabla 2. Matriz de confusión clasificador KNN en canales RGB
Centro Integrado Politécnico ETI Tudela, Visión artificial [en línea], [citado en 26 de
agosto de 2015], disponible en internet: <http://goo.gl/ZqOvSq>
GUO-QUAN Jiang, CUI-JUN Zhao, YONG-SHENG Si. A machine vision based crop
rows detection for agricultural robots, Wavelet Analysis and Pattern Recognition
(ICWAPR). EN: International Conference on. 2010.Pag. 114 - 118