Vous êtes sur la page 1sur 3

Visin Artificial Usando Kinect y OpenCV Ing. Cesar Diaz Ing.

Cesar Romero El dispositivo utilizado para la captura de imgenes RGB y las imgenes de profundidad es el sensor Kinect de Microsoft, este consta de una cmara RGB, la cual posee un ngulo mayor de vista en comparacin con el sensor de profundidad, cuenta con un emisor de infrarrojos el cual proyecta un patrn irregular de ases infrarrojos con una intensidad variable. El sensor de profundidad reconstruye una imagen de profundidad a partir de la distorsin del patrn. Una de las finalidades de la visin artificial es el reconocimiento de objetos, ya sea por medio de patrones o identificacin de figuras y formas. En esta charla se presentan los resultados del estudio de la visin artificial aplicada para el reconocimiento de objetos por su color (canales primarios), la situacin estudiada consiste en un objeto de color definido en un entorno parcialmente controlado (fondo de otro color uniforme), gracias a esto no se requerir de la segmentacin (detectar distintos objetos del mismo color). Para la comunicacin con el sensor Kinect, el procesamiento de las imgenes, el control de los motores y el desarrollo de la aplicacin se utiliz el siguiente software y libreras: gcc, Libfreenect, OpenCV, LnxComm ,CodeBlocks y Ubuntu 10.04. Para el control de la navegacin del robot mvil se desarrollaron tres bloques con funciones definidas las cuales son: adquisicin de la imagen de la escena utilizando el sensor kinect, procesamiento de la imagen en procesador IA-32, comunicacin procesador IA-32 y control del robot mvil, el prototipo usado es el que se observa en la FIG. 1 y el diagrama de bloques de la aplicacin y del prototipo final en la FIG. 2. Para el procesamiento de las imgenes obtenidas por el sensor Kinect se us la librera OpenCV descrita en [2] para lo cual se desarrollaron seis funciones en lenguaje gcc las instrucciones usadas se estudian en [1], [4] y las desarrolladas en el proyecto son: procesarBGR Esta funcin recibe una estructura bsica de OpenCV (IplImage) la cual contiene la informacin capturada por el sensor; a la cual se le aplica un filtro gaussiano de 9x9 para eliminar el ruido de la escena, este se detalla en [3], con base en esta estructura ya filtrada se identifica un objeto de color especifico (rojo), para ello se recorren todos los pixeles que forman la imagen, identificando los que pertenecen al objeto, esto se logra verificando el canal (rojo) que es donde deben estar los niveles ms altos, para el caso de los otros canales (verde y azul) se verifica que los niveles no sean ms altos que los del canal de estudio (rojo), ya que si son muy cercanos al canal (rojo) estos valores podran corresponder a otro color (ejemplo: morado o naranja). Al verificar los pixeles validos se realiza un conteo para obtener el rea en pixeles, tambin se realiza la sumatoria de las coordenadas (x,y) para obtener el centroide del objeto y con base en este se calcula el radio, para obtener el contorno del objeto en anlisis. DEPTH Es la funcin original del driver de Libfreenect (vase: http://openkinect.org), la cual no se modific.

procesarD DEPTH En esta e funcin n se analiza a la imagen n de profun ndidad que captura el Kinect, los pixeles que se ten ndrn en cu uenta son los seleccionados en n la funcin n procesarB BGR y los que se encuentran n en el rang go de dista ancia entre 40 y 100 centmetros, en esta misma fun ncin se acumula el valor de distancia d de d cada pix xel analizad do, para lu uego calcula ar el promedio de distancia segn d s la im magen de profundidad p d, tambin se calcula a la distanc cia tomando como punto base e el centro inferior i de la l imagen con c respect to al centro oide del obj jeto, luego de esto s se calcula el e rea del circulo utilizando la fu uncin longiitud_radio. La funcin f tien ne impleme entado dos s modos q que son: m modo Kinec ct y modo PDI, el primero tra abaja con los l datos que q se gen neran con base a la imagen de e profundid dad y el s segundo co on base al procesamie ento digital de la imag en.

FIG. 1. PROTOT TIPO ROBOT TERMINADO O Fuente: Au utores del pr royecto

MA DE BLOQ QUES DE LA A FIG. 2. DIAGRAM APL LICACIN Y D DEL PROTOTIPO FINAL Fuente: Au utores del pro oyecto

angulokine ect Esta a funcin re ecibe dos parmetros s, el primero es la or rientacin del Kinect (arriba, abajo, nivelar) y el otro el ngulo o anterior en n el que se encontraba a el sensor r. to_motores movimient La fu uncin recib be como pa armetro la a direccin d de movimie ento de los motores (a adelante (i), atrs (k k), derecha (l), izquierd da (j), parar r (p)), el sig guiente pas so es abrir e el puerto se erie con la configura acin del mismo m para la transmis sin de la orden a ejec cutar en el P Pic. radio En esta e funcin n se recorr re el objeto o partiendo del centro oide hacia s sus extremos para o obtener el dimetro de la circunf ferencia, luego se hac ce la diferencia y se d divide para obtener el radio.

TRABAJOS FUTUROS Como trabajos futuros esta la implementacin de todo el procesamiento de imgenes en un procesador ARM, como el que dispone la BeagleBoard XM o la PandaBoard, esto con el fin de disear un prototipo de navegacin embebido y reducir los costos asociados al hardware usado para el procesamiento. Tambin la implementacin de soluciones de navegacin con visin artificial en vehculos areos no tripulados UAV. CONCLUSIONES Una vez presentado los anteriores resultados se concluye que no es completamente eficiente la navegacin del robot mvil usando solo visin estreo ya que las condiciones del entorno (luminosidad, caractersticas de color del objeto, entre otros) hacen que el algoritmo de navegacin deba ser ajustado permanentemente y es por esto que se decide implementar la navegacin usando procesamiento digital de imgenes (modo PDI del carro) y dejar la navegacin estreo como otra alternativa de navegacin, de igual forma la visin estreo es una excelente herramienta para el clculo de la distancia al objeto y como complemento a la navegacin. El uso del kinect como sensor de visin estreo en el presente trabajo de investigacin fue una herramienta de muy buenas caractersticas ya que nos entrega un mapa de la imagen en profundidad o mapa distancia fcil de usar y aplicar al objetivo del proyecto el cual fue la navegacin estreo olvidando los problemas tpicos o propios de la visin estero como son la alineacin y sincronizacin de dos cmaras RGB independientes. REFERENCIAS [1] A. Grifith, The complete reference GCC, Ed. McGraw-Hill, 2002. [2] G. Bradsky, A. Kaeblar, Learning OpenCV computer vision with the OpenCV library, Ed. United States of Amrica, OReilly Books, 2008. [3] J. Sobrino, Teledeteccin, Ed. Guada Impresores S.L., 2000, pp. 249. [4] W. Hagen, The definitive guide to GCC, Ed. United States of Amrica, Apress, 2006.

Vous aimerez peut-être aussi