1. 서론
최근 우리 사회에서는 납치, 방화, 도난, 침입, 폭력 등 많은 범죄 사고가 발생하고 있다. 이러한 범죄 사고를 예방하기 위해 CCTV(Closed
Circuit Television)를 이용한 지능형 영상 감시 시스템의 개발이 진행 중이다
(1,2). 하지만 현재 축사의 감시 시스템은 RFID(Radio Frequency IDentification)와 CCTV를 사용하며, 간단하게 벨을 울리거나
관제요원이 직접 감시하는 시스템이 대부분이다
(3,4). 이러한 감시 시스템은 가축의 도난을 안전하게 관리할 수 없으며, 사전 및 사후 대처가 어렵다. 또한 침입한 인간과 가축은 이동을 보이며 형태가
변화하기 때문에 정확한 분류가 어렵다. 따라서 축사의 지능형 영상 감시 시스템은 이동 객체를 추출하고, 이동 객체가 인간, 가축인지 인식하며 대처
할 수 있는 시스템이 필요하다. 이동 객체 분류 방법은 다음과 같은 연구가 진행되고 있다.
먼저, 기존의 이동 객체 추출 방법은 차 영상(Difference Frame)방법
(5), GMM(Gaussian Mixture Model)방법
(6) 등이 있다. 배경에서 실시간으로 입력된 영상과의 차를 이용하여 이동 객체를 추출하는 차 영상 방법은 연산량이 많지 않아 고정된 카메라에서 빠르게
이동 객체를 추출할 수 있다는 장점을 가진다. 하지만 빛의 반사, 조명의 변화와 같은 외부적인 환경 변화가 발생할 경우 움직이는 객체 외의 잡음이
발생하여 배경 변화에 민감하게 반응하기 때문에 외부 환경과 같이 잡음이 많은 환경에서는 추출하고자하는 이동 객체의 추출이 어렵다는 단점이 있다. GMM
방법은 화소의 밝기 값의 변화를 가우시안 분포를 이용하여 학습하기 때문에 차 영상에 비해 느린 처리속도를 가진다는 단점이 있다. 하지만 화소의 밝기
값의 변화를 환경적으로 적응하기 때문에 배경 변화에 덜 민감하다는 장점을 가진다.
다음, 기존의 이동 객체 분류 방법으로는 고유한 객체의 형태를 이용한 객체 분류 방법
(7,8), 색상을 이용한 객체 분류 방법
9), 타원모델을 이용한 객체 분류 방법
(10) 등이 있다. 고유한 객체의 형태를 이용한 객체 분류 방법은 인간과 동물이 구조적 형태가 다르며, 고유한 형태의 특징을 가지고 있다는 점을 이용하여
분류하는 방법이다. 이러한 방법은 이동 객체일 경우 실시간으로 형태가 변화하므로, 고유한 형태를 추출하기 어려워 영상에서는 사용하기 힘들다는 단점이
있다. 색상을 이용한 객체 분류 방법은 고유한 객체의 색상을 이용한 분류방법으로 비슷한 색상의 객체를 같은 종류의 객체로 분류한다는 단점이 있다.
마지막으로 타원 모델을 이용한 객체 분류 방법은 객체에 대해 타원모델을 형성하고 크기를 비교하여 분류하는 방법이다. 이러한 타원모델 방법은 원근감이
존재하는 영상에서 객체의 크기가 변화하며 움직임을 보일 경우 특히 가축이 대각 이동을 하며 움직일 경우 분류율이 낮은 단점이 있다
(16-21).
본 논문에서는 상기 문제점을 해결하기 위해 이동 객체의 형태적 특징을 이용한 모델 형성 방법과 고유한 색상정보를 이용하여 축사에서 사람과 가축을 분류하고,
분류된 이동 객체의 추적 및 겹침 판단을 통해 가축 도난의 위험 상황을 알리는 시스템을 제안한다. 제안하는 시스템은 실시간으로 축사의 영상을 받아와
기존 방법보다 정확한 이동 객체 분류를 목표로 한다. 제안하는 방법은 다음과 같다. 먼저, CCTV로부터 입력 영상을 받아 GMM방법을 이용하여 이동
객체를 추출한다. 다음, 추출된 이동 객체 영역에 라벨링(Labeling) 방법을 이용하여 이동 객체의 인식 과정을 거친다. 이렇게 인식된 이동 객체에
대해 형태학적 특징을 이용하여 인간과 가축을 분류하기 위한 모델을 형성하고, 가축의 고유한 색상을 이용한 판단 방법으로 인간과 가축을 분류한다. 다음,
Kalman Filter를 이용한 이동 객체 추적 및 이동 객체간의 거리 값을 이용한 겹침 판단 방법을 제안한다. 마지막으로 가축 도난 유무를 판단하여
위험 상황을 사용자에게 알리는 인터페이스를 제작하여 본 논문에서 제안하는 시스템의 실용성 및 응용가능성을 보인다.
2. 형태학적 특징 기반 모델을 이용한 가축 도난 판단 시스템
2.1 입력 영상에서의 이동 객체 추출 및 인식
본 절에서는 입력 영상의 배경(background)으로부터 전경(foreground)을 추출하기 위해 RGB(Red, Green, Blue) 색상
정보에 해당하는 각각의 픽셀 값을 GMM 방법을 이용하여
식(1)과 같이 데이터 분포를 모델링 한다.
여기서, x는 입력 데이터를 나타내며, p(x|w
i, θ
i)는 평균이 w
i이고, 분산이 θ
i인 확률 밀도함수를 의미하고, P(w
i)는 각 확률밀도함수의 가중치를 의미한다. 따라서 영상에 대한 데이터 분포 모델링을 통하여 이동 객체를 추출한다.
다음, 이동 객체를 추출한 영상에서 발생된 그림자 및 조도변화에 따른 잡음을 제거하기 위해 Median Filter방법을 이용한다
(11). Median Filter는 5x5 커널을 이용하며, 커널 내의 픽셀들을 확인하고 밝기 값 순으로 정렬하여 중간에 해당하는 밝기 값을 현재 픽셀에
넣어주며, 조도 변화에 따른 객체의 움직임에 자주 발생하는 잡음을 효과적으로 제거한다.
다음, 추출된 이동 객체에 대해 라벨링 방법을 이용하며, 다수의 이동 객체를 각각 인식하여 나타낸다. 그리고 일정 크기 이하의 라벨은 잡음으로 간주하여
제거한다. 제안된 방법을 이용하여 이동 객체를 인식하기 위한 과정은 다음
그림. 1과 같다.
그림. 1. 이동 객체의 추출 및 인식 과정
Fig. 1. Extraction and recognition process of moving objects
그림. 1(a)는 입력 영상을 나타내며,
그림. 1(b)는 입력 영상에서 이동 객체를 추출한 결과를 나타낸다. 다음,
그림. 1(c)는 이동객체 추출 시 발생하는 잡음을 Median Filter를 이용하여 제거한 결과이다. 마지막으로,
그림. 1(d)는 라벨링 방법을 이용하여 추출된 이동 객체를 인식하여 나타낸 결과이다.
2.2 형태학적 특징 기반 모델 형성
본 절에서는 인식된 이동 객체가 인간인지 가축인지를 알 수 있도록 객체의 형태 특징을 이용한 모델 형성 분류 방법에 대해 제안한다. 형태를 모델화
하는 방법은
그림. 2와 같이 기본적인 인간과 가축의 형태가 인간은 높이가 너비에 비해 비교적 길고, 가축은 너비가 높이에 비해 비교적 길다는 특성을 이용한다.
그림. 2. 인간과 가축의 고유 형태 모습
Fig. 2. human and Livestock form
그림. 2(a)는 인간의 형태를 나타내며,
그림. 2(b)는 가축의 형태를 나타낸다.
본 논문에서 제안하는 이동 객체의 형태학적 특징을 이용한 모델을 형성하기 위해 먼저, 이동 객체에 대하여 외곽선을 추출하고 외곽선을 이루는 점을 추출한다.
이러한 외곽의 점과 점 사이에 존재하는 직선의 길이를
식(2)와 같은 방법으로 추출한다.
여기서, (x
1,y
1), (x
2,y
2)는 외곽의 두 점을 나타내며 d는 점에서부터 다른 한 점까지의 거리를 나타낸다. 다음
그림. 3은 외곽 점 추출과 외곽의 점과 점을 이루는 직선을 추출하는 과정을 나타낸다.
그림. 3. 외곽 점 추출 및 직선 추출 과정
Fig. 3. Outline point and straight line extraction process
그림. 3(a)는 이동 객체에 대해 외곽을 이루는 점을 추출한 결과이며,
그림. 3(b)는 외곽의 점과 점 사이에 존재하는 직선을 추출하는 과정을 그림으로 나타낸 결과이다.
다음, 점과 점을 이루는 직선들의 거리 비교를 통하여 이동 객체 내부에 존재하는 가장 긴 직선을 추출한다. 이렇게 얻어진 가장 긴 직선은 형태 모델을
만들기 위한 주축으로 이용하며, 형태 모델을 만들기 위해 가장 긴 직선의 중심점을 추출한다. 다음, 가장 긴 직선의 중심점 축을 기준으로 이동 객체의
외곽까지 수평으로 잇는 직선을 추출한다. 다음
그림. 4는 가장 긴 직선과 수평 직선을 추출한 결과를 나타낸다.
그림. 4. 가장 긴 직선과 수평 직선 추출
Fig. 4. Longest straight line and horizontal straight line extraction
그림. 4a)는 이동 객체에 대해 가장 긴 직선을 추출한 결과를 나타내며,
그림. 4(b)는 수평 직선을 추출한 결과를 나타낸다.
다음, 얻어진 가장 긴 직선과 수평 직선의 끝점을 추출하고 추출된 4개의 끝점과 중심점에 대해 Convex Hull알고리즘
(12)을 이용한다. 본 논문에서는 Convex Hull알고리즘을 이용하여 최외각에 존재하는 점들을 찾아 직선으로 연결시켜 제안한 모델을 형성하였다. 다음
그림. 5는 제안한 모델을 형성하는 과정과 결과를 나타낸다.
그림. 5. 제안한 모델 형성 과정 및 결과
Fig. 5. Proposed model formation process and result
그림. 5(a)는 Convex Hull알고리즘을 이용하여 최외곽에 존재하는 점(점 P
1, P
2, P
3 그리고 P
4)을 찾아 제안한 모델을 형성하는 과정을 보여주며,
그림. 5(b)는 영상에서 이동 객체에 대해 제안한 모델을 형성한 결과를 나타낸다.
다음, 제안한 모델에 대한 중심점 y축을 기준으로 이동 객체의 외곽까지 수직으로 잇는 수직 직선을 추출하며, 수직 직선은
식(3)~
식(4)와 같은 방법으로 얻는다.
여기서 P
1, P
2, P
3 그리고 P
4는
그림. 5(a)와 같이 제안한 모델을 이루고 있는 4개의 점을 나타내며, A
x는 중심점의 x좌표 값을 나타낸다. 따라서 A
x와 같은 값을 가지는 직선
의 x좌표 값을 추출하고, A
x와 같은 값을 가지는 직선
의 x좌표 값을 추출한다.
다음, 아래의
그림. 6과 같이 점 P
1과 점 P
4점이 이루는 직선
에 대하여
식(3)와 같은 방법으로 점 A와 x좌표 값이 같은 점을 찾아 점 B로 나타낸다. 마찬가지로 점 P
2와 점 P
3 점이 이루는 직선
에 대하여
식(4)와 같은 방법으로 점 A와 x값이 같은 점을 찾아 점 C로 나타낸다. 마지막으로 점 B와 점C를 이어주어 형성된 모델의 수직 직선
을 추출한다.
마지막으로, 제안한 모델을 이루는 수직 직선의 길이가 수평 직선보다 큰 값을 가질 경우 인간, 반대로 수평 직선의 길이가 수직 직선보다 큰 값을 가질
경우 가축이라고 분류한다. 다음
그림. 7은 제안한 모델의 수직, 수평 직선 추출과 이동 객체를 분류한 결과를 나타낸다.
그림. 7(a)는 제안한 모델에 대해 수직과 수평 직선을 추출한 결과를 나타내며,
그림. 7(b)는 제안한 모델을 이용하여 인간과 가축을 분류한 결과를 나타낸다. 분류가 완료된 객체에 대해 인간은 파란색 라벨을 가축은 초록색 라벨로 나타낸다.
2.3 객체의 색상 추출
이동 객체의 형태만을 이용한 분류 방법은 가축이 앞모습, 뒷모습을 보일 경우 가축의 형태정보가 인간의 형태정보와 비슷하기 때문에 분류에 오류가 생길
수 있다. 따라서 본 절에서는 이러한 문제점을 해결하기 위해 가축은 고유한 색상을 가지고 있다는 특징을 이용하여 색상 정보를 얻어 해결하고자 한다.
색상 정보를 이용한 방법은 먼저, 형태를 이용하여 얻어진 분류정보가 가축일 경우 색상을 추출하며, 객체의 중심점에 대해 아래의
식(5)와 같은 방법으로 가축이라고 판단된 객체에 ROI(Region of interest)를 지정한다.
식 (5)에서 C.width와 C.height는 각각 객체의 중심점에 대한 너비와 높이를 나타낸다.
이렇게 지정된 이동 객체의 중심 ROI에 대한 RGB색상 공간의 이미지를 이용하여 HSV(Hue-Saturation-Value)색상 공간으로 변환시킨다
(13). 이렇게 변환된 HSV Color Model을 이용하여 ROI영역에 대한 색상을 추출하고 가축의 색상 DB(Data Base)를 구축한다. 이때
가축 색상정보 외의 인간의 색상정보가 추출될 경우를 판단하기 위해 본 논문에서는 베이지안 분류기를 이용하였다
(14). 베이지안 분류기는 데이터학습을 통해 확률적으로 분류하는 방법이며, 아래의
식(6)~
식(7)와 같이 나타낸다.
여기서, p(w
i|X)는 사후 확률을 P(X|w
i)는 우도를 나타내며, P(w
i)는 사전확률을 P(X)는 이전확률을 나타낸다. 따라서 이전확률은 인간이 침입하기 전에 얻어진 가축의 색상정보를 나타낸다.
조건부 확률을 구한 후 인간과 가축을 다음
식(7)와 같은 방법으로 분류하게 된다.
여기서,
식(7)는 이동객체의 추출된 색상 값 X가 집단 w
1, w
2 중 어디에 속하는지 판단한다. 따라서 색상 값이 가축의 색상과 유사한 색상 값을 보일 경우 가축집단으로 그렇지 않은 경우는 인간집단으로 분류하였다.
2.4 객체 추적 및 거리정보를 이용한 겹침 판단
분류가 완료된 이동 객체의 추적을 위한 방법으로 Kalman Filter을 이용한다
(15). 분류가 완료된 이동객체의 위치에 대해 Kalman Filter를 적용하기 위한 과정은 다음과 같이
식(8)~
식(12)으로 모델링이 이루어진다.
먼저, 이동 객체의 추적 위치 (x, y)와 속도 (v
x, v
y)를 다음과 같이
식(8)로 나타낸다.
다음, 시간 t에서의 상태 벡터 X
t인 상태방정식은
식(9)와 같이 나타낸다.
여기서, A는 전이 행렬을 B는 사용자 입력에 의한 상태 전이 행렬을 나타내고, W
t는 프로세스 잡음을 나타낸다. 이때 전이 행렬 A는
식(10)과 같이 나타낸다.
다음, 측정값 z
t는 분류된 이동 객체의 위치를 나타내며, 측정 방정식을
식(11)와 같이 나타낼 수 있다.
여기서, H는 측정 벡터의 변환 행렬을 나타내고, v
t는 측정 잡음을 나타낸다. 본 논문에서는 H에 대하여 상태 벡터에서 속도를 나타내는 요소는 제거하고, 위치를 나타내는 요소만 적용하여
식(12)와 같이 나타낸다.
위와 같은 처리 과정을 통하여 Kalman Filter를 적용함으로써 이동 객체의 추적 위치를 보정한다. 그러나 이동 객체가 겹쳤을 경우 인간과 가축의
겹침과 가축과 가축, 인간과 인간의 겹침을 판단하여야 한다. 따라서, 본 논문에서는 인간과 가축에 대해 각각 부여된 Kalman Filter의 Euclidean
거리를 이용하여 이동 객체의 겹침을 판단하며,
식(13)~
식(16)과 같이 나타낸다.
식(13)~
식(16)에서 d는 객체간의 distance를 나타내며, PM
o 은 인간의 현재 값을, AM
o은 가축의 현재 값을 나타낸다. 또한, PP
o은 인간의 예측 값을, AP
o은 가축의 예측 값을 나타낸다. 가축에 대하여 인간이 겹침을 보일 때 인간의 예측 값과 가축의 현재 값의 distance를
식(13)와 같이 얻었으며, 인간에 대하여 가축이 겹침을 보일 경우 가축의 예측 값과 인간의 현재 값의 distance를
식(14)와 같은 방법으로 얻었다. 마지막으로,
식(15)은 인간과 인간이 겹쳤을 경우의 distance를 나타내며,
식(16)은 가축과 가축이 겹쳤을 경우의 distance를 나타낸다. 다음
그림. 8과
그림. 9는 겹침 판단에 대한 결과를 나타낸다.
그림. 8(a)는 인간과 가축의 비 겹침 상황을 나타내며,
그림. 8(b)는 인간과 가축의 겹침 상황을 나타낸다. 인간과 가축이 겹쳤을 경우 하얀색 라벨로 나타내어 겹침을 판단한다.
그림. 8. 인간과 가축의 겹침 판단
Fig. 8. Judgment of human and livestock overlap
다음,
그림. 9(a)는 가축과 가축의 겹침을
그림. 9(b)는 인간과 인간의 겹침을 나타낸다.
그림. 9. 동일 객체의 겹침 판단
Fig. 9. Judgment of same object overlap
3. 실험 및 고찰
3.1 제안된 알고리즘
제안하는 형태학적 특징 기반 모델을 이용한 가축 도난 판단 시스템의 전체 시스템 블록도는
그림. 10과 같다.
그림. 10은 크게 이동 객체 추출, 인식, 분류, 그리고 추적으로 구성되어지며, 각각의 설명은 다음과 같다.
그림. 10. 제안하는 시스템 블록도
Fig. 10. Block diagram of the proposed system
1. 이동 객체 추출 : 입력 영상에 대해 이동 객체를 추출하기 위해 GMM 기반의 배경 모델링을 수행한다. 이때 발생하는 그림자 및 조도 변화에
따른 잡음을 제거하기 위해 Median Filter를 수행한다.
2. 이동 객체 인식 : 잡음이 제거되어 얻어진 이동 객체 영역을 인식하기 위해 라벨링을 수행한다. 라벨링을 수행한 결과 이동 객체 영역이 인식되지
않은 경우 다시 이동 객체 추출을 수행하며, 이동 객체 영역이 인식된 경우 이동 객체 분류 단계를 수행한다.
3. 이동 객체 분류 : 라벨링으로 인식된 이동 객체 영역에 대해 제안한 형태학적 특징 기반 모델을 형성하기 위한 특징을 추출하고, 추출된 특징
영역에 대해 Convex Hull을 이용하여 최종적으로 형태 분류 모델을 형성한다. 다음, 이동 객체를 이루는 색상을 HSV Color Model을
이용하여 추출하고, 베이지안 분류기를 이용하여 인간의 색상을 제외시킨다. 이렇게 얻어진 형태 분류 모델과 색상 정보를 이용하여 인간과 가축을 분류한다.
4. 이동 객체 추적 : 분류된 이동 객체의 위치를 추적하기 위해 인간과 가축 영역에 각각 Kalman Filter를 수행한다. 만약 동일 객체간의
겹침이 발생할 경우 위험하지 않다는 판단으로 안전의 이벤트를 발생시키며, 인간과 가축의 겹침이 발생할 경우 위험하다는 판단으로 위험의 이벤트를 발생시킨다.
3.2 실험 결과
본 논문에서 제안한 형태학적 특징 기반 모델을 이용한 가축 도난 판단 시스템은 다수 이동객체에 대해 인간, 가축 분류와 위험 상황 판단에 주안점을
두고 개발되었다. 본 실험에 사용된 영상은 640x360 픽셀, 초당 30 프레임이며 실험 환경은 window 10환경에서 i5-4590 3.30GHz
CPU, 4GB RAM의 PC에서 실험하였다. 실험 영상은 농가의 도움을 얻어 촬영하였다.
표 1과
표 2는 기존의 타원 모델과 제안하는 형태 모델 및 형태 모델과 색상을 이용한 방법에 대해 인간과 가축에 대한 분류결과를 나타낸 표이다. 위의 실험결과는
3개의 원근감이 있는 영상에서 단일 객체에 대해 조건을 다르게 하여 실험하였다.
표 1. 가축 분류 결과 비교
Table 1. Comparison of livestock classification results
|
기존 타원 모델(10)
|
제안한 형태 모델
|
제안한 형태 & 색상 방법
|
일반적인 이동 영상
|
55.24%
|
78.15%
|
99.69%
|
비교적 옆모습이 많은 영상
|
93.72%
|
99.51%
|
99.52%
|
비교적 대각이동 모습이 많은 영상
|
31.93%
|
70.86%
|
99.32%
|
표 2. 제안한 방법의 인간 분류 결과
Table 2. Comparison of human classification results
|
기존 타원 모델(10)
|
제안한 형태 모델
|
제안한 형태 & 색상 방법
|
일반적인
이동 영상
|
99.21%
|
99.22%
|
98.82%
|
가까이에서 이동 영상
|
88.20%
|
90.21%
|
93.75%
|
점차 멀어지는 이동 영상
|
93.40%
|
96.27%
|
96.96%
|
먼저, 가축의 분류결과 타원 모델을 이용한 방법과 제안한 방법 모두 가축의 옆모습에 대해 높은 확률로 분류가 성공한다. 하지만 기존 타원 모델 방법은
가축이 대각이동을 할 경우, 가축이 앞모습 또는 뒷모습만 보일 경우에 판단이 어렵다는 문제점이 있다. 따라서 제안한 방법인 형태 모델을 이용하여 분류함으로써
가축이 대각이동을 할 경우의 문제점을 해결하였으며, 색상 판별 방법을 이용하여 가축의 앞모습, 뒷모습에 대한 문제점을 해결하여 최종적으로 분류율을
높였다.
다음, 인간의 분류결과 타원 모델을 이용한 방법과 제안한 방법 모두 이동 객체가 일반적으로 이동할 경우에 높은 분류율을 보였다. 다음, 카메라 가까이에서
이동할 경우 세 가지 방법 모두 이동 객체의 형태를 정확하게 추출하기 어려워 분류율이 비교적 떨어짐을 볼 수 있었다. 마지막으로, 이동 객체가 화면에서
점차 멀어지며 이동할 경우 세 가지 방법 모두 이동 객체가 화면에서 너무 멀어질 때 이동 객체의 크기가 작아져 인식이 어려워짐을 보였다. 다음,
그림. 11~
그림. 13은 가축 도난 판단 시스템의 결과를 나타낸다.
다음,
그림. 11은 3개의 영상에 대해 겹침 상황이 발생하지 않아 안전하다는 판단을 하여 상황판에 나타내었다.
그림. 11. 위험 상황이 발생하지 않을 경우
Fig. 11. If the risk does not occur
다음,
그림. 12는 3개의 영상 중 CAM 1에서 인간과 가축의 겹침이 발생하는 경우이다. 이러한 경우 CAM 1의 상황판에 위험 상황을 나타내었으며, 사용자에게
위험 상황을 알리는 이벤트를 발생시킨다. 그리고 CAM 2, CAM3와 같이 동일 객체간의 겹침 상황은 안전하다는 판단을 하여 상황판에 나타내었다.
그림. 12. 위험 상황이 발생할 경우
Fig. 12. If the risk do occur
다음,
그림. 13은 CAM 1에서 인간과 가축의 겹침 상황이 오랫동안 지속될 경우를 나타낸다. 이러한 상황이 발생할 경우 상황판에 위험 상황을 나타내며, 사용자와
유관 기관에 상황을 알리는 이벤트를 발생시킨다.
그림. 13. 위험 상황이 지속될 경우
Fig. 13. If the risk situation persist occur