PTZ 카메라를 이용한 파노라마 배경 생성과 객체 추적
상태바
PTZ 카메라를 이용한 파노라마 배경 생성과 객체 추적
  • CCTV뉴스
  • 승인 2009.11.05 00:00
  • 댓글 0
이 기사를 공유합니다

PTZ 카메라를 이용한 파노라마 배경 생성과 객체 추적 방법에 대한 설명이다. 제안된 방법은 첫 번째 배경 안정화 기법을 이용한 움직임 추정, 두 번째 파노라마 배경 생성, 그리고 움직임 객체 추적의 3가지 단계로 구성된다. 안정화 기법은 객체가 카메라 내에 있다는 가정하에 카메라 외곽 지역에서 위상 정합을 하여 지역 움직임 벡터를 추출한다.

파노라마 배경 생성을 위해 지역 움직임 벡터로 겹침 영역을 계산하여 영상을 획득한다. 획득된 영상은 실린더 투영, 정렬, Stitching, blending을 통해 파노라마 배경영상을 만든다. 객체 추적은 파노라마 배경과 입력 영상의 차분 방법을 이용하여 배경과 객체를 분리하고 객체의 움직임을 추출한다.

객체 추적 방법은 PTZ 카메라를 이용하여 빠르고 안정적인 배경 생성이 가능하고, 전 방향의 객체를 지속적으로 추적하는 것이 가능하다. 제안된 방법은 실시간이 가능하며 넓은 감시 지역에서 객체의 형태를 추적하거나 얼굴인식과 같은 영역에서 사용할 수 있을 것이다.

최근 공공장소 및 개인 영역의 보안에 대한 관심이 늘어나면서 감시 카메라의 설치가 보편화 되고, 나아가서 지능적 기능인 추적 및 인식의 자동화 기술이 요구되고 있다. 특히 복잡한 환경에서도 다수의 움직이는 객체를 강건하게 추적하는 연구와 넓은 시야를 확보할 수 있는 전 방향 감시 기술의 확보가 절실한 실정이다.

기존의 단일 고정 카메라를 사용하는 비디오 객체 추적 시스템은 대부분 제한된 시야범위(field of view; FOV)를 갖는 카메라를 사용하기 때문에 추적 중인 객체의 전체 혹은 부분이 해당 FOV를 벗어나면 추적을 지속하는 것이 불가능하다. 이 문제를 해결하기 위해서 보다 넓은 영역을 감시할 수 있는 광역 FOV 기반의 연구가 진행 되고 있다.

이를 보다 세분하면 다수의 카메라를 결합하는 방법, 쌍 곡면 거울 등의 특수 형태의 거울을 사용하는 방법, 그리고 어안렌즈와 같은 특수 렌즈를 장착하는 방법 등이 있다. 이러한 광역 FOV 환경 시스템은 고정 시점 중심의 360도 전체 주변 환경을 촬영할 수 있는 장점이 있는 반면 카메라 특성과 방향성에 따라 발생하는 왜곡(distortion)을 보상하기 위한 적절한 영상의 재구성(reconstruction)이 필요하다.

여러 대의 카메라를 결합하는 시스템에 소요되는 비용을 줄이기 위해서 단일 카메라와 특수 형태의 거울을 사용한 전 방향(omni-directional) 카메라 시스템이 제안된바 있다. 이 시스템은 360도 전 방향 영상을 제공하지만 거울의 사각 지역(blind spot)이 존재하며 낮고 비 균일한 해상도 때문에 움직이는 객체의 추적이나 추출 시 정확성이 떨어진다.


표 1. 객체 추적 관련 기술들의 분류

객체 추적을 위해서 제안된 방법들은 카메라의 종류에 따라 단일 카메라, 전 방향 카메라, 팬틸트줌(pan-tilt-zoom) 카메라 등 이미지 센서종류에 따라 분류할 수도 있고, 객체 추출 방식을 기반으로 분류할 수도 있다. 표 1은 객체 추적과 관련된 다양한 연구들을 센서, 추적대상, 추출방식에 따라 분류한 결과이다.

