detecciÓn de posiciÓn y estimaciÓn de la trayectoria...
TRANSCRIPT
DETECCIÓN DE POSICIÓN Y ESTIMACIÓN DE LA TRAYECTORIA LINEAL FUTURA DE UNA PELOTA, APLICÁNDOLE UNA FUERZA EN
EL CÍRCULO MÁXIMO (X, Y)
DETECTION OF POSITION AND ESTIMATED FUTURE PATH OF A BALL LINEAR, APPLYING A FORCE TO THE MAXIMUM CIRCLE
Harold H. Fúneme
Resumen: En el siguiente documento se describe el proceso de diseño e implementación de
un software que permite detectar la posición de una pelota, y calcular su trayectoria futura
dependiendo de una fuerza aplicada en el círculo máximo; mediante el uso de una cámara y
procesamiento de imagen. Se desarrolló un entrono controlado con el fin de limitar las
variables y conseguir mejores resultados. Por otra parte se diseñó el actuador para aplicar
la fuerza a la pelota, esto con el fin de conocer la fuerza aplicada y así estimar la posición
futura de la pelota.
Se logró contrastar los datos teóricos con los prácticos, logrando errores aceptables en el
cálculo de la trayectoria futura. A su vez se ven las dificultades que se tienen para lograr un
desarrollo en la captación de objetos en movimiento y la iluminación del entorno.
Palabras clave: Fuerza, entorno, procesamiento de imagen, trayectoria.
Abstract: In the following document the desing process and implemantation of a software
thta can detect the position of a ball, and calculate its future path depending on an applied
force-circle described; by using a camera and image processing. It controlled in order to limit
the variables and achieve better results entrono developed. Moreover the actuator is
designed to apply force to the ball, this in order to know the applied force and thus estimate
the future position of the ball. It was possible to compare the theoretical data with practical,
achieving acceptable errors in the calculation of the future path. A turn fail to see the
difficulties that have to achieve development in capturing moving objects and lighting
environment.
Key Words: Force, environment, image processing path.
1 Introducción
La visión humana es uno de los sentido más importantes a la hora de obtener información de
nuestro entorno, pero desafortunadamente tiene un rango de espectro electromagnético
demasiado pequeño si se compara con el rango que tiene una máquina de imágenes, las
cuales cubren un rango de espectro electromagnético “desde rayos gamma hasta las
radiofrecuencias”; volviendo las imágenes digitales una herramienta más útil a la hora de
detectar y diferenciar objetos en el entorno[1].
Uno de los retos más grandes en el momento, es la capacidad de detectar un objeto y, a su
vez, poder predecir su posicionamiento futuro de acuerdo a su movimiento. Para lograr esto
es necesario el pre procesamiento de la imagen con el fin de obtener una imagen digital, y
así poder aplicar los diferentes algoritmos de procesamientos de imagen para cumplir con las
tareas a asignar [2].
Luego de tener una imagen digital, el siguiente paso para lograr una visión por computadora
homologa a la del ser humano es la de detectar o diferenciar el objeto de su entorno, lo cual
se logra capturando los bordes del objeto u objetos a detectar; para luego poder dar la
posición de este en la imagen tomada. Su detección es muy útil en diferentes aplicaciones
que necesiten diferenciar estructuras o reconocerlas para su posterior interpretación, y se ha
Estudiante Tecnología Electrónica. Lugar de trabajo: Universidad Francisco José de Caldas. Correo electrónico e-mail: [email protected]
logrado gracias al estudio de diferentes algoritmos (Canny, Sobel, Prewitt, Roberts.) muy
utilizados en diferentes campos como la medicina o la industria [3][4].
Por último, la estimación de posiciones y dirección de movimiento del objeto se logran
utilizando diferentes herramientas matemáticas, las cuales nos dan la medición de
características como distancias entre dos puntos, ángulos, centros de masa, etc. Lo que
ayuda para calcular la posición futura del objeto[2].
En este artículo inicialmente se da una descripción de la visión artificial aplicada a la
detección de un objeto por medio del algoritmo Canny. Finalmente se analizaran el resultado
de todo el proceso para la aplicación de este a una pelota en movimiento lineal dependiente
de una fuerza aplicada en el círculo máximo (X, Y), en un ambiente controlado para describir
su trayectoria futura.
1. Visión artificial
Se compone básicamente de dos bloques: un bloque de adquisición de imagen, el cual se
conforma de sensores sensibles a la luz que junto con los circuitos necesarios transforman
las diferentes luminosidades en señales eléctricas, gracias a un proceso de cuantización
sirve para su posterior tratamiento[5]. Por otro lado se encuentra la CPU (unidad central de
procesamiento - central processing unit ), la cual junto con algoritmos de complejidad
dependientes a la aplicación o tarea; nos da la posibilidad de extraer o quitar características
de dicha imagen, esto con el fin de poder obtener las diferentes propiedades de la imagen
adquirida[5]. En este proyecto en el bloque de adquisición se utilizó una cámara con una
resolución de (160 pixeles – 120 pixeles) y captura la imagen en un formato YUY2. En el
bloque de procesamiento se utilizó un pc con procesador Intel (R) Core (TM) i5-5200U CPU
que corre 2.20 GHz.
2. Operador Canny
El operador Canny, es el algoritmo más óptimo y usado en los últimos tiempos entre los
mencionados previamente. Y esto se debe a la histéresis que se calcula en todos los
umbrales altos y bajos de la estadística de las ramas de la imagen; además de los pre
procesamientos previos que se necesitan para adaptar la imagen para este algoritmo, esto
hace que el algoritmo Canny necesite de mucho más tiempo de procesamiento, haciéndolo
poco útil para la aplicación de detección en tiempo real , sin embargo, cabe aclarar que los
pre procesamientos que se realizan para aplicar el algoritmo Canny han sido modificados y
mejorados considerablemente para su uso en tiempo real; ya que sería de gran utilidad en
este campo como lo determina por Varadarajan en [6].
En este proyecto se binarizo la imagen previamente para minimizar el tiempo de
procesamiento en una tercera parte, ya que se trabaja con una matriz de solo dos valores y
no con tres matrices de diferentes valores. Posteriormente se utilizó el operador Canny para
la segmentación de la pelota y los diferentes ruidos que se dan en la imagen a causa de la
variación de la luz del entorno.
Finalmente para identificar la pelota del fondo se calculó su área en pixeles con la función de
Matlab (Valor_Areas=[propiedad.Area];) y se generó un barrido de áreas etiquetando cada
una de ellas con la función de Matlab (propiedad=regionprops(etiqueta);); esto para borrar
las áreas que no se encuentren en el rango del área de la pelota y así dejar finalmente solo
la imagen de la pelota.
2 Desarrollo del proyecto
El proyecto se ha desarrollado con base en el diagrama de bloques de la figura 1 el cual nos
indica los pasos secuenciales que realizara el software y el diseño del ambiente controlado.
Figura 1. Diagrama de Bloques (Desarrollo del Proyecto).
Fuente elaboración propia
2.1 Ambiente Controlado
La imagen capturada de un objeto en movimiento por una cámara contrae diferentes factores
como la luz, diferentes colores del entorno, diferentes clases de superficies que interactúan
entre sí, etc. Es por esto que fue necesario crear un ambiente que controlara la cantidad de
luz impactada en la superficie, limitar el recorrido de la trayectoria de la pelota, tener dos
superficies conocidas para saber el coeficiente de fricción entre ellas; esto con el fin de
minimizar fenómenos que hagan más complejo la captura y el cálculo de la trayectoria de la
pelota, y de obtener resultados con errores por debajo del 10% de la medida.
Se trabajó sobre una base de color negra y una superficie de fibras de lana, esto con el fin de
poder segregar la pelota de su entorno sin necesidad de un color específico (ya que el color
negro es ausencia de color) y de aumentar el coeficiente de fricción para que la distancia del
ambiente tuviera una cantidad de muestras aceptables para los cálculos. La base tiene una
longitud de 60 cm de largo por 38 cm de ancho y una altura de 12 cm, esta base tiene un
Software
Desarrollo del proyecto
Captura
Ambiente Controlado Toma de datos prácticos
Pre-Procesamiento
Segmentación
Extracción de Características
Interpretación
marco de 5 cm de ancho, con el fin de delimitar el recorrido de la pelota a la hora de ser
impactada y de centrar la captura ya que la base de acuerdo a la capacidad de la cámara
usada (180 pixeles – 120 pixeles, formato YUY2). La base tiene un brazo unido a los 30 cm
del largo y tiene una altura 88 cm respecto al suelo; esto con el fin de dar la altura suficiente
para que la cámara pueda tener una captura completa y central del entorno. En la punta
superior del brazo lleva un soporte de 20 cm unido perpendicularmente junto con la cámara
el cual nos ayuda a centrar la cámara en el punto central de nuestro entorno. (Ver figura 2).
a)
b)
Figura 2. Estructura del ambiente controlado a) vista superior b) vista lateral. (Fuente: Elaboración propia)
2.1.1 Actuador
Con el fin de determinar la fuerza aplicada a la pelota en el círculo máximo, se diseñó un
actuador con un resorte, formando así un sistema compuesto por este, la pelota y la
superficie que interactúa con la pelota.
El resorte unido con un objeto se considera un sistema que varía la fuerza aplicada a este
objeto dependiendo de su posición respecto a la posición de equilibrio, esta fuerza está
representada matemáticamente por la Ley de Hooke (vea ecuación 1).
sF kx (1)
Donde x representa la posición dependiente de la posición de equilibrio del resorte y k
representa la constante del resorte que denota su rigidez. El signo menos indica que la
dirección de la fuerza que ejerce el resorte siempre tiene una dirección opuesta al
desplazamiento de equilibrio[8].
Gracias a esta ecuación logramos determinar la constate del resorte, que nos sirvió para
determinar la fuerza aplicada a la pelota dependiendo de la elongación de este. El actuador
tiene una longitud de 10.5 cm de largo y 1.5 cm de ancho como se muestra en la figura 3.
(a) (b)
Figura 3. Actuador a) vista lateral b) vista superior. (Fuente: Elaboración propia)
2.1.2 Superficie
Con el fin de determinar la fricción de la pelota con la superficie del entorno y de lograr que
los recorridos dependientes de la elongación del resorte estuvieran en el rango de la longitud
del entorno, se utilizó una superficie de lana, ya que esta aumenta la fricción de la pelota
gracias a las fibras poco homogéneas del material. La superficie tiene una longitud de 46.5
cm de largo y 28 cm de ancho (vea figura 4).
Figura 4. Superficie de fibras de lana. (Fuente: Elaboración propia)
Por otro lado, con el fin de evitar que la posición inicial de la pelota no fuera aleatoria, y de
que el punto de impacto fuera siempre en el círculo mayor; se puso una base frente al
actuador que pone a la pelota en una altura y posición inicial adecuada para el entorno. La
base es de forma circular con un diámetro de 4 cm de diámetro y está ubicada a los 14 cm
de la superficie como se muestra en la figura 5.
(a) (b)
Figura 4. Base para la posición inicial de la pelota a) diámetro de la base b) posición del a base en la superficie. (Fuente: Elaboración propia)
3. Datos prácticos
Para el desarrollo del proyecto fue necesario la toma de: datos de la constante del resorte
que realiza el impacto en la pelota, el coeficiente de fricción de la pelota con la superficie
escogida y el peso de la pelota, esto con el fin de estimar la distancia que recorrerá la pelota
de acuerdo a la fuerza de impacto.
3.1 Peso de la pelota
Para el peso de la pelota se utilizó una balanza de precisión OHAUS PIONERR (ver figura 5)
la cual tiene un rango de 150- 4100 g, se realizaron 10 tomas y se promedió para obtener el
valor del peso de la pelota. Los datos fueron:
Figura 5. Balanza de precisión OHAUS PIONERR. (Fuente: Elaboración propia.)
Peso (g). Pelota
45,65
45,65
45,66
45,67
45,68
45,67
45,67
45,66
45,67
45,66
Tabla 1. Peso de la pelota.
Promedio peso pelota
45,66 g
3.2 Fricción cinética de la pelota con la superficie
3.2.1 Fuerza de fricción
Cuando un objeto está en movimiento existe una resistencia a este porque el cuerpo
interactúa con su entorno, a esta oposición se le llama fuerza de fricción. Al momento de
ejercer una fuerza en el objeto se crean dos tipos de fricción; una cuando el objeto recibe la
fuerza pero no se mueve ya que la fuerza de fricción es igual a la aplicada por lo que se
cancelan y otra en el instante en que se mueve el objeto que ocurre cuando la fuerza
aplicada es mayor a la fuerza de fricción. A estas dos fuerzas se les llama fuerza de fricción
estática y fuerza de fricción cinética respectivamente [8].
Estas fuerzas matemáticamente se denotan así (1- Fuerza de fricción estática, 2- Fuerza de
fricción cinética):
s sF n (2)
k kF n(3)
Para medir la fricción de la pelota se utilizó un dinamómetro de 5 Newton (ver figura 6) y se
realizaron 10 muestras, se midió la fuerza que realizaba la superficie a la pelota en
movimiento a una velocidad constate con el fin de despejar el coeficiente de fricción. Los
datos recolectados fueron:
Figura 6. Dinamómetro 5N.
Fuente elaboración propia.
Dinamómetro Fuerza (Newton)
0,28
0,25
0,27
0,29
0,28
0,23
0,28
0,23
0,24
0,26
Tabla 2. Datos de fuerza de la pelota contra la superficie.
Con la expresión de coeficiente de fricción cinética (ecuación 3) y con el peso de la pelota
(siendo igual a la normal) despejamos el coeficiente de fricción cinético k , estos datos se
promediaron para obtener la medida. Los datos fueron:
k
0,782
0,893
0,826
0,871
0,849
0,893
0,670
0,737
0,759
0,804
Tabla 3. Coeficiente de fricción.
3.3 Constante del resorte
La constante del resorte se calculó con un juego de pesas (ver figura 7), teniendo cuidado de
que el peso de estas no creara una deformación en el resorte; esto con el fin de que nuestros
datos no fueran afectados por este fenómeno.
Promedio
k
0,808
Figura 7. Juego de masas (10g – 1000g).
Fuente elaboración propia.
Se tomaron 5 masas y se calculó la constante para cada una de ellas en base a la ecuación
(1), los datos obtenidos son:
Masa (Kg) X (m) Constante K (N/m)
0,050 0,002 245
0,10 0,005 196
0,20 0,010 196
0,50 0,024 204,16
1 0,047 208,51
Tabla 4. Constante del resorte.
3.4 Datos Teórico – Prácticos
Para comparar los datos teóricos con los prácticos se realizaron 5 pruebas (ver figura 8) por
cada muestra y se promediaron para obtener un dato final. Los datos prácticos se pueden ver
en la tabla 5.
(a) (b) (c) (d) (e)
Figura 8. Pruebas según elongación del resorte a) 1 cm, b) 1.5 cm, c) 2 cm, d) 2.5 cm, e) 3 cm.
Fuente elaboración propia.
Promedio K
209,034 (N/m)
Elongación del Resorte
(cm)
Datos de distancia recorrida por la pelota (cm)
Promedio (cm)
1 cm 6.5 6.3 6.5 6.4 6.3 6.4
1.5 cm 9.3 9.6 9.8 9.4 10 9.62
2 cm 16.9 16.1 17.1 15.2 18 16.66
2.5 cm 24 23 23.1 25.2 25.3 24.64
3 cm 43 39.4 38.6 41.1 42.4 40.9
Tabla 5. Datos de pruebas según elongación del resorte.
Los datos teóricos se dieron con la igualdad de la energía potencial del resorte y el trabajo
realizado en el sistema (ver ecuación 4) donde con los datos obtenidos se consiguió las
distancias recorridas dependiendo de la longitud de elongación del resorte.
21
2kx mgd
(4)
Al considerar nuestro entorno junto con la pelota y el actuador como un sistema, nos permite
el ingreso de un nuevo concepto (energía) y la solución de este sin la necesidad de usar las
leyes de Newton. Estas leyes se aplican a un modelo en particular mientras que la energía
nos lleva a un nuevo planteamiento llamado modelo del sistema [8].
Con la energía potencial elástica que el resorte genera por la fuerza que este ejerce sobre la
pelota (ver ecuación 1), consideramos la energía potencial elástica del sistema como la
energía almacenada en el resorte [8]. Y la ecuación que la representa es:
21
2sU kx (5)
Al determinar que el trabajo es un mecanismo de transferencia de energía en un sistema y la
ley de la conservación vistas en [8], podemos ver la transformación de la energía a otra y su
conservación en nuestro sistema (pelota, superficie y actuador) al mismo tiempo que
sustenta la igualdad de la ecuación (4).
Los datos teóricos obtenidos se pueden ver en la tabla 6 y la comparación de estos con los
prácticos se resumen en la figura 9.
Elongación 1 cm
Elongación 1,5 cm
Elongación 2 cm
Elongación 2,5 cm
Elongación 3 cm
4 9,1 16,17 25,27 36,4
Tabla 6. Explicaciones de la resolución de las figuras.
0
10
20
30
40
50
Elongación 1 cm Elongación 1,5 cm Elongación 2 cm Elongación 2,5 cm Elongación 3 cm
Teorico
Practico
Figura 9. Grafica datos Teóricos - Prácticos.
Fuente elaboración propia.
3.5 Errores de medición
Gracias a la calibración de los instrumentos utilizados y fenómenos no considerados en el
sistema, se obtienen diferentes rangos de error (ver tabla 7), los cuales nos dan el error
mínimo aceptable en los cálculos de trayectoria futura.
Instrumento (instrumentos laboratorio de física UDFJC)
Error
Dinamómetro ±0.05 N
Flexometro ±0.05 mm
Balanza Digital ±0.005g
Tabla 7. Tabla de % errores de instrumentos de medición.
Por otro lado la comparación de los datos teóricos con los prácticos se obtiene un error total.
Los errores absolutos y relativos, estos se pueden ver en las tablas 8 y 9.
Tabla 8. Errores absolutos de la longitud recorrida por la pelota.
Tabla 9. Errores relativos de la longitud recorrida por la pelota.
4. Visión Artificial
El software inicia la adquisición de imágenes por medio de la cámara genérica Emje Switch
Plug Play con resolución 180 pixeles / 120 pixeles, formato YUY2. Este proceso se hace de
forma cíclica ya que el video se representa como una secuencia de fotos. De este modo se
realizó la captura en una estructura repetitiva “for” la cual nos da el control de la cantidad de
fotos capturadas y del tiempo de captura. Una de las capturas se pude ver en la figura 10
junto con la medición en pixeles de la longitud del largo del entorno y el diámetro de la pelota
gracias a la herramienta de medición imtool de Matlab.
Teórico(cm) Practico (cm) Error absoluto
4 6,4 -2,4
9,1 9,62 -0,52
16,17 16,66 -0,49
25,27 24,64 0,63
36,4 43 3,9
Teórico(cm) Practico (cm) Error relativo (%)
4 6,4 37,5
9,1 9,62 5,4
16,17 16,66 2,9
25,27 24,64 2,5
36,4 43 9
Figura 10. Adquisición de Imagen del entorno en Formato YUY2 (180X120) con la ayuda de la función imtool de Matlab.
Fuente elaboración propia.
4.1. Pre-Procesamiento
Al trabajar con imágenes RGB (rojo, verde, azul – Red, Green, Blue) es necesario convertir la
imagen en un formato que maneje solo una matriz de datos, esto con el fin de reducir la
cantidad de tiempo de procesamiento y de hacer que la captura, segmentación y extracción
de características sean más rápidas y eficientes.
Como primera medida se convierte la imagen a una escala de grises con la función
(gris=rgb2gray(im);)para lograr obtener una sola matriz; posteriormente se calcula el
umbral con la función (umb=graythresh(gris);) de esta con el fin de poder tener una imagen
binaria (byn2=im2bw(gris,umb);),como se ve en la figura 11.
Figura 11. Imagen del entorno binarizada byn2 creada con la función im2bw (gris, umb) de Matlab.
Fuente elaboración propia.
4.4. Segmentación
La segmentación se realizó mediante el filtro canny el cual fue posible con la función (fil1=
edge(byn2,'canny');) de Matlab y la imagen binarizada previamente generada (ver figura
11), el resultado es una imagen con los bordes de los objetos detectados en el entorno como
se ve en la figura 12 . Este método se basa en la primera derivada del valor de la matriz de la
imagen; con este calcula los cambios bruscos y delimita los bordes de cada imagen con su
entorno logrando resaltar los bordes del objeto con respecto al fondo del entorno.
Figura 12. Segmentación de imagen binarizada del entorno por medio de filtro Canny realizado
con la función (fil1= edge(byn2,'canny');)de Matlab.
Fuente elaboración propia.
4.4. Extracción de características
Al ser la luz una fuente de ruido en la imagen se extraen otras características parte de las
utilizadas para el cálculo de la trayectoria.
Como primera medida se etiquetaron todos los objetos detectados y se calcularon todas las
áreas de estas con la función (Valor_Areas=[propiedad.Area];)de Matlab, esto con el fin de
eliminar las diferentes áreas que no correspondan al rango del área del objeto a detectar; se
logró esto con la función (idx=find((30<=Valor_Areas)&(Valor_Areas<=80));)de Matlab y
el cálculo del área de la pelota por medio de la herramienta imtool. Por último se calcula el
centroide de la pelota con la función (loc=regionprops(imgEnd,'Centroid','Area');)para
obtener su posición en el plano (X, Y) y su área final como se ve en la figura 13. Se realizó
un circulo pixelado de color amarillo con punto central en el centroide para identificar mejor la
posición de la pelota.
Figura 13. Imagen con el centroide de la pelota y circulo pixelado amarillo.
Fuente elaboración propia.
4.4. Identificación de objetos
En esta etapa ya se cuenta con la posición y la identificación del objeto en el plano, se
procesaron los datos de ingresados para calcular la trayectoria dependiendo de la
elongación del resorte. Esto se logra haciendo una conversión de pixeles a centímetros con
una regla de tres (1 pixel = 0,3125 cm – 3.2 pixeles = 1 cm), y trazando una línea desde el
punto del centroide hasta el punto calculado de la posición final como se ve en la figura 14.
Figura 14. Calculo de la trayectoria de la pelota.
Fuente elaboración propia.
4.3. Interfaz
La interfaz de usuario se diseñó con dos push botton (Start, Posición) y un pop up menú
(elongación), los cuales dan la posibilidad de controlar el inicio del programa, detectar la
posición actual e ingresar la longitud de elongación del resorte respectivamente. Por otra
parte se puede ver la imagen del entorno durante el proceso en un panel, la línea de
trayectoria estimada en color azul, círculo con radios de error de color verde de acuerdo a
cada trayectoria y los valores de las posiciones (actual y futura) de la pelota en cm como se
muestra en la figura 15.
Por otro lado ser realizó 5 muestras por cada medida de elongación y se compararon con
medidas de la trayectoria realizadas en el entorno por medio de cintas métricas colocadas
en el entorno como se muestra en la tabla 10 y en la figura 16. Cabe resaltar que el punto
inicial de medida en el software se realizó desde la pelota y el punto inicial de medida en el
entorno comienza 7 cm antes como se muestra en la figura 10, por esta razón se restan
para que se obtenga la medición real del recorrido de la pelota.
Los errores de las medidas promediadas se encuentran en la tabla 11, estas nos muestran
que el error que se obtuvo fue menor al 5 %. Las medidas de la elongación de 3 cm no tienen
error y son las mismas porque la predicción de esta trayectoria esta por fuera del entorno
controlado, esta es la razón por la que en la tabla 10 aparece la longitud como una
desigualdad (<50) que denota que es mayor a la longitud del entorno, y en la tabla 11
aparece N/A porque esta medida de error es 0 al no coincidir con la trayectoria real tomada
por la pelota.
Figura 15. Interfaz de Usuario (Descripción).
Fuente elaboración propia.
Elongación del
Resorte (cm)
Datos de distancia recorrida por la pelota desde el punto inicial del entorno (cm)
Software (cm) Promedi
o
Practico (Medida en el entorno) (cm)
Promedio
1 cm 15.8
15.7 15.5 14.2 15.4 15.3 16.2 14.8 15 15.1
15.9 15.4
1.5 cm 21.1
19.4 25.6 24.1 19.8 22 20.5 19.1 24.8 23.1 20.1 21.5
2 cm 32.5
34.8 33.2 32.3 31.9 32.9 31.4 34.1 32.9 31.5 31.3 32.2
2.5 cm 41.5
38.4 37.2 40.1 38.3 39.1 39.8 37.5 36.5 38.5 37.5 37.9
3 cm 50.1
49.8 50.2 49.9 50.1 50 <50 <50 <50 <50 50.1 <50
Tabla 10. Medidas de software - Medidas en el entorno.
Fuente elaboración propia.
0
5
10
15
20
25
30
35
40
45
50
1 cm 1.5 cm 2 cm 2.5 cm 3 cm
software
M Entrono
Figura 16. Comparación de medidas de Software Vs Medidas del entorno.
Fuente elaboración propia.
Tabla 11. Errores absolutos y Relativos de medidas de la longitud recorrida por la pelota dadas por Software Vs medidas del entorno.
Resultados.
La cámara nos permite obtener datos de manera homologa a la visión del ser humano, y en
ocasiones obtener nuevos datos con los que se consiguen nuevas aplicaciones. La
aplicación de captura de un objeto en movimiento depende de la resolución de la cámara y
del ambiente en que este se mueva; ya que entre más heterogéneo sea el espacio o entre
más varié la intensidad de luz en el campo de visión, será necesario un software más robusto
para que se pueda distinguir el objeto del fondo.
La binarización de la imagen ayuda a minimizar la cantidad de procesamiento, ya que los
cálculos se realizan en una matriz de una dimensión y no en una de tres, haciendo que el
tiempo se reduzca tres veces que si se realizara en la matriz original RGB que nos da como
primera entrada la cámara.
Al realizar las mediciones con los diferentes instrumentos se pudo observar que los errores
que arrojan son dependientes de la calibración de estos, y de su correcto uso. Por otro lado
se logró acondicionar el entorno para poder trabajar con el algoritmo base Canny y la
segregación de la pelota con el fondo, que se logra al filtrar los diferentes objetos que no
entren en el rango del área de la pelota. Esto ayudo a que el software funcione con ciertas
características de luz ya que si esta varía o es mayor a la aceptable por el programa; el ruido
Medidas del Software(cm) Practico Medidas del Entorno(cm)
Error absoluto Error Relativo %
15.3 15.4 -0,1 0,6%
22 21.5 0,5 2.3%
32.9 32.2 0,7 2.1%
39.1 37.9 1,2 3.1%
50 50 N/A N/A
que proporciona la luz dará resultados erróneos de la ubicación y estimación de la trayectoria
lineal futura de la pelota.
3. Conclusiones
Se desarrolló un algoritmo que captura y muestra la posición actual de la pelota en el
entorno controlado, gracias a las funciones (fil1= edge(byn2,'canny');) y
(loc=regionprops(imgEnd,'Centroid','Area');), las cuales determinaron los bordes
y el centroide de la pelota respectivamente.
Se desarrolló un algoritmo que predice la trayectoria futura de la pelota, dependiendo
de la fuerza aplicada por el actuador; esto se logró gracias a la relación de la energía
potencial con el trabajo realizado en el sistema.
Se diseñó una interfaz amigable para el usuario, la cual le permite visualizar la
posición actual, futura (en coordenadas (x, y)) y una línea que predice la trayectoria de
la pelota. Por otro lado le permite al usuario ingresar las diferentes elongaciones del
actuador para su posterior predicción.
Uno de los principales problemas que se encontrado es la variación de iluminación, la
cual provoca ruido en las imágenes detectadas haciendo más difícil la segregación del
objeto con el fondo del entorno.
Al atacar el problema del sistema mecánico fue más fácil trabajar este con el balance
de energías que con las leyes de Newton, ya que estas nos permitieron estimar la
trayectoria futura considerando unos pocos fenómenos presentes en este.
Los errores encontrados en la estimación son aceptables, considerando los errores
que se tienen con los diferentes instrumentos de medición (dependientes de su
calibración) y de los fenómenos que no se tuvieron en cuenta a la hora de calcular la
trayectoria.
El software no funciona a luz ambiente porque el sistema que se utiliza para identificar
la pelota del entorno no es suficiente para eliminar un ruido aleatorio; ya que se basa
en la eliminación de ares etiquetadas y el ruido se suele confundir con el área de la
pelota.
El software podrá mejorar el problema de trabajar a luz ambiente si se mejora la manera de
eliminar ruido junto con el pre procesamiento del algoritmo Canny, ya que son estos los que
permiten segregar la pelota del entorno. Por otro lado para conseguir una mejor precisión y
exactitud en la predicción de la trayectoria de la pelota, es necesario diseñar un entorno que
permita un rango de recorridos más amplio y utilizar instrumentos de precisión y con alta
calidad de calibración a la hora de tomar las muestras de las diferentes constantes halladas.
Agradecimientos
Este proyecto como personas de primer impacto en el proyecto se encuentra la dedicación y
esfuerzo por parte mía y la de mi tutor, pero no hubiese sido posible su finalización sin la
cooperación desinteresada de todas y cada una de las personas que aportaron en el
desarrollo del proyecto, doy gracias a las personas que han sido mi soporte y compañía
durante todo el periodo de estudio.
Referencias
[1] R. C. Gonzalez, R. E. Woods, and S. L. Eddins, “Digital Image Processing Using Matlab - Gonzalez Woods & Eddins.pdf,” Education, vol. 624. p. 609, 2004.
[2] E. Valdemar and C. Jimenez, “Visión por Computador utilizando MatLAB Y el Toolbox de Procesamiento Digital de Imágenes Índice general.”
[3] T. Hermosilla, E. Bermejo, a. Balaguer, and L. a. Ruiz, “Detección de bordes con precisión subpíxel en imágenes digitales : Interpolación lineal frente a esquemas de tipo
no lineal,” VII Jornadas Matemática Apl. DMA–IMPA, pp. 9–20, 2006.
[4] W. Phueakjeen, N. Jindapetch, L. Kuburat, and N. Suvanvorn, “A study of the edge detection for road lane,” ECTI-CON 2011 - 8th Electr. Eng. Electron. Comput. Telecommun. Inf. Technol. Assoc. Thail. - Conf. 2011, vol. 4, no. c, pp. 995–998, 2011.
[5] J. Cáceres Tello, “La visión artificial y las operaciones morfológicas en imágenes binarias,” pp. 1–7, 2002.
[6] Q. Xu, S. Varadarajan, C. Chakrabarti, and L. J. Karam, “A distributed canny edge detector: Algorithm and FPGA implementation,” IEEE Trans. Image Process., vol. 23, no. 7, pp. 2944–2960, 2014.
[7] A. Bali and S. N. Singh, “A Review on the Strategies and Techniques of Image Segmentation,” 2015 Fifth Int. Conf. Adv. Comput. Commun. Technol., pp. 113–120, 2015.
[8] R. A. Serway and J. W. Jewett, Física para ciencias e ingeniería. 2008/GENGAGE Learning/ volumen 1.