1. 서 론
콘크리트의 박락은 균열이나 줄눈깨짐이 밀집되면서 콘크리트 표면의 일부가 점진적으로 손상되어 떨어져 나가는 현상이다. 박락의 발생 원인은 균열부 누수,
동결 융해, 탄산화, 폭렬, 철근 부식 및 팽창, 피복두께 부족 등이 있다. 박락은 발생 원인에 따라 구조물에 심각한 손상을 초래할 수 있기 때문에
정확히 탐지하는 기술이 필요하며, 탐지한 뒤에는 적절한 조치를 수행하여 추가적인 손상의 확산을 방지하여야 한다.
콘크리트 구조물의 경우, 균열, 박락, 박리, 재료분리 등 다양한 손상 항목에 대해 육안점검을 수행한다(Kim et al. 2015). 하지만 육안점검은
노동력과 작업시간이 많이 필요하며 검사 중 사고 발생 위험이 있다. 이를 대체하기 위해 컴퓨터 영상 분석 기반의 박락 탐지 기술 개발이 꾸준하게 이루어지고
있다. 최근 영상분석 기반 박락 탐지 연구에는 지상 레이저 스캐닝을 이용한 박락의 정량화(Kim et al. 2015), 머신 비전(machine
vision) 기반의 박락 정량화(Dawood et al. 2017) 등이 있다. Kim et al.(2015)은 지상 레이저 스캐너(terrestrial
laser scanning)를 이용하여 스캐너로부터 박락까지 거리, 표면과 박락 사이의 각도를 찾아 콘크리트 박락의 깊이와 부피를 정량화하였고, Dawood
et al.(2017)은 지하철 터널 내의 박락 이미지에 대한 RGB값을 바탕으로 3D 모델을 만들어 박락의 깊이와 형상을 알아냈다.
이처럼 최근 연구된 영상 기반 박락 탐지 기술들은 대부분 이미 파악된 박락을 정량화하는데 주된 목표를 두고 있다. 콘크리트 박락의 위치를 아는 경우에는
그것을 정량화하는 것이 수월하나, 박락부의 위치를 모르는 상태에서 정량화 알고리즘을 사용할 경우 수많은 오차 요인들을 모두 고려해야 하기 때문에 정확도가
낮아진다. 따라서 수많은 이미지에서 박락의 정량화를 수행해야 하는 경우에는 박락의 유무 및 위치를 우선적으로 파악하는 것이 관건이다.
본 연구에서는 빅데이터 기반 딥러닝을 이용하여 콘크리트의 박락을 신속하게 탐지해내는 기술을 개발하였다. 우선 웹스크레이핑(web scraping)
기법으로 인공신경망 학습에 필요한 다양한 콘크리트 무손상‧손상 이미지들을 수집하고 학습 데이터를 구축하였다. 기존에 개발된 딥러닝 기반 이미지 분류기인
AlexNet을 초기 모델로 하여, 학습된 데이터를 활용하여 미세조정을 수행하는 전이학습을 통해 이미지 내에서 자동으로 박락 탐지를 수행할 수 있는
인공신경망을 개발하였다. 인터넷에서 수집한 테스트용 이미지와 실제 콘크리트 교량에서 촬영한 이미지를 이용하여 개발한 인공신경망의 성능을 검증하였다.
2. 딥러닝을 이용한 영상 기반 박락 탐지 기술
2.1 딥러닝 기술
2.1.1 딥러닝(deep learning)
본 연구에서는 최근 영상 분석, 음성 인식 등에서 크게 두각을 나타내고 있는 딥러닝 기반의 인공신경망을 이용하여 콘크리트의 박락을 탐지하였다. 딥러닝은
여러 비선형 변환기법의 조합을 통해 학습 데이터로부터 높은 수준의 추상화(abstractions)를 시도하는 방법이다(Bengio et al. 2014).
딥러닝은 사람의 사고방식을 컴퓨터에게 가르치는 기계학습의 한 분야로서, 기존의 사람이 직접 지정하던 특징 추출 단계를 기계가 직접 수행하여 기존에
지정해주지 못한 물체의 특징까지 기계 스스로 인식하는 장점이 있다(Olshausen 1996). 수많은 학습 데이터 속에서 특정 패턴을 발견해 인간이
사물을 구분하듯 컴퓨터가 사물을 분별하도록 인공신경망을 학습시키는 것이다(Bengio et al. 2014). 이전까지는 인공신경망에서 은닉층(hidden
layer)의 수를 현저하게 증가시킴으로서 실제 적용가능한 정도의 복합도를 갖도록 구현하는 것이 매우 어려운 일이었으나, 2010년 이후 그래픽 하드웨어(GPU)의
발달로 인해 연산속도가 현저히 개선되고 인터넷 빅데이터를 통한 학습 데이터 획득이 수월해지면서 깊이가 깊은(deep) 인공신경망의 학습(learning)이
가능하게 되었다.
그러나 실제 딥러닝의 구현을 위해서는 여전히 병렬로 연결된 고가의 GPU가 장착된 서버급 컴퓨터가 필요하고, 이를 기반으로 인공신경망을 학습시키는
것 역시 수 시간에서 수 일이 걸린다. 본 연구는 선행적 연구로써, 이미 이미지 분류용으로 개발되어 있는 인공신경망을 활용하여 저가의 데스크탑 PC(CPU:
Intel Core i5-7500, RAM: 8 GB, GPU: GTX1060 3 GB, SSD: 120 GB)만으로 사용가능한 박락 탐지용 인공신경망을
개발하였다.
2.1.2 전이학습과 AlexNet
전이학습(transfer learning)은 특정 환경에서 기학습된 인공신경망을 다른 목적의 비슷한 분야에 적용하기 위해 일부 조정하여 사용하는 것으로,
현재 많은 연구가 이루어지는 기계학습 분야이다(Liu et al. 2013). 전이학습은 학습 데이터가 부족한 경우 유사한 분야에서 기학습된 인공신경망을
활용하여 학습할 수 있으며, 이미지 분류를 위한 인공지능 모델 개발 및 학습시간을 단축시킬 수 있고, 검증된 정확도의 모델을 활용할 수 있다는 장점이
있다.
본 연구에서 전이학습에 이용한 인공신경망은 합성곱신경망(convolutional neural networks, CNN)을 기반으로 개발된 AlexNet으로,
2012년 이미지 데이터베이스인 ImageNet이 수행하는 ILSVRC(ImageNet large-scale vision recognition challenge)에서
우승한 딥러닝 모델이다(Krizhevsky et al. 2012). ImageNet은 2만 2천 개가 넘는 카테고리로 분류된 1,500만 개 이상의
이미지로 구성되어 있으며, ILSVRC는 이 중 1,000개의 카테고리와 1,000장의 이미지를 사용하여 테스트를 수행한다.
AlexNet은 Fig. 1과 같이 총 5개의 합성곱층(convolution layer)과 3개의 전연결층(fully-connected layer)으로
구성되어 있다. AlexNet의 입력은 224×224의 픽셀해상도를 갖는 RGB 이미지로서, Fig. 1의 가장 첫 번째 층에 표시되어 있다. 입력이미지는
합성곱층에서 커널(kernel)과의 합성곱(convolution)을 수행하여 특징맵(feature map)을 얻고, 정규화(nomalization)와
풀링(pooling)을 거쳐 그 데이터 크기가 축소된다. 총 5개 합성곱층을 거쳐가며 정규화와 풀링을 수행함으로써 CNN의 학습시간과 과적합의 가능성을
줄일 수 있으며 영상에서 잘 구별할 수 있는 특징을 얻을 수 있게 된다. 특징맵은 데이터를 효과적으로 학습하기 위해 이미지에서 픽셀 값을 바탕으로
특징적인 선이나 색 분포를 추출해서 나타낸 지도를 말하는 것으로, 커널의 종류에 따라 결정된다. 커널의 크기 및 종류는 입력 영상의 종류 및 크기에
따라 영상의 주요한 특징을 잘 반영할 수 있는 형태로 개발자가 설정한다. AlexNet의 경우 첫 번째 층에서 11×11×3의 크기를 갖는 96종류의
커널을 4픽셀씩 건너뛰며(stride) 적용하여 55×55×96의 특징맵을 얻게 되며, 이를 2개의 GPU로 나누어 분산연산하게 된다. Fig. 1의
박스 사이에 나타난 숫자들은 이와 같이 각 층에서 얻은 결과의 수를 나타내는 것이다. 합성곱층의 마지막 층의 결과는 전연결층에서 2,048개의 뉴런과
직접 연결되며, 마지막 전연결층은 1,000개의 결과를 얻게 된다. 최종 출력값은 1,000개 카테고리의 이미지에 대한 분류 결과를 확률적으로 산출하기
위한 softmax 함수값으로서, 이는 아래 식 (1)과 같다.
(1)
여기서 는 번째 출력층 뉴런의 출력값, 은 출력층 뉴런의 수(학습데이터의 분류 클래스 개수), 는 출력층 뉴런에 들어오는 입력 신호로 바로 전 레이어에서의 출력값을 의미한다. softmax함수는 개의 원소로 이루어지는 값의 집합에서 특정 번째 원소 값의 중요도를 구하는 것으로, 출력데이터를 이미지 분류의 확률로 나타낼 때 매우 유용하다. softmax함수 출력값()은 0부터 1까지의 값을 가지며, 일반적으로 각 카테고리에 대한 출력값이 가장 높은 것을 정답 카테고리로 분류한다. AlexNet에 대한 상세한
설명은 참고문헌(Kri-zhevsky et al. 2012)에서 찾아볼 수 있다.
Fig. 1
Structure of AlexNet with modified output layer for transfer learning in this study
(modified from Krizhevsky et al. 2012)
2.2 딥러닝을 이용한 박락 탐지 방법
박락 탐지를 위해서 우선적으로 박락 탐지에 최적화된 인공신경망을 개발한다. 인터넷에서 수집한 다양한 콘크리트 표면 이미지를 여러 가지 카테고리로 분류한
뒤, 인공신경망에 학습시킨다. 이때, 박락 탐지용 데이터를 구축하는 과정에서 인공신경망의 탐지 정확도를 향상시키기 위해 다양한 기술이 개발, 적용되며,
이는 3장에서 설명할 예정이다. 인공신경망은 AlexNet의 마지막 결과 출력층 1,000가지를 콘크리트 박락 탐지에 맞게 Fig. 1과 같이 5가지로
조정한 뒤, 전이학습하여 사용한다.
이후에는 학습된 인공신경망을 이용하여 박락 탐지를 수행한다. 실제 콘크리트 구조물에서 획득한 이미지를 2가지의 윈도우 슬라이딩 방식으로 스캔한 뒤,
인공신경망 최종 층에서 두 번의 스캔을 통해 얻은 softmax 확률값의 평균을 구하여 박락에 대한 확률지도(probability map)를 구성한다.
구성된 박락의 확률지도에서 특정 임계값을 초과하는 영역을 최종적으로 박락으로 추출한다.
3. 박락 탐지 정확도 향상을 위한 주요 기술
3.1 웹스크레이핑(web scraping)
웹스크레이핑이란 인터넷 상의 웹 페이지에서 사용자가 원하는 데이터를 자동으로 추출하고 수집하는 것이다(Boeing and Waddell 2016).
본 연구에서는 Scrape Box라는 상용 웹스크레이핑 프로그램을 사용하여 이미지를 수집하였다. 더 다양한 박락 이미지를 수집하기 위해 Table
1(a)와 같이 박락을 정의할 수 있는 다양한 키워드로 검색을 수행하였다. 또한 Table 1(b)와 같이 다양한 언어로 박락 키워드를 함께 이용하여
특정 언어로만 검색 가능한 이미지들까지 추가로 수집하였다.
Table 1 (a) English keywords about concrete spalling, and (b) keywords about concrete
spalling in various languages
|
3.2 학습 데이터 클래스의 상세 분류
본 연구의 목표는 박락의 깊이나 크기의 정량화가 아닌 콘크리트 표면에서 박락의 유무를 신속하게 탐지하는 기술을 개발하는 것이다. 따라서 무작위로 찍은
수많은 콘크리트 구조물의 이미지로부터 박락이 있는 이미지를 찾아내기 위해 박락 이외에 콘크리트에서 나타날 수 있는 다른 특징(무손상 표면, 이음부)
및 주변 식생 지대 이미지까지 수집하여 학습시켰다.
웹스크레이핑 기법을 이용하여 수집한 콘크리트 박락과 그 외에 콘크리트 표면 이미지들을 다시 세분화하여 총 5가지 클래스(무손상 표면, 철근 노출 박락,
철근 무노출 박락, 이음부 및 줄눈, 기타-식생)로 분류하였다. 여기서 콘크리트 박락은 철근 노출과 철근 무노출로 세분화하였다. 이는 철근이 노출된
박락과 철근이 노출되지 않은 박락은 시각적 특징의 차이가 분명할 뿐만 아니라, 그 손상의 정도가 달라 다른 방식의 관리가 필요하기 때문이다. 그러나
철근이 노출되지 않은 박락 이미지를 인터넷에서 수집하기는 매우 어려웠으며, 박락을 키워드로 검색하여 수집한 이미지들은 대부분 철근이 노출된 이미지였다.
철근 노출 박락 이미지와 철근 무노출 박락 이미지를 세분화하지 않고 하나의 그룹으로 학습시켰을 때, 인공신경망이 철근 무노출 박락은 거의 탐지하지
못하였으며, 대신 학습 데이터 수가 많고 특징이 뚜렷한 철근 노출 박락 부분만 잘 탐지해내는 문제점을 보였다. 이를 보완하기 위해 박락 이미지를 철근
노출의 유무에 따라 다시 세분화한 것이다. 또한 이와 같은 철근 노출 유무에 따른 박락의 구분은 철근 무노출 박락 이미지와 손상이 발생하지 않은 콘크리트
표면 이미지의 특징을 구분하는데 도움을 준다. 철근 무노출 박락의 경우 콘크리트 표면이 손상된 것으로 기존의 표면과 박락이 함께 보이는 이미지를 사용하여
학습시켰고, 무손상 표면의 경우 표면의 이질성이 없이 동일한 표면으로 된 이미지를 사용하여 학습시켰다.
3.3 이미지 증강 기술
박락 탐지용 인공신경망의 성능을 높이는데 가장 중요한 요소는 학습 데이터의 양이다. 그래서 학습 이미지 수를 증가시키기 위해 5가지로 분류한 학습
이미지에 모두 이미지 분할(image segmentation)과 이미지 변형(image transformation) 기술을 적용했다. Table 2는
이미지 증강 기술을 사용하기 전에 웹스크레이핑에 의하여 획득한 이미지의 수와 이미지 증강에 의하여 증가된 학습 이미지 수를 나타낸 것이다. 이미지
증강에 의하여 전체 이미지의 수는 약 9배 정도 증가하였음을 알 수 있다. 3.3.1과 3.3.2에서는 대표적으로 이 2가지 기술을 박락에 적용시킨
사례에 대해 설명할 것이다.
Table 2 Number of training images before and after image augmentation
|
3.3.1 이미지 분할
이미지 수를 증가시키기 위해 원본 이미지의 해상도가 큰 경우에 전체 이미지를 작은 이미지 여러 개로 분할하였다. 본 연구에서 사용한 인공신경망 AlexNet의
입력이미지 크기는 224×224(픽셀×픽셀)이다. 따라서 가로, 세로에 대해 픽셀수가 224를 넘어서지 않는 이미지의 경우는 분할하지 않고, 224를
넘어서는 경우에는 픽셀 수를 112로 나누어 버림함(=[픽셀수/112])으로서 이미지의 분할 수를 정하고 적당히 오버래핑(overlapping)하여
분할하였다. Fig. 2는 432×250의 해상도를 갖는 이미지를 분할하는 예로서, 가로의 경우 [432/-112]=3개, 세로의 경우 [250/112]=2개의
이미지로 분할하였다. 이미지 분할을 통해 전체 이미지에서 부분이미지를 얻음으로써, 완전한 박락 전체의 모습이 아닌 박락의 부분적인 모습도 학습하도록
하였다.
Fig. 2
Example of image segmentation into six segments in image of spalling with rebar exposure
(432×250 pixels)
3.3.2 이미지 변형
기존 원본이미지와 이미지 분할을 시행한 이미지 데이터를 가지고 Fig. 3과 같이 총 8가지 방법으로 이미지 변형을 시행하였다. 콘크리트 표면의 다양한
방향성을 고려하여 좌우반전, 상하반전, 3가지 회전(30°, 60° 및 90°)을 시행하였고, 현장의 날씨와 조명에 따라 같은 콘크리트 표면도 밝기가
다르게 찍힐 수 있는 것을 고려하여 밝기값을 30 % 밝게, 그리고 30 % 어둡게 조정하였다. 또한 촬영 중 흔들림 현상을 고려하여 이미지를 흐리게
만드는 블러링(blurring)을 시행하였다. 블러링은 이미지 내에서 8×8픽셀을 기준으로 반시계 방향으로 10° 회전하여 흔들림 처리하였다. 이
8가지 이미지 변형방법을 통해 최종적으로 이미지 수는 최대 8배까지 증가할 수 있다.
Fig. 3
Example of image transformation
3.3.3 이미지 변형에 의한 성능 향상
본 연구에서 적용한 이미지 증강 기술, 그중에서도 이미 수집과 분할 과정을 거쳐 획득한 이미지들을 이용하여 학습에 도움이 될 수 있는 이미지를 추가로
생산하는 이미지 변형기술이 박락 탐지용 인공신경망의 성능에 어떤 영향을 주는지 분석하기 위한 테스트를 수행하였다. 성능 비교를 위한 테스트 이미지는
Fig. 4와 같이 철근이 노출된 박락 이미지 7장과 Fig. 5와 같이 철근이 노출되지 않은 박락 이미지 7장을 사용하였다. 철근이 노출된 박락
이미지는 인터넷에서 수집한 이미지 중에 학습 데이터로 사용하지 않은 것으로, 각기 다른 구조형식(교량, 건축물)의 다른 부재(교각, 벽체, 거더연결부
등)에 철근이 노출된 박락이 발생한 것을 촬영한 다양한 해상도의 사진들이다. 철근이 노출되지 않은 박락 이미지는 실제 콘크리트 교량의 교각부에서 촬영한
이미지 6장과 인터넷에서 수집한 이미지 중에 학습 데이터로 사용하지 않은 이미지 1장을 이용하였다.
Fig. 4
Test images of spalling with exposed rebar
Fig. 5
Test images of spalling with unexposed rebar
인공신경망의 성능을 확인하기 위해 영상 분야에서 주로 인식률에 대한 지표로 사용하는 정밀도(precision)와 재현율(recall)을 사용하였다.
정밀도와 재현율을 산정하기 위해서는 실제 상태(true condition)와 인공신경망에 의해 판단된 상태(predicted condition)를
비교하여 Table 3과 같이 4가지의 성능지표(performance measure)를 산정하고 이를 아래 식 (2), (3)에 대입하여 계산할 수
있다.
Table 3 Performance measures according to true and predicted conditions
|
Precision = (2)
Recall = (3)
정밀도는 인공신경망이 이미지 내에서 박락이라고 인식한 모든 부분 중에 실제 구조물의 박락을 제대로 탐지한 부분의 비율이고, 재현율은 실제 구조물의
박락 부분 중에 인공신경망이 박락이라고 제대로 탐지한 부분의 비율을 뜻한다. 정밀도가 높다는 것은 인공신경망의 오차율이 적다는 의미이며, 재현율이
높다는 것은 구조물 내의 박락 중에 인공신경망이 탐지하지 못하고 놓치는 부분이 적다는 의미이다. 본 연구의 목적을 고려해보면, 손상의 거짓검출(false
alarming)보다는 손상을 놓치는 경우에 구조물 유지관리에 큰 문제가 발생할 수 있게 된다. 따라서 본 연구에서는 재현율에 초점을 두고 인공신경망의
성능을 판단하고자 한다.
Table 4는 이미지 변형기술을 인공신경망 학습에 활용하지 않은 경우와 활용한 경우의 정밀도와 재현율을 각각 나타낸 것이다. 철근노출과 무노출 박락
둘 다 이미지 변형기술을 적용하여 인공신경망을 학습할 경우 정밀도는 낮아지나, 재현율은 증가됨을 확인할 수 있다. 즉, 이미지 변형기술을 사용하는
경우, 손상의 거짓검출이 증가할 수 있으나, 실제 발생한 손상을 놓칠 확률은 낮아짐을 의미한다. 이미지 변형기술이 이미 수집된(또는 수집 후 분할된)
이미지로부터 추가적 정보를 만들어내어 이용하는 것임을 감안한다면, 이미지 변형기술의 사용은 추가적인 학습이미지의 수집 없이 인공신경망이 손상을 놓치는
경우를 감소시켜줌을 알 수 있다. 다만 반대급부로 손상의 거짓검출도 증가하게 되므로, 이를 보정해주기 위한 추가적인 연구도 필요하다.
Table 4 Precision and recalls with and without using transformed images (threshold
25 %)
|
3.4 박락 확률지도와 박락 탐지 기준
3.4.1 윈도우 슬라이딩
앞에서 학습된 인공신경망의 입력값은 224×224 픽셀이므로, 이보다 큰 이미지의 경우 224×224 픽셀의 크기를 갖는 윈도우를 여러 번 이용하여야
한다. 이때, 윈도우를 224픽셀만큼씩 진전(stride)시켜가며 슬라이딩(sliding)하면서 이미지를 스캔할 수 있다. 그러나, 박락부가 윈도우의
경계에만 걸치게 되면 박락부를 놓칠 수 있으므로, Fig. 6에서 빨간색과 파란색으로 표시된 50 %의 overlap이 되는 두 종류의 윈도우에 대해
스캔을 수행한다.
Fig. 6
Two ways of window sliding
3.4.2 박락 확률지도과 박락 탐지 임계값
두 번의 윈도우에 의해 스캔된 이미지는 각 픽셀 당 2개의 softmax 확률값을 출력값으로 갖게 된다. 이 2개의 출력값의 평균을 계산하면 각 클래스에
대한 확률지도를 계산할 수 있다. Fig. 7은 위 Fig. 6의 이미지에 대한 박락 확률지도를 그린 것으로, 0 %부터 최대 100 %까지의 박락에
대한 확률분포를 파악할 수 있다.
Fig. 7
Probability map of spalling for image in Fig. 7
확률지도로부터 박락에 해당하는 픽셀을 추출하기 위해서는 박락으로 결정하기 위한 확률 임계값을 결정해야 한다. 이론적인 확률 임계값을 결정하는 것은
쉽지 않기 때문에, 우선 임계값에 대한 매개변수 연구(parametric study)를 수행하였다. 위 Figs. 4와 5의 철근 노출 박락 이미지와
철근 무노출 박락 이미지에 대해 임계값을 변경하면서 정밀도와 재현율을 확인하였다. Table 5는 철근 노출 박락 이미지들과 철근 무노출 박락 이미지들에
대하여, 임계값을 변화시켜가면서 정밀도와 재현율의 평균값을 도출한 것이다. 철근 노출 박락과 무노출 박락 모두 임계값이 커질수록 정밀도는 증가하고
재현율은 감소한다. 즉, 임계값이 클수록 박락이라고 탐지한 부분 중에서 실제 박락인 부분은 증가하며 대신 실제 박락을 탐지하지 못하는 경우가 많아짐을
의미한다. 따라서 놓치는 박락을 최소화하면서 박락과 관련 없는 부분의 추출이 너무 많지 않도록 임계값을 설정할 필요가 있다. 본 연구에서는 임계값의
증가에 따라 정밀도가 가장 조금 감소하면서 재현율이 가장 많이 증가하는 25 %를 임계값으로 설정하였다.
Table 5 Average precision and recall according to threshold change
|
4. 딥러닝 기반 박락 탐지 성능 평가
Fig. 4의 철근 노출 박락 이미지 7장과 Fig. 5의 철근 무노출 박락 이미지 7장에 대하여 박락 탐지를 수행하였다. 이미지 증강 기술을 이용하여
증가된 이미지를 이용하여 인공신경망을 학습하였으며, 학습된 인공신경망을 이용하여 2차례의 윈도우 슬라이딩을 통해 박락의 확률지도를 얻고, 25 %의
임계값을 적용하여 박락을 탐지하였다.
4.1 철근 노출 박락 탐지
먼저 Fig. 4의 철근 노출 박락 이미지를 이용해 딥러닝 기반 박락 탐지 성능을 평가하였다. Fig. 8(a)는 Fig. 4의 5번째 이미지이며,
Fig. 8(b)는 8(a)에 대한 박락 탐지 결과이다. Fig. 8(b)에서 초록색 상자는 실제 박락을 제대로 탐지한 부분, 노란색은 실제 박락이
아닌데 박락으로 탐지한 부분을 의미한다. 연한 초록색으로 색칠된 실제 박락 영역과 비교해볼 때 픽셀 기준으로 재현율 99.9 %, 정밀도 92.8
%로 박락 탐지가 성공적으로 이루어졌음을 확인할 수 있다.
Fig. 8
Spalling detection result on fifth test image of spalling with exposed rebar
Table 6은 7장의 이미지에 대한 박락 탐지 결과를 정리한 것으로서, 이미지의 해상도와 무관하게 전반적으로 박락을 잘 탐지했음을 확인할 수 있다.
특히 철근 노출이 뚜렷한 이미지(1, 2, 5, 6, 7)의 경우 재현율이 98 % 이상으로, 모든 박락을 확실히 찾아냈음을 보여준다. 다만, 철근
이 극히 일부만 노출되었거나(이미지 3), 격자형으로 철근이 노출되지 않은 경우(이미지 4) 재현율은 다소 낮게 나타났다. 이는 더 다양한 박락의
데이터를 추가적으로 확보하여 학습을 시행할 경우, 극복할 수 있을 것으로 예상된다.
Table 6 Spalling detection results of 7 images with exposed rebar
|
4.2 철근 무노출 박락 탐지
다음으로는 Fig. 5의 철근 무노출 박락 이미지를 이용하여 딥러닝 기반 박락 탐지 성능을 평가하였다. Fig. 9(a)는 Fig. 5의 2번째 이미지이며,
Fig. 9(b)는 Fig. 9(a)에 대한 박락 탐지 결과이다. 각 색깔은 4.1장에서 설명한 것과 같으며, 추가적으로 붉은 색으로 색칠된 부분은
탐지하지 못한 박락부가 위치한 픽셀이다. 제안 기법이 철근 무노출 박락의 경우에도 여전히 박락의 위치를 탐지하는 데는 성공적이지만, 철근 노출 박락
대비 실제 박락이 아닌데 박락으로 탐지하는 부분(False Positive, FP)이 더 많이 나타났다. Fig. 9(b)의 5개 FP(FP1-FP5)부를
자세히 살펴보면, 모두 콘크리트 표면 위에 스크래치나 작은 홈들이 있음을 알 수 있다. 이는 본 연구에서 개발한 박락 탐지용 인공신경망을 학습시킬
때, 이와 같은 스크래치를 함께 학습시키지 못하였기 때문에 정밀도가 낮아진 것으로 예상된다. 따라서 추가적으로 콘크리트 표면에 손상이 아닌 오염,
스크래치 등의 이미지를 더 확보하여 함께 학습시킨다면, 보다 높은 정밀도의 탐지 결과를 얻을 수 있을 것으로 예상된다.
Fig. 9
Spalling detection result on second test image of spalling with unexposed rebar
철근 무노출 박락 테스트 이미지 7장에 대한 결과는 Table 7에 정리하였다. 철근 무노출 박락의 경우 7장의 테스트 이미지 모두 재현율이 80
% 이상으로 높은 값이 나왔으나, 철근 노출 박락의 경우와 비교해봤을 때 정밀도가 다소 낮음을 알 수 있다. 이는 철근 무노출 박락의 경우 시각적
특징이 뚜렷하지 않아 정확한 탐지가 쉽지 않음을 나타낸다. 그러나 이는 역설적으로 시각적 특징만을 이용하여 자동화된 탐지를 수행하는 것이 쉽지 않으므로,
본 제안기법을 이용하여 대략적 손상 부위를 탐지하고 이 부위에 한해 전문가의 평가를 수행할 경우 교량의 손상 탐지 시간을 크게 절약할 수 있음을 의미한다.
인터넷에서 찾은 작은 박락부의 경우에도 재현율 83.6 %로 박락의 유무를 정확하게 찾는 데는 성공하였다.
Table 7 Spalling detection results of 7 images with unexposed rebar
|
5. 결 론
본 연구에서는 딥러닝을 이용하여 콘크리트 구조물을 촬영한 이미지에서 박락부를 탐지하기 위한 인공신경망을 개발하고, 인터넷 이미지와 실제 콘크리트 교량에서
획득한 이미지들을 사용하여 그 성능을 검증하였다. 사물 분류를 목적으로 만들어진 딥러닝 인공신경망인 AlexNet의 전이학습을 통해 박락 탐지용 인공신경망을
개발하였다. 인공신경망의 학습을 위해 다양한 콘크리트 표면 이미지를 웹스크레이핑을 통해 수집하고, 학습 데이터 클래스를 세분화하였으며, 학습데이터의
수를 늘리기 위해 여러 가지 이미지 증강 기술을 적용하였다. 마지막으로 철근이 노출된 박락과 철근이 노출되지 않은 박락 이미지 각각 7장에 대해 성능평가를
수행하였다. 박락 탐지용 인공신경망 개발과 박락 탐지 성능에 대한 결론은 다음과 같다.
1)웹스크레이핑을 이용해 콘크리트의 박락과 무손상 표면, 이음부 및 모서리, 기타에 해당하는 이미지를 수집하고, 이를 기반으로 인공신경망을 학습하였다.
특히 콘크리트 박락 이미지를 철근 노출의 유무에 따라 세분화함으로써, 철근 노출 박락에 비해 특징이 모호한 철근 무노출 박락에 대한 탐지 성능을 높일
수 있었다.
2)이미지 증강 기술(이미지 분할 + 변형)을 적용하여 학습 이미지 데이터를 총 4,979장에서 45,817장으로 9배 정도 증가시킴으로서 박락 탐지용
인공신경망의 재현율을 철근 노출 박락의 경우 91.7 %에서 96 %로, 철근 무노출 박락의 경우 86.6 %에서 95.6 %로 향상시켰다.
3)인터넷에서 수집한 이미지와 실제 콘크리트 교량에서 촬영한 박락부 이미지를 이용해 인공신경망의 박락 탐지 성능을 검증 한 결과, 철근 노출 박락과
철근 무노출 박락 모두 성공적으로 탐지하였으며, 픽셀 기준으로 재현율은 모두 80 %를 넘었다. 하지만 실제 박락이 아님에도 박락으로 탐지하는 부분들이
일부 있었으며, 이는 철근 무노출 박락의 경우 더 많았다. 이를 해결하기 위해 콘크리트 표면의 오염이나 스크래치 등 다양한 이미지를 수집하여 학습시킬
필요가 있을 것으로 판단된다.