Haritaoglu는 고정된 단일 카메라를 이용해서 사람을 실루엣으로 추출한 후 형태 분석을 통한 모델 기반추적에 의해서 겹침 현상과 같은 문제를 해결하였다. Wren은 사람을 모델로 실시간 블럽(blob) 추적 알고리즘을 제안하였다. Baumberg는 사람의 고유형태를 모델로 칼만 필터를 사용하여 추적하는 방법을 제시하였고, Cootes는 사람 형태를 모델로 학습집합을 만들어 추적하는 방법을 제시하였다.

Khan은 전 방향 카메라를 이용하여 Edge of field of view (EoFOV) 라인을 구상하여 2대의 카메라로 객체를 추적 방법을 제시하였고, Guler는 이것을 발전시켜서 전 방향 카메라와 일반 고정 카메라를 결합한 객체 추적을 제안한 동시에 카메라간 객체 정보 공유 방법을 연구하였다. 로봇분야에서는 Jogan과 Winters이 전 방향 카메라를 이용하여 로봇의 위치 탐색과 내비게이션의 역할로 사용하는 방법을 제안하였다.

Peleg는 PTZ 카메라를 이용해서 여러 장의 영상을 미리 획득하는 동시에 장면과 장면 사이에 가장 잘 맞는 위치로 이동시키도록 정렬하여 배경 영상을 만든 후, 배경 차분을 이용하여 객체와 배경을 분리하는 방법을 제안하였다. 유사한 연구로는, Kang은 연속된 프레임간 특징을 이용하여 배경을 생성하고 갱신하는 방법을 제안하였다.

Azzari는 모자이크 방법을 이용하여 배경을 생성하고 배경 차분을 이용하여 움직이는 객체를 추적하였으며, Chanals는 Pan-Tilt 카메라를 사용한 추적 시스템의 설계와 수행방법을 제안하였다. Paik은 에지 패턴 정합 기반의 비디오 안정화를 제안하여 배경 생성 기반 기술을 제안하였고, Scotti는 고해상도를 위한 쌍 거울을 이용한 전 방향 시스템과 PTZ 카메라를 포함하는 구조를 제안하였으며, Yao는 기하학적 투영방법을 사용하여 어안렌즈를 사용한 전 방향 시스템과 PTZ 카메라의 협동 시스템을 제안하였다.

PTZ 카메라를 이용한 객체 추적은 객체와 배경이 함께 움직이기 때문에 배경의 정확한 추출 없이는 객체를 분리하기 어렵다. 또한 인접한 프레임을 이용한 안정화 방법을 사용하여 배경과 움직이는 객체의 분리가 가능하지만 정지한 객체의 추적은 불가능하다. 객체를 분리하기 위한 방법으로 미리 배경을 만들고 배경차분을 이용하는 방법과 인접한 프레임 사이에 배경을 안정화하여 객체를 분리하는 방법이 있다.

만약 현재 프레임의 배경과 이전 프레임의 배경이 같은 위치라면 간단하게 움직이는 객체를 찾아낼 수 있기 때문에 많은 안정화 시스템은 진동이나 불필요한 움직임에 의해 발생되는 카메라 움직임의 크기를 최소화 하는 방법에 대하여 연구되었다.


그림1. 파노라마 배경 생성을 통한 객체 추적 시스템

제안하는 방법은 PTZ 카메라에서 배경 안정화 기법을 이용하여 배경 영상을 획득하고 실린더 투영방법을 이용하여 객체가 없는 파노라마 배경을 생성한 후 현재 영상과 배경 영상의 차분 방법을 통해 객체를 추출하고 추적한다. 결과적으로 PTZ 카메라를 이용하여 빠르고 안정적인 배경 생성이 가능하고, 전 방향의 객체를 지속적으로 추적하는 것이 가능하다. 제안된 방법의 타당성은 기존 방법과의 비교 실험을 통해 검증한다.

