Mobile QR Code QR CODE : Journal of the Korean Society of Civil Engineers

  1. 성균관대학교 전자전기컴퓨터공학과 박사과정, 차세대융합기술연구원 연구원 (Department of Electrical and Computer Engineering, Sungkyunkwan University, Advanced Institute of Convergence Technology․hwarangmoon@snu.ac.kr)
  2. 종신회원․한국도로공사 도로교통연구원 수석연구원 (Korea Expressway Corporation․junsangcho@ex.co.kr)
  3. 정회원․차세대융합기술연구원 선임연구원 (Advanced Institute of Convergence Technology․junkyeong@snu.ac.kr)
  4. 성균관대학교 소프트웨어학과 교수 (Sungkyunkwan University․mhkim@skku.edu)
  5. 정회원․교신저자․차세대융합기술연구원 선임연구원 (Corresponding Author․Advanced Institute of Convergence Technology․jpkim@snu.ac.kr)



교량, 교량 손상유형, Open set 인식, OpenMax
Bridge, Bridge damage type, Open set recognition, OpenMax

1. 서 론

국내 고속도로 교량 구조물은 계속해서 급증하고 대형화되고 있으며 많은 교량이 노후화되어서 노후 교량의 유지관리 문제가 중요한 사회 문제로 떠오르고 있다. 하지만 현재까지도 교량 점검은 인력 위주의 육안점검이 대부분이기 때문에 점검의 양과 질이 일정치 않고 과도한 점검 시간과 비용이 발생하는 문제가 있다. 주요 선진국에서는 이런 한계를 벗어나기 위해 첨단 영상기술을 활용한 구조물 점검기술 개발을 적극적으로 추진하고 있으며 국내에서도 많은 연구가 진행되었다(KECRI, 2015; KECRI, 2020).

2000년대부터 메디안 필터(median filter)나 다중 스케일 라인 필터(multi-scale line filter) 같은 이미지 전처리 방법 또는 Canny Edge Detector, Sobel Edge Detector 등의 에지 검출 알고리즘을 이용한 구조물 손상탐지 방법이 제안되었는데(Cha et al., 2017; Seol et al., 2020), 최근 딥러닝 기반 영상처리 알고리즘이 혁신적인 성능을 보여주면서 구조물 손상탐지 영역에서도 CNN (Convolution Neural Network)을 적용한 각종 연구가 이루어지고 있다. 전통적인 영상처리기법과 달리 CNN은 원본 이미지 자체를 입력으로 사용해서 특징이 자동으로 추출되기 때문에 다양한 영상에 적용할 수 있고 균열 등의 손상탐지 정확도 또한 현저히 더 높다. LeCun et al.(1998)에 의해 처음 소개된 CNN은 LeNet을 시작으로 AlexNet, GoogLeNet, VGGNet, ResNet 등이 대표적인 이미지 분류모델로 꼽힌다. 교량 손상탐지 또한 균열 등의 한 가지 특정 손상유형을 인식하는 이진 분류모델이나 여러 가지 손상유형을 인식하는 다중분류모델로 해결할 수 있다. Cha et al.(2017)은 4,928×3,264 해상도의 콘크리트 raw 이미지 227장에서 균열과 비균열로 분류되는 256×256 해상도의 훈련 및 검증 이미지 4만 장을 추출해서 CNN 모델로 학습시켰다. 성능 분석을 위해 기존의 Canny 및 Sobel 에지 검출 알고리즘 기반의 균열탐지와 비교 연구를 수행하였으며, 그 결과 조명이나 그림자 영역 등 다양한 환경 조건에서 CNN 기반 방식이 훨씬 더 균열을 정확하게 탐지한다는 것을 입증하였다. 국내에서는 벽면 이동로봇을 통해 수집된 영상에 YOLO 알고리즘을 적용해서 균열탐지를 수행한 연구가 있었으며([14]Park et al., 2019), 마찬가지로 Canny 및 Sobel 에지 검출 기법과 비교해서 성능이 우수함을 증명했다. 또한 U-Net 기반의 이미지 복원 기법을 사용한 균열탐지 방법과 딥러닝 모델들을 유형별로 분류해 균열탐지성능을 비교한 논문들도 발표되었다(Kim et al., 2020; Seol et al., 2020).

하지만 여러 가지 교량 손상유형 중에서 주로 균열탐지에만 연구가 집중되었고 균열을 제외한 백태, 부식, 누수 등 다양한 교량 손상을 분류할 수 있는 다중분류모델 연구가 상대적으로 부족하다. 그 이유로는 균열 같은 경우 Mendeley Dataset (Özgenel, 2019) 등 오픈 이미지 데이터 세트가 비교적 충분한 반면 다른 손상유형은 학습 데이터 세트를 확보하는 데 어려움이 있고, 에지 검출 알고리즘 기반 방식으로도 탐지가 되는 균열에 비해 백태, 부식, 누수 등은 분류에 필요한 특징을 추출하는 것이 더 어렵다는 문제가 있다. 또한 기존의 전통적인 기계학습 분류모델과 최근 딥러닝 계열의 분류모델들은 대부분 Close set 인식 모델로서, 학습된 클래스들에 한해서만 분류 및 인식을 수행할 수 있다. 이는 실제 환경에서 인식 시스템을 운영할 때 광범위한 문제를 초래할 수 있으며, 교량 원본 이미지에 대해서 다중손상탐지를 수행할 때 역시 알려지지 않은 배경 이미지나 학습되지 않은 손상유형의 이미지에 의해서 오분류 및 오인식 문제가 발생할 수 있다.

