brunch

You can make anything
by writing

C.S.Lewis

by 휘드라 Feb 10. 2019

건축공학과 컴퓨터 비전

건축공학에서 쓰일 수 있는 여러 알고리즘에 대한 고찰 - 3

안녕하세요. 건축이라는 학문을 오랫동안 사랑하고 싶은 이명휘입니다. 건축공학과 IT에 대한 3번째 글을 오랜만에 쓰게 되었습니다. 이번 글에서는 컴퓨터 비전이 어떻게 건축공학과 연관이 되는지에 대해서 알아보도록 하겠습니다.


컴퓨터 비전

우선 컴퓨터 비전은 컴퓨터(기계)가 영상이나 이미지를 사람의 시각과 같이 정밀하게 인식하는 기술이라고 볼 수 있습니다. 과거부터 이미지 및 영상인식은 컴퓨터공학(과학)의 주요한 분야로 여겨져 왔습니다. 대학에서도 컴퓨터를 전공하면 선택적으로 맛볼 수 있는 과목이기도 합니다. 요즘은 딥러닝(DNN, CNN) 기반의 컴퓨터 비전 기술이 유행하고 있지만, 제가 수업을 수강할 때는 Open-CV라는 전통적인 라이브러리를 이용해 프로젝트를 진행했던 기억이 있습니다. 또한, 최근 들어서는 자율주행이나 안면인식에 대한 실용도가 높아지면서 더욱 관심이 과열된 분야입니다.


건축(토목) 공학에서의 컴퓨터 비전 응용연구 사례

그럼 실제로 이렇게 대단한 기술이 어떻게 응용되는지 알아보도록 합시다. 사실 컴퓨터 비전이라는 기술의 특성상 건축분야보다는 토목분야에 더욱 어울리는 부분이 많다고 생각합니다. 토목이라는 분야는 사회 기반 시설을 설계하고 구축하기 때문에 건축분야의 공사(工事) 스케일과 관점이 완전히 반대됩니다. 예를 들어 건축공학은 빌딩, 아파트 등 비교적 소규모 건물을 짓는 것을 목적으로 하지만, 토목공학은 다리, 댐, 항구 등 대규모 사회 기반 시설을 만들게 됩니다.(물론 토목공학도 건물은 짓습니다)


건축과 토목은 공사규모가 다르다.


토목 건설 현장에서의 안전성


대규모 토목공사를 진행하기 위해서는 우리가 상상할 수는 거대 자본이 필요합니다. 이 때문에 대부분 국가 자본과 민간 자본을 함께 섞어서 프로젝트를 진행하게 됩니다(BTL, BTO). 자본이 늘어남에 따라 실제 공사를 진행하는 수많은 인력도 함께 필요하게 되고, 이에 따라 안전성 문제가 대두됩니다. 실제 현장에서는 자본만큼이나 인력 관리가 매우 중요합니다. 적게는 수백 명부터 많게는 수천 명의 인력을 관리해야 하기 때문에 효율적인 안전관리 방식을 찾아야 합니다. 


이런 문제를 해결하기 위해서 토목공학에서는 주로 안전(Safety) 및 방재(Disaster Prevention)에 대해 많은 연구들이 행해져 왔습니다. 이 글에서는 해당 연구들 중 하나를 소개해드리려고 합니다.


본 응용연구 사례는 Advanced Engineering Informatics 저널에 게재된 Computer vision techniques for construction safety and health mornitoring이라는 논문을 참고했습니다. 해당 저널은 IT에 기반한 토목 & 건축공학 연구들을 배경으로 합니다. 관련 분야 저널들 중 최상위에 해당하기 때문에 게재하기 매우 힘든 저널에 속합니다.  


1. 토목 건설 현장에서의 안전 관리

