ee ee
GAM,
PN UNIVERSIDAD TECNOLOGICA DE CAMPECHE
Ingenieria en Mecatrénica
Asignatura
Sistemas de Manufactura Flexible
Unidad IV
Tema
Vision
Grado y grupo
10 Cuatrimestre A, B
Intograntes
Alexis Ramos Hernandez
Enrique Pérez Vazquez
Alexander 8. Cocén Sanchez
Edgar Pérez Cante
Docente
Dr. Wilberth Hidalgo Arcos
Correo electrénico
enriqueperez_123@hotmail.com
alex_cs95@outlook.com
Alexis. se@gmail.com
elizabeth300190@gmail.com
Direccibnia en Mecatrénica
Inge
PROCESOS DE VISION, BASADOS EN LA LOCALIZACION DE OBJETOS DE
MANERA ESPACIAL.
Sistema de Vision para la Localizacién y Navegacién de Robots Humanoides
En general en esta investigacién se generaliza la funcién que desempefia este
sistema de visién; el principal sensor que utiizan los robots para adquirir
informacién de! entorno es un sistema de visién basado en una cémara que
captura imagenes del ambiente. En la investigacién presentada se desarrolla un
sistema de vision capaz de adquirir y procesar varias imagenes por segundo, de
manera que se asegura que el sistema robético cuente con informacién opertuna
en un ambiente dindmico como lo es un partido de futbol. A fin de poder reconocer
los diferentes elementos del terreno de juego, se realiza una segmentacién
(clasificacion) de los pixeles encontrados en cada imagen. Debido a que los
objetos de interés (porterias, marcas de referencia, pelota) tienen por reglamento
colores previamente especificados, la segmentacién de pixeles se hace en base al
color. Se propone una técnica de segmentacién por color basada en la agrupacion
de regiones elipsoidales rotadas en el espacio.
El objetivo es encontrar el elipsoide que envuelva la distribucién de las diferentes
tonalidades para un color dado de un ambiente real. Este proceso tiene un disefio
de una herramienta que consiste en una interfaz grafica con la que el usuario
puede encontrar de manera semiautomética los pardmetros que definen al
elipsoide caracteristico utilizando en base a imagenes en linea obtenidas de la
camara del propio robot. En las imagenes que se ven a continuacién se muestra la
identificacién y diferenciacién entre los objetos de la cancha (porterias y marcas
de referencia).
Diteccidn de
ay /BinMecatronics
Ey, Ni UNIVERSIDAD TECNOLOGICA DE CAMPECHE, SONs,, Dirccéndt
LMS,
7h Fut Ni UNIVERSIDAD TECNOLOGICA DE CAMPECHE, 2
~ Ingenieria en Mecatrénica
El correcto reconocimiento de estos elementos resulta de interés ya que con esto,
los robots pueden tomar decisiones de alto nivel utiles para la estrategia de juego
Utiizando la informacién sobre los objetos encontrados en la cancha, se plantea
un algoritmo de localizacién basado en un método no-probabilistico. Este método
utiliza un par de objetos de posicién fija y conocida para realizar una triangulacion
entre estos objetos y el robot. Con esto se define la posicién del robot en la
cancha. Adicionalmente con la informacién sobre el angulo que guarda cada uno
de los objetos con respecto al robot, es posible también determinar la orientacién
del mismo, con lo que se consigue una solucién completa de localizacién sobre el
plano de juego
A continuacién se muestran algunos parémetros que se utilizan en este sistema de
localizacion
Imagen 2 Segmentacion por umbrales simples,
eee eee ee.WP
1!
wr
INL UNIVERSIDAD TECNOLOGICA DE CAMPECHE
Ingenieria en Mecatrénica
POSICION ESPACIAL DE UN OBJETO (ENSAYO)
Un sistema de vision se compone de 4 pasos basicos pero eso no quiere decir que
ya sabe que objeto reconocer, que esta observando o en donde se encuentra, fa
extraccin de los datos, procesamiento de los datos, segmentacién de los datos,
visualizacién de los datos en forma de imagen, estos son los elementos basicos
del procesamiento de imagenes, tal que cuando uno obtiene una imagen en un
computador este es tan torpe tal que no sabe que buscar, solo sabe que existen
un montn de datos a este efecto se le conoce como la percepcién visual, la
mayoria de los software dedicados a visién reducen el tiempo de procesamiento
de este modo uno como usuario tiene la tarea de desarrollar un programa en
software de preferencia(cerebro)
En robética este tema es muy extenso ya que son muchas las variables que se
tratan de controlar por tal motivo existen diferentes métodos para reconocer
objetos en imagenes y diferentes software el mas utilizado es Matiab desarrollado
para procesos matematicos de alta complejidad pero en sus pasos también esta la
libreria de OpenCV esta de igual forman se utilizan para desarrollar ordenes
especificas en las imagenes como por ejemplo buscar un objeto en una imagen o
en un video ya sea en un ambiente controlado o inestable.
A continuacién se presenta un algoritmo cuyo objetivo es identificar un objeto en
una imagen y este se debe mejorar. la calidad reduciendo la mayor cantidad de
error en su procesamiento y el tiempo; se demostrara como se encontré la
posici6n espacial de nuestro objeto (xy,z) , tal que se buscé aplicar diferentes
métodos de obtencién de la imagen y luego procesario en una Red Neuronal de la
libreria de OpenCV (trainCascade).
Decidimos utilizar OpenCV por las facilidades que tienen al procesarias ya que
estas pueden ser programadas en diferentes lenguajes ya sea Ruby, C++, C,
Python, Matlab, Android, entre otros mas que siguen en desarrollo, optamos por
Diteccidn &
Mecatronic:UNIVERSIDAD TECNOLOGICA DE CAMPECHE
Ingenieria en Mecatrénica
procesarlo en Python para la eleccién de nuestro sensor que obtendré la
informacién del exterior encontramos dos en el mercado el CCD y el CMOS los
dos son muy utilizados pero para procesamiento de mayor velocidad los CMOS
ganan y un sensor muy utilizado es el sensor Kinect ya que también contébamos
con uno; la versién que estamos utilizando es la 1414, pero también sirve esta
aplicacién para la 1473,
Utilizamos 5 pasos para procesar el objeto en la imagen este método sirve para
entrenar cualquier imagen y poder posicionar los puntos en determinada_posicion
espacial para eso se utilizaron 3 programas diferentes para la realizacién de este
método a continuacién explicaremos el primer programa:
El primer programa consta de los siguientes pasos
Primero: se len las librerias a utilizar seguidamente una variable almacena, fa
informacién de los datos de una imagen en nuestro caso del sensor Kinect que
emite 30 imagenes por segundo
Segundo: ta imagen es filtrada para encontrar los valores HSV una vez filtrado
pasamos al siguiente proceso.
Tercero: se aplica un filtro binario para discriminar lo puntos de interés y eliminar la
mayor cantidad de ruido (imagen 3).
RT
ae oe mt ™
Dineccibn deUNIVERSIDAD TECNOLOGICA DE CAMPECHE
Ingenieria en Mecatrénica
Cuarto: se establecen rangos de captura de imagenes en donde una vez
localizado el objeto de interés dependiendo del color toma una fotografia y su
informacién (nombre/coordenada) se almacena en un archivo info
ejemplo.positivas/img1.omp 1 100 100 25 25
EI segundo programa solo toma fotos pero negativas (lo que no se requiere
detectar) después de esto se tiene dos opciones hacer.
En esta etapa nos valdremos de una herramienta llamada createsamples.
En nuestro caso desde Ia linea de comando de GNU/Linux se debe ejecutar:
‘opency_createsamples -info positivas.txt -vec data/muestra.vec-num 1500 -w 20 -h
20
Después viene el proceso de entrenamiento donde mediante la funcion
(opency_createsamples -info pos1.info -num 3000 -w 30 -h 30 -vec post.vec )
‘empezamos el proceso al final nos dara un archivo .xml donde lo usaremos en el
tercer programa (imagen 4).
Imagen 4 Proceso de entrenamiento del sistema
Diseccién di
Mecatronics., Diteccion de
ge gpitecatsenis
oe 4
Ingenieria en Mecatrénica
UNIVERSIDAD TECNOLOGICA DE CAMPECHE
Luego en el programa final agregamos el nombre del archivo (.xml) para proceder
su ejecucién. En la imagen 5 podemos apreciar los resultados en donde se
aprecia el objeto (arrojando valores X, Y, Z) obviamente al primer entrenamiento
de la red Neuronal utilizado de la libreria de openCV cominmente no queda
estable sus ganancias por tal motivo se requiere de mas entrenamiento alterando
sus valores de entradas (variando la cantidad de imagenes).
imagen 5 Resultados del sistema