2 research outputs found

    Real-Time Automatic Object Classification and Tracking using Genetic Programming and NVIDIA R CUDA TM

    Get PDF
    Genetic Programming (GP) is a widely used methodology for solving various computational problems. GP's problem solving ability is usually hindered by its long execution times. In this thesis, GP is applied toward real-time computer vision. In particular, object classification and tracking using a parallel GP system is discussed. First, a study of suitable GP languages for object classification is presented. Two main GP approaches for visual pattern classification, namely the block-classifiers and the pixel-classifiers, were studied. Results showed that the pixel-classifiers generally performed better. Using these results, a suitable language was selected for the real-time implementation. Synthetic video data was used in the experiments. The goal of the experiments was to evolve a unique classifier for each texture pattern that existed in the video. The experiments revealed that the system was capable of correctly tracking the textures in the video. The performance of the system was on-par with real-time requirements

    Systolic genetic search, a parallel metaheuristic for GPUs

    Get PDF
    La utilizaci贸n de unidades de procesamiento gr谩fico (GPUs) para la resoluci贸n de problemas de prop贸sito general ha experimentado un crecimiento vertiginoso en los 煤ltimos a帽os, sustentado en su amplia disponibilidad, su bajo costo econ贸mico y en contar con una arquitectura inherentemente paralela, as铆 como en la aparici贸n de lenguajes de programaci贸n de prop贸sito general que han facilitado el desarrollo de aplicaciones en estas plataformas. En este contexto, el dise帽o de nuevos algoritmos paralelos que puedan beneficiarse del uso de GPUs es una l铆nea de investigaci贸n prometedora e interesante. Las metaheur铆sticas son algoritmos estoc谩sticos capaces de encontrar soluciones muy precisas (muchas veces 贸ptimas) a problemas de optimizaci贸n en un tiempo razonable. Sin embargo, como muchos problemas de optimizaci贸n involucran tareas que exigen grandes recursos computacionales y/o el tama帽o de las instancias que se est谩n abordando actualmente se est谩n volviendo muy grandes, incluso las metaheur铆sticas pueden ser computacionalmente muy costosas. En este escenario, el paralelismo surge como una alternativa exitosa con el fin de acelerar la b煤squeda de este tipo de algoritmos. Adem谩s de permitir reducir el tiempo de ejecuci贸n de los algoritmos, las metaheur铆sticas paralelas a menudo son capaces de mejorar la calidad de los resultados obtenidos por los algoritmos secuenciales tradicionales.Si bien el uso de GPUs ha representado un dominio inspirador tambi茅n para la investigaci贸n en metaheur铆sticas paralelas, la mayor铆a de los trabajos previos ten铆an como objetivo portar una familia existente de algoritmos a este nuevo tipo de hardware. Como consecuencia, muchas publicaciones est谩n dirigidas a mostrar el ahorro en tiempo de ejecuci贸n que se puede lograr al ejecutar los diferentes tipos paralelos de metaheur铆sticas existentes en GPU. En otras palabras, a pesar de que existe un volumen considerable de trabajo sobre este t贸pico, se han propuesto pocas ideas novedosas que busquen dise帽ar nuevos algoritmos y/o modelos de paralelismo que exploten expl铆citamente el alto grado de paralelismo disponible en las arquitecturas de las GPUs. Esta tesis aborda el dise帽o de una propuesta innovadora de algoritmo de optimizaci贸n paralelo denominada B煤squeda Gen茅tica Sist贸lica (SGS), que combina ideas de los campos de metaheur铆sticas y computaci贸n sist贸lica. SGS, as铆 como la computaci贸n sist贸lica, se inspiran en el mismo fen贸meno biol贸gico: la contracci贸n sist贸lica del coraz贸n que hace posible la circulaci贸n de la sangre. En SGS, las soluciones circulan de forma s铆ncrona a trav茅s de una grilla (rejilla) de celdas. Cuando dos soluciones se encuentran en una celda se aplican operadores evolutivos adaptados para generar nuevas soluciones que contin煤an movi茅ndose a trav茅s de la grilla (rejilla). La implementaci贸n de esta nueva propuesta saca partido especialmente de las caracter铆sticas espec铆ficas de las GPUs. Un extenso an谩lisis experimental que considera varios problemas de benchmark cl谩sicos y dos problemas del mundo real del 谩rea de Ingenier铆a de Software, muestra que el nuevo algoritmo propuesto es muy efectivo, encontrando soluciones 贸ptimas o casi 贸ptimas en tiempos de ejecuci贸n cortos. Adem谩s, los resultados num茅ricos obtenidos por SGS son competitivos con los resultados del estado del arte para los dos problemas del mundo real en cuesti贸n. Por otro lado, la implementaci贸n paralela en GPU de SGS ha logrado un alto rendimiento, obteniendo grandes reducciones de tiempo de ejecuci贸n con respecto a la implementaci贸n secuencial y mostrando que escala adecuadamente cuando se consideran instancias de tama帽o creciente. Tambi茅n se ha realizado un an谩lisis te贸rico de las capacidades de b煤squeda de SGS para comprender c贸mo algunos aspectos del dise帽o del algoritmo afectan a sus resultados num茅ricos. Este an谩lisis arroja luz sobre algunos aspectos del funcionamiento de SGS que pueden utilizarse para mejorar el dise帽o del algoritmo en futuras variantes
    corecore