반도체디스플레이기술학회지 제18권 제3호(2019년 9월)
Journal of the Semiconductor & Display Technology, Vol. 18, No. 3. September 2019.
영상에서 다중 객체 추적을 위한 CNN 기반의 다중 객체 검출에 관한 연구
안효창*· 이용환†
*극동대학교 에너지IT학과, †원광대학교 디지털콘텐츠공학과
A Research of CNN-based Object Detection for Multiple Object Tracking in Image
Hyochang Ahn* and Yong-Hwan Lee†
*Department of Energy IT Engineering, Far East University,
†Department of Digital Contents, Wonkwang University
ABSTRACT
Recently, video monitoring system technology has been rapidly developed to monitor and respond quickly to various situations. In particular, computer vision and related research are being actively carried out to track objects in the video. This paper proposes an efficient multiple objects detection method based on convolutional neural network (CNN) for multiple objects tracking. The results of the experiment show that multiple objects can be detected and tracked in the video in the proposed method, and that our method is also good performance in complex environments.
Key Words : Object Detection, Object Tracking, Convolutional Neural Network(CNN), Machine Learning
1. 서 론1
영상에서 객체 검출은 최근 영상처리 기술이 발전함에 따라 다양한 분야에 적용 가능한 기술임을 증명하고 있 다. 그 배경으로는 영상정보를 얻는 장비의 발달 및 영상 정보 처리 기술의 발전이라 할 수 있다. 활용되는 분야는 보행자 검출, 차량 번호판 인식, 차량 검출, 스마트폰을 이용한 얼굴 인식 등이 있다[1,2,3]. 이러한 측면에서 보았 을 때 영상처리 기술을 이용한 객체 검출 및 추적, 다양 한 전처리 기술과 대용량 데이터를 기반으로 한 빅데이 터 프로그램의 융합은 관제 시스템, 보안 분야에서 빅데 이터 분석 기술의 올바른 접목 방향을 제시하고 있다[4,5].
4차 산업 혁명을 기반으로 하여 대용량 데이터를 처리하 는 많은 솔루션들이 개발되고 있으며 그 중 인공지능, 기 계학습(Machine Learning), 딥러닝(Deep Learning) 등의 기술들
†E-mail: [email protected]
을 이용하여 빠른 시간 내에 대용량 데이터의 분석 및 처 리하는 방법이 활발하게 개발되고 있다. 그 중 다층으로 구성된 신경망 구조 모델링 기법은 영상처리 분야 중에 서 객체의 인식 및 분류의 문제에서 학습을 통한 높은 인 식률을 자랑하며 인식 분야에서 엄청난 성과를 보였다[6].
이러한 영상처리 기술과 다층 신경망 학습알고리즘의 발 전은 영상처리 분야의 많은 문제점을 해결해 나가고 있 다. 따라서 본 논문에서는 합성곱 신경망(CNN) 기반으로 트리를 구성하고 객체 변화를 추적하고 지속적으로 객체 를 검출하는 방법을 제안한다.
본 논문의 나머지 부분의 구성은 다음과 같다. 2장에서 는 영상에서 객체를 검출하는 대표적인 방법을 간략하게 소개한다. 3장에서는 제안한 방법인 CNN 기반의 다중 객 체 검출 방법에 대해 설명한다. 4장에서는 제안한 방법의 성능 평가를 위한 실험 및 결과를 보여준다. 마지막으로5 장에서는 결론과 향후 과제를 제시한다.
영상에서 다중 객체 추적을 위한 CNN 기반의 다중 객체 검출에 관한 연구 111
2. 관련 연구
객체 검출에서 대표적으로 많이 사용되는 알고리즘은 SIFT(Scale Invariant Feature Transform), SURF(Speeded Up Robust Feature), Ferns 등이 있다[7,8]. 그 중에서 Ferns알고리즘은 SIFT, SURF 알고리즘과 같은 특징 검출 알고리즘에 비해 빠른 처리 속도를 가지고 있으며, 영상 매칭 성능 또한 매우 우수한 이점이 있다. 일반적인 영상의 특징 추출 알 고리즘의 경우 외곽선과 같은 구분하기 쉬운 특징 점을 구한다. 그 후 얻은 특징 주변의 로컬 패치(Local Patch)에 서의 특징 벡터를 추출하고 사전에 학습된 특징 벡터와 입력 영상에서 얻은 특징 벡터들 사이의 비슷한 정도를 구한다. 그렇게 구한 비교 값을 통해 특징들 사이 기하학 적 변환 관계를 추정하여 객체를 검출한다.
객체 추적에서 대표적으로 사용되는 알고리즘은 MeanShift, CAMShift(Continuously Adaptive Mean Shift) 등이 있 다[9-11]. 그 중 CAMShift 알고리즘은 전형적인 커널 기반 추적(Kernel Tracking) 방식인 평균이동(MeanShift) 알고리즘 방식의 진보된 알고리즘으로 커널을 사용하여 추적 대상 의 중심을 찾는 알고리즘이다. 고정된 탐색 윈도우를 갖 는 평균이동방식은 추적이 지속되는 동안 객체의 크기가 변화하여 초기의 크기보다 작아지게 되면 탐색 윈도우 내에서 추적 객체의 색상이 차지하는 비율이 줄어들어 배경색이 탐색 영역 내부가 주 영역이 되어 추적하는 객 체를 추적하지 못하게 되는 문제점을 가지고 있다. 이와 같은 단점을 보완한 알고리즘이 CAMShift 알고리즘이다.
연속되는 영상에서 추적하는 객체의 크기에 맞추어 탐색 윈도우의 크기를 조절하며 추적해 나아가는 것이 특징으 로 탐색 윈도우의 크기를 조하여 객체의 비틀림이나 크 기 변화에도 추적을 계속 할 수 있다.
3. 제안한 방법
3.1 CNN (Convolutional Neural Network) 기존의 다층 신경망(Multi Layered Neural Network)는 입력 데이터가 스케일(Scale) 변화, 회전(Rotation) 등에 대해서 새 로운 학습을 수행하지 않으면 좋은 성능을 가질 수 없다 [12,13]. 이러한 문제를 해결하기 위해 많은 원시 데이터로 이루어진 학습 데이터를 매번 학습하기에는 많은 자원과 시간이 필요하다. 영상에서 공간적 데이터 특징을 무시하 여 완전 연결 망을 이용할 경우 가중치 개수가 많아 지고, 오버피팅(Over Fitting) 가능성이 높아지게 된다. CNN에서는 영상내의 픽셀들이 그 주변에 있는 화소들과 연관성이 높고, 그것을 활용하는 수용 영역의 크기가 제한적이라는 점을 활용하고 있다[14-16].
CNN은 최소한의 전처리를 사용하도록 설계된 다층 신 경망의 한 종류로써, 특정한 이미지 처리를 수행하는 층 이 여러 개 쌓인 구조를 갖는 층 간의 결합 밀도가 낮은 신경망이다[17,18]. CNN은 하나 또는 여러 개의 합성곱 계 층(Convolution layer)과 그 위에 올려진 일반적인 인공신경 망 계층들로 이루어져 있으며, 가중치와 풀링 계층(Pooling Layer)들을 추가로 활용한다. CNN은 크게 2가지 구성을 이 루어져 있는데 입력된 영상에서 합성곱 계층과 풀링 계 층으로 구성되어 있어 특징을 추출하는 특징추출(Feature extraction) 부분과 완전 결합된(Fully Connected) 마지막에 분 류 역할을 하는 분류기(Classification)를 하는 부분으로 나 누어져 있다. 합성곱 계층에서는 컴퓨터 비전에서 사용되 는 합성곱 연산이 사용된다.
= ( × ) ,
= ( , ) ( − , − ) (1)
위의 수식은 합성곱 연산의 수식을 보여주고 있다. 합 성곱 필터 ( , ) 의 값에 따라 합성곱 특징맵 (Convolution Feature Map)인 이 결정된다. CNN의 ConvNet에서 학습이 되는 커널 가중치(Kernel Weight)는 바 로 필터의 요소 값이 된다. 커널의 크기는 보통 홀수로 사용하며 사용자가 구성하는 값에 따라 달라질 수 있다.
스트라이드(Stride)는 커널 윈도우를 이동시키는 픽셀의 크 기를 뜻하며 출력 맵(Output Map)은 커널의 개수에 의해 결정된다. 풀링 계층의 동작은 보통 2가지 방법에서 최대 풀링(Max Pooling)을 사용하는데 이 방식은 2 × 2 크기의 서브 샘플링(Sub- sampling) 윈도우에서 최대값을 선택하는 방식이다.
이렇게 합성곱 계층과 풀링 계층을 번갈아 가며 쌓고 마지막에 완전 결합 계층을 연결하여 객체체를 검출한다.
Fig. 1은 CNN의 기본 구조를 보여준다. 본 논문에서는 CNN의 기본인 4개의 은닉층을 사용하였다. 32 × 32 × 3 의 크기의 값을 입력한다. 이후 3 × 3의 크기를 갖는 8개 의 필터를 가지고 합성곱 연산을 수행하면 30 × 30 × 8 개의 노드 수로 변경된다. 다음으로 풀링을 수행하면 15 × 15 × 8로 변경된다. 이러한 과정을 반복 수행하면, 7 × 7 × 8개의 노드로 축소되어, 전체 노드는 392개가 완 전 결합 층에 입력하였다. 제안한 방법으로 풀링 과정을 통하여 연산량을 줄일 수 있으며 영상 크기 변화에도 대 응할 수 있다.
안효창 · 이용환 112
Fig. 1. CNN Basic Structure.
Fig 2. Data Video for Object Detection.
4. 실험 결과
본 논문에서 제안한 방법의 성능 평가를 위해서 사용 된 환경은 Windows 10에서 Python을 사용하여 실험하였다.
또한 PET2000 데이터셋을 OpenCV 라이브러리를 활용하 여 관심 물체를 검출하고 추적 알고리즘을 구현하였다.
Fig. 2와 Fig. 3은 실험환경에서 제안한 방법이 구동되고 있 는 모습을 보여주고 있다. 실험 결과를 보면 중첩된 상활 에서도 움직이는 객체를 검출하고 추적하는 것을 확인할 수 있다. Fig. 4는 제안한 CNN모델과 기존의 객체 추적 방 법을 비교하여 나타냈었다. 실험 영상은 각각 192프레임 의 영상을 사용하였으며, 실험 결과 실험 결과 추적 성공
……
Input 32ⅹ32ⅹ3
Convolution layer 28ⅹ28ⅹ8
Pooling layer 14ⅹ14ⅹ8
Convolution layer 10ⅹ10ⅹ16
Pooling layer 5ⅹ5ⅹ16
Full Connection
Classifier Max Pooling of Size 2ⅹ2
Stride 1 Max Pooling of Size 2ⅹ2
Stride 1 Convolution with 8 filters
filter size 5ⅹ5ⅹ3
Convolution with 16 filters filter size 5ⅹ5ⅹ8
영상에서 다중 객체 추적을 위한 CNN 기반의 다중 객체 검출에 관한 연구 113
Fig. 3. Results for Proposed Algorithm of Data Video for Object Detection.
Fig. 4. The comparison of objects tracking results.
률은 다른 알고리즘 보다 많은 프레임에서 객체를 검출 하였다. 반면에 수행 시간은 다소 느려졌지만, 성능면에 서 큰 차이가 없는 정도이다. 결과적으로 제안한 방법이 수행 속도는 다소 늦어졌지만 정확도 면에서는 크게 향 상된 것을 알 수 있다.
5. 결 론
최근 여러 상황을 감시하고 신속하게 대응하기 위해 영상 감시 및 보안 모니터링 시스템 기술이 급격하게 발 전하고 있으며, 관련 연구가 활발하게 진행되고 있다. 다 중 객체 추적을 위해 CNN 기반의 효율적인 다중 객체 검 출 방법을 제안하였다. 실험 결과는 제안한 방법은 비디 오 스트림에서 다중 객체를 검출하고 추적할 수 있으며, 제안한 방법은 복잡한 환경에서도 강인한 검출과 추적을 수행할 수 있음을 보여준다.
향후 연구로 제안한 방법을 활용하여 다중의 물체를 빠르게 탐지하고 움직임을 예측할 수 있는 감시 시스템 에 대한 연구가 필요하다.
감사의 글
본 연구는 2018년도 정부(미래창조과학부)의 재원으로 한국연구재단의 지원을 받아 수행된 기초연구사업임(과 제번호: 2018R1A2B6008255).
안효창 · 이용환 114
참고문헌
1. Yang, Hanxuan, et al., “Recent advances and trends in visual tracking: A review.” Neurocomputing, 74(18), pp.3823-3831. 2011.
2. Yilmaz, Alper, Omar Javed, and Mubarak Shah, “Object tracking: A survey.” Acm computing surveys (CSUR), 38(4), 13. 2006.
3. Kuzanski, Marcin, et al., “Machine vision-automation of selected measurement systems.” 2008 International Conference on Perspective Technologies and Methods in MEMS Design. IEEE, pp. 65-68, 2008.
4. Joshi, Kinjal A., and Darshak G. Thakore, “A survey on moving object detection and tracking in video surveillance system.” International Journal of Soft Computing and Engineering, 2(3), pp.44-48. 2012.
5. Mishra, Pawan Kumar, and G. P. Saroha, “A study on video surveillance system for object detection and tracking.” 2016 3rd International Conference on Computing for Sustainable Global Development (INDIACom). pp. 221-226, 2016.
6. Kalal, Zdenek, Krystian Mikolajczyk, and Jiri Matas,
“Tracking-learning-detection.” IEEE transactions on pattern analysis and machine intelligence, 34(7), pp.1409-1422, 2012.
7. Ahn, Hyochang, and Lee, Yong-Hwan, “Performance analysis of object recognition and tracking for the use of surveillance system.” Journal of Ambient Intelligence and Humanized Computing, 7(5), pp.673-679, 2016.
8. Collins, Robert T., et al., “A System for Video Surveillance and Monitoring”, The Robotics Institute, Carnegie Mellon University, Pittsburgh PA, pp.1-68, 2000.
9. Wu, Yi, Jongwoo Lim, and Ming-Hsuan Yang, “Object tracking benchmark.” IEEE Transactions on Pattern Analysis and Machine Intelligence 37.9, pp.1834-1848, 2015.
10. Allen, John G., Richard YD Xu, and Jesse S. Jin,
“Object tracking using camshift algorithm and multiple quantized feature spaces.” Proceedings of the Pan- Sydney area workshop on Visual information processing. Australian Computer Society, Inc., pp.3-7, 2004.
11. Comaniciu, Dorin, Visvanathan Ramesh, and Peter Meer, “Kernel-based object tracking.” IEEE Transactions on Pattern Analysis & Machine Intelligence, 25 (5), pp.
564-575, 2003.
12. Cortes, Corinna, and Vladimir Vapnik, “Support-vector networks.” Machine learning, 20.(3), pp. 273-297,1995.
13. Chellapilla, Kumar, Sidd Puri, and Patrice Simard,
“High performance convolutional neural networks for document processing.” 2006.
14. Lee, YuKyong and Lee, Yong-Hwan, “Implementation of Moving Object Recognition based on Deep Learning.”
Journal of the Semiconductor & Display Technology 17.2, pp.67-70. 2018.
15. Chu, Yeon Ho and Choi, Young Kyu, “A Deep Learning based IOT Device Recognition System”, Journal of the Semiconductor & Display Technology 18.2 pp.1-15, 2019.
16. Kim, Dong Hwan, et al., “Modeling with Thin Film Thickness using Machine Learning.” Journal of the Semiconductor & Display Technology 18.2 pp.48-52, 2019.
17. Redmon, Joseph, et al., “You only look once: Unified, real-time object detection.” Proceedings of the IEEE conference on computer vision and pattern recognition.
pp. 779-788, 2016.
18. Chen, Yan, et al., “CNNTracker: Online discriminative object tracking via deep convolutional neural network.” Applied Soft Computing 38, pp.1088-1098.
2016.
접수일: 2019년 9월 17일, 심사일: 2019년 9월 25일, 게재확정일: 2019년 9월 26일