Close set 인식 모델은 새로운 이미지가 입력되었을 때 학습된 클래스에 대해서만 분류할 수 있다는 구조적인 문제를 지니고 있는데, 현실 세계의 모든 클래스를 정의한다는 것은 실질적으로 불가능하고 새로운 이미지 입력이 발견될 때마다 인식 시스템의 클래스를 추가해서 재학습 및 업데이트하는 방식 또한 물리적으로 많은 시간과 비용이 소요된다(Bendale and Boult, 2015; Scheirer et al., 2012). 그러므로 알려진(학습된) 객체 클래스 및 무수히 많은 알려지지 않은 객체들의 조합으로 이루어진 Open set에 대한 인식 기능을 수행할 수 있는 Open set 인식 모델이 필요하다.

본 논문에서는 5가지 손상유형을 분류할 수 있는 CNN 계열 딥러닝 모델과 Open set 인식을 달성하기 위한 극치 이론 기반 메타 인식 알고리즘이 적용된 교량 구조물 다중손상 인식 모델을 제안한다. 교량 구조물 손상유형은 일반 균열, 망상 균열, 백태, 부식, 누수의 5가지 클래스로 정의하였으며 실제 환경에서의 성능 분석을 위해 한국도로공사 도로교통연구원에서 UAV (Unmanned Aerial Vehicle) 및 레일 카메라, 핸드드릴 카메라 등의 다양한 영상 장비로 촬영한 서해대교, 금당교, 연대교의 교량 원본 이미지들을 대상으로 슬라이딩 윈도우(Sliding Window) 방식을 적용해 Open set에서의 교량 다중손상 인식 실험을 진행하였다(KECRI, 2020).

본 논문의 구성은 다음과 같다. 2장에서는 Open set 인식 연구와 OpenMax 알고리즘에 관한 관련 연구를 기술하고 3장에서는 OSR 기반 5가지 교량 손상유형 인식 모델의 전반적인 구조 및 세부 사항을 기술한다. 4장에서는 성능평가 방법과 함께 제안 모델의 실험 결과를 보인다. 마지막으로 5장에서는 결론과 향후 연구 방향에 관하여 기술한다.

2. 관련 연구

2.1 Open Set Recognition

현실 세계는 개방형 환경이므로 객체 인식을 포함한 일반적인 패턴 인식 모델이 적용될 때 실제 실험 단계에서는 알려지지 않은 예제, 즉 학습된 클래스에 속하지 않는 예제가 입력될 수 있다. 알려지지 않은 예제의 경우 알려진 예제(학습된 클래스의 예제)와 구별할 수 있어야 하며 또한 알려진 예제는 학습된 클래스로 올바르게 분류되어야 한다. 이런 더 복잡한 인식 작업을 Open set 인식(Open Set Recognition, OSR)이라고 하며 보통 $C$개의 알려진 클래스와 추가로 알려지지 않은 클래스가 있는 $(C+1)$ 클래스 분류 문제이다(Scheirer et al., 2012).

기존의 신경망, SVM 등 전통적인 기계학습 분류모델들과 CNN으로 대표되는 최근의 딥러닝 분류모델들은 대부분 Close set 인식 모델로서, 학습된 클래스에 대해서만 분류 및 인식이 가능하다는 한계점이 있다. 교량 손상 인식 시스템을 포함한 현재 대다수의 인식 시스템은 모든 클래스가 알려져 있다는 정적이고 폐쇄적인 세계의 모델을 가정하고 있기 때문에 동적이고 개방적인 특징을 가지고 있는 현실 세계에서의 실제 운영은 필연적으로 여러 가지 문제를 초래한다(Bendale and Boult, 2015). Close set 인식 모델은 학습 단계에서 미리 정의한 $C$개의 알려진 클래스만 학습하기 때문에 실제 실험에서 하늘, 물 등의 배경 이미지나 미리 정의되지 않은 또 다른 교량 손상에 해당하는 이미지가 들어왔을 때 역시 사전 학습된 클래스로만 분류한다. 이는 인식 시스템의 전체 정확도와 신뢰도를 심각하게 떨어뜨리는 주요 원인이 되며 잘못된 교량 손상 점검 결과로 이어질 수 있다.

따라서 우리는 Open set 인식 기능을 수행할 수 있는 OpenMax 알고리즘을 본 연구에서 설계된 VGGNet 구조 기반 CNN 분류모델에 적용해서 이 문제를 해결하고자 했으며 교량 손상 이미지 인식 실험 결과를 통해 성능을 입증했다.

2.2 OpenMax

컴퓨터 비전 문제에서 전통적인 다중 클래스 분류는 학습 과정에서 사용되는 알려진 클래스(Known Known Classes, KKCs)만 고려해왔는데, CNN을 비롯한 심층 신경망 기반 분류모델 또한 알려진 클래스에 대해서만 분류가 가능한 Close set 인식 모델이다. 대부분의 심층 신경망에서 마지막 완전 연결 계층(Fully-connected Layer)의 출력은 SoftMax 함수에 연결되어 N개의 알려진 클래스 레이블에 대한 확률분포를 생성한다. SoftMax 함수는 입력 벡터를 0~1 사이의 실수값을 가지는 범주형 확률분포로 정규화하는 함수로서 Eq. (1)과 같이 출력값들의 총합이 항상 1이 되는 특성을 가진 함수이다. 이런 특성을 가지고 있기 때문에 일반적인 심층 신경망 계열 분류모델은 Close set 인식 모델이 되며 학습 단계에서 알려지지 않은 클래스(Unknown Unknown Classes, UUCs)에 대해서는 고려되지 않는다(Bendale and Boult, 2016).

(1)
$P(y=j \vert x)=\dfrac{e^{v_{j}(x)}}{\sum_{i=1}^{N}e^{v_{i}(x)}}$