다른 산업군 대비 건설분야에서는 평균 30% 이상의 인재가 나타나는 것으로 파악되고 있습니다. 현장에서의 인재(人災)는 그 무엇으로도 해결하기 힘든 부분이기 때문에 미리 방지하는 것이 최선의 방법입니다. 주위 아파트 건설 현장에서도 안전에 대한 문구를 새긴 게시판이나 플래카드를 많이 보셨으리라 생각합니다. 또한 현장 일용직 근로(노가다)를 경험해보신 분들은 아시겠지만, 기초안전에 대한 필수교육 코스를 수강하지 못하면 일을 참여할 수도 없습니다. 이처럼 인재 방지는 공사를 주관하는 건설사 입장에서도 제일 우선순위로 생각해야 하는 부분일 것입니다. 이를 해결하기 위해서 사고방지 및 안전 교육만을 위한 관리자(파트)가 있으며, 감리를 통해서도 안전에 대한 지도를 받기도 합니다. 


안전제일!


안전에 대한 중요성을 충분히 소개했으니 다시 본문으로 돌아가도록 하겠습니다. 제가 소개할 논문에서는 현장의 잠재적 위험 요소를 제거하는 데에 초점을 맞추고 있습니다. 예를 들어 현장에 놓인 [카메라로 인식된 굴삭기]를 [지속적으로 추적]하여 [행동을 파악] 한 후, [잠재 위험 요소가 없는지 있는지를 미리 파악]하는 것입니다. 설명만 들어도 복잡하고 어려워 보이는 일련의 과정들을 어떻게 수행하게 되는 것일까요??

그럼 본격적으로 기술적 부분으로 들어가도록 하겠습니다.


2. 물체 탐지(Object Detection)

우선 컴퓨터가 물체를 어떻게 인식할 수 있을까요? 건설현장에서의 굴삭기(포클레인)를 예로 들어보겠습니다. 신생 컴퓨터는 굴삭기를 알지 못합니다. 컴퓨터에게 사진을 보여주면서 "이것이 굴삭기야"라고 알려줘야 그때부터 굴삭기라고 인식하게 되는 것이지요. 이건 세상의 만물을 처음 접하는 신생아도 마찬가지겠지요. 그런데 문제가 생겼습니다. 세상의 굴삭기는 한 종류가 아니라는 것입니다. 대부분 노란색 굴삭기를 보셨겠지만 주황색, 하얀색, 파란색 굴삭기도 있습니다. 그럼 컴퓨터에게도 모양은 똑같지만 여러 색깔의 굴삭기도 있다고 알려줘야 합니다.


 신생 컴퓨터는 색깔만 달라도 굴삭기라고 파악하지 못한다.

컴퓨터가 어떻게 하얗고 파란 것을 느끼고 인식할 수 있을까요? 하얗고 파란 것은 물체가 가지고 있는 고유의 특징(Feature) 일 것입니다. 여기서 말하는 주요 특징은 색깔이 다르다는 것이 되겠습니다. 이런 특징들을 계속해서 쳐다보면 아! 이게 파란 굴삭기구나 하고 느끼게 되는 것입니다. 더욱 섬세하고 정확하게 굴삭기라는 것을 알려면 지속적으로 많은 굴삭기를 쳐다봐야겠지요. 수많은 굴삭기의 사진들을 컴퓨터에게 쳐다보도록 학습(Training)시키면 본격적으로 굴삭기에 대한 지식을 깨달은 똑똑한 컴퓨터가 되는 것입니다. 논문에서 설명하고 있는 물체 탐지 부분의 과정은 아래와 같습니다.

 

이미지 데이터 수집(Imagery Data Collection) -> 객체인식(Searching for Objects) -> 특징 추출(Feature Extraction) -> 오프라인 학습(Offline Learning) -> 모니터링 시 분류 기능을 이용한 객체 분류(Classification)


조금 더 기술적으로 들어가 본다면, 이미지 인식 분야에서 널리 쓰이는 CNN(Convolutional Neural Network)을 이용해 이미지 특징을 추출하고 학습을 시킬 수 있습니다. 추가로, 컴퓨터가 알고 있는 지식 중 굴삭기만을 골라내기 위해서 KNN(K-Nearest Neighbor Algorithm), SVM(Support Vector Machine) 등 분류 기법을 사용하는 과정을 거치게 됩니다(이런 이론 지식들은 인터넷에 상세하게 설명되어 있습니다.)


