보안 제품정보


야간 적외선 카메라를 이용한 객체 검출 및 추적 2015.06.09

당신이 지난밤에 한 일을 알고 있다 \r\n


\r\n

[시큐리티월드 최범준, 박장식, 송종관, 윤병우] 야간 CCTV 영상에서 보행자를 정확하게 검출·추적하기 위해서는 어떤 방법이 있을까. 이번 시큐리티월드 보안기술 설명서에서는 야간 적외선 카메라를 이용해 객체를 검출하고 추적하는 방법을 확인해보려고 한다.

\r\n

\r\n

\r\n

\r\n\r\n\r\n
\r\n

\r\n


\r\n

컴퓨터 비전분야에서 객체 검출(Object Detection)과 객체 추적(Object Tracking)은 자동 보안 감시 시스템(Auto Security Monitor System), 스마트 자동차 시스템(Smart Vehicle system) 등에서 다양하게 사용되고 있으며 연구 또한 활발이 이루어지고 있다[1-3]. 객체 검출과 추적 시스템의 성능은 야간, 폭설, 폭우 등의 복잡한 배경과 객체의 외형, 자세, 색상 등에 영향을 받는다.

\r\n

\r\n

주간 영상의 경우 객체의 형태가 명확해 객체의 윤곽, 그림자 등 검출되는 특징이 다양하다. 그러나 야간 영상에서는 낮은 조도로 인해 객체 주변 요소 보다 높은 휘도를 가진 전광판이나 가로등 등으로 객체 특징 검출이 제한돼 객체 검출과 추적이 어렵다[4-5]. 야간 영상에 대해 Wang 등은 GMM 배경 추정(Background Estimation)과 SVM(Support Vector Machine) 알고리즘을 이용해 야간 보행자를 검출하고, 밝기값(Intensity)과 경계선(Edge)을 특징점으로 하는 파티클 필터(Particle Filter)로 추적하는 방법을 제안했다[4]. 또한 Xu 등은 객체 검출을 위해 SVM을 사용하고, Kalman 필터를 이용해 객체 추적 방법을 제안했다[5].

\r\n

이번 기사에서는 적외선 카메라를 사용해 야간 영상에서의 제한적인 객체 특징 검출을 보안하고, 카메라로부터 얻은 적외선 이미지(Infrared image)에서 Adaboost 알고리즘과 파티클 필터를 이용한 객체 검출 및 추적기법을 알아보도록 하겠다.

\r\n


\r\n

객체 검출 및 추적 알고리즘

\r\n

Adaboost 알고리즘

\r\n

Freund와 Schapire[6,7]가 1996년에 처음 소개한 Adaboost 알고리즘은 Schapire와 Singer[8]가 1999년에 일반화했다. Adaboost 알고리즘은 유사 Haar 특징들과 분류기들의 가중치를 변화시키면서 약한 분류기(Weak Classifier)를 조합해 하나의 강력한 분류기를 만드는 알고리즘이다. Adaboost는 부스팅(Boosting)의 한 종류로 약한 분류기를 이용해 샘플을 인식한다. 잘못 분류된 샘플에 대해서는 가중치를 증가시키고, 다음 약한 분류기에 반영해 우선적으로 분류한다. 잘못 분류 한 분류기에 대해서는 가중치를 감소시킨다. 결국 최종적인 강한 분류기는 각 단계에서 생성된 약한 분류기들의 조합으로 구성된다.

\r\n


\r\n

파티클 필터

\r\n