그러나 실제 교량 원본 영상에 대해서 이러한 Close set 인식 모델을 적용해서 탐지 작업을 수행하게 되면 배경 이미지 또는 분류모델에서 학습되지 않은 다양한 클래스의 이미지가 입력으로 들어와서 Open set 인식 문제가 되므로 기존 Close set 인식 모델로는 해결할 수 없다. 학습되지 않은 이미지 입력에 대해서 모든 클래스의 확률이 낮은 값을 지닐 경우 일정 임계값을 통해 알려지지 않은 클래스를 거부해서 해결하려는 연구가 있었으나, 심층 신경망 기반 다중 클래스 분류모델은 알려지지 않은 클래스의 입력 이미지 데이터 또한 높은 확률로 학습한 클래스 중 하나로 예측하기 때문에 특정 임계값을 설정해서 거부하는 방식은 대부분의 경우 유효하지 않다(Nguyen et al., 2015).

OpenMax 모델(Bendale and Boult, 2016)은 SoftMax 계층을 확장한 대안으로써 알려진 클래스의 합이 1이 될 확률에 대한 제한을 교정하고 알려진 입력값에서 멀리 떨어진 입력값을 거부할 수 있는 확률값을 추정한다. 이를 위해 심층 신경망의 끝에서 두 번째 계층에 위치해 있는 완전 연결 계층에서 출력되는 Logit Vector를 이용하여 클래스별 평균 Logit Vector를 구하고, 클래스별 평균 Logit Vector와 학습 데이터 간에 계산된 거리값의 극치값 표본들을 통해 클래스별 극치 분포를 추정한다. 이 과정을 극치 이론(Extreme Value Theory) 기반 다중 클래스 메타 인식(Meta-Recognition) 알고리즘이라고 하는데, 사전 연구를 통해 이러한 분포가 일반화 극치 분포(Generalized Extreme Value distribution, GEV) 모형 중 Weibull 분포를 따른다는 것이 입증됐다(Fisher and Tippett, 1928; Jenkinson, 1955; Scheirer et al., 2011).

실제 Open set 인식 단계에서는 새로운 이미지 데이터가 입력되면 각 클래스별 Weibull 분포와의 누적분포함수 계산으로 각 클래스 평균 Logit Vector와의 거리 극단 확률을 추정하고 이를 알려지지 않은 클래스에 대한 가중치로 두어 완전 연결 계층의 Logit Vector를 수정한다. 본 논문에서는 일반 균열, 망상 균열, 백태, 부식, 누수의 5가지 교량 손상 클래스를 정의하고 VGGNet 구조 기반 CNN 분류모델로 학습한 다음, 후처리(Post-processing) 단계로 OpenMax 알고리즘을 적용해서 실제 실험 데이터가 입력되었을 때 학습 클래스에 대한 SoftMax 확률값을 교정하고 배경이나 기타 정의하지 않은 교량 손상 등 알려지지 않은 클래스에 대한 확률값을 추정하였다.

3. OSR 기반 교량 구조물 다중손상 인식 모델

본 연구에서는 실제 교량 구조물 이미지에서의 교량 다중손상탐지를 위해 Open set 인식 기능을 수행할 수 있는 OpenMax 알고리즘 기반 교량 다중손상 분류모델을 설계했으며, 전체적인 구조도는 Fig. 1과 같다. 일반 균열, 망상 균열, 백태, 부식, 누수로 구성된 총 5가지의 교량 손상유형 데이터 세트를 VGGNet 기반의 심층 신경망으로 학습시킨 후, 학습된 모델의 활성화 벡터를 클래스별 Weibull 분포의 CDF 확률 계산을 통해 교정하는 과정을 거친다. 교정 과정에서 알려지지 않은 클래스(Unknown Class)에 대한 활성화 벡터가 계산되어 최종적으로는 5 + 1 형태의 클래스에 대한 SoftMax 확률값이 계산된다. 이를 통해 슬라이딩 윈도우 방식의 탐색 과정에서 배경이나 기타 사물 등 학습되지 않은 클래스에 해당하는 이미지가 입력으로 들어와도 알려지지 않은 클래스로 거부되어 효과적인 처리가 가능하다.

Fig. 1. OSR-Based Bridge Structure Multiple Damage Recognition Model Architecture
../../Resources/KSCE/Ksce.2022.42.1.0117/fig1.png

3.1 교량 구조물 다중손상 분류모델

딥러닝 기반의 영상처리는 다양한 영역의 연구들에서 뛰어난 성능을 보이고 있지만, 교량 구조물 손상에 대한 이미지 분류 연구는 분류 대상이 균열 손상유형 1종으로 한정된 경우가 많을뿐더러 분류 정확도 또한 상대적으로 낮다. 본 연구에서는 교량 손상유형 분류 범위를 확장하기 위해 일반 균열, 망상 균열, 백태, 부식, 누수의 총 5가지 교량 손상 클래스를 정의하고 이미지 데이터 세트를 구축했다. 5가지 교량 손상 이미지 데이터를 학습시키기 위한 심층 신경망은 VGGNet 모델(Simonyan and Zisserman, 2014)을 기반으로 설계되었다.

본 연구에서는 최적의 교량 다중손상 분류모델 학습을 위해 VGGNet 연구팀의 실험에서 최고 성능을 보인 VGG-16과 VGG-19 모델 구조를 기반으로 심층 신경망 네트워크를 설계하였다. VGGNet 연구팀의 실험에서는 227×227 크기의 RGB 이미지를 입력으로 사용하였지만 본 실험에서는 정밀한 손상탐지를 위해 64×64 크기의 RGB 이미지를 입력으로 사용했기 때문에 전체적인 구조 및 합성곱 계층과 완전 연결 계층에 사용된 하이퍼 파라미터를 조정할 필요가 있었다. 컨볼루션 레이어와 풀링 레이어(Pooling Layer)의 개수 및 하이퍼 파라미터 조정은 각 특징맵 출력 크기와 최종 분류 클래스 개수를 고려해서 결정되었으며, 세부적인 네트워크 구조는 Table 1과 같다. 컨볼루션 레이어의 필터 크기와 풀링 레이어의 필터 크기는 VGGNet 연구팀과 동일하게 각각 3×3과 2×2 크기를 유지했다. 또한 각 풀링 레이어 이전에 배치 정규화(Batch Normalization)를 수행하게 함으로써 학습 시 입력값들의 평균 및 분산 조정을 같이 조절하게끔 하였다. 이를 통해 학습 속도를 향상시키고 국소 최적(Local Optimum) 문제에 빠질 가능성을 줄일 수 있다.

