Korea Digital Contents Society
[ Article ]
Journal of Digital Contents Society - Vol. 23, No. 12, pp.2517-2525
ISSN: 1598-2009 (Print) 2287-738X (Online)
Print publication date 31 Dec 2022
Received 27 Oct 2022 Revised 11 Nov 2022 Accepted 15 Nov 2022
DOI: https://doi.org/10.9728/dcs.2022.23.12.2517

3차원 복원 및 객체 검출 기반 건물 균열 탐지

김혜근1 ; 양석영1 ; 이승준1 ; 조영준2, *
1전남대학교 소프트웨어공학과 학사과정
2전남대학교 소프트웨어공학과 조교수
Cracks Detection via 3D Reconstruction and Object Detection
Hye-Geun Kim1 ; Seock-Young Yang1 ; Seung-Jun Lee1 ; Yeong-Jun Cho2, *
1Bachelor’s Course, Department of Software Engineering, Chonnam National University, Gwangju 61186, Korea
2Assistant Professor, Department of Software Engineering, Chonnam National University, Gwangju 61186, Korea

Correspondence to: *Yeong-Jun Cho Tel: +82-62-530-3432 E-mail: yj.cho@chonnam.ac.kr

Copyright ⓒ 2022 The Digital Contents Society
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-CommercialLicense(http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

초록

최근 건설 및 재개발 현장에서 건물 붕괴사고가 빈번히 발생하고 있다. 붕괴사고는 많은 인명 및 재산 피해로 이어질 수 있으므로 사전 예방이 필요하다. 정기적으로 건물 내외부의 균열을 확인하지만 큰 규모의 건물을 사람이 직접 확인하기에는 많은 어려움이 따른다. 따라서 본 연구에서는 건물 붕괴의 주요 원인인 콘크리트 균열을 드론이 수집한 영상에서 자동으로 검출하고 이를 직관적으로 시각화하는 것을 목표로 한다. 이를 위해 3차원 복원 기법을 통해 건물의 전체 형상을 복원하며 동시에 객체 검출 기법을 활용하여 건물 균열 위치를 탐지한다. 탐지된 건물 균열은 복원된 3차원 건물 모델 위에 시각화하여 실제 건물의 모양과 균열 발생 지점을 직관적으로 제공한다. 제안 기법을 검증하기 위해 균열을 포함한 다양한 건물들을 실제 촬영하고 테스트 하였으며, 약 69.6%의 균열 검출 성능을 보이는 것을 확인하였다. 제안 기법은 건물 균열 탐지에 대한 편의성과 직관성을 높일 수 있으며 무인 이동체 (드론, 로봇 등)를 활용한 경우 검사 사각지대 없이 모든 건물을 자세히 살필 수 있는 장점이 있다. 이를 통해 건물 붕괴사고를 예방하여 피해를 최소화 할 수 있기를 기대한다.

Abstract

Prevention of collapse accidents is necessary because collapse accidents can lead to a lot of human and property damage. People check cracks in building regularly, but checking large-scale buildings directly is very difficult. This paper detects concrete cracks automatically from video which is collected by drones and visualizes them intuitively. We detect the location of the cracks by object detection and reconstruct the entire shape of the building by 3D reconstruction. The detected building cracks are visualized on the 3D building model which is reconstructed to intuitively provide the shape and crack point of the actual building. In order to verify our method, we tested various buildings which include cracks and the performance of crack detection is approximately 69.6%. Our method can increase the convenience and intuition of building crack detection, and also examine all buildings in detail without inspection blind spots by utilizing moving objects (drones, robots, etc.). We expect that building collapse accidents can be prevented and damage can be minimized.

Keywords:

Computer Vision, 3D Reconstruction, Object Detection, Artificial Intelligence, Cracks

키워드:

컴퓨터비전, 3차원 복원, 객체 검출, 인공지능, 균열

Ⅰ. 서 론

2022년 2월, 건설 중이던 아파트 건물의 붕괴사고[1]로 건설 현장에서 작업 중이던 노동자 6명이 잔해에 깔려 사망하였다. 해당 아파트는 분양을 다 마치고 올해 입주 예정이었던 탓에 붕괴사고로 인한 재산 피해뿐만이 아닌 입주 예정 주민들에게서도 재산 피해가 발생하였다. 입주 예정 주민들의 재산 피해에 대한 보상책은 아직도 제대로 마련되지 못한 상태이다. 대중들은 사상자에 대한 안타까움을 표시함과 동시에 건설업체 관계자들을 향해 많은 질타를 쏟아냈다. 건물 층수를 일정 기간 안에 올리기 위한 공사, 건설 자재가 아닌 불법 자재 남용 등의 부실공사 이야기가 예전부터 존재하였기에 건설업체는 질타를 피해갈 수 없었다. 수면 아래에 있던 부실공사 이야기가 수면 위로 떠오르며 건설업체의 질타와 함께 건설 현장 처우 개선, 불법 자재 남용 방지 등의 이야기가 나오게 되었다. 또한 붕괴사고는 건설 중에만 발생하는 것이 아닌 모든 건물에서 발생할 수 있다는 점에서 건물 안전 점검의 중요성이 크다.

국내에서는 1970년부터 한강개발로 인해 아파트가 대량 건설되기 시작하였다[2]. 이 시기 정부의 공급 위주의 주택정책은 많은 수요를 충족함과 동시에 기능상 하자와 부실공사를 초래하였고, 이로 인한 아파트 붕괴사고까지 발생하면서 부실공사는 심각한 사회문제로 자리 잡았다. 정부가 1994년을 부실공사 방지 원년의 해로 선언하여 이를 해결하려는 노력에도 불구하고, 시공업체의 대책은 겉으로 드러나는 작동 불량과 기능 및 미관상의 품질만 향상시키는 것에 그쳤다. 그 밖에 육안으로 쉽게 확인할 수 없는 곳에서 발생하는 시공 상의 문제는 늘어났다.

부실공사의 원인으로는 측량과 설계 오류와 같은 기술적 요인도 있지만, 보다 근본적으로 공사 자금과 기간의 부족, 자재 수급 미달 등의 사회 환경적 요인이 자리하고 있다. 아파트 건설이 폭발적으로 증가한 1980년대 말부터 1990년대 초에 시멘트, 철근, 골재 등의 자재를 쟁탈하기 위한 건설업체 사이의 경쟁이 있었고 그로 인해 자재 가격은 폭등하였다. 늘어난 수요에 맞춰 건설 자재 공급량을 늘리기 위해서 불량 레미콘, 염분 과다 함유 바다모래, 강도가 부족한 철근 등이 시중에 유통되었다. 이렇게 유통된 불법 자재들로 인해 아파트 준공 단계에서부터 벽체에 균열이 가고 천정의 물이 새는 문제가 발생하였다[3]. 이러한 공사 시공 방식의 영향은 2022년 현재까지 남아 부실공사 확산과 문제 심각성에 비해 안이한 의식 조장에 일조하였다.

2021년 행정안전부에서 발행한 사고 발생 현황[4]에 따르면 2017년부터 2020년까지 6,338건의 붕괴사고가 발생하였다. 이는 1년에 1,500건 정도의 크고 작은 붕괴 사고가 발생한다는 뜻이다. 우리나라는 건물의 안전성 확인과 붕괴사고 방지를 위해 주기적으로 안전점검을 실시하고 있다. 보통 반기에 한 번 실시하는 정기안전점검의 경우 시설물의 상태를 점검하기 위한 외관조사이다. 이는 경험과 기술을 갖춘 사람이 직접 건물의 외관조사를 하고 중대한 결함이 있는지 확인하고 판단한다. 그러나 건물의 모든 부분을 사람이 육안으로 직접 확인하기에 큰 어려움이 따르며 건물의 규모가 커질수록 사각지대가 증가한다. 또한 균열 검출 전반의 과정에서 숙련된 전문가의 투입이 요구되기 때문에 많은 인적 자원과 비용이 소모된다. 인적 자원 소모를 줄이기 위해 무인 이동체 (드론, 로봇 등)를 활용하여 건물을 점검하더라도 해당 위치의 정확한 위치를 직관적으로 파악하기 어렵다.

붕괴사고 유형별 비율(그림 1.(좌))[4]로는 붕괴사고의 약 63%는 주거건물, 다중 이용 시설에서 발생하였다. 학교, 회사, 아파트 같은 건물은 법적으로 안전점검 대상으로 되어있어 지속적이고 주기적으로 전문적인 안전점검이 이루어진다. 이와 달리 그림 1.(우)와 같이 개인이 관리하는 건물이 많은 주거건물, 다중 이용 시설은 안전점검 대상이 아닌 것들이 많아 점검을 실시하지 않는 경우가 많다. 붕괴사고의 50% 이상이 주거건물, 다중 이용 시설에서 발생하는 만큼 해당 건물들에 대해서도 지속적인 안전점검이 제대로 이루어져야 한다.

Fig. 1.

(Left) Types of Collapse Accident (Right) Resident Buildings, Multi-use Facility

건물 붕괴를 사전에 방지하기 위해서는 안전점검 시, 사각지대가 발생하지 않도록 해야 하며 균열이 발생한 부분에 대해서는 정확한 위치를 파악할 수 있어야 한다. 또한 사각지대에 발생한 균열에 대해서도 균열이 어떻게 발생하였는지 시각적으로 확인할 수 있어야 한다. 마지막으로 일반 사람들도 많은 인적 자원, 비용을 소모하지 않으면서 쉽게 건물을 점검하고 후속 처리를 할 수 있도록 해야 한다.

본 연구에서는 이에 대한 대책으로 “3차원 복원 및 객체 검출 기반 건물 균열 탐지” 기법을 제안한다. 제안한 기법은 건축물의 드론 촬영 영상에서 건물 붕괴의 주요 원인인 콘크리트 균열을 자동으로 검출하고 직관적으로 시각화하는 것을 목표로 한다. 이를 위해 3차원 복원 기법을 통해 건물의 전체 형상을 복원하며 동시에 객체 검출 기법을 활용하여 건물 균열 위치를 탐지하고 복원된 3차원 건물에 표시한다.

본 논문의 제2장에서는 연구의 배경 연구에 관해 서술한다. 건물 붕괴사고의 배경을 연구하고 붕괴사고 예방책의 중요성을 살핀다.

또한 본 연구와 관련한 선행 연구의 한계에 관해 서술한다. 제3장에서는 본 연구에서 제안한 기법의 구조, 알고리즘, 사용자 인터페이스에 관해 서술한다. 제4장에서는 제안 기법들에 대한 실험 결과를 서술한다. 마지막으로 본 연구가 제안한 기법에 대한 활용성, 확장성 및 기대 효과에 대해 서술하며 마친다.


Ⅱ. 배경 연구

2-1 건물 붕괴사고 원인

건물 붕괴란 건축물이 지반 약화, 부실공사, 자연재해, 유지보수 소홀 등의 이유로 하중을 견디지 못하고 무너져 피해가 발생하는 사고[5]이다. 건물 붕괴의 전조 증상[5]으로 건물바닥이 갑자기 갈라지거나 함몰되는 현상, 계속되는 지반침하와 석축 및 옹벽에 균열이 생기는 현상 등이 있다. 건물 붕괴의 원인은 재난 유형별 분류[6]에 따라 크게 자연재난과 사회재난 두 가지로 정의될 수 있다. 건물 붕괴위험 방지대책은 각 재난 유형에 따라 달라진다.

자연재난에 의한 건물 붕괴는 태풍, 폭설, 지진 등과 같은 자연현상으로 인하여 발생하는 건물의 붕괴로 발생 후 그 피해를 경감시키는 대책이 주를 이룬다. 사회재난에 의한 건물 붕괴는 화재, 폭발 등과 부실시공, 유지 및 관리 소홀 등과 같은 인적요인에 의해 피해가 발생하는 경우로 발생 자체를 줄이는 대책이 필요하다. 특히 국내에서 발생하는 대부분의 사회재난에 의한 건물 붕괴사고는 화재, 폭발과 같은 외부의 충격보다는 부실한 설계와 관리 소홀로 인한 것이라는 점에서 예방책의 중요성이 강조된다. 삼풍백화점 붕괴사고는 대표적인 사회재난에 의한 붕괴사고다[7]. 부실설계, 과하중이 직접적인 붕괴원인이 되었으며 붕괴 전 장기간에 걸쳐 균열이나 처짐 등 여러 징후가 발생했음에도 불구하고 안전관리가 미흡하였다[8]. 발생 사례에서 나타나듯이 붕괴사고는 막대한 인명 및 재산 피해를 유발하므로 건물 붕괴위험 방지에 대한 대책 강구가 필요하다.

2-2 객체 검출 및 동영상 기반 3차원 복원 기술

본 연구에서는 균열을 찾기 위해 객체 검출 기술과 동영상 기반의 3차원 복원 기술 총 두 가지 기술을 활용한다. 객체 검출은 입력 이미지에 대하여 객체의 종류, 위치를 검출하는 기술로 최근 컴퓨터 성능의 향상, 딥러닝의 발전으로 다양한 고성능/실시간 객체 검출 기술이 등장하였다. 이를 통해 단순히 입력 이미지에 대해 객체 검출하는 것만이 아닌 자율 주행과 같이 실시간 입력 영상에 대해 검출이 가능해졌으며 정밀도 또한 높이 향상되어 의료 분야, CCTV 등 다양한 분야에서 활용되고 있다. 객체 검출 기술 중, YOLO [9]는 위치 및 크기 탐지와 클래스 분류를 순차적으로 진행하는 2-Stage 방식을 따르는 R-CNN[10], Fast R-CNN [11]과 다르게 두 단계를 한 번에 수행하는 1-Stage 방식이므로 매우 빠르고 준수한 성능을 보인다. 심지어 최근 YOLO[9]에서 발전한 YOLO version 5 (이하 YOLOv5) [12]는 R-CNN [10]에서 발전된 Faster R-CNN [13]보다 정확도가 더욱 우수하다. 본 연구에서는 YOLOv5 [12]의 이러한 우수성을 확인하여 건물의 균열 검출을 위한 기반 모델로 활용한다.

3차원 복원 기술은 그 목표 및 용도에 따라 Simultaneous Localization And Mapping (이하 SLAM) [14] 기술과 Structure from Motion (이하 SfM) [15] 기술이 활발하게 연구되고 활용되고 있다. SLAM[14]은 영상을 촬영하는 카메라의 위치 추정과 주변의 3차원 지도를 복원하는 것을 동시에 수행하는 기술이다. 해당 기술은 라이다 (Lidar), 레이더 (Radar)와 같은 센서, 혹은 단안 (Monocular), 스테레오 (Stereo), RGB-D 카메라 등을 모두 활용 가능하다. 따라서 자율주행차에 활용되는 기술은 주행 차량의 정확한 위치 추정을 위해 라이다나 레이더 센서와 같은 여러 종류의 센서를 동시에 활용 하는 추세이다. 단안 카메라만을 통해 이루어지는 ORB-SLAM [16]과 같은 기술도 연구되었으나 이는 스테레오 카메라를 사용하거나 직접적으로 깊이 정보 획득이 가능한 센서 (라이다, 레이더, RGB-D 카메라)를 활용하는 것보다 정확도가 떨어질 수 있다. SLAM [14] 기술은 3차원으로 물체 하나의 형태를 재구성하기보다는 카메라의 이동 경로 주변의 3차원 지도를 작성하고 그 공간에서 카메라의 위치 추정하는 것에 보다 초점을 둔 기술이다.

SfM[15] 기술은 복원하고자 하는 물체를 여러 위치와 다양한 각도에서 촬영하며 이미지 간에 발생하는 카메라의 움직임을 추정하고 이를 통해 3차원 개체를 복원하는 기술이다. SfM에서 스테레오 카메라를 활용하거나 이종 센서 활용 가능하지만 SLAM처럼 여러 종류의 센서를 퓨전하여 활용하는 사례는 많지 않으며 단안 카메라를 사용하는 연구가 많다. 이는 건물 형상을 재구성하려는 해당 연구의 목적과 부합하여 본 연구에서는 3차원 복원을 위한 기반 기술로 SfM [15] 기술을 활용한다.

SfM[15]은 먼저 입력 이미지들에 대하여 특징점 검출 및 매칭을 수행하고 이미지 간 대응점을 찾는 검색을 수행한다. 해당 과정은 이미지 간 같은 부분들을 찾아내는 과정으로 찾아낸 부분들은 이미지 간 대응점 정보이다. 그다음 3차원 상에서 이미지 간 대응점들이 어떤 위치에 있는지 계산하고 확인하는 과정을 거친다. 이 과정에서 SfM[15]의 한 종류인 Incremental Structure from Motion은 다음과 같이 수행된다. 먼저 한 쌍의 이미지를 선택하여 선택한 이미지들의 대응점 정보를 바탕으로 3차원 좌표를 생성한다. 이후 해당 이미지들과의 대응점 정보가 많은 이미지를 순차적으로 결합하고 3차원 좌표를 생성 및 수정한다. 이후 최종적으로 3차원 Point Cloud 형태로 복원한다. Incremental Structure from Motion을 기반으로 한 OpenSfM[17]은 지속적으로 유지보수가 이루어지고 있으며 웹 서비스로 3차원 복원 형태를 나타내어 다른 서비스와 결합이 용이하다는 장점이 있다.

2-3 선행 연구의 한계

본 연구에서 제안한 “3차원 복원 및 객체 검출 기반 건물 균열 탐지”는 직관적으로 균열의 3차원 위치를 시각적으로 파악할 수 있도록 하는 것이다. 이는 3차원 형태를 나타내면서 3차원의 어느 위치에 검출 객체가 존재하는지 알 수 있어야 한다. 객체를 3차원으로 검출해내는 연구 [18][19]는 많이 이루어지고 있다. 그러나 3차원으로 형태를 복원하면서 검출된 객체의 위치가 3차원 형태의 어느 위치에 있는지 직관적으로 알 수 있도록 하는 연구는 존재하지 않는다.

균열을 검출하고 위치를 파악하기 위해 GPS를 활용한 연구 [20]는 존재하지만 GPS의 경우 실제 위치와 측정된 위치 간 오차가 존재하며 신호가 잘 잡히지 않는 실내에서는 위치 오차가 매우 커지게 된다. 뿐만 아니라 GPS를 활용하여 계산된 수신기의 위치는 수치상으로 나타나므로 검출된 이미지가 어느 위치에서 촬영된 것인지 수치상으로는 알 수 있으나 직관적으로 정확히 건물의 어떤 위치에 균열이 있는지 알 수 없다. 또한 위치에 오차가 발생하여도 촬영된 이미지들을 직접 확인하고 비교하지 않는 한 균열 발생을 확인하기 어렵다는 한계점을 지니고 있다.


Ⅲ. 제안 기술

3-1 제안 기법들의 동작 구조

본 연구에서 제안한 3차원 복원 및 객체 검출 기반 건물 균열 탐지의 기법들의 구조는 그림 2.와 같다. 전체 아키텍처는 도커[21] 기반으로 객체 검출을 수행하는 컨테이너, 3차원 복원을 수행하는 컨테이너 총 컨테이너 두 개로 이루어져 있다. 또한, 컨테이너 간 통신은 파이썬 기반 인공지능 기술 결합이 용이한 파이썬 웹 프레임워크 플라스크[22]로 이루어져 있다. 제안 기법은 웹 서비스로 제공되며 건물 촬영 동영상을 입력받는다. 사용자는 균열을 탐지하고자 하는 건물을 핸드폰, 또는 카메라가 장착된 무인 이동체를 통해 촬영한 후 웹상에 업로드한다. 입력된 동영상은 프레임 단위로 이미지로 추출되며 해당 이미지들은 균열검출과 건물 3차원 복원에 활용된다. 해당 연산은 서버 컴퓨터에서 수행이 되며 연산이 완료되면 균열이 표시된 3차원 점구름 (Point Cloud) 이 웹 페이지를 통해 표시 된다. 복원된 건물은 사용자가 직접 회전하며 확인할 수 있으며, 건물에 균열이 있다면 3차원 건물의 균열에 빨간색으로 눈에 띄게 표시된다. 뿐만 아니라 해당 위치를 촬영한 카메라 아이콘을 클릭하면 실제 촬영 이미지와 균열 검출 결과 또한 2차원으로 확인 가능하다. 이를 통해 사용자는 전반적인 건물의 형태를 한눈에 확인하고 균열이 있을시 건물의 어떤 위치에 균열이 있는지 쉽게 확인 가능하다. 본 연구에서 제안하는 기법들은 촬영 동영상 업로드를 제외하고는 전 과정이 모두 자동화되어 있으므로 누구나 활용이 가능하다.

Fig. 2.

Architecture of proposed methods

3-2 고성능 균열 검출기의 효율적인 학습 기법

본 연구에서는 가벼운 구조로 2차원 이미지에서 원하는 객체를 빠르고 정확하게 검출 가능한 YOLO version 5 (이하 YOLOv5) [12] 객체 검출기를 기반 기술로 활용한다. 특히 건물의 균열을 보다 잘 검출 할 수 있도록 기존 공개 데이터의 실측값을 새롭게 정제하며, 필요한 데이터는 추가로 수집한다. 뿐만 아니라 데이터 확보 과정과 검출기 학습 과정을 연동하여 효율적인 분류기 학습을 수행한다.

기존에 공개된 객체 검출기는 보통 ImageNet[23]과 같은 일반적인 물체들을 포함한 공개 데이터에서 학습되어 있으므로, 균열 검출을 위해서는 균열 데이터를 이용해 검출기를 새롭게 학습해야 한다. 이를 위해 AIHub에서 공개한 균열 탐지 데이터[24]를 활용 가능하다. 그러나 해당 데이터셋에서는 그림 3.(좌)와 같이 실측값으로 제공되는 균열 경계상자가 실제 균열의 영역을 누락한 사례가 다수 있다. 이러한 데이터와 실측값을 이용하면 높은 성능의 검출기 학습을 기대하기 어렵다. 본 연구에서는 이러한 문제점을 극복하기 AIHub에서 제공하는 균열 데이터의 실측값을 그림 3.(우)처럼 정교하고 빠짐없이 지정했다. 이때 높은 성능의 분류기 학습을 위해 다음과 같은 정책을 따라 경계상자를 다시 생성했다: 첫 번째) 균열 경계상자는 “모든 균열 영역을 빠짐없이 포함”하도록 생성한다. 두 번째) 경계상자는 균열영역을 빠짐없이 포함하되 “최소한의 개수”로 생성한다. 위와 같은 정책을 이용하면 효율적으로 기존의 누락된 균열에 대한 실측값들을 보정 할 수 있다.

