DOI QR코드

DOI QR Code

Pedestrian Classification using CNN's Deep Features and Transfer Learning

CNN의 깊은 특징과 전이학습을 사용한 보행자 분류

  • Chung, Soyoung (Department of Computer Science, Seoul Women's University) ;
  • Chung, Min Gyo (Department of Computer Science, Seoul Women's University)
  • Received : 2019.05.02
  • Accepted : 2019.07.18
  • Published : 2019.08.31

Abstract

In autonomous driving systems, the ability to classify pedestrians in images captured by cameras is very important for pedestrian safety. In the past, after extracting features of pedestrians with HOG(Histogram of Oriented Gradients) or SIFT(Scale-Invariant Feature Transform), people classified them using SVM(Support Vector Machine). However, extracting pedestrian characteristics in such a handcrafted manner has many limitations. Therefore, this paper proposes a method to classify pedestrians reliably and effectively using CNN's(Convolutional Neural Network) deep features and transfer learning. We have experimented with both the fixed feature extractor and the fine-tuning methods, which are two representative transfer learning techniques. Particularly, in the fine-tuning method, we have added a new scheme, called M-Fine(Modified Fine-tuning), which divideslayers into transferred parts and non-transferred parts in three different sizes, and adjusts weights only for layers belonging to non-transferred parts. Experiments on INRIA Person data set with five CNN models(VGGNet, DenseNet, Inception V3, Xception, and MobileNet) showed that CNN's deep features perform better than handcrafted features such as HOG and SIFT, and that the accuracy of Xception (threshold = 0.5) isthe highest at 99.61%. MobileNet, which achieved similar performance to Xception and learned 80% fewer parameters, was the best in terms of efficiency. Among the three transfer learning schemes tested above, the performance of the fine-tuning method was the best. The performance of the M-Fine method was comparable to or slightly lower than that of the fine-tuningmethod, but higher than that of the fixed feature extractor method.

자율주행 시스템에서, 카메라에 포착된 영상을 통하여 보행자를 분류하는 기능은 보행자 안전을 위하여 매우 중요하다. 기존에는 HOG(Histogram of Oriented Gradients)나 SIFT(Scale-Invariant Feature Transform) 등으로 보행자의 특징을 추출한 후 SVM(Support Vector Machine)으로 분류하는 기술을 사용했었으나, 보행자 특징을 위와 같이 수동(handcrafted)으로 추출하는 것은 많은 한계점을 가지고 있다. 따라서 본 논문에서는 CNN(Convolutional Neural Network)의 깊은 특징(deep features)과 전이학습(transfer learning)을 사용하여 보행자를 안정적이고 효과적으로 분류하는 방법을 제시한다. 본 논문은 2가지 대표적인 전이학습 기법인 고정특징추출(fixed feature extractor) 기법과 미세조정(fine-tuning) 기법을 모두 사용하여 실험하였고, 특히 미세조정 기법에서는 3가지 다른 크기로 레이어를 전이구간과 비전이구간으로 구분한 후, 비전이구간에 속한 레이어들에 대해서만 가중치를 조정하는 설정(M-Fine: Modified Fine-tuning)을 새롭게 추가하였다. 5가지 CNN모델(VGGNet, DenseNet, Inception V3, Xception, MobileNet)과 INRIA Person데이터 세트로 실험한 결과, HOG나 SIFT 같은 수동적인 특징보다 CNN의 깊은 특징이 더 좋은 성능을 보여주었고, Xception의 정확도(임계치 = 0.5)가 99.61%로 가장 높았다. Xception과 유사한 성능을 내면서도 80% 적은 파라메터를 학습한 MobileNet이 효율성 측면에서는 가장 뛰어났다. 그리고 3가지 전이학습 기법중 미세조정 기법의 성능이 가장 우수하였고, M-Fine 기법의 성능은 미세조정 기법과 대등하거나 조금 낮았지만 고정특징추출 기법보다는 높았다.

Keywords

1. 서론

감시용 또는 기록용으로만 사용되던 카메라가 최신기술과 융합하며 그 용도가 점차 확장되고 있다. 대표적인 예로 인공지능 CCTV와 자율주행차량 카메라가 있다. 이들 카메라들은 단순하게 영상을 녹화하고 기록하는 것이 아닌, 객체를 추적하여 행위를 판단하고 알림하는 형태로 진화하고 있다[1]. 이런 카메라 영상에서 사람으로 예상되는 후보군을 탐지하는 기능은 중요한 이슈 중 하나이다[2]. 사람의 생활공간 내에 설치된 카메라에서 보행자를 탐지하는 것은 안전, 보안, 치안과 밀접한 관련이 있는 기능이기 때문이다. 예를 들어 CCTV에서 보행자라고 예상되는 후보군을 미리 분류하여 알림할 수 있다면, 유심한 관찰이 필요한 상황을 놓치지 않고 확인할 수 있고, 자율주행차량의 경우에도 보행자 보호를 위해 더욱 안전한 운행을 하도록 안내할 수 있다.

카메라가 이러한 보행자 검출 기능을 수행하기 위한 요소기술로는 영상의 특징 추출, 분류 및 인식 등이 있다. 전통적으로는 SIFT(Scale Invariant Feature Transform), HOG (Histogram of Oriented Gradients)와 같은 지역 특징(local features) 추출 기술[3, 4, 5, 6], Sobel/Canny와 같은윤곽선(edge) 추출 기술[7], 또는 PCA(Principal Component Analysis)와 같은 통계적 변환 기법[8, 9]으로 영상의 특징을 추출한 후, SVM(Support Vector Machine)과 같은 분류기[10] 를 이용하여 영상을 인식/분류하는 방법이 주를 이루었었다. 그러나 SVM은 추출된 영상 특징의 품질에 따라 성능에 큰 차이를 보이는 한계를 가지고 있다. 따라서 SVM의 성능 개선을 위해서는 새로운 고품질 영상 특징을 개발하거나, 특징 추출과 관련된 다양한 파라메타를 튜닝하는 등 여러가지 방법을 시도해야하는 번거로움이 있다.

최근 컴퓨터비전 분야는 딥러닝 기술을 이용하며 급격한 발전을 이루었다. 특히 CNN(Convolutional Neural Network)[11]은 ImageNet[12]과 같은 영상 빅테이터를 기반으로 영상 인식, 분류, 추출, 추적 등에서 획기적인 발전을 이루었으며, 그 성능 또한 매우 향상되어 다양한 분야에서 널리 적용되고있다[13]. 대표적인 CNN으로는 VGGNet[14], DenseNet[15], Inception V3[16], Xception[17]등이 있으며, 이전 CNN들의 한계를 극복하고 구조를 진화해가며 개발되었다. 그러나 CNN의 크기가 커지고 망의 깊이가 깊어질수록 CNN의 성능과 정확도는 높아졌지만, 모바일 기기에 임베디드 하여 실제로 사용하기에는 한계가 있었다[18]. 이러한 한계를 극복하기 위해 모바일 기기나 소형가전 등에서 직접 딥러닝 학습과 예측이 가능하도록 사이즈를 줄이고 계산을 효율적으로 수행하는 Mobile Net[19] 이 개발되었다.

딥러닝 모델들은 빠른속도로 개발되며 성능이 좋아졌고 매우 다양해졌다. 사람이 손으로 직접 영상의 특징을 추출하지 않아도, 딥러닝을 통해 대량의 영상 데이터에서 특징 추출부터 분류까지 일괄적으로 처리할 수 있게 되었다. 그러나 딥러닝 모델은 충분한 데이터가 있어야지만 성능을 보장할 수 있다는 한계가 있다. 많은 경우 충분한 훈련데이터를 새로 수집하여 딥러닝 모델을 처음부터 학습시키는 과정은 비용이 많이 들기 때문에 현실적으로 매우 어렵다. 이런 비용을 줄이는 대안으로, 학습이 완료된딥러닝 모델의 가중치를 이용하여 새로운 모델을 학습시키는 전이학습(transfer learning)[20, 21]이 최근 크게 주목받고 있다. 전이학습은 비용 절감뿐만 아니라, 사전에 습득된 정보를 이용하여 새로운 목적에 적합한 정보를 용이하게 생성할 수 있다는 점에서, 딥러닝을 현실의 다양한 분야에응용하고 적용할 수 있게 하는 촉매 역할을 하고 있다.

보행자 분류를 위한 고품질의 보행자 특징을 사람이 수동으로 정확하게 디자인하고 추출하는 것은 현실적으로 매우 까다로운 문제이다. 따라서 본 논문에서는 CNN에 전이학습을 적용해서 추출한 깊은 특징(deep features)을 HOG 또는 SIFT 같은 수동 특징(handcrafted features)에 대한 대안으로 제시하고, 깊은 특징과 수동 특징간의 보행자 분류 성능을 비교하고 분석하고자 한다. 전이학습을 위해서는 두가지 대표적인 방법인 고정특징추출(fixed feature extractor) 기법과 미세조정(fine-tuning) 기법을 모두 사용한다. 특히 미세조정 기법에서는, 통상적으로 사용하는 설정(default setting: CNN 후단의 분류기 레이어를 제외한 모든 레이어의 가중치를 미세하게 변경하는 설정)외에, 전이구간(transferred parts)을 3가지 다른 크기로 선정한 후, 비전이구간(non-transferred parts)에 속한 레이어들에 대해서만 가중치를 미세하게 변경하는 설정을 새롭게 추가하여 확장한다.

본 논문은 다음과 같이 구성된다. 2장에서는 2가지 대표적인 수동 특징 기술자(descriptor)인 HOG와 SIFT 및 다양한 CNN 모델들에 대하여 소개한다. 3장에서는 보행자의 깊은 특징 추출을 위하여 본 논문에서 사용한 전이학습 방법에 대해 설명한다. 4장에서는 공개 데이터인INRIA Person 데이터 세트[4]와 5개의 CNN 모델을 사용하여 전이학습한 결과를 제시하고, 보행자 분류성능을 비교/분석한 후, 5장에서 간단하게 결론을 맺는다.

2. 관련 연구

2.1 수동 특징 추출

2.1.1 HOG 특징

HOG는 영상을 셀로 분할 한 뒤 각 셀마다 물체의 그레디언트(gradient) 방향에 대한 히스토그램을 구하여 연결한 벡터로서, 내부 패턴은 단순하면서도 고유한 윤곽선을 갖는 사람의 특징을 추출하는데에 유리하기 때문에 사람 탐지 분야에 많이 사용되는 특징 추출 방법이다. HOG는 영상의 그레디언트를 기반으로 한 히스토그램을 정규화하여 특징 기술자로 사용하는데, 그레디언트를 사용하기 때문에 영상의 밝기 변화나 조명에 덜 민감하며,셀 내부의 특징을 히스토그램으로 변환하여 사용하기 때문에 지역적 변화에 강인한 장점을 가지고 있다. 그러나셀 내부의 특징만을 추출하여 비교하기 때문에 회전과 같은 변환에는 다소 민감하다. HOG 특징을 추출한 뒤,특징분류를 위한 분류기로는 보통SVM을 사용하였다. SVM은 2개의 부류(class) 사이에 존재하는 여백(margin)을 최대화하는 경계면을 찾는 방법으로서, 학습과정에서 최적화 모형을 찾기까지 많은 횟수를 반복해야하는 단점을 가지고 있다.

2.1.2 SIFT 특징

SIFT는 영상 내에서 꼭지점과 같이 물체의 식별이 용이한 특징점을 선택하고, 그 특징점을 중심으로 특징 벡터를 추출하는 방법이다. SIFT는 특징점 주변을 4x4 크기의 셀로 나누고, 각 셀 내부의 그레디언트 방향과 크기에 대한 히스토그램을 구하여 차례로 연결한 128차원의 벡터이다. SIFT는 특징점 주변의 지역적 특성을 잘 반영하여 구분력이 뛰어나면서도, 회전 변화, 형태 변화, 크기 변화에 강인한 장점을 가지고 있다. 그러나 추출한 특징점들 간의 매칭에 따라 성능이 크게 좌우되기 때문에 특징 추출 이후의 단계가 복잡하다는 단점을 가지고 있다. SIFT는 HOG와 다르게 추출된 특징점의 개수가 각 영상마다 다르다. 따라서 SVM으로 훈련하기 위해서는 특징점의 개수를 맞춰주는 작업이 필요하다.

2.2 CNN 모델

2.2.1 VGGNet

VGGNet[14]은 컨볼루션 레이어, 풀링(pooling) 레이어, 완전연결(FC: fully connected) 레이어로 구성된 초기 CNN중의 하나 이다. VGGNet에서 사용한 컨볼루션 필터는5x5 레이어를 대신하여 3x3 레이어를 두개 사용하였다. 이는 5x5 필터를 사용할 때와 같은 효과를 유지하면서, 계산해야 할 파라메터의 수를 28% 감소시켜 학습을 좀더 효율적으로 진행하였다. 게다가 3x3을 두번 적용함으로써 비선형 연산인 ReLU 함수가 더 많이 들어가게 되어판단함수가 잘 학습되는 효과도 있다. 이러한 노력에도 불구하고 VGGNet은 파라메터의 수가 여전히 많기 때문에 학습이 느리다는 단점이 있다. 그러나 레이어를 순차적으로 쌓기만 한 간단한 구조로 인해 구현이 쉽고 성능도 좋아 많이 활용되고 있다. 레이어를 16층으로 쌓은 VGG-16과 레이어를 19층으로 쌓은 VGG-19가 있다. VGG-16까지는 망이 깊어질수록 성능이 향상되었으나, VGG-19의 성능이 VGG-16의 성능과 큰 차이가 없다는 것은 일정 깊이까지는 층이 깊어질수록 성능이 향상되나, 그 이상으로 층이깊어지면 더 이상 성능이 향상되지 않음을 의미한다

2.2.2 DenseNet

DenseNet[15]은 각 층의 중요한 특징 정보가 깊은 망을거치면서 역전파 신호가 점차 희미해져가는 현상을 방지하기 위해 착안된 네트워크이다. 네트워크가 깊어져도 앞단의 레이어를 계속해서 차곡차곡 쌓아가는 밀집 연결(dense connectivity) 개념을 추가하였다(그림 1 참조). 밀집연결은 처음 입력 영상과 가까이 있는 초반 레이어가 가진 특징맵을 후반 레이어까지 연결시킴으로써 정보를 충분히 유지하고, 모든 레이어의 정보를 이용하여 최종 결과를 도출할 수 있게 함으로써, 역전파 신호가 희미해지는 것을 방지하는 역할을 수행한다. DenseNet는 그림 2와 같이 밀집 연결 블록, 컨볼루션 레이어, 풀링 레이어의 순차적 조합으로 구성된다.

OTJBCD_2019_v20n4_91_f0001.png 이미지

(그림 1) 밀집 연결 블록(Figure 1) Dense connectivity block

OTJBCD_2019_v20n4_91_f0002.png 이미지

(그림 2) DenseNet 전체 구조(Figure 2) DenseNet architecture

2.2.3 Inception V3

GoogLeNet[22]에 처음 적용된 Inception 모듈의 성능이 개선되면서 현재는 Inception V4[23]까지 발표되었지만, 본 논문에서는 Inceptin V3[16]을 중심으로 설명한다. 일반적으로 네트워크는 구조가 깊고 넓을수록 성능이 좋아진다. 그러나 깊고 넓게 만들수록 계산량이 늘어나며, 앞 절에 언급한 것과 같이 역전파 신호가 약해지는 등 다양한 문제가 발생한다. Inception 모듈은 네트워크를 깊고넓게 만들되, 파라메타를 어떻게 효율적으로 계산할지를 고려하여 만든 구조이다.

초기 Inception 모듈은 그림 3과 같이 여러가지 크기의 필터를 사용하여 영상 높이와 너비 방향의 정보를 다양하게 분석할 뿐만 아니라, 1x1 필터로 차원을 축소하여 채널방향으로도 정보를 잘 추출할 수 있도록 고안되었다. 5x5 크기의 필터는 컨볼루션 연산시 계산량이 많다. 이를 3x3크기의 필터로 분해(factorization)하여 두번 연속으로 적용하면, 같은 효과를 얻고 계산량이 줄어든다는 것이잘 알려져 있다. 이를 적용한 Inception 모듈이 그림 4이다. 마찬가지로 계산량을 줄이면서 컨볼루션 연산을 수행하기 위해 그림 5에서 처럼 비대칭 컨볼루션 필터로 분해하는 기법이 제안되었다. 이 경우 계산량은 33% 줄어든다. Inception V3은 위와 같이 개선된 Inception 모듈로 성능을 높인 모델이다. 넓고 깊은 망을 사용하기 때문에 계산해야 할 파라메타가 많아 계산량이 크다는 문제점을 해결하기 위해, 필터를 분해하고 정규화하여 계산해야 할파라메터의 수를 크게 줄였다.

OTJBCD_2019_v20n4_91_f0003.png 이미지

(그림 3) 차원 축소를 수행하는 Inception 모듈(Figure 3) Inception module to perform dimension reduction

OTJBCD_2019_v20n4_91_f0004.png 이미지

(그림 4) 5x5필터를 분해한 Inception 모듈(Figure 4) Inception module to factorize a 5×5 filter

OTJBCD_2019_v20n4_91_f0005.png 이미지

(그림 5) n x n필터를 분해한 Inception 모듈(Figure 5) Inception module to factorize an n×n filter

2.2.4 Xception

Xception[17]은 깊이 방향 컨볼루션(DSC: depth wiseseparable convolution) 기능을 강화할 목적으로 고안된 모델이다. Inception 모델보다 DSC를 더 효율적이고 확실하게 수행하기 때문에 Xception(Extreme Inception)이라는 이름이 붙었다. VGGNet과 같은 모델들은 컨볼루션의 효율성을 높이기 위하여, 사이즈가 큰 필터(7x7, 5x5) 대신에 사이즈가 작은 필터(3x3)를 두 번 이상 연속해서 사용함으로써 계산량을 감소시켰다. 그러나 이런 컨볼루션은 영상의 높이와 너비 방향의 계산만 고려하고 채널 방향(즉, 깊이 방향)에 대해서는 전혀 고려하지 않는다. DSC는 높이/너비 방향 연산과 채널 방향 연산을 따로 분리하여 처리한다. 채널 방향의 분석은 1x1 컨볼루션 필터가 그 역할을 수행한다. 그림 6을 보면 1x1 컨볼루션 필터를 통해 충분히 모든 채널에 대해 먼저 계산을 한 후, 3x3 필터로컨볼루션을 한다. 물론 기존의 Inception 모듈도 1x1 필터컨볼루션으로 같은 역할을 하지만, Xception은 그 효과를 강화하기 위해 전체 영상에서 1x1 필터로 결과 채널(output channel)을 만든 뒤, 3x3 필터 컨볼루션을 훨씬 여러 번 수행한다. 그 결과 Xception은 Inception V3 모델과 비교하여 파라메타 및 용량의 증가없이 성능이 크게 향상되었다.

OTJBCD_2019_v20n4_91_f0006.png 이미지

(그림 6) Xception 모듈(Figure 6) Xception module

2.2.5 MobileNet

MobileNet[19]은 모바일이나 임베디드 비전 어플리케이션에 적용할 목적으로 고안된 CNN이다. Mobile Net은Xception과 마찬가지로 계산의 효율성을 위해 컨볼루션 레이어를 분해하고, DSC를 수행한다는 것이 메인 아이디어이다. Xception은 성능의 향상에 초점이 맞춰져 있었으나, Mobile Net은 연산량을 줄여 속도를 빠르게하고, 다양한 분야에 효율적으로 적용할 수 있도록 하는것에 초점이 맞춰져 있다. 그래서 네트워크 경량화를 위하여 DSC로 파라메터 수를 대폭 감소시키면서도 비슷한 성능을 내도록 설계되었다. MobileNet의 DSC는 그림 7과 같다. 또한 Mobile Net을 조정할 수 있는 두 가지 파라메터(width multiplier, resolution multiplier)가 있는데, width multiplier는 각 레이어의 입력 채널과 결과 채널 수를 조절하여 네트워크의 전체적인 너비를 결정하고, resolution multiplier는 입력의 해상도를 조정한다. 이 두가지 파라메타를 적절하게 조정하며 성능과 계산량 사이의 균형을 맞출 수 있다.

3. 전이학습(Transfer Learning)

CNN 모델을 학습시키기 위해서는 대량의 데이터가 필요하다. 만약 충분한 양의 데이터가 확보되지 않을 시,학습이 미흡하게 진행되어 성능이 떨어지는 일이 발생한다. 그러나 특정 도메인을 학습시키고자 할 때 충분한 양의 데이터를 수집하는 것은 현실적으로 불가능한 경우가 많다. 게다가 훈련 데이터를 충분히 얻을 수 있다 하더라도 모델을 처음부터 훈련시키기 위해서는 오랜시간이 걸리기 때문에 비용이 많이 발생한다. 이러한 데이터 부족을 해결하거나 비용 절감을 위한 하나의 방법으로 전이학습이 있다.

전이학습이란 사전에 학습이 완료된 모델의 가중치를 초기 가중치로 이용하여, 목적하는 새로운 모델로 가중치를 전이하여 학습하는 기법을 말한다. 이는 기존에 학습된 레이어의 가중치들을 사용하기 때문에 새로운 모델의 학습이 빠르며, 잘 학습된 사전 모델을 사용하는 경우 예측 결과 또한 좋은 것으로 알려져 있다. 즉, 전이학습은대량의 훈련 데이터가 필요하지 않으며, 일부 층의 가중치만 계산하면 되기 때문에 처음부터 학습시키는 것과 비교하여 계산량이 많지 않다는 장점이 있다.

전이학습은 새로 학습하기 원하는 데이터와 사전에 학습된 데이터가 유사할수록 그 결과가 좋다. 특히 최근에는 ImageNet과 같은 초대용량의 이미지 데이터 베이스(약 2만개의 클래스로 분류된 2천만장의 이미지로 구성)로 사전 훈련된 CNN 모델들이 많이 있고, 새로 학습하기를 원하는 데이터가 사전에 학습된 데이터와 유사할 가능성이 높아, 다양한 영역에서 전이학습을 효율적으로 수행할 수 있게 되었다. ImageNet에도 사람 영상이나 배경이 될 만한 영상들이 포함되어있기 때문에 전이학습에 유리하다. 그러나 보행자 클래스는 없기때문에, 본 연구에서는 보행자를 (1)서있는 사람, (2)자전거를 타고있는 사람, 이두 가지로 규정하고 보행자를 분류하는 실험을 수행한다. 즉, 앉아있는 사람은 보행자로 포함시키지 않으며, 사람이 타지않은 자전거는 보행자가 아닌배경으로 처리한다.

전이학습에는 고정특징추출(fixed feature extractor) 기법과 미세조정(fine-tuning) 기법이 있다. 고정특징추출 기법은 사전 학습된 모델에서 마지막 분류기 레이어만 제거하고 나머지 레이어의 가중치는 동결시킨 후, 새로운 데이터 세트에 대한 분류기만을 추가하여 분류를 수행한다. 이때 새 분류기는 주로 softmax와 같은 분류기를 사용하는데, 새 훈련 데이터는 이 분류기를 학습하는데 사용된다. 이 기법은 새 데이터의 양은 작지만 사전 학습에 사용된 훈련 데이터와 유사한 경우 유리하다. 반면에 미세조정 기법은 마지막 분류기 레이어를 포함하여 사전 학습된 전체 네트워크를 미세하게 재조정 한다. 이 기법은새 훈련데이터의 양이 작은 경우 과적합에 빠질 위험이 있기 때문에, 주로 새 훈련데이터의 양이 많을 때 사용하는 경우 유리하다.

일반적으로 CNN의 앞단 레이어에서는 특정 데이터에 한정되지 않은 일반적인 특징을 학습하고, 뒷단 레이어에서는 데이터에 특화된 상세 특징을 학습한다. 즉, 사전 학습된 CNN의 앞단 레이어에는 영상의 일반적인 특징들이 학습되어 있기 때문에, 서로 다른 데이터 세트를 이용하여 다시 학습한다고 해도, 앞단 레이어의 가중치 변동이 거의 없을 것으로 추측할 수 있다. 본 논문에서는 이런 특성을 활용하여 미세조정 기법을 조금 변형한 새로운 설정을 추가하여 전이학습을 실시하였다. 미세조정 기법은 기본적으로 모든레이어의 가중치를 변경하지만, 새로운 설정은 특정구간에 속하는 레이어들만 가중치를 변경한다. 즉3가지 다른 크기로, 전체 네트워크를 전이구간(transferred parts; 전단 레이어)과 비전이구간(non-transferred parts; 후단레이어)으로 구분한 후, 전이구간에 속한 레이어의 가중치는 동결하고 비전이구간에 속한 레이어에 대해서만 가중치를 변경하는 설정을 새롭게 도입하여 사용하였다(그림 8, 표 1 참조).

(표 1) 미세조정/변형 미세조정 기법에대한 비교(Table 1) Comparison of fine-tuning and modified fine-tuning methods

OTJBCD_2019_v20n4_91_t0001.png 이미지

가중치를 어느레이어까지 동결하여 전이할지를 결정하는 전이구간은 모델의 구조적 특성에 맞게 선정하였다. 전이구간을 선정할 때 특별히 두 가지 요소를 고려하였는데, 첫째는 기본 블록구조에서 출력되는 가중치를 침해하지 않기위해 블록구조가 중간에서 나뉘지 않도록 선정하였고, 둘째는 각 모델별로 레이어의 수가 다르기 때문에 정확히 3등분은 하지 않았지만 전체레이어를 전반부, 중반부, 후반부 레이어로 나누어 총 3가지 크기의 전이구간을 선정하였다. 그림 9는 위 두가지 사항을 고려하여 Inception V3에서 전이구간을 선정한 예이다.

OTJBCD_2019_v20n4_91_f0008.png 이미지

(그림 8) 본 논문에서 사용한 3가지 전이학습 기법(Figure 8) Three transfer learning schemes used in this paper

OTJBCD_2019_v20n4_91_f0009.png 이미지

(그림 9) Inception V3에서 3개의 전이구간 선정(Figure 9) Selection of three transferred parts in Inception V3

4. 실험 및 분석

4.0 GHz CPU(Intel® Core™ i7-6700K)와 32GB RAM, NVIDIA TITAN X PASCAL GPU가 장착된 PC에서 실험을 진행하였고, 딥러닝 오픈소스 도구인 Tensorflow[27]와 Keras[28]를 이용하여 프로그램을 구현하고 학습하였다. 전이학습에 사용한 CNN 모델은 VGG-16, DenseNet-121, Inception V3, Xception, MobileNet 총 5가지이다.

HOG는 8x8 셀로 나누고 그레디언트를 9개 방향으로 계산하여 히스토그램을 생성하였고, 분류기로는 비선형 SVM(패널티 파라메터 = 1.0, 커널 = 가우시안)을 연결하여 훈련하였다. SIFT의 경우, 특징을 분류기 입력으로 사용하기 위해서는 영상내에 존재하는 특징점의 개수를 맞춰주는 작업이 필요하다. K-means clustering 방법을 사용하여 각 영상의 SIFT 특징을 총 100개로 클러스터링하여 BoF(Bag of Feature)를 만들었고, 해당 BoF의 분류를 위하여 HOG에서 처럼 SVM을 사용하였다. SVM의 파라메타는 HOG을 분류할 때와 동일한 값을 사용하였다.

4.1 데이터 세트의구성

실험에 사용한 INRIA Person 데이터 세트[4]는 사람 영상과 사람이 없는 배경 영상으로 각각 구분되어 있다. 영상에 있는 사람들은 모두 서있거나 자전거를 타고있는 상태이며 96x160 픽셀 크기로 제공된다(그림 10). 배경 영상은 사람이 있을만한 도로나 공원 등이 원본 크기로 제공되는데, 본 논문에서는 사람 영상과 같은 크기인96x160로 편집하여 사용하였다(그림 11). 편집한 방식은 원본 배경 영상의 중심부에서 각각 2개 영역을 겹치지 않도록 96x160 크기로 잘라내었는데, 영역 선정시 사람이 있을 만한 지역을 우선적으로 고려하였다. 이렇게 잘라낸영역이 그림 12에서 점선으로 표시되어 있다. INRIAPerson 데이터 세트는 훈련 집합과 테스트 집합으로 나누어 제공된다. 본 연구에서는 훈련 집합 총 4852장 중 70%인 3396장을 학습 및 훈련에 사용하였고, 30%인 1456장을모델 검증에 사용하였다. 보행자 분류 성능은 테스트 집합으로 제공된 2032장 영상 전체를 사용하여 실시하였다.

OTJBCD_2019_v20n4_91_f0010.png 이미지

(그림 10) INRIA데이터 세트의 사람 영상(Figure 10) Person images from INRIA data set

OTJBCD_2019_v20n4_91_f0011.png 이미지

(그림 11) INRIA데이터 세트의 추출된 배경 영상(Figure 11) Clipped background images from INRIAdata set

OTJBCD_2019_v20n4_91_f0012.png 이미지

(그림 12) INRIA 데이터 세트의 원본 배경 영상(Figure 12) Original background images from INRIAdata set

4.2 전이학습 방법

본 논문에서는 INRIA Person 데이터 세트의 양이 많지 않은 관계로, 3 절에서 언급한 것처럼 ImageNet으로 사전학습된 CNN을 기반으로한 전이학습을 이용하여 보행자분류의 성능을 평가한다. 전이학습을 위하여 5가지 CNN모델에 대하여 공통적으로, 각 모델의 마지막 FC 레이어를 제거한 위치에 입력 영상을 2개의 클래스(보행자 or배경)로 분류하는 FC 레이어를 새롭게 구성하여 부착하고 softmax 함수를 적용하였다. 그리고 각 모델마다 그림 8에서 제시한 1)고정특징추출 기법(FC 레이어의 가중치만 학습하고 그외 레이어의 가중치는 동결), 2) 미세조정기법(FC 레이어를 포함한 모든 레이어의 가중치를 학습), 3) 변형 미세조정 기법(비전이구간에 속하는 레이어와 FC레이어의 가중치만 학습하고, 전이구간에 속하는 레이어의 가중치는 동결)을 적용하여 전이학습을 실시하였다. 최적화 알고리즘으로 Adam(Adaptive Moment)을 사용하였고, 학습률은 10-6으로 설정하였다. 100번의 에폭(epoch) 동안 학습하였고, 배치 사이즈는 32로 설정하였다.