파티클 필터는 비선형 시스템의 상태를 예측하는 대표적인 방법으로 신호 및 영상처리, 로봇 등 다양한 분야에서 널리 사용되고 있다[10-13]. 파티클 필터는 확률분포를 관측으로부터 주어지는 N개의 샘플 [식 사용] 로 근사화해 사용한다. 여기서 [식사용]는 파티클을 나타내며, [식 사용]는 각 파티클에 대응되는 가중치(Weight)를 나타낸다. 선택된 각 샘플들은 전파(Propagate) 과정을 통해 변화되며 구해진 샘플에 대해 [식사용]을 구하고 이를 이용해 추정(Estimate) 단계에서 결정된다[13]. 관측(Observe) 단계에서는 각 샘플에서 추적 목표(Target)와 유사한 정도를 구하는 관측 확률을 측정하고, 그에 따른 가중치를 부여한다[14]. 그림 1은 파티클 필터 추적과정을 나타낸 것이며, 한 프레임의 영상마다 그림 2의 단계가 수행된다.

\r\n

\r\n

\r\n

\r\n\r\n\r\n\r\n\r\n
\r\n

\r\n

그림 1. 파티클 필터 추적 과정

\r\n


파티클 필터를 사용하기 위해서는 파티클 개수와 파티클 분포를 잘 조절하는 것이 중요하다. 파티클 수가 많아지면 알고리즘의 시간 복잡도가 매우 커지고, 추적하고자 하는 객체에 파티클이 제대로 분포하지 않으면 파티클 필터는 동작하지 않는다. 따라서 이번 기사에서는 실험 영상에 맞게 파티클 개수와 분포 조절을 다룰 예정이다.

\r\n


\r\n

야간 영상에 대한 객체 검출 및 추적

\r\n

이번 기사에서는 야간 영상에서 보행자를 검출하고 추적하기 위해 Adaboost 알고리즘과 파티클 필터를 이용한다. 그림 2는 야간 영상기반에서 객체를 검출·추적하는 전체 알고리즘 흐름도를 나타낸다.

\r\n

\r\n

\r\n\r\n\r\n\r\n\r\n
\r\n

그림 2. 객체 검출 및 추적 흐름도

야간 영상에서는 객체의 특징 검출이 제한적이기 때문에 이를 보안하기 위해 적외선 카메라로부터 얻은 이미지를 이용해 학습데이터를 생성했다. 생성한 적외선 이미지 학습 데이터에서 객체의 유사 Haar 특징을 얻고 종속 분류기를 수행함으로써 객체를 검출한다. 검출된 객체로부터 리샘플링 과정과 HSV 히스토그램 특징을 이용해 객체를 추적한다. 이번 기사에서는 시험 영상에 대해 파티클의 개수와 파티클의 분포를 최적화했으며, RGB 히스토그램 대신 HSV 컬러 히스토그램을 사용했다. 조도 변화에 강한 특성을 갖도록 각 컬러 값에 대해 8×8×4 bin을 할당함으로써 색상과 채도의 변화보다 명도 변화에 민감하지 않도록 했다.

\r\n


\r\n

객체 검출 및 추적 실험 결과

\r\n

이번 기사에서는 야간에 근거리, 중거리, 원거리 카메라를 이용해 골목길, 놀이터, 지자체시설, 문화재 시설에서 객체로부터 영상을 취득한 뒤 객체를 검출하고 추적하는 실험을 했다. 실험에 사용된 시험 영상은 480×320픽셀이며 30frame/sec의 규격을 가진다. 개발환경은 Intel(R) Pentium(R) CPU G2020 @ 2.90GHz, 4GB RAM, Window7 PC에서 Visual Studio2010과 인텔의 OpenCV 2.4.9 API를 사용했다.

\r\n

\r\n

\r\n

\r\n\r\n\r\n\r\n\r\n
\r\n

그림 3. Adaboost 알고리즘 학습을 위한 긍정 영상

\r\n


그림 3은 학습에 사용된 긍정 영상(Positive Image)의 일부분이다. 이번 기사에서는 1,016장의 이미지를 사용했다.

\r\n


\r\n

\r\n

\r\n\r\n\r\n\r\n\r\n
\r\n

그림 4. Adaboost 알고리즘 학습을 위한 부정 영상