Table 1. Bridge Multiple Damage Class Learning Model Structure

Layer Type

Filters

Size

Output Shape

Convolutional (Dropout)

64

3×3

64×64

Convolutional (Batch Normalization)

64

3×3

64×64

Maxpool

2×2

32×32

Convolutional (Dropout)

128

3×3

32×32

Convolutional (Batch Normalization)

128

3×3

32×32

Maxpool

2×2

16×16

Convolutional (Dropout)

256

3×3

16×16

Convolutional (Dropout)

256

3×3

16×16

Convolutional (Dropout)

256

3×3

16×16

Convolutional (Batch Normalization)

256

3×3

16×16

Maxpool

2×2

8×8

Convolutional (Dropout)

512

3×3

8×8

Convolutional (Dropout)

512

3×3

8×8

Convolutional (Dropout)

512

3×3

8×8

Convolutional (Dropout)

512

3×3

8×8

Convolutional (Dropout)

512

3×3

8×8

Convolutional (Dropout)

512

3×3

8×8

Convolutional (Dropout)

512

3×3

8×8

Convolutional (Batch Normalization)

512

3×3

8×8

Maxpool

2×2

4×4

Dense (Dropout)

Global

1024

Dense (Dropout)

Global

1024

Dense (Softmax)

Global

5

3.2 교량 구조물 다중손상 분류모델에서의 UUCs 확률 추정

본 논문에서는 Open set에 대한 SoftMax 함수 출력값을 교정하기 위해 OpenMax 알고리즘을 적용하였으며, 이 과정은 Fig. 2와 같이 크게 극치 이론 기반 클래스별 Weibull 분포를 추정하는 과정과 각 클래스별 평균 Logit Vector 및 Weibull 분포를 이용하여 SoftMax 확률을 교정하는 OpenMax 확률 추정과정으로 구분된다. 우선 5가지 교량 손상유형 데이터 세트로 학습시킨 VGGNet 모델을 통해 학습 과정 중에 사용된 교량 손상 이미지에 대해서 분류모델이 올바른 클래스로 예측한 데이터들을 추려낸다. 이는 Weibull 분포 추정과정에서 잘못 분류된 학습 데이터들을 배제하기 위함이며, 올바르게 분류된 모든 학습 데이터들을 대상으로 VGGNet의 마지막에서 두 번째 계층에서 출력되는 Logit Vector를 추출한 뒤 5가지 교량 손상 클래스별 평균 활성화 벡터(Mean Activation Vector)를 계산한다. 일반적인 심층 신경망 분류모델 구조에서는 최종적으로 SoftMax 계층이 위치하는데, 최종 SoftMax 계층에서는 의도적으로 로지스틱 분포를 따르도록 재정규화되기 때문에 이에 대한 직접적인 극치값 분포 추정은 적합하지 않다. 따라서 VGGNet의 마지막에서 두 번째 계층에 있는 완전 연결 계층(Penultimate network layer)의 출력값으로 나오는 Logit Vector를 활성화 벡터(Activation Vector), 즉 입력 이미지 $x$와 관련된 클래스의 분포로 보고 이를 분석한다. 클래스별 평균 활성화 벡터는 각 클래스 $j$에 대해 올바르게 분류된 모든 학습 예제 $x_{i,\: j}$에 대한 Penultimate network layer의 출력값 $v_{j}(x_{i,\: j})$의 평균값(mean)을 취한다.

Fig. 2. Estimation of UUCs Probability in Bridge Multiple Damage Classification Model
../../Resources/KSCE/Ksce.2022.42.1.0117/fig2.png

다음으로는 각 교량 손상 클래스별 평균 활성화 벡터와 $x_{i,\: j}$ 사이의 거리를 계산하는데, 이는 각 교량 손상 클래스별 거리 분포 및 Weibull 분포의 매개 변수를 추정하기 위함이다. 클래스별 평균 활성화 벡터를 $\mu_{j}$라고 할 때, 거리 계산은 정규화된 유클리드 거리와 코사인 거리의 가중 조합 거리를 사용하며 Eq. (2)와 같다.

(2)
\begin{align*} distance_{eucos}=\left(\sqrt{\left(\mu_{j}-v_{j}\left(x_{i,\: j}\right)\right)^{2}}\right)/ 200 \\ +\left(1 -\dfrac{\mu_{j}\bullet v_{j}(x_{i,\: j})}{\left . ∥\mu_{j}\right .∥_{2}\bullet\left . ∥ v_{j}(x_{i,\: j})\right .∥_{2}}\right) \end{align*}

Eq. (2)에 의해 구해진 거리값들을 내림차순으로 정렬한 후, 가장 큰 $\eta$개의 샘플값들을 일반 균열, 망상 균열, 백태, 부식, 누수의 손상유형 5종 클래스별로 추출한다. 이 샘플값들은 클래스별 Weibull 분포의 꼬리 크기로 사용되며 $\eta$는 데이터 세트에 따라 적절한 추정을 거쳐 결정된다. 본 연구에서는 각 교량 손상 클래스별로 100개의 샘플값이 사용되었는데, 이 값들을 통해 최대우도추정법(Maximum Likelihood Estimation)으로 5개 클래스의 Weibull 분포에 피팅해서 형상 매개변수(shape parameter) $\alpha$와 척도 매개변수(scale parameter) $\beta$를 추정하였다. Weibull 분포 피팅에 사용되는 확률분포함수 $f(x)$는 Eq. (3)과 같다.