다음은 카메라에서 입력되는 영상을 이용하여 움직임을 추정하는 방법에 대하여 소개한다.

움직임 추정

일반적으로 디지털 영상 안정화 시스템은 카메라 떨림에 대한 비디오의 흔들림을 제거하여 화질을 개선하기 위해 사용되었고, 움직임 추정과 움직임 보상의 두 가지 모듈로 구성된다. 움직임 추정 모듈은 시간적으로 인접한 프레임간 움직임 벡터(frame motion vector; FMV)를 계산하고 움직임 보상 모듈은 추정된 움직임 벡터를 사용해서 기준 프레임에 대한 상대적 위치의 흔들림을 제거한다.

영상의 움직임 추정을 위하여 일반적으로 2차원 평면의 어파인 변환(affine transformation)을 계산한다. 어파인 변환을 위해서는 연속되는 두 영상에서 서로 다른 3개 이상의 대응점이 필요하다. 이러한 특징점들은 영상에서 전반적으로 균일하게 나오기 어렵고, 잘못 계산된 대응점으로 인해 오차가 증폭되기 때문에 여러 개의 블록(block) 영역을 설정한 후, 주파수 영역에서 위상 정합을 이용해서 움직임 벡터를 추정하는 방법이 안정적이다.

움직임을 예측하기 위한 첫 단계로 미리 지정한 다수의 영역에서 움직임 벡터를 추정해야 하는데, 이것을 지역 모션 벡터(local motion vector; LMV)라고 부르고 여러 LMV들의 정보를 종합한 대표 움직임 벡터를 전역 모션 벡터(global motion vector; GMV)라고 부른다. 이때 GMV는 앞서 설명한 FMV와 같은 의미를 갖는다. LMV 추정을 위해서 기존에는 블록 정합을 사용하였다.

정합에 사용되는 판단 조건들은 점, 에지 패턴, 위상, 다중 해상도의 특징 등이 있으며, 성공적인 정합의 조건으로 해당 영역에 의미 있는 패턴이 존재한다는 것이 보장되어야 한다. 제안된 움직임 추정 알고리즘은 그림 2와 같이 (i) LMV 추출을 위한 위상 정합(phase correlation), (ii) 벡터 양자화(vector quantization) 그리고 (iii) GMV 예측(estimation)의 3단계로 구성된다.


그림2. (a) 4개의 지역 움직임 추정 영역과 (b) 움직임 추정 시스템 구성도

일반적으로 움직임 추정에 사용되는 영역은 영상의 왜곡이 적은 중앙부분을 사용하지만 제안한 방법은 객체가 주로 영상 중앙부분에 존재한다는 가정 하에 객체가 존재하지 않는 영상의 외곽 부분에서 움직임을 추정한다.

움직임 추정 방법으로 연속된 두 영상의 중첩된 영역을 추출하기 위해서는 영상의 주파수 공간으로 변환하고, 영상의 위상 성분을 이용해서 중첩 영역과 이동성분을 추출할 수 있다. 위상 정합은 주파수 영역에서 푸리에 변환(fourier transform)을 이용한 것으로 수식 (1)과 같이 공간 영역에서의 두 영상은 , 만큼 이동되어 있다는 가정에 의해 식 (2)처럼 주파수로 나타낼 수 있으며, 여기서 f 는 f 의 푸리에 변환이다.              
                                                                                                                                                                         
 
                                              (1) (2)

K와 K1번째 프레임 사이의 위상차를 계산하기 위해서 식(3)과 같이 정규 화된 상호 전력 스펙트럼(normalized cross spectrum)을 사용할 수 있고 *는 켤레 복소수를 나타낸다.

                           (3)