4.3 실험 결과

표 2는 5개 CNN 모델에 대한 전이학습에서, 임계치가 0.5일 때의 보행자 분류 정확도를 보여준다(테스트 정확도와 함께 모델 검증 정확도도 참고로 같이 제시함). 테스트 정확도가 가장 좋게 나온 결과는 굵은 글씨로 표시하였다. 표에서 Fixed는 고정특징추출 기법을, Fine-tuning은 미세조정 기법을, M-Fine(Modified Fine-tuning)은 변형 미세조정 기법을 각각 나타낸다. M-Fine 기법에서는 전이구간도 같이 표기하였다. VGG-16는 M-Fine 기법을 사용하여 전이구간을 1~3 레이어까지 설정했을 경우, 테스트 정확도가 99.12%로 가장 높았다. DenseNet-121는 전이 없이 미세조정 기법으로 학습했을 때 정확도가 99.12%로 가장 높았고, Inception V3도 전이없이 미세조정 기법으로 학습했을 때 정확도가 97.75%로 가장 좋았다. X ception과 Mobile Net에서도 전이없이 미세조정 기법으로 학습했을 때 각각 99.61%와 99.41%로 가장 좋은 결과를 얻었다. VGG-16을 제외하고는 4개의 CNN 모델에서 전 구간을 미세조정하는 전이학습을 수행했을 때 결과가 가장 좋았다. 새로운 목적의 훈련 데이터와 사전에 학습된 훈련 데이터의 특성이 다르고, 분류하고자 하는 클래스의 수가 같지 않음으로 인해 미세조정 기법이 가장 좋은 결과를낸다는 것은 어쩌면 당연한 결과일 수 있다. 그러나VGG-16과 같이 모델의 특성에 따라 일부 구간을 동결하고, 나머지 구간을 미세조정했을 때 좋은 결과가 나올 수 있다는 가능성을 확인할 수 있었다.