(3)
$f(x)=\dfrac{\alpha}{\beta}\left(\dfrac{x}{\beta}\right)^{\alpha -1}e^{-(x/\beta)^{\alpha}},\: \alpha >0,\: \beta >0$

위 첫 번째 과정에서 구해진 각 교량 손상 클래스별 Weibull 분포와 평균 활성화 벡터를 이용하여 OSR 기능을 수행하기 위한 OpenMax 확률 추정을 수행했다. 먼저 기학습된 분류모델에 새로운 실험 이미지 데이터가 입력되었을 때 해당 입력 데이터의 활성화 벡터를 추출한 후, 각 교량 손상 클래스별 평균 활성화 벡터와의 거리를 계산했다. 다음으로 계산된 거리값을 각 교량 손상 클래스별 Weibull 분포의 CDF (Cumulative Distribution Function)에 입력해서 새로운 실험 이미지 데이터의 극치 확률을 계산했다. 결과로 나온 CDF 값은 알려지지 않은 클래스(UUCs)에 대한 가중치 $w(x)$가 되며 활성화 벡터의 각 원소값과 곱하여 갱신과정을 거친다. 알려지지 않은 클래스의 활성화 벡터를 $\hat{v}_{0}(x)$라고 할 때, 갱신과정에서 감소된 각 교량 손상 클래스별 활성화 벡터의 원소값을 합산해서 Eq. (4)와 같이 정의한다.

(4)
$\hat{v}_{0}(x)=\sum_{i=0}^{N}v_{i}(x)(1-w_{i}(x))$

Eq. (4)에서 정의된 $\hat{v}_{0}(x)$을 이용해 알려지지 않은 클래스에 대한 SoftMax 확률값을 Eq. (5)와 같이 계산하였으며, 이와 같은 과정을 거쳐서 교정된 SoftMax 확률, 즉 OpenMax 확률을 통해 알려지지 않은 클래스를 포함한 새로운 실험 이미지 데이터의 클래스 레이블을 예측한다.

(5)
$\hat{P}(y=j \vert x)=\dfrac{e^{\hat{v}_{j}(x)}}{\sum_{i=0}^{N}e^{\hat{v}_{i}(x)}}$

결론적으로 본 연구에서는 교량 다중손상 인식 모델에 입력되는 이미지 데이터의 활성화 벡터와 기학습모델에서 계산된 교량 손상 클래스별 평균 활성화 벡터 및 일정 개수의 거리 샘플값으로부터 생성된 교량 손상 클래스별 Weibull 분포를 이용해 알려지지 않은 클래스에 대한 SoftMax 확률값을 계산하고, 기정의된 교량 손상 클래스들에 대한 SoftMax 확률값을 교정함으로써 Open set 인식 기능 수행을 달성한다.

4. OSR 기반 교량 구조물 다중손상 인식 모델의 실험 결과 및 분석

4.1 교량 구조물 다중손상 데이터 세트 및 실험 환경

본 연구의 실험을 위해 한국도로공사 도로교통연구원에서 영상 촬영한 서해대교 사장교 구간과 금당교, 연대교의 교량 구조물 원본 이미지 데이터를 사용하였다. 서해대교와 금당교, 연대교의 원본 촬영 이미지 중 5가지 손상유형이 발견된 손상 이미지를 직접 분류해서 원본 이미지 데이터베이스를 구축하였다. Fig. 3(a)는 한국도로공사 도로교통연구원으로부터 제공받은 서해대교 사장교 구간의 항공사진으로서, X로 표시된 지역마다 근접 이미지가 확보되어있으며 이에 대한 시설물 이미지를 수집했다. Fig. 3(b), (c), (d)는 서해대교 사장교 구간의 주탑 외부, 주탑 내부, 케이블 결합부에 대한 근접 이미지 예시이다. 촬영된 각도와 촬영거리, 빛의 세기 등을 고려해 근접 이미지들을 필터링하고 필터링 된 근접 이미지에서 일반 균열, 망상 균열, 백태, 부식, 누수 손상에 대한 이미지 샘플 데이터를 확보했다.

손상 부위의 정밀한 탐색을 위해 손상 이미지의 크기를 64×64로 수집하였으며, 이미지 수평/수직 반전, 회전 및 방향 이동 등의 기하학적 2차원 변환 기법과 모션 블러, 일그러짐, 가우시안 노이즈 등의 잡음 추가를 통해 이미지 증강작업을 수행했다. 이는 부족한 학습 데이터의 충분한 수량 확보와 학습모델의 과적합을 방지하기 위함으로써, 교량 구조물 손상유형 이미지 데이터 세트의 세부 사항은 Table 2와 같다. 알려지지 않은 클래스에 대한 실험 데이터는 실제 교량 손상유형 탐지를 진행할 교량 구조물 원본 촬영 이미지 5장에서 총 2,500장을 수집했다. 알려지지 않은 클래스에 해당하는 객체 이미지는 하늘, 물 등의 배경과 기타 각종 기자재, 교량 내부와 주변의 다양한 영역이 포함된다. 본 연구의 실험 환경 구성은 Table 3과 같고 Fig. 4는 5가지 교량 손상 클래스 예시 이미지 및 알려지지 않은 클래스의 실험 데이터로 사용한 예시 이미지이다.

Fig. 3. Aerial Photograph and Close-Up Images of Seohae Grand Bridge
../../Resources/KSCE/Ksce.2022.42.1.0117/fig3.png
Fig. 4. Bridge Multiple Damage Open Set Images
../../Resources/KSCE/Ksce.2022.42.1.0117/fig4.png
Table 2. Details of the Bridge Multiple Damage Data Set

Damage Class

Train Set

Validation Set

Test Set

Original Resolution

Normal Crack

20,000

12,000

8,000

5472×3648

Reticular Crack

20,000

12,000

8,000

1536×1536

Efforescence

20,000

12,000

8,000

