1. 서 론
1.1 연구의 배경 및 목적
국토교통부는 설계·시공 효율성 및 안정성 확보를 통한 국내 건설산업의 경쟁력 향상을 위해 건설 프로젝트에 Building Information Modeling
(BIM) 기술 도입을 적극 장려하고 있다. 이를 위해 2020년부터 500억 원 이상 공공사업에 BIM을 의무적으로 시행하고, 2025년까지는 모든
건설 사업에 BIM을 적용하는 것을 목표로 하고 있다. 또한 ‘2030 BIM 활성화 로드맵’ 수립을 통해 2D 도면 기준 간소화를 추진하는 등 BIM
적용에 대한 인센티브를 제공하며 BIM 확산에 노력을 기울이고 있다.
이처럼 BIM 도입이 활성화됨에 따라 기존 건설 프로젝트 수행 방식에서 계약 주체와 책임소재의 분절을 해소하고 모델 기반 협업 방식으로 점차 전환되고
있다. 특히, 본 과정에서 현재 개발 및 운용 중인 기술별 전문화된 BIM 소프트웨어 간 데이터와 정보의 교환 및 상호호환성(interoperability)
문제해결에 대한 중요도가 높아지고 있는 상황이다(Shin et al., 2015).
국제 ISO 표준 모델인 Industry Foundation Classes (IFC)는 건설 정보를 중립적이고 개방적인 데이터 포맷으로 제공해 줌으로써,
분야별로 전문화된 BIM 소프트웨어 간 개별 객체의 속성 및 객체 간 정보의 교환을 가능케 하는 표준 데이터 모델로 활용되고 있다. 그러나 IFC의
구조적 복잡성으로 인해 BIM 소프트웨어 간 데이터 교환 시 오류 및 누락이 종종 발생하여 교환 데이터의 시멘틱 무결성(semantic integrity)이
보장되지 않는 문제가 존재한다(Eastman et al., 2009). 여기서 시멘틱 무결성이란 개별 BIM 부재와 관련된 제반 IFC 데이터(Ifc 엔티티, 관계 엔티티, 속성 정보 등)가 올바로 부여된 것을 일컫는다.
시멘틱 무결성이 보장되지 않을 경우 IFC 데이터의 품질 신뢰도가 하락하며, 이는 BIM 데이터의 연속성 및 재활용 취지를 저해하는 요인이 된다(Koo et al., 2018). 이에 IFC 정보의 무결성 검증을 위해 기존에는 일련의 추론 규칙(inference based rule sets) 정의를 통한 시멘틱 강화(semantic
enrichment) 접근법(Bazjanac and Kiviniemi, 2007; Belsky et al., 2016; Sacks et al., 2017; Venugopal et al., 2012)이 주로 활용되었다. 최근에는 인공지능 기술의 부상으로 기계학습을 활용하여 개별 BIM 부재의 기하정보를 학습한 후 부재식별을 자동화하는 연구(Bassier et al., 2017; Bloch and Sacks, 2018; Ma et al., 2017)가 다수 진행된 바 있다. 그러나 이들 연구는 개별 부재의 기하특성에만 집중하여 기하특성이 유사한 부재를 구분하는데 한계점이 존재하였다.
해당 한계점 해결을 위해 BIM 모델 내 부재 간 관계정보를 학습에 활용하는 연구가 수행된 바 있다. Koo et al.(2018)의 경우, BIM 부재 분류를 위해 Support Vector Machine (SVM)을 사용하였으며, 이때 시멘틱 관계정보를 추가하여 학습시킨 결과
기하정보만 활용한 학습모델 대비 더 높은 정확도(accuracy, ACC)를 보이는 것으로 검증되었다. 단, 해당 연구에서는 시멘틱 관계 정보를 IFC
파일로부터 추출한 후 메트릭스 형태로 변환하고 이를 추가 특성(feature)변수로 입력하여 명시화하였다. 이럴 경우, 부재 간 개별 관계 정보를
일일이 별도로 명시해야 하기에 특성변수가 무리하게 많아지며 1차원적으로 밖에 표현 못하는 한계가 존재하였다.
이에 본 연구에서는 Neural Structured Learning (NSL) 알고리즘을 활용해 관계정보를 표현하는 방안을 구축하고자 하였다. NSL은
신경망 학습과정에 기존 특성(feature inputs) 외에 구조화된 신호(structured signals)를 활용한 공동 학습 방식을 통해 기존
인공신경망 모델의 ACC를 향상시키는 준 지도학습(semi-supervised learning) 알고리즘이다(Bui et al., 2018). 본 연구에서는 NSL을 기반으로 표현된 부재 간 관계정보를 표현하여 BIM 부재 자동분류를 위한 인공신경망 모델과 병합하는 방법론을 적용 및
검증하고자 하였다. 구체적으로 BIM 데이터를 활용하여 다층 퍼셉트론(Multi- Layer Perceptron, 이하 MLP) 모델을 1차적으로
학습시키고, 2차적으로 NSL을 통해 MLP에서 추출된 인공신경망(Artificial Neural Network) 그래프와 부재 간 관계정보 그래프를
합성하는 방식으로 진행하여 단순 모델 대비 향상된 성능을 검증하였다.
1.2 연구의 범위 및 방법
본 연구에서는 실제 NSL 알고리즘을 활용하여 관계 그래프를 삽입할 경우 그 효용 정도를 파악하고자 하였다. 자동분류 대상 부재는 실제 건축 BIM
모델에서 추출한 8가지 건축 부재로 제한하였으며, 이를 통해 아래에 제시한 일련의 과정으로 학습모델 구축 및 검증을 수행하였다.
1.2.1 1단계: BIM 부재 수집 및 학습데이터 구축
연구 대상 건축 BIM 모델에서 14개 IFC 클래스의 총 16,066개 부재를 추출하였다. 이 중 단일객체이며 부재 개수가 충분하여 학습에 적합한
8가지 IFC 클래스, 총 2,931개의 부재를 최종 분석 대상으로 선정하였다.
1.2.2 2단계: 기하정보 기반 학습모델 구축
베이스라인(baseline) 인공신경망 모델 구축을 위해 1단계에서 선정된 부재를 대상으로 기하정보(길이, 면적, 체적 등)를 추출하였다. 이후 가장
보편적인 인공신경망 모델인 MLP를 활용하여 베이스라인 부재 분류 학습모델을 구축하였다.
1.2.3 3단계: 부재 간 관계정보 추출
그래프 합성에 사용되는 부재 간 관계정보를 IFC-SPF 파일로부터 추출하였으며, 이를 NSL 학습에 적합한 부재 간 관계정보 데이터 형태로 변환하였다.
1.2.4 4단계: 시멘틱 정보 기반 학습모델 구축
기하정보 기반으로 학습시킨 MLP 모델의 그래프와 부재 간 관계정보 그래프를 합성하여 NSL 기반 그래프 합성모델을 구축하였다.
1.2.5 5단계: 학습모델 비교 및 검증
2단계와 4단계에서 구축된 개별 학습모델의 성능을 측정하기 위해 ACC, 정밀도(precision), 재현율(recall) 및
-score를 모델 평가지표로 활용하여 베이스라인 모델 대비 그래프 합성 모델의 성능 향상 정도를 검증하였다.
2. 연구 배경
2.1 선행연구 고찰
BIM 상호운용성 확보를 위해 부재 인식 및 분류를 통한 BIM 데이터의 무결성을 검증하고 매핑 정확도를 향상시키는 시멘틱 강화(semantic enrichment)에
관한 다수의 연구가 이루어져 왔다. 이와 관련하여 부재 매핑 검증을 중심으로 추론 규칙 집합 접근법과 기계학습 접근법을 활용한 시멘틱 강화 연구가
다수 수행되어 왔다.
2.1.1 추론적 규칙 기반 시멘틱 강화 연구
기존 시멘틱 강화 연구는 일련의 추론적 규칙들을 규정하고 이를 통한 IFC의 무결성 검증에 사용하였다(Belsky et al., 2016; Cursi et al., 2017; Ma et al., 2017; Pauwels and Terkaj, 2016).
Belsky et al.(2016)은 특정 BIM 객체에 매핑된 IFC 엔티티의 적정성을 사전에 정의된 규칙들과 조건문의 조합들을 통해 검증하고자 하였다. 일례로 Fig. 1(a)에서와 같이 두 벽체 사이에 존재하는 고정장치 부재에 매핑된 IFC 엔티티의 적정성 검토를 위해 Fig. 1(b)와 같은 사전에 정의된 추론 문구를 통해 검토하는 방안을 제시하였다. 본 사례의 경우 해당 고정 장치는 처음에 기둥 엔티티(IfcColumn)로 분류됐지만, 본 추론 문구 검토를 거쳐서 이보다는 고정 부재 엔티티(IfcFastner)로 더 정확하고 세분화된 구분이 가능해진다.
Ma et al.(2017)은 ‘SeeBIM’이라는 시스템을 통해 교량 BIM 모델을 대상으로 개별 부재와 인근 부재의 기하 및 위상 관계 정보를 통해 교량의 각 구성 부재의
IFC 엔티티를 추론하는 방안을 제시하였다. 본 시스템을 통해 오 분류 또는 분류가 누락된 BIM 부재에 자동으로 IFC 엔티티를 부여할 수 있게
되었다. 이는 BIM 모델의 시멘틱 정보에 사용될 수 있는 동시에 라이다를 통해 스캔된 교량의 포인트 클라우드를 구성 별로 자동 분류하는 데도 활용할
수 있다.
Pauwels and Terkaj(2016) 및 Cursi et al.(2017)은 이들 연구를 발전시켜 시멘틱 웹(semantic web) 기술을 기반으로 IFC 전용 언어인 ifcOWL 구축하고 이를 통해 IFC 엔티티 및
IFC 속성 (IfcProperties) 정보를 검토하고 정밀화할 수 있는 방안을 제시하였다.
그러나 이들 연구는 개별 부재의 기하 및 위상적 특성을 일일이 파악하여 이를 규칙으로 구현하는 어려움이 있다. 또한 모든 IFC 엔티티 별로 고유의
규칙이 존재한다는 보장이 없다. 즉, 추론적 규칙 접근법은 모든 부재를 구분할 수 있도록 규칙을 정립하는 것이 어려우며, 특히 명확한 기준이 없을
경우 방대한 BIM 모델의 시멘틱 강화에 적용이 힘들기 때문에 특정 부재 및 조건에만 한정적으로 적용이 가능한 단점이 있다. 따라서, 규칙 기반에
근거한 시멘틱 정합성 검증은 확장성(scalability) 및 완결성(completeness)을 제공해 줄 수 없다는 한계가 존재한다.
2.1.2 기계학습 기반 시멘틱 강화 연구
Bloch and Sacks(2018)는 BIM 모델의 시멘틱 강화를 위해 추론적 규칙 방식의 대안으로 최근 부상한 기계학습 적용의 가능성을 제시하였다. 기계학습 방식은 이른바 귀납적(inductive
reasoning) 방식으로 데이터의 패턴 학습을 통해 규칙을 자동으로 추정하는 방식이다. Bloch and Sacks(2018)는 두 방식의 비교를 위해 방식별로 건축 BIM 모델 내 공간(즉, 마루, 침실, 부엌, 화장실 등)을 분류하는 실험을 진행하였으며, 그 결과 기계학습
방식의 분류정확도가 우월하다는 결론을 내렸다. 구체적으로 공간 구분을 고유한 규칙으로 일일이 구분하기는 힘들었으나, 기계학습의 경우 개별 공간의 기하
특성(면적, 위치, 공간별 창문 및 문의 개수 등)을 토대로 83 %의 분류 정확성을 달성하였다. 이처럼 기계학습에 기반한 귀납적 방식의 가능성이
열리면서 이를 BIM 모델 시멘틱 검증에 적용하려는 다수의 연구가 등장하였다.
Koo and Shin(2018)은 오 분류된 BIM 객체 탐색을 위해 이상탐지분석(novelty detection)을 활용하였다. 또한, Koo et al.(2019)은 보편적으로 활용되는 건축 BIM 부재(문, 창, 벽, 천장, 난간 등)를 구분하기 위해 Support Vector Machine을 활용하였으며,
그 결과 ACC 94.4 %의 분류모델을 구축하였다. Lomio et al.(2018)은 건축물 유형(아파트 및 산업시설) 분류를 위해 BIM 모델에서 추출된 이미지를 활용하였고, Kim et al.(2019)은 심층신경망인 2D CNN을 활용하여 의자, 변기와 같은 가구 BIM 부재를 분류하였다. Wu and Zhang(2019)은 일반적인 건물 부재 유형을 분류하기 위해 기하정보 특징을 활용하는 하위 알고리즘으로 구성된 정밀도(precision) 85.20 %, 재현율(recall)
84.45 %의 알고리즘을 개발하였다.
이들 연구는 기계학습 및 딥러닝 알고리즘을 대상 BIM 시설물 또는 특정 객체의 기하 특성에 대해 학습시켜 분류 및 인식할 수 있도록 훈련하였다.
그러나 기하 정보만으로 개별 BIM 부재를 구분하는 것은 한계가 있다. 특히 BIM 모델의 상세수준(Level of Development, LOD)이
높지 않을 경우, 기하 특성이 뚜렷하지 않기 때문에 분류 정확성이 떨어질 수 있다. 따라서, 본 연구에서는 기하 데이터와 더불어 개별 부재 간 내재되어
있는 관계 정보를 추가로 제공하여 분류 정확성을 높이고자 하였으며, 이 점에서 기존 연구와 차별화된다.
2.2 이론적 고찰
본 연구에서는 BIM 부재 간 관계정보를 학습하기 위해 NSL 기법을 적용하고자 하였다. NSL은 인공지능 알고리즘 중 인공신경망 형태의 학습 모델과
그래프 형태로 병합이 가능하다. 따라서 본 연구에서는 기하 정보 학습은 인공신경망 중 MLP를 선택하였고, 부재 간 관계정보 학습을 위해서는 NSL을
활용하였다.
2.2.1 다층 퍼셉트론
퍼셉트론(perceptron)은 다수의 신호를 입력받고 이를 하나의 신호로 출력하는 인공 신경망의 기본 유닛(unit)이다(Fig. 2 참고). 퍼셉트론으로 들어오는 입력신호(input)를
, 입력신호에 각각 곱해지는 가중치(weight)를
라고 할 때, 각각 노드와 가중치를 곱하는 순입력 함수(net input;
)를 통해 하나의 값으로 출력한다. 이후 활성화함수(activation function)를 통해 순입력 함수의 출력값이 임계점(cutoff) 이상일
때 1, 낮을 경우 –1로 출력하는 형태이다. 이 과정을 데이터를 입력받는 입력층, 결과 값을 출력하는 중간층, 결과값을 전달하는 출력층이라 한다.
이 중 순입력 함수와 활성화함수 부분을 중간층이라 하며, 하나의 중간층으로 구성될 경우 이를 단층 퍼셉트론(Single-Layer Perceptron)이라
한다.
Fig. 2.
Learning Process of Perceptron
그러나, 단층 퍼셉트론은 선형적으로 분리할 수 있는 문제만 학습이 가능하다는 한계점이 존재하여, 비선형 문제까지 적용 범위를 확대하기 위해 입력층(input
layer)과 다수의 중간층으로 구성된 은닉층(hidden layer), 출력층(output layer)의 구조를 갖는 MLP를 활용한다.
Fig. 3에 제시한 MLP의 구조를 보면, 입력층의 모든 값은 모두 은닉층으로 전달되고 은닉층의 모든 출력값 또한 출력층으로 전달되는데 이 과정을 순전파(feedforward)라
한다. 또한, 오차 최소화를 위해 출력층에서 발생하는 오차를 입력층 방향으로 보내 가중치를 업데이트하는 오류 역전파(error backpropagation)
과정을 이용하여 점차 오차를 감소시키는 방향으로 작동한다.
Fig. 3.
Multi-Layer Perceptron Structure
MLP에서 출력 신호 도출과정은 다음과 같다. j번째 뉴런이 받는 입력값의 합(
) 계산식은 Eq. (1)과 같으며, 여기서
는 뉴런 사이의 연결 강도,
는 번째
뉴런의 출력값, 그리고
는 j번째 뉴런의 편향(bias)을 나타낸다. 이후 Eq. (2)에 제시한 활성화 함수(
)에 입력 값의 합(
)을 적용하여 최종적으로 출력값(
)을 추출하는 과정으로 이루어진다. 활성화 함수는 출력값의 활성화를 결정하고, 그 값을 부여하는 함수로 MLP에서는 주로 시그모이드(sigmoid)
함수를 활용한다.
2.2.2 Neural Structured Learning
Neural Structured Learning (NSL)은 신경망 학습과정에 기존 특성(feature inputs) 외에 구조화된 신호(structured
signals)를 활용한 공동 학습 방식을 통해 기존 인공신경망 모델의 분류정확도를 향상시키는 준 지도학습(semi-supervised learning)
알고리즘이다(Bui et al., 2018). 준 지도학습은 라벨이 지정된 데이터와 지정되지 않은 데이터 모두를 활용하여 라벨이 지정된 데이터의 양이 적더라도 높은 정확도를 가지는 모델을
구축할 수 있도록 하는 학습방법이다. 일례로 Fig. 4와 같이 이미지를 지도학습으로 분류 시, 이미지 간의 유사성이 구조적으로 표현된다면, 적은 수의 데이터로도 이미지 분류 성능을 높일 수 있게 된다.
NSL은 1) 지도학습 환경에서 인공신경망을 학습시키고, 2) 인공신경망으로 하여금 구조화된 신호 속에서 패턴을 학습하는 프레임워크를 사용하며, 이를
통해 신경 그래프 학습(neural graph learning) 뿐 아니라 적대적 학습(adversarial learning)을 수행할 수 있다.
본 연구에서 활용하고자 하는 신경 그래프 학습 방식은 앞서 언급한 바와 같이 구조화된 신호가 기존 특성에 정보를 제공하는 방식으로 더 높은 모델 정확도를
달성할 수 있다는 장점이 있다. 특히 그래프 형태로 구조화된 관계정보가 있을 경우 특성만 활용하는 모델 대비 높은 정확도를 보이는 특성이 있다(Bui et al., 2018; Kipf and Welling, 2016).
NSL의 비용함수는 아래 Eq. (3)과 같다. 본 비용함수는 라벨링되지 않은 데이터에 대한 인공신경망 비용의 가중된 합(weighted sum of the neural network
cost)과 라벨 전파비용(label propagation cost)을 포함한다. 따라서 아래 식에서 첫째부터 세 번째 항은 합성된 그래프에 의한
목적함수를, 네 번째 항은 특성값(feature inputs) 기반 인공신경망 목적함수를 의미한다. 세부적으로
은 라벨링된 데이터,
는 라벨링된 데이터와 라벨링되지 않은 데이터,
는 라벨링되지 않은 데이터 간 연결관계인 엣지(edge)를 의미하며,
는 각각 입력값(input)과 출력값(output),
는 인공신경망에 의해 도출된 특성값에 대한 표현,
는 데이터 간의 거리,
는 하이퍼파라미터(hyperparameter)를 의미한다(Bui et al., 2018). 그러나 본 연구에서 활용한 IFC 데이터는 모든 부재에 대한 라벨링이 완료된 상태임에 따라, 라벨링 된 데이터만을 고려하는 Eq. (4) 형태의 목적함수를 활용하였다.
3. 연구 방법
본 연구에서는 건축 BIM 모델의 주요 부재를 인공신경망 기반으로 자동 분류하되, 상기 소개한 NSL 프레임워크를 적용하여 관계정보를 제공함으로써
분류 성능을 높이는 것을 목적으로 하였다. 이에 Fig. 5에 제시된 바와 같은 연구 절차를 수립하였다. 동일한 건축 BIM 모델로부터 부재 데이터 세트를 구축하고 이들 개별 부재의 기하 정보 및 부재 간
관계정보를 추출하였다. 그 후 1차적으로 MLP는 기하 정보만으로 훈련을 시행하고 2차적으로 MLP와 NSL의 병합 모델 기하 정보 및 관계 정보를
기반으로 훈련을 시행하였다. 이후 동일한 검증 세트(test set)를 대상으로 두 학습 모델의 분류 성능을 비교 분석하였다. 이때 분류 성능은 정확성(accuracy,
ACC), Precision-Recall 및
-score를 통해 정량적으로 평가하였으며, 개별 부재별로 비교하여 상세한 분석을 시도하였다.
Fig. 5.
The Research Process
3.1 분석 대상 BIM 모델 개요
본 연구의 분석대상인 건축 BIM 모델을 Fig. 6에 제시하였다. 해당 모델은 한국 빌딩스마트협회(buildingSMART Korea)에서 제공받은 IFC 표준 건축모델로, 연면적 14,465.13
의 12층 규모 업무시설이며 14개의 IFC 클래스, 총 16,066개의 부재로 구성되어 있다. 이 중 학습하기에 부재 개수가 충분하지 않거나, 커튼월(IfcCurtainWall), 계단(IfcStair)과 같이 복합객체1)로 추출이 불가능한 부재는 분석대상에서 제외하였다. 이를 통해 최종적으로 분석에 활용된 데이터는 Table 1에 제시한 바와 같이 8개의 IFC클래스, 총 2,931개의 부재이다.
Fig. 6.
Office Building Utilized in the Research
Table 1.
Element Breakdown of the BIM Model with Respect to IFC Classes
IFC Classes
|
No. of elements
|
IfcBeam
|
843
|
IfcColumn
|
296
|
IfcCovering
|
34
|
IfcDoor
|
254
|
IfcRailing
|
22
|
IfcSlab
|
593
|
IfcWallStandardCase
|
856
|
IfcWindow
|
33
|
Total
|
2,931
|
1)여기서 복합객체는 다수의 단위 객체를 단일 객체로 사용하는 부재를 총칭한다. 일례로, 계단(IfcStair)의 경우 계단층, 난간, 슬래브 등의 단위
객체를 복합하여 하나의 객체로 사용한다.
3.2 기하 정보 데이터 구축
앞서 수집한 부재 데이터를 기반으로 학습모델 구축을 위한 부재별 기하 형상정보를 작성하였다. 기하 형상정보 추출을 위해 python 프로그램 기반의
IfcOpenShell 라이브러리를 활용하였다. 본 라이브러리는 Open CASCADE를 활용하여 IFC 파일 내 존재하는 부재의 암시적 기하 정보를
명시적 형상으로 변환시켜주는 기능을 제공하며, 이를 통해 추출된 8가지 기하정보(부재의 bounding box 범위, 면적, 회전반경, 부피 등)가
모델 학습과정에 활용되었다. 본 연구에서 활용된 부재 별 기하정보에 대한 정의 및 평균값을 아래 Table 2에 제시하였다.
Table 2.
Definition and Average Value of Geometric Features by IFC Classes
Geometric
feature
|
Definition
|
IfcBeam
|
IfcColumn
|
IfcCovering
|
IfcDoor
|
IfcRailing
|
IfcSlab
|
IfcWallStandard
Case
|
IfcWindow
|
x
|
Width of
bounding box
|
4.75
(4.96)
|
0.92
(0.17)
|
19.02
(13.26)
|
0.94
(0.66)
|
2.91
(1.17)
|
7.40
(6.57)
|
2.98
(4.53)
|
1.21
(0.67)
|
y
|
Breadth of
bounding box
|
3.80
(4.08)
|
0.92
(0.17)
|
17.08
(12.84)
|
0.91
(0.55)
|
0.74
(1.43)
|
6.00
(6.01)
|
2.83
(5.01)
|
0.38
(0.29)
|
z
|
Height of
bounding box
|
1.04
(0.30)
|
4.72
(0.65)
|
0.21
(0.02)
|
2.20
(0.47)
|
1.46
(0.00)
|
0.45
(1.82)
|
4.30
(3.91)
|
1.33
(0.48)
|
areas
|
Area of element
|
21.16
(12.54)
|
14.14
(3.54)
|
614.15
(797.92)
|
6.77
(2.48)
|
4.46
(1.27)
|
93.92
(280.16)
|
45.49
(127.52)
|
4.96
(4.20)
|
ax1s
|
Area/volume
|
38.71
(79.66)
|
15.02
(34.90)
|
452.14
(332.48)
|
80.09
(31.57)
|
81.06
(2.01)
|
35.33
(111.17)
|
214.26
(575.94)
|
88.46
(21.27)
|
ax2s
|
Gyration/volume
|
11.04
(27.84)
|
0.30
(0.67)
|
18.05
(19.11)
|
5.15
(2.64)
|
17.51
(1.92)
|
1.55
(2.98)
|
9.48
(33.94)
|
7.42
(0.12)
|
gyrations
|
Radius of gyration
for element
|
2.22
(1.09)
|
0.29
(0.06)
|
7.46
(5.45)
|
0.39
(0.12)
|
0.96
(0.29)
|
2.97
(2.34)
|
1.53
(1.66)
|
0.36
(0.22)
|
volume
|
Volume of element
|
2.91
(2.00)
|
2.43
(0.92)
|
3.19
(7.28)
|
0.10
(0.06)
|
0.06
(0.02)
|
7.63
(74.56)
|
2.83
(5.84)
|
0.05
(0.33)
|
3.3 시멘틱 부재 관계 정보 데이터 구축
앞선 2.2.2절에 제시한 바와 같이 NSL 학습에는 인공신경망 그래프와 관계정보 그래프 합성 과정이 포함된다. 이를 위해 인공신경망 그래프 생성을
위한 특성(feature inputs) 데이터와 관계정보 그래프 생성을 위한 구조화된 신호(structured signals) 데이터 구축이 필요하다.
구조화된 신호 데이터는 벽과 연결된 부재를 대상으로 구축하였는데, 이는 벽 부재가 건축 BIM 모델 부재 중 빈도수가 가장 많아 벽을 잘 분류할 경우
전체적인 ACC가 향상되며, 이 경우 벽과 연계된 창문 및 문 등의 부재에 대한 ACC도 함께 향상될 수 있기 때문이다(Koo et al., 2018). 이에 따라 본 연구에서는 구조화된 신호 데이터 구축을 위해 (1)벽-벽, (2)벽-창, (3)벽-문으로 구성된 3가지 부재 간 연결 관계정보를
활용하였다. 본 과정은 IfcOpenShell 라이브러리를 활용하였으며, 이를 통해 IFC-SPF 파일 내 IfcRelConnects 클래스에 의해 정의된 아래 세부적인 관계정보에서 추출하였다.
1) IfcRelvoidsElement: 건물 부재(벽, 슬래브 등)와 부재 내 개구부(IfcOpeningElement)를 형성하는 관계를 정의한다.
2) IfcRelFillsElement: 개구부와 개구부에 포함 또는 삽입되어 있는 부재(창문, 문 등)의 관계를 정의한다.
3) IfcRelConnectsPathElements: 경로 상 연결되어 있는 두 벽 간의 관계를 정의한다.
따라서, IfcRelvoidsElement와 IfcRelFillsElement를 통해 개구부(IfcOpeningElement)를 중심으로 IfcWall과 IfcWindow, IfcDoor 간의 관계를, 벽 부재 간의 관계는 IfcRelConnectsPathElement로 추출할 수 있다.
Fig. 7에 제시한 본 연구의 부재 간 관계정보 추출과정 예시를 보면, 1번 과정에서 IfcRelVoidsElement (#1405825)를 활용하여 벽(#49461) 내 개구부(#1405822) 관계를 구현하고, 2번 과정에서 IfcRelFillsElement (#1405837)를 통해 개구부(#1405822)와 개구부에 존재하는 문(#220938)의 관계를 구현하였다. 이후 3번 과정에서 1, 2번 과정을
합성하여 개구부를 중심으로 벽과 문 간의 관계를 구현하였다. 또한, 4번 과정과 같이 IfcRelConnectsPathElement (#1405767)를 활용하여 벽(#1349391)과 벽(#1349568) 간의 관계정보를 구축하였다.
Fig. 7.
Process of Extracting Relational Information
3.4 NSL 모델 구축
본 연구에서 활용한 NSL 학습과정을 아래 Fig. 8에 제시하였다. 아래 그림에서 실선은 기존의 MLP 기반 기하정보 분류 모델의 학습과정을 나타내며, 점선은 NSL 학습 내 부재 간 관계정보를 삽입하기
위한 과정을 나타낸다. 구체적으로 MLP 학습용 기하정보인 특성 데이터와 부재 간 관계정보를 나타내는 구조화된 신호 데이터를 합성하고, 합성된 데이터는
임베딩(embedding) 계산을 위해 인공신경망으로 공급된다. 이후 인접 임베딩 간 거리를 계산하여 인접손실(neighbor loss)로 활용되며,
이는 정규화 항(regularization term)으로 처리되어 최종 손실에 추가된다. 해당 과정에서 MLP와 NSL의 구현은 Tensorflow의
keras 및 neural-structured-learning 라이브러리를 활용하였다.
3.5 학습모델 평가 방법
앞선 과정을 통해 구축된 데이터를 기반으로 MLP와 NSL 알고리즘의 합성 모델을 훈련 후 검증하였다. Table 3에 제시한 바와 같이 부재별 훈련(training set) 및 검증(test set) 데이터를 8:2의 비율로 분할하였으며, 이를 통해 총 2,322개의
데이터가 모델 학습, 609개의 데이터가 모델 검증에 활용되었다.2)
2)본 연구에서 활용한 4가지 학습모델 성능 평가 지표의 산출방법은 아래와 같음.
-ACC = (True Positive + True Negative)/(True Positive+False Positive + True Negative+False
Negative)
-Precision = True Positive / (True Positive + False Positive)
-Recall = True Positive / (True Positive + False Negative)
--score = 2*precision*recall/(precision+recall) = True Positive / (True Positive +
1/2(False Positive + False Negative))
Table 3.
Training and Test Set for Each IFC Class
Class
|
Training set
|
Test set
|
Total
|
IfcBeam
|
662
|
181
|
843
|
IfcColumn
|
242
|
54
|
296
|
IfcCovering
|
26
|
8
|
34
|
IfcDoor
|
209
|
45
|
254
|
IfcRailing
|
17
|
5
|
22
|
IfcSlab
|
472
|
121
|
593
|
IfcWallStandardCase
|
671
|
185
|
856
|
IfcWindow
|
23
|
10
|
33
|
Total
|
2,322
|
609
|
2,931
|
검증 데이터를 통해 각 학습모델의 성능 평가를 위해 ACC, 정밀도(precision), 재현율(recall) 및
-score를 활용하였다. ACC는 가장 보편적인 모델 평가방법으로 모든 예측값(predicted class) 중 실제 값을 맞춘 개수의 비율을 나타낸다.
정밀도는 양성으로 예측한 값 중 실제 양성인 값의 비율로 거짓을 참으로 예측하면 안 되는 경우 중요한 지표로 활용된다. 재현율은 실제 양성 값 중
모델이 양성으로 예측한 비율로 실제 참을 거짓으로 예측하면 안 되는 경우 중요한 지표이다. 마지막으로
-score는 정밀도와 재현율의 조화평균을 나타내며 학습데이터의 분포가 불균형일 때 주로 활용되는 평가지표이며,
-score가 높으면 precision, recall 모두 높은 결과값이라는 것을 유추할 수 있다.
4. 연구 결과 및 비교
4.1 기하정보 기반 MLP 검증 결과
MLP를 활용한 학습모델의 ACC는 0.90,
-score는 0.61로 도출되었으며, Table 4에 부재별 분류성능을 제시하였다. 전반적인 분류 성능은 양호한 것으로 확인되었으나, 천장(IfcCovering), 난간(IfcRailing), 창문(IfcWindow) 부재의 경우 ACC 및
-score가 0.5 이하의 값이었으며, 특히 난간과 창문은 0.0으로 모두 다른 부재로 오 분류한 결과가 나왔다.
Table 4.
Accuracy, Precision, Recall and
-score per IFC Class for Multi-Layer Perceptron
Class
|
Accuracy
|
Precision
|
Recall
|
-score
|
AP
|
IfcBeam
|
0.99
|
0.91
|
0.99
|
0.95
|
0.99
|
IfcColumn
|
0.96
|
1.00
|
0.96
|
0.98
|
0.99
|
IfcCovering
|
0.25
|
0.50
|
0.25
|
0.33
|
0.36
|
IfcDoor
|
1.00
|
0.56
|
1.00
|
0.72
|
0.69
|
IfcRailing
|
0.00
|
0.00
|
0.00
|
0.00
|
0.36
|
IfcSlab
|
0.98
|
0.95
|
0.98
|
0.96
|
0.99
|
IfcWallStandardCase
|
0.81
|
0.99
|
0.81
|
0.88
|
0.97
|
IfcWindow
|
0.00
|
0.00
|
0.00
|
0.00
|
0.61
|
Average
|
0.90
|
0.61
|
0.62
|
0.62
|
0.74
|
Fig. 9에는 임계값(threshold) 변화에 따른 precision과 recall 값의 변화와 부재별 모델 성능 변화 관측을 위해 precision-recall
curve를 제시하였다. Precision-recall curve는 일반적으로 이진분류 문제에서 활용되기 때문에, 다중분류 문제인 본 연구에서는 확률
값으로 출력되는 결과를 이진화(binarize) 후 클래스 별 curve를 그리는 방식으로 작성하였다(Su et al., 2015). 또한, 작성된 부재 별 curve 아래 면적 넓이를 average precision (AP)로 표현하여 전체적인 부재 분류 성능을 측정하였다.
그 결과 앞선 평가지표와 유사하게 전반적인 분류 성능이 양호하며, 천장, 난간, 창문 부재는 상대적으로 낮은 성능을 보이는 것으로 확인되었다.
Fig. 9.
Precision-Recall Curve for Multi-Layer Perceptron (Baseline)
4.2 기하 및 관계 정보 기반 NSL 학습모델 검증 결과
NSL 모델의 ACC는 0.94,
-score는 0.66으로 도출되었으며, Table 5에 부재별 분류성능과 Fig. 10에 precision-recall curve를 제시하였다. NSL의 개별 부재별 분류성능은 앞선 MLP보다 양호한 성능을 보였으며, 특히 관계정보를
삽입한 벽(IfcWallStandardCase) 부재의 ACC가 0.95, 문(IfcDoor) 부재가 1.00로 매우 높은 ACC를 보였다. 그러나 천장(IfcCovering) 부재의 ACC 및
-score가 0.1 수준의 낮은 분류성능을 보였으며, 난간(IfcRailing), 창문(IfcWindow) 부재는 모두 다른 부재로 오 분류하여 ACC 및
-score가 0.0으로 확인되었다. 또한, precision-recall curve에서 도출된 AP의 경우에도 벽과 문 부재에 대해 높은 성능을
보였으며, 천장, 난간, 창문 부재에 대해서는 낮은 성능을 보였다.
Table 5.
Accuracy, Precision, Recall and
-score per IFC Class for Neural Structured Learning
Class
|
Accuracy
|
Precision
|
Recall
|
-score
|
AP
|
IfcBeam
|
1.00
|
0.94
|
1.00
|
0.97
|
0.98
|
IfcColumn
|
0.96
|
0.98
|
0.96
|
0.97
|
1.00
|
IfcCovering
|
0.13
|
1.00
|
0.13
|
0.22
|
0.36
|
IfcDoor
|
1.00
|
0.74
|
1.00
|
0.85
|
0.92
|
IfcRailing
|
0.00
|
0.00
|
0.00
|
0.00
|
0.44
|
IfcSlab
|
0.97
|
0.95
|
0.97
|
0.96
|
0.92
|
IfcWallStandardCase
|
0.95
|
0.98
|
0.95
|
0.96
|
0.99
|
IfcWindow
|
0.00
|
0.00
|
0.00
|
0.00
|
0.36
|
Average
|
0.94
|
0.70
|
0.63
|
0.66
|
0.75
|
Fig. 10.
Precision-Recall Curve for Neural Structured Learning
4.3 결과 및 성능 비교
앞서 4.1 및 4.2절에 제시한 MLP 모델의 ACC는 0.90과
-score 0.62, NSL모델의 ACC는 0.94와
-score 0.66으로 나타남에 따라 관계정보를 학습과정에 삽입하였을 때 ACC 0.04,
-score 0.04의 성능이 향상된 것으로 확인되었다. 특히 부재별 MLP 대비 NSL 모델의 향상된 정도를 제시한 Table 6를 보면 관계정보를 추가한 문(IfcDoor) 부재의
-score가 0.13 (=0.85- 0.72), 벽(IfcWallStandardCase) 부재의 ACC 0.14 (=0.95-0.81) 및
-score가 0.08 (=0.96-0.88)만큼 분류 성능이 강화된 것을 확인할 수 있었다.
Table 6.
Delta Values between Multi-Layer Perceptron and Neural Structured Learning
Class
|
Accuracy
|
Precision
|
Recall
|
-score
|
AP
|
IfcBeam
|
0.01
|
0.03
|
0.01
|
0.02
|
-0.01
|
IfcColumn
|
0.00
|
-0.02
|
0.00
|
-0.01
|
0.01
|
IfcCovering
|
-0.12
|
0.50
|
-0.12
|
-0.11
|
0.00
|
IfcDoor
|
0.00
|
0.18
|
0.00
|
0.13
|
0.23
|
IfcRailing
|
0.00
|
0.00
|
0.00
|
0.00
|
0.08
|
IfcSlab
|
-0.01
|
0.00
|
-0.01
|
0.00
|
-0.07
|
IfcWallStandardCase
|
0.14
|
-0.01
|
0.14
|
0.08
|
0.02
|
IfcWindow
|
0.00
|
0.00
|
0.00
|
0.00
|
-0.25
|
Average
|
0.04
|
0.09
|
0.01
|
0.04
|
0.01
|
그러나 MLP 모델이 기존에 분류하지 못한 창문(IfcWindow), 난간(IfcRailing) 부재를 NSL에서도 동일하게 분류하지 못하는 것을 관측할 수 있다. Figs. 11 and 12에 제시한 MLP와 NSL 모델의 confusion matrix를 보면 두 학습모델 모두 창문과 난간 부재를 문으로 오 분류한 것을 확인할 수 있다.
이는 난간과 창문 부재 수가 각각 22개, 33개로 전체 부재 수(2,931개) 중 1 % 내외로 매우 소수이며(Table 1 참고), 문·난간·창문 부재의 ax1s, volume, area에 대한 기하특성이 유사한 것(Table 2 참고)으로 인해 MLP 모델 내 약한 분류기가 생성된 것에서 기인한 것으로 판단된다. 또한 창문 부재의 경우 관계정보를 삽입하였음에도 성능이 하락되었으며,
이로부터 관계정보를 삽입하더라도 기존 인공신경망 분류기가 약하다면 성능 향상에 한계점이 존재한다는 것을 확인할 수 있다.
Fig. 11.
Multi-Layer Perceptron Classification Results (Confusion Matrix)
Fig. 12.
Neural Structured Learning Classification Results (Confusion Matrix)
5. 결 론
최근 BIM 모델과 IFC 정보의 매핑 검증을 통한 시멘틱 무결성 확보를 위해 기하정보 기반 학습모델을 활용하여 BIM 부재를 인식 및 분류하는 다수의
연구가 수행되어 왔다. 그러나 해당 연구들은 개별 부재의 기하특성에만 집중하여 기하특성이 유사한 부재를 구분하지 못하는 한계점이 발견되었다. 이에
본 연구는 BIM 부재를 자동으로 분류하는 인공신경망 모델에 관계정보를 삽입하는 방법론을 제시하여 분류성능 향상을 목적으로 하였다. 이를 위해 NSL
알고리즘을 활용하여 MLP 기반 인공신경망 모델에 부재 간 관계정보를 삽입하였으며, 그 결과 ACC 0.04,
-score 0.05의 성능이 향상되는 것을 확인하였다.
특히, 개별 알고리즘의 부재별 분류성능과 confusion matrix를 제시하여 세부적인 분류 결과를 비교함으로써 관계정보가 삽입된 문, 벽 부재를
중심으로 ACC가 향상되는 정도를 정량적으로 파악하였다. 또한, MLP와 NSL 모델 모두 창 부재를 문으로 오 분류한 것으로부터 관계정보를 삽입하더라도
기존 인공신경망 분류기가 약하다면 성능 향상에 한계점이 존재한다는 것을 확인할 수 있었다.
그러나 본 연구에서 활용한 부재는 관계정보 추출을 위해 라이브러리 데이터가 아닌 실제 BIM 모델에서 추출해야 하며, 이 때문에 부재 수집 및 균형에
한계점이 존재하였다. 이는 창문 및 난간 부재와 같이 소수의 부재를 오 분류하는 결과로 나타났다. 더불어 부재 간의 관계를 도출하는 과정에 IFC-SPF
파일 구조를 파악하고 관계 정보를 유추해야 하기에 모든 부재의 관계를 반영하지 못한다는 한계점이 있다. 이에 향후 추가적인 BIM 모델 수집을 통해
부재 수집의 한계를 극복하고, python을 활용하여 관계정보 추출과정을 자동화하여 모델 분류정확도 향상을 도모할 계획이다.
최근에는 부재 기하 정보가 아닌 이미지 기반 또는 포인트 클라우드 기반으로 3차원 형상을 추출하여 3D 객체를 자동 분류하는 딥러닝 기법이 등장하고
있다. 본 연구진은 이 중 Multi-View Convolutional Neural Network (MVCNN) 및 PointNet 딥러닝 모델을
통해 BIM 부재 분류 시 세부 하위 유형까지 분류가 가능하다는 것을 입증한 바 있다(Jung et al., 2019). 향후에는 이들 딥러닝 모델에 관계정보를 합성하여 분류 성능을 추가적으로 높이는 연구를 계획하고 있다.