(표 2) 5개 CNN의 보행자 분류 정확도(Table 2) Pedestrian classification accuracy of 5 CNNs

OTJBCD_2019_v20n4_91_t0002.png 이미지

(표 3) CNN 모델들의 파라메터 개수와 성능 비교(Table 3) Comparison of the number of parameters and performance for each CNN model

OTJBCD_2019_v20n4_91_t0003.png 이미지

성능을 정확도의 결과만으로 평가하였을 때, X ception이 미세한 차이지만 가장 우수하였다. 그러나 대부분의 모델들이 정확도가 99%가 넘는 좋은 성능을 보여주었다. 표 3은 각 모델이 학습해야하는 파라메터의 개수와 가장 좋은 결과를 낸 정확도를 함께 보여준다. 굵은 글씨로 표시한 Xception과 MobileNet의 정확도가 각각 99.61%와 99.41%라는 근소한 차이로 1위와 2위를 기록하였지만, 학습해야하는 파라메터의 개수를 보면 MobileNet이 X ception보다 80% 정도 더 적다. 이런 면에서, 정확도에서 1위와 비슷한 성능을 보여주면서도, 학습에 소요되는 비용은 현저하게 적은 MobileNet이 효율성 측면에서는 가장 우수하였다.

그림 13은 5개 CNN의 보행자 분류 성능에 대한 ROC(Receiver Operating Characteristic) 곡선을 보여준다. 범례의 M-Fine에서 Unit 1~3는 1번째~3번째 전이구간을 각각 나타낸다. 곡선의 위치와 AUC(Area Under the Curve)값으로 판단하였을 때, 미세조정 기법의 전이학습 성능이 가장 우수하였다. 본 논문에서 제시한 M-Fine 기법의 성능은 미세조정 기법과 대등하거나 조금 낮았지만 고정특징추출 기법보다는 높았다. 또한 M-Fine 기법의 경우에는 Unit 1에서 Unit 2, Unit 3로 전이구간이 길어질수록 전이학습의 성능이 대체적으로 저하되는 경향을 보여주었다. 그러나 거의 모든 CNN 모델에서 전이학습 기법에 상관없이 AUC 값이 1 에 수렴할 정도로 CNN의 깊은 특징들이 좋은 결과를 보여주었다.