2048×2048

Corrosion

20,000

12,000

8,000

5472×3648

Leakage

20,000

12,000

8,000

1536×1536

Unknown Class

2,500

Total

100,000

60,000

42,500

Table 3. Experiment Environment

Experiment Specification

CPU

Intel Core i9-10850K@3.60 GHz

GPU

NVIDIA GeForce RTX 3080

Memory

32 GB

OS

Window 10

Train Model Option

Learning Rate

0.0005

Batch Size

128

Epochs

100

Optimizer

Adam

4.2 성능 지표

본 논문에서는 Close set에 대한 성능과 Open set에 대한 성능을 별도로 고려해서 모델 성능을 분석했다. Open set 인식 문제에서 알려진 클래스(학습된 클래스)를 분류하는 것은 알려지지 않은 클래스(학습되지 않은 클래스)를 거부하는 것과 동등하게 중요한 문제이므로 이를 통해 분류기의 차별적 기능을 자세히 분석할 수 있다. 먼저 Close set 분류 성능은 학습 데이터에 의해 제공된 알려진 클래스를 구분하는 분류기의 성능으로 정의할 수 있다. 이를 위해 Open set 감지가 비활성화된 상태에서 5개의 교량 손상 클래스에만 적용된 분류기의 분류 정확도를 측정하며 학습 데이터에도 존재하는 실험 클래스, 즉 $classes\in Y_{tr}\cap Y_{t}$만 고려한다. 만약 Open set 분류기가 참 라벨을 가진 실험 데이터를 알려지지 않은 클래스로 거부할 경우에는 거짓 부정(False Negative)으로 간주했다(Scherreik and Rigling, 2016). 분류 성능은 일반적인 척도로 사용되는 클래스별 분류 정확도의 평균인 평균 정확도(Average Accuracy, AA)를 사용하였으며 Eq. (6)과 같다(Neal et al., 2018).

(6)
$AA =\dfrac{1}{C}\sum_{i=1}^{C}\dfrac{TP_{i}+ TN_{i}}{TP_{i}+ TN_{i}+FP_{i}+ FN_{i}}$

Open set에 대한 성능평가는 알려진 각 클래스에 대한 표준 다중 클래스 분류에서 발생하는 오류 및 알려진 클래스와 알려지지 않은 클래스 간의 오류를 추적해서 측정해야 한다. 본 논문에서는 Open set에 대한 성능 지표로서 F1 Score를 사용하였으며, Open set 인식 실험의 경우 F1 Score가 실제 부정 데이터로 부풀려지지 않기 때문에 일반적인 정확도를 사용한 성능평가보다 더 적절하다(Bendale and Boult, 2016; Scheirer et al., 2012). F1 Score는 정밀도와 재현율의 조화평균으로서 정밀도는 모든 거짓 및 참 긍정 예제에 대하여 실제로 올바르게 분류된 긍정 예제의 비율을 나타내고, 재현율은 모든 긍정 예제의 총 숫자에 대해 올바르게 분류된 긍정 예제의 비율이다. Open set 모델의 경우 정밀도는 전체 예측된 Open set 데이터에 대해 올바르게 예측된 Open set 데이터의 비율을, 재현율은 모든 실제 Open set 데이터에 대해 올바르게 예측된 Open set 데이터의 비율을 의미한다(Sun et al., 2019). 본 논문에서는 알려지지 않은 클래스를 포함한 각 클래스의 F1 Score의 평균값인 Macro F1 Score를 사용하였으며 정의는 Eq. (7)과 같다(Liu et al., 2020).

(7)
$F_\text {Macro_Score}^{1}=\dfrac{1}{C+1}\sum_{i=1}^{C+1}\left(2\times\dfrac{Precision\times Recall}{Precision + Recall}\right)_{i}$

4.3 OpenMax 기반 교량 구조물 다중손상 인식 모델 실험 결과

먼저 기학습된 5가지 교량 손상 클래스에 대한 인식 성능을 평가하기 위해 SoftMax 함수를 사용한 분류모델과 OpenMax 알고리즘을 적용한 분류모델의 평균 정확도를 Table 4와 같이 비교했다. Close set에 대한 성능평가이므로 알려지지 않은 클래스에 해당하는 이미지는 실험에 사용되지 않았다. 5가지 교량 손상 클래스에 대한 평균 정확도를 비교한 결과 SoftMax 함수를 사용한 분류모델이 99.98 %, OpenMax 알고리즘을 적용한 분류모델이 99.97 %로서 두 모델 간의 Close set 인식 성능은 거의 차이가 없음을 알 수 있었다.

Table 4. Close Set Recognition Comparison Table of SoftMax and OpenMax

Method

Accuracy (%)

Average Accuracy

Normal Crack

Reticular Crack

Efforescence

Corrosion

Leakage

SoftMax

100

99.95

100

100

99.95

99.98 %

OpenMax

99.98

99.90

99.98

99.98

99.99

99.97 %

다음으로는 SoftMax 함수를 사용한 분류모델과 OpenMax 알고리즘을 적용한 분류모델의 Open set에 대한 인식 성능평가를 진행하였다. 본 실험의 Open set은 5가지 교량 손상 클래스와 알려지지 않은 클래스(Unknown Class)로 구성되는데, 실제 교량 다중손상탐지 실험에 사용된 서해대교와 금당교, 연대교의 원본 촬영 이미지 5장에서 64×64 크기로 배경, 주변 각종 기자재 및 교량 손상유형 5종과 전혀 관계없는 교량 내부 영역의 Unknown class 실험 이미지 2,500장을 수집하였다. SoftMax 함수를 사용한 분류모델과 OpenMax 알고리즘을 적용한 분류모델의 인식 성능 비교를 위해 SoftMax 함수를 사용한 분류모델의 경우 임계값($\theta$)을 0.5에서 0.9까지 변경하면서 어떠한 입력 이미지 $x$에 대해 클래스 $j$로 예측된 SoftMax 확률값이 $\theta$ 미만이면 Unknown class로 분류하게끔 설정하였다. Table 5는 실제 교량 다중손상탐지 실험에 사용된 원본 촬영 이미지에 대한 Open set 인식 실험 결과이다.

