1. 서론
최근에 도시의 대형화에 따른 도심개발 공사 증가와 기반 시설의 노후화로 인한 싱크 홀과 같은 갑작스러운 지상붕괴, 배관의 매설위치를 파악하지 못하여 노후화된 배관을 찾지 못하여 공사 중에 가스 배관과 같은 중요한 배관의 파손 등의 문제가 발생하고 있다[1]. 이러한 이유로 지하 공간에 대한 탐지가 필요하여 GPR(Ground Penetrating Radar)[2]과 같은 지하 탐지 기술이 주목받고 있다. 하지만 GPR 영상은 판독에 있어서 기술적인 문제가 있다. 도 시도로의 다양한 지하 물체가 종종 지하 배관과 같은 유사한 반사 신호를 만들기 때문에 GPR 영상 판독은 숙련된 전문가의 주관적 판단에 좌우된다. 또한 복잡한 지형이나 지하수, 예기치 못한 오염물로 인해 영상 판독이 더욱 어려워질 수 있다[3].
이러한 문제를 극복하기 위해 본 논문에서는 최근에 영상 처리 분야에 많이 활용되는 머신 러닝(Machine learning) 기반의 방법을 사용하고자 한다. 최근에는 다양한 머신 러닝 기술 중 딥러닝(Deep learning)을 이용한 연구가 활발히 진행되고 있다. 특히 딥러닝 기반의 CNN(Convolutional Neural Network)을 활용한 이미지 분류에 대한 성능은 기존의 이미지 분류 알고리즘보다 월등히 좋은 모습을 보이고 있다. CNN기반 딥러닝 기술로는 대표적으로 AlexNet[4], VggNet[5], Inception[6] 등과 같은 다중 클래스 분류 모델들이 있다. 또한 많은 양의 데이터를 활용하여 영상, 이미지 분류에서 좋은 성능을 내는 Pretrained CNN모델을 활용하는 ImageNet[7]은 데이터가 많지 않은 이미지 및 영상의 분류에서도 좋은 성능을 내고 있다. 본 논문에서는 GPR영상 데이터가 충분히 많지 않기 때문에 Pretrained CNN모델 중 Inception V1 모델을 사용하여 모델을 학습시킨다. 또한 본 논문에서는 원본 GPR 영상을 학습에 사용하기는 어렵기 때문에 원본 GPR 영상에서 명확하게 배관이 존재하는 영역, 존재하지 않는 영역을 추출하고 이를 각각 라벨링하여 학습데이터 및 검증데이터를 구축하였다.
본 논문의 구성은 다음과 같다. 2장에서는 관련 연구인 CNN과 사용한 모델인 Inception V1에 대해서 설명한다. 3장에서는 실험환경, 모델 학습, 배관 검출 과정을 설명하고 4장에서 실험 및 실험 결과를 제시하고 5장에서 요약 및 결론을 맺는다.
2. 관련 연구
2.1 CNN(Convolutional Neural Network)
CNN은 최근 딥러닝 기반의 영상 및 이미지 인식에서 좋은 성능을 보여주고 있다. CNN은 convolutional layer, sampling layer, dropout layer, fully connected layer 등을 여러 층으로 쌓아서 만들어진 구조를 갖는다. 대부분의 모델들이 여러 convolutional layer를 거치고 나온 feature map들을 다시 convolutional layer를 거치도록 하거나 sampling, pooling layer를 거치도록 깊게 연결 되어 있고 마지막 하단부에는 fully connected layer를 거치도록 하여 입력된 영상 및 이미지의 종류를 판별하게 된다[8].
(그림 1) 추상화한 Deep CNN 모델 구조(Figure 1) Abstracted Deep CNN model structure
그림 1은 추상화한 Deep CNN 모델의 구조를 보여주고 있다. 그림에서 처음에 있는 합성곱 계층(convolutionallayer)은 필터(혹은 커널)에 의해서 특징을 추출하여 특성맵(feature map)들이 생겨나게 된다. 이 필터는 가중치 값을 가지는 2차원의 값으로 이루어져 있는데 여러 특징들을 추출하고자 하면 필터의 개수를 조정하면 된다. 서브 샘플링 계층(subsampling layer)은 feature map의 크기를 줄여서 연산량을 감소시킬 수 있는데 보통 max-pooling 방식을 사용하기 때문에 convolution, subsampling 과정을 여러 번 거치게 되면 좀 더 입력한 이미지를 대표하는 특징들을 얻을 수 있게 된다.
CNN에서 네트워크가 깊고 넓어지게 되면 convolution, subsampling 과정을 반복적으로 거치게 되고 이를 통해 점점 작아진 feature map 내부에 입력한 이미지의 특징이 압축된다. 하지만 이렇게 압축되고 네트워크의 망이 깊어지다 보면 학습한 이미지에 대해서만 과 적합(overfitting)되는 문제가 발생할 수 있다. CNN에서는 문제를 예방하기 위해서 드랍아웃 계층(dropout layer)을 사용한다. dropout layer는 연결되어 있는 뉴런들을 일정한 비율로무시하는 방식으로 추출된 모든 특징들을 학습에 반영하지 않도록 하여 과적합되는 문제를 예방 할 수 있다. CNN에서는 마지막 layer로 fully connected layer를 두는데 이 layer는 연결되어 있는 뉴런들을 통해서 추출된 특징 값들을 softmax 함수를 통해서 분류하기 위해 사용된다.
2.2 Inception V1(GoogleNet)
2014년에 발표된 Inception V1 모델의 특징은 네트워크가 깊어지고 넓어졌다는 점이다. 모델 네트워크의 깊이가 깊어지고 넓어질수록 모델의 학습 능력이 증가하여 더 좋은 성능을 낼 수 있기 때문에 CNN 모델 구조의 대세를 이루게 되었다. 하지만 네트워크가 깊어지게 되면 적절한 파라미터, 가중치 값을 찾지 못한다면 overfitting 문제에 빠질 수 있고, 연산량 또한 기하급수적으로 증가하게 되어 학습에 시간이 너무 오래 걸리게 된다. 그래서 Inception V1 모델에서는 Inception 모듈을 통해서 이러한 문제를 해결하고자 했고 그 성능의 우수함을 2014년ILSVRC 대회에서 입증하였다[6].
Inception V1에서 사용한 Inception 모듈은 N IN(Network In Network) 구조를 따른다. 기존 CNN 모델들은 필터를 통한 특징 추출은 우수하지만 선형적이기 때문에 선형적이지 않은 특징을 추출하기에 어려움이 있었다. 이 부분을 극복하기 위해서 feature map의 개수를 늘려야 하는데연산량이 증가하게 되는 문제가 있기 때문에 N IN은 convolution을 하기 위해서 필터 대신에 MLP(Multi Layer Perceptron)를 사용하여 특징을 추출하도록 하였다[9].
2.3 ImageNet Pretrained Model
ImageNet 데이터 집합으로 미리 훈련된 Pretrained 모델들은 사용자가 원하는 모델을 학습시킬 때 아래 그림 2와 같은 두 가지 방법을 사용하여 재학습시킬 수 있다.
(그림 2) Feature Extraction과 Fine-Tuning [10](Figure 2) Feature Extraction and Fine-Tuning
첫 번째로 특징 추출(Feature Extraction) 방법이 있는데 이 방법은 Pretrained 모델의 fully connected layer를 제외한 다른 layer의 가중치는 고정시키고 fully connected layer의 가중치만 갱신하여 훈련시키는 방법이 있다. 두 번째 방법으로는 파인 튜닝(Fine-tuning)으로 fully connected layer를 주어진 데이터로 재학습 시킨 fully connected layer로 교체할 뿐만 아니라 fully connected layer를 제외한 다른 layer 모두 혹은 일부를 주어진 데이터로 재학습시키는 방법이 있다[10].
Feature Extraction 방법에 비해서 Fine-tuning방법은 전체적인 모델의 가중치를 원하는 데이터에 맞는 가중치로 바꾸기 때문에 더 좋은 성능을 기대 할 수 있다. 따라서 본 논문에서는 Inception V1 모델을 사용하여 Fine-Tuning 방법을 사용한다.
3. 본론
본 논문에서는 학습에 사용한 데이터는 그림 3과 같은 원본 GPR 영상을 그대로 학습에 사용할 수 없기 때문에 원본 GPR 영상에서 명확하게 배관이 존재하는 영역과 존재하지 않는 영역을 추출하여 라벨링한 뒤 사용한다. 이렇게 원본 GPR에서 추출된 배관이 존재하는 영상은 그림 4과 같은 포물선 모양을 나타내고 배관이 존재하지 않는영상은 그림 5와 같은 패턴을 나타낸다.
(그림 3) 원본 GPR 영상(Figure 3) Origin GPR image
(그림 4) 배관이 존재하는 추출된 영상(Figure 4) Extracted image with pipe
(그림 5) 추출한 배관이 존재하지 않는 영상(Figure 5) Extracted image without pipe
만들어진 모델에 배관이 어느 위치에 존재하는지 판독하기 위해서 그림 6과 같은 과정을 거치게 된다.
먼저 입력한 원본 GPR 영상을 300⨯300 pixel 크기의 검증 이미지들로 생성해야 한다. 각 검증 이미지들은 학습된 CNN 모델에 넣어 배관이 존재한다는 0~1사이의 추론 값을 얻는다. 마지막으로 얻은 추론 값들을 통해서 히트맵을 작성하는데 검증 이미지들을 중첩하여 생성하였기 때문에 중첩된 영역은 추론 값들을 더하여 히트맵을 작성한다.
그림 7은 검증 이미지를 생성하는 과정을 나타낸 것이다. 검증 이미지는 그림 7와 같이 원본 이미지에서 300⨯300 pixel 크기로 가로, 세로 60 pixel 씩 이동하여 그림 8과 같이 생성하였다. 그림 8은 생성된 검증 이미지로 왼쪽의 이미지에서 오른쪽으로 가면서 중첩되는 영역이 존재하는 것을 볼 수 있다.
(그림 6) 배관 검출 과정 순서도(Figure 6) Flowchart of pipe detection process
(그림 7) 검증 이미지 생성 방법(Figure 7) How to build validation image
(그림 8) 생성된 검증 이미지(Figure 8) generated validation image
(그림 9) 그림3에 대한 히트맵(Figure 9) Heatmap for Figure 3
그림 9는 생성된 검증 이미지를 모델에 한 장씩 넣어나온 중첩되는 영역의 추론 값을 더하여 나타낸 히트맵으로 검증 이미지의 크기가 300⨯300 pixel 이므로 히트맵에서는 5⨯5 셀 크기의 영역이 하나의 검증이미지가 된다. 또한 히트맵의 각 셀은 최소 0에서 최대 25의 값을 가지게 된다. 그렇기 때문에 나타난 색의 변화 또한 0 ~25 가지가 나타나는데 색이 밝기가 밝아질수록 배관이 존재할 확률이 높다는 의미로 해석 할 수 있다.
하지만 히트맵에서 배관이 존재하는지 판단하는 것은 의미적인 해석이므로 객관적인 기준이 필요하다. 따라서 임의적인 임계값을 설정하고 임계값 이상의 셀은 배관이 존재하는 것으로 판단하여 검증 데이터의 집합별로 임계값의 변화에 따른 배관의 개수를 측정하는 실험을 진행하였다.
4. 실험
(표 1) 실험 환경 구성(Table 1) Configuration of experiment environment
(표 2) 학습 데이터 구성(Table 2) Configuration of Learning Data
실험 환경은 표1과 같이 구성하였다. 표2는 학습에 사용한 데이터 집합이다. 학습에 사용한 데이터 중에서 8 :2의 비율로 무작위로 뽑아서 8은 실제 모델을 학습하는데 사용하고 2는 학습된 모델에 입력하여 이미지의 분류 결과가 라벨링한 배관이 존재하는지 배관이 존재하지 않는지의 결과와 같은지 테스트하는데 사용하였다. 그 결과로 98%의 정확도가 나왔다. 그러므로 배관이 존재하는지정확하게 구분가능한 데이터로 학습한 모델에 대해서 모델을 학습시키는데 사용한 데이터가 아니더라도 배관을 정확하게 구분가능한 데이터라면 모델이 구분 가능하다는 것으로 볼 수 있다. 하지만 배관이 존재하는 영상은 배관이 존재하는지 정확하게 구분할 수 있는 영상과 그럴수 없는 영상 중에서 정확하게 구분할 수 있는 영상만을 학습 시켰기 때문에 어느 정도 구분할 수 있는 영상, 구분하기 어려운 영상 데이터들을 검증 데이터에 포함시켜만들어진 모델에 넣어 실험을 하였다. 모델의 결과는 학습된 모델을 기반으로 추론한 값으로 존재함, 존재하지 않음 중에서 상대적으로 높은 확률 값을 가지는 클래스로 분류하도록 하였다.
(표 3) 실험 데이터 구성(Table 3) Configuration of Experiment Data
실험에 사용한 검증 데이터는 표3과 같은 구성을 가진다. 데이터 집합 A는 배관이 있는지 정확하게 구분할 수 있는 정도의 영상을 추출한 것이고 B는 어느 정도 구분할 수 있는 정도, C는 존재하지만 구분하기 어려운 영상이다. 표4는 데이터 집합 별로 실제 배관의 위치를 정확하게 예측하거나, 잘못 예측한 수, 찾지 못한 수를 표로 나타낸 것이다. 표4에서 사용한 기호들의 의미는 표 5와 같다. 임계값은 히트맵에서의 배관을 존재하는 것으로 판단하는 임계값, OA는 각 데이터 집합의 실제 배관 수,Actual O 이다. 또한 O는 배관의 위치가 정확하게 예측된 수이고 X는 배관이 없는데 있다고 예측된 수, ?는 찾지 못한 배관의 수이다.
(표 4) 임계값에 따른 검증 결과(Table 4) validation result according to thresholdA (OA=17) B(OA=18) C(OA=11)
(표 5) 표 4에서 사용한 기호들의 의미(Table 5) Meaning of symbols used in Table 4
(그림 10) 임계값에 따른 정규화된 검증 결과(ON = O/OA) (Figure 10) Normalized validation results according to theshold
그림 10에서 세로축 ON는 각 데이터 집합의 O를 실제 배관 수로 나눈 값으로 임계값에 따라서 얼마나 배관을 찾았는지 알 수 있다. 임계값이 5, 6일 때 데이터 집합 C의 결과가 가장 높지만 임계값이 7 혹은 8일 경우가 가장 많은 배관을 찾는 것으로 볼 수 있다. 그 이유로 임계값이 낮아지면 배관이 존재하지 않는데 배관이 존재한다고 하는 수가 높아지기 때문에 X의 값을 최소화 하면서 O의값을 최대로 하는 임계값은 7 혹은 8이라고 볼 수 있다. 이것을 수치화하여 확인하기 위해 표5와 같이 각 O, X,? 마다 점수를 매겨 점수표를 작성하였다.
(표 6) 점수표(Table 6) Score table score1 score2
점수를 매기는 방법에는 두 가지 방법을 사용하였는데O는 동일하게 +1점을 주고 score1에서 X, ?는 -0.5점score 2에서 X, ?는-1점을 매겨 점수를 구하였다. 그리고 데이터 집합 별로 점수를 구하여 최대로 얻을 수 있는 점수인 OA로 나누어 표7과 같이 나타내었다.
(표 7) 임계값에 따른 데이터 집합 별 정규화된 score (Table 7) Normalized score by data according to threshold
(그림 11) 데이터 집합의 임계값의 변화에 따른 정규화된 score1 (Figure 11) The normalized score1 according to the change of the threshold of the data set
(그림 12) 데이터 집합의 임계값의 변화에 따른 정규화된 score2
(Figure 12) The normalized score2 according to the change of the threshold of the data set
5. 결론
싱크홀이나 탐지하지 못한 지뢰, 가스 배관 등 지하에 존재하고 있는 지하 물체를 사전에 탐지하는 일은매우 중요하다. 따라서 정확한 GPR 영상 판독은 기술적으로 매우 의미 있다고 볼 수 있다. 그러나 GPR 영상에서 전문가의 주관적인 판단 없이 영상을 판독하는 것은 쉽지 않다.
본 논문에서는 GPR영상을 딥러닝 기반의 CNN 모델을 사용하여 배관의 위치를 탐지하는 모델을 제안하였다. 구현된 CNN 모델은 Inception 모듈 기반의 Inception V1 모델을 사용하였고 학습 데이터로 총 319개의 추출된 영상을 사용하였다. 그리고 46장의 검증 데이터를 통해 추론 결과를 얻어 배관의 위치를 탐지하도록 히트맵을 작성하였다. 또한 히트맵에서 임계값을 정하여 배관의 위치를 찾아내도록 하는 실험을 진행하였다. 그 결과로 임계값이 7 혹은 8 일 때 배관의 위치를 가장 확실하게 찾는다는 결과를 얻었다.
향후 연구에서는 학습된 모델이 표 3의 집합 A만을 사용하여 학습시켰기 때문에 집합B, C에서 정확도가 떨어지는 결과를 보였으므로 데이터 집합 A 뿐만 아니라 B, C또한 학습 데이터에 사용하여 모델을 학습시킬 수 있을 것이다. 또한 원본 GPR 영상에 다양한 이미지 전처리 방법들을 적용하여 보다 좋은 학습 데이터를 얻을 수 있을 것이고 최근에 발표된 Pretrained CNN 모델 중에서 batch normalization을 적용한 Inception V3, V4와 같은 모델을 Inception V1 대신해 적용해 볼 수 있을 것이다.
참고문헌
- D. Y. Lee, "Analysis of Sewer Pipe Defect and Ground Subsidence Risk By Using CCTV and GPR Monitering Results", J. Korean Geosynthetics Society, Vol 17, No.3, pp.47-55, 2018. https://doi.org/10.12814/jkgss.2018.17.3.047
- Novo, A., Grasmueck, M., D.A. Viggiano. and Lorenzo, H. "3D GPR in Archeology: What can be gained from dense Data Acquisition and Processing?", 12th International Conference on Ground Penetrating Radar, June 16-19, 2008. https://www.researchgate.net/profile/Alexandre_Novo/publication/228986985_3D_GPR_in_Archaeology_What_can_be_gained_from_dense_data_acquisition_and_processing/links/02e7e5272aa89a0c4c000000/3D-GPR-in-Archaeology-What-can-be-gained-from-dense-data-acquisition-and-processing.pdf
- M. S. Lee, N. Kim, Y. K. An, J. J. Lee, "Deep learning-based autonomous underground cavity detection using 3D GPR", 9th European Workshop on Structural Health Monitoring, July 10-13, 2018. https://www.ndt.net/article/ewshm2018/papers/0189-Kang.pdf
- Krizhevsky, A., Sutskever, I. and Hinton, G. E., "ImageNet Classification with Deep Convolutional Neural Networks", NIPS'12 Proceedings of the 25th International Conference on Neural Information Processing Systems, Vol 1, pp.1097-1105, 2012. https://doi.org/10.1145/3065386
- Simonyan, K. and Zisserman, A., "Very Deep Convolutional Networks For Large-Scale Image Recognition", International Conference on Learning Representations(ICLR), 2015. https://arxiv.org/abs/1409.1556
- Szegedy, C., Liu, W., Jia, Y., Sermanet, P., Reed, S., Anguelov, D., Erhan, D., Vanhoucke, V., and Rabinovich, A. "Going deeper with convolutions", CVPR, Jun, pp.1-9, 2015. https://arxiv.org/abs/1409.4842
- O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Khosla, M. Bernstein, A.C. Berg, L. Fei-Fei, "ImageNet Large Scale Visual Recognition Challenge", International Journal of Computer Vision (IJCV), Vol. 115, No. 3, pp. 211-252, 2015. https://arxiv.org/abs/1409.0575 https://doi.org/10.1007/s11263-015-0816-y
- Rawat, W., Wang, Z, "Deep Convolutional Neural Networks for Image Classification: A Comprehensive Review", Neural Computation, Vol. 29, No. 9, pp.2352-2449, 2017. https://doi.org/10.1162/neco_a_00990
- Lin, M., Chen, Q., and Yan, S., "Network in network", ICLR, 2014. https://arxiv.org/abs/1312.4400
- Yamashita, R., Nishio, M., Do, R.K.G., Togashi, K. "Convolutional neural networks: an overview and application in radiology", Insights Into Imaging, Vol 9, No.4, pp.611-629, 2018. https://doi.org/10.1007/s13244-018-0639-9
피인용 문헌
- Automatic Detection System of Underground Pipe Using 3D GPR Exploration Data and Deep Convolutional Neural Networks vol.26, pp.2, 2019, https://doi.org/10.9708/jksci.2021.26.02.027