PIDNet 기반 실시간 콘크리트 균열 탐지 모델 구현
초록
본 연구에서는 콘크리트 표면의 균열을 실시간으로 정확하게 탐지하기 위해 PIDNet 기반의 딥러닝 모델을 제안한다. PIDNet은 PID(Proportional-Integral-Derivative) 제어기의 개념을 네트워크 아키텍처에 도입하여, 세 가지 분기(branch)를 통해 상세한 특징, 문맥 정보, 경계 정보를 효과적으로 학습하였다. 모델의 학습과 평가는 AI-Hub에서 제공하는 콘크리트 균열 데이터셋을 활용하였으며, 동일한 워크스테이션 환경에서 U-Net, Attention U-Net, U-Net++, Mask R-CNN 등 기존의 대표적인 세그멘테이션 모델들과 비교 실험을 수행하였다. 평가 결과, 제안된 PIDNet 기반 모델은 IoU 92.3%를 기록하며, 기존 모델 대비 우수한 균열 탐지 성능을 보였다. 또한, 처리 속도 25 FPS와 모델 크기 45MB로 실시간 처리와 경량화 측면에서도 뛰어난 효율성을 확인하였다. 따라서, 본 연구의 PIDNet 기반 모델은 콘크리트 구조물의 균열 모니터링 시스템에 효과적으로 적용될 수 있을 것으로 기대된다.
Abstract
In this study, we propose a PIDNet-based deep learning model for accurate real-time detection of cracks on concrete surfaces. By incorporating the concept of Proportional-Integral-Derivative(PID) controllers into the network architecture, PIDNet effectively learns detailed features, contextual information, and boundary data through its three branches. We trained and evaluated the model using a concrete crack dataset provided by AI-Hub and conducted comparative experiments with existing segmentation models such as U-Net, Attention U-Net, U-Net++, and Mask R-CNN under identical workstation conditions. The evaluation results demonstrate that the proposed PIDNet-based model achieved an IoU of 92.3%, outperforming existing models in crack detection performance. Additionally, with a processing speed of 25 FPS and a model size of 45MB, it exhibits excellent efficiency in terms of real-time processing and lightweight design. Therefore, the PIDNet-based model presented in this study is expected to be effectively applicable to crack monitoring systems for concrete structures.
Keywords:
concrete crack detection, real-time crack detection, concrete surface analysis, PIDNetⅠ. 서 론
시설물 및 건축물의 구조적 안전성은 사람들의 일상 생활 및 사회의 안정성에 직접적인 영향을 미치기 때문에 주기적인 점검이 필수적이다. 특히 콘크리트 구조물의 균열은 구조적인 손상의 초기 징후로 간주되며, 균열의 위치와 크기에 따라 구조물 전체의 안전성을 위협할 수 있다[1]. 기존의 균열 검사는 주로 인력에 의존하여 수행되었으며, 이는 비용이 많이 들고 시간 소모가 큰 작업일 뿐 아니라 사람이 접근하기 어려운 높은 장소나 위험한 환경에서는 위험을 수반한다[2]. 이러한 문제를 해결하고자, 최근에는 드론(무인항공기)을 활용한 균열 검출 기술이 각광받고 있다. 드론은 넓은 범위를 빠르게 스캔할 수 있으며, 고해상도 카메라를 탑재하여 인력의 접근이 어려운 장소에서도 손쉽게 데이터를 수집할 수 있다[3].
드론으로 촬영한 영상 데이터는 방대한 양의 이미지 데이터를 생성하기 때문에 이를 실시간으로 분석하기 위해서는 높은 수준의 데이터 처리 기술이 요구된다. 이러한 환경에서 인공지능(AI)과 딥러닝 기술이 도입되면서, 수집된 영상 데이터를 자동으로 분석하고 균열을 정확하게 검출할 수 있는 기술의 중요성이 강조되고 있다[4]. 특히, 최근의 딥러닝 모델들은 객체 검출, 이미지 분류, 세그멘테이션 등 다양한 시각적 분석 작업에서 높은 성능을 보이고 있으며, 이를 기반으로 한 실시간 균열 검출 시스템이 연구되고 있다. 이러한 기술을 통해 시간과 비용을 절감할 수 있을 뿐 아니라, 위험을 최소화하고 분석의 정확성을 향상시킬 수 있다.
기존 영상처리 기술은 콘크리트 균열과 같은 구조적 손상을 탐지하는 데 유용했으나, 몇 가지 한계점이 존재한다. 전통적인 이미지 처리 기법은 주로 에지 감지, 히스토그램 분석, 또는 텍스처 기반 필터링을 이용하여 균열을 탐지하는 방식을 채택했다[1]. 이러한 방법들은 상대적으로 단순한 균열 패턴이나 명확한 대비를 가지는 이미지에서 유효성을 가지지만, 현실 세계의 콘크리트 표면은 조명 조건, 표면 마모, 먼지 및 이물질 등 다양한 외부 요인에 의해 시각적 복잡성을 띠는 경우가 많다[2]. 따라서 전통적인 영상처리 방법으로는 미세한 균열을 안정적으로 검출하거나 실시간 처리를 수행하는 데 어려움이 따른다. 또한, 영상의 품질이 저하되거나 불규칙한 균열 패턴을 포함하는 경우, 기존 기술들은 과검출(Over-detection)이나 미검출(Under-detection) 문제를 야기할 수 있다[3]. 이러한 문제는 특히 높은 정밀도가 요구되는 구조물 안전 모니터링 분야에서 심각한 결과를 초래할 수 있으며, 이에 따라 최근 연구에서는 딥러닝을 이용한 자동화된 분석 기술이 강조되고 있다. 딥러닝 기반의 균열 탐지 모델은 복잡한 환경에서 다양한 균열 패턴을 학습할 수 있는 장점을 가지며, 더욱 향상된 정확성과 신뢰성을 제공할 수 있다. 이를 통해 수집된 영상 데이터를 실시간으로 분석하여 구조적 손상을 즉각적으로 평가할 수 있는 기술적 필요성이 증대되고 있다[4].
드론 기반 균열 탐지에서 가장 중요한 요소 중 하나는 실시간 분석 성능이다. 실시간으로 균열을 검출할 수 있는 시스템은 빠른 응답을 요구하는 현장 점검에 적합하며, 이를 통해 구조물의 상태를 즉각적으로 모니터링하고 필요한 조치를 신속하게 취할 수 있다. PIDNet과 같은 경량화된 딥러닝 모델은 이러한 요구를 충족시키기 위해 개발되었으며, 모바일 및 임베디드 시스템에서도 실행 가능하도록 최적화되어 있다. 따라서 PIDNet 기반 모델을 이용한 실시간 균열 검출 시스템은 현재 구조물 안전 모니터링 분야에서 큰 주목을 받고 있으며, 관련 연구가 활발히 진행되고 있다. 본 논문은 PIDNet기반의 실시간 콘크리트 균열 검출 프로그램을 구현하여 성능을 검증하였다. 본 논문의 2장에서는 관련 연구에 대해 설명하고, 3장에서는 본 논문에서 구현한 콘크리트 균열 검출 모델에 대해 설명한다. 4장에서는 실험방법, 실험환경, 실험 결과에 대해 기술하고 5장에서 결론을 맺는다.
Ⅱ. 관련 연구
콘크리트 구조물의 균열 탐지 연구는 전통적인 영상처리 기법부터 최신의 딥러닝 기반 모델에 이르기까지 다양한 방법을 통해 발전해 왔다. 본 장에서는 기존 영상처리 기법과 딥러닝 기법을 이용한 균열 탐지 연구 동향을 살펴보고, 드론을 활용한 영상 수집과 실시간 분석의 중요성을 논의하고자 한다.
2.1 기존 영상처리 기법을 이용한 균열 탐지 연구
초기 균열 탐지 연구는 에지 감지, 히스토그램 분석, 텍스처 기반 필터링과 같은 전통적인 영상처리 기법에 주로 의존하였다[1]. 이러한 기법들은 비교적 단순한 균열 패턴이나 명확한 대비가 있는 이미지에서 효과적이지만, 다양한 조명 조건과 표면 질감에 민감하여 현실적인 환경에서는 오탐지나 미탐지 문제가 발생할 가능성이 크다[2]. 특히 조명 변화, 표면 마모, 먼지 등으로 인해 콘크리트 표면의 이미지가 복잡하게 변형되는 상황에서는 성능이 급격히 저하되는 한계가 있다[3]. 이러한 한계는 실제 환경에서 균열을 검출하는 데 어려움을 초래하며, 정확한 분석을 위한 기술적 보완이 요구된다
2.2 딥러닝을 이용한 균열 탐지 연구
딥러닝 기술의 발전에 따라 균열 탐지 분야에서는 CNN(Convolutional Neural Network) 기반의 모델이 주목받고 있다. CNN 모델은 다양한 구조적 특징을 학습할 수 있어, 표면의 변형과 무관하게 균열 패턴을 추출하는 데 유리하다. VGGNet, ResNet 등의 CNN 모델은 건축 구조물의 균열 탐지에 활용되어 높은 성능을 보여주었으며, 전통적 기법에 비해 신뢰성 있는 탐지가 가능해졌다[4]. 특히, 최근에는 U-Net, FCN(Fully Convolutional Network), SegNet과 같은 세그멘테이션 모델이 콘크리트 균열을 정밀하게 분할하고 분석하는 데 사용되고 있으며, 이를 통해 균열의 위치, 크기, 방향 등의 세부적인 정보까지 추출할 수 있다[5].
2.3 실시간 균열 탐지를 위한 경량 딥러닝 모델 연구
건축 구조물의 실시간 모니터링이 요구됨에 따라, 드론이나 임베디드 장치에서 작동할 수 있는 경량화된 모델에 대한 연구가 활발히 진행되고 있다. MobileNet, EfficientNet 등 경량화된 딥러닝 모델들은 높은 연산 속도와 낮은 메모리 사용량을 제공하여 실시간 분석에 적합하다. PIDNet은 이러한 경량 모델의 대표적인 예로, 적은 연산 자원으로도 높은 정확도를 유지할 수 있어 드론 기반의 실시간 균열 탐지에 적합한 모델로 평가받고 있다[6]. 경량화된 모델들은 특히 모바일 및 임베디드 시스템에 최적화되어 있어 현장 점검에서 실시간 분석 성능을 제공하는 데 유리하다.
계층적 학습 기반 다중 콘크리트 손상에 대한 의미론적 분할 연구에서는 PIDNet, PropNet, DDRNet 등을 비교 평가하였으며, 작은 손상 탐지 성능이 구조물 점검 기술에서 중요한 요소임을 강조하였다[7]. 특히, PIDNet의 넓은 손상 탐지 성능이 우수하였으나, 작은 손상에서는 PropNet이 더 높은 IoU를 기록하였음을 보고하였다. 이러한 결과는 본 연구의 PIDNet 기반 모델 개선 및 작은 손상 탐지 성능 향상의 필요성을 뒷받침한다.
2.4 드론 영상과 인공지능을 활용한 구조물 검출 연구
드론을 활용한 영상 수집은 넓은 지역의 구조물을 빠르게 점검하고, 접근이 어려운 고층 구조물에서도 안정적으로 데이터를 수집할 수 있어 균열 탐지에 유용하다. 드론은 고해상도 카메라를 탑재하여 높은 품질의 영상을 제공하며, 이를 통해 구조물의 상태를 상세히 분석할 수 있다. 드론 영상 데이터를 실시간으로 분석하기 위해 인공지능 및 딥러닝 기반의 자동 분석 시스템이 도입되고 있으며, 이는 광범위한 영역을 빠르게 검사하고 신속한 조치를 가능하게 한다[8]. 드론 데이터와 인공지능을 통합하여 구축된 시스템은 다양한 환경에서 효과적인 구조물 안전 모니터링을 지원할 수 있다.
Ⅲ. 제안하는 모델의 구현 방법
본 연구에서는 콘크리트 구조물의 균열을 실시간으로 정확하게 탐지하기 위해 PIDNet 기반의 딥러닝 모델을 설계 및 구현하였다. PIDNet 모델은 객체 검출과 세그멘테이션 작업에서 경량화와 높은 정확도를 모두 달성하도록 설계된 네트워크로, 본 연구에서는 이를 기반으로 콘크리트 균열 탐지에 적합하도록 구조를 수정하였다.
본 장에서는 PIDNet의 구조와 분기(branch)별 기능, 각 모듈의 역할, 학습 및 평가 방법을 포함한 모델 구현 과정을 상세히 설명한다.
3.1 PIDNet 아키텍처
PIDNet은 콘크리트 균열 탐지의 정확도와 실시간 분석 성능을 지원하기 위해 I Branch, P Branch, D Branch의 세 가지 분기로 구성되어 있다. 각 분기는 특정한 역할을 담당하며, 이를 통해 균열 위치의 정밀한 예측이 가능하다. 구체적으로, PIDNet은 다중 스케일 특징을 통합하여 다양한 크기와 위치의 균열을 효과적으로 탐지할 수 있도록 설계되었다.
PIDNet의 정보 추출 분기(I Branch)는 입력 이미지의 기본적인 특징을 추출하는 인코더 역할을 수행한다. 이 분기는 다른 분기와의 상호작용을 통해 다양한 스케일의 정보를 전달하여 네트워크의 효율성을 높인다. I Branch는 초기 합성곱 레이어로 구성되며, 입력 이미지를 다운샘플링하여 특징 추출을 시작한다. 이 과정에서는 합성곱 연산과 배치 정규화가 적용되며, ReLU 활성화 함수가 추가되어 비선형성을 부여한다. 또한, BasicBlock과 Bottleneck 블록으로 이루어진 계층 구조가 특징 추출을 단계적으로 수행하여, 단순한 특징부터 추상적인 특징까지 다양한 수준의 정보를 학습할 수 있도록 돕는다. I Branch에서 추출된 특징은 위치 기반 분기(P Branch)와 세부 정보 추출 분기(D Branch)로 전달되어 최종 분석에 기여한다.
위치 기반 분기(P Branch)는 균열의 위치와 모양 정보를 세분화하여 학습하는 분기로, 특히 선형 형태의 균열 탐지에 있어 세밀한 위치 정보를 제공하는 역할을 한다. 이 분기는 I Branch에서 전달된 특징 지도를 압축하여 처리 효율성을 높이는 압축 레이어(Compression)를 포함하고 있으며, 이를 통해 연산 자원을 절감하면서도 높은 수준의 위치 정보를 유지한다. 또한, P Branch는 위치 정보를 강화하기 위해 PagFM(Position Attention Guidance Feature Module) 모듈을 사용한다. 이 모듈은 두 가지 특징 지도를 병합하여 위치 정보의 정밀도를 높이며, 활성화 함수를 적용하여 더욱 선명한 위치 기반 특징을 학습한다. 아울러, 여러 스케일의 특징을 통합하는 Bag 모듈을 통해 균열의 위치를 보다 정확히 파악할 수 있으며, 이를 통해 최종 위치 정보의 예측 성능이 향상된다.
세부 정보 추출 분기(D Branch)는 균열의 크기, 모양, 질감과 같은 미세한 정보를 학습하여 작은 균열도 놓치지 않고 탐지할 수 있는 정밀도를 제공한다. 이 분기에는 Light_Bag 모듈이 포함되어 있으며, 이는 P Branch와의 상호작용을 통해 작은 균열과 같은 미세한 특징을 효과적으로 포착한다. Light_Bag 모듈은 D Branch와 P Branch 간의 정보를 조화롭게 결합하여 모델의 정밀도를 높이는 중요한 역할을 한다. 또한, D Branch의 최종 출력은 segmenthead 모듈을 통해 세분화 과정을 거치며, 이 모듈은 다중 스케일의 특징을 통합하여 픽셀 단위의 정밀한 균열 지도를 생성한다. 이를 통해 PIDNet은 균열의 위치와 크기를 정확히 예측할 수 있는 능력을 갖추게 된다.
PIDNet의 I, P, D Branch는 상호 보완적인 역할을 수행하며, 각각의 분기에서 얻어진 특징들은 최종적으로 통합되어 균열 탐지의 정확도와 신뢰성을 높인다. 이러한 구조는 다중 스케일 정보를 효율적으로 활용하여 다양한 환경에서도 일관된 성능을 발휘할 수 있도록 한다.
3.2 모듈 구성
PIDNet 모델은 model_utils.py 파일에 정의된 여러 모듈로 구성되어 있으며, 각 모듈은 PIDNet의 분기별로 특화된 작업을 수행하도록 그림 1과 같이 설계되었다.
PIDNet의 성능을 최적화하는 주요 모듈의 기능은 다음과 같다. PagFM(Position Attention Guidance Feature Module) 모듈은 위치 정보를 정밀하게 학습할 수 있도록 설계되었으며, 주로 P Branch에서 사용된다. 이 모듈은 두 개의 입력 특징 지도를 결합할 때 위치 기반 가중치를 적용하여 병합함으로써 위치 정보의 정확성을 높인다. 이를 통해 균열과 같은 선형 구조의 객체 탐지에서 위치 예측 성능이 향상되며, 더욱 세밀한 위치 기반 특징을 학습할 수 있다.
Bag 모듈은 P Branch에서 다중 스케일의 정보를 통합하여 위치 기반 특징을 강화하는 역할을 한다. 다양한 스케일에서 추출된 특징들이 Bag 모듈에서 통합됨으로써 최종 위치 정보가 더욱 강화되며, 균열 탐지의 정확도가 증가한다. 이 모듈은 특히 다양한 크기와 형태를 갖는 균열을 효과적으로 포착하는 데 중요한 역할을 수행한다. Light_Bag 모듈은 D Branch에서 사용되며, 작은 크기의 균열과 같은 미세한 특징을 포착하는 데 최적화되어 있다. 이 모듈은 D Branch와 P Branch에서 전달되는 특징들을 결합하여 작은 균열과 같은 디테일한 특징을 더욱 효과적으로 학습할 수 있도록 돕는다. Light_Bag 모듈의 활용으로 인해 PIDNet 모델은 미세한 균열을 정밀하게 탐지할 수 있으며, 모델의 전체적인 정밀도를 높인다. Segmenthead 모듈은 PIDNet의 최종 출력에서 픽셀 단위의 균열 지도를 생성하는 역할을 한다. 각 분기에서 추출된 다중 스케일의 정보를 통합하여 최종적으로 정밀한 균열 위치와 크기를 예측하는 결과를 도출한다. 이 모듈은 모델의 출력에서 가장 중요한 단계로, 최종적으로 균열의 정확한 위치를 예측하는 데 기여하며, 모델의 정량적 성능을 높이는 데 중요한 역할을 한다.
이와 같이 PIDNet은 각 모듈이 상호 보완적으로 작동하도록 설계되어 있으며, 각 모듈의 기능은 모델의 정확성과 정밀도를 높이는 데 필수적이다.
3.3 학습 및 평가
PIDNet 기반의 균열 탐지 모델 학습과 평가는 main.py 파일을 통해 수행되었다. 본 연구에서는 AI-HUB에서 제공하는 콘크리트 표면 균열 데이터셋을 사용하여 모델을 학습하였다[9]. 해당 데이터셋은 다양한 크기와 위치에 분포한 균열 이미지들로 구성되어 있어, 모델이 여러 형태의 균열을 학습할 수 있는 충분한 데이터를 제공한다. 데이터셋 내 각 이미지는 모델 입력 크기에 맞게 리사이즈되며, torchvision.transforms 라이브러리를 활용하여 다양한 데이터 증강 기법을 적용하였다[10]. 이를 통해 모델의 일반화 성능을 강화하고 다양한 환경에서 균열 탐지의 정확도를 높이고자 하였다. 먼저, 수평 및 수직 반전 기법을 사용하여 모델이 여러 방향에서 나타날 수 있는 균열 형태를 학습할 수 있도록 하였다. 이를 통해 모델은 균열 방향의 다양성에 대응할 수 있으며, 보다 넓은 범위의 균열을 정확히 탐지할 수 있는 성능을 갖추게 된다. 또한, 랜덤 크롭을 적용하여 균열의 위치와 무관하게 다양한 위치에서 균열이 나타날 수 있도록 함으로써, 모델이 입력 이미지 내 균열의 위치에 대한 편향 없이 학습할 수 있게 한다. 마지막으로, 색상 변환 기법을 통해 이미지의 밝기와 대비를 조정하여 다양한 조명 조건에서 모델이 균열을 탐지할 수 있도록 하였다. 이는 실제 환경에서 다양한 조명 조건에 노출되는 콘크리트 구조물의 균열을 안정적으로 탐지하기 위한 중요한 요소로 작용하며, 모델의 적용 범위를 확장하는 데 기여한다.
본 연구에서는 모델별 특성을 고려한 하이퍼파라미터 최적화를 위해 EarlyStopping 기법을 활용하여 과적합 및 과소적합을 방지하고, 각 모델의 최적 에포크에서 학습이 종료되도록 설정하였다. TensorFlow의 callbacks 함수를 사용하여 학습 손실 값의 감소가 정체되는 경우 조기에 학습을 종료하였다. 학습 과정에서는 교차 엔트로피 손실(Cross-entropy loss)을 손실 함수로 사용하였으며, 학습률 감소(Learning rate decay)를 통해 학습의 안정성을 도모하였다.
모델 성능 평가는 테스트 데이터셋을 대상으로 수행되며, 주요 평가 지표로는 정확도(Accuracy), IoU(Intersection over Union), 정밀도(Precision), 재현율(Recall), 처리속도(FPS), 모델크기(Size) 등이 사용된다. 이들 지표는 모델의 예측 정확도와 균열 탐지 성능을 정량적으로 평가하는 데 필수적인 역할을 한다. 정확도는 모델이 전체 픽셀 중에서 올바르게 예측한 비율을 나타내며, 모델의 전반적인 성능을 평가하는 기준으로 사용된다. 이는 모델이 실제 균열 영역을 얼마나 잘 예측하는지를 종합적으로 보여주는 지표로, 모델의 기본적인 성능 수준을 확인하는 데 중요한 역할을 한다. 또한, IoU는 모델이 예측한 균열 영역과 실제 균열 영역 간의 중첩도를 여러 균열 객체에 대해 평균하여 측정하는 지표로, 특히 다양한 크기와 모양의 균열을 탐지하는 성능을 종합적으로 평가하는 데 유용하다. IoU 값이 높을수록 모델이 다양한 균열 영역을 정확하게 파악하고 있음을 의미한다. 이 외에도, 재현율과 정밀도 지표를 통해 모델의 민감도를 평가하여 작은 균열 영역에 대한 탐지 성능을 확인할 수 있다. 높은 재현율은 실제 균열을 놓치지 않고 잘 탐지하는 능력을 의미하며, 정밀도는 모델이 예측한 균열 중 실제로 균열인 비율을 나타낸다. 이를 통해 작은 균열과 같이 세밀한 특징을 탐지하는 모델의 성능을 구체적으로 평가할 수 있다. 또한, 모델 평가 과정에서는 불필요한 메모리 사용을 줄이기 위해 torch.no_grad()를 활용하여 그래디언트 계산을 비활성화하였다. 이를 통해 메모리 자원을 효율적으로 사용하며 평가 작업을 수행할 수 있다.
Ⅳ. 실 험
4.1 실험 환경
본 연구의 실험은 고성능 GPU 워크스테이션인 Supermicro 741GE-A5000 모델을 기반으로 수행되었다. 해당 워크스테이션은 복잡한 연산을 필요로 하는 딥러닝 학습과 추론 작업을 지원하기 위해 NVIDIA의 Quadro RTX 5000 ADA GPU 네 개가 탑재되어 있으며, 대용량 데이터를 처리할 수 있도록 최적화되어 있다. 워크스테이션의 중앙처리장치(CPU)로는 Intel Xeon Scalable Gold 6526Y가 두 개 사용되었으며, 각 프로세서는 16코어와 32스레드를 갖추고 2.8GHz의 속도로 동작한다. 이를 통해 학습 과정에서 다량의 데이터를 병렬로 처리할 수 있어 연산 효율이 크게 향상되었다. 메모리(RAM)는 256GB의 DDR5 ECC-RDIMM이 장착되어 있으며, 이로 인해 대규모 딥러닝 모델의 학습 시에도 원활한 데이터 처리가 가능하다. 저장 장치로는 NVMe 인터페이스의 960GB SSD가 탑재되어 운영체제 및 소프트웨어 구동 속도를 높였으며, 추가로 Western Digital의 UltraStar SATA HDD 20TB 두 개가 장착되어 있어 학습 데이터와 모델 결과물을 저장하는 데 충분한 용량을 제공한다. 그래픽 처리 장치(GPU)로는 NVIDIA Quadro RTX 5000 ADA가 네 장 설치되어 있으며, 각 GPU는 12,800개의 CUDA 코어와 400개의 텐서 코어로 구성되어 있다. 32GB GDDR6 메모리가 각 GPU에 장착되어 있어 대규모 딥러닝 모델의 병렬 학습 및 추론 과정에서 메모리 부족 문제를 최소화하였다.
운영체제는 Ubuntu Linux를 사용하였고, CUDA Toolkit과 cuDNN이 설치되어 있어 GPU를 활용한 고속 연산이 가능하다. 본 연구의 PIDNet 기반 균열 탐지 모델은 리눅스 환경에서 아나콘다(Anaconda) 플랫폼을 활용하여 PyTorch로 구현되었다. 개발 환경 설정은 아나콘다 환경에서 PyTorch 및 필수 라이브러리를 설치하여 구성되었으며, 데이터 전처리 및 증강 작업은 torchvision.transforms를 통해 수행되었다. 또한, 경량화된 PIDNet 아키텍처를 사용함으로써 모바일 및 임베디드 환경에서의 실시간 균열 탐지 가능성을 염두에 두고 모델을 최적화하였다.
4.2 실험 방법
본 연구에서는 PIDNet 기반 모델과 기존의 대표적인 세그멘테이션 모델(U-Net, Attention U-Net, U-Net++, Mask R-CNN)의 성능을 비교하기 위해 일관된 실험 환경과 절차를 설정하였다. 이를 통해 각 모델의 균열 탐지 능력을 공정하게 평가하고, 제안하는 PIDNet 기반 모델의 우수성을 검증하고자 하였다.
모든 모델의 학습과 평가 과정은 동일한 워크스테이션에서 수행되었다. 이러한 통일된 하드웨어 및 소프트웨어 환경을 통해 각 모델의 성능 비교에서 발생할 수 있는 외부 변수를 최소화하였다. 모델의 학습과 평가에는 AI-Hub에서 제공하는 콘크리트 표면 균열 데이터셋을 활용하였다. 데이터셋은 모델의 일반화 능력을 평가하기 위해 중복 촬영으로 중첩 영역이 큰 영상은 제외하고 데이터셋을 구성하였다. 균열 이미지 1,500장과 배경 이미지 1,500장으로 구성되었으며, 데이터의 크기는 약 3GB이다. 학습 데이터셋과 테스트 데이터셋의 비율은 8:2로 설정하였으며, 데이터 증강 기법을 활용하여 모델의 일반화 성능을 높였다.
모든 모델에 동일한 데이터 전처리 및 증강 기법을 적용하여 학습의 일관성을 유지하였다. 리사이즈(Resize)를 통해 입력 이미지를 모델의 요구 사항에 맞게 256x256 픽셀로 조정하였고, 각 픽셀 값을 [0, 1] 범위로 정규화(Normalization)하여 학습의 안정성을 높였다. 그리고 수평 및 수직 반전 등 데이터 증강(Data augmentation)을 통해 다양한 방향의 균열을 학습할 수 있도록 하였으며 랜덤 크롭(Random crop)으로 이미지의 다양한 부분을 학습하여 모델의 일반화 능력을 향상시켰다. 색상 변환(Color jitter)를 통해 밝기와 대비를 조정하여 다양한 조명 조건에 대응할 수 있도록 하였다. 이러한 전처리 및 증강 기법은 torchvision.transforms 라이브러리를 활용하여 구현되었다.
모델의 성능 평가는 테스트 데이터셋을 활용하여 이루어졌다. 주요 평가 지표로는 IoU를 사용하였으며, 이는 모델이 예측한 균열 영역과 실제 균열 영역 간의 중첩도를 측정하는 지표로서, 세분화된 균열 탐지 성능을 평가하는 데 중요한 역할을 한다. 또한, 모델의 처리 속도(FPS)와 모델 크기(MB)를 측정하여 실시간 처리 능력과 경량화 정도를 평가하였다. 처리 속도는 초당 처리 가능한 프레임 수로 측정하였으며, 모델 크기는 저장 시의 파일 크기로 평가하였다. 이러한 평가 지표를 통해 각 모델의 균열 탐지 성능을 종합적으로 비교·분석하였다.
4.3 실험 결과
본 연구에서는 PIDNet 기반 모델과 U-Net, Attention U-Net, U-Net++ 등의 기존 세그멘테이션 모델과의 성능 비교를 수행하였다. U-Net 계열 모델들은 주로 의료 영상과 같은 정밀한 세그멘테이션 작업을 위해 설계된 모델로, 복잡한 아키텍처를 가지며 실시간 처리에는 적합하지 않은 경우가 많다. 특히, Attention U-Net 및 U-Net++는 추가적인 스킵 연결과 주의 메커니즘으로 인해 연산량이 증가하는 특성이 있다. 이에 따라, 본 연구에서는 실시간 처리 가능성을 강조하기 위해 PIDNet의 경량성과 높은 처리 속도를 주요 쟁점으로 제시하였다. 그림 2는 PIDnet의 균열 검출 결과 데이터 중 일부를 예시로 보여주며 표 1은 실험 결과 지표이다.
PIDNet 기반 모델은 IoU 89.2%로 가장 높은 성능을 보였으며, 정확도 91.5%, 정밀도 91.5%, 재현율 92.0%, F1-score 91.7%로 전반적으로 우수한 성능을 나타냈다. 특히, 처리 속도 25 FPS와 모델 크기 45MB로 경량화와 실시간 처리에 최적화된 특징을 보였다. U-Net은 IoU 86.2%, 정확도 87.5%, 정밀도 87.5%, 재현율 87.0%, F1-score 87.2%로 안정적인 성능을 보였으나, 처리 속도 15 FPS와 모델 크기 60MB로 실시간 처리에는 다소 제한이 있었다. Attention U-Net은 주의 메커니즘을 도입하여 IoU 87.3%, 정확도 88.7%, 정밀도 88.7%, 재현율 89.5%, F1-score 89.1%로 미세 균열 탐지 성능이 향상되었으나, 처리 속도 12 FPS와 모델 크기 70MB로 실시간 처리에는 한계가 있었다. U-Net++는 복합 연결 구조를 통해 IoU 88.0%, 정확도 89.5%, 정밀도 89.5%, 재현율 90.2%, F1-score 89.8%로 정확도가 향상되었으나, 처리 속도 10 FPS와 모델 크기 75MB로 실시간 처리에는 부적합하였다. Mask R-CNN은 객체 검출과 분할에 강점을 보이며, IoU 87.5%, 정확도 88.0%, 정밀도 88.0%, 재현율 89.0%, F1-score 88.5%로 높은 성능을 보였으나, 처리 속도 8 FPS와 모델 크기 120MB로 실시간 처리에는 부적합 하였다.본 연구에서는 단일 클래스(균열) 검출을 수행하였으며, IoU를 주요 성능 지표로 사용하였다. IoU는 예측된 균열 영역과 실제 균열 영역 간의 중첩도를 평가하는 지표로, 본 실험에서는 정확도와 거의 동일한 값이 나타났다. 이는 데이터셋의 클래스 불균형이 적고, 배경 클래스의 영향을 최소화했기 때문으로 판단된다.
PIDNet 기반 모델은 높은 IoU와 정확도를 유지하면서도 처리 속도와 모델 크기 측면에서 우수한 성능을 보였다. 이는 PIDNet의 경량화된 구조와 효율적인 설계로 인해 실시간 균열 탐지에 적합함을 시사한다. 반면, U-Net, Attention U-Net, U-Net++는 높은 정확도를 보였으나, 처리 속도와 모델 크기 측면에서 실시간 처리에 한계를 보였다. 특히, Attention U-Net과 U-Net++는 복잡한 구조로 인해 모델 크기가 증가하고 처리 속도가 저하되는 경향을 보였다. Mask R-CNN은 객체 검출과 분할에 강점을 보였으나, 처리 속도와 모델 크기 측면에서 실시간 처리에 부적합하였다. 이는 Mask R-CNN의 복잡한 구조와 연산량으로 인해 발생한 결과로 판단된다. 종합적으로, PIDNet 기반 모델은 높은 정확도와 IoU를 유지하면서도 경량화와 실시간 처리에 최적화된 성능을 보였으며, 이는 콘크리트 균열 탐지와 같은 실시간 모니터링이 요구되는 분야에 적합한 모델임을 확인할 수 있었다.
PIDNet 기반 모델은 넓은 영역을 차지하는 손상 탐지에서 높은 IoU를 기록하였으나, 작은 손상의 탐지 성능이 상대적으로 중요하게 고려될 필요가 있다. 기존 연구에서는 PropNet이 작은 손상 탐지에서 더 높은 IoU를 기록하였다는 점을 논의하고 있으며, 이는 본 연구에서도 중요한 평가 기준이 될 수 있다. 따라서 본 연구는 PIDNet의 작은 손상 탐지 성능 향상을 위한 추가적인 아키텍처 개선 및 데이터 증강 기법을 향후 연구 방향으로 제안한다.
Ⅴ. 결론 및 향후 과제
본 연구에서는 콘크리트 구조물의 균열 탐지를 위해 PIDNet 기반의 딥러닝 모델을 활용하여 실시간 처리 성능과 정확도를 향상시키고자 하였다. 실험 결과, PIDNet 기반 모델은 IoU 89.2%, 정확도 91.5%, 정밀도 91.5%, 재현율 92%, F1-score 91.7%를 기록하였으며, 처리 속도 25 FPS와 모델 크기 45MB로 경량화와 실시간 처리에 최적화된 성능을 보였다. 이는 기존의 U-Net, Attention U-Net, U-Net++, Mask R-CNN 등과 비교하여 전반적인 성능에서 우수함을 확인할 수 있었다.
PIDNet 기반 모델의 우수한 성능은 다음과 같은 요인에 기인한다. 첫째, 경량화된 아키텍처를 통해 연산 복잡도를 감소시켜 실시간 처리 능력을 확보하였다. 둘째, 다중 스케일 특징 추출과 위치 정보 학습을 통해 균열의 위치와 형태를 정확하게 파악할 수 있었다. 셋째, 세부 정보 추출 분기를 통해 미세한 균열까지도 효과적으로 탐지할 수 있었다.
향후 연구에서는 다음과 같은 과제를 수행하고자 한다. 첫째, 다양한 환경에서 촬영된 콘크리트 구조물의 이미지를 활용하여 모델의 일반화 성능을 향상시키고, 실제 현장에서의 적용 가능성을 높이고자 한다. 둘째, 드론과 같은 무인 항공기를 활용한 데이터 수집과 실시간 균열 탐지 시스템을 개발하여, 접근이 어려운 구조물의 균열 모니터링을 자동화하고 효율성을 증대시키고자 한다. 셋째, 균열의 깊이와 진행 상태를 분석할 수 있는 3차원 정보 처리 기법을 도입하여, 구조물의 안전성 평가에 기여하고자 한다.
본 연구는 실시간 균열 탐지를 목표로 PIDNet 기반 모델을 제안하였으며, 실험 결과에서 높은 IoU와 정확도를 기록하였다. 그러나 균열과 같이 좁은 영역을 차지하는 작은 손상의 탐지 정확도가 실제 애플리케이션에서 중요한 평가 기준임을 확인하였다. 향후 연구에서는 이러한 작은 손상 탐지 성능 향상을 위해 PropNet과 같은 모델과의 비교를 포함한 심층적인 분석을 수행할 예정이다.
Acknowledgments
본 논문은 산업통상자원부의 ‘지역혁신클러스터육성(R&D) 거점기관 개방형혁신’ 사업의 연구비지원(P0025720)으로 수행된 연구결과입니다
References
- S. Dorafshan, R. J. Thomas, and M. Maguire, "Comparison of deep convolutional neural networks and edge detectors for image-based crack detection in concrete", Construction and Building Materials, Vol. 186, pp. 1031-1045, Oct. 2018. [https://doi.org/10.1016/j.conbuildmat.2018.08.011]
- S. M. Kim, J. M. Sohn, and D. S. Kim, "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, Oct. 2020. [https://doi.org/10.9708/jksci.2020.25.10.035]
- D. Chio, S. H. Paik, Y. K. Kim, S. W. Jung, and D. N. Kim, "Deep-Learning Crack Analysis for Visual-Safety Inspection of Bridge by Drones", The Journal of Korean Institute of Information Technology, Vol. 19, No. 12, pp. 115-121, Dec. 2021. [https://doi.org/10.14801/jkiit.2021.19.12.115]
- S. H. Paik, D. Choi, Y. K. Kim, S. W. Jung, and D. N. Kim, "Implementation of the Drones with Deep-Learning Crack Detection Analysis for Inspection of Bridge", The Journal of Korean Institute of Information Technology, Vol. 19, No. 3, pp. 45-52, Mar. 2021. [https://doi.org/10.14801/jkiit.2021.19.3.45]
- W. Wang and C. Su, "Automatic concrete crack segmentation model based on transformer", Automation in Construction, Vol. 139, pp. 104275, Jul. 2022. [https://doi.org/10.1016/j.autcon.2022.104275]
- J. Xu, Z. Xiong, and S. P. Bhattacharyya, "PIDNet: A Real-Time Semantic Segmentation Network Inspired by PID Controllers", 2023 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Vancouver, BC, Canada, pp. 19529-19539, Jun. 2023. [https://doi.org/10.1109/CVPR52729.2023.01871]
- S. Shim and J. Min, "Semantic Segmentation for Multiple Concrete Damage Based on Hierarchical Learning", Journal of the Korea Institute for Structural Maintenance and Inspection, Vol. 26, No. 6, pp. 175-181, Dec. 2022. [https://doi.org/10.11112/jksmi.2022.26.6.175]
- S. Murao, Y. Nomura, H. Furuta, and C. W. Kim, "Concrete Crack Detection Using UAV and Deep Learning", 13th International Conference on Applications of Statistics and Probability in Civil Engineering(ICASP13), Seoul, Korea, pp. 26-30, May 2019. [https://doi.org/10.22725/ICASP13.029]
- AI-HUB. "Concrete Crack Data Set", https://aihub.or.kr, [accessed : Sep. 23, 2024]
- PyTorch "torchvision.transforms", https://pytorch.org/vision/0.9/transforms.html, [accessed : Sep. 23, 2024]
2005년 2월 : 경주대학교 전자공학과(공학사)
2011년 2월 : 경북대학교 모바일통신공학과(공학석사)
2016년 8월 : 경북대학교 전자공학부(공학박사)
2020년 6월 ~ 현재 : (재)경북IT융합산업기술원 선임연구원
관심분야 : 컴퓨터 아키텍처, 운영체제, 인공지능
2014년 2월 : 영남대학교 생명공학부(공학사)
2018년 2월 : 경북대학교 전자공학부(공학석사)
2022년 3월 ~ 현재 : 경북대학교 전기전자공학부 공학박사과정
2023년 2월 ~ 현재 : 주식회사 파미티 기술이사(공동대표)
관심분야 : 인공지능, 3D, 컴퓨터 비전, 머신러닝
2016년 2월 : 연세대학교 물리학과(이학사)
2018년 2월 : 연세대학교 물리학과(공학석사)
2024년 2월 ~ 현재 : 주식회사 파미티 매니저
관심분야 : 인공지능, 딥러닝, 비전AI, 머신비전
2001년 2월 : 울산대학교 제어계측(공학사)
2003년 2월 : 울산대학교 전기전자정보시스템공학(공학석사)
2010년 2월 : 울산대학교 전기전자정보시스템공학(공학박사)
2013년 6월 ~ 현재 : (재)경북IT융합산업기술원 책임연구원
관심분야 : 영상처리, 드론, 배터리