3. 물체 추적(Object Tracking)

앞 단계에선 정적인 물체를 탐지하기 위해 컴퓨터를 학습시켰다면, 이를 기반으로 실시간으로 움직이는 물체를 계속해서 바라볼 필요가 있습니다. 실제 공사현장은 멈춰있지 않기 때문이죠. 역동적으로 움직이는 물체들을 지속적으로 추적하여 잠재 위험요소를 찾아야 합니다. 컴퓨터 비전이 활성화되기 전, 과거 유사 연구들에서는 RFID, UWB(Ultra WideBand), GPS 등을 활용하여 물체를 추적하였습니다. 현장의 중장비나 인부들에게 센서를 하나하나 부착시키는 방식이었습니다. 하지만 여러 센서들을 설치해야 한다는 문제점과 여러 물체들을 한 번에 관리하기 어렵다는 단점이 있었습니다. 

하지만 세월이 지나 컴퓨터 비전 기술이 발전을 거듭하면서 3차원으로 구성된 물체를 지속적으로 탐지하여 추적할 수 있게 되었습니다. 이를 위해서 Flash LADAR, RGB-D Sensor 같은 장비를 쓴다고 합니다. 그에 맞게 비싸고 좋은 카메라 센서를 사용하게 되는 것이지요. 이 부분에서 많은 컴퓨팅 파워가 들어가기 때문에 빠르고 가벼운 알고리즘(해결책)을 찾아야 합니다. 


이제 우리는 현장에서 동시에 많은 물체들을 빠르게 인식 & 추적할 수 있게 되었습니다!


4. 물체의 동작인식(Action Recognition)

마지막으로 가장 중요한 부분이 남았습니다. 수많은 굴삭기의 행동 중 어떻게 컴퓨터는 위험요소를 골라낼 수 있을까요? 위에서 설명한 원리와 같이 물체의 행동을 학습하고 분류하는 과정이 이루어지게 됩니다. 정확하게 잠재 위험 요소만을 탐지하는 것이 핵심입니다. 


여기서 잠깐 굴삭기 본연의 능력에 대해서 되짚고 가보도록 하겠습니다. 건설현장에서 굴삭기는 버킷을 이용해 흙을 파내는 것이 주목적입니다. 하지만, 굴삭기의 헤드를 교체하면 땅을 파는 작업 이외에 너무나도 다양한 능력을 발휘하게 됩니다.

굴삭기의 다재다능함은 수많은 행동 패턴을 만들어 낸다.


두꺼운 철근을 절단할 수 있으며, 단단한 지면을 뚫어버리는 능력도 생기게 됩니다. 버킷을 이용해 흙을 파내는 행동과 그랩을 이용해 철근을 자르는 행동, 그리고 인부를 위협하는 행동 등 수많은 행동 중 위험요소만을 분류해야 합니다. 


기술적으로 굴삭기의 행동 패턴을 파악하는 것도 어렵겠지만, 윤리적인 문제가 남아있습니다. 예를 들어 다수의 인부가 위험에 노출되어 있을 때 어떤 인부를 우선적으로 파악하는 것일지도 윤리적인 문제에 해당합니다. 실제로 이런 부분은 아직 개선되어야 할 과제로 남겨져 있습니다.


맺음말

이번 글에서는 컴퓨터 비전이 건축(토목) 공학에서 어떻게 응용되어 사용될 수 있는지를 리뷰해 보았습니다. 현재 컴퓨터 비전은 자율주행 분야를 중심으로 도드라지게 성장하고 있습니다. 건축과 토목 공사는 의식주 중에서 한 부분을 담당하고 있는 인간생활의 줄기기 때문에 자율주행 분야만큼이나 그 수요가 많다고 생각합니다. 앞으로도 인공지능에 기반한 많은 연구들이 행해져 인간이 최고의 안전을 제공받았으면 좋겠습니다. 건설현장에서 더 이상의 인재가 없기를 기원합니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari