그래픽 하드웨어 가속을 이용한 실시간 색상 인식

Real-time Color Recognition Based on Graphic Hardware Acceleration

  • 김구진 (경북대학교 컴퓨터공학과) ;
  • 윤지영 (경북대학교 컴퓨터공학과) ;
  • 최유주 (서울벤처정보대학원대학교 컴퓨터응용기술학과)
  • 발행 : 2008.02.15

초록

본 논문에서는 야외 및 실내에서 촬영된 차량 영상에 대해 실시간으로 차량 색상을 인식할 수 있는 GPU(Graphics Processing Unit) 기반의 알고리즘을 제시한다. 전처리 과정에서는 차량 색상의 표본 영상들로부터 특징벡터를 계산한 뒤, 이들을 색상 별로 조합하여 GPU에서 사용할 참조 텍스쳐(Reference texture)로 저장한다. 차량 영상이 입력되면, 특징벡터를 계산한 뒤 GPU로 전송하고, GPU에서는 참조 텍스쳐 내의 표본 특징리터들과 비교하여 색상 별 유사도를 측정한 뒤 CPU로 전송하여 해당 색상명을 인식한다. 분류의 대상이 되는 색상은 가장 흔히 발견되는 차량 색상들 중에서 선택한 7가지 색상이며, 검정색, 은색, 흰색과 같은 3가지의 무채색과 빨강색, 노랑색, 파랑색, 녹색과 같은 4가지의 유채색으로 구성된다. 차량 영상에 대한 특징벡터는 차량 영상에 대해 HSI(Hue-Saturation-Intensity) 색상모델을 적용하여 색조-채도 조합과 색조-명도 조합으로 색상 히스토램을 구성하고, 이 중의 채도 값에 가중치를 부여함으로써 구성한다. 본 논문에서 제시하는 알고리즘은 다양한 환경에서 촬영된 많은 수의 표본 특징벡터를 사용하고, 색상 별 특성을 뚜렷이 반영하는 특징벡터를 구성하였으며, 적합한 유사도 측정함수(likelihood function)를 적용함으로써, 94.67%에 이르는 색상 인식 성공률을 보였다. 또한, GPU를 이용함으로써 대량의 표본 특징벡터의 집합과 입력 영상에 대한 특징벡터 간의 유사도 측정 및 색상 인식과정을 병렬로 처리하였다. 실험에서는, 색상 별로 1,024장씩, 총 7,168장의 차량 표본 영상을 이용하여 GPU에서 사용하는 참조 텍스쳐를 구성하였다. 특징벡터의 구성에 소요되는 시간은 입력 영상의 크기에 따라 다르지만, 해상도 $150{\times}113$의 입력 영상에 대해 측정한 결과 평균 0.509ms가 소요된다. 계산된 특징벡터를 이용하여 색상 인식의 수행시간을 계산한 결과 평균 2.316ms의 시간이 소요되었고, 이는 같은 알고리즘을 CPU 상에서 수행한 결과에 비해 5.47배 빠른 속도이다. 본 연구에서는 차량만을 대상으로 하여 색상 인식을 실험하였으나, 일반적인 피사체의 색상 인식에 대해서도 제시된 알고리즘을 확장하여 적용할 수 있다.