\r\n


\r\n

그림 4는 학습에 사용된 부정 영상(Negative Image)의 일부분으로 1,000장의 이미지를 사용했다.

\r\n


\r\n

\r\n

\r\n\r\n\r\n\r\n\r\n
\r\n

그림 5. 다양한 시나리오에서 객체 검출 결과

\r\n

\r\n

그림 5는 골목길과 놀이터에서 객체를 검출한 결과다. 그림 5의 (a), (b), (c)는 객체를 정확히 검출했고 그림 5의 (d)는 3명의 보행자 중 2명만 검출해 객체를 정확히 검출하는데 실패했다.

\r\n

\r\n

\r\n\r\n\r\n\r\n\r\n
\r\n

표 1. 다양한 공간에서 객체 검출율

표 1은 시나리오 별 검출율을 보여준다. 프레임 수(Number of Frame)는 영상에서 검출하고자 하는 객체가 나타난 프레임을 뜻한다. 실험 결과 원거리 보다 근거리에서 객체 검출율이 더 높게 나타났다.

\r\n


\r\n

\r\n

\r\n\r\n\r\n\r\n\r\n
\r\n

그림 6. 객체 추적 결과

\r\n


\r\n

그림 6은 보행자가 골목길을 배회하는 영상에서 객체를 추적한 결과다. 객체를 추적한 결과는 타원으로 나타냈으며, 타원안의 점은 파티클의 개수와 분포를 나타낸다. 그림 7은 파티클 갯수 변화에 따른 객체 추적 결과다. 파티클 갯수를 100개, 50개, 30개, 5개로 설정한 후 실험을 한 결과 파티클을 30개로 감소시켰을 때에도 정상적으로 객체를 추적할 수 있음을 확인했다. 그림 8은 파티클 표준편차(STD_D, standard deviation) 변화에 따른 객체 추적 결과다. 표준편차를 1.0, 0.1, 0.05, 0.005로 변화시킨 결과 0.005로 분포했을 때는 추적하지 못함을 확인했다.

\r\n


그림 9는 각 파티클 사이의 거리 분포(noise_xy)를 변화시키며 객체를 추적한 결과다. 거리 분포가 0.005로 작아졌을 때, 추적을 못했다. 일반적으로 100개 정도의 파티클을 생성해 추적을 하지만 야간영상에서 실험결과 파티클은 30개를 생성해도 객체를 정상적으로 추적할 수 있음을 확인했다. 이는 파티클 필터를 활용한 추적에서 파티클의 개수가 많으면 계산량이 많아지기 때문에 적은 파티클 개수를 생성함으로써 계산량이 향상됐음을 확인할 수 있다.

\r\n


\r\n

\r\n

\r\n\r\n\r\n\r\n\r\n
\r\n

그림 7. 파티클 개수 변화에 따른 추적 결과

\r\n


\r\n

\r\n

\r\n\r\n\r\n\r\n\r\n
\r\n

그림 8. 표준편차 변화에 따른 추적 결과

\r\n


\r\n

\r\n

\r\n\r\n\r\n\r\n\r\n
\r\n

\r\n

그림 9. Noise_xy 변화에 따른 추적 결과

\r\n


\r\n

이번 기사에서는 야간에 촬영된 CCTV 영상으로부터 보행자를 검출하고 추적하는 알고리즘을 개발했다. 야간 영상에 대한 보행자를 검출하기 위해 유사 Haar 특징점을 활용해 Adaboost 훈련 알고리즘을 적용한다. HSV 히스토그램을 이용한 파티클 필터를 활용해 객체를 추적하는 방법을 제안했다. 특히 계산량을 고려한 효율적인 보행자 추적을 위해 야간 영상에 적합한 파티클 필터의 파티클 수와 분포를 시뮬레이션을 통해 설정했다. 다양한 공간에서 획득한 야간 영상에서 객체를 검출하고 추적 시뮬레이션을 실행한 결과 객체 검출과 추적 성능이 우수함을 확인했다.

