Ⅰ. 서 론
1. 고령화 사회에 따른 개인 이동 수단의 기술 동향
자율 개인 이동 차량(Autonomous personal mobility vehicle)은 고령화를 대비하여 미래에 고령자들의 적극 적인 사회 활동을 장려할 수 있는 수단이 될 것이다. 이런 차량은 장애인과 고령자에게 안전하고 신뢰할 수 있는 이동 수단으로 자리매김하면서 독립적인 삶을 누릴 수 있도록 도와주는 중요한 기술이 될 것이다. 현재 일본의 경우 역시 이미 유례없는 고령화 사회로 접어들었다 (Nakane and Farevaag, 2004). 젊은 층이 감소하 면서 생산 활동 인구는 현저히 줄어들고 사람이 살아가는데 필요한 교통 인프라 시설 또한 지속적으로 부족 해지는 실정이다. 이러한 상황은 정부 기관에 있어서 대단히 심각한 문제로 볼 수 있다 (Lawrence, 1985). 이 러한 문제에 대한 대책으로 개인 이동 차량이 새로운 교통수단으로써 그 수요가 발생한다. 아울러 최근에는 교통 약자들에 대한 삶의 질 향상이 사회적으로 관심받고 있는 가운데, 전동 휠체어와 전동 스쿠터 같은 개 인 이동 수단의 활용이 점차 증가하고 있다. 하지만 고령자나 중증 장애인과 같이 정확한 판단 및 조향이 어 려운 사람들에게는 주행 시 사고의 발생 가능성이 여전히 크다. 이러한 사고 가능성을 감소시키고 예방하기 위하여 각종 센서가 장착되어 자동화된 운행 기술이 접목된 이동 수단이 필요하게 되었다 (Argyros et al., 2002;Kobayashi et al., 2009).
개인 이동 수단의 사고를 줄이기 위해서 가장 우선으로 라이다나 카메라와 같은 각종 센서를 이용한 주행 과 관련 장애물 인식 기술 필요하다 (Ilas, 2013). 도로 상에 있을 수 있는 차량, 사람, 자전거, 오토바이 등과 같은 장애물을 원활히 인식할 수 있는 기술들이 대표적 예로 볼 수 있다. 그러나 한편으로는 고령자와 장애 인이 사용하는 개인 이동 수단의 경우는 바퀴 크기가 일반 차량에 비해 작으므로 도로 노면 상태에 따라 조 향 제어에 더 큰 영향을 받는다. 따라서 일반 차량도 노면 상태에 따라 사고가 발생하는 상황에서 소형의 개 인 이동 수단은 도로 노면 상태를 실시간으로 인식할 수 있는 기술이 필요하다 (Kim and Ryu, 2014). 최근 들어 인공 지능을 활용한 객체 인식 기술이 다양한 분야에 빠르게 접목되고 있는 가운데 안전한 개인 이동 수단을 개발하기 위한 기술에도 활용이 필요할 것으로 보인다.
2. 인공 지능을 활용한 도로 노면 상태 객체 인식 기술
인공 지능을 활용하여 객체를 인식하는 방법으로는 비지도 학습과 지도학습의 형태로 구분할 수 있다. 비 지도 학습의 경우 우선 Akagic et al.이 제안한 방법으로 Gray Level의 이미지에 Otus 기법을 적용한 알고리즘 이다 (Akagic et al., 2018). 이 알고리즘의 특징은 비지도 학습을 통해 Signal-to-Ratio가 낮은 상황에서 강경한 성능을 나타내도록 했다는 점이다. Li et al.은 다중 스케일 융합 방식을 통해 균열을 찾을 수 있는 인공 지능 알고리즘을 제안하였다 (Li et al., 2019). 이 알고리즘은 영상 내에서 균열의 후보군을 추출하기 위해서 가우 시안 블러링 기법과 Windowed Minimal Intensity Path 방식을 사용하였고, 여러 스케일 영상에서 얻은 후보군 을 조합하여 균열의 영역을 찾는 방법을 사용했다. Amhaz et al.은 영상에서 균열이 있는 영역을 경로로 생각 하고 배경이 있는 영역을 지나가는 경로보다 더 작은 손실 값을 가질 것이라는 가정으로 알고리즘으로 개발 하였다 (Amhaz et al., 2016). 구체적으로 Minimal Path Selection 알고리즘을 사용하였고, 최종적으로는 균열의 Skeleton 정보와 두께 정보까지 추정할 수 있도록 하였다.
다음으로 지도학습의 형태로 구성된 알고리즘이다. 우선 Shi et al.은 Random Structure Forest 방식을 기반 으로 하여 균열 탐지 알고리즘을 제안하였다 (Shi et al., 2016). 이 알고리즘은 경계가 균일하지 않거나 복잡 한 형상을 가진 균열 영상에서 효율적으로 동작하는 특징이 있다. 또한, 논문에 사용한 118장의 도시 도로 균열 영상을 Crack Forest Dataset (CFD)으로 공개하여 다른 많은 연구자가 기술을 개발할 수 있도록 기여하 였다. 하지만 최근 들어서는 앞서 소개한 고전적인 방법과는 달리 딥러닝를 활용한 지도학습 방식이 활발하 게 이루어지고 있다. 그 중에서도 객체를 인식하는 방법은 주로 Object Detection을 기반으로 하는 방식과 Pixel-level Segmentation을 하는 방식으로 구분할 수 있다.
Object Detection 알고리즘은 많은 종류들이 있지만 그중 Faster R-CNN, SSD, YOLO 등이 대표적이다 (Ren et al., 2015;Liu et al., 2016;Redmon et al., 2016). Li et al.은 Faster R-CNN방식을 사용하여 도로 노면 파손 객체 인식 알고리즘을 제안하였다 (Li et al., 2019). 총 6가지 종류의 도로 노면 파손을 구분하면서 동시에 영 상 내에서 파손 영역을 인식할 수 있다. 총 5,966장의 영상을 사용하였고 평균 정확도는 96.3%로 우수한 성 능을 보였다. Maeda et al.은 고속 연산을 위해 SSD를 기본 알고리즘으로 하여 Backbone Network를 MobileNet 과 Inception v2를 각각 사용하여 성능을 비교하였다 (Maeda et al., 2018;Howard et al., 2017;Szegedy et al., 2016). 이 성능 비교를 위해 스마트 폰으로 9,000여 장의 영상을 촬영하였고, 15,000여 개의 객체를 표시하였 다. 이를 바탕으로 비교한 결과 MobileNet을 사용하였을 때, 30.6ms 소요되는 것으로 드러났다. 하지만 이 같 은 Object Detection 방식의 알고리즘은 차량 또는 사람 등과 같은 객체를 인식하기에는 유리할 수 있지만, 균 열과 같이 형상이 길고 굴곡이 있는 형태에서는 제대로 작동하지 않는 것으로 나타났다 (Cao et al., 2020).
Pixel-level Segmentation 방식은 앞서 언급한 Object Detection 방식과 같이 Convolutional Neural Networks (CNN)를 주된 연산 방식으로 사용하지만 최종적으로 화소 단위의 분할을 한다는 점이 가장 큰 차이다. Fan et al.이 소개한 알고리즘은 입력 영상을 Patch로 나누고 이를 여러 CNN과 Max-pooling 연산을 수행한다 (Fan et al., 2018). 그리고 끝으로 3단계의 Fully Connected Layer를 통과 후 1×1에서 5×5의 이진 영상을 출력으로 얻는다. 전체 96장의 영상으로 학습을 수행했고, 60장으로 검증하였다. 그 결과 90% 이상의 정확도를 보이는 것으로 나타났다. Jenkins et al.이 제안하는 알고리즘은 Auto-encoder 방식을 기본으로 하는 U-Net을 사용한다 (Jenkins et al., 2018;Ronneberger et al., 2015). 이는 Encoder와 Decoder의 두 단계로 구성이 되어있는데, Encoder 단계에서는 주로 특징 지도를 생성하는 역할을 하고, Decoder 단계에서는 특징 지도를 활용하여 Segmentation을 위한 각 화소 단위의 확률분포를 추정하는 역할을 한다. CFD에서 제공하는 데이터를 사용하 였고, 총 80장의 영상으로 학습을 수행하였으며 20장의 영상으로 검증하였다. 그 결과 92.46%의 정확도, 82.82%의 재현율 그리고 87.38%의 F1-Score를 보여주었다. 이와 유사한 방법으로 Zou et al.은 DeepCrack이라 는 알고리즘을 제안하였다 (Zou et al., 2019). 이 알고리즘의 특징은 Encoder와 Decoder 단계 사이에 Skip-layer 를 사용하여 스케일마다 가중치가 업데이트되도록 심층 신경망을 설계했다는 점이다. 이로 인하여 기존의 다른 알고리즘에 비해 성능이 매우 향상되었다. Bang et al.은 블랙박스 카메라를 통해 수집한 영상으로 Auto-encoder 형태의 심층 신경망 알고리즘을 제안하였다 (Bang et al., 2019). 학습을 위해 Full HD 영상에서 균열 영역을 표시하여 427장의 학습용 영상과 100장의 테스트 영상을 확보하였다. 이를 활용하여 Transfer Learning 기반의 학습을 수행했고, 그 결과 77.68%의 평균 정확도를 나타냈다.
본 논문에서는 지금까지의 연구와는 다르게 새로운 형태의 신경망 구조를 제안하고자 한다. 지금까지의 Pixel-level Segmentation의 구조는 Encoder 단계와 Up-sampling 또는 De-convolution 연산을 수행하는 Decoder 단계로 이루어졌다. 이런 구조는 화소 단위로 객체를 분할 할 수 있다는 점에서 정확도가 높지만, 신경망이 깊어질수록 연산 속도가 증가하는 단점이 있다. 이에 본 논문에서는 Encoder 단계만을 사용하여 Pixel-level Segmentation을 수행하지만, Auto-encoder 방식보다 더 나은 성능을 갖는 심층 신경망 구조를 제안하고자 한 다. 따라서 본 논문에는 우선 Multi-scale Learning을 위해 구성한 학습용 영상 세트를 소개한다. 다음으로 Auto-encoder 방식과 Encoder 단계만 사용하는 알고리즘 방식의 구조를 설명한다. 끝으로 실험 결과를 분석하 고 결론을 도출하도록 한다.
Ⅱ. 도로 노면 파손 영상데이터
1. 도로 노면 파손 영상 데이터의 확보
도로 노면 파손은 가로 및 세로 방향 균열, 거북 등 균열, 포트홀, 러팅, 라벨링과 같이 여러 형태로 나타난 다. 이러한 파손 형태 중 어떤 대상을 인식하는 알고리즘의 개발 여부는 개발자의 의도에 따라 다양하게 결정 된다. 우선 Jo. et al.의 경우는 포트홀만을 인식할 수 있도록 알고리즘을 설계하였고, Chun et al.의 경우에는 균열과 포트홀을 모두 파손으로 인식할 수 있게 개발하였다. (Jo et al., 2015;Chun et al., 2018). 또한 Eisenbach et al.의 논문에서는 Road and Transportation Research Association 규정에 따라 총 5가지로 분류하였는데 균열, 포트홀, 패치와 같은 형태를 구분할 수 있도록 심층 신경망을 개발하였다 (Eisenbach et al., 2018). 끝으로 Maeda et al.은 도로 노면 파손 영상을 스마트폰으로 촬영하여 수집한 후 총 8종류로 구분하였다. 선형 균열과 피로 균열은 물론이고 도로 마커의 형태까지 인식하기 위하여 영상 데이터를 수집하고 분류하였다. 본 논문에서는 이들 중 Maeda et al.이 사용한 데이터를 사용하였고 이는 (https://github.com/sekilab/RoadDamageDetector)에서 내 려받을 수 있다 (Maeda et al., 2018). 이 데이터를 사용한 이유는 본 연구의 최종적인 목표가 모바일 형태의 장치로부터 영상을 취득하고 이를 활용하여 도로 노면 파손을 인식하는 알고리즘을 개발하는 것이기 때문이 다. 가장 좋은 방법은 개인 이동 수단 또는 전동보장구에 장착된 카메라로 영상을 취득하여 이를 활용한 실험 을 수행하는 것이다. 하지만, 현재까지 시중에 개발된 개인 이동 수단과 전동보장구를 활용하여 데이터를 수집 하기 위해서는 시간과 비용 측면에서 제약이 따르게 된다. 따라서 블랙박스와 같이 모바일 카메라를 사용하여 취득한 영상을 활용하는 것이 유사한 실험 조건을 모사하면서 많이 데이터를 확보할 수 있는 장점이 있다.
2. Segmentation을 위한 데이터의 생성
본 논문에서 사용하는 도로 노면 파손 영상은 <Fig. 2>와 같다. Maeda et al.이 제공하는 영상 데이터 중에 서 D00, D10, D20, D40이 포함된 영상을 선별하였다. 그리하여 1,650여 장을 확보하였고 그중 1,500여 장을 학습용으로 나머지 150여 장을 검증용으로 사용하였다. 본 논문에서는 기존에 제공되는 영상을 그대로 사용 하지만, Ground Truth 정보는 <Fig. 1>과 같이 새롭게 생성하였다. 기존 8종류의 분류 기준 대신 도로 파손 여부만을 판단하는 2진 분류체계를 사용하였다. 따라서 영상데이터 세트는 정상 영역과 파손영역만을 구분 할 수 있다. 다음으로 기존의 Bounding Box 형태로 도로 노면 파손영역을 표시하는 대신에 Segmentation의 형태로 파손영역을 표시하도록 하였는데, 그 이유는 Segmentation의 형태가 Bounding Box의 형태보다 더 정 확하게 파손영역을 추출하기 때문이다. 차량용 블랙박스 카메라로 촬영을 할 때 영상 내 파손영역을 Bounding Box의 형태로 도로 노면 파손을 표시하게 되면 정상 영역까지 포함된다. 실제로 <Fig. 2>와 같이 도로 노면 파손영역을 Bounding Box로 표시할 경우 Segmentation으로 표시하는 경우보다 큰 면적을 포함한 다. 이를 통해 영상에서 정확한 손상영역을 추출하기 위해서는 Segmentation 방식이 유리하다는 점을 알 수 있다. 끝으로 Labeling 작업은 LEAR Image Annotation Tool을 활용하여 수행했고, 작업자들은 본 논문의 저자 들이다 (Marszalek et al., 2007). 본 논문에서는 Maeda et al.이 제공하는 Ground Truth 정보와 차별되게 제작하 여 독자적인 도로 노면 파손 학습용 영상데이터를 사용하여 실험을 수행한 것이 가장 큰 차이점이다.
3. Multi-scale 학습을 위한 데이터의 구성
본 논문에서 학습을 위해 사용한 데이터의 구성은 Maeda et al.에서 제공하는 것과 다르게 Multi-scale Grid Cell 방식을 통해 학습을 수행한다는 점이다. 기본적으로 하나의 입력 영상에는 하나의 Ground-Truth 영상으 로 학습이 수행된다. 하지만 본 논문에서는 하나의 입력 영상에 4개의 Ground-Truth 영상으로 확장하여 학습 을 수행한다. 확장하는 방법은 Ground-Truth 영상을 Cell 형태로 분할하여 Grid Image를 만드는 것으로 Cell의 크기는 2×2, 4×4, 8×8, 16×16이 된다. 그리고 각 Cell의 영역에 해당되는 Ground-Truth 영상의 Label면적이 Cell의 면적에 절반 이상을 차지할 경우 해당 Cell은 도로 노면 파손영역으로 간주한다. 본 논문에서 사용하 는 입력 영상의 크기가 576×576인 점을 고려해보면, Grid Image의 크기는 36×36, 72×72, 144×144, 288×288이 된다. 따라서 본 논문에서는 집중적인 학습을 위하여 하나의 입력 영상에 4가지의 Grid Image를 사용하여 학 습되도록 <Fig. 3>와 같이 영상데이터를 구성하였다.
4. 다양한 학습 효과를 위한 데이터의 확장
본 논문에서는 입력 영상의 Augmentation을 통해 학습효과를 향상시키고자 <Fig. 4>와 같이 총 3가지의 방 법으로 영상에 변화를 주었다. 첫째는 차량 주행에서 일어날 수 있는 명암을 반영하기 위하여 색상의 밝기에 변화를 주었다. 둘째는 고속 주행 중 촬영 시 선명하지 않은 영상이 입력으로 들어올 경우를 대비하여 임의 의 Blur를 발생시켰다. 끝으로 외부 촬영 시 조명 변화에 의한 영향을 최소화하기 위해 Global Contrast Normalization을 수행하였다. 이 같은 연산으로 데이터의 확장을 수행하였고 다양한 환경에서도 알고리즘이 동작할 수 있도록 학습을 진행하였다.
Ⅲ. 도로 노면 파손 탐지 심층신경망
1. Auto-Encoder Type VS Encoder Type Segmentation 구조 비교
본 논문에서 Auto-encoder 방식과 Encoder 방식에 대한 Segmentation 성능을 비교하고자 한다. 우선 <Fig. 5>와 같이 Auto-encoder 방식의 구조는 Encoder 단계와 Decoder 단계로 구분하여 심층 신경망을 구성하고 최 종 신경망에서 Pixel-level로 Segmentation을 하도록 Softmax를 Activation 함수로 사용한다. 일반적으로 이 같 은 신경망 구조는 Encoder 단계에서 Max-pooling 또는 Convolution 연산을 사용하여 영상의 크기를 축소하는 과정을 거친다. 반대로 Decoder 단계에서 Up-sampling 또는 De-convolution 연산을 이용하여 영상의 크기를 확 대하는 과정을 거친다. 그리고 최종적으로 Encoder 단계와 Decoder 단계를 거쳐 입력 영상의 크기와 동일하 게 얻어진 출력 영상은 도로 노면 파손의 영역을 표시하게 된다.
하지만 Auto-encoder 구조의 단점은 심층 신경망 수의 증가로 인한 느린 연산 속도라고 볼 수 있다. 이를 보완하기 위해서는 먼저 신경망의 구조를 간단히 하는 방법이 있다. 그래서 본 논문에서는 <Fig. 6>과 같이 Auto-encoder 구조에서 Encoder 단계만을 사용하여 그 연산 속도의 향상을 도모하고자 한다. 이 같은 방법은 Auto-encoder 심층 신경망의 구조가 대칭일 경우 계산량이 절반밖에 되지 않는다는 장점이 있다. 그렇지만 신경망의 수가 줄어드는 만큼 정확도가 떨어질 수 있으므로 본 논문에서는 Decoder encoder를 대신해 Classification 단계를 사용하였다. 이는 Encoder 단계에서 여러 Output을 만들어 출력으로 연결하는 신경망을 추가하였다. 본 논문에서 이러한 신경망들을 Classification 단계라 하였고, 이 단계는 총 4개의 Output으로 구 성되고 각 Block의 최종 신경망으로부터 만들어졌다. 4개의 Output은 각각의 도로 노면 파손의 영역에 대한 정보를 가지고 있어 최종적으로 이 정보를 취합하여 도로 노면의 파손 여부를 판단한다.
본 논문에서는 동일한 Encoder 단계 심층 신경망을 공통으로 사용하여 Decoder 단계를 연결했을 때와 Classification 단계를 연결했을 때를 중점적으로 비교하고자 한다. 평가 지표는 2가지로 두었다. 첫째 심층 신 경망의 정확도를 평가하기 위해 Long et al.이 사용한 지표를 차용한다 (Long et al., 2015). 그의 논문에 따르 면 nij는 class j에 속해 있을 것으로 예측된 class i의 모든 화소 수를 나타낸다. ncl는 class의 개수를 가리키고, ti는 class i에 속해 있는 모든 화소 수를 지칭한다. 둘째 연산 속도를 측정하기 위하여 검증용으로 사용하는 150여 장의 영상을 처리하는데 소요되는 평균 시간을 측정하였다. 이 계산에서 첫 번째 영상을 처리하는 시 간은 제외한다. 아울러 심층 신경망을 구성하는데 사용되는 파라미터의 수를 비교하여 GPU의 Computing Load를 함께 비교하였다.
2. 심층 신경망을 활용한 도로 노면 파손 탐지 알고리즘의 구현과 학습 조건
본 논문에서 사용하는 Encoder 단계의 구조로 사용되는 심층 신경망 종류는 DenseNet121이다 (Iandola et al., 2014). 이 심층 신경망은 5단계에 걸쳐서 Down Sampling이 수행된다. 그 결과 576×576의 입력 영상을 사 용할 경우 출력 영상의 크기는 18×18이 된다. 하지만 본 논문에서는 이들 심층 신경망의 4단계까지만 사용 하여 최종 출력 영상의 크기가 36×36이 되도록 하였다.
Decoder 단계에서는 다시 총 4단계를 거쳐 Up Sampling과 3×3의 Convolution, Batch-normalization, ReLU Activation 연산을 수행하여 원래의 영상 크기를 복원하였다. 그리고 마지막으로 Ground Truth와 매치시켜서 가중치가 업데이트되도록 하였다. 그 반면에 Classification 단계에서는 각 Block의 마지막 신경망에 1×1의 Convolution, Batch-normalization, Softmax 연산을 먼저 수행한다. 그렇게 얻어진 4개의 Output에 앞서 만들어 놓은 4개의 Grid Image를 크기별로 매치시켜 가중치가 업데이트되도록 하였다.
학습은 Holdout 방식으로 수행하였고, 초깃값은 모두 Xavier로 설정하였다 (Glorot and Bengio, 2010). 최적 화 함수는 ADAM을 사용하였고 이에 따른 Learning Rate는 0.001, beta-1은 0.9, beta-2는 0.999로 설정하였다 (Kingma et al., 2015). 신속한 학습 결과 분석을 위해 Early Stoping 방식을 사용하여 Loss 값을 추이에 따라 종료 여부를 판단할 수 있도록 하였다 (Prechelt, 1998). 학습 환경으로는 Windows 10 기반의 keras를 사용하 였고, 개발용 PC 사양은 i7-7700, 32GB RAM, NVIDIA-RTX 2080TI이다.
학습할 때 Auto-encoder 방식에서는 사용한 Loss 함수는 Binary Cross-entropy다. 하지만 Encoder 방식에서는 아래의 식과 같다. 차이점은 각 Output마다 Binary Cross-entropy를 함수로 사용하고, 최종적으로 이들을 합한 다는 점이다. i는 화소의 위치를 가리키고, s는 심층 신경망의 Output 단계를 의미하며. N(s)은 각 Output 단계 에서 전체 화소 수를 나타낸다. ys, i는 s단계에서 i위치의 label 값으로 0 또는 1이 되고 P(ys,i)는 동일한 위치 에서 확률 값이 된다.
-
i: Pixel Position
-
s: Stage, {1, 2, 3, 4}
-
N(s): Number of Pixel at the Stage, {288×288, 144×144, 72×72, 36×36}
-
ys,i: label at the stage
-
P(ys,i): Prediction Probability at the stage
추론할 때는 Block 별로 생성된 4개의 Output을 더하는 방법을 사용한다. 각 Block 별로 만들어진 Output의 크기는 서로 다르지만, 이 크기를 모두 입력 영상과 동일한 크기인 576×576으로 변경한다. 이때 보간 방식은 Linear Interpolation 방법을 사용한다. 각 Block 별 Output의 채널 수는 2이고, 채널 별로 더하도록 하여 최종 적으로 576×576×2의 Image 형태의 결과를 얻는다. 이 Image는 0~4의 실수로 이루어져 있으나 최종적으로 Normalization을 수행하여 0~1의 실수로 이루어진 Result Image를 구한다. 그리고 두 번의 채널에서 확률값이 0.5보다 큰 위치에 도로 노면 파손이 존재하는 것으로 간주한다.
Ⅳ. 실험 결과
1. 학습 결과 비교
본 논문에서는 Auto-encoder 방식과 Encoder 방식 간의 성능 비교를 목적으로 학습을 수행하였다. 이를 위하 여 학습용 데이터와 검증용 데이터를 구분하여 학습을 수행하며 검증용 데이터의 Loss를 분석하였다. 먼저 <Fig. 7>의 (a)는 Auto-encoder 방식으로 학습을 수행했을 때 심층 신경망의 Train Loss와 Validation Loss 값을 나타낸 것이다. 그래프에 따르면 학습은 Epoch가 대략 40번째가 되면 학습이 종료되고 loss 값은 대략 0.1 미만 으로 수렴한다. 그중 가장 낮은 Validation Loss 값은 0.081이 되겠다. 이에 반해 오른쪽 그림은 Encoder 방식으 로 학습을 수행했을 때 심층 신경망의 Train Loss와 Validation Loss 값을 나타낸 것이다. 이 방식도 Epoch가 40번째에 근접했을 때 학습이 종료되는 것을 확인할 수 있었다. 그리고 이 그래프에 나타난 바와 같이 Encoder 방식을 사용할 경우는 loss 값이 0.4에 수렴하는 것을 확인할 수 있는데, 이는 Binary Cross-Entropy 값의 4개를 모두 합한 값을 Loss로 설정하였기 때문이다. 그리고 이 방식에 가장 낮은 Validation Loss는 0.346이 되겠다.
2. 인식 성능 비교
앞서 수행한 학습 결과 중에서 Validation Loss가 가장 낮은 심층 신경망의 가중치를 선별하여 평가하였고, 그 결과는 <Table 1>과 같다. 두 방식으로 동일한 심층 신경망을 두고 실험을 수행하고 지표에 따라 결괏값 들을 비교할 경우, Pixel Accuracy, Recall 지표에서 Auto-encoder 방식이 높은 것으로 나타났다. 반면에 Mean IU, Mean Accuracy, Frequency Weight IU, Precision에서는 Encoder 방식이 우수한 것으로 드러났다. 그중에서 도 Mean Accuracy가 가장 큰 폭으로 향상된 것으로 보아 평균적인 정확도가 높아진 것으로 판단된다.
3. 연산 속도 비교
끝으로 앞서 사용한 심층 신경망 가중치의 연산 속도와 파라미터를 비교하고자 한다. 검증용 데이터를 대 상으로 실험을 수행한 결과는 <Table 2>와 같다. 파라미터의 단위는 Million이고 Elapsed Time의 단위는 millisecond이다. Auto-encoder 방식의 파라미터는 Encoder 단계와 Decoder 단계만을 포함하고, Encoder 방식의 파라미터는 Encoder 단계와 Classification 단계를 포함하여 계산하였다. 또한, 소요 시간의 측정 기준은 영상 을 입력하여 최종 출력인 576×576×2의 영상을 생성하기까지 걸리는 평균 시간이다. 그 결과 평균적으로 Encoder 방식을 사용했을 때가 Auto-encoder 방식을 사용했을 때보다 파라미터의 수는 59.2% 감소했고, 연산 속도는 11.9% 향상되었다.
Ⅴ. 결 론
1. 고속 연산을 위한 정확한 심층 신경망 구조 설계
본 연구에서는 도로 노면 파손 객체 인식을 위한 새로운 심층 신경망 알고리즘을 제안하였다. 이 알고리 즘을 개발하기 위해 기존의 영상을 새롭게 구성하였다. 기존처럼 Bounding Box의 형태로 되어있는 경우는 인식하고자 하는 영역 외에 다른 불필요한 영역을 포함하고 있어 정확한 도로 노면 파손영역의 추출이 어렵 다. 이를 개선하고자 새롭게 Label 작업을 수행하였고, 총 1650여 장의 학습용과 테스트용 영상데이터 세트 를 확보하였다. 다음으로 이를 활용하여 의미론적 분할 알고리즘을 개발하였다. 현재까지 의미론적 분할 알 고리즘은 주로 Auto-encoder 방식을 사용하였으나 느린 연산 속도가 단점이었다. 이를 개선하기 위하여 본 논문에서는 심층 신경망을 수정하여 Encoder 방식으로 의미론적 분할을 수행하는 방법을 제안하였다. 그 결 과 Pixel Accuracy, Recall을 제외하고 Mean Accuracy, Mean IU, Frequency Weighted IU, Precision에서 모두 높 은 성능을 보였다. 또한, 파라미터의 수도 대폭 감소시켜, 연산 속도 또한 향상시켰다. 이렇게 개발된 알고리 즘을 다양한 영상에 적용해 보았다. 영상들은 총 4가지의 종류로 구분되는데, 선형 균열만 있는 영상, 선형 균열과 거북등 균열이 있는 영상, 거북 등 균열만 있는 영상, 거북 등 균열과 포트홀이 있는 영상이 되겠다. 적용한 결과는 <Table 3>과 같고, Encoder 방식이 Auto-encoder 방식보다 Ground Truth와 유사하게 나오는 것 을 확인할 수 있다. 결과적으로 Encoder 방식을 사용하였을 때, 정확도와 속도는 향상이 되었지만, Recall은 낮아진다. 이는 두 신경망 구조의 단순 비교를 위해 Decoder 단계와 Classification 단계의 신경망을 단순한 형 태가 설계하였기 때문으로 예상한다. 앞으로 이를 향상시킬 수 있도록 신경망의 형태를 수정 보완이 필요할 것이다.
Encoder 방식으로 개발된 알고리즘을 추가 영상에 적용하여 실험을 수행하였다. 추가 실험은 German Asphalt Pavement Distress Dataset (GAPs)에서 제공하는 데이터를 사용한다 (Eisenbach et al., 2018). 이 영상은 라인 카메라를 통해 촬영된 고해상도의 영상으로 크기는 1920 × 1080이다. 블랙박스 형태와 같이 주행 방향 을 바라보고 촬영하는 영상과 달리 노면을 바라보고 촬영한 영상으로 본 연구에서 사용한 학습 데이터와는 분명한 차이가 있다. 하지만 유사한 도로 노면 파손 영상인 점을 고려하여 인식 성능을 실험해 보고자 한다. GAPs의 데이터 중에 도로 노면 파손이 있을 것으로 판단되는 영상을 임의로 100장을 선별하여 실험을 수행 하였다. 그 결과는 <Table 4>와 같이 나타났다. 결과에서 드러난 것과 같이 붉은 색 영역이 알고리즘이 인식 한 도로 노면 파손영역인 것으로 비록 학습에 사용한 영상과 차이가 있더라도 도로 노면 파손을 인식할 수 있다는 점을 확인하였다.
2. 향후 연구 계획
본 연구에서는 도로 노면 파손을 인식하는 알고리즘을 구현하였다. 이를 바탕으로 향후에는 도로 상황에 서 주로 발견될 수 있는 차량, 오토바이, 사람 등을 인식할 수 있는 객체 인식 알고리즘과 융합된 심층 신경 망이 필요할 것으로 예상한다. 그뿐만 아니라 급정지 시 발생하게 되는 바퀴 자국과 노후 차량으로 인한 누 유 또한 안전 위험요소로 분류될 수 있어 이 또한 간과할 수 없다. 이와 관련하여 현재 자율 주행 분야에서 는 도로 주행에 방해가 되는 장애물을 인식하고 회피하는 알고리즘에 관한 연구가 활발히 진행 중이다. 이런 기술들은 최근 들어서 주목받고 있는 Personal Mobility 분야에도 적용될 것으로 예상한다. 실제로 개인 이동 수단에 도로 노면 파손 인식 기술과 장애물 회피 및 제어 기술과 연계된다면 향후 더욱 안전한 개인용 자율 주행 이동 수단이 될 것으로 기대한다. 이를 위하여 개인 이동 수단을 분류하고 각각의 전동보장구에서 취득 한 영상을 다양한 환경조건에서 확보하여 알고리즘의 성능평가의 수행할 예정이다.