Reconocimiento y clasificación de poses robóticas utilizando

Transcripción

Reconocimiento y clasificación de poses robóticas utilizando
Reconocimiento y clasificación de poses robóticas
utilizando principal component analysis (PCA)
y support vector machines (SVM)
Michael Terrones Carrasco
62
RESUMEN
KEY WORDS
En la presente investigación es introducida una completa caracterización de poses robóticas en la búsqueda de
autoposicionamientos estables para el sujetado de objetos, utilizando un arreglo de parámetros para la descripción de poses robóticas así como visión artificial con
PCA (Análisis de Componentes Principales). Los vectores
resultantes de la caracterización manual y automática de
poses robóticas son integrados con un algoritmo de clasificación tal como SVM (Support Vector Machines) para la
discriminación de poses robóticas.
Los resultados obtenidos son alentadores y muestran que
el posicionamiento robótico en interacción con una adecuada representación de los objetos en diferentes condiciones (luminosidad, posición relativa del acople robot
– objeto) puede ser alcanzado mediante la meticulosa
combinación de técnicas de reconocimiento y evolucionados algoritmos de clasificación.
PCA analysis, SVM, array of pixels, eigenvectors, pose characterization.
ABSTRACT
This paper proposes an approach for complete characterization of robot poses in the search of stable autopositioning for grasping objects. A vector of parameters for
describing the robot poses and computer vision using
Principal Component Analysis (PCA) for auto analysis of
positioning are adopted. The vectors resulting from the
manual and auto characterization of robot poses are integrated with an SVM (Support Vector Machines) classification algorithm to discriminate robot poses.
The results from the research are encouraging and show
that the robotic positioning in interaction with object in
different environment conditions (luminosity, coupling
robot – object relative position) can be achieved by combining meticulous recognition techniques and evolutionary classification techniques.
PALABRAS CLAVES
Análisis PCA, SVM, arreglo de píxeles, eigenvectores, caracterización de poses.
INTRODUCCION
Uno de los problemas que ha limitado el uso de aplicaciones robóticas es la falta de controladores evolutivos [1].
Con el objeto de aliviar este aspecto específico y también
para lidiar con el costo prohibitivo de muchas soluciones
robóticas, se presenta un enfoque basado en la combinación de caracterización robótica y un algoritmo inteligente de control, como es SVM.
Como parte del planteamiento del problema, podemos
formularnos las siguientes interrogantes: ¿Es posible implementar el autoaprendizaje en sistemas robóticos? ¿Es
este un autoaprendizaje robusto en términos de eficiencia en el control? ¿Podemos pretender implementar un
sistema que además de robusto sea evolutivo? En términos cuantitativos, ¿cuáles serían los porcentajes de error
para estos controles evolutivos?
El centro de atención en el presente caso es el autoposicionamiento robótico para tareas de sujetado. Como
podemos suponer el posicionamiento robótico es extremadamente dificultoso debido al número de grados de
libertad (GLs) considerados en el acoplamiento efector
final – objeto, así nosotros debemos considerar cada parámetro en el efector final, el objeto, y el ambiente que
podría influenciar el posicionamiento final. El número
de GLs implica una búsqueda de diferentes espacios
para una óptima representación. Así, en la investigación
el acoplamiento efector final – objeto es representado
por sus principales parámetros (vector con 8 GLs) en el
primer caso de estudio y, luego, la investigación es extendida para incluir la representación de parámetros del
entorno que podrían también influir la performance del
posicionamiento (cables, obstáculos, descalibraciones,
etc.) utilizando un análisis con PCA en diferentes configuraciones. Finalmente los resultados de ambos escena-
RECONOCIMIENTO Y CLASIFICACIÓN DE POSES ROBÓTICAS UTILIZANDO PRINCIPAL COMPONENT ANALYSIS (PCA) Y SUPPORT VECTOR MACHINES (SVM)
rios alimentan a un algoritmo de clasificación tal como
SVM, para entrenar y enseñar al robot los adecuados posicionamientos finales.
El problema de controlar un brazo robótico es usualmente
enfocado asumiendo que el robot debería tener o debería adquirir a través del aprendizaje un modelo interno capaz de: predecir cómo se moverá el brazo robótico, dado
un comando específico hacia el motor (mapeo directo);
y transformar una consecuencia sensórica deseada hacia
el comando del motor que lo alcanzaría (mapeo inverso)
[2]. No negamos que los seres humanos y otras especies
naturales confíen en modelos internos de esta forma para
controlar el comportamiento de sus particulares motores.
Sin embargo, no creemos que el control del motor y los
movimientos de los brazos en particular estén basados
en una detallada descripción del acople sensor – motor,
sino en modelos y técnicas que incluyan también el entorno de trabajo. El objetivo de la presente investigación
es aplicar nuevas técnicas de aprendizaje artificial para el
problema de sujetado y lograr, de manera efectiva, que
los robots puedan sujetar objetos de manera arbitraria en
entornos arbitrarios.
En el presente reporte, los resultados del autoposicionamiento robótico para tareas de sujetado utilizando algoritmos de clasificación SVM, son presentados y analizados
en diferentes escenarios, con el fin comparar diferentes
performances de autoposicionamientos en la búsqueda
de una combinación de parámetros y factores que puedan afectar la tarea de clasificación.
Por medio de la introducción de visión artificial para el reconocimiento de poses robóticas se acelera el tiempo de
adquisición de información mediante la captura automática de los datos requeridos en vez de una carga manual de
los vectores de entrada para la tarea de clasificación. Aun
cuando el vector de entrada crezca considerablemente y
también el tiempo de procesamiento, este considera toda
la información del acoplamiento efector final – objeto e
igualmente los datos del entorno. La implementación de
un adecuado análisis PCA es importante para discriminar
los eigenvalores con información irrelevante.
Inteligencia Artificial para el Problema de Sujetado
Varias investigaciones intentan relacionar sistemas robóticos con controladores evolutivos, tales como las de Moriarty y Mikkulainen, 1996 [3], Skopelitis, 2002 [4], Pelossof,
Millar, Allen, Jebara, 2004 [5], proporcionando promisorios
reportes en el comportamiento de los brazos robóticos. En
otras investigaciones relacionadas, los investigadores han
usado el aprendizaje para sujetado guiado visualmente [6],
[7], [8]. Las Redes Neuronales han sido usadas en el aprendizaje del sujetado de objetos desconocidos [9]. También
Rezzoug y Groce [10] usaron redes neuronales multietapa
para aprender posicionamientos en el sujetado. Wheeler
ha desarrollado un sistema para sujetados de alto nivel [11].
PCA para el reconocimiento de imágenes
En el campo del reconocimiento de imágenes de brazos
robóticos, el uso de las técnicas PCA para identificar objetos o patrones de interés y la caracterización de estos
objetos mediante una matriz de eigenvalores (eigenvector) ha sido una promisoria herramienta para representar
información útil que pueda ser usada para el algoritmo
de clasificación SVM. En años recientes PCA para la detección de varios objetos y reconocimiento de tareas tales
como detección facial [12], [13], detección de objetos [14],
y reconocimiento de objetos [15] ha demostrado la factibilidad de este enfoque en el uso del preprocesamiento
de imágenes para extraer información útil, contenida en
la matriz de eigenvectores, a fin de discriminar objetos de
interés. Desde este punto podemos inferir que el PCA
es una valiosa herramienta para el reconocimiento de
objetos. Dado que los brazos robóticos presentan formas
antropomórficas, podemos extender el alcance de investigaciones previas a los brazos robóticos y/o al reconocimiento de objetos.
Organización del reporte
El reporte está organizado de la siguiente manera: sección 2 describe los algoritmos de SVM y PCA usados para
la investigación. La sección 3 presenta los resultados experimentales en la clasificación SVM en el caso manual, y
describe también el entrenamiento y los resultados experimentales con la implementación del análisis PCA. La
sección 4 suma los rendimientos y presenta una interpretación de estos. Finalmente la sección 5 contiene comentarios concluyentes útiles para investigaciones futuras en
este campo.
MAQUINAS DE SOPORTE VECTORIAL
(SVM) Y ANALISIS DE COMPONENTES
PRINCIPALES (PCA)
SVM
Esta técnica se ha convertido recientemente en un
herramienta popular de aprendizaje para realizar regresiones [16], [17], y especialmente tareas de clasificación [18], [19]. SVM para clasificación es típicamente
usada para construir una función f(X) que prediga los
valores y. Una interesante propiedad de SVM es minimizar una zona en el error esperado para futuros datos
de prueba.
El principal campo de utilidad para SVM es la clasificación de datos, incluyendo aplicaciones tales como reconocimiento de patrones, clasificación de textos [16],
entendiendo data (información) como una colección
de eventos que conforma la información requerida por
un controlador. Una tarea de clasificación usualmente involucra entrenamiento y prueba de data, que son
RECONOCIMIENTO Y CLASIFICACIÓN DE POSES ROBÓTICAS UTILIZANDO PRINCIPAL COMPONENT ANALYSIS (PCA) Y SUPPORT VECTOR MACHINES (SVM)
63
instancias de información [20]. Cada una contiene en
el conjunto de entrenamiento un “valor objetivo” (etiquetas de clase) y diferentes “atributos” (características).
El objetivo de SVM es producir un modelo que prediga
valores de objetivo de instancias de data en el conjunto
de pruebas donde están dados sólo los atributos [17],
[18], [21]. Dado un conjunto de pruebas de pares de
instancias-etiquetas (xi, yi), i = 1, . . . , l donde xi Rn e y
{1,−1}l , SVM [22] requiere la solución para el siguiente
problema de optimización:
Aquí los vectores de entrenamiento xi son mapeados
en un espacio dimensional de niveles superiores por la
función [23]. Entonces SVM encuentra un plano lineal de
separación con el máximo margen y el más alto espacio
dimensional. C > 0 es el parámetro de penalización del
término error. Además la función K (xi, xj) (xi)T, es llamada
la función kernel. Para este particular problema de clasificación, la función radial es seleccionada como la función
kernel, teniendo en consideración reportes previos [24].
64
La forma de este kernel es la siguiente:
El kernel RBF (Radial Basis Function) mapea las muestras no linealmente en un espacio dimensionalmente
más elevado, de modo que a diferencia del kernel lineal,
puede manejar el caso cuando la relación entre las etiquetas de clase y los atributos es no lineal. Más aún, el
kernel lineal es un caso especial de RBF [25] tal y como
muestra el comportamiento del kernel lineal con un
parámetro de penalización C, el cual muestra el mismo
performance que el kernel RBF con algunos parámetros
(C, _). Adicionalmente, el kernel sigmoidal se comporta como RBF para ciertos parámetros [26]. La segunda
razón es el número de hiperparámetros, el cual influencia la complejidad de la selección del modelo. El kernel
polinomial tiene mas hiperparámetros que el kernel
RBF. Finalmente, el kernel RBF tiene menos dificultades
numéricas.
SVM pertenece a los métodos de aprendizaje supervisado y
son principalmente usados para problemas de clasificación
binarios, de una clase y de n clases. SVM combina algoritmos lineales con algoritmos no lineales, los cuales lo convierten en una poderosa herramienta y explican su éxito en
la comunidad de aprendizaje artificial en años recientes.
La selección de los parámetros SVM para ambos casos es
muy parecida, por lo tanto un análisis en la performance
SVM en el primer escenario será útil para una adecuada
selección de parámetros (C, _).
La arquitectura propuesta para aplicaciones SVM es la
siguiente. Se usará SVM para clasificar diferentes poses
robóticas adquiridas de dos fuentes: una construcción
manual de las instancias (del brazo robótico y del objeto),
y una adquisición automática de imágenes a través de visión artificial con análisis PCA incluido.
PCA (Principal Component Analysis)
PCA es una técnica orientada a reducir la dimensionalidad y capturar la variación en un conjunto de datos
dado. Esto puede ser alcanzado mediante la transformación del conjunto de datos inicial en un nuevo conjunto
de variables, los componentes principales (PCs), los cuales no tienen correlación, y ordenarlos de tal manera que
los componentes principales retengan la mayor parte de
la información presente en el conjunto original de datos [27]. En este caso una imagen bidimensional l(x,y)
con N píxeles puede ser visto como un punto o vector
en un espacio N-dimensional, llamado imagen espacio.
Con esta representación la imagen se convierte en un
conjunto con características multidimensionales donde
las operaciones tradicionales modificadas y efectuadas
en vectores característicos ahora puede usarse para manipular las imágenes directamente. Afortunadamente
muchos cálculos escalan con el número de imágenes
de muestra más que con la dimensionalidad del espacio
muestral, permitiendo la eficiencia aun con imágenes de
relativamente alta resolución. El eigenespacio es un subespacio del espacio – imagen conformada por un conjunto de eigenvectores de la matriz de covarianza de las
imágenes entrenadas. La matriz de covarianza es construida efectuando análisis PCA, lo cual significa rotar el
conjunto de datos de tal manera que sus ejes primarios,
los eigenvectores con los modos más altos de variación,
yazcan a lo largo de los ejes del espacio coordenado y
se movilicen de modo tal que su centro de masa coincida con el origen (figura 1). Los eigenvectores con los
eigenvalores asociados más altos representan los modos más altos de variación en el conjunto de datos de las
imágenes, y los eigenvectores con los eigenvalores más
bajos representen los modos más bajos de variación. La
reducción en dimensionalidad en el subespacio puede
ser realizada en cualquiera de los casos: lossy o lossless
[28]. Cuando se aplica la manera lossy, los eigenvectores
son truncados desde la parte anterior o posterior de la
matriz de covarianzas. Se asume que estos vectores corresponden a información inútil tal como variaciones en
la luminiscencia cuando son truncados desde la parte
anterior o ruido cuando son truncados desde la parte
posterior. Si ninguno de los vectores base es truncado
se tiene la transformación lossless y debería ser posible
conseguir una perfecta reconstrucción para los datos de
entrenamiento, basados en los vectores característicos
comprimidos. La proyección de una imagen en su eigenespacio transformará la imagen en una representación
de más baja dimensión, lo cual apunta a mantener las
características más importantes del objeto para su análisis y hacer del proceso de comparación, una tarea más
sencilla.
RECONOCIMIENTO Y CLASIFICACIÓN DE POSES ROBÓTICAS UTILIZANDO PRINCIPAL COMPONENT ANALYSIS (PCA) Y SUPPORT VECTOR MACHINES (SVM)
Figura 1 - Conjunto de datos original y conjunto de datos, después de realizar PCA. Note que los eigenvectores con los modos más altos de
variación están alineados con los ejes coordenados [31].
Existen dos enfoques principales para el reconocimiento
de objetos utilizando eigenvalores. En el modelo de apariencia cada imagen en la base de datos es representada
como una combinación lineal de eigenvalores. El proceso
de reconocimiento es realizado mediante la proyección
de una imagen de prueba para ser identificada en el mismo eigenespacio. El vector resultante será un punto en el
eigenespacio y la comparación con las imágenes de entrenamiento es realizada normalmente mediante el uso
de una medida de distancia entre los puntos en el eigenespacio. Existen diferentes métodos para calcular la distancia, incluyendo medidas simples tales como la distancia
de “cuadra” (norma L1), distancia “tablero de ajedrez”, covarianza, correlación, la distancia de Mahalanobis y la distancia Euclideana (norma L2), el cual es el método usado
en la presente investigación. La imagen con la distancia
más corta a la imagen de prueba puede ser considerada
como una coincidencia si la distancia está por debajo de
un límite predeterminado. De otra manera la imagen es
catalogada como desconocida y podría ser añadida a un
futuro conjunto de entrenamiento.
El otro esquema de reconocimiento es llamado el modelo discriminativo. Dos conjuntos de datos son obtenidos computando las diferencias en los objetos de análisis. Dos conjuntos de
datos de eigenvalores son generados, realizando análisis PCA
en cada clase y la relación entre ambos conjuntos de datos es
calculada utilizando mediciones de probabilidad Bayesiana.
Aunque la performance del reconocimiento del modelo
de apariencia es más bajo que la del modelo discriminativo la reducción substancial en complejidad compu-
tacional hace de este esquema de reconocimiento muy
atractivo y esta es la razón por la que este método es el
utilizado en la presente investigación.
La investigación PCA nos permite analizar una imagen
binaria (entrada de niveles de grises) del acoplamiento
efector final – objeto. Las imágenes resultantes son procesadas para computar el vector de eigenvalores de la
matriz de píxeles.
Definición del Problema
El marco desarrollado puede ser utilizado tanto como
para caracterización, reconocimiento y evaluación de poses robóticas. La figura 2 nos muestra una vista general
de la investigación. Primero en la caracterización del posicionamiento robótico consideramos dos escenarios:
• Caracterización manual del acoplamiento efector final – objeto (pose robótica), incluyendo parámetros
relevantes del robot y del objeto; así los datos resultantes (o vector de entrada) tienen la siguiente forma
V = ( , x, y, J1, J2, J3, J4, J5,), donde tres parámetros vienen del objeto y cinco del brazo robótico.
• Autocaracterización de poses robóticas; las imágenes
digitales son tomadas del acoplamiento realizado
y procesadas en la forma de eigenvectores en una
matriz cuadrática de píxeles seleccionados. Luego el
análisis se profundiza, ya que las imágenes son procesadas de tres maneras diferentes, antes del análisis
PCA: análisis PCA de imágenes originales, análisis PCA
de imágenes sin el fondo y análisis PCA del contorno
de las imágenes.
Figura 2 - Esquema de la Investigación.
RECONOCIMIENTO Y CLASIFICACIÓN DE POSES ROBÓTICAS UTILIZANDO PRINCIPAL COMPONENT ANALYSIS (PCA) Y SUPPORT VECTOR MACHINES (SVM)
65
Para el reconocimiento de poses robóticas, consideramos
dos posibles etiquetas asociadas con datos obtenidos de
los dos escenarios: (mala o buena posición) (-1, +1), expresados en representación bipolar para evitar errores en
la métrica (distancia de Hamming).
Finalmente las salidas del algoritmo SVM nos darán una
evaluación acerca de la performance de entrenamiento
de ambos casos. Usaremos un software específico (GIST
[30]) con ambas clases de datos.
J3_[-110, 120]
J4_[-90, 90]
J5_[-200, 200]
En las figuras 4, 5, y 6 se pueden apreciar los parámetros,
los cuales representan más aproximadamente las posiciones del brazo robot.
Modelo y configuración del experimento
• El brazo robótico
El robot posee 5 GLs, como se puede apreciar en la figura
3, el efector final consiste en una placa paralela, conformando cinco junturas motorizadas y una tenaza neumática para tareas de sujetado.
Figura 4 - Parámetros del brazo robot (junturas).
66
Figura 3 - Brazo robótico.
• Caracterización manual de las poses
robóticas
En el primer escenario consideraremos un vector de entrada multifactorial, donde las características del sistema
deben ser incluidas (coordenadas articulares del brazo
robótico y también parámetros del objeto representando buenas y malas posiciones de sujetado). La entrada
de información al algoritmo SVM es manual y servirá para
enseñar al manipulador acerca de buenos y malos posicionamientos del robot. El vector de entrada considerado
para entrenamiento y prueba en el algoritmo SVM es el
siguiente:
V = (x, y, J1, J2, J3, J4, J5)
Donde Ji representa a cada una de las coordenadas articulares del brazo robot, _ para la orientación del objeto,
y x e y por la posición del objeto en una plataforma horizontal. Se consideran los siguientes rangos para parámetros del vector de entrada:
_ = [0º v 9º v 18º v 27º v 36º v 45º]
(x, y) = ((270, -80), (270, 0), (270, 80), (350, -80), (350, 0), (350,
80), (430, -80), (430, 0), (430, 80))
J1_[-150, 150]
J2_[-60, 120]
Figura 5 - Inclinaciones del objeto (0°, 9°, 18°, 27°, 36°, 45°).
Figura 6 - Posiciones del objeto (en coordenadas x, y).
La tabla 1 muestra algunos ejemplares de los vectores de
entrada, se debe notar que el vector de entrada sigue un
patrón fijo para usar algoritmos de aprendizaje, los cuales
esperarán vectores fijos de entrenamiento y prueba tales
como los algoritmos SVM. La selección de parámetros
contiene una considerable cantidad de información sobre
RECONOCIMIENTO Y CLASIFICACIÓN DE POSES ROBÓTICAS UTILIZANDO PRINCIPAL COMPONENT ANALYSIS (PCA) Y SUPPORT VECTOR MACHINES (SVM)
la pose robótica, además de información sobre el objeto;
el rango seleccionado de parámetros del objeto trata de
representar todos los posibles casos.
Tabla 1 - Vectores de entrada.
Para la generación de datos de entrenamiento, el brazo
robot es movido manualmente hacia buenas posiciones
de sujetado; entonces es etiquetado (+1, -1); así este método garantiza un preciso aunque laborioso método para
generar datos de entrenamiento.
Antes de empezar con el paso de entrenamiento y prueba, debemos considerar los parámetros de selección SVM,
esto es los valores de C y _ en el kernel RBF. De experiencias previas [5], debemos considerar un rango inicial para
C y _ de la siguiente manera _ [0, 8] y C [0, 3300]. Teniendo
el conjunto de entrenamiento, se consideran 5oo puntos
de datos para entrenamiento y 50 para prueba. El cociente de error se calcula para diferentes valores de _ y C
(búsqueda de malla), es entonces cuando los datos son
ploteados en tablas para construir un gráfico RSM (Response Surface Machine) (figura 7), el cual ilustra mejor la
variación en el cociente de error y la región de mejor performance para ambos parámetros (definiendo error como
la medida de performance). Una vez que una región de
interés ha sido identificada, se realiza una búsqueda (figura 8), estrechando el rango para _ y C a manera de
obtener mejores cocientes de performance. Los valores
finales son C = 600 y _ = 0.15, para el caso manual.
Una vez que el algoritmo es configurado con estos parámetros, construimos los conjuntos de entrenamiento
y pruebas. El conjunto de datos de entrenamiento está
compuesto de 500 vectores de entrada, con aproximadamente 1/3 de los casos etiquetados como malas posiciones. El espacio de los vectores de entrada incluye
poses representativas de buenas y malas posiciones,
considerado también los casos extremos, para evitar
malas clasificaciones en el conjunto de datos de prueba, estas poses deben ser consideradas como vectores
de soporte. La gama de posibilidades en el conjunto de
entrenamiento debe de ser cuidadosamente adquirida
en este paso. El conjunto de datos de prueba está compuesto de 50 vectores.
Autocaracterización de poses robóticas
67
Figura 9 - Esta figura muestra la posición de la cámara, la cual
captura las posiciones del efector final en relación con el objeto;
el tamaño de la imagen original adquirida es 424 x 424 píxeles, de
la cual una región de interés (ROI), que incluye el acoplamiento
analizado, es seleccionada.
Figura 7 - Superficie de Respuesta para C_ [2-5, 212] y __[2-15, 23].
Figura 8 - Superficie de Respuesta para C _ [20, 210] y __ [0, 0.70].
El procedimiento considerado es como sigue. La figura 9
ilustra la configuración para este escenario. Una cámara digital es posicionada en una ubicación fija, entonces el objeto
es colocado dentro del espacio de trabajo robótico.
El análisis PCA es implementado para tres grupos de imágenes digitales: imágenes básicas, imágenes con el fondo
extraído (mejorando la varianza en el conjunto de datos),
e imágenes con el contorno del acoplamiento efector final
– objeto. La inclusión del análisis del contorno radica en trabajos previos [29], lo cual indica que el vector de eigenvalores ha probado ser un muy buen estimador para la parametrización de los contornos. Con estos tres grupos un análisis
PCA es realizado y una clasificación SVM es lograda para los
tres grupos de imágenes adquiridas. La figura 10 muestra
las imágenes analizadas antes de que PCA sea realizado.
RECONOCIMIENTO Y CLASIFICACIÓN DE POSES ROBÓTICAS UTILIZANDO PRINCIPAL COMPONENT ANALYSIS (PCA) Y SUPPORT VECTOR MACHINES (SVM)
A. Grupo 1 (imágenes básicas)
Cada toma fue tomada considerando diferentes posiciones para el brazo robótico, y con la misma ubicación de la
cámara a manera de eliminar variaciones referentes a este
punto (ubicación de la cámara), tales como nivel de iluminación (en lumens) o variaciones inherentes debido a la
posición de la cámara. Una imagen en 3D corresponde
a 424 x 424 píxeles con una resolución de 8 bits, así cada
imagen representa 424 x 424 x 28 niveles de resolución,
con un ROI de 255 x 255 (Figura 11).
Imágenes de buenas poses.
Imágenes de malas poses.
B. Grupo 2 (imágenes con el fondo extraído)
68
Imágenes de buenas poses.
Imágenes de malas poses.
C. Grupo 3 (contorno de imágenes)
Figura 11 - ROI seleccionado para adquisición de imágenes.
En este caso para extraer información útil del acoplamiento efector final – objeto, de la matriz de píxeles, utilizamos
PCA, para extraer y subrayar variaciones sistemáticas en
la matriz de datos, la cual nos mostrará a los patrones
dominantes y las tendencias principales en los datos. En
este caso PCA trata cada uno de los 255 valores como
variables; por lo tanto podemos pensar en un espacio dimensional de 255 variables, conteniendo 8 bits por píxel
y un eigenvalor por píxel, obteniendo una resolución de
28 x 255 = 65280 niveles de gris por imagen. La figura 12
muestra una representación en 3D de las imágenes analizadas con PCA.
PCA es aplicado para eliminar o descartar componentes
que no introducen información relevante para la tarea de
clasificación, tales como elementos del fondo, iluminación
y ruido (objetos extraños, tales como, componentes electrónicos y dispositivos de soporte mecánico); en la búsqueda de un mejoramiento en la tarea de clasificación,
con diferentes niveles de filtrado de imagen.
La cámara usada para adquisición de imágenes es una cámara con niveles de grises y para aislar los componentes
principales han sido usadas superficies oscuras, tanto en
el efector final como en el objeto, para utilizar los niveles
de grises para efectuar el filtrado, en este caso particular
un objeto negro ha sido seleccionado para las pruebas y
el efector final ha sido pintado con un marcador negro.
Imágenes de buenas poses.
Imágenes de malas poses.
Figura 10 - Adquisición de imágenes de tres modos diferentes.
Figura 12 - Comparación de la caracterización de las imágenes en
los tres escenarios seleccionados. Note la mejora en recopilación de
la información de la imagen 1 hasta la imagen 3; la información
no relevante es excluida en la imagen 2 y en la imagen 3 esta información es subrayada con una delimitación de los contornos.
RECONOCIMIENTO Y CLASIFICACIÓN DE POSES ROBÓTICAS UTILIZANDO PRINCIPAL COMPONENT ANALYSIS (PCA) Y SUPPORT VECTOR MACHINES (SVM)
Los vectores de entrada para el análisis SVM de estos escenarios corresponden a conjuntos de eigenvectores de
dimensión 255. Estuvieron disponibles 240 poses robóticas (imágenes) , 192 para el conjunto de entrenamiento y
48 para el conjunto de pruebas. Las etiquetas son consideradas como +1 o -1 dependiendo de la evaluación de
las posiciones robóticas.
Como puede ser apreciado, la performance SVM – PCA
con las imágenes con el fondo extraído y un análisis de
contornos nos brinda la mayor performance en la clasificación.
Finalmente la performance SVM de los dos escenarios es
mostrada en la figura 15. (La primera barra corresponde al
primer escenario y los otros tres corresponden al segundo escenario).
RESULTADOS
Para el primer escenario (manual) después de configurar
los parámetros del algoritmo SVM, tratamos de inferir una
dependencia en la relación tamaño del conjunto de datos
de entrenamiento – Performance del SVM; los resultados
(mostrados en la tabla 2 y la figura 13) demuestran un
comportamiento estable del algoritmo SVM.
Figura 15 - Performance SVM total.
Tabla 2 - Cociente de error(%), con un conjunto de datos de prueba de 50 puntos.
ERROR RATES
69
Figura 13 - Comparación de la performance SVM considerando diferentes inclinaciones del objeto.
Para ambos casos el software SVM usado es GIST [30],
la performance obtenida en el escenario 1 es de alrededor 98%.
Para el segundo escenario, las performances pueden ser
apreciadas en la figura 14.
Figura 14 - Performance SVM para los tres casos considerados.
CONCLUSIONES
Se ha presentado un marco de análisis para la caracterización y evaluación de poses robóticas con métodos de
visión artificial y han sido comparadas con una representación manual, llegando a prometedores resultados, a pesar de los cocientes de error más altos obtenidos debido a
variaciones en el ambiente y una baja resolución en la cámara utilizada. En el segundo escenario (visión artificial),
se han incluido factores ambientales tales como iluminación y ruido. Futuras investigaciones deben trabajar en
el preprocesamiento de imágenes y una construcción de
bases de datos de imágenes para la detección de patrones robóticos (etiquetado automático). El contorno de las
imágenes de todo el brazo robótico y un análisis PCA en
poses robóticas con eliminación de ruido podría llevarnos
a cocientes de error de alrededor del 100% y podría apli-
RECONOCIMIENTO Y CLASIFICACIÓN DE POSES ROBÓTICAS UTILIZANDO PRINCIPAL COMPONENT ANALYSIS (PCA) Y SUPPORT VECTOR MACHINES (SVM)
carse en sistemas de tiempo real como una implementación de SVM – PCA en sistemas de posicionamiento robótico. Una formulación dinámica de SVM en conjunto con
PCA nos lleva a una mejora en la performance de la tarea
de clasificación de poses robóticas.
REFERENCIAS BIBLIOGRÁFICAS
70
1 B.C. Jiang, C. H. Wu, and C. M. Wu, “Using Neural Networks for Robotic Positioning Control”, Robotics &
Computer-Integrated Manufacturing, vol. 10, No. 3,
1993.
2 Torras C. (2002). Robot arm control. In M. A. Arbib
(Ed.), The handbook of brain theory and neural networks (2nd ed.). Cambridge, MA: The MIT Press.
3 D. E. Moriarty, and R. Mikkulainen, “Evolving obstacle avoidance behavior in a robot arm”, Proceedings
of the fourth international conference on simulation
and adaptive behaviors, Cambridge, MA, MIT Press,
1996.
4 C. Skopelitis “Control system for a robotic arm”,
MSc. Thesis. School of Cognitive and Computing
Sciences, University of Sussex, UK, 2002.
5 P. Allen, T. Jebara, A. Miller, and R. Pelossof, “An SVM
Learning Approach to Robotic Grasping”, Proceedings
of the 2004 IEEE International Conference on Robotics and Automation, New Orleans, LA, April 2004.
6 B. Rossler, J. Zhang, and A. Knoll, “Visual guided grasping of aggregates using self-valuing learning ” in
Proc. of 2002 IEEE Intl. Conf. on Robotics and Automation, 2002, pp. 3912–3917.
7 J. Piater, “Learning visual features to recommend
grasp configurations” Univeristy of Massachusetts
Amherst, Dept. of Computer Science, Tech. Rep.
2000-40, 2000.
8 I. Kamon, T. Flash, and S. Edelman, “Learning visually guided grasping: a test case in sensorimotor
learning, ” IEEE Transactions on Systems, Man and
Cybernetics, vol. 28, no. 3, pp. 266–276, May 1998.
9 E. Oztop and M. Arbib, “A biologically inspired learning to grasp system,” in Proc. of the 23rd Annual
Intl. Conf. of the IEEE Engineering in Medicine and
Biology Society, 2001, pp. 857–860.
10 N. Rezzoug and P. Gorce, “A multistage neural network architecture to learn hand grasping posture” in
Proc of the 2002 IEEE/RSJ Intl. Conf. on Intelligent
Robots and Systems, 2002, pp. 1705–1710.
11 D. Wheeler, A. Fagg, and R. Grupen, “Learning prospective pick and place behavior” in Proc. of the IEEE/
RSJ Intl. Conf. on Development and Learning, 2002.
12 Wendy S. Yambor (2000), “Analysis of PCA-Based
and Fisher Discriminant-Based Image Recognition
Algorithms”.
13 J. Ross Beveridge, Kai She and Geof H. Givens (2001),
“A Nonparametric Statistical Comparison of Princi-
pal Component and Linear Discriminant Subspaces
for Face Recognition”.
14 Peter N. Belhumeur and David J. Kriegman (1996),
“What is the Set of Images of an Object Under All
Possible Lighting Conditions”.
15 Ales Leonardis, Horst Bischof and Roland Ebensberger (1997), “Robust Recognition Using Eigenimages”.
16 C. Burges, A tutorial on support vector machines for
pattern recognition. Kluwer Academic Publishers,
1998.
17 C. Cortes and V. Vapnik, “Support vector networks”
Machine Learning, vol. 20, pp. 273–297, 1995.
18 A. Smola and B. Sch¨olkopf, “A tutorial on support
vector regression,” Royal Holloway College, Univerisity of London, Tech. Rep. NC-TR-98- 030, 1998.
19 M. Salganicoff, L. Ungar, and R. Bajcsy, “Active learning for vision-based robot grasping,” in Recent Advances in Robot Learning, J. Franklin, T. Mitchell, and
S. Thrun, Eds. Kluwer, 1996.
20 W. Chu, S. S. Keerthi, and C. J. Ong, “A general formulation for support vector machines”, In Proceedings
of the 9th International Conference on Neural Information Processing, pp. 2522-2527, 2002.
21 S. Gunn, “Support Vector Machines for Classification
and Regression”, University of Southampton, 1998.
22 B. Boser, I. Guyon, and V. N. Vapnik, “A training algorithm for optimal margin classifier”, fifth Annual
Workshop on Computational Learning Theory, pp.
144-152, 1992.
23 W. Chu, S. S. Keerthi, and C. J. Ong, “A new Bayesian
design method for support vector classification”, In
Special session on support vector machines of the
9th International Conference on Neural Information
Processing, pp. 888-892, 2002.
24 C. W. Hsu, C. C. Chang and C. J Lin “A Practical
Guide to Support Vector Classification”, Department
of Computer Science and Information Engineering,
National Taiwan University.
25 S. Keerthi, and Lin, C. J. “Asymptotic behaviors
of support vector machines with Gaussian kernel. Neural Computation” vol. 15 (7), pp. 1667–1689,
2003.
26 C. J. Lin, “On the convergence of the decomposition
method for support vector machines”, IEEE Transactions of Neural Networks, vol. 12, pp.1288-1298, 2001.
27 B.S. Manjunath, S. Chandrasekaran, Y.F. Wang (1994),
“Learning in Eigenspace: Theory and Application”
28 E. Osuna, “Applying SVMs to face detection”, IEEE
intelligent systems, pp. 23-26, 1998.
29 M. Pittore, C. Basso and A. Verri. (1999) “Representing and Recognizing Visual Dynamic Events
with Support Vector Machines” In Proc. of International Conference on Image Analysis and Processing, pp. 18–25, Venice, Italy. IEEE Computer
Society Press.
RECONOCIMIENTO Y CLASIFICACIÓN DE POSES ROBÓTICAS UTILIZANDO PRINCIPAL COMPONENT ANALYSIS (PCA) Y SUPPORT VECTOR MACHINES (SVM)
30GIST SVM Software, developed by William Stafford
Noble in the Department of Genome Sciences and
Computer Science at the University of Washington
and Paul Pavlidis in the Genome Center at Columbia
University (http://svm.sdsc.edu/svm-intro.html).
31 Nes, Atle (2003) “Hybrid Systems for Face Recognition,” Master of Science Graduate Thesis, Norwegian
University of Science and Technology.
71
RECONOCIMIENTO Y CLASIFICACIÓN DE POSES ROBÓTICAS UTILIZANDO PRINCIPAL COMPONENT ANALYSIS (PCA) Y SUPPORT VECTOR MACHINES (SVM)