OTJBCD_2019_v20n4_91_f0013.png 이미지

(그림 13) 5개 CNN의 ROC 곡선(Figure 13) ROC curves of 5 CNNs

그림 14는 사람이 디자인한 기존의 수동 특징들과 전이학습을 통해 CNN으로부터 자동으로 추출한 깊은 특징들간의 보행자 분류 성능을 보여준다. 수동 특징으로는 HOG와 SIFT를 사용하였고, 이들의 성능을 5개 CNN의 가장 우수한 전이학습 결과과 비교하였다. 그림에서 알수 있듯이 HOG는 SIFT보다 성능이 좋았지만, 둘다 모두 CNN의 깊은 특징보다 훨씬 저조한 성능을 보여주었다.

OTJBCD_2019_v20n4_91_f0014.png 이미지

(그림 14) 수동 특징과 CNN의 깊은 특징간의 성능 비교(Figure 14) Performance comparison between hand crated features and CNN’s deep features

5. 결론

본 논문은 기존에 사람이 디자인한 수동 특징 대신에,전이학습을 통하여 CNN으로부터 자동으로 추출한 깊은특징으로 보행자를 안정적이고 강건하게 분류할 수 있음을 실험을 통하여 제시하였다. 전이학습 방법으로 많이 사용하는 고정특징 추출 기법과 미세조정 기법 외에, 본 논문에서는 미세조정 기법을 조금 변형한 기법(M-Fine)을 추가하여 실험하였다. M-Fine 기법에서는 3가지 다른 크기로 레이어를 전이구간과 비전이구간으로 구분한 후,전이구간에 속한 레이어의 가중치는 동결하고 비전이구간에 속한 레이어에 대해서만 가중치를 변경하였다. 5가지 CNN 모델(VGG-16, DenseNet-121, Inception V3, Xception, MobileNet)과 INRIA Person 데이터 세트로 실험한 결과, Xception의 보행자 분류 정확도가 99.61%(임계치 = 0.5)로 가장 높았지만, 효율성 측면에서는 X ception보다 80% 적은 비용이 소요되는 MobileNet이 가장 우수하였다. 그리고 전이학습 효과면에서는 대체적으로 미세조정 기법, M-Fine 기법, 고정특징추출 기법순으로 우수하였다. 또한 HOG나 SIFT 같은 수동 특징과 전이학습을 통하여 CNN에서 추출한 깊은 특징간의 성능을 비교하는 ROC 그래프로부터, CNN의 깊은 특징이 수동 특징보다 두드러진 분별력을 가지고 있음을 확인하였다.

