Ⅰ. 서 론
MOD는 카메라로부터 입력받는 영상에서 배경을 제외한 이동 객체 영역을 검출해 내는 기술을 일컫는다. MOD는 영상보안을 비롯한 로봇제어, 엔터테인먼트 등 다양한 분야에 적용될 수 있다. MOD를 위한 다양한 기법들이 존재하지만 주로 차 영상, 배경 차분, 광류 흐름 방법이 적용된다.
이 3가지 접근법 중에 배경 차분 기법은 복잡한 배경을 갖는 영상에서도 우수한 성능을 나타내기 때문에 일반적으로 많이 적용되며[1], 사용되는 배경 학습 알고리듬의 종류에 따라 MOD 정확도, 계산의 복잡도 그리고 메모리 요구량 등이 달라진다[2].
가우시안 혼합 모델(Gaussian mixture model; GMM) 기반의 배경 학습 알고리듬은 입력 영상에 대한 평균, 분산, 가중치를 각 가우시안 별로 계산하여 다중 분포를 갖는 확률 모델을 생성한다. GMM 기반의 MOD 알고리듬은 정확도 측면에서는 우수하게 평가되지만 계산의 복잡성 문제로 인해 실시간 영상처리를 위해서는 고성능 프로세서 환경이 요구되어 비용 및 전력소모 측면에서 효율적이지 않다. 이러한 단점을 극복하기 위해서는 저전력 환경에서도 고성능 계산이 가능하도록 전용 ASIC으로 개발하는 것이 필요하다. MOD의 실시간 영상처리를 위해 GMM을 비롯한 다양한 알고리듬들이 하드웨어로 구현되고 FPGA 환경에서 검증하는 연구들이 활발히 진행되고 있다[3,4].
본 논문에서는 GMM 기반의 EGML 알고리듬[6]을 적용하여 배경을 학습하고 이동 객체를 검출하는 MOD 알고리듬을 Verilog-HDL을 사용하여 하드웨어로 설계하였으며, 설계된 HDL 모델을 MATLAB/Simulink와 FPGA가 연동된 FPGA-in-the-loop 환경에서 하드웨어의 동작을 검증하였다. MOD 성능평가를 위해 IEEE CDW-2012 데이터 세트[5]를 사용하였으며, 타 MOD 알고리듬과 상대적인 성능을 비교하였다. 본 논문은 다음과 같이 구성된다. Ⅱ장에서는 EGML 기반의 MOD 알고리듬에 대한 설명과 효율적인 하드웨어 설계를 위한 EGML 계산 일부의 근사화 적용에 대해 설명하였으며, Ⅲ장에서는 설계된 하드웨어의 구조에 대하여 기술하였다. Ⅳ장에서는 MOD 프로세서의 기능 검증, MOD 성능 평가 그리고 FPGA 합성 결과에 대해 기술하였으며, Ⅴ장에서 결론을 맺는다.
Ⅱ. EGML 기반 MOD 알고리듬
적응적 가우시안 혼합 모델 기반의 배경 학습은 입력화소가 다중 분포 가우시안에 매칭되는 확률을 계산하여 각 가우시안의 파라미터를 갱신한다[7]. 각 가우시안의 파라미터들은 적용되는 학습율 크기에 따라 현재 영상에 대한 학습 비중이 달라진다. 학습율이 클수록 배경 학습의 수렴속도는 빨라지지만 안정도는 낮아지며, 반대로 작은 크기의 학습율을 적용시킬수록 높은 안정도와 느린 수렴속도를 갖는다. 안정도는 잡음 및 이동객체에 의한 영향을 줄여 배경을 안정적으로 학습하는 정도를 나타내며, 수렴속도는 배경의 변화에 빠르게 적응해나가는 정도를 나타낸다.
EGML 알고리듬은 가변 학습율을 적용하여 가우시안의 평균과 분산을 갱신함으로써 빠른 수렴속도와 높은 안정도를 갖도록 개선된 가우시안 혼합 모델 기반의 배경 생성 방법이다. 입력 화소가 최소 하나의 가우시안에 매칭되었을 경우, 가우시안 매칭 확률 Pj는 식 (1)과 같이 정의되며, 가중치 ω가 갱신되는 과정은 식 (2)~식 (3)과 같다. 식 (1)에서 j = K는 가우시안 개수이고, Tσ는 가우시안 매칭 임계값을 나타낸다. 입력 화소에 대해 매칭 확률이 가장 높은 가우시안의 사후 확률(posterior probability)은 식 (2)의 승자독식(winner-take-all) 적용을 통해 qk = 1이 되고, 나머지 가우시안은 qk = 0이 되어 파라미터들이 갱신된다. 가중치는 각 가우시안에 대한 배경 모델의 여부를 판단할 때 사용되며, 새로운 가우시안이 생성될 때 소멸되는 가우시안의 기준이 된다.
가우시안의 평균 μ와 분산 σ은 식 (4)~식 (5)의 매칭빈도수 c와 학습율 α에 영향을 받아 식 (6)~식 (7)과 같이 갱신된다.
입력 화소값이 어느 가우시안에도 포함되지 않을 경우에는 식 (8)과 같이 가장 작은 가중치를 갖는 가우시안의 파라미터들이 초기화된다. 새롭게 생성되는 가우시안은 cj = 1로 초기화되어 빠른 수렴속도를 가지면서 평균과 분산이 갱신되며, 시간이 지날수록 α 값에 근접해져 높은 안정도를 가지면서 평균과 분산이 갱신된다.
EGML 알고리듬의 하드웨어 구현에 있어서 불필요한 연산을 제거하고 공통적인 연산을 공유하여 연산량을 감소시켰으며, 복잡한 연산의 일부를 단순화시키는 근사화를 통해 회로 복잡도를 줄이고 하드웨어 동작속도를 향상시켰다.
가우시안 함수 gi (x;μj, σj)의 계산에 포함되는 지수 함수 exp {-(|x-μ;|/σ)2/2}를 식 (9)를 이용하여 지수 값 범위에 관계없이 일정한 크기의 LUT (lookup table)와 시프트(shift) 연산으로 구현하였다.
식 (9)의 지수 값 E의 유효 값 범위는 임계 값 Tσ의 크기에 따라 달라지며, 본 논문에서는 Tσ = 3으로 적용시켜 E는 0 ≤ E < 4.5의 범위를 가진다. 식 (9)에서 b는 LUT 주소이고, a는 시프트 횟수를 의미한다.
식 (5)에서 (1-α)/ck의 계산을 위해 특정 범위(2의 승수) 마다 시프트 연산으로 간단히 구현할 수 있도록 ck 값을 정해주면, 식 (5)∼식 (7)의 나눗셈 및 곱셈 연산을 시프트와 가산기로 구현할 수 있다. 또한 식 (7)의 결 과에 대한 제곱근 연산이 필요하지만, 식 (7)에 적용되는 ηk를 로 변환하여 식 (10)과 같이 근사화 시킴으로써 제곱근 연산을 제거할 수 있다.
ck 값에 따른 ηk와 값의 결정 기준은 휴리스틱 방식으로 다양한 영상에 대해 검증하여 본래 알고리듬의 MOD 결과와 가장 유사하게 도출되도록 결정하였다.
표 1은 EGML 알고리듬에서 요구되는 연산횟수와 본 논문에 적용된 근사화 EGML 알고리듬의 연산 복잡도를 비교한 것이다. 3회의 제곱근 계산이 제거되었으며, 일부의 곱셈과 나눗셈 연산이 가산기 및 기타 회로로 구현되어 전체적인 연산량이 감소되었다. 이를 통해 하드웨어 복잡도가 크게 감소된다.
표 1.EGML 알고리듬의 연산 복잡도 Table. 1 Arithmetic complexity of EGML algorithm
시스템이 초기화되고 영상이 입력된 후, 최초로 생성 되는 배경 모델은 식 (11)에 의해 결정된다. 여기서 Tf는 배경의 동적인 정도를 나타내는 값이다. 최초의 배경 모델이 결정된 후 새로운 가우시안이 배경 모델로 결정되기 위해 요구되는 매칭 프레임 수는 식 (12)과 같다. , α = 0.001의 값을 가진다면 105 프레임, , α = 0.001의 값을 가진다면 223 프레임 동안 연속으로 해당 가우시안에 매칭되어야 새로운 배경 모델로 결정된다.
식 (11)과 식 (12)의 Tf, 값을 서로 다른 값으로 적용시켰으며, 배경의 특성에 따라 사용자가 Tf, 값을 설정할 수 있도록 하여 B와 F의 trade-off 관계를 절 충시켰다.
하드웨어 설계에 적용시킬 EGML 알고리듬의 유용성을 판단하기 위해 본래 EGML 알고리듬과 MOD 성능을 비교하였으며, 분석 결과는 표 2와 같다.
표 2.근사화 EGML 알고리듬의 MOD 성능 Table. 2 MOD performances of approximated EGML algorithm
검증 영상은 IEEE CDW-2012 데이터 세트의 highway, park 영상이며, 두 영상 모두 오차가 약 1% 이내로 측정되어 동일한 성능을 갖는 것으로 간주할 수 있다. 그림 1은 highway, park (thermal) 영상에 대한 EGML 및 근사화 EGML 알고리듬의 MOD 결과 영상이다. 일부 영역에서 미세한 차이가 발생하였으나, 거의 유사한 결과가 얻어졌으며, 따라서 본 논문의 근사화 EGML 알고리듬이 MOD에 효과적으로 적용될 수 있음을 확인하였다. recall은 참 영상(ground truth)의 이동 객체 화소에 대한 검지율을 나타내며, precision은 이동 객체 화소로 판단된 화소 중에 올바르게 검지된 정확도를 나타낸다. F-measure는 recall 및 precision이 포함된 지표이며, 우수한 성능을 가질수록 세 가지 모두 ‘1’로 가까워진다.
그림 1.근사화 EGML 알고리듬의 MOD 결과 비교 (a) 입력 영상 (b) 참 영상 (c) EGML 기반의 MOD 결과 (d) 근사화 EGML 기반의 MOD 결과 Fig. 1 Comparison of MOD results for EGML and approximated EGML algorithms (a) Input image (b) Ground-Truth (c) EGML-based MOD result (d) approximated EGMLbased MOD result
Ⅲ. MOD 하드웨어 설계
설계된 MOD 프로세서는 그림 2와 같이 MOD 연산부, 제어부, 메모리로 구성된다. MOD 연산 모듈은 8-비트 그레이 스케일(gray-scale)의 영상 데이터와 설정될 파라미터의 정보를 입력받으며, 해당 화소의 MOD 결과를 출력한다. 제어부는 파이프라이닝 적용에 따른 메모리 읽기/쓰기 타이밍을 제어하며, MOD 결과 출력 타이밍에 맞도록 출력 인에이블 신호를 생성한다. 또한 해상도 정보를 입력받아 각 프레임의 동일 위치 화소별 연산이 올바르게 되도록 제어한다. 가우시안 파라미터 저장을 위해 FPGA 내부의 Block RAM을 사용하였다.
그림 2.설계된 MOD 프로세서의 구조 Fig. 2 Architecture of designed MOD processor
Virtex-5 XC5VSX95T FPGA에서 최대 240x180 해상도 영상을 지원할 수 있으며, Virtex-6 XC6VSX475T 디바이스에서는480x320의 영상을 지원할 수 있다.
MOD 연산부는 근사화 EGML 알고리듬 기반의 배경 생성 블록 그리고 전경과 배경을 분류하는 객체 검출 블록으로 구성된다. 배경 생성 블록은 그림 3과 같은 구조로 구현되었으며, 식 (1)에 의해 가우시안 매칭 확률 Pj를 계산하는 부분, 그리고 식 (2)~식 (7)과 본 논문에서 제안된 근사화 방법(식 (9), 식 (10))에 의해 가중치 ωj, 평균값 μj, 분산 σj, 매칭 횟수 cj를 갱신하는 부분으로 구성된다. j는 가우시안의 개수를 나타내며, 본 논문에서는 세 개의 가우시안을 사용하므로 j = 1,2,3이 된다.
그림 3.배경 생성 블록 Fig. 3 Background generation block
그림 3의 Cal_Mat_Prob 블록에서 세 개의 가우시안의 매칭 확률 Pj는 병렬로 계산되며, 계산된 Pj에 의해 가우시안 파라미터의 갱신 여부를 판단하는 변수 k가 Det_k 블록에 의해 결정된다. 매칭 확률이 최대인 가우시안 k←argmaxj(Pj)에 의해 변수 k가 결정되면 입력화소가 세 개의 가우시안 중 하나에 포함된 경우이며, Cal_Update_Val 블록에 의해 가우시안 파라미터가 갱신된다. 변수 k가 가중치 최솟값인k←argminj(ωj)에 의해 결정되면 입력 화소가 세 개의 가우시안에 포함되지 않은 경우이며, Init_Val 블록에 의해 가우시안 파라미터가 초기값으로 설정된다.
배경 생성 블록의 입력부터 최종 출력까지 곱셈기, 나눗셈기, 가산기 등을 거치며 매우 큰 지연을 갖게 되어 파이프라이닝을 적용하지 않을 경우에 동작 주파수는 10 MHz 이하가 될 것으로 예측되었다. 본 논문에서는 회로의 동작 주파수를 높이기 위해 배경 생성 블록이 총 13 단계의 파이프라이닝으로 동작하도록 회로를 설계하였다. 특별히 내부 연산회로들 중 critical path를 갖는 16-비트 나눗셈기 내부에는 3단계 파이프라인을 삽입하여 전체적인 동작 속도를 최적화하였다.
객체 검출 블록은 입력 화소에 대해 전경 및 배경으로 분류하는 기능과 함께 각 가우시안이 배경 모델에 속하는지 판단한다. 최초의 배경 생성 모델과 추가로 생성되는 배경 모델을 결정하기 위해 식 (11)과 식 (12)가 적용되며, 입력 화소가 특정 가우시안에 매칭되면 해당 화소는 배경으로 분류되고, 그렇지 않으면 전경으로 분류된다. 입력 화소가 어느 가우시안에도 매칭되지 않을 경우에도 전경으로 분류된다. 이와 같은 기능을 수행하는 객체 검출 블록의 구조는 그림 4와 같다.
그림 4.객체 검출 블록 Fig. 4 Foreground detection block
가우시안의 평균 값 μj가 지정된 초기 값을 갖도록 설계함으로써 입력 화소가 각 가우시안에 한 번도 매칭되지 않았을 경우에는 지정된 초기 값을 유지하도록 하였다. 초기화 후 경과된 시간에 따라 sum_ω > (1-Tf) 조건이 만족되면, μj의 값을 확인하여 최초의 배경 모델에 해당되는 가우시안을 결정한다.
그 후, 입력 화소가 매칭된 가우시안이 wk > 조건을 만족하면 새로운 배경 모델로 추가된다. 기존의 가우시안이 배경 모델로 결정되었더라도 k = argminj (ωj)에 의해 초기화되어 생성되는 가우시안에 해당되면 배경 모델에서 제외된다.
제어부는 메모리의 읽기/쓰기 그리고 출력 인에이블 신호의 타이밍을 제어하며, 설정된 해상도에 맞추어 메모리 주소 값을 연산한다. 4가지 가우시안 파라미터의 읽기/쓰기를 위해 8가지 주소 값이 존재하며, 모든 주소값을 개별적으로 계산할 경우 8개의 카운터 회로가 필요하다. 그러나 설계된 알고리듬의 특성상 모든 주소값들이 일정한 클록 수 간격 차이로 동일한 값을 가지므로 하나의 계수기와 13개의 레지스터로 모든 주소 값을 얻을 수 있다. 이와 같은 동작 특성을 고려하여 설계된 제어부의 구조는 그림 5와 같다.
그림 5.제어부 Fig. 5 Control block
Ⅳ. 기능 검증 및 성능 평가
Verilog-HDL로 설계된 MOD 프로세서는 Xilinx ISE 시뮬레이터와, MATLAB/Simulink의 HDL-Netlist 시뮬레이션을 통해 설계된 회로의 기능 검증과 MOD성능을 분석하였다. 하드웨어의 올바른 설계 유무를 판단하기 위해 하드웨어 구현의 MOD 결과와 소프트웨어 모델링의 MOD 결과를 비교하였으며, 분석 결과는 표 3과 같다. park 영상은 열 감지 카메라의 영상으로 thermal 범주에 속하며, traffic 영상은 카메라의 흔들림이 있는 camera jitter 범주에 속한다. 두 영상에 대한 MOD 결과를 recall, precision, F-measure 대하여 비교한 결과 약 99.6% 이상의 일치율을 보이므로, 거의 완전히 동일한 성능을 갖는 것으로 측정되어 하드웨어가 정상적으로 설계되었음을 확인하였다.
표 3.하드웨어 구현과 소프트웨어 구현의 MOD 성능 비교 Table. 3 MOD performance comparisons of hardware implementation and software simulation
설계된 MOD 프로세서의 하드웨어 동작 검증을 위해 그림 6과 같이 USB JTAG 통신으로 PC와 FPGA가 연결된 FPGA-in-the-loop 환경을 구성하였으며, 사용된 FPGA 디바이스는 Virtex-5 XC5VSX95T 이다. FPGA에서 출력된 MOD 결과와 HDL-Netlist 시뮬레이션에 대한 기능 검증의 MOD 결과와 비교하여 FPGA 구현 결과의 이상 유무를 판단하였다. 기능 검증 결과, 단 하나의 데이터도 어긋나지 않고 100% 일치함으로써 FPGA 환경에서 하드웨어가 정상으로 동작함을 확인하였다. 그림 7은 PETS2006 영상에 대한 FPGA 검증과 기능 검증의 MOD 결과를 비교한 것이며, 두 결과가 완전히 일치함을 확인할 수 있다.
그림 6.FPGA-in-the-loop 검증 환경 Fig. 6 FPGA-in-the-loop verification
그림 7.FPGA 검증과 기능 검증의 MOD 결과 비교 (a) 입력 영상, (b) 기능 검증의 MOD 결과, (c) FPGA 검증의 MOD 결과 Fig. 7 MOD result comparisons of functional simulation and FPGA verification (a) Input image, (b) MOD result of functional simulation, (c) MOD result of FPGA verification
본 논문에 적용된 EGML 알고리듬 기반의 MOD 결과와 타 알고리듬의 MOD 결과에 대해 상대적인 성능을 비교하였다. 비교 대상의 알고리듬은 IEEE CDW-2012에서 평가된 5가지 알고리듬이다. 5가지 알고리듬 가운데 PBAS[8], Vibe+[9]는 성능이 상대적으로 우수하게 평가된 알고리듬이며, GMM-Stauffer[7], GMMZivkovic[10]는 EGML 알고리듬과 유사한 GMM 기반의 MOD 알고리듬에 해당된다. 그리고 또 다른 하나는 커널 분포 추정[11] 기반의 MOD 알고리듬이다. CDW-2012 데이터 세트의 각 범주별 2가지, 총 12가지 검증영상에 대한 성능 비교 결과는 표 4와 같으며, 12가지 영상에 대한 평균을 나타낸다.
표 4.MOD 알고리듬의 성능 비교 Table. 4 Comparison of MOD performance with other MOD algorithms
recall의 측면에서는 PBAS 알고리듬이 가장 우수한 성능을 가지며, precision 측면에서는 Vibe+ 알고리듬이 가장 우수한 성능을 갖는다. 본 논문의 근사화 EGML MOD 결과는 GMM 기반의 MOD 알고리듬 보다 전반적으로 높은 recall, precision, F-measure 값을 갖는 것으로 평가되었으며, F-measure 값은 6개의 알고리듬 중 2번째로 높게 평가되었다. 표 4의 MOD 성능은 IEEE CDW-2012의 12가지 영상에 대한 결과로서 모든 영상을 검증한 것은 아니지만 IEEE CDW-2012에서 확인되는 평가 결과와 비슷한 양상을 보이기 때문에 의미있는 결과로 간주할 수 있다. 그림 8은 dining room 영상에 대해 MOD 알고리듬 종류에 따른 MOD 결과 영상을 비교한 것이다. 설계된 MOD 프로세서의 FPGA 합성 결과는 표 5와 같이 XC5VSX95T FPGA디바이스에서 2,218 슬라이스로 구현되었으며, 동작 속도는 102 MHz로 측정되어 102 MS/s의 처리율을 갖는 것으로 평가되었다. 외부 메모리를 사용할 경우 HD 해상도의 입력을 약 100 fps 까지 처리할 수 있는 성능을 갖는다.
그림 8.MOD 알고리듬 종류에 따른 결과 비교 (a) 입력 영상, (b) 참 영상, (c) PBAS, (d) GMM-Stauffer, (e) 본 논문의 결과 Fig. 8 Comparison of MOD results (a) Input image, (b) Ground-Truths, (c) PBAS, (d) GMM-Stauffer, (e) result of this paper
표 5.FPGA 합성 결과 Table. 5 FPGA synthesis results
Ⅴ. 결 론
본 논문에서는 입력 영상에서 이동 객체 영역을 검출하기 위한 MOD 프로세서를 Verilog-HDL을 사용하여 설계하였다. 설계된 회로는 Xilinx ISE 및 MATLAB 환경에서 기능 검증이 이루어졌으며, MATLAB/Simulink와 FPGA가 연동된 FPGA-in-the-loop 방식을 이용하여 하드웨어 동작을 검증하였다. XC5VSX95T FPGA로 합성한 결과 2,218 슬라이스가 사용되었고 102 MHz의 최대 동작주파수를 갖도록 구현되었다. 설계된 MOD 프로세서는 실시간 감시시스템을 포함한 다양한 움직인 추정 응용 시스템에 사용할 수 있을 것이다.
References
- M. Piccardi, "Background subtraction techniques: A review," in Proc. IEEE Int. Conf. Syst., Man Cybern., The Hague, The Netherlands, vol. 4, pp. 3099-3104, Oct. 2004.
- Y. Benezeth, P.-M. Jodoin, B. Emile, H. Laurent, and C. Rosenberger, "Comparative study of background subtraction algorithms," Journal of Electronic Imaging, Vol. 19, No. 3, pp. 1-12, 2010.
- R. Rodriguez-Gomez, E. J. Fernandez-Sanchez, J. Diaz, and E. Ros, "FPGA implementation for real-time background subtraction based on horprasert model," Sensors, vol. 12, no. 1, pp. 585-611, Jan. 2012. https://doi.org/10.3390/s120100585
- M. K. Chowdary, S. S. Babu and H. Khan, "FPGA Implementation of Moving Object Detection in Frames by Using Background Subtraction Algorithm," in Proceedings of the International conference on Communication and Signal Processing (ICCSP), Melmaruvathur, Tamilnadu, India, pp. 1032-1036, 2013.
- N. Goyette. P. Jodoin, F. Porikli, J. Konrad and P. Ishwar. "Changedetection.net: A new change detection benchmark dataset," Proc. IEEE Conf. Computer Vision and Pattern Recognition Workshops, pp. 16-21. 2012.
- D. Lee, "Effective Gaussian mixture learning for video background subtraction," IEEE Trans. Pattern Anal. Mach. Intell., vol. 27, no. 5, pp. 827-832, May 2005. https://doi.org/10.1109/TPAMI.2005.102
- C. Stauffer and E. Grimson, "Adaptive background mixture models for real-time tracking," in Proc. IEEE Int. Conf. Comput. Vis. Pattern Recognit., Ft. Collins, CO, vol. 2, pp. 246-252, Jun. 1999.
- M. Hofmann, P. Tiefenbacher, and G. Rigoll. Background segmentation with feedback: The pixel-based adaptive segmenter, In IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), pp. 38-43, 2012.
- M.V. Droogenbroeck, O. Paquot, Background subtraction: experiments and improvements for vibe, in IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), pp. 32-37, 2012.
- Z. Zivkovic, "Improved adaptive gaussian mixture model for background subtraction," in Proc. IEEE Int. Conf. Pattern Recognition, Cambridge, U.K., vol. 2, pp. 28-31, Aug. 2004.
- A. Elgammal, R. Duraiswami, D. Harwood, and L. Davis, "Background and foreground modeling using nonparametric kernel density estimation for visual surveillance," Proc. IEEE, vol. 90, no. 7, pp. 1151-1163, Jul. 2002. https://doi.org/10.1109/JPROC.2002.801448
Cited by
- EGML 기반 이동객체 검출 프로세서의 저면적 하드웨어 구현 vol.21, pp.12, 2015, https://doi.org/10.6109/jkiice.2017.21.12.2213