우선 SoftMax 함수를 사용한 분류모델의 경우 임계값($\theta$)을 0.9로 가장 엄격하게 설정했을 때 Unknown class의 F1 Score가 26.77 %, Macro F1 Score가 85.59 %로서 SoftMax 함수를 사용한 모델에서는 가장 높게 나타났다. 다만 인식 시스템의 관점에서 임계값을 너무 엄격하게 설정했을 경우 5가지 교량 손상 클래스에 해당하는 실험 이미지까지 Unknown class로 거부할 가능성이 있다.

반면 OpenMax 알고리즘을 적용한 교량 다중손상 분류모델은 임계값($\theta$)을 0.9로 설정한 SoftMax 함수 분류모델과 비교했을 때 5가지 교량 손상 클래스의 F1 Score에서는 일반 균열과 망상 균열, 부식은 각각 1.88 %, 2.45 %, 1.75 %의 차이로 개선된 성능을 보였고, 백태와 누수는 각각 1.47 %, 0.56 % 정도 하락했다. Unknown class의 F1 Score는 31.1 %의 비교적 큰 성능 차이가 나타났으며 Macro F1 Score 역시 약 5.85 %의 차이로 Open set 인식 시스템에서 OpenMax 알고리즘을 적용한 분류모델이 확실히 더 유효한 성능을 보였다.

Table 5. Open Set Recognition Comparison Table of SoftMax and OpenMax

Class

F1 Score (%)

SoftMax

($\theta <0.5$)

SoftMax

($\theta <0.6$)

SoftMax

($\theta <0.7$)

SoftMax

($\theta <0.8$)

SoftMax

($\theta <0.9$)

OpenMax

Normal Crack

97.14

97.14

97.20

97.26

97.62

99.50

Reticular Crack

96.92

96.94

96.94

96.93

96.95

99.40

Efforescence

97.03

97.08

97.15

97.29

97.59

96.12

Corrosion

96.99

97.00

97.07

97.14

97.35

99.10

Leakage

96.92

96.99

97.05

97.10

97.24

96.68

Unknown Class

5.51

7.06

10.58

14.69

26.77

57.87

Macro F1 Score

81.75 %

82.03 %

82.66 %

83.40 %

85.59 %

91.44 %

5. 결 론

본 연구에서는 기존에 주로 균열 1종으로 국한되어있던 딥러닝 기반 교량 손상탐지 연구의 범위를 확장하고자 교량 구조물에서 발생할 수 있는 교량 손상유형을 일반 균열, 망상 균열, 백태, 부식, 누수의 5가지 클래스로 정의하고 실제 데이터 세트 구축 및 VGGNet 기반 다중 분류모델로 학습시켰다. 하지만 VGGNet을 포함한 일반적인 딥러닝 분류모델은 Close set 분류모델이기 때문에 실제 인식 시스템으로 적용하기에는 한계가 있다. Close set 분류모델은 새로 입력된 이미지에 대해서 학습된 클래스 중 하나로만 분류할 수 있다는 구조적인 문제가 있는데, 다양한 영상 장비를 통해 촬영된 실제 교량 촬영 이미지에서 손상탐지를 진행할 경우 배경, 주변 기자재, 혹은 아직 정의되지 않은 또 다른 손상 클래스 등의 이미지가 입력될 수 있다. Close set 분류모델 기반 인식 시스템에서는 상기 이미지들 또한 기정의된 클래스 중 하나로 인식하기 때문에 이는 전체 시스템의 심각한 인식 성능 저하로 이어진다. 우리는 이러한 Close set 분류모델의 약점을 보완하고 학습되지 않은 이미지로 인한 오인식을 줄이기 위해서 Open set 인식 기능을 수행할 수 있는 OpenMax 알고리즘 기반 교량 구조물 다중손상 인식 모델을 제안했다.

본 연구에서는 일반 균열, 망상 균열, 백태, 부식, 누수의 5가지 교량 손상 클래스를 제외한 나머지 기타 객체 이미지들을 알려지지 않은 클래스로 보고 OpenMax 알고리즘을 통하여 교량 다중손상 분류모델의 최종 SoftMax 출력값이 알려지지 않은 클래스에 대한 확률값을 추정해서 거부할 수 있도록 설계했다. 실제 실험은 한국도로공사 도로교통연구원에서 영상 촬영한 서해대교와 금당교, 연대교의 교량 촬영 이미지를 대상으로 진행되었으며, Close set 분류 실험과 Open set 분류 실험을 통해 제안 모델의 인식 성능평가를 수행하였다. 학습에 사용된 5가지 교량 손상 클래스로만 구성된 Close set 분류 실험에서는 SoftMax 함수를 사용한 분류모델과 OpenMax 알고리즘 기반 교량 다중손상 분류모델 간에 0.01 %의 평균 정확도 차이로 거의 동일한 분류 성능을 보였다. 다음으로 배경이나 기타 객체 등 알려지지 않은 클래스가 포함된 Open set 분류 실험 결과, OpenMax 알고리즘 기반 분류모델이 SoftMax 함수를 사용한 분류모델 대비 알려지지 않은 클래스의 F1 Score에서 31.1 %, Macro F1 Score에서 5.85 % 더 우수한 분류 성능을 나타냄으로써 실제 교량 촬영 이미지에서 다중손상탐지를 수행할 때 학습되지 않은 입력 이미지로 인한 오인식을 확실히 감소시킬 수 있었다.