In this paper, we present a real-time algorithm for recognizing the vehicle color from the indoor and outdoor vehicle images based on GPU (Graphics Processing Unit) acceleration. In the preprocessing step, we construct feature victors from the sample vehicle images with different colors. Then, we combine the feature vectors for each color and store them as a reference texture that would be used in the GPU. Given an input vehicle image, the CPU constructs its feature Hector, and then the GPU compares it with the sample feature vectors in the reference texture. The similarities between the input feature vector and the sample feature vectors for each color are measured, and then the result is transferred to the CPU to recognize the vehicle color. The output colors are categorized into seven colors that include three achromatic colors: black, silver, and white and four chromatic colors: red, yellow, blue, and green. We construct feature vectors by using the histograms which consist of hue-saturation pairs and hue-intensity pairs. The weight factor is given to the saturation values. Our algorithm shows 94.67% of successful color recognition rate, by using a large number of sample images captured in various environments, by generating feature vectors that distinguish different colors, and by utilizing an appropriate likelihood function. We also accelerate the speed of color recognition by utilizing the parallel computation functionality in the GPU. In the experiments, we constructed a reference texture from 7,168 sample images, where 1,024 images were used for each color. The average time for generating a feature vector is 0.509ms for the $150{\times}113$ resolution image. After the feature vector is constructed, the execution time for GPU-based color recognition is 2.316ms in average, and this is 5.47 times faster than the case when the algorithm is executed in the CPU. Our experiments were limited to the vehicle images only, but our algorithm can be extended to the input images of the general objects.

키워드

참고문헌

  1. Chapelle, O., Haffner, P., Vapnik, V. N., "Support vector machines for histogram-based image classification," IEEE Transactions on Neural Networks, Vol.10, No.5, pp. 1055-1064, 1999 https://doi.org/10.1109/72.788646
  2. Smith, J. R., Chang, S. -F., "Tools and techniques for color image retrieval," In: Sethi, I. K., Jain, R. C., eds., Storage & Retrieval for Image and Video Databases IV, vol. 2670 of IS&T/SPIE Proceedings. San Jose, CA, USA, pp. 426-437, 1996
  3. Rui, Y., Huang, T. S., and Chang, S. -F., "Image retrieval: current techniques, promising directions and open issues," Journal of Visual Communication and Image Representation, Vol.10, No.4, pp. 39-62, April 1999 https://doi.org/10.1006/jvci.1999.0413
  4. Jeong, S., Won, C. S., Gray, R. M., "Image retrieval using color histograms generated by Gauss mixture vector quantization," Computer Vision and Image Understanding, Vol.94, No.1-3, pp. 1077-3142, 2004
  5. Park, J. B., Kak, A. C., "A New Color Representation for Non-White Illumination Conditions," Technical Report, TR-ECE-05-06, Purdue University, 2005
  6. Quinlan, M. J., Chalup, S. K., Middleton, R. H., "Application of SVMs for colour classification and collision detection with AIBO robots," Proceedings of Neural Information Processing Systems (NIPS), 2003
  7. Browning, B., Veloso, M., "Real-Time, Adaptive Color-based Robot Vision," Proceedings of IROS '05, Edmonton, Canada, August 2005
  8. Alvarez, R., Milan, E., Swain-Oropeza, R., Aceves- Lopez, A., "Color image classification through fitting of implicit surfaces," Proceedings of IBERAMIA 2004, LNAI 3315, pp. 677-686, 2004
  9. Buluswar, S. D., Draper, B. A., "Color recognition in outdoor images," Proceedings of Sixth International Conference on Computer Vision, pp. 171- 177, 1998
  10. Vandenbroucke, N., Macaire, L., Postaire, J. -G., "Color image segmentation by pixel classification in an adapted hybrid color space: Application to soccer image analysis," Computer Vision and Image Understanding, Vol.90, pp. 190-216, 2003 https://doi.org/10.1016/S1077-3142(03)00025-0
  11. Owens, J. D., Luebke, D., Govindaraju, N., Harris, M., Kruger, J., Lefohn, A. E., Purcell, T. J., "A survey of general-purpose computation on graphics hardware," Computer Graphics Forum, Vol.26, No.1, pp. 80-113, 2007 https://doi.org/10.1111/j.1467-8659.2007.01012.x
  12. Fernando, R., Kilgard, M. J., The Cg Tutorial: The Definitive Guide to Programmable Real-Time Graphics, Addison-Wesley, 2003
  13. Fernando, R., GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics, Addison-Wesley, 2004
  14. Pharr, M., GPU Gems 2: Programming Techniques for High-Performance Graphics and General-Purpose Computation, Addison-Wesley, 2005