1. 서 론
현재 국내외에서 통합관제 시스템이 사건·사고의 범인을 추적하는 데 결정적인 역할을 수행하면서 특히 유동인구가 많은 지역을 중심으로 CCTV 설치가 급격히 증가하고 있다. 또한 보안, 감시 목적 외에도 교통관리, 사회안전망 및 도난방지 분야 등 다양한 분야로 적용이 확대되고 있다. 이에 따라 근래에는 CCTV를 통해 단순히 영상을 녹화하는 것뿐만 아니라 녹화된 영상을 실시간으로 분석하여 객체의 행위를 분석하는 지능형 영상보안 시스템으로 발전하고 있다[1,2,3]. 이러한 지능형 영상보안 시스템에서 기술적으로 가장 중요한 문제들 중 하나는 배경으로부터 객체를 분리 및 추적하는 기술이다.
기존 색상 카메라를 이용하여 배경에서 객체를 분리하여 인식하는 간단한 방법으로는 히스토그램 분석 방법, 영상 경계 추출 등의 조명의 영향을 덜 받는 특징을 이용한 방법, 프레임 간의 차영상을 이용한 방법 등이 있다. 하지만 이러한 방법들은 모두 색상을 기반으로 객체를 인식하는 방법이기 때문에 조명의 변화에 따라 배경영역 중 일부가 객체로 오검출될 수도 있고, 주변 배경영역과 유사한 색상의 객체를 검출하지 못하는 문제가 발생한다. 이러한 단점들을 극복하고 좀 더 정확한 객체 추출을 하기 위해서 레티넥스(Retinex) 모델을 이용하는 방법[4], 조명-반사율 모델을 이용하는 방법[5] 등이 연구되었다. 하지만 이러한 방법들은 연산량이 많기 때문에 실시간으로 객체를 추적해야 하는 CCTV에 적용하는 데에는 어려움이 있다.
이에 따라 조명의 영향을 받지 않는 깊이 카메라를 이용한 객체 인식 및 추적에 대한 다양한 방법들이 연구되고 있다[6-10]. 하지만 깊이 카메라의 깊이 영상 촬영 성능이 부정확함으로 인해 생기는 잡음이나 검출 영역의 부정확성에 대한 연구에 대해서는 현재까지는 미흡한 실정이다.
본 논문에서는 깊이 정보와 색상 정보를 함께 이용하여 움직임을 인식하는 방법을 제안하고자 한다. 깊이 정보를 이용하면 조명의 영향을 받지 않고 촬영된 영상에서 움직이는 객체를 빠르고 정확하게 추출할 수 있다. 또한 색상 정보를 이용하여 객체 영역을 보정함으로써 검출 성능을 개선시킬 수 있다. 먼저 배경의 깊이 영상을 구한 후, 촬영된 깊이 영상을 배경 깊이 영상과 비교하여 이진화와 라벨링 과정을 거쳐 객체 후보 영역을 찾는다. 그 후 객체 후보 영역에 대해 색상 영상을 참조하여 객체 영역을 찾는다. 이렇게 얻어진 객체 영역 내에서 색상을 이용하여 객체 영역을 보정하는 과정을 거친다. 이러한 과정을 통해 기존 색상 영상이나 깊이 영상 각각 하나만을 이용한 방법에 비해 간단하면서도 정확하게 객체를 인식하고 검출할 수 있다. 또한 제안된 방법을 이용하여 지능형 영상보안 시스템뿐만 아니라 다른 응용분야에도 적용할 수 있을 것으로 기대된다.
2. 깊이 정보를 이용한 움직임 인식
깊이 카메라를 통해 영상을 촬영한다면 Fig. 1와 같이 측정된 거리 정보를 가지고 있는 화소로 구성된 깊이 영상을 얻을 수 있다. 이때 화면 내 근접한 화소가 같은 객체에 속한다면 깊이 값의 차이는 아주 작을 것이다. 이를 이용하여 영상에서 배경 영역과 객체 영역을 분리할 수 있다.
Fig. 1.Depth value obtained by the depth camera.
깊이 값이 비슷한 화소들을 그룹화 하고 라벨링하는 과정을 하게 된다면 영상 내에서 객체를 각각 분리해서 처리할 수 있다[9]. 이때 고정된 깊이 카메라에서 영상을 촬영하게 된다면 배경 화소는 고정되어 화면의 변화가 없다. 반면에 움직이는 객체에 해당하는 화소는 배경과 깊이 값이 서로 다르게 된다. 이를 이용하여 라벨링 과정에서 배경과 객체를 각각 분류하여 라벨링을 수행한다.
라벨링 결과를 근거로 영상을 블록화 한다. 이때 영상내의 각 블록은 Fig. 2와 같이 배경 영역, 경계 영역, 객체 내부 영역의 세 가지 종류로 구분할 수 있다. 배경 영역은 라벨링 결과 블록내의 모든 화소가 배경으로 분류된 영역이다. 객체 내부 영역은 블록내의 모든 화소가 객체로 분류되었고, 같은 라벨을 가지는 영역이다. 경계 영역은 블록 내 화소의 라벨이 다른 값을 가지는 경우로, 배경 영역과 객체 내부 영역으로 판단되지 않는 모든 블록을 경계 영역으로 판단한다.
Fig. 2.Region classification on the labeling image.
움직임 추정 시에 현재 영상에 대한 라벨링 결과와 참조 영상에 대한 라벨링 결과가 필요하다. 현재 영상에서 하나의 블록이 배경영역으로 판단되면 참조 영상에서 탐색이 필요 없다. 반면 블록이 객체 내부 영역 또는 경계 영역으로 판단되면 참조 영상에서의 라벨링 결과를 참고하여 탐색 영역을 판단한다. 이런 과정을 통해 움직이는 객체를 추출할 수 있고, 객체의 움직임을 정확하게 추정할 수 있게 된다.
3. 깊이와 색상 정보를 이용한 움직임 객체의 인식 방법
본 논문에서는 깊이 정보를 이용하여 객체영역을 획득한 후, 색상 정보를 이용하여 움직이는 객체 영역을 더 정확하게 검출하고자 한다. Fig. 3은 본 논문에서 제안하는 방법의 흐름도를 나타낸다.
Fig. 3.Flowchart of the proposed method.
색상 영상과 깊이 영상을 동시에 촬영할 수 있는 깊이 카메라를 감시하고자 하는 곳에 설치하여 고정한다. 먼저 깊이 카메라를 통해 감시하고자 하는 곳의 깊이 영상을 촬영하여 배경영상을 획득한다. 객체가 촬영이 되면 촬영하는 깊이 영상에서 배경의 깊이 값과 차이가 나는 부분이 Fig. 4와 같이 나타난다. Fig. 4에서 실선은 배경 영상에서의 깊이 정보이고, 점선은 촬영 영상에서의 깊이 정보이다.
Fig. 4.Depth information of the background and the captured images.
이 때 각각의 화소 x, y에 대해 깊이 영상에서의 깊이 정보 Dxy와 배경 영상에서의 깊이정보 Bxy를 비교하여 이진화를 수행하여 객체후보를 추출한다. 이 때 깊이 카메라의 측정 오차를 고려하여 식 (1)과 같이 촬영 영상에서의 깊이 정보가 배경영상에서의 깊이 값과 M이상의 차이가 나는 지점에 대해 객체후보 영역으로 분류한다.
깊이 카메라를 통해 배경 깊이 영상을 획득한 후에 영상을 촬영하여 움직이는 객체에 대해 배경 깊이 영상과의 차영상을 구하여 움직이는 객체를 검출할 수 있다. 이 때, 이진화영상에서는 객체뿐만 아니라 카메라의 깊이 정보 측정 오류로 인한 잡음이 생길수도 있다. 이 잡음을 제거하고 정확한 객체 정보를 얻기 위해 라벨링 과정에서 n번째 객체의 크기 Sn에 대해 Smin 미만인 객체에 대해서는 잡음으로 판단하여 객체를 제거하여 처리한다. 그 후 라벨링 영상을 이용하여 영상을 블록화하여 배경, 경계, 객체 내부 영역으로 구분한다. 이런 과정을 통해 배경에서 객체를 분리할 수 있고, 그에 따른 움직임을 추정할 수 있다. Fig. 5는 깊이 정보를 이용하여 실제로 객체영역을 검출하는 과정을 보여준다.
Fig. 5.Process of recognizing the moving object: (a) Captured image, (b) Binarization image, (c) Image after removing noises, (d) Image of detected object.
이때, 깊이 영상만을 이용하여 움직이는 객체 영역을 획득하는 방법은 깊이 카메라의 성능에 크게 좌우된다. 따라서 깊이 정보만을 이용하여 검출된 객체 영역은 Fig. 5 (d)에서 나오는 것과 같이 실제 객체 영역과 차이가 나는 것을 알 수 있다. 이는 깊이 카메라가 깊이 측정 방법에서 객체 주변의 배경 깊이를 정확하게 측정하지 못하고 객체와 배경 사이의 깊이 값으로 인식을 수행하기 때문이다.
이러한 문제를 해결하기 위해 색상 정보를 보조적으로 이용하여 정확한 객체 영역을 검출한다. 만약 색상 정보만을 이용하여 객체를 검출할 때는 조명의 영향과 유사한 색상 구분 문제로 인해 부정확한 결과가 나오지만, 깊이 영상을 이용하여 획득된 영역에 대해서만 색상정보를 이용하게 된다면 색상 정보나 깊이 정보 각각 하나만을 이용한 경우보다 더 정확한 객체 영역을 구할 수 있다.
깊이 정보를 이용하여 라벨링 객체영역에 해당하는 색상 영상을 관심 영역으로 설정한다. 그 후 해당하는 색상 영상에 대해 밝기 값만으로 이루어진 영상으로 변환시킨다. 이는 국소적인 영역만을 처리하기 때문에 밝기 값만으로도 배경과 객체를 구분할 수 있기 때문이다. 또한 밝기 값만을 이용하여 연산량을 줄임으로써 실시간적으로 처리할 수 있다. 그 후 색상 영상에 평탄화를 수행한다. 평탄화는 색상 영상 촬영에서 발생된 잡음을 제거하고, 색상 영상에서의 조명의 영향을 완화할 수 있게 한다. 영상을 평탄화하는 방법은 중간값, 평균값, 가우시안 필터링 등을 이용할 수 있다.
그 후 블록화 과정에서 경계 영역으로 구분된 블록에 속한 화소에 대해 Fig. 6처럼 주변 3×3의 영역을 대상으로 검사를 시작한다. 만약 그 영역이 실제로 배경이라면 관심 영역 외부의 화소와 밝기가 더 유사할 것이다. 이를 이용하여 객체 외부 영역의 평균 밝기 값 과 현재 화소 Pxy값의 차이와 객체 내부 영역의 평균 밝기 영역 값 과 현재 화소 Pxy값 차이를 구한 다음, 두 값의 차 Txy를 식 (2)와 같이 구한다. 이 때 Txy는 자신의 화소가 배경하고 유사할 경우 값이 커지고, 객체하고 유사할 경우 값이 작아진다. 이 Txy가 특정 상수 값인 I이하일 경우에는 배경으로 판단하여 객체 내부 영역에서 제거한다. 이때 I는 이론상으론 0이 되어야 하지만, 배경 부분에서의 조명의 변화, 그림자 등의 환경적 요소를 고려하여 0보다 약간 큰 양수로 정한다.
Fig. 6.Correction of the object area using color information.
4. 실험 결과 및 고찰
4.1 실험 환경
본 논문에서는 ASUS 사의 Xtion Pro 제품을 이용하여 색상 영상과 깊이 영상을 촬영하였다. 색상 영상과 깊이 영상은 모두 320 × 240화소 해상도 영상으로 설정하여 촬영하였다.
또한 촬영 환경은 Fig. 7 (a)과 같은 색상과 깊이 값이 단순한 곳과 Fig. 7 (b)과 같은 색상과 배경 값이 다양한 곳을 배경으로 하여 각각 촬영을 하였다. 또한 단일 객체와 두 개 이상의 다중 객체를 대상으로 촬영을 하여 실험을 수행하였다.
Fig. 7.Backgrounds used in the simulation: (a) Simple case, (b) Complex case.
4.2 실험 결과
Fig. 7의 장소를 배경으로 움직이는 객체 영역 인식 정확도를 실험하였다. 이 때 인자를 식 (1)에서 쓰인, 객체 후보 영역으로 분류하기 위한 배경 영상의 깊이 값과 촬영 영상에서의 깊이 값의 차이를 비교하는 인자인 M을 5로 적용하고, 색상을 이용한 객체 영역 검출에서 식 (2)의 Txy와 비교되는, 배경 영역과 객체 영역을 구분하는 기준인 I는 2의 값을 적용하여 실험을 수행하였다. Fig. 7 (a)의 장소를 배경으로 하여 단일 객체에 대해 촬영한 결과는 Fig. 8과 같다. 이 때 Fig. 8 (a)의 원본영상에 대해 깊이 영상만을 통해 처리한 Fig. 8 (b)와 색상 영상과 함께 처리한 Fig. 8 (b)에 대해서 비교를 한 결과, 깊이와 색상의 두 가지를 동시에 사용하면 성능이 월등하게 향상된다는 것을 확인할 수 있다. 또한 다중 객체에 대한 실험도 Fig. 9과 같이 수행하였다. 이때도 객체인식을 수행할 때 깊이 정보와 색상 정보를 같이 이용하는 방법의 성능이 더 좋다는 것을 확인할 수 있다.
Fig. 8.Simulation result for the single object: (a) Original image. (b) Method using only depth information, (c) Proposed method.
Fig. 9.Simulation result for the multiple objects: (a) Original image. (b) Method using only depth information, (c) Proposed method.
또한 배경이 단순하지 않고, 다양한 색상이 있고, 배경 깊이 값이 복잡한 Fig. 7 (b)의 장소를 배경으로 움직이는 객체 영역의 인식을 Fig. 10과 같이 수행하였다. 배경이 복잡하더라도 깊이 정보를 이용하여 객체 영역을 먼저 검출하는 과정을 거치기 때문에 깊이 정보만을 이용하는 방법에 비하여 깊이와 색상 정보를 동시에 이용하는 방법의 인식 정확도가 더 좋아지는 것을 확인할 수 있다. 하지만, 배경에서 색상이 객체와 비슷한 부분에서는 인식의 정확도가 다소 떨어지는 것을 확인할 수 있다.
Fig. 10.Simulation result in the complex background: (a) Original image. (b) Method using only depth information, (c) Proposed method.
위에 실험한 각각의 경우에 대한 전체적인 정확도를 비교하였다. 깊이 정보만을 이용하여 객체를 검출하였을 때와, 제안된 방법을 이용하여 색상 정보도 같이 이용하여 객체를 검출하였을 때의 정확도를 Table 1과 같이 비교하였다. 이때 색상 정보를 이용하기 전 중간값 필터링을 이용하여 전처리를 수행하였다. 실제 객체 영역내의 화소를 측정하기 위해서는 화면을 확대하여 객체 영역으로 인정하는 것만을 손으로 일일이 계산하였으며, 깊이 정보만을 이용한 방법과 두 가지 정보를 동시에 이용하는 제안한 방법에 대한 화소 수는 구현된 알고리즘으로 자동 계산하였다. Fig. 8의 영상에 대하여 실제 객체 화소수가 10548개인 것에 대하여, 깊이 정보만을 이용하여 객체를 인식한 결과 117%에 해당하는 화소가 객체로 인식되었으나, 깊이 정보와 색상 정보를 함께 이용하여 객체를 인식한 방법에서는 단지 107% 크기의 객체가 인식되는 것을 확인할 수 있다. 차이가 나는 10%에 해당하는 화소가 불필요한 것임을 감안하면, 깊이 정보와 색상 정보를 같이 이용할 때 좀 더 정확하게 객체 영역을 인식할 수 있다는 것을 알 수 있다.
Table 1.Comparison of the number of pixels within recognized objects
또한 색상 영상에 대해 평탄화 방법에 대한 성능 분석을 수행하였다. 평탄화 필터로써 평균값, 중간값, 최빈값, 가우시안 필터링에 대해 실험을 수행한 결과를 Table 2에 나타내었다. 여기에서, Table 1에서 살펴본 것처럼 실제 객체 화소수가 10548개인 Fig. 8의 영상에 대하여 평균값, 최빈값, 중간값, 가우시안 필터링을 적용한 경우에 11413, 11318, 11281, 11396개의 화소수로 객체가 각각 인식되었으며, 중간값 필터링이 가장 우수하게 객체를 인식하였다. 세 가지의 영상은 모두 동일하게 중간값, 최빈값, 가우시안, 평균 필터링 순으로 성능이 좋다는 것을 알 수 있다.
Table 2.Comparison of the performance for the filtering
5. 결 론
본 논문에서는 깊이 정보와 색상 정보를 이용하여 움직이는 객체 영역을 인식하는 방법을 제안하였다. 이 방법을 통해 실제의 객체 영역과 거의 유사한 객체 영역을 검출할 수 있었다. 객체 영역을 깊이 정보를 통해 먼저 추출함으로써 기존 색상 정보만을 이용한 방법에 비해 처리 속도를 증가시킬 수 있었다. 또한 검출된 객체 영역에 대해 색상 정보를 이용하여 보정함으로써 좀 더 정확한 객체 영역을 획득할 수 있었다.
제안된 방법을 이용하여 CCTV를 구현함으로써 기존 지능형 영상보안 시스템에서의 난제였던 밝기에 따른 객체인식의 어려움을 극복할 수 있었다. 또한 색상 정보뿐만 아니라 깊이 정보도 영상보안 시스템에서 이용할 수 있기 때문에, 깊이 정보를 이용한 실제 객체의 크기 측정이나 이동거리 측정[11], 인물인식 및 추적[12]등 기존 색상 정보만을 이용하여 처리하기 어려웠던 객체의 정보들을 쉽게 획득할 수 있다. 또한 제안된 방법을 응용하여 지능형 영상감지에서 움직이는 객체를 검출하는 분야에서 뿐만 아니라 실시간 얼굴 인식, 번호판 영역 인식 등 여러 객체 인식 분야에 응용할 수 있을 것이다.
참고문헌
- J.H. Yoo, K.Y. Moon, and H.S. Cho, “Trends in Intelligent Video Surveillance,” Electronics and Telecommunications Trends, Vol. 23, No. 4, pp. 80-88, 2008.
- T.W. Jang, Y.T. Shin, and J.B. Kim, “A Study on the Object Extraction and Tracking System for Intelligent Surveillance,” Journal of Korean Institute of Communications and Information Sciences, Vol. 38, No. 7, pp. 589-595, 2013. https://doi.org/10.7840/kics.2013.38B.7.589
- A. Bissacco, P. Saisan, and S. Soatto, "Gait Recognition Using Dynamic Affine Invariants," Proceeding of International Symposium Mathematical Theory of Networks and Systems, pp. 1-7, 2004.
- S.H. Yeon and J.M. Kim, “Robust Illumination Change Detection Using Image Intensity and Texture,” Journal of Korea Multimedia Society, Vol. 16, No. 2, pp. 169-179, 2013. https://doi.org/10.9717/kmms.2013.16.2.169
- J.S. Kim, K.J. Lee, and T.K. Whangbo, “Illumination Influence Minimization Method for Efficient Object,” Journal of Digital Contents Society, Vol. 14, No. 1, pp. 117-124, 2013. https://doi.org/10.9728/dcs.2013.14.1.117
- Y.S. Kang and Y.S. Ho, “Foreground Segmentation and High-Resolution Depth Map Generation Using a Time-of-Flight Depth Camera,” The Journal of Korean Institute of Communications and Information Sciences, Vol. 37, No. 9, pp. 751-756, 2012. https://doi.org/10.7840/kics.2012.37C.9.751
- J. Preis, M. Kessel, M. Werner, and C. Linnhoff-Popien, "Gait Recognition with Kinect," Proceeding of the First Workshop on Kinect in Pervasive Computing, pp. 1-4, 2012.
- S. Hussmann, A. Hermanski, and T. Edeler, “Real-Time Motion Artifact Suppression in TOF Camera Systems,” IEEE Transactions on Instrumentation and Measurement, Vol. 60, No. 5, pp. 1682-1690, 2011. https://doi.org/10.1109/TIM.2010.2102390
- S.K. Kwon and S.W. Kim, “Motion Estimation Method by Using Depth Camera,” Journal of Broadcast Engineering, Vol. 17, No. 4, pp. 676-683, 2012. https://doi.org/10.5909/JBE.2012.17.4.676
- S.K. Kwon, Y.H. Park, and K.R. Kwon, “Zoom Motion Estimation Method by Using Depth Information,” Journal of Korea Multimedia Society, Vol. 16, No. 2, pp. 131-137, 2013. https://doi.org/10.9717/kmms.2013.16.2.131
- D.S. Lee, D.W. Lee, S.D. Kim, T.J. Kim, and J.S. Yoo, “Real-time Moving Object Tracking and Distance Measurement System Using Stereo Camera,” Journal of Broadcast Engineering, Vol. 14, No. 3, pp. 366-377, 2009. https://doi.org/10.5909/JBE.2009.14.3.366
- L. Xia, C.C. Chen, and J.K. Aggarwal, "Human Detection Using Depth Information by Kinect," Proceeding of IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops, pp. 15-22, 2011.
피인용 문헌
- Depth Video Coding Method for Spherical Object vol.21, pp.6, 2016, https://doi.org/10.9723/jksiis.2016.21.6.023
- Single Image Depth Estimation With Integration of Parametric Learning and Non-Parametric Sampling vol.19, pp.9, 2016, https://doi.org/10.9717/kmms.2016.19.9.1659
- 깊이 화면의 평면 부호화를 위한 가변 블록 크기 결정 방법 vol.22, pp.3, 2016, https://doi.org/10.9723/jksiis.2017.22.3.039
- 깊이 영상 부호화에서 신축 움직임 추정 방법 vol.20, pp.11, 2016, https://doi.org/10.9717/kmms.2017.20.11.1711