Fig. 3.

(Left) Crack Bounding Box before Data Processing (Right) Crack Bounding Box after Data Processing

공개된 균열 이미지 전체 Λ 를 모두 직접 보정하기에는 너무나 많은 공수가 필요하다. 따라서 본 연구에서는 학습데이터 중 일부의 데이터셋 Λ'Λ 을 선별하고 그들의 실측값을 어노테이션 도구 [25]를 이용하여 직접 보정 하였다. 이후 Λ' 데이터셋만을 이용하여 초기 균열 검출기를 학습한다. 이렇게 학습된 균열 검출기는 아직 완전하지는 않지만 준수한 분별 성능을 보이며 해당 모델을 이용하여 학습에 활용하지 않은 나머지 데이터 (Λ')c = Λ - Λ' 에 대해 균열 검출을 수행한다. 그 이후, 균열 검출 결과 중 검출을 실패하거나 검출 위치가 정확하지 않은 것들에 대해서만 따로 보정을 수행한다. 이러한 과정을 통하면 최소한의 노력으로 학습데이터 전체 Λ에 대해 올바른 실측값을 얻을 수 있고 최종적으로 확보된 데이터 셋 Λ를 이용하여 고성능의 균열 검출기를 학습하게 된다. 뿐만 아니라 본 연구에서는 균열이 없는 콘크리트 벽면 이미지 900장을 추가적으로 수집하였고 이를 학습에 활용하였다. 균열을 포함하지 않는 이미지는 검출기의 배경영역에서의 성능을 높이는데 기여할 수 있다. 본 연구에서 새롭게 정제하고 수집한 데이터는 https://drive.google.com/drive/folders/16gbB9ChXyxfkltKD5BxhxwVR_MSljqZt?usp=sharing에 공개하였다.

균열 검출기를 통해 검출된 균열들은 5차원의 벡터로 아래와 같이 표현된다.

cij,xij,yij,wij,hij,i=1,2,...N,j=1,2,...M,(1) 

c는 검출 객체 클래스, cy는 객체의 경계상자 중심 이미지 픽셀 좌표, wh는 객체의 경계상자의 가로, 세로 길이를 나타낸다. i는 검출 결과 이미지의 인덱스로 N은 전체 이미지 수를, j는 한 이미지 내 균열 검출 결과 인덱스로 N은 한 이미지 내 검출된 전체 균열 수를 나타낸다. x, y, w, h는 모두 [0, 1] 사이로 정규화된 값이다.

3-3 3차원 건물 복원 및 균열 시각화 기법

건물의 3차원 복원을 위해서 OpenSfM[17]을 활용하였으며 해당 기술은 단안 동영상 영상을 통해 3차원 점구름 형태의 객체를 복원 가능하다. SfM에서의 3차원 복원 과정은 매 프레임마다 촬영된 2차원 이미지에서 특징점을 추출하고, 다음 프레임에서 추출된 특징점을 매칭하여 대응점을 찾는 과정이 수행된다. 여러 장의 영상을 통해 최적화된 대응점 정보들은 3차원 공간으로 사영되며 이러한 사영점들이 모여 객체의 3차원 점구름이 형성된다. 이때 2차원 이미지에서 추출된 특징점 간의 대응 정보는 아래와 같이 7차원의 벡터로 표현된다.

i,k,xik,yik,rik,gik,bik,i=1,2,...N,k=1,2,...M,(2) 

i는 이미지 인덱스, N은 전체 이미지 수, k는 대응점 인덱스, M은 이미지 간 특징점 대응 정보의 총 개수를 나타낸다. 이때 i는 균열 검출 결과에서 나오는 i와 동일하여 같은 이미지는 같은 i를 갖게 된다. 또한, k는 특징점 대응 좌표이므로 서로 다른 두 이미지에서 대응점으로 추출된 한 좌표씩 서로 같은 k를 갖게 된다. x, y는 이미지 i의 대응점 k의 이미지 픽셀 좌표를 나타내며 [–0.5, 0.5] 사이로 정규화되었다. 마지막으로 r, g, b는 해당 좌표의 RGB 색상을 나타낸다.

본 연구에서는 복원된 3차원 객체에 검출된 건물 균열 또한 시각적으로 표현하는 것이 목표이므로 이를 위해 건물 균열 영역에 포함되는 2차원 특징점을 선별하고 해당 특징점이 3차원 공간으로 사영될 경우 분별 가능한 색으로 의도적으로 변경하였다.

이를 위해 그림 4.(좌)와 같이 그림 균열 검출된 이미지 i에서 균열 검출 결과 j를 가져온다. 이미지 i가 특징점 정보에 존재하는지 확인하고 특징점 정보가 있다면 균열 경계 상자 내에 위치하는지 한 번 더 확인한다. 이때 경계 상자 위치 좌표와 대응점 좌표는 서로 다른 범위로 정규화되어 있어 바로 비교할 수 없으므로 정규화된 균열 검출 결과 경계 상자 좌표를 이미지 픽셀 좌표로 변환한다. x, w에 이미지 가로 길이 W를, y, h에 이미지 세로 길이 H를 곱하여 균열 경계 상자의 이미지 픽셀 좌표 Bij를 다음과 같이 나타낼 수 있다.

Bij=Wxij,Hyij,Wwij,Hhij(3) 
Fig. 4.

(Left) Crack Detection, Feature point in Image t (Middle) Feature Point between Image t and Image t+1 (Right) Feature Point between Image t and Image t+2

균열 검출 결과를 이미지 픽셀 좌표로 변환한 후, 이미지 i가 가지고 있는 특징점 좌표도 모두 이미지 픽셀 좌표로 변환한다. 특징점 좌표 xik = [xik,yik], 에 이미지 가로 길이 W와 세로 길이 H 중 더 큰 값인 s를 곱한 후 0.5를 더해줌으로써 이미지 픽셀 좌표로 변환한다. 이러한 변환 과정은 활용한 SfM [15] 에서의 구현 방식을 참조했으며 특징점 좌표의 이미지 픽셀 좌표 Fik는 아래 수식과 같다.

Fik=sxik+0.5, where s=maxW,H,(4) 

이미지 i의 특징점 좌표들 중 가져온 균열 검출 결과 영역 안에 있는 좌표가 있다면 해당 좌표를 주변 색과 대비되는 색으로 변경한다. 본 연구에서는 색상 값 [r = 255, g = 0, b = 0]으로 설정해 빨간색으로 표시되도록 했다. 그림 4.(중)과 같이 변경된 특징점 좌표와 대응되어 같은 대응점 인덱스 k를 갖는 다른 한 이미지의 한 좌표도 동일하게 변경한다. 그림 4.(우)와 같이 균열 경계상자 내에 위치한 다른 특징점 좌표와 대응하는 다른 이미지의 좌표도 동일하게 변경한다. 이와 같은 과정을 모든 균열 검출 결과에 대해 대응점 정보를 비교하여 진행하면 균열 검출 영역에 대한 특징점들은 주변 색과 대비되는 색으로 변경된다.

3-4 사용자 인터페이스

본 연구에서 제안한 기법들은 사용자의 접근성, 편의성을 위해 웹상에 구현하였다. 활용한 기반 기술들과 구현한 알고리즘 모두 파이썬 언어 기반으로 이루어져 있으므로 기술 간 연동을 위해 플라스크 [22] 웹 프레임워크를 이용하였다. 플라스크는 파이썬 기반 웹 프레임워크로 파일 간 연결, 구조화 등을 개발 의도대로 손쉽게 작성할 수 있는 장점이 있다.

그러나 본 연구에서 활용한 객체 검출, 3차원 복원 기법이 파이썬 언어 기반이라 하더라도 각 기술에서 활용되는 라이브러리와 환경이 서로 달라 하나의 환경에서 두 개의 기법을 동시에 실행하기는 어려움이 따른다. 이를 해결하기 위해 가상환경 생성 및 가상환경 간의 통신이 자유로운 도커 [21]를 활용하였다. 각각의 기술은 각각의 도커 컨테이너 상에서 동작하도록 구현하고 병합하였다. 최종적으로 플라스크에서 도커 컨테이너 간 통신을 수행하여 모든 기술들이 하나로 통합된 웹 서비스를 구현하였다.

사용자 인터페이스는 그림 5.(상)과 같다. 사용자는 웹 메인 페이지에 접속하여 업로드 버튼을 통해 업로드 페이지로 넘어간다. 해당 페이지에서 사용자가 미리 촬영한 건물 영상을 업로드하면 입력 영상을 토대로 균열 위치가 표시된 3차원 형태를 결과 페이지에서 제공한다. 사용자는 복원된 건물을 마음대로 둘러볼 수 있으며 다양한 카메라 시점에서 확인 가능하다. 또한 3차원 복원 영상뿐만 아니라 원하는 위치와 각도의 카메라 아이콘을 클릭해 해당 위치에서의 2차원 이미지 및 균열 검출 결과 확인이 가능하다. 실제로 어떠한 균열이 생겼는지 2차원 영상에서도 확인 가능하다. 사용자가 영상입력 후 결과까지의 과정은 그림 5.(하)와 같이 모두 도커에서 자동으로 동작한다.

Fig. 5.

(Top) User Interface; (Bottom) Processing environment in docker


Ⅳ. 실험 결과

4-1 균열 검출기 학습

YOLO version 5 (이하 YOLO v5) [12] 학습에 활용한 데이터셋 (AIHub [24]) 11,295장의 실측값이 부정확하기 때문에 본 연구의 III-3.2장에서 제안한 방법을 통해 모두 보정해주었다. 최종적으로 균열을 포함한 11,295장과 추가적으로 수집한 균열이 없는 콘크리트 벽면 이미지 900장을 검출기 성능평가에 활용하였다. 총 12,195장의 80%는 분류기 학습에, 20%는 분류기의 성능 검증에 활용했으며 YOLO v5의 초기 가중치는 전이학습을 통해 기본값으로 두었고 학습데이터를 이용해 모델 네트워크를 미세 조정하여 분류기 학습을 완료하였다.

다양한 균열을 포함하는 1,200장에 대한 균열 검출 실험 결과, 그림 6.(좌)와 같이 평균 정밀도 (Average Precision)가 15.1%에서 69.6%로 54.5% 향상되었다. 또한 균열이 없는 콘크리트 벽면 이미지가 균열 검출기 모델 성능에 영향을 미치는지 확인하기 위하여 추가 실험을 진행하였다. 이에 대한 배경 이미지 유무 실험 결과, 그림 6.(우)와 같이 평균 정밀도가 69.4%에서 69.6%로 소폭이지만 향상되는 것을 확인하였다. 이렇듯 기존의 객체 검출 모델에서 검출할 수 없었던 균열 클래스를 본 연구에서 수집, 정제한 데이터를 통해 충분한 성능을 보이도록 학습했고 해당 검출기를 최종적으로 본 연구에서 제안하는 균열 시각화에 활용하였다.

Fig. 6.

(Left) Comparison to Baseline model and proposed model (Right) Comparison of Concrete background data added

4-2 3차원 건물 복원 및 균열 시각화

제안한 기법들의 평가를 위해 총 세 가지 영상 시나리오에 대해 테스트를 진행했다. 또한 각각의 시나리오에는 기존 검출기 Yolo(baseline)와 제안하는 검출기 Yolo(proposed) 각각 검증하였다. 첫 번째 시나리오는 균열을 포함하지 않는 실제 건물에 대한 알고리즘 평가이며 제안하는 분류기를 이용하면 그림 7.(상)과 같이 동영상 촬영된 건물의 영역이 3차원으로 잘 복원되었으며 어떠한 균열도 탐지되지 않았다. 또한, 기존 균열 검출기를 활용한 결과에서도 어떠한 균열도 탐지되지 않았다.

Fig. 7.

(Top) Result of NonCrack Building; (Middle) Result of Crack Building; (Bottom) Result of Building Model

또한, 기존 균열 검출기를 활용한 결과에서도 어떠한 균열도 탐지되지 않고 3차원으로 올바르게 복원되었다. 두 번째 시나리오는 건물 균열을 포함한 실제 건물에 대한 평가이며, 그림 7.(중)과 같이 제안하는 균열 검출기는 적절하게 균열을 위치를 탐지하였으며 복원된 3차원 건물에도 균열이 잘 표시되는 것을 확인하였다. 그러나 기존 균열 검출기에서는 촬영된 건물의 영역이 3차원으로 잘 복원되긴 하였으나 균열을 제대로 검출하지 못하였다. 첫 번째 및 두 번째 시나리오는 정밀한 건물 촬영을 위해 드론을 이용하여 촬영했다.

마지막 시나리오는 그림 7.(하)와 같이 한쪽 면에만 균열이 있는 건물 모형을 제작하여 테스트하였다. 건물 모형을 활용한 이유는 모형의 전체 면을 간편하게 촬영 할 수 있고 건물 외벽의 텍스처 수정이 용이한 장점이 있다. 테스트 결과 제안한 균열 검출기는 정확하게 균열을 탐지하고 3차원 건물 모델에 시각화된 것을 확인 할 수 있다. 그러나 건물 모형 테스트 시나리오에서도 기존 균열 검출기는 균열을 전혀 검출하지 못하는 것을 확인할 수 있었다.

제안하는 고성능의 균열 검출기와 복원된 3차원 모델에서의 시각화 기술들을 통해 건물 관리인들은 직접 모든 건물의 균열 검출을 할 필요 없이 디지털화된 복원/검출 결과물을 확인하여 손쉽게 건물의 균열 및 하자 여부를 판단할 수 있다.


Ⅴ. 결 론

본 연구에서는 건물 붕괴사고 예방을 위해 건물을 3차원으로 복원하고 건물 균열 위치를 자동 탐지하여 시각화하는 기법을 제안하였다. 이를 위해 먼저 균열 검출기의 성능을 효율적으로 높이는 방법을 제안하였으며, 3차원 복원 프레임워크에 균열 검출 결과를 조화롭게 융합하여 사용자에게 건물의 전반적인 구조와 균열의 위치를 직관적으로 확인할 수 있도록 설계 하였다. 균열을 포함하거나 하지 않은 실제 건물들에 대해 제안 기법을 테스트 하여 올바르게 동작함을 실험적으로 확인하였다. 제안 기법들은 촬영된 동영상만 웹에 업로드 하면 모든 과정을 자동으로 수행하므로 건물 관리인이 아닌 일반인도 손쉽게 건물 균열을 탐지하고 확인할 수 있다. 뿐만 아니라 드론과 같은 장치를 이용하면 사람이 확인하기 어려운 영역도 자세히 살필 수 있어 공수를 크게 절감할 수 있다. 본 연구에서 제안하는 기법들을 통해 건물의 균열을 손쉽게 탐지하여 붕괴사고를 예방할 수 있기를 기대한다.

Acknowledgments

이 성과는 정부(과학기술정보통신부)의 재원으로 한국연구재단의 지원 받아 수행 (No. RS-2022-00165919) 되었으며 과학기술정보통신부 및 정보통신기획평가원의 지역지능화혁신인재양성사업의 연구결과로 수행되었음 (IITP-2022-RS-2022-00156287)

References

  • The Hankyoreh. Gwangju I-Park Collapse Investigation Announces [Internet]. Available: https://www.hani.co.kr/arti/society/society_general/1036499.html#cb
  • Construction Management News. A Study on the Investigation of Poor Construction and Analysis of Cause of Apartment Housing [Internet]. Available: http://www.ekacem.or.kr/pds/gamribull/2003/200306/4.pdf
  • J. G. Hwang, "Poor construction, its causes and responsibilities" The Journal of CIVIL ENGINEERING, Vol. 42, No. 5, pp. 3-8, Oct 1994.
  • Korea Data potal. Accident occurrence status [Internet]. Available: https://www.data.go.kr/data/15014225/fileData.do
  • Ministry of the Interior and Safety. Social Disaster Action Tips [Internet]. Available: https://www.safekorea.go.kr/idsiSFK/neo/sfk/cs/contents/prevent/SDIJKM5118.html?menuSeq=127
  • Korea Fire Protection Association. Evacuation and Response to Building Collapse [Internet]. Available: https://www.kfpa.or.kr/mem/pdf_file/H/155/H155_4.pdf
  • T. Y. Jeong, "Sampoong, Seoul, 1995: Record of Sampoong Department Store Disaster for Social Memory," The Journal of The Korean Journal of Archival Studies, Vol. 49, No. 14, pp. 377-381, Jul 2016. [https://doi.org/10.20923/kjas.2016.49.377]
  • Korea Fire Protection Association. Major Cases and Preventive Measures for Building Collapse [Internet]. Available: https://www.kfpa.or.kr/mem/pdf_file/H/155/H155_3.pdf
  • J. Redmon, S. Divvala, R. Girchick and A. Farhadi, "You Only Look Once: Unified, Real-Time Object Detection," in 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas: LV, pp. 779-788, June 2016. [https://doi.org/10.1109/CVPR.2016.91]
  • R. Girchick, J. Donahue, T. Darrell and J. Malik, "Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation," in 2014 IEEE Conference on Computer Vision and Pattern Recognition, Columbus: OH, pp. 580-587, June 2016. [https://doi.org/10.1109/CVPR.2014.81]
  • R. Girchick, "Fast R-CNN," in 2015 IEEE International Conference on Computer Vision (ICCV), Santiago Chile, pp. 1440-1448, Dec 2015. [https://doi.org/10.1109/ICCV.2015.169]
  • Github. Gleen jocher yolov5 [Internet]. Available: https://github.com/ultralytics/yolov5, .
  • S. Ren, K. He, R. Girshick and J. Sun, "Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks," The Journal of IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 39, No. 6, pp. 1137-1149, June 2017. [https://doi.org/10.1109/TPAMI.2016.2577031]
  • H. Durrant-Whyte and T. Bailey, "Simultaneous localization and mapping: part I," The Journal of IEEE Robotics & Automation Magazine, Vol. 13, No. 2, pp. 99-110, June 2006. [https://doi.org/10.1109/MRA.2006.1638022]
  • J. L. Schonberger and J. M. Frahm, "Structure-From-Motion Revisited," in 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas: LV, pp. 4104-4113, June 2016. [https://doi.org/10.1109/CVPR.2016.445]
  • R. Mur-Artal, J. M. M. Montiel and J. D. Tardos, "ORB-SLAM: A Versatile and Accurate Monocular SLAM System," The Journal of IEEE Transactions on Robotics Vol. 31, No. 5, pp. 1147-1163, Aug 2015. [https://doi.org/10.1109/TRO.2015.2463671]
  • Github. Mapillary OpenSfM [Internet]. Available: https://github.com/mapillary/OpenSfM, .
  • X. Pan, Z. Xia, S. Song, L. E. Li and G. Huang, "3D Object Detection with Pointformer," in 2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Tennessee: TN, pp. 7459-7468, June 2021. [https://doi.org/10.1109/CVPR46437.2021.00738]
  • C. R. Qi, W. Liu, C. Wu, H. Su and L. J. Guibas, "Frustum PointNets for 3D Object Detection from RGB-D Data," in 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, Utah: UT, pp. 918-927, June 2018. [https://doi.org/10.1109/CVPR.2018.00102]
  • Github. Crack Detection Software of Concrete Structures Using Drones [Internet]. Available: https://github.com/Garamda/Concrete_Crack_Detection_and_Analysis_SW
  • Docker [Internet]. Available: https://www.docker.com/
  • Flask [Internet]. Available: https://flask.palletsprojects.com/en/2.2.x/
  • J. Deng, W. Dong, R. Socher, L. J. Li, K. Li, L. F. Fei, "ImageNet: A large-scale hierarchical image database," in 2009 IEEE Conference on Computer Vision and Pattern Recognition, FL: Florida, pp. 248-255, June 2009. [https://doi.org/10.1109/CVPR.2009.5206848]
  • Crack Detection Image Data [Internet]. Available: https://www.aihub.or.kr/aihubdata/data/view.do?currMenu=115&topMenu=100&aihubDataSe=realm&dataSetSn=162
  • Roboflow [Internet]. Available: https://roboflow.com/

저자소개

김혜근(Hye-Geun Kim)

2019년~현 재 : 전남대학교 소프트웨어공학과 학사과정

※관심분야 : 컴퓨터비전(Computer Vision), 딥러닝(Deep Learning), 인공지능(Artificial Intelligence) 등

양석영(Seock-Young Yang)

2018년~현 재 : 전남대학교 소프트웨어공학과 학사과정

※관심분야 : 컴퓨터비전(Computer Vision), 딥러닝(Deep Learning), 인공지능(Artificial Intelligence) 등

이승준(Seung-Jun Lee)

2017년~현 재 : 전남대학교 소프트웨어공학과 학사과정

※관심분야 : 컴퓨터비전(Computer Vision), 딥러닝(Deep Learning), 인공지능(Artificial Intelligence) 등

조영준(Yeong-Jun Cho)

2014년 : 광주과학기술원 정보통신공학 (공학석사)

2018년 : 광주과학기술원 전기전자컴퓨터 공학 (공학박사-컴퓨터비전)

2018년~2020년: 현대모비스 데이터사이언스팀 책임

2020년~현 재: 전남대학교 소프트웨어공학과 조교수

※관심분야 : 컴퓨터비전(Computer Vision), 딥러닝(Deep Learning), 스마트팩토리 등

Fig. 1.

Fig. 1.
(Left) Types of Collapse Accident (Right) Resident Buildings, Multi-use Facility

Fig. 2.

Fig. 2.
Architecture of proposed methods

Fig. 3.

Fig. 3.
(Left) Crack Bounding Box before Data Processing (Right) Crack Bounding Box after Data Processing

Fig. 4.

Fig. 4.
(Left) Crack Detection, Feature point in Image t (Middle) Feature Point between Image t and Image t+1 (Right) Feature Point between Image t and Image t+2

Fig. 5.

Fig. 5.
(Top) User Interface; (Bottom) Processing environment in docker

Fig. 6.

Fig. 6.
(Left) Comparison to Baseline model and proposed model (Right) Comparison of Concrete background data added

Fig. 7.

Fig. 7.
(Top) Result of NonCrack Building; (Middle) Result of Crack Building; (Bottom) Result of Building Model