Logo image
A GPU-Accelerated Object Recognition System Using Adaboost Algorithm
Thesis

A GPU-Accelerated Object Recognition System Using Adaboost Algorithm

Tsai, Pin-Yi
Masters, 國立清華大學, 資訊系統與應用研究所
2014

Abstract

物件辨識 圖形處理器 機器學習 object recognition GPU adaboost
Recently, programming on GPU has become the general solution of high performance computing. Various applications and frameworks are developed to utilize the power of GPU. CUDA, proposed by Nvidia, enables programmers who are not major in computer vision also benefit from GPU easily. CUDA is only available on Nvidia’s GPU; for other GPUs, OpenCL can be applied to deal with the similar work. OpenCL supports cross-platform programming and also can cooperate with CPU. However, the powerful advantage is obvious only when the data is massive. If the data is not enough to cover the communication and overhead of kernel launching, the performance of GPU may be worse than the version with single CPU thread due to GPU’s lower clock-rate and necessary data transportation. ADAS (Advanced Driver Assistance Systems) is used to remind or help drivers to act while the emergency occurs in the surroundings. For the safety, the ADAS is equipped with a front-view camera to detect other cars, pedestrian and traffic signs around. Traditionally, Adaboost algorithm is often applied to object recognition because of its wider usage and well trained results. However, because the computation of AdaBoost is extremely time-consuming, it is difficult to guarantee that the computations reflect the latest information in real time. To make sure the safety when the car is moving and the environment keeps changing, we would like to accelerate the original object recognition system with GPU. In our system, we applied CUDA to accelerate Feature Extraction and Adaboost Training. We do not focus on Adaboost Testing since it is as complex as Adaboost Training is. For these two parts, we adopted different strategies such as how the data is put in the memory, the amount of CUDA streams, trunk size, the size of block, etc. Finally, our system can gain 6.12x in Feature Extraction and 34.53x in Adaboost Training on Nvidia K20c. The accuracy and safety of ADAS become higher because the surroundings can be sensed more distinctly with Adaboost algorithm in GPU computing.

Metrics

1 Record Views

Details

Logo image