본 논문에서는 야외 및 실내에서 촬영된 차량 영상에 대해 실시간으로 차량 색상을 인식할 수 있는 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배 빠른 속도이다. 본 연구에서는 차량만을 대상으로 하여 색상 인식을 실험하였으나, 일반적인 피사체의 색상 인식에 대해서도 제시된 알고리즘을 확장하여 적용할 수 있다.
본 논문에서는 야외 및 실내에서 촬영된 차량 영상에 대해 실시간으로 차량 색상을 인식할 수 있는 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 co...
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.
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.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
Human-computer interaction0]M- ubiquitous computing에 있어서도 영상 기반의 물체 인식 문제는 활발히 연구되고 있으며, 색상 인식 문제는 이러한 연구에 있어 기본적인 도구로 사용된다. 본 논문에서는 영상에 포함된 물체의 색상을 인식하는 방법의 한 가지로서, 야외 및 실내에서 촬영된 차량 영상으로부터 차량의 색상을 인식하는 방법을 제안한다.
본 논문에서는 촬영 당시의 조건이 알려지지 않았다는 가정 하에, 주어진 임의의 차량 영상에 대해 차량의 색상을 인식하는 알고리즘을 제시한다. 주어지는 입력 영상은 조명이 있는 실내 또는 야외 등 촬영 장소에 제약이 없으며, 영상 내의 차량은 육안으로 색상 구별이 가능한 상태라고 가정한다.
그러나, 영상은 일반적으로 대용량의 크기와 대량의 정보를 가지므로 영상 자체를 이용하여 표본 색상을 구성하기는 어렵다. 따라서, 본 논문에서는 차량의 색상이 갖는 특성을 뚜렷이 반영하는 특징 벡터를 구성하여 이들을 데이타베이스로 구축하고자 한다. 이때 특징벡터를 구성하기 위해 고려할 점은 다음의 세 가지로 요약된다.
본 논문에서는 이러한 고려 사항을 기반으로 무채색과 유채색이 혼재하는 차량의 색상 별 특성을 분석하여 인식 성공률이 높으면서도 가능한 한 크기가 작은 특징 벡터를 구성하였다. 또한, GPU(Graphics Processing Unit)를 사용하여 표본 색상과 입력 색상 간의 유사도 측정을 병렬로 처리함으로써 수행 시간의 효율성을 높였다.
예를 들어, 진한 녹색과 연한 녹색의차량들은 모두 녹색의 차량으로 분류된다. 입력된 차량 영상을 7가지 색상 중의한 가지로 인식하는 것을 연구의 목표로 한다.
본 논문에서는 야외 및 실내에서 촬영 된 차량 영상에 대해 실시간으로 차량의 색상을 인식할 수 있는 GPU 기반의 알고리즘을 제시하였다. 색상이 가진 특성을 분석하여, 채도값에 가중치를 두는 기법과 색조 값에 의해 무채색을 구분하는 기법을 적용하여 특징 벡터를 구성하는 방법을 제안하였으며, 대량의 표본 특징 벡터들 중에서 입력된 특징벡터와 가장 유사성이 높은 것을 발견하기 위해 GPU를 이용하는 효율적인 알고리즘을 제시하였다.
가설 설정
인식하는 알고리즘을 제시한다. 주어지는 입력 영상은 조명이 있는 실내 또는 야외 등 촬영 장소에 제약이 없으며, 영상 내의 차량은 육안으로 색상 구별이 가능한 상태라고 가정한다. 또한 영상 내의 중심부는 항상 차량 영역을 포함한다고 가정한다.
주어지는 입력 영상은 조명이 있는 실내 또는 야외 등 촬영 장소에 제약이 없으며, 영상 내의 차량은 육안으로 색상 구별이 가능한 상태라고 가정한다. 또한 영상 내의 중심부는 항상 차량 영역을 포함한다고 가정한다. 색상 인식 알고리즘의 기본 아이디어는 다음의 가정에서 출발한다.
1. 색상을 표현하는 표본 특징벡터는 각각의 색상 별 차이점을 반영해야 한다.
차량의 색상은 차량 후드 영역의 색상과 같다고 가정할 수 있다. 만약 입력된 영상에서 차량의 윈드실드, 그릴, 번호판, 헤드라이트 램프 등의 영역을 모두 제외 시키고 후드 영역만을 발견하여 분할할 수 있다면, 차량의 색상 인식에 있어 불필요한 정보를 상당히 제거할 수 있다.
그러나, 차량이 촬영된 방향이나 차량과 카메라의 거리 등에 제약이 없는 임의의 차량 영상에서 차량의 후드 영역만을 분할하는 과정은 그 자체가 해결하기에 어려운 영상 분할 문제이다. 본 논문에서는 표본 영상과 입력 영상에서 차량이 영상의 중심에 있다는 가정 하에, 주어진 영상들에 대해 전체 면적의 25%에 해당하는 중심부의 영역만을 사용하여 특징벡터를 추출하였다. 그림 2에서는 사용된 차량 영상에서 특징벡터 추출에 사용된 영역을 사각형으로 그려 표시하였다.
1. Transfer: CPU에서 계산된 특징벡터 &】血은 repeat 매개변수를 사용하여 OpenGL에서 반복된 사각형으로 그려진다. 이 때, 참조 텍스쳐와 동일한 크기만큼 U input 을 반복하여 drawing을 함으로써, 참조 텍스쳐 내의 각 특징 벡터는 d油成과 한 개씩 같은 텍스쳐 좌표로 대응된다.
제안 방법
67%에 이르는 높은 인식 성공률을 보였다. 또한, GPU를 甫용함으로써 대량의 표본 특징 벡터의 집합과 입력 영상에 대한 특징벡터 간의 유사도 측정 및 색상 인식 과정을 병렬로 처리하였다. 표본 영상에 포함되지 않는 1, 050장의 입력 영상에 대해 실험한 결과 평균 2.
있다. 본 논문에서 제시하는 색상 인식 알고리즘은 차량의 후드 부분 외에 여러 부품과 유리창 등의 색상이 혼재한 상태의 영상에 대해 차량의 색상을 인식한다.
파랑색, 녹색을 포함한다. 차량 영상에 대해 HSI (Hue-Saturation-Intensity) 색상 모델을 적용하여, 색조-채도(Hue-Saturation) 조합과 색조-명도(Hue-Intensity) 조합의 히스토그램을 계산한 뒤, 무채색 및 유채색의 특성을 강조할 수 있는 기법을 적용하여 특징 벡터를 구성한다. 전처리 .
과정에서는 차량의 색상 별 표본 영상들로부터 특징벡터를 계산하고, 이들을 순차적으로 배열에 저장한 뒤 그래픽 카드의 텍스쳐 메모리로 전송하여 GPU 에서 시-용할 참조 텍스쳐 (reference texture) 로 저장한다. 인식하고자 하는 차량 영상이 입력되면, 특징벡터를 계산하여, 그래픽 카드의 텍스쳐 메모리로 전송하고, GPU에서는 참조 텍스쳐 내의 표본 특징 벡터들과 비교하여 색상 별 유사도를 측정한 뒤 그 결과를 CPU로 전송하여, CPU에서 색상을 인식한다.
Quinlan et 2[6]은 HSI 색상 히스토그램을 사용하여 색상의 클래스를 구성한 뒤 SVM machine 기법을 이용하여 픽셀의 색상을 분류하였다. Buluswar and Draper[이는 영상 내 피사체의 색상을 인식하기 위한 방법으로 scene-context를 기반으로 하는 방법과 기계 학습(machine learning)을 이용하는 방법을 제안하였다. Vandenbroucke et aL[l이은 픽셀의 색상 정보를 이용하여 영상을 분할하는 기법을 제시하였다.
임의의 차량 영상이 주어질 때, 차량의 색상을 인식하기 위해서는 유채색과 무채색의 특성을 모두 반영하는 특징벡터가 필요하다. 3.1 절에서는 특징 벡터를 구성하기 위해 히스토그램을 이용하는 방법을 제안하고, 32절과 3.3절에서 색상 인식의 성공률을 높이기 위한 두 가지 기법을 제시한다. 3.
HSI 색상 모델은 카메라와 피사체 표면의 방향, 광원의 방향, 광원의 명도, specular highlight 등에 대해 민감하지 않고 변화가 적다는 특성을 보인다[4丄 일반적으로 HSI 모델과 HSV(Hue-Saturation-Value) 모델은 색조, 채도, 명도 값을 분리하는 유사한 역할을 하지만, 결과로 생성하는 Hue 와 Saturation 의 값, 그리고 Intensity와 Value의 값에 어느 정도의 차이가 있다. 본 논문에서는 색상의 특성을 분석하는데 유리한 색조, 채도, 명도 값을 구하기 위해 HSV 모델로부터 Hue와 Saturation의 값을, HSI 모델로부터 Intensity의 값을 계산하여 특징벡터의 구성에 사용하였다. 이후에 언급되는 HSI 모델은 두 색상 모델을 조합하여 구성한 색상 모델을 가리킨다.
3차원 배열의 각 인덱스를 Hue, Saturation, Intensity로 정의하고, 배열 원소가 해당 HSI값을 갖는 픽셀의 개수가 되도록 3 차원 히스토그램을 구성할 수도 있으나, 3차원의 경우 색상 별 특징을 분석하기 어렵고, 차후 색상의 특징 벡터를 구성할 경우 특징벡터의 크기가 매우 커진다는 단점이 있다. 따라서, 본 논문에서는 3차원 히스토그램을 특정 평면으로 투영하여, 서로 다른 특성을 표현하는 두 종류의 2차원 히스토그램을 생성하여 사용하였다. 색조- 채도(Hue-Saturation) 평면과 색조-명도(Hue-Intensity) 평면, 채도-명도(Saturation-Intensity) 평면으로 HSL의각 요소값 별 픽셀의 개수를 투영한 2차원 히스토그램은 그림 3과 같다.
채도-명도 히스토그램만을 살펴볼 경우에는 색상 별로 특징이 뚜렷하게 구분되지 않는다. 따라서, 본 논문에서는 HSI공간에서 구성된 색조-채도 히스토그램과 색조-명도 히스토그램에서 나타난 특징들을 이용하여 특징벡터를 구성한다.
특징벡터들은 다양한 크기의 표본 영상과 입력 영상에 대해 생성되므로, 알고리즘을 적용하여 생성된 특징벡터들은 영상의 픽셀 개수에 의해 정규화된다. 이해를 돕기 위해 알고리즘을 최적화하지 않은 상태로 기술하였다.
색상별로 구성된 대량의 특징벡터들과 입력 영상의 특징 벡터를 비교하는 작업은 SISD보다는 SIMD(Single Inst- ruction Multiple Data) 기법으로 처리할 때 뛰어난 효율성을 보일 수 있다. 본 논문에서는 GPU를 기반으로 SIMD 기법을 이용하여 효율적으로 비교 작업을 수행하는 알고리즘을 제시한다(그림 6).
생성된다. 차량 색상의 표본 영상들로부터 특징 벡터를 계산한 뒤, 이들을 색상 별로 조합하여 참조 텍스쳐 (Reference texture)를 구성한다. 참조 텍스쳐는 GPU 내의 기억장치에 최초로 한 번 저장된 후, 모든 입력 영상의 색상 인식에 대해 반복적으로 사용할 수 있으므로, 이 과정은 실행 시간에 영향을 주지 않는다.
특징벡터 간의 유사도를 측정하기 위해서는 3가지 함수를 고려하였고, 그 중 가장 성공률이 높은 city-block distance 함수를 이용하여 GPU 기반 알고리즘을 구성하였다. 고려된 3가지 함수 및 성공률과 계산 시간은 5 절의 실험 결과에서 설명한다.
따라서, HeW 크기의 2차원 텍스쳐를 생성하면 실제로는 HxWM 크기의 3차원 배열의 저장 공간이 생성된다. 본 연구에서는 34절에서 제시된 특징 벡터 생성 알고리즘에 의해 색상 별로 16x16x4개의 표본 영상에 대해 32x32 행렬 형태의 특징벡터를 생성한 뒤, R, G, B, A의 저장 장소에 저장하여 참조 텍스쳐를 생성한다. 그림 6에서 Tc이。菴険는 해당 색상의 표본 영상 1장에 대해 생성한 32x32 특징벡터이며 i, j는 텍스쳐 상의 행렬 시작 좌표를, k는 R, G, B, A 저장장소 중 소속된 장소를 나타낸다.
참조 텍스쳐의 구성은 7가지 색상의 참조 텍스쳐들 각각에 대해서 텍스쳐 크기를 가로와 세로의 비율이 같도록 한다. 그리고 유사도 측정 알고리즘을 적용한 다음 reduction 연산을 수행해 나간다.
이렇게 7가지 스색상의참조 텍스쳐 크기를 가로와 세로의 비율이 같도록 하는 이유는 reduction 연산을 적용한 뒤 7가지 색상 각각에 대한 계산결과를 얻기 위해서다. 이렇게 얻어진 값을 메인 메모리로 readback 하여 7가지 색상의 결과 중에서 가장 근접한 값을 찾아 이에 해당하는 색상을 인식색상으로 결정한다. 이러한 과정을 거치면 참조 텍스쳐에 따로 색상에 대한 인덱스를 할당하지 않아도 되기 때문에 연산 효율을 높일 수 있다.
CPU와 메인메모리는 메인보드의 버스를 통해 직접 연결이 되어있는 데 반해, GPU는 AGP 또는 PCI Express 방식의 확장기기이기 때문이다. 본 논문에서는 가능한 한 CPU 와 GPU 간에 전송되는 데이타의 양을 감소시킴으로써 효율적으로 GPU 기반 알고리즘을 구성하였다.
본 논문에서 제안한 알고리즘은 Intel Dualcore 2.13 Mhz 의 CPU 와 1G byte 의 RAM 및 ATI 사의 Radeon X1950 (PCI Express, Memory'512M) 7} 탑재된 PC에서 실험되었다. GPU 프로그램의 작성은 Cg를 이용하였다.
GPU의 참조 텍스쳐에는 7가지의 색상 별로 각각 1, 024장의 영상에 대해 32x32 크기의 표본 특징벡터를 생성하여 저장하였다. 각 색상 별로 32x32의 행렬로 구성된 1, 024개의 특징 벡터들을 512x512 크기의 텍스쳐 RGBA 평면에 각각 순차적으로 저장하였다. 텍스쳐의 RGBA 평면을 모두 사용함으로써, 각 색상마다 1, 024개의 특징벡터가 참조 텍스쳐에 저장될 수 있다.
입력 영상에 대해 특징벡터를 구성한 뒤 표본 특징 벡터와의 유사도를 측정하기 위해서 3가지의 측정 방법을 적용하여 실험하였다. 임의의 벡터 간의 유사도를 측정하기 위한 함수는 다양하게 존재하지만, GPU의 기능을 충분히 활용하기 위해서는 두 벡터 내의 대응되는 원소들에 대해 병렬로 계산할 수 있는 함수가 적절하다.
달라질 수 있다. 표 2에서는 색조-채도 평면과 색조 -명도 평면의 조합에 의해 32x32 크기의 특징벡터를 구성할 때, 3.2절의 기법, 3.3절의 기법들을 적용한 경우와 적용하지 않은 경우에 대해 각각 인식 성공률을 비교하였다. 실험 결과 3.
특징벡터가 구성된 후, 입력 영상의 특징벡터와 표본특징 벡터 간의 유사도를 측정하여 색상을 인식하는 모든 과정을 CPU에서 수행한 결과와 GPU 기반으로 수행한 결과를 표 3에서 비교하였다. 색상 인식 알고리즘의 평균 수행 시간은, CPU 상에서만 수행할 경우 평균 12.
기반의 알고리즘을 제시하였다. 색상이 가진 특성을 분석하여, 채도값에 가중치를 두는 기법과 색조 값에 의해 무채색을 구분하는 기법을 적용하여 특징 벡터를 구성하는 방법을 제안하였으며, 대량의 표본 특징 벡터들 중에서 입력된 특징벡터와 가장 유사성이 높은 것을 발견하기 위해 GPU를 이용하는 효율적인 알고리즘을 제시하였다.
임의의 벡터 간의 유사도를 측정하기 위한 함수는 다양하게 존재하지만, GPU의 기능을 충분히 활용하기 위해서는 두 벡터 내의 대응되는 원소들에 대해 병렬로 계산할 수 있는 함수가 적절하다. 본연구에서는 특징벡터 간의 유사도 측정을 위해 Eucli- dean distance, City-block distance, Cosine-angle distanced 고려하였다. 두 개의 특징벡터 와 μ二(D1, D2, …, 4)가 주어질 때, 다음의 수식들은 두 벡터 간의 City-block distance, Euclidean distance, Cosineangle distance를 나타낸다.
대상 데이터
본 연구에서 입력 및 표본으로 사용하는 차량 영상은 야외 및 조명이 있는 실내에서 검정색, 은색, 횐색, 빨강색, 노랑색, 파랑색, 또는 녹색의 차량을 촬영한 것이다. 유채색에 속한 각 색상은 해당 색상에서 명암이 변화된 색상을 포함한다.
히스토그램을 구성하기 위해 차량의 영상을 7가지 색상 별로 각각 5 장씩 선정하여, 차량의 후드에서 반사가 거의 없고 챠량의 원래 색상을 일관성 있게 나타내는 영역을 50X50의 해상도의 영상으로 추출하여 실험하였다. 3차원 배열의 각 인덱스를 Hue, Saturation, Intensity로 정의하고, 배열 원소가 해당 HSI값을 갖는 픽셀의 개수가 되도록 3 차원 히스토그램을 구성할 수도 있으나, 3차원의 경우 색상 별 특징을 분석하기 어렵고, 차후 색상의 특징 벡터를 구성할 경우 특징벡터의 크기가 매우 커진다는 단점이 있다.
실험에 사용한 차량 색상은 검정색, 은색, 회색, 빨강색, 노랑색, 녹색, 파랑색으로 분류되며, 이들은 다양한 차종에 대해 중국의 도로에서 촬영한 정면 영상 및 한국과 미국의 중고차 회사의 웹페이지를 통해 획득한 차량의 정면, 측면, 후면 등 촬영 각도 및 배경이 다양하게 구성된 영상들로 총 8, 218장이다. 이 영상들은 7가지 색상 별로 각 1, 174 장으로 구성되었다.
구성된 영상들로 총 8, 218장이다. 이 영상들은 7가지 색상 별로 각 1, 174 장으로 구성되었다. GPU의 참조 텍스쳐에는 7가지의 색상 별로 각각 1, 024장의 영상에 대해 32x32 크기의 표본 특징벡터를 생성하여 저장하였다.
텍스쳐의 RGBA 평면을 모두 사용함으로써, 각 색상마다 1, 024개의 특징벡터가 참조 텍스쳐에 저장될 수 있다. 입력 영상으로는 표본 영상에 포함되지 않은 영상을 선택하여 색상 별로 각 150 장씩, 총 1, 050장을 사용하여 실험하였다.
데이터처리
차량의 색상이 갖는 특성을 분석하고 특징벡터를 구성하기 위해, 히스토그램을 사용하였다. 히스토그램을 구성하기 위해 차량의 영상을 7가지 색상 별로 각각 5 장씩 선정하여, 차량의 후드에서 반사가 거의 없고 챠량의 원래 색상을 일관성 있게 나타내는 영역을 50X50의 해상도의 영상으로 추출하여 실험하였다.
이론/모형
RGB(Red- Green-Blue) 색상 모델로 구성된 입력 영상에 대해, RGB 값으로부터 색조와 채도 그리고 명도값을 분리하기 위해 HSI 색상 모델을 적용하여 특징벡터를 구성한다. HSI 색상 모델은 카메라와 피사체 표면의 방향, 광원의 방향, 광원의 명도, specular highlight 등에 대해 민감하지 않고 변화가 적다는 특성을 보인다[4丄 일반적으로 HSI 모델과 HSV(Hue-Saturation-Value) 모델은 색조, 채도, 명도 값을 분리하는 유사한 역할을 하지만, 결과로 생성하는 Hue 와 Saturation 의 값, 그리고 Intensity와 Value의 값에 어느 정도의 차이가 있다.
성능/효과
2. 인식의 성공률을 높이기 위해서는 색상 별 표본 특징 벡터의 개수가 충분히 많아야 한다.
3. 특징벡터의 크기가 클수록, 그리고 표본 특징 벡터의 개수가 많을수록 색상 인식에 소요되는 수행 시간은 길어진다.
구성하였다. 또한, GPU(Graphics Processing Unit)를 사용하여 표본 색상과 입력 색상 간의 유사도 측정을 병렬로 처리함으로써 수행 시간의 효율성을 높였다.
실험에서는, 색상 별로 1, 024장씩, 총 7, 168장의 차량 표본 영상을 이용하여 GPU에서 사용하는 참조 텍스쳐를 구성하였다’ 본 논문에서 제시하는 알고리즘은 다양한 환경에서 촬영된 라은 수의 표본 특징벡터를 사용하고, 색상 별 특성을 뚜렷이 반영하는 특징벡터를 구성하였으며, 적합한 유사* 측정 함수(likelihood function)를적용함으로써, 94.67%에 이르는 높은 인식 성공률을 보였다. 또한, GPU를 甫용함으로써 대량의 표본 특징 벡터의 집합과 입력 영상에 대한 특징벡터 간의 유사도 측정 및 색상 인식 과정을 병렬로 처리하였다.
또한, GPU를 甫용함으로써 대량의 표본 특징 벡터의 집합과 입력 영상에 대한 특징벡터 간의 유사도 측정 및 색상 인식 과정을 병렬로 처리하였다. 표본 영상에 포함되지 않는 1, 050장의 입력 영상에 대해 실험한 결과 평균 2.316ms의 속도로 실시간에 색상을 인식하였으며, 이는 같은 알고리즘을 CPU 상에서 수행한 결과에 비해 5.47배 빠른 속도이다. 본 연구에서는 차량만을 대상으로 하여 색상 인식을 실험하였으나, 일반적인 피사체의 색상 인식에 대해서도 확장하여 적용이 가능하다.
색조-채도 및 색조-명도의 히스토그램에서 볼 수 있듯이 유채색의 경우, 서로 다른 색상이 차지하는 색조의 영역들이 뚜렷이 구분되지만, 무채색은 구분하기 어렵다. 그에 비해, 색조-명도 및 채도-명도 히스토그램에서는 무채색에 속한 색상들의 명도 영역이 뚜렷이 구분되지만, 유채색은 그렇지 않다는 것을 확인할 수 있다. 채도-명도 히스토그램만을 살펴볼 경우에는 색상 별로 특징이 뚜렷하게 구분되지 않는다.
색상별로 구성된 대량의 특징벡터들과 입력 영상의 특징 벡터를 비교하는 작업은 SISD보다는 SIMD(Single Inst- ruction Multiple Data) 기법으로 처리할 때 뛰어난 효율성을 보일 수 있다. 본 논문에서는 GPU를 기반으로 SIMD 기법을 이용하여 효율적으로 비교 작업을 수행하는 알고리즘을 제시한다(그림 6).
이러한 과정을 거치면 참조 텍스쳐에 따로 색상에 대한 인덱스를 할당하지 않아도 되기 때문에 연산 효율을 높일 수 있다. 단 리드백 된 7가지 색상의 결과 중에 최소값을 찾는 과정은 CPU에서 수행해야 하지만, 인덱스를 위해 별도의 저장공간을 활용하는 방법에 비하면 훨씬 빠른 속도로 색상을 인식 할 수있으므로 효율적이다.
3.4절의 알고리즘에 의해 특징벡터를 생성한 뒤 색상별로 150장의 입력 영상에 대해 유사도 측정 함수 Cityblock distance, Euclidean distance, cosine-angle dis- tance를 적용한 결과, 표 1과 같은 인식 성공률을 얻었다. 실험 결과 City-block distance가 가장 인식 성공률이 높고 계산 시간이 짧은 것으로 측정 되었다.
4절의 알고리즘에 의해 특징벡터를 생성한 뒤 색상별로 150장의 입력 영상에 대해 유사도 측정 함수 Cityblock distance, Euclidean distance, cosine-angle dis- tance를 적용한 결과, 표 1과 같은 인식 성공률을 얻었다. 실험 결과 City-block distance가 가장 인식 성공률이 높고 계산 시간이 짧은 것으로 측정 되었다.
3절의 기법들을 적용한 경우와 적용하지 않은 경우에 대해 각각 인식 성공률을 비교하였다. 실험 결과 3.2절과 3.3절에서 제시한 두 가지 기법을 동시에 적용시킨 경우가 가장 효과적으로, 94.67% 에 이르는 성공률을 얻었다. 실험에서 Saturation— threshole 값은 127, Saturationji)eight 값은 2, Hue_ threshold 값은 15를 사용하였다.
결과를 표 3에서 비교하였다. 색상 인식 알고리즘의 평균 수행 시간은, CPU 상에서만 수행할 경우 평균 12.67ms가 소요되고, GPU 기반의 알고리즘을 이용한 경우 평균 2.316ms가 소요되므로, GPU 기반의 알고리즘이 CPU 기반의 알고리즘에 비해 5.47배 빠른 속도를 보였다.
표본 영상으로 7, 168장을 사용하고, 표본 영상에 포함되지 않은 7가지 색상의 입력 영상 1, 050장에 대해 제안된 알고리즘을 적용한 결과, 색상에 대한 인식 성공률은 평균적으로 94.67%의 높은 성능을 보였다. 한 장의차량 영상에 대해 특징벡터를 구성하기 위해서는 150x113 해상도의 경우 평균 0.
509ms가 소요되었다. 특징 벡터가 구성된 후, GPU 기반으로 색상 인식 알고리즘을 수행하는데 평균 2.316ms의 시간이 소요되었다. 이는 CPU를 이용하는 인식 알고리즘에 비해 약 547배가량 빠른 속도로서, 효율성의 면에서 뛰어나다.
후속연구
47배 빠른 속도이다. 본 연구에서는 차량만을 대상으로 하여 색상 인식을 실험하였으나, 일반적인 피사체의 색상 인식에 대해서도 확장하여 적용이 가능하다.
향후 연구 과제로는 본 논문에서 제안된 기법을 다양한 피사체에 대한 색상 인식 기법으로 확대하여 응용하는 과제를 고려하고 있다.
각각의 차량 색상 별로 다양한 환경에서 촬영된 표본색상들이 데이타베이스로 구축된다면, 주어진 입력 영상의 차량 색상과 가장 유사한 특성을 갖는 표본 색상을 발견함으로써 입력 영상 내의 차량 색상을 인식할 수 있을 것이다.
참고문헌 (14)
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
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
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
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
Park, J. B., Kak, A. C., "A New Color Representation for Non-White Illumination Conditions," Technical Report, TR-ECE-05-06, Purdue University, 2005
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
Browning, B., Veloso, M., "Real-Time, Adaptive Color-based Robot Vision," Proceedings of IROS '05, Edmonton, Canada, August 2005
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
Buluswar, S. D., Draper, B. A., "Color recognition in outdoor images," Proceedings of Sixth International Conference on Computer Vision, pp. 171- 177, 1998
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
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
※ AI-Helper는 부적절한 답변을 할 수 있습니다.