실험에서는 64×64 크기의 LMV을 4개 지정하여 위상 정합을 하였다. GMV는 추정된 다수의 LMV들의 결합으로 결정된다. 일반적으로 모든 LMV들이 항상 완벽하게 추정되진 않는다. 경우에 따라서 하나 혹은 그 이상의 LMV의 추정 오차로 인해 정상적인 GMV 결정이 불가능할 수도 있다. 이러한 GMV 결정 과정의 오차를 최소화하기 위해 PTZ 카메라의 회전속도가 빠르지 않다는 가정 하에 벡터 양자화를 사용하여 부정확한 LMV에 의한 영향을 최소화 한다.

PTZ 카메라의 경우 입력되는 영상은 Z축의 회전이 일어나지 않고 다만 X, Y축의 이동 움직임만을 검출할 수 있다. 이러한 이동 검출을 하기 위해서 우리는 LMV들의 가능한 조합을 미리 코드 북으로 저장한 후 추정된 LMV들의 집합에 가장 근접한 벡터 패턴을 선택한다.


그림3. (a) 코드 북의 구조와 (b) 코드화된 지역 움직임 벡터의 집합

코드 북은 그림 3(a)과 같이 4개의 지역에 대한 벡터들의 집합 구조를 가지며 그림 3(b)와 같이 벡터 방향과 크기로 구성되어 있다.
X를 현재 영상의 4개의 지역에서 추출된 벡터의 집합, U를 코드 북으로 정의하면 대체 패턴의 측정 방법은 코드 북에서 유클리드 거리가 가장 가까운 패턴을 선택하는 방법을 사용하였다. X와 U사이의 유클리드 거리를 D(X,U)라 하면 이것의 최소화 과정은 다음 식과 같다.

                                 (4)

코드 북은 이동, 크기, 회전에 대한 이상적인 LMV들의 집합으로 구성되어 있지만 PTZ 카메라의 경우 수평이동을 포함한 수직이동 각도에 따라 회전과 같은 벡터들이 나올 수 있다. 그림 4는 프레임마다 계산된 GMV를 누적한 움직임 결과를 보여준다.

파노라마 배경 생성

앞장에서 소개된 방법으로 결정된 GMV를 사용하여 두 인접 프레임의 겹침 지역(overlapping region)을 추정한 후, 두 영상간 (ⅰ) 실린더 투영, (ⅱ) 지역 재 정렬(local alignment), (ⅲ) Stitching, 그리고 (ⅳ) Blending을 수행하여 파노라마 배경을 생성한다.


그림4.누적된 움직임

영상내의 모든 프레임을 사용하여 배경을 생성하는 것은 시간과 비용이 많이 들고, 하나의 잘못된 프레임에 의해서 파노라마 배경 정체에 영향을 미칠 수 있으며 카메라의 영상들은 밝기 자동 조절 장치(automatic gain control; AGC)에 의한 전역적인 밝기 변화 때문에 동일한 대상이라도 카메라의 각도에 따라 서로 다른 밝기 값을 가진다.

따라서 전역 움직임을 이용하여 겹침 지역이 30∼40가 되는 영상들을 획득하고 획득된 영상 사이에서 평균 밝기 값을 동일하게 해준다. 또한 외곽 부분의 왜곡에 의한 추정 오차를 줄이기 위하여 그림 5와 같이 실린더 투영기법을 적용하여 입력 영상을 실린더 좌표로 투영시킨다.

실린더 투영은 원본영상의 한 점을 실린더의 한 점의 위치로 이동시키는 방법으로서, 실험에서 사용한 실린더의 반지름은 
이고, 여기서 f 는 PTZ 카메라의 초점거리를 나타내고, 카메라의 내부변수(internal parameters)에 의해 초기화 되며 는 영상의 폭이다. 원 영상에서 실린더 투영으로 얻어진 새로운 좌표 (u, v) 는 식 (5)과 같이 역 투영으로 계산된다.


그림5. 실린더 투영

                 (5)

 

그리고 u쩁Rsin(u / R)와 같은 근사화를 사용해서 실린더 좌표의 한 점을 (u, v) = (Rθ, v)와 같이 나타낼 수 있으며, 다음과 같이 영상의 한 점으로 나타낼 수 있다.

                                                                              (6)