전이학습 측면에서 미세조정 기법과 동등한 성능을 보여준 M-Fine 기법에 대한 추가 연구도 아래와 같이 진행할 계획이다. 첫째, 현재는 FC 레이어가 전이구간의 말단에 연결되어 있지만, FC 레이어를 비전이구간의 말단으로 이동하여 연결시키고, FC 레이어의 가중치만를 학습해서 전이학습의 효과를 측정한다. 둘째, 전이구간과 비전이구간 구분을 3개 이상으로 확대하여 전이학습의 효과를 측정한다. 끝으로, M-Fine 기법은 미세조정 기법보다 학습할 파라메터의 양이 적어 학습시간이 적게 걸리는 장점이 있다. 따라서 학습에 소요되는 시간과 정확도간의 trade-off 관계를 보다 면밀히 살피고자 한다.

References

  1. M. Grega, S. Lach, and R. Sieradzki, "Automated recognition of firearms in surveillance video," in 2013 IEEE International Multi-Disciplinary Conference on Cognitive Methods in Situation Awareness and Decision Support (CogSIMA), pp. 45-50, 2013. https://doi.org/10.1109/cogsima.2013.6523822
  2. L. Zhang, L. Lin, X. Liang, and K. He, "Is Faster R-CNN Doing Well for Pedestrian Detection?," Springer, Cham, pp. 443-457, 2016. https://doi.org/10.1007/978-3-319-46475-6_28
  3. D. G. Lowe, "Object recognition from local scale-invariant features," in Proceedings of the Seventh IEEE International Conference on Computer Vision, vol.2, pp. 1150-1157, 1999. https://doi.org/10.1109/iccv.1999.790410
  4. N. Dalal and B. Triggs, "Histograms of Oriented Gradients for Human Detection," in 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05), vol. 1, pp. 886-893, 2005. https://doi.org/10.1109/cvpr.2005.177
  5. X. Wang, T. X. Han, and S. Yan, "An HOG-LBP human detector with partial occlusion handling," in 2009 IEEE 12th International Conference on Computer Vision, pp. 32-39, 2009. https://doi.org/10.1109/iccv.2009.5459207
  6. T. Watanabe, S. Ito, and K. Yokoi, "Co-occurrence Histograms of Oriented Gradients for Pedestrian Detection," Springer, Berlin, Heidelberg, pp. 37-47, 2009. https://doi.org/10.1007/978-3-540-92957-4_4
  7. C. Zhan, X. Duan, S. Xu, Z. Song, and M. Luo, "An Improved Moving Object Detection Algorithm Based on Frame Difference and Edge Detection," in Fourth International Conference on Image and Graphics (ICIG 2007), pp. 519-523, 2007. https://doi.org/10.1109/icig.2007.153
  8. U. Jain, K. Choudhary, S. Gupta, and M. J. Pemeena Privadarsini, "Analysis of Face Detection and Recognition Algorithms Using Viola Jones Algorithm with PCA and LDA," in 2018 2nd International Conference on Trends in Electronics and Informatics (ICOEI), pp. 945-950, 2018. https://doi.org/10.1109/icoei.2018.8553811
  9. D. Zhang, D. Ding, J. Li, and Q. Liu, "PCA Based Extracting Feature Using Fast Fourier Transform for Facial Expression Recognition," in Transactions on Engineering Technologies, Dordrecht: Springer Netherlands, pp. 413-424, 2015. https://doi.org/10.1007/978-94-017-9588-3_31
  10. H. Zou and Z. Jin, "Comparative Study of Big Data Classification Algorithm Based on SVM," in 2018 Cross Strait Quad-Regional Radio Science and Wireless Technology Conference (CSQRWC), pp. 1-3, 2018. https://doi.org/10.1109/csqrwc.2018.8455423
  11. Y. LeCun et al., "Backpropagation Applied to Handwritten Zip Code Recognition," Neural Comput., vol. 1, no. 4, pp. 541-551, 1989. https://doi.org/10.1162/neco.1989.1.4.541
  12. J. Deng, W. Dong, R. Socher, L.-J. Li, Kai Li, and Li Fei-Fei, "ImageNet: A large-scale hierarchical image database," in 2009 IEEE Conference on Computer Vision and Pattern Recognition, pp. 248-255, 2009. https://doi.org/10.1109/cvpr.2009.5206848
  13. A. Krizhevsky, I. Sutskever, and G. E. Hinton, "ImageNet classification with deep convolutional neural networks," Communications of the ACM, vol. 60, no. 6, pp. 84-90, May 2017. https://doi.org/10.1145/3065386
  14. K. Simonyan and A. Zisserman, "Very Deep Convolutional Networks for Large-Scale Image Recognition," 2014. https://arxiv.org/abs/1409.1556
  15. G. Huang, Z. Liu, L. van der Maaten, and K. Q. Weinberger, "Densely Connected Convolutional Networks," in Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 4700-4708, 2017. https://doi.org/10.1109/cvpr.2017.243
  16. C. Szegedy, V. Vanhoucke, S. Ioffe, J. Shlens, and Z. Wojna, "Rethinking the Inception Architecture for Computer Vision," in Proceedings of the IEEE conference on computer vision and pattern recognition, pp.2818-2826,2016. https://doi.org/10.1109/cvpr.2016.308
  17. F. Chollet, "Xception: Deep Learning with Depthwise Separable Convolutions," in Proceedings of the IEEE conference on computer vision and pattern recognition., pp. 1251-1258., 2017. https://doi.org/10.1109/cvpr.2017.195
  18. T.-J. Yang, Y.-H. Chen, and V. Sze, "Designing Energy-Efficient Convolutional Neural Networks using Energy-Aware Pruning," in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 5687-5695, 2017. https://doi.org/10.1109/cvpr.2017.643
  19. A. G. Howard et al., "MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications," 2017. https://arxiv.org/abs/1704.04861
  20. K. Weiss, T. M. Khoshgoftaar, and D. Wang, "A survey of transfer learning," J. Big Data, vol. 3, no. 1, p. 9, Dec. 2016. https://doi.org/10.1186/s40537-016-0043-6
  21. S. J. Pan and Q. Yang, "A Survey on Transfer Learning," in IEEE Trans. Knowl. Data Eng., vol. 22, no. 10, pp. 1345-1359, Oct. 2010. https://doi.org/10.1109/tkde.2009.191
  22. C. Szegedy et al., "Going Deeper with Convolutions,"in Proceedings of the IEEE conference on computer vision and pattern recognition., pp.. 1-9, 2015. https://doi.org/10.1109/cvpr.2015.7298594
  23. C. Szegedy, S. Ioffe, V. Vanhoucke, and A. Alemi, "Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning," in Thirty-First AAAI Conference on Artificial Intelligence, 2017. https://www.aaai.org/ocs/index.php/AAAI/AAAI17/paper/viewPaper/14806
  24. J. Donahue et al.,"Decaf: A deep convolutional activation feature for generic visual recognition," in Proceedings of the 31st International Conference on Machine Learning, pp.647-655, 2014. https://dl.acm.org/citation.cfm?id=3044879
  25. M. Talo et al., "Application of deep transfer learning for automated brain abnormality classification using MR images," Cognitive Systems Research, vol. 54, pp. 176-188, 2019. https://doi.org/10.1016/j.cogsys.2018.12.007
  26. S. Khan, N. Islam, Z. Jan, I. U. Din, J. J. C. Rodrigues, "A novel deep learning based framework for the detection and classification of breast cancer using transfer learning," Pattern Recognition Letters, vol. 125, pp. 1-6, 2019. https://doi.org/10.1016/j.patrec.2019.03.022
  27. M. Abadi et al., "TensorFlow: A System for Large-Scale Machine Learning," in 12th {USENIX} Symposium on Operating Systems Design and Implementation ({OSDI}16), pp. 265-283, 2016. https://www.usenix.org/conference/osdi16/technical-sessions/presentation/abadi
  28. F. Chollet and others, "Keras: The Python Deep Learning library," Astrophys. Source Code Libr. Rec. ascl1806.022, 2018. https://ui.adsabs.harvard.edu/abs/2018ascl.soft06022C/abstract