Detección de puntos claves mediante SIFT paralelizado en GPU
Keypoint detection through SIFT parallelization on GPU
Este trabajo presenta una optimización del método de detección de puntos SIFT (Scale InvariantFeature Transform), mediante su paralelización empleando una GPU (Unidad de ProcesamientoGráfico), aprovechando los múltiples núcleos de esta para dividir los procesos utilizando las API CUDA(Arquitectura Unificada de Dispositivos de Cómputo). El objetivo es acelerar el tiempo de cómputo, quees una variable crítica para todo el proceso de detección de puntos característicos. La estrategia utilizadase basa en dos premisas: el balance carga y la distribución de cálculo. Cada hilo realizará las operacionesnecesarias para el cálculo de SIFT y así obtener los descriptores necesarios de acuerdo con un umbralapropiado. Dentro de SIFT se trabajó paralelizando el proceso de asignación de orientación, una de lasetapas de SIFT consiste en la acumulación de todas las orientaciones en torno a una región de un puntoclave, asignándose a cada pixel en la ventana un subproceso, centrada en la ubicación de un punto clave.Las pruebas se realizaron con un notebook con procesador Core 2 Duo 2.2Ghz, 3GB de RAM y unaVGA GeForce 8600GT (32 núcleos) de 512MB. De los resultados obtenidos se observa que se logra unrendimiento en cuanto a velocidad del orden de 42,5 milisegundos en promedio, considerando todas laspruebas realizadas y todas las resoluciones trabajadas (320x240, 480x360, 640x480, 800x600, 1024x768,1280x960), donde la paralelización de SIFT no muestra pérdidas significativas de puntos claves encomparación con la versión secuencial.
INTRODUCCIÓN
Este trabajo corresponde a una sección de una implementación mayor: realizar una propuesta paralela para la reconstrucción de objetos y superficies 3D a partir de una secuencia de imágenes con vistas debidamente controladas mediante técnicas de visión, aprovechando la tecnología de alto desempeño en GPU y optimizando el proceso de detección de puntos característicos a través de SIFT y Delaunay, en este artículo se hablará sobre la parte de SIFT.
El algoritmo SIFT [3] es un método para extraer puntos característicos invariantes y distintivos de una imagen que pueden ser usados para mejorar la correspondencia entre dos vistas diferentes de un objeto o una escena.
Los puntos característicos obtenidos por SIFT son invariantes a escala y rotación de la imagen, y son mostradas para proporcionar un matching robusto a pesar de que exista un rango amplio de distorsiones afines, cambios en la vista 3D, adición de ruido a la escena y cambios en la iluminación.
Recursos
-
Formatopdf
-
Idioma:español
-
Tamaño:469 kb