원본영상에서 실린더 평면으로의 빠른 투영을 위해 그림 6(a)와 같이 X, Y축에 대칭적인 4개의 지역 중 한 지역의 투영 위치를 계산한 뒤 나머지 지역은 계산된 투영위치에서 대칭적인 위치로 대체하여 사용할 수 있다.


그림6. (a) 투영 위치 계산법과 (b) Hexagonal search

예측된 GMV는 이웃한 프레임간의 상대적인 값으로서, 실제 영상을 완벽하게 정합시키지 못하여 고스트(Ghost) 현상이 생기며 실린더에 투영된 두 영상의 겹침 지역은 더 이상 최적의 겹침 영역이 아닐 수 있기 때문에 영상간 재 정렬이 필요하다.

따라서 최적의 겹침 지역을 계산하기 위해 두 영상의 겹침 지역을 가장 유사한 블록의 정합 오차를 계산함으로써 최적의 위치를 재 추정할 수 있다. 기존의 블록 정합 알고리즘은 계산이 많기 때문에 그림 6(b)와 같이 6방향의 오차를 측정하고 가장 적은 오차 방향으로 이동한 다음 추가로 주변 3방향을 측정하여 오차가 가장 적은 위치를 찾도록 하는 hexagonal search 방법을 사용하였다.


그림7. 파노라마 영상의 정렬 방법

지역 재 정렬은 그림 7과 같이 겹침 지역에 있는 오른쪽 영상에서 템플릿을 생성하고 왼쪽 영상에 정합을 수행하여 가장 적은 오차를 가진 지역으로 정합시킨다.정렬된 영상은 Stitching 기법에 의해 두 영상간 오차가 가장 적은 접합 부분을 생성하고 생성된 접합 부분을 따라 Blending을 하여 겹치는 경계 면을 부드럽게 만든다.


그림8. Stitching 방법

Stitching 기법은 그림 8과 같이 겹침 지역의 오차 비용(cost map)을 추출하고 위에서 아래로 전체의 오차 비용(total cost map)을 누적시킨다. 누적된 비용 중 가장 아래 행에 있는 최종 누적 중에서 가장 적은 누적 비용을 선택하고 이전의 최소 누적 비용과 비교하여 가장 적은 값을 갱신한다.
 
식 (7)은 전체 누적 비용을 계산하는 식이고 식 (8)은 누적 비용에서 접합 부분을 찾는 식이다. 접합 부분을 찾을 때 만약 한 행에서 누적 비용 영역이 존재하지 않을 경우 행 전체를 검사하여 비용이 가장 적은 영역을 선택하고 나머지 영역이 같은 값일 때는 같은 방향의 비용이 가장 적은 영역을 선택한다.

                                      (7)

                                          (8)


움직임 객체 추적

영상의 차분 방법은 객체를 가장 손쉽게 추출할 수 있는 기법이지만, 안정된 동작을 위해서는 객체가 없는 정확한 배경 생성이 필요하다.


그림9. (a) 입력 영상과 (b) 파노라마 배경 영상


그림10. (a) 배경과의 차분영상, (b) 이웃 프레임과의 차분영상, (c) 병합된 영상

그림 9(a)는 입력영상이고 그림 9(b)는 겹침 영역이 40인 2장의 영상으로 생성한 파노라마 배경 영상이며 현재 카메라가 보고 있는 배경 영역이다. 

그림 10(a)는 파노라마 배경영상과 입력영상의 차분영상인데 배경이 입력영상과 완벽하게 일치하지 않기 때문에 객체 주변과 수평, 수직 에지 부분에 많은 부정합 잡음이 발생하였다. 이러한 잡음을 줄이고 연속적으로 객체를 추적하기 위하여 프레임간 움직임을 보상하여 정확한 객체 마스크를 추출한다.