\r\n


\r\n

[참고문헌]

\r\n

[1] D. Geronimo, A. M. Lopez, A. D. Sappa, Member, IEEE, and T. Graf, “Survey of Pedestrian Detection for Advanced Driver Assistance Systems,” IEEE trans. Pattern Analysis and Machine Intelligence, vol. 32, no. 7, July. 2010, pp. 1239-1258.

\r\n

[2] D. Xia, H. Sun and Z. Shen, “Real-time Infrared Pedestrian Detection Based on Multi-block LBP,” In Proc. Int. Conf. Computer Application and System Modeling, vol. 12, 2010, pp. 140-142.

\r\n

[3] M. Bertozzi, A. Broggi, C. Caraffi, M. Del Rose, M. Felisa and G. Vezzoni, “Pedestrian detection by means of far-infrared stereo vision,” Computer Vision and Image Understanding 106, 2007, pp. 194-204.

\r\n

[4] J. T. Wang, D. B. Chen, H. Y. Chen and J. Y. Yang, “On pedestrian detection and tracking in infrared videos,” Pattern Recognition Letters 33, 2012. pp. 775?785.

\r\n

[5] F. Xu, X. Liu, and K. Fujimura, “Pedestrian Detection and Tracking With Night Vision,” IEEE Tran. Intelligent Transportation Systems, vol. 6, no. 1, March. 2005, pp. 63-71.

\r\n

[6] P. Viola and M. Jones, “Rapid object detection using a boosted cascade of simple features,” In Proc. Computer Vision and Pattern Recognition(CVPR), 2001, pp. 511-518.

\r\n

[7] Y. Freund and R. E. Schapire, ”A Decision-Theoretic Generalization of On-Line Learning and An Application to Boosting,” J. of Computer and System Sciences, vol. 55, no. 1, 1997, pp. 119-139.

\r\n

[8] R. Schapire and Y. Singer, “Improved boosting algorithms using confidence-rated predictions,” Machine Learning, vol. 37, no. 3, 1999, pp. 297-335.

\r\n

[9] P. Viola and M. Jones, “Robust Real Time Face Detection,” In proc IEEE Workshop on Statistical and Computer Theories of Vision(ICCV), 2001, pp. 137-154.

\r\n

[10] I. S. Kim and H. Shin, “A Study on Development of Intelligent CCTV Security System Based on BIM,” J. of the Korea Institute of Electronic Communication Sciences, vol. 6, no. 5, 2011, pp. 789-795.

\r\n

[11] M. Isard and A. Blake, “CONDENSATION?Conditional Density Propagation for Visual Tracking,” Int. J. on Computer Vision vol. 29, no. 1, 1998, pp. 5-28.

\r\n

[12] S. Noh, T. Kim, N. Ko, and Y. Bae, “Particle filter for correction of GPS location data of a mobile robot,” J. of the Korea Institute of Electronic Communication Sciences, vol. 7, no. 2, 2012, pp. 381-389.

\r\n

[13] K. Nummiaro, E. Koller-Meier, and L. V. Gool, “A color-based particle filter,” In Proc. of 1st Int. workshop on generative-model-based vision, 2002, pp. 53-60.

\r\n

[14] J. K. Song, “Improvement of Tracking Performance of Particle filter in Low Frame Rate Video,” J. of The Korea Institute of Electronic Communication Sciences, vol. 9, no. 2, 2014, pp. 143-148.

\r\n


\r\n

[글: 시큐리티월드 최범준, 박장식, 송종관, 윤병우 경성대학교 전자공학과]

\r\n


\r\n

[월간 시큐리티월드 통권 221호 (sw@infothe.com)]

\r\n


\r\n

<저작권자 : (www.securityworldmag.co.kr) 무단전재-재배포금지>