현재 OSR (Open Set Recognition) 연구는 극치 이론, GAN (Generative Adversarial Network) 등 다양한 방법론들을 이용해 여러 영역에서 활발히 진행되고 있다. 그만큼 성능 향상의 여지가 많다고 전망할 수 있으며 응용 분야의 폭 역시 넓다. 딥러닝 기반 분류모델을 이용해 실제 교량 등의 구조물에서 손상탐지를 수행할 경우 높은 가능성으로 학습되지 않은 이미지들이 인식 시스템으로 입력되는 경우가 존재할 수 있으므로 OSR 기반 연구는 꾸준히 진행될 필요가 있다.

또한 교량 손상탐지뿐 아니라 균열의 길이와 폭, 부식의 깊이 등과 같은 손상의 크기 및 규모를 검출하는 것도 중요하므로 향후 연구에서는 회귀모형을 갖춘 딥러닝 객체 검출 모델로의 확장과 함께 깊이 정보를 추출할 수 있는 ToF (Time of Flight) 카메라, 스테레오 카메라, 레이저 스캐너 등을 활용해서 탐지된 손상 영역에 대한 손상 상세정보 검출 연구를 이어나갈 예정이다. 더불어 교량 손상유형 데이터 세트를 보다 정교하고 더 다양한 클래스로 확장 구축함과 동시에 여러 가지 OSR 방법론들을 적용해서 상호 간의 성능 비교 및 개선방안을 연구해 나갈 계획이다.

Acknowledgements

본 연구는 국토교통부/국토교통과학기술진흥원의 지원으로 수행되었음(22LTSM-B156015-03).

References

1 
Bendale A., Boult T. E. (2015). "Towards open world recognition.", Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Boston, Massachusetts, USA, pp. 1893-1902URL
2 
Bendale A., Boult T. E. (2016). "Towards open set deep networks.", Proceedings of the IEEE Conference on Computer Vision and pattern Recognition, Las Vegas, Nevada, USA, pp. 1563-1572URL
3 
Cha Y. J., Choi W. R., Büyüköztürk O. (2017). "Deep learning-based crack damage detection using convolutional neural networks.", Computer‐Aided Civil and Infrastructure Engineering, Vol. 32, No. 5, pp. 361-378DOI
4 
Fisher R. A., Tippett L. H. C. (1928). "Limiting forms of the frequency distribution of the largest or smallest member of a sample.", Mathematical Proceedings of the Cambridge Philosophical Society, Cambridge University Press, Vol. 24, No. 2, pp. 180-190DOI
5 
Jenkinson A. F. (1955). "The frequency distribution of the annual maximum (or minimum) values of meteorological elements.", Quarterly Journal of the Royal Meteorological Society, Vol. 81, No. 348, pp. 158-171DOI
6 
Kim S. M., Sohn J. M., Kim D. S. (2020). "A method for concrete crack detection using U-Net based image inpainting technique.", Journal of The Korea Society of Computer and Information, Vol. 25, No. 10, pp. 35-42 (in Korean)DOI
7 
Korea Expressway Corporation Research Institute (KECRI) (2015). "Prediction model for long-term maintenance costs of highway bridges (in Korean)."Google Search
8 
Korea Expressway Corporation Research Institute (KECRI) (2020). "Image-based inspection techniques of bridge for seoul–sejong expressway (in Korean)."Google Search
9 
LeCun Y., Bottou L., Bengio Y., Haffner P. (1998). "Gradient-based learning applied to document recognition.", Proceedings of the IEEE, Vol. 86, No. 11, pp. 2278-2324DOI
10 
Liu Y., Tang Y., Zhang L., Liu L., Song M., Gong K., Peng Y., Hou J., Jiang T. (2020). "Hyperspectral open set classification with unknown classes rejection towards deep networks.", International Journal of Remote Sensing, Vol. 41, No. 16, pp. 6355-6383DOI
11 
Neal L., Olson M., Fern X., Wong W. K., Li F. (2018). "Open set learning with counterfactual images.", Proceedings of the European Conference on Computer Vision, ECCV, Munich, Germany, pp. 1-16URL
12 
Nguyen A., Yosinski J., Clune J. (2015). "Deep neural networks are easily fooled: High confidence predictions for unrecognizable images.", Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Boston, Massachusetts, USA, pp. 427-436URL
13 
Özgenel Ç. F. (2019). "Concrete crack images for classification.", Mendeley Data, Version 2DOI
14 
Park J. M., Kim H. S., Shin D. H., Park M. S., Kim S. H. (2019). "A study on machine learning algorithm suitable for automatic crack detection in wall-climbing robot.", Kips Transactions on Software and Data Engineering, Vol. 8, No. 11, pp. 449-456 (in Korean)DOI
15 
Scheirer W. J., Rocha A. R., Sapkota A., Boult T. E. (2012). "Toward open set recognition.", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 35, No. 7, pp. 1757-1772DOI
16 
Scheirer W. J., Rocha A., Micheals R. J., Boult T. E. (2011). "Meta-recognition: The theory and practice of recognition score analysis.", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 33, No. 8, pp. 1689-1695DOI
17 
Scherreik M. D., Rigling B. D. (2016). "Open set recognition for automatic target classification with rejection.", IEEE Transactions on Aerospace and Electronic Systems, Vol. 52, No. 2, pp. 632-642DOI
18 
Seol D. H., Oh J. H., Kim H. J. (2020). "Comparison of deep learning-based CNN models for crack detection.", Journal of The Architectural Institute of Korea Structure & Construction, Vol. 36, No. 3, pp. 113-120 (in Korean)DOI
19 
Simonyan K., Zisserman A. (2014). "Very deep convolutional networks for large-scale image recognition.", arXiv preprint arXiv:1409.1556.URL
20 
Sun X., Li X., Ren K., Song J. (2019). "Solving the defect in application of compact abating probability to convolutional neural network based open set recognition.", 2019 IEEE 31st International Conference on Tools with Artificial Intelligence, ICTAI, Portland, USADOI