그림 10(b)는 현재 프레임과 이전 프레임의 차분으로 카메라 움직임과 다른 부분을 객체의 움직임으로 생각하고 이용한다. 그림 11(c)는 배경 차분영상에서 이웃 프레임의 차분 영상을 병합한 영상으로 객체의 외곽성분(silhouette)을 추출할 수 있다. 추출된 객체의 외곽성분은 다음 프레임에서 같은 크기를 가진 객체와 비교하여 추적한다
.
추적중인 객체가 카메라의 FOV를 벗어나지 않도록 객체의 중심이 카메라의 중심에서 멀어지면 카메라 중심에 객체의 중심이 오도록 카메라를 움직여서 추적을 한다.

실험

실험에서는 파노라마 배경 영상을 생성한 후, 이것과 입력 영상의 차분을 이용하여 객체가 존재하는 영역을 추출하고 객체를 추적하는 알고리즘을 적용하여 모의실험을 하였다.


그림11. (a) 획득된 실내 영상, (b) stitching 결과 영상, (c) blending으로 얻어진 배경생성 결과영상


그림12. 실외 파노라마 배경 영상 생성 결과


그림13. (a) 실내 영상, (b) 제안된 방법에 의한 움직임 추정, (c) 특징점을 이용한 움직임 추정

그림 11과 12는 각각 실내와 실외에서 카메라의 움직임을 예측하여 겹침 지역이 40인 영상을 획득하고 파노라마 배경을 생성한 결과이다.

객체 분리를 위해서는 정확한 움직임 추정과 배경 생성이 필요다. 특징점을 이용한 배경생성의 경우 대응점의 개수에 따라 연산시간이 증가하거나 잘못된 대응점에 의한 오차가 발생할 수 있는 단점이 있다. 제안한 방법의 효율성과 안정성을 특징점을 이용한 방법과 비교한 결과를 다음과 같이 제시한다. 실험에서는 특징점을 위해서 해리스 코너(harris corner) 추출 방법을 사용하였다.


표 2.제안된 방법과 특징점을 이용한 방법 비교

표 2는 그림 13의 환경에서 180도 회전하였을 때 제안된 방법과 특징점을 이용한 방법의 카메라 움직임의 누적 값을 비교 제시한다. 제안한 방법을 사용해서 누적한 이동량이 일정하고 오차가 적음을 알 수 있다.

생성된 파노라마 배경은 입력 영상에서 객체를 추출하고 객체가 카메라의 FOV 범위에 오도록 PTZ를 동작시켜 계속적인 추적이 가능하게 한다. 그림 14는 카메라에 입력되는 영상에서 객체의 마스크를 추출하고 추적하는 결과 영상이다. 실험에서 PTZ 카메라의 주위를 180도 움직이는 객체를 연속적으로 추적할 수 있었다. 또한 제안된 방법은 객체의 외각성분을 이용하여 그림 14의 499, 610 프레임과 같이 노이즈가 많은 경우에도 객체를 추적할 수 있었다.


그림14. 제안된 방법의 실험 결과


결론 

 PTZ 카메라를 이용한 객체 추적을 위해 효율적으로 실린더 파노라마 배경영상을 생성하고 입력 영상과 배경영상의 배경 차분방법을 통해 객체 마스크를 추출하였다. 또한 카메라의 움직임을 추정하여 객체를 분리하는 배경 안정화 방법을 결합하여 객체를 연속적으로 추적하는 방법을 제안하였다.

제안된 방법은 PTZ카메라를 이용하여 배경을 생성하고 배경 차분방법을 이용하여 쉽게 객체를 추출하고 카메라 주변의 객체를 추적할 수 있음을 보였다.  파노라마 배경 생성과 입력영상간의 불일치를 줄여서 정합오차를 최소화 했다. 앞으로 PTZ 카메라를 다양한 환경에 적용하여 객체의 형태추적 및 얼굴인식과 같은 영역으로 발전해 나아갈 수 있을 것이다.



<본 내용은 백인호, 임재현, 박경주, 백준기 연구, '대한 전자공학회논문지, 45권, SP편, 3호'에 게재된 논문을 바탕으로 정리한 것입니다> 


 

댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
0 / 400
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.