1. 서 론
현대 산업의 대량 생산체제 속에서 이익의 극대화를 위하여 생산비 감소와 생산 효율성을 최대로 끌어올리기 위한 다양한 노력이 시도되고 있다. 이와 같은 목적을 달성하기 위한 방법 중의 하나로 머신 비전을 응용하는 방법이 지속적으로 연구되고 있다. 머신 비전은 지속적으로 증가하는 인건비를 줄일 수 있는 수단으로 사용되고 있으며 사람이 할 수 있는 실수를 최소화 하여 생산의 효율성을 증대 시킨다. 머신 비전은 카메라 센서를 통하여 취득된 영상을 분석하여 사용자가 원하는 목적에 맞는 동작을 하는 기기로 결함 검출, 물체 분류, 수량 확인 등 다양한 동작을 수행한다[1-4].
머신 비전이 다양한 동작을 성공적으로 수행하기 위해서는 초기 영상을 취득하거나 취득한 직후 수행하는 영상 정렬이 매우 중요하다. 입력된 영상과 참조 영상의 정렬이 제대로 이루어지지 않은 상태에서 다양한 후속 처리 기법을 적용하는 경우 올바르지 못한 판단의 결과를 가져 올 수 있기 때문이다.
현재 머신 비전에서 많이 사용되고 있는 영상 정렬 기법은 마커 기반의 영상 정렬 기법이다[5]. 이 기법은 취득하는 영상 내에 미리 알려진 마커가 존재하고 이를 기준으로 영상을 정렬하는 기법이다. 마커를 알고 있어 정확한 정렬이 가능하며 영상에서 따로 특징을 추출하지 않고 미리 알려진 위치 주변에서 마커만 찾으면 되기 때문에 정렬 기법의 수행속도가 대단히 빠르다. 하지만 마커가 변화하면 마커에 따라 지속적으로 기법을 수정해야한다. 머신 비전을 통해 한 가지 제품만 검사하는 것이 아니기 때문에 이 부분은 큰 단점으로 부각이 된다. 더불어 머신 비전의 응용 범위가 단순 검사에서 복잡하고 다양한 판단의 문제로 확대됨에 따라 마커를 근원적으로 사용할 수 없는 응용이 지속 증가하고 있다.
이러한 단점을 극복하기 위해 마커에 의존하지 않는 일반적인 영상 정렬 기법을 사용할 수 있다. 일반적인 영상 정렬 기법이란 영상 내에 알려진 마커를 사용하여 영상을 정렬하는 방식이 아니라 마커가 없는 영상에서 특징을 직접 추출하고 그 특징들을 이용하여 영상간의 관계식을 유도하고 영상을 정렬하는 기법이다.
이러한 기법을 사용하기 위해서는 영상에서 특징을 정확히 추출하는 기법이 필요하다. SIFT (Scale invariant feature transform)는 우수한 신뢰도를 가지는 특징 추출 기법으로 영상의 기울기에 기반을 둔 특징 추출 기법이다[6]. 하지만 연산량이 많아 수행 속도가 느리다는 단점이 있는데, 이러한 단점을 개선한 기법이 SURF (Speeded-Up Robust Features)이다[7,8]. SURF는 적분 영상과 헤시안 검출기를 사용함으로써 속도를 개선한 기법이다. 본 논문에서는 SIFT에 비해 속도가 개선된 SURF를 활용하여 영상 정렬을 수행하는 문제를 해결하고자 한다.
이러한 일반적인 영상 정렬 기법을 사용하면 마커가 없는 영상의 정렬이 가능하다. 하지만 마커를 이용하지 않고 영상 내에서 추출된 특징을 사용하기 때문에 특징에 대한 의존성이 강하여 추출된 특징의 수에 따라 정렬 결과가 달라지는 한계를 가진다. 특히 입력 영상이 지극히 단순한 경우 정렬을 위한 충분한 수의 특징 확보가 불가능할 수 있다. 또한 마커와 같이 절대적인 비교의 기준을 사용하는 것이 아니라 취득된 영상 각각에서 추출한 상대적인 특징을 사용하기 때문에 입력 영상의 특징과 참조 영상의 특징을 정합하는 과정에서 오정합이 발생할 수 있다.
한편, 머신 비전은 사용되는 영상 스펙트럼의 수에 따라 단일 스펙트럼 영상을 사용하는 방식과 다중스펙트럼 영상을 사용하는 방식으로 나눌 수 있다. 단일 스펙트럼 영상을 사용하는 방식에서는 특정 하나의 조명을 이용해 얻은 영상만을 머신비전에 이용한다. 반면 다중 스펙트럼 영상 사용 방식은 한 대상에 대하여 영상을 취득할 때 조명의 변화를 주어 다양한 파장 대의 영상을 얻는 방식이다[9]. 다중 스펙트럼 영상을 사용함으로써 인간 시각 체계로는 수행할 수 없는 보다 다양하고 복잡한 판단의 문제를 머신 비전을 통해 해결할 수 있다.
이러한 다중 스펙트럼 머신 비전 응용에서 다수의 영상을 사용함으로써 정렬 과정에서 단일 스펙트럼 영상 사용 시 발생할 수 있는 적은 수의 특징 추출문제를 보완할 수 있게 된다. 하지만 이러한 특징들에는 오정합이 포함될 가능성이 있다. 따라서 본 논문에서는 SRUF 기반의 새로운 영상 정렬 기법 체계를 제안하는 것 이외에 이러한 오정합이 발생하여 영상 정렬이 되지 않는 문제를 해결하기 위하여 다음과 같은 기법들을 제안한다.
먼저 생성된 정합쌍들을 이용하여 영상 정렬을 위한 변환식을 유도하는 과정에서 발생 할 수 있는 오정합 문제를 해결하기 위하여 반복적 최소 제곱 기법에 기반을 둔 외부자 제거 방법을 사용한다. 또한 참조 영상과 입력 영상의 특징 정합 시 발생할 수 있는 오정합 문제를 해결하기 위하여 특징의 정보에 기반을 둔 주방향 이용 기법과 영상 내 특징의 위치에 기반을 둔 4분할 기반 정합 범위 제한 기법을 제안한다.
한편 SURF는 SIFT의 속도를 개선한 기법이지만 여전히 머신 비전에 응용하기에는 수행 속도의 개선이 요구되는 기법이다. 본 논문에서는 이러한 SURF의 연산량 문제를 GPGPU (General-Purpose computing on Graphics Processing Units) 기술을 이용한 병렬화를 통해 개선한다[10-11].
본 논문은 2장에서 CUDA (Compute Unified Device Architecture)를 이용한 기법의 병렬화에 대하여 설명을 하고 3장에서는 반복적 최소제곱법 기반의 영상 정렬 기법을 제안한다. 또한 4장에서는 오정합쌍을 제거하기 위한 기법인 주방향 이용 기법과 4분할 기반 정합 범위 제한 기법을 제안한고 5장에서는 실험 결과를 논의하고 6장에서 결론을 맺는다.
2. CUDA를 이용한 SURF기법의 병렬화
머신 비전에서 마커가 없는 영상을 정렬하기 위해서는 영상에서 직접 특징을 추출하여야 한다. 영상의 특징은 주로 경계(edge), 모서리(corner), 덩어리(blob)에서 검출되며 이러한 특징을 찾기 위한 기법으로 SURF를 사용할 수 있다. SURF는 특징 추출기법 중 신뢰도가 높은 기법으로 영상 특징 추출 분야에 다양하게 활용되어지고 있다.
SURF는 SIFT보다 향상된 속도를 가지기 위하여 적분 영상과 헤시안 검출기를 사용한다. 적분영상의 각 화소값은 입력 영상의 좌측 상단에서 현재 화소까지의 값을 누적한 것이다. 이는 마스크 연산을 수행할 때 소요되는 시간을 감소시키기 위한 방안이다. 다음 과정으로 적분된 영상에 헤시안 검출기를 사용하여 특징의 위치를 추출해낸다. 추출된 특징이 어떠한 정보를 가지고 있는지 알기 위하여 특징의 위치에서 주방향을 계산하고 주방향을 기준으로 기술자를 추출하여 특징의 정보를 구성한다. 결과적으로 각 특징의 정보는 64차원의 벡터로 구성된다. 영상 정렬을 수행하기 위해서는 기준이 되는 참조 영상과 정렬이 될 입력 영상에 대하여 모두 SURF를 수행시키고 여기서 얻어진 특징과 기술자를 유클리디안 거리 기준에 따라 가까운 특징들끼리 정합쌍으로 생성한다[7-8].
SURF는 SIFT의 처리 속도를 개선한 기법이다. 하지만 일반적인 SURF는 여전히 실시간으로 구동해야 하는 머신 비전에서 사용하기에는 수행 시간이 길다. 따라서 이러한 수행 시간을 줄이기 위하여 본 논문에서는 GPGPU를 기반으로 하는 CUDA 기술을 이용한다.
CUDA 기술을 통해 수행 시간을 단축하기 위해서는 SURF 기법을 병렬화 하여야 한다. 병렬화는 SURF 기법의 각 과정을 모듈화하고 스레드 할당을 하는 방법을 말한다. Fig. 1에서 보는 것과 같이 특징점 계산, 주방향 벡터 계산, 기술자 계산의 과정에 스레드를 할당하여 작업을 수행하도록 하였다. 하지만 데이터 간에 순차적인 합을 사용하는 적분 영상생성 과정은 병렬화를 수행할 수 없어 중앙처리장치(CPU)에서 처리하게 된다. 이러한 일련의 과정을 통하여 2560×1600 해상도에서 77배의 속도 이득을 얻었다.
Fig. 1.Parallelizing scheme of SURF for CUDA implementation.
Fig. 2는 2560 × 1600 해상도를 가지는 원본 영상의 크기를 변화 시키면서 중앙처리장치와 그래픽처리 장치 (GPU)에서 SURF의 수행 시간을 비교한 것이다. 영상의 크기가 커질수록 병렬화를 통해 얻을 수 있는 속도 이득이 증가하는 것을 확인할 수 있다. 하지만 머신 비전에서는 고해상도의 영상을 주로 사용하므로 CUDA 기술을 활용하여 충분한 속도 이득을 얻을 수 있다.
Fig. 2.Comparison of processing time according to image size.
3. CUDA를 이용한 SURF기법의 병렬화
3.1 영상 정렬
머신 비전에서의 영상 정렬이란 입력 영상을 참조영상의 좌표계로 변환 시키는 것을 의미한다. 좌표계 변환을 위해서는 특징 간의 정합쌍을 이용하여 두 영상의 관계식을 유도하여야 한다. 두 영상의 관계식은 어떠한 변환을 고려하는 가에 따라서 다양한 방법이 사용 될 수 있는 데, 본 논문에서는 머신 비전에서의 응용을 고려하여 어파인 변환을 사용한다. 어파인변환은 영상의 회전, 크기변화, 이동, 전단 변화를 포함하는 변환식으로 머신 비전에서 발생 할 수 있는 참조 영상과 입력 영상 사이의 변환을 모두 포함하고 있다. 어파인 변환은 식 (1)과 같이 6개의 변수 a, b, c, d, e, f로 표현할 수 있어 6계수 모형이라고도 한다.
식 (1)에서 는 입력 영상의 i 번째 특징점 좌표를 말하며 는 이를 6계수에 따라 참조 영상의 좌표계로 변환한 좌표이다. 이상적인 경우 은 실제 정합된 참조 영상의 i 번째 특징점 좌표 와 완전히 일치하여야 한다. Fig. 3은 n 개의 정합쌍을 이용하여 6계수 모형에 따라 영상 정렬을 수행하는 과정을 도시한 것이다. 이 실제 정합된 참조 영상의 좌표 와 가능한 일치하도록 6계수를 결정해야 하는 데, 이를 해결하기 위하여 다음절의 외부자 제거를 이용하는 최소 제곱법을 사용한다.
Fig. 3.Image alignment using six-parameter model.
3.2 반복적 외부자 제거를 이용하는 최소 제곱법
SURF를 통해 얻어진 정합쌍에는 영상간의 서로 다른 두개의 특징점이 정합된 오정합쌍이 포함되어 있을 뿐만 아니라 정합쌍의 대응되는 특징점의 위치에 큰 오류가 포함될 가능성이 있다. 이러한 오차가 포함된 정합쌍을 이용하여 6계수를 추출하는 경우 정합 성능이 크게 떨어지게 된다.
제안된 방법은 최적의 6계수 해를 찾기 위한 방법으로 최소 제곱법을 기반으로 한다. 최소 3개의 정합쌍을 사용하면 6계수를 찾을 수 있지만 가능한 많은 정합쌍 정보를 사용하여 최적의 6계수를 찾기 위하여 최소 제곱법을 사용한다. 이 때 반복적 외부자 제거를 이용하는 최소 제곱법은 최소 제곱법을 사용하여 6계수를 구하는 과정에 있어서 반복적으로 오차가 큰 정합쌍을 판단하고 이를 제거하여 최적의 6계수를 찾는 방법을 말한다.
구체적으로 제안된 방법은 Fig. 4와 같이 최초에는 모든 정합쌍을 사용하여 최소 제곱법을 통해 해를 찾는다. 이때 구해진 해가 나타내는 6계수 움직임에 의해 입력 영상의 각 특징점을 참조 영상의 좌표계로 보내었을 때 가장 큰 거리 오차를 보이는 최대 오류 값을 구한다. 이 최대 오류값이 기준값 이하이면 과정을 종료하고 그렇지 않은 경우 가장 큰 거리오차를 보이는 정합쌍을 제거하고 6계수 움직임을 다시 추정한다. 즉 반복을 거치면서 구해진 6계수의 움직임과 가장 상이한 경향을 보이는 정합쌍을 반복적으로 제거하여 최적의 해를 구하게 된다.
Fig. 4.Flow chart of least square method using iteratively removing outlier.
최소 제곱법을 이용해 6계수 움직임을 추정하는 과정은 다음과 같다. Fig. 3에서 보는 것과 같이 각각의 정합쌍에 대한 참조 영상의 특징 좌표와 입력 영상의 특징 좌표를 설정하였을 때, 특정 6계수에 의한 i 번째 정합쌍의 정렬 오차 Ei는 식 (2)와 같고 n개 정합쌍 전체에 대한 최소제곱법을 위한 비용함수는 식 (3)과 같이 정의된다.
식 (3)을 최소화하기 위해 a, b, c, d, e, f는 식 (4)를 만족하여야 하며, 이를 통해 식 (5)와 식 (6)에서와 같이 a, b, c, d, e, f를 구할 수 있다.
여기서 Z, X′, Y′은 식 (7), 식 (8), 식 (9)와 같이 정의된다.
식 (5)와 식 (6)에 의해 계산된 6계수를 이용하여 각 i 번째 정합쌍에 대한 거리 오차를 식 (2)를 통해 구할 수 있다. 이 때 가장 큰 거리 오차가 기준값 이상인 경우 해당 정합쌍을 제거하여 최소 제곱법을 반복적으로 수행한다. 이러한 방법을 사용함으로써 정합쌍이 오정합쌍을 포함하고 있어도 올바른 정렬을 수행할 수 있게 된다.
4. 다중 스펙트럼 영상 이용 및 오정합쌍 제거 기법
3장에서 살펴본 바와 같이 반복적 최소 제곱법을 이용하여 6계수를 추출하고 이를 이용하여 영상 정렬을 수행할 수 있다. 반복적 최소 제곱법을 이용하면 정합쌍 내에 오차를 발생 시키는 소수의 외부자가 존재하는 경우 이를 제거할 수 있지만 정합쌍 집합 내에 큰 오차를 포함한 다수의 외부자가 포함되는 경우 올바른 정합쌍이 오정합쌍으로 잘못 판단되어 영상 정렬을 정상적으로 수행할 수 없게 된다. 따라서 본 장에서는 반복적 최소 제곱법 단계 이전에 정합쌍을 찾는 과정에서 오정합쌍을 제거하고 올바른 정합쌍을 만들어내기 위해 추가적으로 사용하는 기법들을 제안한다.
여기서 제안되는 기법은 다음의 두 가지 조건을 만족하는 다중 스펙트럼 머신 비전의 구동 환경을 고려하여 고안되었다. 첫째, 조명의 변화를 통해 하나의 대상에 대하여 여러 파장대의 영상을 얻는 다중스펙트럼 머신 비전 환경을 가정한다. 최근 광학 장비의 발전으로 인간이 육안으로 수행하기 어려운 복잡한 검사 문제를 다중 스펙트럼 머신 비전을 통해 해결하고 있고 이러한 활용은 날로 증가하고 있다[9]. 둘째, 머신 비전에 들어오는 참조 영상과 입력 영상 내에 포함된 검사 대상체 간의 회전이 제한적임을 가정한다. 이는 대부분의 머신 비전에서 물리적 정렬을 수행하여 대상체간의 회전이 현격하게 크기 않기 때문이다.
4.1 다중 스펙트럼 영상 이용 기법
질감도가 풍부한 영상은 하나의 영상에서도 충분한 정합쌍을 추출할 수 있지만, 그렇지 않은 경우 정렬에 필요한 충분한 수의 정합쌍을 확보하기 어렵다. 특히 일부 머신 비전에서의 영상들은 질감도가 부족한 경우가 발생할 수 있으므로 제안된 방법과 같은 일반적인 특징 추출과 정렬 방식을 사용할 수 없을 수 있다. 이러한 문제를 극복하기 위하여 하나의 대상에서 여러 장의 영상을 얻을 수 있는 다중 스펙트럼 영상을 이용한다.
다중 스펙트럼 기술을 이용하면 복잡한 검사 문제를 해결할 수 있을 뿐만 아니라 여러 스펙트럼 영상으로부터 충분한 수의 정합쌍을 얻을 수 있어 참조 영상과 입력 영상간의 관계를 서술하는 6계수를 더욱 정확하게 얻을 수 있게 된다. 즉, 반복적 최소 제곱법은 많은 수의 데이터를 사용할수록 더 정확한 결과를 얻을 수 있기 때문에 다중 스펙트럼 영상을 이용하면 더욱 정확한 6계수를 추정할 수 있게 된다.
본 응용에서 다중 스펙트럼 영상을 사용하기 위해서는 한 가지 조건을 만족해야 한다. 한 대상에서 얻어진 다중 스펙트럼 영상들의 좌표가 모두 동일해야 한다. 만약 좌표가 동일하지 않으면 이 좌표를 맞추기 위하여 추가적인 정합이 필요하기 때문이다. 동일한 좌표계의 다중 스펙트럼 영상은 하나의 카메라와 서로 다른 조명을 이용하는 머신 비전 시스템을 통해 얻을 수 있다. 최근 고속 카메라 기술의 발달로 이러한 머신 비전 시스템이 폭 넓게 응용되고 있다[12].
4.2 주방향 이용 기법
SURF에서 각 특징들은 주방향 벡터를 가지고 있으며 이는 회전 변화에 강인한 특징 추출을 위해 사용된다. 이러한 주방향 벡터는 밝기 값이 급격하게 변화하는 방향으로 결정된다. 참조 영상과 입력 영상간의 회전 변화가 크지 않다면 생성될 정합쌍의 각 특징에 대한 주방향 벡터는 유사해야한다.
따라서 본 논문에서는 정합쌍 생성 시 주방향 벡터를 확인하여 유사한 방향인 특징들에게만 정합을 허용하여 오정합쌍이 생성될 가능성을 줄인다. 구체적으로 Fig. 5에서와 같이 참조 영상에 있는 특징의 주방향 벡터의 각도와 입력 영상에 있는 특징의 주방향 벡터의 각도가 허용치 α 안에 들어와야 정합을 허용한다. 이 때 α는 해당 머신 비전 시스템의 물리적 정렬 오차를 고려하여 결정되어 진다.
Fig. 5.Range of permission for orientation vector.
4.3 4분할 기반 정합 범위 제한 기법
4분할 기반의 정합 범위 제한 기법은 입력된 영상과 참조 영상의 회전 변화 정도가 사전 정렬 과정을 통해 크지 않다는 특징을 이용한다. 구체적으로 4분할 기법은 참조 영상과 입력 영상을 4개의 영역으로 나누어서 각각의 영역에서만 정합쌍이 형성되는 것을 허락하는 기법이다.
Fig. 6은 참조 영상을 4분할하는 방법을 도시한 것이다. 4분할하는 기준은 특징점들의 무게 중심으로 한다. SURF가 추출하는 특징들은 영상 내 검사대상의 다양한 영역에서 발생할 수 있다. 때문에 이 특징점들의 무게 중심을 구하면 추출된 전체 특징들을 무게 중심의 위치를 기준으로 4개의 그룹으로 균형있게 배분할 수 있다.
Fig. 6.4 division of a reference image.
마찬가지로 입력 영상도 무게중심을 기준으로 4분할한다. 하지만 입력 영상에는 Fig. 7에서와 같이 a, b 로 표시된 수직, 수평 방향의 여분을 설정하여 분할되는 4개의 각 영역을 확장하여 중첩되게 한다. 이러한 확장은 입력 영상이 회전 변화 및 이동을 하였을 경우에도 대응되는 영역에서 올바른 정합쌍을 찾기 위함이다. a, b 는 해당 머신비전에서 사용되는 물리적 정렬 과정의 정확도에 따라 사용자가 입력하는 비율 값인 β, γ 값과 영상의 가로 길이 w와 세로 길이 h에 의해 식 (10)과 식 (11)에서와 같이 결정된다.
Fig. 7.4 division of input image.
5. 실험 결과
본 장에서는 제안된 기법의 성능을 실제 머신 비전의 응용 사례에 적용하여 평가 및 분석한다. 실험에 사용된 영상은 Fig. 8에서와 같이 평판 디스플레이 회로 기판 위에 부착된 발광다이오드 (LED)를 촬영한 것으로 2048 × 2048 해상도를 가지는 6개의 채널로 구성된 다중 스펙트럼 영상이다. 이러한 응용 사례에서 발광다이오드 각각의 부착 상태를 다양한 측면에서 검사하기 위해 일차적으로 개개의 발광다이오드를 정렬해 내야 한다. 예를 들어 각각의 발광다이오드가 얼마나 기울어져 부착되어 있는지를 검사하여야 하는데 이를 위해서는 기준이 되는 발광다이오드 참조 영상에 비해 발광다이오드의 입력 영상이 얼마나 정확하게 정렬될 수 있는지가 중요한 요소이다. 이러한 응용에서는 정렬을 위한 별도의 마커를 사용하는 것이 근원적으로 불가능하다.
Fig. 8.Multi-spectral image.
실제 응용에서는 기준이 되는 발광다이오드 참조 영상을 미리 설정해 두고 입력 영상에서 발광다이오드가 부착된 개략적인 위치를 찾아가 해당 참조 영상을 정렬하게 된다. 본 논문에서는 제안된 기법의 성능을 정량적으로 평가하기 위하여 발광다이오드가 부착된 사전 위치 정보를 이용하여 Fig. 9에서와 같이 각 입력 영상으로부터 직접 발광다이오드가 포함된 영역을 추출하여 실험 영상열을 구성하였다. 입력 영상열은 Fig. 9에서와 같이 발광다이오드의 종류에 따라 크게 3개의 그룹으로 나누어지고 각 그룹별로 30개의 영상으로 구성된다. 이 때 각각의 영상은 다중 스펙트럼 영상으로 Fig. 8에서와 같이 6개의 채널로 구성되어 있다. Fig. 9는 각 그룹의 샘플 영상으로 각각 390×130, 400×120, 370×340의 해상도를 가진다.
Fig. 9.Sample images for each experimental image group. (a) Group 1, (b) Group 2, and (c) Group 3.
제안된 기법의 성능 평가를 수치적으로 검증하기 위해 NCC(Normalized cross-correlation)를 사용하였다. NCC는 참조 영상과 정렬된 입력 영상의 상관도를 정량적으로 수치화 할 수 있는 방법으로 -1에서 1까지의 정수로 상관도가 나타난다. 여기서 NCC가 1이 될 수록 두 영상의 상관도가 크다는 것을 의미하며 영상 정렬이 잘 된 것을 의미한다. 또한 -1이 되면 음의 방향으로 상관도가 높다는 것을 의미하고 절대 값이 0에 가까울수록 두 영상의 상관도가 작음을 의미한다. 식 (12)는 NCC의 정의를 나타낸다. 각 영상의 밝기 값의 평균과 표준편차를 이용하여 밝기 값을 정규화하고 각 영상의 정규화된 밝기 값을 곱하고 누적하여 영상의 크기로 나누어 주면 참조 영상과 정렬된 입력 영상의 상관도를 알 수 있다.
여기서 w와 h는 각각 영상의 가로 길이와 세로 길이를 의미한다. 또한 IR (i, j), II (i, j)는 i, j위치에서 각각 참조 영상과 입력 영상의 밝기 값을 나타낸다. mR, mI는 각각 참조 영상과 입력 영상의 평균 밝기 값을 나타내고 σR, σI는 각각 참조 영상과 입력 영상의 밝기 값의 표준편차를 나타낸다.
Fig. 10은 NCC에 따른 정렬된 영상의 경향을 나타내고 있다. (a)의 참조 영상에 대하여 (b)와 같이 정렬된 영상은 0.0938의 NCC를 가진다. 이 경우 해당 영상은 참조 영상을 유추할 수 없을 정도로 심각하게 왜곡되었음을 알 수 있다. (c)영상은 NCC가 0.3498인 영상으로 일정 부분 정렬이 되었으나 기울어져 있는 것을 확인할 수 있다. 반면 (d)영상은 0.7032의 NCC를 가지고 있으며 참조 영상과 큰 차이를 보이지 않는다. Fig. 10을 통해 NCC를 통해 영상 정렬의 정도를 효과적으로 판단할 수 있음을 알 수 있다.
Fig. 10.Result of image alignment according to the NCC. (a) Reference Image, (b) NCC=0.0938, (c) NCC =0.3498, and (d) NCC=0.7032.
본 모의실험에서는 Table 1과 같이 3개의 기법을 정의하고 NCC 값의 비교를 통해 제안된 기법들의 성능을 평가하였다. Table 1에서 기법 1은 단일 스펙트럼 영상에 대하여 반복적 외부자 제거를 이용한 최소 제곱법을 적용한 것이다. 기법 2는 보다 충분한 정합쌍의 정보를 얻기 위해 다중 스펙트럼 영상에 반복적 외부자 제거를 이용한 최소 제곱법을 적용한 것이다. 기법 3은 다중 스펙트럼 영상의 사용으로 증가된 정합쌍 정보에 존재할 수 있는 오정합쌍을 제거하기 위해 주방향 이용 기법과 4분할 기반 정합 범위 제한 기법이 추가된 것이다.
Table 1.Experimental methods
그룹 내의 특정 영상을 참조 영상으로 하고 이를 제외한 다른 모든 영상을 차례로 입력 영상으로 설정하여 정렬 과정을 수행한다. 정렬 과정을 수행한 후 정렬된 입력 영상과 참조 영상 간에 상관도를 NCC를 통해 정량화 한다. 이러한 과정은 각 그룹 내의 또 다른 영상을 참조 영상으로 하여 반복 수행된다. Fig. 11은 그룹 1 영상 중 특정 영상을 참조 영상과 입력 영상으로 하였을 때 각 기법에 따른 정렬 결과의 예를 도시한 것이다.
Fig. 11.Comparison of results according to each method. (a) Alignment result by method 1 (NCC=0), (b) Alignment result by method 2 (NCC=0.008), and (c) Alignment result by method 3 (NCC=0.615).
Fig. 11(a)는 기법 1을 적용하였을 때의 결과이다. 이 결과는 단일 스펙트럼 영상을 사용하는 한계로 인하여 6계수 추출에 필요한 충분한 수의 정합쌍을 확보하지 못하는 특수한 경우를 보여주고 있다. 이러한 경우 영상 정렬을 수행할 수 없으므로 Fig. 11(a)에서와 같이 정렬이 수행되지 않도록 처리되고 NCC는 최소값인 0이 된다.
Fig. 11(b)는 기법 2를 적용하였을 때의 결과 중 하나로 6계수를 추출하여 정렬이 수행되었으나 오차가 큰 오정합쌍이 존재하여 올바르지 못한 형태로 정렬이 수행되는 경우를 보여주고 있다. 반복적 외부자 제거를 이용한 최소 제곱법을 통해 오정합쌍을 제거할 수 있으나 오차가 매우 큰 오정합쌍이 다수 존재하는 경우 결과에서와 같이 정렬이 정상적으로 수행되지 않는다. 특히 실험에 사용된 영상에서와 같이 대칭성이 크게 나타나는 경우 위와 아래의 특징점과 좌와 우의 특징점들이 대칭성으로 인해 오정합될 가능성이 커진다. 이 경우 NCC는 0.008로 계산되어 정렬 과정이 올바르지 않음을 반영하다.
Fig. 11(c)는 오정합쌍을 사전에 제거하는 기법이 포함된 기법 3을 적용하였을 때의 정렬 결과를 나타내고 있다. 다중 스펙트럼을 이용함으로써 발생할 수 있는 오차가 큰 오정합쌍을 효과적으로 제거하여 성공적으로 정렬을 수행하고 있음을 보여주고 있다.
Table 2는 각 영상 그룹과 전체 영상에 대한 정렬 성공률과 평균 NCC를 나타낸 것이다. 여기서 정렬 성공은 육안으로 직접 확인하여 입력 영상과 참조영상이 Fig. 10(c)에서와 같은 일그러짐을 발생시키지 않고 일치하는 경우로 판단한다.
Table 2.Rate of alignment success and Average NCC for each image sequence
Table 2에서 단일 스펙트럼을 이용하는 기법 1에 비해 다중 스펙트럼을 이용하는 경우 정렬 성공률과 NCC가 크게 개선되고 있음을 보여주고 있다. 즉, 실험에 사용된 단일 스펙트럼 영상의 경우 충분한 수의 정합쌍을 확보하기 어려워 Fig. 11(a)에서와 같이 정합을 수행할 수 없는 경우가 다수 발생할 뿐만 아니라 확보된 정합쌍 내에도 오정합쌍이 포함되어 있으므로 정렬 성능이 저조하게 나타난다. 구체적으로 다중 스펙트럼을 사용함으로써 정렬 성공률이 24.14% 상승하고 NCC가 0.0606 개선된다.
한편 다중 스펙트럼 영상에 대하여 반복적 외부자 제거를 이용한 최소 제곱법을 사용하는 기법2의 경우 완벽한 정렬 성공률을 보여주지는 못한다. 이는 다중 스펙트럼 영상을 통해 얻은 정합쌍내에 오정합쌍이 다수 포함된 경우 영상 정렬을 정상적으로 수행할 수 없기 때문이다. 특히 실험에 사용된 영상과 같이 강한 대칭성이 있을 경우 상하 및 좌우간에 이러한 오정합쌍이 다수 존재할 가능성이 크기 때문이다. 반면 주방향 이용 기법과 4분할 기반 정합 범위 제한 기법을 포함하는 기법3은 이러한 상황에서 오정합쌍을 효과적으로 제거하여 완전한 영상 정렬을 수행함을 알 수 있다. 구체적으로 기법 3을 사용함으로써 정렬 성공률은 5.75% 상승하고 NCC는 0.0094 개선된다. 따라서 제안된 모든 방법이 포함된 기법 3의 경우 단일 스펙트럼을 사용하는 기법 1에 비해 29.89%의 정렬 성공률 상승과 0.0699의 NCC 향상을 보인다.
다음으로 제안된 기법의 처리 속도를 평가한다. 성능 평가 시 4GB 랩, Intel i5-2500k 3.30GHz 중앙처리장치, GTX 680 그래픽 처리 장치가 장착된 컴퓨터가 활용되었다. 참조 영상에 대한 SURF의 특징점추출과 기술자 계산 과정은 사전에 처리하여 그 결과를 메모리에 저장하여 매 입력 영상 마다 활용할 수 있으므로 참조 영상에 대한 SURF 처리 시간은 성능평가 시 제외할 수 있다. 따라서 전체적인 수행 시간은 Fig. 9와 같은 2048×2048의 해상도를 가지는 입력 영상에 대하여 SURF를 처리하는 시간에 의해 결정된다. 개인용 컴퓨터의 중앙처리장치로만 이를 처리하는 경우 15.82초가 소요되는데 반해 II장에서 설명된 GPGPU기술을 활용한 그래픽 처리 장치로 이를 처리하는 경우 0.21초가 소요되어 처리 속도 측면에서 약 75배의 이득을 얻을 수 있다.
6. 결 론
본 논문에서는 다중 스펙트럼 머신 비전의 초기영상 정렬 문제를 해결하기 위한 새로운 방안을 제안하였다. 마커가 없는 영상에서 영상 정렬이 수행될 수 있도록 SURF를 이용하여 특징을 추출하고 특징들의 정합을 통해 정렬을 수행 하였다. 구체적으로 반복적 외부자 제거를 이용하는 최소 제곱법 기반의 영상 정렬 방안을 제안하여 오정합쌍에 의한 성능저하를 방지하도록 하였다. 또한 다수의 오정합쌍에 의해 발생할 수 있는 문제를 해결하기 위해 주방향 이용 기법과 4분할 기반 정합 범위 제한 기법을 사용하였다. 모의실험을 통해 이러한 제안된 각 과정들이 다중 스펙트럼 영상을 효과적으로 정렬할 수 있음을 입증하였다. 구체적으로 제안된 방법은 단일 스펙트럼 영상으로 최소 제곱법 기반의 영상 정렬을 수행하는 방법에 비해 29.89%의 정렬 성공률 상승을 보였다.
References
- A. Kumar, "Computer-Vision-Based Fabric Defect Detection: A Survey," IEEE Transactions on Industrial Electronics, Vol. 55, pp. 348-363, 2008. https://doi.org/10.1109/TIE.1930.896476
- L. Li, Z. Wang, F. Pei, and X. Wang, "Improved Illumination for Vision-Based Defect Inspection of Highly Reflective Metal Surface," Chinese Optics Letters, Vol. 11, pp. 021102, 2013. https://doi.org/10.3788/COL201311.S21102
- C.Q. Liu, B.Q. Chen, Y. Liu, and T. Zha, "Quantity Detection of Kernels in an Ear Corn Based on Machine Vision," Applied Mechanics and Materials, Vol. 246-247, pp. 279-285, 2012. https://doi.org/10.4028/www.scientific.net/AMM.246-247.279
- H.-L. Song and T.-W. Hur, "Development of Auto Sorting System for T Type Welding Nut Using A Vision Inspector," Journal of the Institute of Electronics Engineers of Korea, Vol. 48, No. 1, pp. 16-24, 2011.
- M.C. Lawrence, "Least-Squares Method of Alignment using Markers," Electron Tomography, Springer Publishing, New York, 1992.
- D.G. Lowe, "Distinctive Image Features from Scale-Invariant Keypoints," International Journal of Computer Vision, Vol. 60, No. 2, pp. 91-110, 2004. https://doi.org/10.1023/B:VISI.0000029664.99615.94
- H. Bay, A. Ess, T. Tuytelaars, and L.V. Gool, "Speeded-Up Robust Features (SURF)," Computer Vision and Image Understanding, Vol. 110, No. 3, pp. 346-359, 2008. https://doi.org/10.1016/j.cviu.2007.09.014
- C. Evans, Notes on the OpenSURF Library, Technical Report, CSTR-09-001, University of Bristol, 2009.
- O. Kleynen, V. Leemans, and M.-F. Destain, "Development of a Multi-Spectral Vision System for the Detection of Defects on Apples," Journal of Food Engineering, Vol. 69, No. 1, pp. 41-49, 2005. https://doi.org/10.1016/j.jfoodeng.2004.07.008
- J.D. Owens, D. Luebke, N. Govindaraju, M. Harris, J. Kruger, A.E. Lefohn, et al., "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
- Heewon Kye, "Fast Medical Volume Decompression using GPGPU," Journal of Korea Multimedia Society, Vol. 15, No. 5, pp. 624-631, 2012. https://doi.org/10.9717/kmms.2012.15.5.624
- S.G. Lim, S.Y. Lee, and B.-G. Joo, Vision Inspection System, Particularly for Obtaining Multi-Images at Once according to Different I lluminations to Improve Efficiency of Inpection by Shortening Image Photographing Time, Korea Patent 100833717, 2008.
Cited by
- Efficient Method for Recovering Spectral Reflectance Using Spectrum Characteristic Matrix vol.18, pp.12, 2015, https://doi.org/10.9717/kmms.2015.18.12.1439
- Indoor Location and Pose Estimation Algorithm using Artificial Attached Marker vol.19, pp.2, 2016, https://doi.org/10.9717/kmms.2016.19.2.240
- Anomaly detection in periodic motion scenes based on multi-scale feature Gaussian weighting analysis vol.30, pp.5, 2014, https://doi.org/10.1088/1361-6501/ab0479