보안이나 비전 인식을 위한 영상 기술이 급속히 발전함에 따라, 카메라를 통해 얻어지는 영상의 내용을 분석하여 영상 속의 개체들(objects)을 인식하고, 이러한 개체들의 움직임을 식별하는 것으로 영상 내의 상황을 판단하도록 하는 다양한 영상 처리 기술들이 개발되어 왔으며, 이러한 기술들을 통해 고도화된 자동 상황 인식이 가능하게 되었다.
예를 들어, 영상 내의 보행자를 인식하거나, 특정 영역에 진입하는 침입자를 검출하는 등의 비교적 간단한 영상 인식부터, 검출 물체의 속도나 검출 물체의 크 기와 형태로부터 검출 물체를 식별하여 각 검출 물체의 이상행동이나 상황을 파악하는 등의 기능도 수행하고 있다.
도 1은 현재 사용되는 영상 처리의 예를 보인 것으로, 영상(10)에 나타난 보행자(11)를 검출하여 검출 식별용 표시(12)를 출력하고, 해당 보행자(11)의 크기와 이동 속도(13)를 검출하는 예를 보인 것이다.
이러한 영상 처리를 위해서 물체 검출 기능과, 물체 식별 기술, 이동체에 대한 추적 기술이 필요하며, 정확한 식별, 크기와 속도 등의 구체적 판단을 위해서 영상 내의 물체와 실제 공간 상의 크기 정보를 정확하게 매칭시키는 기술이 필요하다.
특히, 정밀한 영상 분석을 위해서는 정확한 크기 측정이 가능한 공간 매핑이 필수적인데, 3차원 공간의 일부를 2차원 공간으로 투사한 카메라 영상의 경우, 별도의 정보 없이 해당 2차원 영상과 3차원 공간 모델을 매핑하기 어렵다. 하지만 영상을 얻을 때 사용된 몇몇 파라미터들을 알 수 있는 경우에는 2차원 영상으로부터 3차원 실제 공간을 수학적으로 모델링하여 매핑시킬 수 있다. 이러한 파라미터로는 해당 영상을 획득하는 카메라의 설치 높이, 지향각, 그리고 시야각(Field Of View, 이하 FOV라 칭함)이 주로 사용되며, 이들을 정확하게 알 경우 수학적 모델링에 의한 공간 모델 구성이 가능해진다.
하지만, 카메라 설치 위치와 지향각을 실측해야 하므로 높이와 지향각(Tilt Angle)을 얻기 어려우며, 지면의 불규칙함 등에 의해 실측값에 대한 신뢰성이 높지 않다. 더불어, FOV의 경우 자동초점이거나 줌 기능을 이용했을 때 그 값을 정확하 게 얻기 어렵다.
도 2는 FOV를 설명하기 위한 카메라 구성의 예를 보인 것이다. 도시한 바와 같이 카메라(20)는 크게 렌즈(21)와 촬상소자(22)로 이루어지며, 상기 렌즈의 중심으로부터 촬상소자(22)까지의 거리를 초점 거리(Focal Length)라 하고, 상기 촬상 소자(22)에 상이 맺히는 영역의 광각(Optical Angle)을 FOV라 한다. 상기 FOV는 렌즈의 특성과 촬상 소자(22)의 크기 그리고 초점 거리를 통해 구할 수 있는데, 카메라 특성으로 해당 정보가 모두 제공되지 않을 수 있고 자동초점의 경우 초점 거리가 변화되어 이를 사용자가 정확하게 알 수 없기 때문에 정확한 모델링이 어렵다.
결국, 카메라의 구체적인 높이, 지향각, FOV 값을 모두 알기 어렵기 때문에, 감시 영상 분석의 경우 실제로 해당 영역에 크기가 알려져 있는 대상을 노출시켜 영상과 대상 크기 정보를 매칭시키는 방식을 이용하고 있다. 이는 대단히 번거로운 작업일 뿐만 아니라 모든 화면 상의 영역에 대해서 이러한 작업을 하기도 어렵고, 감시 영역이 가변되거나 지향각이 변화되는 경우에는 이러한 작업을 다시 수행해야 하기 때문에 그 불편함이 대단히 크다.
다양한 영상 분석의 필요성과 수요가 급증하고 있는 상황에서 영상 분석 품질의 핵심 요인이 되는 영상과 실제 공간 모델의 매핑에 대한 캘리브레이션을 보다 쉽고 용이하게 수행할 수 있도록 하는 새로운 캘리브레이션 장치나 방법이 절실하게 요구되고 있는 실정이다.
상기한 바와 같은 본 발명을 첨부된 도면들과 실시예들을 통해 상세히 설명하도록 한다.
도 3은 3차원 공간과 2차원 영상을 맵핑 시키기 위한 공간 모델링에 필요한 파라미터를 설명하기 위한 것으로, 도시된 카메라(30)는 영상 획득을 위한 시점이자 대응되는 공간 모델링에서의 시점이 된다.
따라서, 상기 카메라(30)를 통해서 얻어지는 공간에 대한 2차원 맵핑 정보는 지면(40)에 대한 상기 카메라(30)의 높이(H), 상기 카메라의 지향각(θt), 상기 카카메라의 시야각(θf)과 같은 파라미터를 통해서 수학적으로 모델링 될 수 있으며, 그 역도 가능하게 되므로 상기 파라미터를 정확하게 알 수 있을 경우 2차원 영상으로부터 실제 3차원 공간을 모델링하여 맵핑할 수 있다.
여기서, 상기 카메라의 시야각은 상기 렌즈 특성, 초점 거리 등을 통해서도 얻어질 수 있으므로, 상호 대체가 가능할 수 있다.
도 4는 본 발명의 실시예에 따른 카메라 캘리브레이션 장치의 구성을 보인 것으로, 실질적으로는 해당 카메라 캘리브레이션 장치를 영상 보안 시스템(100)에 적용한 경우이다. 도시된 영상 감시부(110)는 영상 보안을 위한 영상 분석 수단이 포함될 수 있으며, 복수의 카메라들에 대한 영상을 관리하여 영상 내의 물체 움직 임을 추적하거나 식별하고, 상황을 분석하는 등의 작업을 실시하여 그 결과를 별도의 영상 감시 대응 수단으로 제공할 수 있다.
상기 영상 감시부(110)가 정확한 영상 분석을 실시하기 위해서는 적어도 영상 내의 대상에 대한 정확한 실측값을 얻을 수 있어야하며, 이를 위해서 상기 영상 감시부(110)는 연결된 카메라 상태에 따른 파라미터값(높이, 지향각, 시야각 등)으로 영상에 대한 공간을 모델링하여 매핑시키게 된다.
이러한 파라미터값을 정확하게 구하기 위해서 촬영 공간에 알려져 있는 물체를 여러 위치에 배치한 후 얻어지는 영상과 실제 물체 사이의 관계를 통해 해당 파라미터를 산출할 수 있으나 이는 매우 번거로운 작업일 뿐만 아니라 카메라의 감시 상태가 가변되는 경우에 실시간 대응하기 어려운 문제점이 있다. 또한, 상기 파라미터에 해당하는 값을 실측하여 그 값을 얻는 방식도 있으나, 이 역시 번거로울 뿐만 아니라 정확한 측정값을 얻기 어려운 경우가 많으며 고정 위치 변화, 자동 초점, 줌 기능 이용 등에 따라 그 값이 변경되는 경우 파라미터 측정을 다시 실시해야 한다. 또한, 설치 위치가 접근이 어려운 경우라면 그 측정이 대단히 어렵다.
하지만, 도시된 구성과 같은 본 발명의 실시예에서는 카메라 캘리브레이션부(120)를 통해서 영상 감시부(110)에서 사용될 파라미터를 별도의 실측 과정 없이 영상만을 통해서 결정할 수 있도록 한다.
상기 카메라 캘리브레이션부(120)는 시점에 관련된 파라미터에 맞추어 생성된 3차원 공간에 기 설정된 크기의 3차원 개체를 하나 이상 나타내고 외부 제어에 따라 상기 파라미터를 가변하여 가변된 3차원 공간 및 그에 따른 3차원 개체를 수 정하여 표현하는 3차원 공간 관리부(121)와, 상기 3차원 공간 관리부(121)가 제공하는 3차원 개체를 영상 감시부(110)를 통해 제공되는 영상과 오버레이(overlay) 방식 등으로 결합하여 동시에 표시하는 영상 결합부(122)와, 상기 3차원 공간 관리부(121)에서 설정된 파라미터를 상기 영상 감시부(110)를 통해 제공되는 영상의 카메라(채널) 및 그 상태에 대응시켜 저장하는 설정 관리부(123)를 포함하여 이루어지며, 상기 설정 관리부(123)를 통해 저장되는 설정 정보(124)는 상기 영상 감시부(110)에서 영상에 대한 공간 모델을 구할 경우 사용될 수 있다.
상기 카메라 캘리브레이션부(120)는 실질적으로 상기 영상 감시부(110)와 같은 영상 보드 상에 구성될 수도 있고, 상기 영상 보드를 제어하는 제어 장치(예를 들어 컴퓨터 등)에서 동작하는 영상 감시용 분석 프로그램의 일부로서 제공될 수도 있으며, 분할로 구성될 수도 있는 등 그 구성은 다양하게 변형 가능하다.
상기 3차원 공간 관리부(121)는 상기 3차원 개체를 생성함과 아울러, 상기 3차원 개체가 표현되는 3차원 공간를 시각적으로 표현하기 위하여 그 기준면을 2차원 그리드로 표시할 수 있다. 한편, 상기 3차원 개체는 여러 종류의 크기를 알 수 있는 개체들이 표시될 수 있는데, 상기 외부 제어 입력, 즉 사용자의 조작에 따라 표시되는 개체들을 이동하거나, 삭제하거나, 복사하여 표시할 수 있다. 혹은 별도의 3차원 개체 데이터베이스(125)를 구성하여 원하는 개체들을 선택하여 표시할 수도 있다. 여기서, 상기 3차원 개체는 그 크기 정보도 함께 설정되어 공간에 표현될 경우 그 크기에 맞추어 표현되게 된다.
한편, 이러한 3차원 공간 관리부(121)는 3차원 공간을 표현함에 있어 그 시 점이 설정되게 되는데, 그 파라미터를 상기 영상 감시부(110)를 통해 제공받는 영상의 시점, 즉 카메라의 시점과 대응시킬 수 있으며, 그에 따라 상기 파라미터는 영상을 제공하는 소스인 카메라의 높이, 지향각, 시야각 일 수 있으며, 경우에 따라서는 렌즈 특성, 초점 거리, 해상도 등의 파라미터들이 상기 시야각 대신 혹은 함께 사용될 수도 있다.
상기 3차원 공간 관리부(121)에 제공되는 외부 제어 신호는 사용자의 조작에 따른 제어 신호로서, 일반적으로 상기 영상 감시부(110)를 포함하는 영상 감시 스시템의 사용자 인터페이스로 컴퓨터를 이용하기 때문에 상기 카메라 캘리브레이션부(120) 역시 컴퓨터 사용자 인터페이스로 조작하도록 구성할 수 있어, 키보드, 조이스틱, 마우스 등과 같은 입력장치를 통해 상기 파라미터들을 용이하게 수정할 수 있다. 이러한 파라미터 수정 사항은 3차원 공간 및 3차원 개체들에 대해 즉시 적용되어 상기 영상 결합부(122)를 통해 사용자에게 시각적으로 제공되므로 사용자가 이러한 시각적 결합 영상을 확인하면서 상기 3차원 공간 관리부(121)의 파라미터들을 변경할 수 있다.
상기 영상 감시부(110)는 하나의 카메라를 통해 제공되는 영상을 감시할 수도 있으나 일반적으로 복수 채널의 영상을 감시하는 것이 일반적이기 때문에, 상기 영상 카메라 캘리브레이션부(120)가 설정하는 단일 영상에 대한 파라미터 캘리브레이션 설정값과 제공되는 영상을 대응시켜 관리하는 것이 바람직하다. 따라서, 상기 설정 관리부(123)는 상기 영상 감시부(110)로부터 제공되는 영상 소스(예를 들어, 보안 카메라)의 채널 정보와 상기 3차원 공간 관리부(121)를 통해서 최종 설정된 파라미터를 대응시켜 상기 설정 정보(124)로 저장할 수 있다.
한편, 최근 카메라들은 PTZ(Pan, Tilt, Zoom) 기능을 구비할 수 있으며 이를 영상 감시부(110)에서 원격으로 제어할 수 있기 때문에 동일한 카메라(채널)를 통해 제공되는 영상이라 하더라도 그 설정값이 고정되지 않을 수 있다. 따라서, 상기 카메라의 위치 제어에 관한 값으로 상기 카메라에 대한 상태값을 영상 감시부(110)가 제공할 경우 상기 설정 관리부(123)는 채널 정보와 카메라 상태 정보(예를 들어, Pan을 위한 제어값, Tilt를 위한 제어값, Zoom을 위한 제어값이나 이들을 통합하여 특정 감시 영역에 대한 설정값으로 고정한 경우 그 정보 등)를 상기 3차원 공간 관리부(121)를 통해 제공되는 파라미터와 함께 설정 정보(124)로 저장할 수 있다.
이렇게 채널과 카메라 상태에 따른 파라미터가 설정 정보(124)로 저장되어 있는 경우 상기 영상 감시부(110)는 단일 카메라를 복수의 감시 대상이나 영역으로 설정하는 경우에 대해서도 정확한 파라미터를 통해 영상과 실제 공간을 매핑할 수 있게 된다. 한편, 이러한 PTZ가 빈번하게 발생하거나 새로운 카메라 상태에 대한 캘리브레이션이 필요한 경우 상기 설정 관리부(123)는 해당 채널의 카메라 상태 정보들을 기준으로 새롭게 캘리브레이션을 실시할 카메라 상태에 대한 파라미터 값을 예측하여 기본적으로 제공할 수도 있어 세부 설정이 용이하도록 할 수 있다. 더불어, 필요한 경우 캘리브레이션 과정이 아니더라도 상기 영상 감시부(110)의 요청에 따라 기 저장된 설정 정보를 토대로 상기 카메라의 새로운 상태에 대한 파라미터를 예측하여 제공해 줄 수 있다.
도 5는 본 발명의 실시예에 따른 3차원 공간 관리부가 제공하는 3차원 공간 및 3차원 개체에 대한 표현 예로서, 도시한 바와 같이 3차원 공간(200)의 지면에 해당하는 영역에 2차원 그리드(210)를 표시하고, 해당 지면의 상이한 위치에 복수의 3차원 개체(220, 230)를 표시하고 있다. 상기 3차원 개체는 영상의 주요 감시 대상에 해당하는 표준 인체를 예로 들어 나타낸 것이다. 이러한 인체 모델 외에 다양한 종류의 차량, 물건, 표지 물체 등이 표준 크기에 맞추어 상기 공간 상에 표현될 수 있다.
이때, 조작 편의 및 시각적 확인을 위해서 상기 그리드(210)의 폭(L)은 일정한 고정 크기를 가지는 정사각형 패턴을 가지도록 설정될 수 있다. 도시된 예에서는 그리드의 한 눈금 길이가 1m가 되도록 한 것이며, 경우에 따라서 2m, 4m 등 다양한 값으로 기 설정되거나 혹은 사용자가 설정할 수도 있다.
도 6 내지 도 10은 앞서 설명한 카메라 캘리브레이션 장치를 통해서 실제 캘리브레이션을 실시하는 과정을 설명하기 위한 예로서, 도 6은 제공되는 영상이고, 도 7 내지 도 10은 해당 영상에 대한 캘리브레이션 과정을 파라미터 설정 단계로 나타낸 것이다. 물론, 도시된 단계적 설정 방식과 달리 사용자가 임의의 시점에서 임의의 파라미터들에 대한 조작을 실시할 수 있으며, 동시에 복수 파라미터를 조작할 수도 있다.
도 6은 일반적인 영상(300)을 보인 것으로, 해당 영상 내에 차량(330), 복수의 사람(310, 320)이 나타나 있다. 효과적인 캘리브레이션을 위해서 상기 영상 결합부에서는 상기 제공되는 영상을 일시 정지 상태로 하여 정지 영상에 대한 캘리브 레이션을 실시하도록 할 수 있다.
도 7은 카메라 캘리브레이션부가 동작하여 3차원 공간 관리부가 3차원 공간과 3차원 개체를 기본 파라미터 값에 맞추어 생성했을 때 영상 결합부를 통해서 사용자에게 제공되는 화면이다.
도시된 바와 같이 실제 영상과 무관한 시점으로 기준 평면을 나타내는 그리드(211)와 한쌍의 인체 모델 개체(221, 231)가 표시된다.
도 8은 상기 3차원 공간 관리부를 제어하여 시점의 지향각을 조절한 경우의 예이다. 즉, 생성되는 3차원 공간의 시점을 카메라의 시점과 같아지도록 하기 위해서 3차원 공간의 시점 지향각을 조절함으로써 카메라의 지향각과 같은 상태가 되도록 한 것이다. 이는 시각적으로 3차원 공간의 기준 표면에 해당하는 그리드(211)를 영상의 표면에 매칭되도록 시점의 지향각에 해당하는 파라미터를 조절한 결과이다. 이를 통해 실제 카메라의 지향각을 얻을 수 있다.
하지만, 도시된 영상에서 그리드의 크기와 실제 영상 사이의 차이가 크고, 인체 모델 개체(221, 231)와 실제 영상 내의 사람과 차이가 있는 상태이다.
도 9는 그리드의 크기와 인체 모델 개체 중 하나(221)가 실제 영상과 유사하도록 조절한 것으로, 이를 위해서는 시점의 높이를 조절한다. 즉, 카메라의 높이에 대응되는 시점의 높이를 조절하는 것으로 그리드의 크기와 배치가 도시한 바와 같이 실제와 유사하게 되며, 이때의 시점 높이를 카메라 높이로 간주할 수 있다.
이때, 상기 인체 모델 개체(221, 231)는 영상 내의 실제 사람(310, 320)과 대응되도록 그 인근으로 이동시켜 배치하며, 이들 중 하나의 크기가 대략적으로 일 치하도록 한다.
하지만, 인체 모델 개체 중 하나(221)는 실제 대응 사람(310)과 크기가 대략적으로 일치하지만 다른 위치에 존재하는 사람(320)에 대응시킨 인체 모델 개체(231)는 그 크기가 대응되는 사람(320)과 상이할 수 있다.
도 10은 시야각을 조절하는 것으로 3차원 공간 상에 표현되는 3차원 개체들 사이의 편차를 조절할 수 있게 되며, 해당 파라미터를 조작하여 도시한 바와 같이 인체 모델 개체(221, 231)와 대응되는 영상 내의 사람(310, 320)의 크기가 일치하도록 한다.
이러한 일치 결과를 더욱 정확하게 확인하기 위해서 가상 자(Virtual Ruler)를 더 표시할 수 있는데, 3차원 공간 관리부는 제어 입력, 즉 사용자의 조작에 따라 공간 상의 복수 위치들을 선택받아 해당 위치들 사이의 높이나 거리, 해당 위치들에 대한 면적, 체적 등의 정보를 연산하여 표시해 줄 수 있다. 도시된 예에서는 차량(330)에 대한 길이를 가상 자를 통해 측정해 본 결과로서, 실제 차량의 길이를 알고 있는 경우라면 그에 대한 측정 정확도를 상기 가상 자를 통해 더욱 정밀하게 확인해 볼 수 있다.
이러한 가상 자는 파라미터 설정 단계나 과정과 무관하게 사용자의 선택에 따라 제공될 수 있는 부가적인 기능으로 활용할 수 있다.
도 11은 카메라 캘리브레이션 부에 대한 사용자 인터페이스의 예를 보인 것으로, 도시한 바와 같이 화면 중 일부(510)에 영상과 3차원 공간 및 개체들을 표시하고, 그에 따른 파라미터들을 화면 우측(520)에 표시된 정보들을 통해서 확인할 수 있도록 한 것이다. 해당 파라미터의 변경은 키보드나 마우스 혹은 다른 종류의 입력 인터페이스를 통해서 이루어질 수 있으며, 도시된 파라미터 정보의 입력 박스에 직접 입력하거나 슬라이드를 조작하는 식으로도 조절할 수 있다.
도 12는 본 발명의 실시예에 따른 동작 과정을 나타낸 순서도로서, 도시한 바와 같이 외부 영상 소스로부터 영상을 획득하여 카메라 캘리브레이션을 통한 파라미터 설정 모드로 진입하게 된다.
카메라 캘리브레이션부는 3차원 공간 상에 하나 이상의 3차원 개체를 표시한 공간 모델을 생성하여 이를 상기 획득한 영상에 오버레이 방식으로 표시한다.
파라미터 조작이 필요한 경우 상기 오버레이 방식으로 영상에 표시된 공간 모델에 대한 파라미터를 다양한 입력 인터페이스를 통해 조작하며, 이때 3차원 공간 관리부는 상기 공간 모델의 3차원 공간과 3차원 개체들을 조절한다. 이렇게 조절된 공간 모델은 즉시 영상에 표시되어 사용자가 확인할 수 있게 된다.
만일, 사용자가 3차원 개체와 영상 내의 대상을 일치시키고자 하는 경우 상기 3차원 개체의 위치를 변경할 수 있으며, 이 경우에도 3차원 공간 관리부는 해당 이동 위치에 따라 상기 3차원 개체를 3차원 공간에 맞추어 다시 표현한다.
이러한 파라미터 조작이나 3차원 개체 이동의 과정을 마친 경우 상기 제공되는 영상의 외부 영상 소스와 그 상태에 맞추어 상기 설정된 파라미터를 저장하여 설정 정보를 생성한다.
이상에서는 본 발명에서 특정의 바람직한 실시예들에 대하여 도시하고 또한 설명하였다. 그러나 본 발명은 상술한 실시예에 한정되지 아니하며, 특허 청구의 범위에서 첨부하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능할 것이다.