최승환
(Seunghwan Choi)
1iD
채창훈
(Changhoon Chae)
1
임찬욱
(Chanuk Lim)
2
박운상
(Unsang Park)
3
최민희
(Min-Hee Choi)
†iD
-
(Digital Solution Laboratory, KEPRI, Korea.)
-
(Korea Institute of Science and Technology Information, Korea.)
-
(Department of Computer Science and Engineering, Sogang University, Korea.)
Copyright © The Korean Institute of Electrical Engineers(KIEE)
Key words
Drone Diagnosis, Transmission Towers & Facilities Detection, Deep Learning, CNN, YOLO v2
1. 서 론
지난 수십년간 지속적인 사회 기반 시설의 확대에 맞춰 전력 시스템 또한 확장되어 왔으며, 송전전력 계통의 크기와 규모는 점점 더 빠르게 증가하고 있다.
효율적이고 안정적인 전력계통 운영을 위하여 송전 인프라의 효과적인 유지보수는 매우 중요하다. 그러나 송전 인프라인 송전선로는 송전철탑을 그 지지물로
하여 지상으로부터 높은 위치에 설치되어 있기 때문에 진단원의 유지보수 작업에는 항상 안전사고가 발생할 수 있다. 이러한 안전 문제를 해결하기 위하여
한국전력공사에서는 2016년부터 광학 카메라를 장착한 드론을 활용한 송전선로 감시진단 시스템을 개발하였으며, 지난 3년간의 송전선로 현장 적용을 통하여
유지보수의 효율성을 확인하였다. 드론은 송전선로를 따라 20여분 가량 자율주행하며 약 3GBytes 정도의 동영상을 촬영하고 분석하여야 한다. 그림 1은 한국전력공사에서 수행중인 드론을 활용한 송전선로 감시진단 사례를 보여준다.
그림 1은 드론 취득 영상분석을 기계학습, 진단/분석, 그리고 영상 데이터 관리 기능을 포함하는 드론 운용 시스템 아키텍처를 보여준다(1). 드론 비행에서 취득된 동영상을 분석하는 작업은 송전철탑 및 전력설비가 포함된 영상 프레임(이미지)을 찾고, 이미지에서 관심영역인 설비 부분을 작업자가
관찰할 수 있는 수준으로 확대한 후 설비의 이상유무를 판별하는 방식으로 수행된다. 이러한 방식은 진단자로 하여금 고도의 집중력을 요구하는 동시에 매우
큰 피로도를 유발하므로 인공지능 영상분석 기술의 적용이 필요하다. 영상분석 기술을 활용하여 설비의 이상 유무를 일차적으로 판정함으로써 진단자는 최종
확인 작업만 수행할 수 있도록 하기 위한 송전철탑 및 전력설비 자동검출을 위한 영상분석 알고리즘의 개발이 필요하다.
Fig. 1. System Architecture for Operation of Diagnostic Drone for Power Line.
국외에서는 드론을 활용하여 다양한 산업에 드론을 활용할 수 있도록 하는 플랫폼 시장 위주로 발전하고 있다. 에어웨어(Airware)는 표준화된 민간
드론 운영체제를 제시하였으며, 이를 통해 다양한 드론 하드웨어를 지원하고 드론 앱 개발 환경을 제공하고 있다. 에어웨어 플랫폼은 ①드론에 장착되는
각종 하드웨어와 센서를 이용하여 자율비행을 수행하는 시스템, ②운영 시스템과 API를 제공하는 시스템, ③운항계획을 관리하고, 법규 준수를 관리하고,
데이터를 관리하는 클라우드 시스템, 그리고 ④ 지도를 이용하여 비행계획을 수립하고 안전운행을 모니터링하는 시스템으로 구성된다. 또한 UAVVision은
무인항공기에 부착된 여러 센서를 활용하는 항공정보시스템(Aerial information system)을 제공하여 비행체를 조작하거나 짐벌(카메라모듈)을
조작할 수 있는 기술을 제공한다. 국외 전력사에서도 드론을 활용한 송전설비 감시진단 기술을 활용하고자 하나 미국의 경우 전력사에서 직접 기술을 연구개발하는
방식 보다는 드론 서비스 제공 회사에서 기술을 개발하여 전력사에 판매하는 방식으로 진행중이다. 한국전력공사에서도 본 연구성과를 미국 EPRI 연구소(Electric
Power Research Institute)에 시연하여 미국 송전선로감시진단 시장에 진출을 모색하고 있다.
본 논문에서는 송전 인프라를 구성하는 송전철탑과 스페이서 댐퍼, 항공장애표시구, 피뢰기, 폴리머제 및 자기제 애자를 대상으로 자동검출 알고리즘 개발
과정을 기술하고 있다. 2장에서는 알고리즘의 기계학습을 위한 영상 데이터베이스 구축 과정을 기술한다. 3장에서는 여러 알고리즘을 비교 분석하여 송전
인프라에 적합한 알고리즘을 선정하고 학습하는 과정을 기술하며, 4장에서는 개발한 CNN-YOLO v2 알고리즘의 성능을 정확도와 속도 측면에서 평가한다.
마지막으로 5장에서는 향후 영상분석 알고리즘의 활용성 향상을 위한 후속 연구방향을 제시하고 있다.
2. 기계학습 데이터베이스 구축
송전설비 자동검출 알고리즘은 기계학습(Machine Learning, ML)을 사용하여 개발한다. 자동 검출 대상은 그림 3에서와 같이 송전철탑과 폴리머 송전 애자, 세라믹 송전 애자, 송전 피뢰기, 스페이서 댐퍼, 항공장애표시구 등으로 구성된다. 본 연구에서는 한국전력공사에서
중인 송전선로 감시진단 드론이 2017년에 취득한 H.264로 인코딩된 동영상 데이터 75개를 사용하였다. 동영상에서 학습과 테스트에 적합한 프레임을
선별하여 JPEG 포맷의 이미지로 분류하였으며, 각 이미지에 객체 별 레이블링을 수행하였다. 기계학습을 위한 데이터베이스를 구축하는 개괄적인 과정은
그림 4와 같다. 그림 4에서 (a)육면체는 드론이 촬영한 H.264 포맷의 동영상을, (b)는 동영상의 개별 프레임에 해당하는 정지영상 이미지를, 그리고 (c-1), (c-2),
(c-3)는 이미지에 포함된 전력설비를 기준으로 분류한 기계학습용 JPEG 포맷의 이미지를 각각 의미한다.
Fig. 3. Examples of power facilities and transmission towers collected from various
angles and distances. (a) Tower, (b) Spacer, (c) Balisor, (d) Lightening Arrester,
(e) Ceramic-insulator, (f) Polymer-insulator
Fig. 4. A schematic representation of image data classification and storage.
영상분석 알고리즘 개발에 사용된 데이터베이스는 송전철탑과 각 설비에 대해 표 1과 같이 동일한 수의 학습 데이터를 사용하였으며, 이미지의 예시는 그림 5와 같다.
Table 1. Statistics of Image Databases.
Images
Towers&Facilities
|
Total # of
images
|
Total # of samples
|
# of train samples
|
# of valid samples
|
Transmission-tower
|
994
|
1736
|
1608
|
128
|
Spacer
|
4286
|
1943
|
1704
|
239
|
Balisor
|
4286
|
741
|
666
|
75
|
Lightening Arrester
|
4286
|
975
|
882
|
93
|
Ceramic-insulator
|
4286
|
5173
|
4594
|
579
|
Polymer-insulator
|
4286
|
380
|
252
|
128
|
Fig. 5. An image case used in ML.
3. 송전설비 검출 기계학습 알고리즘 검토 및 선정
본 연구에서는 “Region Proposal CNN”(R-CNN)/Faster R-CNN(3), CNN-YOLO v1/CNN-YOLO v2(4,5)와 같은 여러 CNN 알고리즘을 검토하였다. VOC 테스트 셋을 기준으로 YOLO v1의 검출 정확도 mAP는 57.9% 로 이는 VGG-16을 사용하는
최신기술인 오리지널 R-CNN의 결과보다 낮은 수치이다. 그러나 후에 YOLO v1을 개선하여 공개된 YOLO v2는 동일한 VOC 데이터 셋에서
78.6 % mAP라는 뛰어난 성능을 보였다. 따라서 높은 정확도를 보이지만 상대적으로 FPS(frame per second)가 낮았던 Faster
R-CNN보다 보다 높은 FPS로 빠른 검출이 가능하고 그와 동시에 비슷한 정확도를 보이는 YOLO v2가 실시간 드론 기체에서 동작하여야하는 연구
목적에 더 부합하여 YOLO v2를 이용한 실험을 진행하였다. YOLO v2의 특징은 다음과 같다.
3.1 딥러닝 기반 송전철탑 및 송전설비 검출 요구사항
기존의 이미지 분류기를 이용하여 특정 이미지에서 다양한 크기로 나타나는 객체를 검출하기 위한 대표적인 방법에는 슬라이딩 윈도우 방식이 있다. 이는
객체가 가질 수 있는 크기의 최소 크기에서부터 최대 크기까지 윈도우 크기를 변화시켜가며 각 윈도우에 대하여 이미지 분류기를 적용하여 특정 신뢰도 이상의
값을 보이는 윈도우에 대하여 객체가 존재한다고 추정하는 방식이다. 이러한 슬라이딩 윈도우 방식은 특히 얼굴 검출, 보행자 검출 등에 많이 사용되었으며,
이미지를 수백-수천회에 걸쳐서 스캔해야 하므로 굉장히 많은 연산량을 필요로 하지만 컴퓨팅 파워의 증가와 인테그랄 이미지, 계층적 분류 방식 등의 알고리즘
최적화를 거쳐 실시간적으로 처리하는 것이 가능해 졌다. 슬라이딩 윈도우 방식은 객체의 크기 변화, 이동 변화를 처리하는 데 주안점을 두고 있으며,
그러한 문제를 어느 정도 효과적으로 해결할 수 있는 방법으로 최근까지도 사용되고 있다. 그림 6은 슬라이딩 윈도우 방식의 적용 방식을 도식적으로 표현하고 있다.
Fig. 6. A schematic representation of object detection using sliding window.
그러나 분류기의 속도가 매우 빠른 경우에는 유용할 수 있으나 DNN(Deep Neural Network) 기반 이미지 분류기와 같이 분류기 자체의
속도가 느린 경우에 슬라이딩 윈도우 방식과의 결합에 문제가 발생한다. 첫째, 슬라이딩 윈도우가 주어진 크기와 정해진 간격으로 이동하면서 스캔하기 때문에
물체의 정확한 위치 파악에 한계가 있으며, 불필요한 중복 연산으로 인한 부하가 크다는 것이다. 이러한 문제를 해결할 수 있는 대안으로 2012년에
도입되기 시작한 리젼 프로포절 CNN (Region Proposal CNN 또는 R-CNN) 기법이 있다. 합성곱 신경망 (Convolutional
Neural Network)은 2010년 경에 문자 및 물체 인식, 이미지 분류 등의 이미지 처리에 효과적이라는 것이 입증되었으며, R-CNN은 물체
검출에 특화되어 있어 다양한 크기로 임의의 위치에 나타나는 물체의 검출에 있어서 기존의 슬라이딩 윈도우 방식에 비하여 우수한 성능을 보이고 있다.
본 과제에서 고려하는 R-CNN 방법은 기존의 슬라이딩 윈도우 방식의 한계를 극복하기 위하여 제안되었으며, 객체가 존재할 수 있는 모든 이미지 영역을
검색하는 기존의 방식을 버리고 컬러 군집 특성 등을 이용하여 객체가 존재할 가능성이 있는 소수의 영역만을 선택하여 이미지 분류기를 적용하는 방법이다.
선택된 영역은 CNN 분류기를 거쳐 피처를 추출하고 최종적으로 SVN 등의 별도 분류기를 통하여 최종적으로 객체로 분류된다. R-CNN의 성능을 측정하기
위하여 ILSVRC 2013 중 DET dataset을 이용하였다. ILSVRC 2013 DET dataset은 200개의 class에 대하여 395,909장의
학습 이미지와 55,502장의 테스트 이미지를 제공하며, 본 연구에서 기존의 R-CNN 방법을 적용해 본 결과 29.1%의 검출 정확도를 얻을 수
있었다. 이는 기존 연구 결과인 31.4%에 비하여 2.3% 낮은 수치로, DNN 레이어 구성 시 적용되는 파라미터 값의 차이에 기인하는 것으로 보인다.
또한 검출 속도 개선을 위해 Faster R-CNN방식을 시험하였다. 일반적인 R-CNN 방식과의 차이는 다음과 같다. 기존의 R-CNN은 모든 region에
대해 개별적으로 CNN을 적용하기 때문에 병목현상을 유발하며 속도가 느린 단점이 존재하였다. 이를 보완하기 위하여 이미지에 대해서 모든 convolutional
feature를 한 번만 계산한 뒤 fully-connected layer 직전의 feature map에서 RoI region을 직접적으로 잘라내어
single-level Spatial pyramid pooling(SPP)을 적용한다. SPP는 오리지널 region에 대한 공간적인 레이아웃을 포함할
수 있도록 region들을 그리드와 같은 타일형태로 만들어 고정된 길이의 region-specific feature vectors로 만든다.
또한 test time에는 외부 region proposal 알고리즘에 의존하지 않고 RPN으로 region을 proposal한다. 이는 training
동안 Object detection network 와 Region Proposal Network 가 convolution layer들을 공유하여 feature들을
취하게 만들어 두 개의 Network를 jointly하게 학습하여 가능하였다. 또한 Stochastic Gradient Descent(SGD)를 적용하여
region-wise sampling에서 minibatch들을 이용한 hierarchical한 sampling을 적용하였다. 이러한 변형으로 인하여
single forward pass로 오브젝트들의 검출이 가능하게 되었으며 training time, test time을 크게 단축시켰다.
Table 2. Comparison of R-CNN and Faster R-CNN.
Items
|
R-CNN
|
Faster R-CNN
|
Improvement
|
training time
|
84 hours
|
17.2hours
|
- 66.8hours
(79.5%)
|
test time per image
|
47s
|
0.198s
|
- 46.9s
(99.6%)
|
mAP
|
66.0%
|
69.9%
|
+ 3.9%
(5.9%)
|
3.2 YOLO v1
다음으로 고려한 YOLO는 단일 회귀 문제에서 이미지 위에 검출된 객체의 위치를 표시하는 박스와 예측된 객체 클래스의 확률로 다시 구성하여 검출결과를
나타낸다. YOLO는 You Only Look Once 라는 의미로 이미지를 한 번만 보고도 객체의 존재 유무와 위치를 파악하고 예측할 수 있음을
의미한다. YOLO는 이전과는 완전히 다른 접근 방식을 이용한다. 단일 컨볼루션 네트워크는 여러 개의 박스들을 예측하고 동시에 그 박스들에 대한 분류
확률을 계산한다. YOLO는 전체 이미지를 학습함과 동시에 객체 검출 성능을 최적화한다. 이 통합된 모델은 기존의 전통적인 객체 검출 방법들에 비하여
몇 가지 이점을 가지고 있다.
첫째, YOLO는 매우 빠르다. YOLO는 탐지를 회귀 문제로 간주하기 때문에 복잡한 파이프 라인을 필요로 하지 않으며 새로운 이미지에 대하여 테스트
하는 경우에는 간단하게 신경 네트워크를 실행하여 검출한다. YOLO 기본 네트워크는 Titan X GPU 사용 시, 일괄 처리 없이 초당 45 프레임으로
실행되며 빠른 버전은 150FPS 이상에서 실행된다. 이는 25 밀리 초 미만의 대기 시간을 가진다는 것으로 실시간으로 스트리밍 비디오를 처리 할
수 있음을 의미한다.
둘째로, YOLO는 예측 시 이미지에 대한 전체적인 분석을 한다. 슬라이딩 윈도우 방식 및 Region Proposal-based 기술과 달리 YOLO는
학습 및 테스트 시간 동안 전체 이미지를 보고 클래스 및 출현 객체에 대한 문맥 정보를 암시적으로 인코딩한다. 이는 YOLO가 Faster R-CNN이
볼 수 없었던 이미지의 큰 컨텍스트를 볼 수 있다는 것을 말하며 Faster R-CNN과 비교하였을 때 백그라운드에 대한 오류의 수를 절반으로 줄일
수 있음을 의미한다.
셋째, YOLO는 객체가 일반화 될 수 있는 표현을 학습한다. 보다 자연스러운 이미지를 학습하고 테스트 한 결과, YOLO는 DPM 및 R-CNN과
같은 상위 검출 방법보다 넓은 마진(margin)을 가졌다는 점에서 더 뛰어난 성능을 보였다. YOLO는 높은 수준의 일반화가 가능하기 때문에 새
도메인이나 예기치 않은 입력들에 대하여 검출에 실패할 가능성이 적다.
Fig. 7. YOLO divides the image into an SxS grid and for each grid cell predicts B
bounding boxes, confidence for those boxes, and C class probabilities.
YOLO는 객체 검출의 개별 구성 요소를 단일 신경 네트워크로 통합한다. YOLO 네트워크는 전체 이미지의 특징을 사용하여 각 박스를 예측한다. 또한
이미지 내에서 동시에 모든 클래스에 대한 모든 박스들을 추측한다. 이것은 네트워크가 전체 이미지에 대한 모든 객체에 대해 전체적으로 판단함을 의미한다.
YOLO 설계는 평균적으로 높은 정밀도를 유지하면서 엔드 투 엔드 (end-to-end) 학습을 실시간으로 가능하게 한다. YOLO는 입력 이미지를
S × S 그리드로 나눈다. 객체의 가운데가 모눈 셀에 속하면 해당 모눈 셀이 해당 객체의 검출의 기준점이 된다. 각 그리드 셀은 박스와 신뢰도 점수를
예측한다. 이 신뢰 점수는 학습된 모델의 검출 결과를 얼마나 신뢰할 수 있는지에 대한 정도를 의미한다. 이는 모델의 예측한 박스에 객체가 포함되어있는지
여부와 예측 결과에 대한 정확도를 반영한다. 형식적으로 신뢰점수는 Pr(Object) ∗ 로 정의하며 해당 셀에 객체가 없으면 신뢰 점수는 0 이어야
한다. 혹은 그렇지 않으면 신뢰 점수가 검출결과 상자와 정답 사이의 IOU와 같아야 한다.
각 테두리 상자는 x, y, w, h, 신뢰도지수와 같이 총 5 가지 예측결과로 구성된다. (x, y) 좌표는 그리드 셀의 경계를 기준으로 한 상자의
중심을 나타내며 너비(w)와 높이(h)는 전체 이미지와 관련하여 예측된다. 마지막으로 신뢰도 지수가 예측 된 상자와 모든 실제 상자 사이의 IOU를
나타낸다.
각 그리드 셀은 또한 조건부 클래스 확률(Pr(Classi | Object))을 예측하며 이 확률은 객체가 포함된 그리드 셀에 따라 조정된다. 또한
YOLO는 박스의 수에 관계없이 그리드 셀 당 클래스 확률을 예측하고 테스트 시, 조건부 클래스 확률과 개별 박스 신뢰도 값의 곱인 다음의 식을 연산하여
각 상자에 대한 신뢰도 점수를 얻는다.
이 점수는 상자에 나타나는 해당 클래스의 확률과 예측된 상자가 개체에 얼마나 잘 맞는지를 의미한다.
Fig. 8. Full YOLO CNN Network.
원본 Full YOLO CNN network 모델은 CNN으로 구현되었으며 PASCAL VOC detection 데이터 셋을 이용하여 평가되었다.
네트워크의 초기 컨볼루션 레이어는 이미지의 특징들을 추출하고 FC레이어(fully connected layer)는 출력될 확률과 좌표를 예측한다.
YOLO 네트워크 아키텍처의 이미지 분류 방법은 GoogLeNet 모델에서 착안한 것으로 네트워크에는 24 개의 컨볼루션 레이어와 2개의 fc레이어가
있다. YOLO는 GoogLeNet에서 사용하는 초기 계층 대신 단순히 1x1 축소 레이어와 3x3 컨볼루션 레이어를 사용한다.
3.3 YOLO v1 와 YOLO v2 평가
파스칼 VOC 챌린지((PASCAL Visual Object Classes Challenge) 테스트 셋을 기준으로 YOLO v1의 검출 정확도는
(mAP) 57.9 %으로 이는 VGG-16을 사용하는 최신기술인 오리지널 R-CNN의 결과보다 낮은 수치이다. 그러나 후에 YOLO v1을 개선하여
공개된 YOLO v2는 동일한 VOC 데이터 셋에서 78.6 % mAP라는 뛰어난 성능을 보였다. 따라서 높은 정확도를 보이지만 상대적으로 FPS가
낮았던 Faster R-CNN보다 보다 높은 FPS로 빠른 검출이 가능하고 그와 동시에 비슷한 정확도를 보이는 YOLOv2가 연구 목적에 더 부합하여
YOLO v2를 이용한 실험을 진행하였다. 따라서 높은 정확도를 보이지만 상대적으로 FPS가 낮았던 Faster R-CNN보다 보다 높은 FPS로
빠른 검출이 가능하고 그와 동시에 비슷한 정확도를 보이는 YOLOv2가 연구 목적에 더 부합하여 YOLO v2를 이용한 실험을 진행하였다. YOLO
v2는 v1에 비하여 다음과 같은 점이 개선되었다.
◦ Batch Normalization 배치 정규화는 학습 진행에서 상당하게 성능을 개선함과 동시에 다른 형식의 정규화의 필요를 줄여준다. YOLO의
모든 컨볼루션 레이어에 배치 정규화를 추가하면 mAP에서 2 % 이상의 개선 효과를 얻을 수 있으며 또한 모델을 규칙화하는 데 도움이 된다. 배치
정규화를 통해 모델에서 dropout과정을 제외하고도 overfitting을 피할 수 있게 된다.
◦ High Resolution Classifier 원본 YOLO는 네트워크의 입력 이미지 해상도를 224 × 224 픽셀로 훈련시키고 검출 시에는
448 픽셀로 해상도를 증가시키는 방식을 취하였다. 어떠한 해상도의 이미지가 입력으로 들어가더라도 224 × 224 픽셀크기로 학습을 진행하여 결과적으로
YOLO는 작은 물체를 잘 검출해내지 못하고 특히 고해상도의 이미지에서의 검출률이 현저하게 떨어지는 결과를 초래하였다. 이러한 문제를 해결하는 방법으로
YOLO v2에서는 다음과 같은 방법을 사용하였다. 우선으로 10 개 스텝에서 전체 448 × 448 해상도로 분류 네트워크를 미세 조정한 뒤 검출결과를
근거로 고해상도 입력에서 더 잘 작동하도록 그 후에 네트워크를 미세 조정하는 것이다. YOLO는 입력 이미지를 첫번째 레이어 이전에 특정 사이즈로
조정하여 집어 넣는데 이 크기가 크면 클수록 상대적으로 작은 물체까지 검출이 가능하나 학습과 검출속도가 느려진다. 이는 입력 이미지는 커졌지만 여전히
동일한 크기의 커널을 사용하므로 더 많은 컨볼루션 연산 등을 요구하므로 결국 한 장의 이미지를 처리하는데 더 많은 시간이 소요된다. 선택 가능한 입력
사이즈는 32의 배수 값을 사용하여야 하며 사용 가능한 크기의 예시는 표 3과 같다.
◦ Convolutional With Anchor Boxes YOLO에서 fc레이어가 제거되고 앵커 상자는 박스를 예측하는 데 사용된다. YOLO는
이미지 당 98개의 박스만을 예측하지만 앵커 상자를 사용하면 학습모델이 천 개 이상을 예측할 수 있다. 앵커박스는 학습데이터의 특징을 반영하여 만들어지며
본 연구에서 생성된 앵커박스의 예시는 그림 9와 같다.
Table 3. Possible input size and FPS when using that size
Input Image Size
|
FPS
|
1088(34×32)
|
8.71
|
1056(33×32)
|
8.66
|
992(31×32)
|
11.06
|
928(29×32)
|
5.01
|
864(27×32)
|
11.86
|
800(25×32)
|
12.24
|
736(23×32)
|
14.63
|
672(21×32)
|
3.46
|
608(19×32)
|
16.78
|
544(17×32)
|
18.4
|
480(15×32)
|
14.25
|
416(13×32)
|
23.77
|
Fig. 9. Examples of Anchor Box. (Left) Transmission Tower, (Right) Power facilities
◦ Dimension Clusters 수동으로 prior 확률을 설정하는 대신 k-means 클러스터링이 학습 데이터 셋의 박스를 실행하여 자동으로
좋은 prior 확률을 찾는다.
◦ Fine-Grained Features 수정된 YOLO는 13 × 13 피쳐맵에서 검출결과를 예측한다. 크기가 큰 객체의 경우에는 충분하지만 더
작은 객체의 경우에는 보다 세분화하는 것이 좋다.
◦ Multi-Scale Training 입력 이미지 크기를 고정하는 대신 작은 크기의 반복 주기마다 네트워크를 변형하여 매 10 배치마다 다른 크기의
입력 값으로 학습을 진행한다. 네트워크는 사용 가능한 크기 풀에서 새로운 이미지 크기를 무작위로 선택한다. 선택할 수 있는 이미지의 크기는 표 3과 같다.
멀티 스케일 학습을 진행하는데 있어 단점으로는 학습속도가 두드러지게 느려진다는 것이며 반대로 장점으로는 다양한 크기의 객체를 찾아낼 수 있어 정확도가
소폭 증가한다는 점이다.
YOLO v2 는 객체 검출에 네 가지 타입의 네트워크를 사용할 수 있으며 각 네트워크의 특징은 같다.
◦ Darknet Reference 아주 간단하게 구성된 네트워크로 장점으로는 144FPS에 달하는 빠른 속도이며 단점으로는 간단한 네트워크인 만큼
낮은 정확도를 들 수 있다.
◦ Darknet19 YOLO v2의 성능을 언급할 때 사용되는 기본적인 네트워크로 가장 범용적으로 사용되며 빠른 속도와 높은 정확도를 고루 갖춘
네트워크이다.
◦ Resnet50 대부분의 딥러닝 아키텍쳐에서 높은 성능을 보이는 네트워크로 작은 물체 검출에 취약한 YOLO의 단점을 많이 보완해주는 네트워크이다.
다만 소개된 다른 네트워크들과는 다르게 멀티 스케일 학습이 불가능하다.
◦ Densenet201 레이어의 깊이가 가장 깊은 네트워크이며 멀티 스케일 학습을 통하여 성능을 최대로 끌어올리면 작은 물체와 큰 물체 검출 모두에
있어 우수한 성능을 보이는 네트워크이다. 그러나 깊은 만큼 다른 네트워크들에 비하여 학습과 검출속도가 2배 가량 느리다.
수집된 데이터에 모든 네트워크를 적용해 본 결과 Resnet50이 가장 우수한 성능을 보였으며, 따라서 본 논문의 연구에는 Resnet50을 사용하였다.
3.4 Resnet
네트워크가 깊어질수록 해당 네트워크가 좋은 결과를 낼 수 있도록 학습시키는 것이 어려워지는데 원인은 크게 두 가지가 있다. 첫째로 CNN이 파라미터를
업데이트 할 때 그래디언트 값이 너무 큰 값이나 작은 값이 되어 더 이상 학습의 효과가 없어지거나 학습 속도가 매우 느려지는 문제가 발생한다는 것이다.
이를 그래디언트 소실 또는 발산의 문제라고 한다. 이러한 문제를 피하기 위해서 batch normalization , 파라미터 초기값 설정 방법의
개선 등의 기법들이 적용되었지만 레이어의 수가 일정 수 이상 늘어나면 여전히 학습에 영향을 미치게 된다. 뿐만 아니라 망이 깊어질수록 파라미터의 수가
비례하게 폭발적으로 늘어나는 것도 학습을 어렵게 만드는 원인 중 하나이다. Resnet은 Kaiming He가 제안한 네트워크로 Skip connection을
이용하여 네트워크가 깊어질수록 그래디언트가 소실되거나 발산하는 현상을 방지하여 성능을 높인 네트워크이다(8). AlexNet, VGG, GoogLeNet이 이전 레이어의 결과인 피쳐맵을 바로 다음 레이어로 전달하는 순차적인 방법으로만 학습하였다면, Resnet은
VGG 를 기반으로 하되 중간과정을 건너 뛰는 Skip connection 을 사용하였다. 이는 Skip connection 을 통하여 중간과정을
건너 뛰고 직접 내려온 입력값을 순차적인 학습방법으로 얻은 출력값에 더하는 방법을 이용하여 그래디언트의 소실과 발산을 방지하자는 컨셉이다. 즉, 활성화
값을 직접적으로 전달하는 weight를 학습하는 것이 아니라 입력과 출력 사이의 차이인 residual(잔차) 혹은 perturbation(변동)을
학습시키자는 것이다. 그림 10은 Resnet에서 Residual 학습을 하는 기본 단위인 Residual block 을 표현하고 있으며, 표 4를 통하여 Resnet이 ILSVRC(ImageNet Large Scale Visual Recognition Competition)에서 다른 과거
및 최신 네트워크와 비교하였을 때 뛰어난 성능을 보이는 것을 확인할 수 있다(10).
3.5 송전설비 최적 검출을 위한 CNN 알고리즘 개발
비교대상 알고리즘보다 높은 FPS로 실시간 오브젝트 검출에 적절하고 Faster R-CNN 과 비슷한 정확도를 보이는 YOLO v2 를 아래와 같은
과정을 통하여 송전설비 영상분석에 최적화하였다.
Fig. 10. Flow chart of Residual Block
Table 4. top-5 error Rate(ILSVRC)
Method
|
top-5 err.(test)
|
VGG(6)(ILSVRC’14)
|
7.32
|
GoogLeNet(7)(ILSVRC’14)
|
6.66
|
VGG(6)(v5)
|
6.8
|
PReLU-net(8)
|
4.94
|
BN-inception(9)
|
4.82
|
Resnet(ILSVRC’15)
|
3.57
|
3.5.1 YOLO 학습을 위한 레이블링 도구
송전철탑과 다섯 가지 유형(폴리머 송전 애자, 세라믹 송전 애자, 송전 피뢰기, 스페이서 댐퍼, 항공장애표시구)의 설비에 대한 학습을 진행하기 위하여
YOLO 네트워크 입력 요구 사항을 충족하는 새로운 태깅 도구를 개발하였다. 라벨링 된 이미지는 각 설비주변에 박스를 가진다. 각 박스는 5개의 매개변수(x
= 왼쪽 위 x 좌표, y = 왼쪽 위 y 좌표, w = 박스의 너비, h = 박스의 높이 및 클래스 레이블)로 표시하며 너비와 높이는 전체 이미지에
대한 상대적인 값으로 계산된다.
3.5.2 원본 이미지 변환을 통한 학습데이터 증대
보다 다양한 피쳐 학습과 학습 데이터의 양을 증가시키기 위하여 이미지의 레이블을 변경하지 않고 원본 학습데이터를 복제 한 뒤 픽셀값을 변화시켜 새로운
학습데이터를 추가로 생성하였다. 이러한 방법을 data augmentation 이라고 하며 Alexnet부터 시작하여 현재의 네트워크에 이르기 까지
매우 보편적으로 사용되는 방법이다. 보통 학습 성능을 향상시키기 위하여 의도적으로 어려운 샘플을 생성하거나 적은 양의 학습데이터를 보완하기 위하여
사용된다.
데이터 augmentation의 간단한 예시로는 이미지 좌우반전 (Horizontal flips) 과 이미지를 랜덤하게 자르거나 스케일 하는 방법(Random
crops/scales) 또는 이미지의 채도에 랜덤하게 노이즈를 주는 방식(Color jittering), 회전, 그리고 shearing과 같은 방법이
있으며, 일반적으로 다양한 방법을 결합하여 사용한다(11). 본 연구에서 적용한 변환 내용은 좌우반전, 흑백이미지로 변환, 블러링, 솔트 앤 페퍼 노이즈 추가로 생성한 추가적인 데이터의 예시는 그림 11과 같다.
Fig. 11. Examples of new data generated by the Data Augmentation method.
3.5.3 YOLO V2 학습
학습환경은 Nvidia GTX 1080 Ti, Windows 10 x64 비트 시스템 (64 GB RAM), Microsoft Visual Studio
2015, OpenCV 3.3.1 , Nvidia CUDA v 8.0.61 이며 총 학습시간은 96 시간이 소요되었다. 또한 Nvidia의 Cudnn
라이브러리는 또한 학습 및 테스트 루틴을 가속화하는 데 사용된다(10). 학습에는 Resnet50을 사용하였으며 모델 학습에 사용되는 하이퍼 파라미터의 값으로는 batch size 는 64 , momentum은 0.9,
weight decay는 0.0005, 입력영상의 픽셀사이즈는 608x608 로 설정하였다.
3.5.4 피쳐맵 및 커널 시각화
학습이 끝난 후 네트워크의 커널과 피쳐맵을 시각화하여 네트워크의 동작을 확인해보았다. 그림 12는 송전철탑을 대상으로 학습을 마친 후의 첫번째 레이어의 커널을 시각화한 예시이다.
다음은 스페이서 댐퍼가 존재하는 이미지를 입력으로 주고 각 레이어에서의 피쳐맵을 시각화한 것이다. 하위 레이어에서는 스페이서 댐퍼의 영역이 두드러지지
않다가 그림 12의 상위 레이어로 갈수록 이미지 내에 존재하는 스페이서 댐퍼의 영역이 두드러짐을 확인할 수 있다. 그림 13과 그림 14은 같은 방식으로 항공장애표시구와 세라믹 송전 애자의 피쳐맵을 시각화한 예시이다.
Fig. 12. Examples of visualizing the filters of the first Convolutional Layer in the
learning network of transmission towers.
Fig. 13. Examples of Visualization of feature maps in the first convolution layer
(spacer)
Fig. 14. Examples of Visualization of feature maps in the 67th convolution layer (spacer)
4. 실험 결과 및 알고리즘 최적화
객체 검출을 위한 최종 모델은 iteration 마다의 train loss와 validation loss 의 변화 추세를 고려하여 선택하였다. valid
loss가 더 이상 내려가지 않고 증가하는 경향을 보이는 때를 early stop point로 잡았으며 학습 동안의 송전철탑 검출 모델과 전력 설비
검출 모델의 loss 그래프는 다음과 같다. 그림 15의 경우 56,000 iteration 부근에서 validation loss가 증가하는 경향을 보이므로 이 부분을 early stop point로
잡고 직전에 만들어진 모델을 사용하였다. 그림 16의 경우 진행한 iteration 범위 내에서 validation loss가 계속적으로 감소하였기 때문에 최종적으로 나온 모델을 사용하였다.
Fig. 15. Loss graph of transmission tower detection model in learning
Fig. 16. Loss graph of Power Facilities detection model in learning
객체 검출에 대한 성능은 정답 레이블과 검출 결과를 비교하여 충분한 영역의 겹침이 발생하였을 때를 성공, 그렇지 않은 경우를 실패로 판단하여 평가한다.
자동으로 레이블링한 박스를 area(B$_{gt}$), 검출기로부터 얻어진 박스를 area(B$_{cl}$)이라고 할 때 아래와 같이 두 박스의 겹쳐짐
정도를 측정하고, 확률 P(B$_{cl}$, B$_{gt}$) > 0.5 인 경우를 검출 성공으로 판단하는 방식이 파스칼 세계 객체 검출 경진대회에서
사용하는 방식이다.
재현율(recall)은 애자 검출에 실패하는 경우(miss detection)에 그리고 정확도(precision)는 애자가 아닌 것을 애자로 잘못
검출한 경우(false alarm)에 낮아지게 되며 재현율과 정확도가 모두 높아야 우수한 검출기라고 할 수 있다. 본 연구에서는 이미지 상의 객체의
크기가 가로 세로 70이상, 즉 넓이가 5000 이상인 객체에 대해서 탐지 하였다. 송전철탑 및 전력설비들에 대한 검출 결과는 그림 17에서 그림 20과 같다. 표 5는 송전철탑에 대한 검출 정확도이며 표 6은 다섯 가지 전력 설비에 대한 검출정확도를 보인다. 그림 19에서는 좌측 상단의 농사건축물(비닐하우스) 형상을 세라믹 애자로 오검출하는 사례를 보여준다. 이러한 원인으로 애자류(ceramic/polymer insulator)에
대한 검출 정확도가 낮아지는 현상이 발생함을 확인하였다.
Fig. 17. Detection results of polymer insulator and lightning-arrester (Green : Ground
Truth, Red : Prediction)
Fig. 18. Detection results of a spacer and a balisor (Green : Ground Truth, Red :
Prediction)
Fig. 19. A case of mistaking the agricultural plant in the upper left corner for an
insulator (Green : Ground Truth, Red : Prediction)
Fig. 20. Detection results of transmission towers (Green : Ground Truth, Red : Prediction)
Table 5. Recall and Precision rate of transmission tower detection by YOLO v2
Facility type / Statistics
|
Recall(%)
|
Precision(%)
|
transmission-tower
|
98.00
|
96.14
|
|
Average detection time (s)
|
0.09
|
FPS
|
11.39
|
Table 6. Recall and Precision rate of power facilities detection by YOLO v2
Facility type / Statistics
|
Recall(%)
|
Precision(%)
|
spacer
|
98.93
|
99.14
|
balisor
|
98.55
|
98.55
|
lightning-arrester
|
92.42
|
96.36
|
insulator(ceramic)
|
95.22
|
90.78
|
insulator(polymer)
|
94.73
|
92.98
|
|
Average detection time (s)
|
0.09
|
FPS
|
11.25
|
5. 결 론
지금까지 송전철탑 및 전력 설비(폴리머 송전 애자, 세라믹 송전 애자, 송전 피뢰기, 스페이스 댐퍼, 항공장애표시구)에 대한 검출 실험 방법과 결과를
정리하였다. 각 객체의 형상, 컬러, 텍스쳐 특성을 이용한 영상 처리 기술, 딥러닝 기반 검출기법에 관하여 살펴보았으며, 딥러닝 기법을 이용한 전력
설비의 검출 결과를 살펴보았다. 딥러닝 아키텍처 중 하나인 YOLO v2에서의 base model을 darknet19, Resnet50, densenet201
등과 같이 변경해 가면서 실험을 하였고, data argumentation과 다양한 크기의 해상도 학습을 통해 객체 크기에 강건한 모델을 만드는 데
성공하였다. 앞으로 좀 더 다양한 환경과 추가적 실험을 통해 보다 좋은 학습 망을 개발하는 연구가 필요할 것으로 보인다.
References
Seoktae Kim, 2018, Patrol Monitoring Plan for Transmission Towers with a Commercial
Drone and its Field Tests, KEPCO Journal on Electric Power and Energy, Vol. 4
Jabid Taskeed, Zia Uddin Md, 2016, Rotation invariant power line insulator detection
using local directional pattern and support vector machine, in Proc. of 2016 International
Conference on Innovations in Science, Engineering and Technology (ICISET). IEEE,
Ren, Shaoqing, 2015, Faster r-cnn: Towards real-time object detection with region
proposal networks, Advances in Neural Information Processing Systems
Kalchbrenner Nal, Grefenstette Edward, Blunsom Phil, 2014, A convolutional neural
network for modelling sentences, arXiv preprint arXiv:1404.2188
Redmon Joseph, 2016, You only look once: Unified, real- time object detection, in
Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition
Simonyan Karen, Zisserman Andrew, 2014, Very deep convolu- tional networks for large-scale
image recognition, arXiv preprint arXiv:1409.1556
Szegedy Christian, al. et, 2015, Going deeper with convolutions, in Proceedings of
the IEEE Conference on Computer Vision and Pattern Recognition
He Kaiming, 2015, Delving deep into rectifiers: Surpassing human-level performance
on imagenet classification, in Proceedings of the IEEE International Conference on
Computer Vision
Ioffe Sergey, Szegedy Christian, , Batch normalization: Accelerating deep network
training by reducing internal covariate shift, arXiv preprint arXiv:1502.03167. 2015.
He Kaiming, 2016, Deep residual learning for image re- cognition, in Proceedings of
the IEEE Conference on Computer Vision and Pattern Recognition
Shijie, Jia, 2017, Research on data augmentation for image classification based
on convolution neural networks, in Proc. of 2017 Chinese Automation Congress (CAC),
IEEE
Ali Siddiqui Zahid, 2018, Robust powerline equipment inspection system based on a
convolutional neural network, Sensors, Vol. 18, No. 11, pp. 3837-
저자소개
He received his Ph.D. from Myongji University. He has worked in Korea Electric Power
Research Institute (KEPRI) as a researcher for 30 years.
He is presently a Vice-President of Digital Solution Laboratory.
His research interests include Energy Software Platform
He received the B.S and M.S. degrees in computer science and statistics from University
of Seoul.
He has worked in Korea Electric Power Research Institute(KEPRI) as a principal researcher
for 10 years.
His research interests include SW Engineering for Robot and Drone operational system.
He received M.S. degree in Information and Mechanical Engineering from Gwangju Institute
of Science and Technology(GIST, South Korea).
His major is Computer Science on general and, in specific, Augmented Reality and Computer
Vision.
He received the B.S. and M.S. degrees in materials science from Hanyang University,
Seoul, Korea, in 1998 and 2000, respectively.
He received the M.S. and Ph.D. degrees in computer science from Michigan State University,
MI, in 2004 and 2009, respectively.
He is currently an associate professor in the Department of Computer Science and Engineering
at Sogang University.
His research interests include pattern recognition, image processing, computer vision
and machine learning.
He is a senior researcher at Korea Institute of Science and Technology Information
(KISTI, Korea).
He received M.S. degree in Information and Com- munication Engineering from Gwangju
Institute of Science and Technology (GIST, Korea).
His major is Computer Science on general and, in specific, machine learning for data
analysis.