KR20230036327A - 패치기반의 딥러닝 알고리즘을 통한 실내도면 이미지에서의 실내공간정보 자동추출방법 및 그 장치 - Google Patents

패치기반의 딥러닝 알고리즘을 통한 실내도면 이미지에서의 실내공간정보 자동추출방법 및 그 장치 Download PDF

Info

Publication number
KR20230036327A
KR20230036327A KR1020210119056A KR20210119056A KR20230036327A KR 20230036327 A KR20230036327 A KR 20230036327A KR 1020210119056 A KR1020210119056 A KR 1020210119056A KR 20210119056 A KR20210119056 A KR 20210119056A KR 20230036327 A KR20230036327 A KR 20230036327A
Authority
KR
South Korea
Prior art keywords
patch
spatial information
indoor
module
indoor spatial
Prior art date
Application number
KR1020210119056A
Other languages
English (en)
Other versions
KR102535054B1 (ko
Inventor
김현정
김성용
유기윤
Original Assignee
서울대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서울대학교산학협력단 filed Critical 서울대학교산학협력단
Priority to KR1020210119056A priority Critical patent/KR102535054B1/ko
Publication of KR20230036327A publication Critical patent/KR20230036327A/ko
Application granted granted Critical
Publication of KR102535054B1 publication Critical patent/KR102535054B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20061Hough transform

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Optimization (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Algebra (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Architecture (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 패치기반의 딥러닝 알고리즘을 통한 실내도면 이미지에서의 실내공간정보 자동추출방법 및 그 장치에 관한 것으로, (a) 도면축척 일치화모듈이 대규모 공간을 표현하는 건물로 구성되어 구축된 도면 데이터셋 중에서 학습 데이터용 복수의 도면이미지의 축척을 일치시키는 단계와; (b) 패치 분할모듈이 축척이 일치된 각 도면이미지를 가로 및 세로가 균일한 사이즈의 패치로 분할하는 단계와; (c) CNN 학습모듈이 분할된 각 패치를 학습 데이터로 하여 CNN 모델을 학습시키는 단계와; (d) 패치 결합모듈이 학습이 완료된 각 패치의 각 픽셀에서 출력된 객체 클래스를 도면에서의 패치 위치정보를 기준으로 실내공간정보 추출을 위해 중첩하여 결합하는 단계와; (e) 실내공간정보 추출모듈이 CNN 모델을 통해 패치의 각 픽셀에 대해 객체 클래스 각각에 대한 확률로 나타나는 출력값 중 가장 높은 확률을 갖는 객체 클래스를 각 픽셀에 대한 해당 실내공간정보로 결정하여 추출하는 단계, 및 (f) CNN 수행모듈이 실내공간정보 추출 대상인 테스트 도면 또는 임의의 도면에서 상기 학습된 CNN 모델을 통해 객체 클래스인 실내공간정보 추출을 수행하는 단계로 이루어짐으로써, 다양한 사이즈의 도면이 딥러닝에 입력 가능해지고 해상도 손실로 인한 정보손실을 방지할 수 있으며, 복수의 실내공간정보인 객체들을 동시에 탐지 및 추출하여 객체간 정합성을 향상시킬 수 있는 효과가 있다

Description

패치기반의 딥러닝 알고리즘을 통한 실내도면 이미지에서의 실내공간정보 자동추출방법 및 그 장치 {Automatic extraction method of indoor spatial information from floor plan images through patch-based deep learning algorithms and device thereof}
본 발명은 패치기반의 딥러닝 알고리즘을 통한 실내도면 이미지에서의 실내공간정보 자동추출방법 및 그 장치에 관한 것으로, 더욱 상세하게는 다양한 축척과 해상도를 갖는 복잡한 형태의 도면 데이터셋에 도면 해석 CNN모델을 효율적으로 적용하기 위한 프레임워크와 패치 기반의 CNN 학습모델을 통해 대규모 공간 대상의 도면 해석에 특화된 기술을 제안하는, 패치기반의 딥러닝 알고리즘을 통한 실내도면 이미지에서의 실내공간정보 자동추출방법 및 그 장치에 관한 것이다.
실내도면 이미지에서 벡터화된 실내공간정보를 추출하는 연구는 과거 rule-base(규칙기반) 방식에서 최근의 딥러닝을 활용한 방식의 두 가지 접근으로 발전되고 있다.
특히, 인공신경망 및 기계학습 알고리즘의 발전으로 이미지의 학습 및 분석이 가능해지면서 도면 이미지에서 실내공간정보를 구성하는 벽체, 문 등의 주요 정보를 추출해 내는 연구가 활발히 진행되고 있다. 그러나 딥러닝의 특성상 학습에 용이한 비교적 간단한 구성의 드로잉 기법이 유사한 주택도면을 주로 활용하는 경우가 많았다.
실제로 실내공간정보를 활용하는 경우, 주로 실내 네비게이션을 목적으로 구축하는 경우가 많으며, 해당 경우 여러 사람이 이용하는 비교적 넓은 공간범위의 건축물에 대한 수요가 높다. 특히, 도면의 작성 시기 또는 작성 업체에 따라 도면 작성 방식이 다양한 경우가 많기 때문에 다양한 크기의 도면 작성양식이 각기 다른 도면에 까지 적용할 수 있는 것이 매우 중요할 것이다.
기존 연구에서 주로 활용하던 기법은 크게 두 가지로, 1)rule-base(규칙기반) 방식과 2)learning base(학습모델 기반) 방식으로 구분할 수 있다.
rule-base(규칙기반) 방식은 특정 도면 포맷에 특화되어 다른 포맷으로 일반화하기가 어렵고, 비교적 간단한 유형(일정한 두께의 직선으로 구성된 벽체, 다른 객체와 겹치지 않는 텍스트 라벨 등)의 도면에서의 객체 추출에 강점을 보인다.
learning base(학습모델 기반) 즉, ML/DL (머신러닝/딥러닝) 기반의 방법론은 많은 양의 데이터 학습을 통해 위에서 제기된 rule-base방식의 한계를 극복할 수 있다. 그러나 대부분의 면적은 빈 공간으로, 몇몇 간단한 선과 곡선으로만 이루어져 풍부한 정보를 제공하는 도면의 특성 상 이미지를 low level feature부터 순차적으로 추출하여 해석하는 딥러닝의 방식에 도전적인 요소로 작용한다.
특히, 대규모의 공간은 도면의 스케일이 다양하고, 딥러닝에서 일반적으로 쓰이는 알고리즘을 도면에 적용하기에는 해상도가 너무 높아 연산에 어려움이 있다. 또한 포맷의 복잡성이 높아 학습하기에 어려운 요소로 작용한다. 더구나 기존 Convolutional Neural Networks(이하 CNN) 모델은 고정된 사이즈의 이미지에 적용 가능하고, 연산량의 한계로 인해 고해상도의 이미지를 활용하지 못하며 잘 수렴되지 않는 학습의 문제가 있어, 딥러닝 기반의 도면 해석 모델에는 한계가 존재했다. 도면을 균일한 사이즈의 저해상도로 변형(리사이징)하는 과정에서 많은 정보의 손실이 발생하므로, 해상도가 낮고 가로세로 비율이 비슷한 특수한 유형의 도면 데이터셋을 대상으로 주로 모델이 개발되어왔다.
한편, 종래 기술로는 대한민국 공개특허공보 제10-2021-0057907호(2021년05월24일 공개)에 개시되어 있는 바와 같이, 이미지 도면(image drawing)을 획득하는 과정; 딥러닝(deep learning) 및 영상처리(image processing) 기술을 기반으로 상기 이미지 도면으로부터 객체를 검출하여 복수의 심볼(symbols), 복수의 문자열(text sequences) 및 복수의 라인(lines)을 독립적으로 인식(recognition)하는 과정; 및 상기 객체에 대한 속성(attributes) 및 사양(specifications) 정보를 추가하고, 상기 객체 간의 상호 위치를 기반으로 상기 객체 간을 연결하는 과정을 포함하는 것을 특징으로 하여 지능형 도면 생성방법을 컴퓨터 상에 구현하고 있으나, 다양한 축척의 도면을 자동으로 탐지하여 통일화시키고 다양한 사이즈의 도면이 딥러닝에 입력가능하게 하면서 정보손실을 방지하게 하며, 복수의 객체들을 동시에 탐지 및 추출하여 객체간 정합성을 향상시키는 데에는 한계가 있다.
대한민국 공개특허공보 제10-2021-0057907호(2021년05월24일 공개, 발명의 명칭: 딥러닝 기반 지능형 엔지니어링 도면 생성방법 및 장치)
본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로, 본 발명의 목적은 다양한 축척의 도면을 자동으로 탐지하여 통일화시키고, 도면을 표준화된 패치로 분할한 후 중첩함으로써 다양한 사이즈의 도면이 딥러닝에 입력 가능해지도록 하고 해상도 손실로 인한 정보손실을 방지할 수 있도록 하며, 복수의 실내공간정보인 객체들을 동시에 탐지 및 추출하여 객체간 정합성을 향상시킬 수 있는, 패치기반의 딥러닝 알고리즘을 통한 실내도면 이미지에서의 실내공간정보 자동추출방법 및 그 장치를 제공하는데 있다.
즉, 본 발명은 다양한 축척 및 고해상도의 도면 데이터셋에 도면 해석 CNN모델을 효율적으로 적용하기 위한 프레임워크와 패치 기반의 CNN 학습모델을 통해 대규모 공간 대상의 도면 해석에 특화된 기술을 제안하기 위한 것이다.
상기와 같은 목적을 달성하기 위하여, 본 발명은 (a) 도면축척 일치화모듈이 대규모 공간을 표현하는 건물로 구성되어 구축된 도면 데이터셋 중에서 학습 데이터용 복수의 도면이미지의 축척을 일치시키는 단계와; (b) 패치 분할모듈이 축척이 일치된 각 도면이미지를 가로 및 세로가 균일한 사이즈의 패치로 분할하되, 패치가 인접 패치와 상하 좌우 방향으로 경계부분에서 일정 길이가 중첩되어 겹쳐지도록 분할하는 단계와; (c) CNN 학습모듈이 분할된 각 패치를 학습 데이터로 하여 CNN 모델을 학습시키는 단계와; (d) 패치 결합모듈이 학습이 완료된 각 패치의 각 픽셀에서 출력된 객체 클래스를 도면에서의 패치 위치정보를 기준으로 실내공간정보 추출을 위해 중첩하여 결합하는 단계와; (e) 실내공간정보 추출모듈이 CNN 모델을 통해 패치의 각 픽셀에 대해 객체 클래스 각각에 대한 확률로 나타나는 출력값 중 가장 높은 확률을 갖는 객체 클래스를 각 픽셀에 대한 해당 실내공간정보로 결정하여 추출하되, 패치 결합시 중첩되는 부분은 동일한 위치의 픽셀에 대해 복수의 출력값인 확률을 평균해서 해당 실내공간정보로 결정하여 추출하는 단계, 및 (f) CNN 수행모듈이 실내공간정보 추출 대상인 테스트 도면 또는 임의의 도면에서 상기 학습된 CNN 모델을 통해 객체 클래스인 실내공간정보 추출을 수행하는 단계로 이루어지는 것을 특징으로 한다.
또한, 본 발명은 (g) 벡터화 변환모듈이 테스트 도면 또는 임의의 도면에 대해 벡터화된 실내공간정보 생성을 위해 상기 단계(f)에서 추출된 픽셀단위의 래스터 데이터인 객체 클래스를 hough transformation(허프 변환)을 통해 벡터화된 객체로 변환시키는 단계를 더 포함한다.
또한, 본 발명의 상기 단계(a)에서 도면이미지 축척의 일치는, 수치선이 있는 도면의 경우 수치선에 나타난 수치와 그에 상응하는 픽셀 수를 추출하여 픽셀당 거리를 통일시키고, 수치선이 없는 도면의 경우는 최소 두께의 벽체의 픽셀 갯수를 추출하여 픽셀당 거리를 통일시키는 것이다.
또한, 본 발명에서 상기 객체 클래스는 벽체, 문, 창문, 엘리베이터, 계단실로 총 5개의 객체 클래스를 하나의 CNN 모델을 통해 학습을 진행함으로써 객체간의 정합성을 향상시킬 수 있다.
또한, 본 발명에서 상기 단계(f)는, (f1) 테스트 도면 또는 임의의 도면의 축척을 학습 데이터와 일치시키는 단계와; (f2) 축척이 학습 데이터와 일치된 테스트 도면 또는 임의의 도면을 가로 및 세로가 균일한 사이즈의 패치로 분할하되, 패치가 인접 패치와 상하 좌우 방향으로 경계부분에서 일정 길이가 중첩되어 겹쳐지도록 분할하는 단계와; (f3) 분할된 각 패치를 입력 데이터로 하여 상기 학습된 CNN 모델을 통해 각 패치에 대해 학습된 CNN 모델을 수행하는 단계와; (f4) 각 패치의 각 픽셀에서 출력된 객체 클래스를 도면에서의 패치 위치정보를 기준으로 실내공간정보 추출을 위해 중첩하여 결합하는 단계, 및 (f5) CNN 모델을 통해 패치의 각 픽셀에 대해 객체 클래스 각각에 대한 확률로 나타나는 출력값 중 가장 높은 확률을 갖는 객체 클래스를 각 픽셀에 대한 해당 실내공간정보로 결정하여 추출하되, 패치 결합시 중첩되는 부분은 동일한 위치의 픽셀에 대해 복수의 출력값인 확률을 평균해서 해당 실내공간정보로 결정하여 추출하는 단계로 이루어진다.
또한, 본 발명은 CNN 모델의 학습을 효율적으로 하기 위해 CNN 모델의 학습시 벽체 객체의 정확도 비중을 높이는 weighted loss를 반영한다.
또한, 본 발명에서 경계가 뚜렷한 높은 해상도 출력 결과를 얻기 위해 상기 CNN 모델은 네트워크의 stride를 높이고 L1 loss를 사용한다.
또한, 본 발명의 실내공간정보 자동추출장치는 대규모 공간을 표현하는 건물로 구성되어 구축된 도면 데이터셋 중에서 학습 데이터용 복수의 도면이미지의 축척을 일치시키는 도면축척 일치화모듈과, 축척이 일치된 각 도면이미지를 가로 및 세로가 균일한 사이즈의 패치로 분할하되, 패치가 인접 패치와 상하 좌우 방향으로 경계부분에서 일정 길이가 중첩되어 겹쳐지도록 분할하는 패치 분할모듈과, 분할된 각 패치를 학습 데이터로 하여 CNN 모델을 학습시키는 CNN 학습모듈과, 학습이 완료된 각 패치의 각 픽셀에서 출력된 객체 클래스를 도면에서의 패치 위치정보를 기준으로 실내공간정보 추출을 위해 중첩하여 결합하는 패치 결합모듈과, CNN 모델을 통해 패치의 각 픽셀에 대해 객체 클래스 각각에 대한 확률로 나타나는 출력값 중 가장 높은 확률을 갖는 객체 클래스를 각 픽셀에 대한 해당 실내공간정보로 결정하여 추출하되, 패치 결합시 중첩되는 부분은 동일한 위치의 픽셀에 대해 복수의 출력값인 확률을 평균해서 해당 실내공간정보로 결정하여 추출하는 실내공간정보 추출모듈, 및 실내공간정보 추출 대상인 테스트 도면 또는 임의의 도면에서 상기 학습된 CNN 모델을 통해 객체 클래스인 실내공간정보 추출을 수행하는 CNN 수행모듈을 포함한다.
이상에서 살펴본, 본 발명인 패치기반의 딥러닝 알고리즘을 통한 실내도면 이미지에서의 실내공간정보 자동추출방법 및 그 장치는 다양한 축척의 도면을 자동으로 탐지하여 통일화시키고, 도면을 표준화된 패치로 분할한 후 중첩함으로써 다양한 사이즈의 도면이 딥러닝에 입력 가능해지고 해상도 손실로 인한 정보손실을 방지할 수 있으며, 복수의 실내공간정보인 객체들을 동시에 탐지 및 추출하여 객체간 정합성을 향상시킬 수 있는 효과가 있다.
더불어, 본 발명을 통해 기존의 알고리즘에서는 다룰 수 없었던 주택규모 이상의 대규모 공간과 수치선 등 복잡한 요소를 포함하고 있는 복잡한 형태의 도면을 학습하여 기존의 단순한 도면을 대상으로한 알고리즘에 못지않은 정확도를 보인다는 점에서 본 발명의 우수성을 확인할 수 있다.
도 1 은 본 발명에 따른 패치기반의 딥러닝 알고리즘을 통한 실내도면 이미지에서의 실내공간정보 자동추출방법의 전체 흐름도를 나타낸 도면.
도 2 는 본 발명에서 (a)실내도면 이미지 원본, (b)래스터 형태의 세그멘테이션 및 (c)벡터화된 실내공간정보 이미지의 일실시예를 순서대로 나타낸 도면.
도 3 은 본 발명에 따른 실내도면 이미지로부터 표준화된 패치추출, 딥러닝을 통한 패치기반의 도면인식 및 벡터화된 실내공간정보를 생성하는 과정을 순서대로 나타낸 도면.
도 4 는 본 발명에서 도면의 축척 통일을 위해 수치선 존재 유무에 따른 방법을 나타낸 도면.
도 5 는 본 발명에서 도면 이미지를 중첩되도록 패치 분할하는 방법의 일실시예를 나타낸 도면.
도 6 은 본 발명에 따른 패치기반의 딥러닝 알고리즘을 통한 실내도면 이미지에서의 실내공간정보 자동추출결과의 여러 실시예를 나타낸 도면.
도 7 은 본 발명에 따른 패치기반의 딥러닝 알고리즘을 통한 실내도면 이미지에서의 실내공간정보 자동추출방법과 관련된 장치의 일실시예를 나타낸 구성도.
상기와 같이 구성된 본 발명의 바람직한 실시예를 첨부된 도면을 참조하면서 상세히 설명하면 다음과 같다. 첨부된 도면들 및 이를 참조한 설명은 본 발명에 관하여 당해 기술 분야에서 통상의 지식을 가진 자들이 쉽게 이해할 수 있도록 하기 위해 예시된 것이며, 본 발명의 사상 및 범위를 한정하려는 의도로 제시된 것은 아님에 유의하여야 할 것이다.
도 7 은 본 발명에 따른 패치기반의 딥러닝 알고리즘을 통한 실내도면 이미지에서의 실내공간정보 자동추출방법과 관련된 장치의 일실시예를 나타낸 구성도로, 실내공간정보 자동추출장치(10)는 다양한 축척의 도면을 자동으로 탐지하여 통일화시키고, 도면을 표준화된 패치로 분할한 후 중첩함으로써 다양한 사이즈의 도면이 딥러닝에 입력 가능해지고 해상도 손실로 인한 정보손실을 방지할 수 있으며, 복수의 실내공간정보인 객체들을 동시에 탐지 및 추출하여 객체간 정합성을 향상시킬 수 있는 것으로, 학습 데이터용 복수의 도면이미지의 축척을 일치시키는 도면축척 일치화모듈(11), 축척이 일치된 각 도면이미지를 가로 및 세로가 균일한 사이즈의 패치로 분할하는 패치 분할모듈(12), 분할된 각 패치를 학습 데이터로 하여 CNN 모델을 학습시키는 CNN 학습모듈(13), 학습이 완료된 각 패치의 각 픽셀에서 출력된 객체 클래스를 도면에서의 패치 위치정보를 기준으로 실내공간정보 추출을 위해 중첩하여 결합하는 패치 결합모듈(14), CNN 모델을 통해 패치의 각 픽셀에 대해 객체 클래스 각각에 대한 확률로 나타나는 출력값 중 가장 높은 확률을 갖는 객체 클래스를 각 픽셀에 대한 해당 실내공간정보로 결정하여 추출하는 실내공간정보 추출모듈(15), 실내공간정보 추출 대상인 테스트 도면 또는 임의의 도면에서 상기 학습된 CNN 모델을 통해 객체 클래스인 실내공간정보 추출을 수행하는 CNN 수행모듈(16), 테스트 도면 또는 임의의 도면에 대해 추출된 픽셀단위의 래스터 데이터인 객체 클래스를 벡터화된 객체로 변환시키는 벡터화 변환모듈(17)을 포함한다. 즉, 도면축척 일치화모듈(11), 패치 분할모듈(12), CNN 학습모듈(13), 패치 결합모듈(14), 실내공간정보 추출모듈(15), CNN 수행모듈(16), 벡터화 변환모듈(17)은 본 발명이 컴퓨터상에서 수행되도록 하기 위한 기술적 수단으로 도면축척 일치화부, 패치 분할부, CNN 학습부, 패치 결합부, 실내공간정보 추출부, CNN 수행부, 벡터화 변환부로 각각 명명할 수도 있다.
상기 실내공간정보 자동추출장치(10)는 서버, 데스크톱, 노트북 또는 휴대용 단말기 등으로, 패치기반의 딥러닝 알고리즘을 통한 실내도면 이미지에서의 실내공간정보를 자동추출하기 위한 소프트웨어를 저장 포함한다.
더불어 실내공간정보 자동추출장치(10)에서 연산되거나 입출력되는 자료 및 학습정보(데이터셋, 학습데이터, 패치, 객체 클래스, 테스트도면 등)는 별도의 저장 장치(20)에 저장되도록 하는 것이 좋으나, 상기 실내공간정보 자동추출장치(10)는 저장 장치(20)를 포함할 수도 있다.
본 발명은 도 2와 도 3에 도시된 바와 같이 실내도면 이미지 원본을 딥러닝 학습을 통해 래스터 형태의 세그멘테이션으로 추출하고, 이를 다시 벡터화된 실내공간정보로 변환하는 단계를 거치게 되는데 이러한 과정을 상술하면 다음과 같다(도 1 참조).
먼저, 대규모 공간을 표현하는 건물로 구성된 도면 데이터셋을 구축하는데, 즉 본 발명에서는 딥러닝 학습에 적합한 정제된 데이터셋(예를 들어 간단한 구성의 주택도면)을 활용하는게 아니라 실제에 가까운 복잡한 도면을 데이터셋으로 활용하면서도 딥러닝 학습에도 효율적인 데이터셋을 구축해야 한다.
일실시예로, 본 발명에서는 서울대학교 230개, 서울시립대학교 7개에 대한 도면 데이터셋을 구축하였는데, 서울대학교 도면의 경우는 40여년이 넘는 기간에 이르는 다양한 유형의 다양한 시기의 도면을 포함하고 있으며, 서울시립대학교 도면의 경우 곡면 벽체, 건물 외곽부의 표현, 더 복잡한 표기법 등의 특징으로 더 복잡한 유형의 도면을 포함하고 있다.
다시 말해, 본 발명의 일실시예에서는 기존 연구에서 다뤘던 주택도면 크기에서 대학교 캠퍼스 도면으로 그 대상을 확장하고, 학습과 테스트에 사용한 도면은 서울대학교 내에 있는 230개의 건물 도면으로서, 1970년대부터 2010년대에 이르는 다양한 시기의 도면을 각기 다른 업체에서 작성하였다는 특성을 가지고 있다. 특히, 수치선등의 주요 정보가 포함되지 않는 건물, 곡선을 포함하고 있는 건물, 내외부의 경계가 모호한 건물, 심볼 및 텍스트 정보 등 도면 외에 추가 정보를 포함하고 있는 경우 등 기존 딥러닝에서 자동으로 학습하기에 불리한 속성을 지닌 데이터도 있다. 본 발명은 이러한 학습하기에 불리한 속성을 지닌 데이터를 포함하는 도면도 그 대상으로 하여 패치 기반의 딥러닝 알고리즘의 제안을 통해 자동으로 주요 실내공간정보(벽체, 문, 창문, 엘리베이터, 계단실)를 추출하는 것에 그 목적이 있는 것이다.
본 발명에서는 후술하는 바와 같이 딥러닝 기술인 CNN(Convolutional Neural Network, 합성곱신경망)을 학습하여 사용함으로써 최종적으로 실내공간정보를 자동추출함이 바람직한데, 상기 CNN은 시각적 이미지를 분석하는 데 사용되는 다층의 피드-포워드적인 인공신경망의 한 종류로, 딥러닝에서 심층 신경망으로 분류되며, 또한 공유 가중치 구조와 변환 불변성 특성에 기초하여 변이 불변 또는 공간 불변 인공 신경망 (SIANN)으로도 알려져 있고, 영상 및 동영상 인식, 추천 시스템, 이미지 분류, 의료 영상 분석 및 자연어 처리 등에 응용된다.
이러한 CNN을 이용한 이미지 분류는 다른 이미지 분류 알고리즘에 비해 상대적으로 전처리를 거의 사용하지 않는다. 이는 신경망이 기존 알고리즘에서 수작업으로 제작된 필터를 학습한다는 것을 의미한다. 기존 이미지 분류 알고리즘에서 설계자가 영상의 특징들을 미리 이해해 알고리즘을 만드는 과정이 없는 것이 합성곱 신경망의 주요한 장점이다. 더불어 CNN에는 일반적으로 합성곱 계층(convolution layer), 활성 함수(activation function), 하위 추출 계층(sub-sampling layer), 전역 연결 계층(fully connected layer), 그리고 softmax 함수가 존재한다. 이미지가 CNN의 입력으로 사용되고 출력은 해당 이미지가 각 클래스마다 속할 확률이다. 상기 합성곱 계층에서는 3차원으로 이루어진 커널(kernel, 혹은 필터(filter))과 입력값의 합성곱 연산으로 입력값인 이미지의 특징들을 추출한다. 상기 활성함수는 입력값과 출력값 사이의 비선형성을 추가하기 위하여 사용된다.
이러한 CNN 모델의 효율적인 활용을 위해서는 높은 퀄리티의 학습 데이터가 필요하고, 이때 높은 퀄리티란 데이터의 패턴을 분석할 수 있도록 균질한 패턴으로 반복되는 데이터를 말한다.
이를 위해 본 발명에서는 자동화 알고리즘을 통해 다양한 유형으로 입력되는 학습 데이터(상기 데이터셋의 일부)인 도면이미지의 축척(스케일)을 일치시키고(S10), 실제로 균일한 넓이의 공간을 표현하도록 패치를 분할하는 방식의 표준화를 수행한다.
한편 CNN 모델의 입력값은 균일한 사이즈의 이미지여야 하고 이를 위해 다양한 크기와 축척의 도면을 균일한 사이즈로 변형(리사이징)하는 과정에서 많은 정보의 손실이 발생하는 문제점을 표준화된(Normalized) 패치로 추출함으로써 해결할 수 있어 CNN 모델의 수행을 원활하게 할 수 있다.
다시 말해 입력되는 복수의 학습 데이터의 도면의 축척(스케일)을 통일시키는 과정은 픽셀 당 표현하는 실제 거리를 통일하는 것을 목표로 한다. 이를 통해, 다양한 도면 이미지 사이즈 및 다양한 규모의 건물도면으로 구성된 데이터셋을 사용함에도 CNN 학습모델에 균일한 입력물을 전달할 수 있게 되고 이는 데이터 전처리와 유사한 정규화의 역할을 한다.
도 4에 도시된 바와 같이 도면의 축척 통일을 위한 축척의 자동 탐지를 위해서 본 발명에서는 도면의 수치선 존재 유무에 맞춰 각각 다른 방법을 혼용하여 사용한다.
수치선이 있는 도면의 경우 수치선의 정보를 활용한다(도 4a). OCR(Optical character recognition, 도면 이미지에서 숫자와 텍스트 등을 추출)을 통해 수치선에 나타난 수치와 그에 상응하는 픽셀 수를 추출하여 픽셀당 거리 즉, 축척을 계산한다. 이때 한 도면 내에 존재하는 여러 수치선에서 측정된 축척들의 중간값을 활용하여 정확도를 향상시킬 수 있다.
수치선이 없는 도면의 경우는 최소 두께의 벽체의 픽셀 갯수를 추출하여 축척을 연산한다(도 4b). 즉 벽체의 외곽인 검은 픽셀들이 서로 몇 픽셀 씩 떨어져 있는지 계산한 차이값(gap)의 히스토그램을 그린 후, 최빈값을 출력하여 최소 두께의 벽체 두께로 가정하고 그 최빈값과 벽체의 두께를 이용하여 픽셀당 거리 즉, 축척을 계산한다. 이러한 케이스에 대응하는 것이 본 방법론의 일반화에 중요한데, 건물은 일반적으로 기하구조적으로 정형화 되어 있고 가장 두께가 얇은 벽(최소 두께의 벽)은 건물에서 그 비율이 높기 때문에 도면에서 가장 두께가 얇은 벽을 추출하는 것이 가능하다. 이를 통해 수치선이 존재하지 않더라도 가장 두께가 얇은 벽이 도면 이미지에서 몇개의 픽셀로 이루어지는지를 결정할 수 있어 다양한 사이즈의 이미지로 입력되는 도면의 축척(스케일)을 일치시킬 수 있다.
이에 도면축척 일치화모듈(11)은 대규모 공간을 표현하는 건물로 구성되어 구축된 도면 데이터셋 중에서 학습 데이터용 복수의 도면이미지의 축척을 일치시키는데, 이러한 축척 일치 과정은 최종적으로 컴퓨터로 수행하기 위해 프로그램 언어를 통해 알고리즘으로 코딩한 프로그램이고, 다시 말해 이러한 프로그램은 실내공간정보 자동추출장치(10) 또는 저장 장치(20)에 저장되어 도면축척 일치화모듈(11)이 실내공간정보 자동추출장치(10) 또는 저장 장치(20)에 입력저장된 도면이미지와 상기 프로그램을 이용하여 도면이미지의 축척을 일치시키게 되는 것이다.
이렇게 학습 데이터의 도면의 축척(스케일)을 일치하도록 보간법을 통해 전체 도면 이미지 사이즈를 변환한 뒤, 사이즈 변환된 각 도면 이미지를 가로 및 세로가 균일한 사이즈의 패치로 다시 분할하는 것이다(S20). 패치가 표현하는 공간이 작을수록 높은 해상도로 인해 정확도가 증가하지만, 도면 당 많은 수의 패치가 존재하게 되므로 이후 CNN 모델의 테스트 단계에서 시간이 증가하는 trade-off 관계가 있다. 이를 고려하여, 학습을 위한 서버의 메모리 스펙이 허용하는 한도 내에서 목적에 맞춰 적절한 패치 사이즈를 결정한다. 본 발명의 일실시예(서울대학교 230개, 서울시립대학교 7개에 대한 도면 데이터셋)에서는 하나의 패치를 15m×15m 공간으로 세팅하여, 캠퍼스 내의 오피스 정도의 공간을 나타낸다.
한편 도 5에 도시된 바와 같이 학습 데이터인 도면 이미지의 분할시에는 균일한 사이즈의 패치로 분할하되 패치가 인접 패치와 경계부분에서 일정 길이가 중첩되도록 분할하는데, 예를 들어 하나의 패치가 15m×15m 공간으로 세팅된다면 상하 좌우 방향으로 경계부분에서 인접하는 각 패치는 5m 공간이 겹쳐지도록 패치를 생성시킨다. 도 5에서 빗금친 부분은 가로 및 세로가 균일한 사이즈의 패치가 인접 패치와 경계부분에서 중첩되어 겹쳐지는 부분이다.
이에 패치 분할모듈(12)은 축척이 일치된 각 도면이미지를 가로 및 세로가 균일한 사이즈의 패치로 분할하되, 패치가 인접 패치와 상하 좌우 방향으로 경계부분에서 일정 길이가 중첩되어 겹쳐지도록 분할하는데, 이러한 분할 과정은 최종적으로 컴퓨터로 수행하기 위해 프로그램 언어를 통해 알고리즘으로 코딩한 프로그램이고, 다시 말해 이러한 프로그램은 상기 학습데이터용 도면이미지를 입력자료로 하면서 실내공간정보 자동추출장치(10) 또는 저장 장치(20)에 저장되어 패치 분할모듈(12)이 실내공간정보 자동추출장치(10) 또는 저장 장치(20)에 입력저장된 입력자료와 상기 프로그램을 이용하여 패치 분할하게 되는 것이다.
상기 균일한 사이즈로 분할된 각각의 패치를 학습 데이터로 하여 CNN 모델에 입력하면 CNN 모델은 확률로 나타나는 출력값 중 가장 높은 확률을 갖는 객체 클래스(실내공간정보인 벽체, 문, 창문, 엘리베이터, 계단실)를 입력 이미지에 대한 객체 클래스로 예측하면서 학습한다(S30). 예를 들어 CNN 모델은 패치의 각 픽셀에 대해 벽체, 문, 창문, 엘리베이터, 계단실 각각에 대한 확률을 계산하여 출력하고 다섯 클래스 중 벽체일 확률이 가장 높을 경우 벽체로 판단하게 된다.
이에 CNN 학습모듈(13)은 분할된 각 패치를 학습 데이터로 하여 CNN 모델을 학습시키는데, 이러한 학습 과정은 최종적으로 컴퓨터로 수행하기 위해 프로그램 언어를 통해 알고리즘으로 코딩한 프로그램이고, 다시 말해 이러한 프로그램은 상기 CNN을 포함하면서 실내공간정보 자동추출장치(10) 또는 저장 장치(20)에 저장되어 CNN 학습모듈(13)이 실내공간정보 자동추출장치(10) 또는 저장 장치(20)에 입력저장된 상기 학습데이터와 상기 프로그램을 이용하여 학습이 이루어지게 되는 것이다.
위에서 언급한 바와 같이 본 발명은 입력데이터를 중첩하여 패치 분할하므로 학습이 완료된 각 패치에서 출력된 객체 클래스들을 도면에서의 패치 위치정보를 기준으로 실내공간정보 추출을 위해 중첩하여 다시 결합하는데(S40) 결합시 동일한 공간을 최대 4개의 패치가 중복해서 포함할 수 있으므로 중첩되는 부분은 동일한 위치의 픽셀에 대해 복수의 출력값인 확률을 평균해서 판단한다. 이에 따라 상술한 바와 같이 출력값 중 가장 높은 확률을 갖는 객체 클래스를 각 픽셀에 대한 해당 실내공간정보로 결정하여 추출한다(S50).
이에 패치 결합모듈(14)은 학습이 완료된 각 패치의 각 픽셀에서 출력된 객체 클래스를 도면에서의 패치 위치정보를 기준으로 실내공간정보 추출을 위해 중첩하여 결합시키 되는데, 이러한 결합 과정은 최종적으로 컴퓨터로 수행하기 위해 프로그램 언어를 통해 알고리즘으로 코딩한 프로그램이고, 다시 말해 이러한 프로그램은 실내공간정보 자동추출장치(10) 또는 저장 장치(20)에 저장되어 패치 결합모듈(14)이 실내공간정보 자동추출장치(10) 또는 저장 장치(20)에 저장된 패치와 상기 프로그램을 이용하여 패치 결합이 이루어지게 되는 것이다.
또한, 실내공간정보 추출모듈(15)은 CNN 모델을 통해 패치의 각 픽셀에 대해 객체 클래스 각각에 대한 확률로 나타나는 출력값 중 가장 높은 확률을 갖는 객체 클래스를 각 픽셀에 대한 해당 실내공간정보로 결정하여 추출하되, 패치 결합시 중첩되는 부분은 동일한 위치의 픽셀에 대해 복수의 출력값인 확률을 평균해서 해당 실내공간정보로 결정하여 추출하는데, 이러한 추출 과정은 최종적으로 컴퓨터로 수행하기 위해 프로그램 언어를 통해 알고리즘으로 코딩한 프로그램이고, 다시 말해 이러한 프로그램은 실내공간정보 자동추출장치(10) 또는 저장 장치(20)에 저장되어 실내공간정보 추출모듈(15)이 실내공간정보 자동추출장치(10) 또는 저장 장치(20)에 저장된 상기 프로그램을 이용하여 실내공간정보를 추출하게 되는 것이다.
여기서, 패치를 중첩하여 활용함으로써 각 패치가 나눠지는 경계 지점에서 출력된 결과물이 정합되지 않는 문제가 발생하는 것을 해결할 수 있는데 동일한 지점 또는 공간을 중첩하여 여러 패치를 통해 평균낸 결과를 최종 객체 클래스로 채택하는 방식을 통해 정합성 문제를 해결할 수 있는 것이다.
또한 기존 모델들과 달리 총 5개의 객체 클래스를 하나의 CNN 모델을 통해 학습을 진행함으로서 객체간의 정합성을 향상시킬 수 있는 것이다.
본 발명은 실내공간정보 추출 대상인 테스트 도면 또는 임의의 도면들도 표준화된 (normalized) 패치를 기반으로 상술한 바와 같은 학습된 CNN 모델을 통해 전체 도면의 객체 클래스(실내공간정보인 벽체, 문, 창문, 엘리베이터, 계단실)를 추출(S60)하는 프레임 워크를 개발하는 것이다.
즉, 상술한 자동 축척 탐지 알고리즘을 통해 입력되는 도면(테스트 도면 또는 임의의 도면)의 축척을 학습 데이터 도면과 동일하게 일치시킨 후, 균일한 크기의 패치로 나눈다. 이때 패치는 상기 학습 데이터와 같이 정보손실을 방지하기 위해 공간을 중첩하여 각 패치가 동일한 공간을 중복해서 포함하도록 한다.
분할된 패치를 입력 데이터로 하여 상기 학습된 CNN 모델을 통해 각 패치에 대해 학습된 CNN 모델을 수행하고, 이후, 각 패치에서 출력된 객체 정보들을 실내공간정보 추출을 위해 중첩하며 결합하여, 전체 도면에 대한 객체 클래스의 실내공간 정보의 추출 결과를 출력하게 된다. 이 때, 도면별로 축척(스케일)을 일치시킨 후의 사이즈는 모두 다르지만, 본 발명은 다른 갯수의 패치로 나누는 방식을 통해 일정한 사이즈가 입력되어야하는 CNN 모델을 활용한다.
다시 말해, 테스트 도면 또는 임의의 도면에서 실내공간정보를 추출하는 과정과 CNN 모델의 학습시 학습 데이터 도면에서 객체 클래스를 예측하는 과정은 동일하므로 테스트 도면 또는 임의의 도면 이미지가 학습된 CNN 모델을 거친 후의 출력값은 각 객체 클래스에 속할 확률이다.
이에 CNN 수행모듈(16)은 실내공간정보 추출 대상인 테스트 도면 또는 임의의 도면에서 상기 학습된 CNN 모델을 통해 객체 클래스인 실내공간정보 추출을 수행하는데, 이러한 수행 과정은 최종적으로 컴퓨터로 수행하기 위해 프로그램 언어를 통해 알고리즘으로 코딩한 프로그램이고, 다시 말해 이러한 프로그램은 상기 CNN을 포함하면서 실내공간정보 자동추출장치(10) 또는 저장 장치(20)에 저장되어 CNN 수행모듈(16)이 실내공간정보 자동추출장치(10) 또는 저장 장치(20)에 입력저장된 상기 테스트 도면 또는 임의의 도면과 상기 프로그램을 이용하여 수행이 이루어지게 되는 것이다.
상기 테스트 도면 또는 임의의 도면에서 실내공간정보 추출 수행 과정을 상술하면, 테스트 도면 또는 임의의 도면의 축척을 학습 데이터와 일치시키는 단계와, 축척이 학습 데이터와 일치된 테스트 도면 또는 임의의 도면을 가로 및 세로가 균일한 사이즈의 패치로 분할하되, 패치가 인접 패치와 상하 좌우 방향으로 경계부분에서 일정 길이가 중첩되어 겹쳐지도록 분할하는 단계와, 분할된 각 패치를 입력 데이터로 하여 상기 학습된 CNN 모델을 통해 각 패치에 대해 학습된 CNN 모델을 수행하는 단계와, 각 패치의 각 픽셀에서 출력된 객체 클래스를 도면에서의 패치 위치정보를 기준으로 실내공간정보 추출을 위해 중첩하여 결합하는 단계, 및 CNN 모델을 통해 패치의 각 픽셀에 대해 객체 클래스 각각에 대한 확률로 나타나는 출력값 중 가장 높은 확률을 갖는 객체 클래스를 각 픽셀에 대한 해당 실내공간정보로 결정하여 추출하되, 패치 결합시 중첩되는 부분은 동일한 위치의 픽셀에 대해 복수의 출력값인 확률을 평균해서 해당 실내공간정보로 결정하여 추출하는 단계로 이루어지는데, 이러한 과정 전체를 CNN 수행모듈(16)이 수행할 수도 있으나, 단계별로 대응될 수 있는 도면축척 일치화모듈(11), 패치 분할모듈(12), 패치 결합모듈(14), 실내공간정보 추출모듈(15)이 각각 수행할 수도 있다.
한편 도면은 일반적으로 객체 클래스 간의 비중이 불균등하고, 흰 배경이 대부분의 공간을 차지하는 특성이 있고, 이는 CNN 모델의 학습에 악영향을 끼친다. 기본적으로 학습 데이터에 포함된 객체 클래스의 공간 비중에 반비례하여, 모델의 학습에 더 큰 수치로 반영시켜주는 focal loss를 활용한다. 예를 들어, 비중이 적은 엘리베이터 객체의 경우, 한번 학습될 때 큰 폭으로 CNN 모델의 웨이트(가중치)를 변화시켜 비중의 적음을 보완한다. 이에 더해 여러 객체들 중 추후의 벡터화 과정의 성능에 가장 큰 영향을 주는 벽체객체의 정확도 비중을 높이는 weighted loss를 추가로 반영한다. 벽체의 경우 모델의 출력물에서 유실될 경우 실내 공간의 폐합에 직접적으로 악영향을 주므로, 타 객체 클래스 대비 더 비중을 줘서 모델을 학습시킨다. 이 외에도, 백그라운드 비중이 80%가 넘어가는 패치는 학습에서 배제하여 모델에 편차가 생기는 것을 방지함이 바람직하다.
결국 딥러닝 알고리즘은 축척된 데이터를 통해 시스템을 학습한 후 새로운 데이터를 측정했을 때의 답을 추정하는 기법으로, 실내도면 이미지 원본의 객체 클래스의 실제값(벽체,문,창문,엘리베이터,계단실)과 CNN 모델을 통해 추정되어 출력되는 객체 클래스 추출 결과값의 대응관계를 딥러닝한다고 볼 수 있다.
본 발명의 일실시예에서 사용된 CNN 모델은 기존의 ResNET-50을 수정하여 사용한다. 경계가 뚜렷한 높은 해상도 출력 결과를 얻기 위해, 네트워크의 stride를 높이고 L1 loss를 사용하는 방향으로 수정을 진행한다.
상술한 바와 같이, 테스트 도면 또는 임의의 도면에서 실내공간정보를 추출하는 과정은 분할된 패치를 입력 데이터로 하여 상기 학습된 CNN 모델을 통해 각 패치에서 도면의 객체 클래스 추출을 수행하여, 객체 클래스의 실내공간 정보를 추출하며, 이 때 각 패치에서 출력된 객체 정보들을 중첩하며 결합하여 전체 도면에 대한 객체 클래스 추출 결과를 출력하게 되는데, 이러한 도면인식의 결과는 픽셀단위로 분류된 래스터 타입의 데이터이므로 개략적인(rough) 기하정보를 가지고 있을 뿐, 토폴로지와 시멘틱 정보를 포함하여야 하는 실내공간정보로서의 가치가 적다.
따라서 테스트 도면 또는 임의의 도면에 대해 벡터화된 실내공간정보 생성을 위한 추가 프로세스가 필요한데, 우선, 추출된 래스터 데이터들을 상대좌표로 표현되는 벡터화된 객체로 변환한다. 딥러닝 네트워크를 통해 도면의 복잡한 포맷은 학습 및 분석되어 단순한 형태의 지오메트리 피쳐만 남아있기 때문에, raster-to-vector에는 복잡한 알고리즘이 필요하지 않다. hough transformation(허프 변환) 기반의 비교적 간단한 알고리즘을 통해 곡선 및 직선으로 벡터화된 오브젝트를 생성한다(S70). 이때, 벽체, 문, 창문 등 방의 바운더리로 활용될 수 있는 객체들은 한겹의 폴리라인으로 표현되는 반면, 계단실, 엘리베이터 등의 부피가 필요한 객체들은 폴리곤으로 표현된다. 곡선이 아닌 선형 객체들에 대해서는 Manhattan-rule을 따르도록 연결된 객체들의 좌표를 평균내는 후처리를 진행한다.
벡터화된 실내공간정보의 토폴로지 정보를 생성하고, 폐합된 공간을 구성하는 벽체, 창문 및 문 객체를 탐지하여 공간을 생성하고 건물을 공간단위로 구분하는 프레임워크를 구축한다. 이때 계단실 및 엘리베이터는 지오메트리 정보 외에도 각 공간에 링크된 객체로써 저장된다. 딥러닝 모델이 빠뜨린(missing) 객체들로 인해 토폴로지 정보를 잃는 것을 방지하기 위해 후처리를 통해 벽체와 객체 사이의 가까운 갭을 막고 가상 벽체로 저장하여 방을 추가적으로 분할한다. 문을 탐지 못하거나 실제로 문 없이 합쳐진 공간일 가능성이 있으나, 공간을 가상벽을 통해 열린 경계로 분할함으로써 토폴로지 정보의 손실을 최소화할 수 있다.
이에 벡터화 변환모듈(17)은 테스트 도면 또는 임의의 도면에 대해 벡터화된 실내공간정보 생성을 위해 상기 단계(S60)에서 추출된 픽셀단위의 래스터 데이터인 객체 클래스를 hough transformation(허프 변환)을 통해 벡터화된 객체로 변환시키는데, 이러한 변환 과정은 최종적으로 컴퓨터로 수행하기 위해 프로그램 언어를 통해 알고리즘으로 코딩한 프로그램이고, 다시 말해 이러한 프로그램은 상기 래스터 데이터를 입력자료로 하면서 실내공간정보 자동추출장치(10) 또는 저장 장치(20)에 저장되어 벡터화 변환모듈(17)이 실내공간정보 자동추출장치(10) 또는 저장 장치(20)에 입력저장된 입력자료와 상기 프로그램을 이용하여 벡터화된 객체로 변환시키는 것이다.
이러한 패치 기반의 딥러닝 모듈의 성능을 평가하기 위해 상기 서울대학교 도면 데이터셋 230건 중 200개의 도면을 활용하여 학습을 진행하고, 30개의 도면에 대한 테스트를 진행하였다. 다음의 표 1에서와 같이, 서울대학교의 경우 평균 정밀도(precision)가 약 89%, 재현율(recall)이 약 86%로서 기존의 간단한 도면을 대상으로 했던 기존 연구들과 유사한 수준의 정확도를 보이는 것을 확인할 수 있었다. 서울시립대학교 7개 도면을 대상으로 실험한(6개 도면을 학습, 1개의 도면을 테스트 진행) 결과는 평균 정밀도(precision)가 약 82%, 재현율(recall)이 약 73%로서 학습 도면이 매우 적은 것에 비하여 활용 가능한 수준의 성능을 보였다.
Figure pat00001
이렇게 상기 표 1과 같이 정밀도와 재현율에서 객체 클래스의 실제값과 소정의 차이가 발생하는데 이러한 차이를 오차라 할 수 있고 상기 오차를 최소화하기 위해 상술한 바와 같이 가중치를 변화시키거나 weighted loss를 추가로 반영하는 등의 활용을 도입하는 것이다.
도 6에 도시된 바와 같이 상기 서울대학교 도면 데이터셋 중 다양한 유형의 테스트 도면 이미지에 대해 패치기반의 딥러닝 세그멘테이션 결과 및 벡터화를 통한 실내공간정보 구축 결과를 확인할 수 있는데, 객체 클래스의 실제값(벽체,문,창문,엘리베이터,계단실)이 라벨링된 실내도면 이미지 원본(도6a,도6e,도6i), 딥러닝 세그멘테이션 결과(도6b,도6f,도6j), 선형으로 이루어진 벡터화 결과(도6c,도6g,도6k) 및 선형이 결합하여 3D구현이 가능하도록 하는 공간 벡터화 결과(도6d,도6h,도6l)가 순서대로 도시되어 있다. 참고로 도 6에서는 시각적으로 구분할 수 있도록 객체 클래스별로 다른 색상으로 표현되어 있다.
여기서 세그멘테이션은 이미지를 분리하여 원하는 부분을 검출하는데 사용하는 기법으로 입력이미지가 픽셀별 여러 클래스로 나누어지는 딥러닝 결과로 출력된 것을 말한다.
10: 실내공간정보 자동추출장치
11: 도면축척 일치화모듈
12: 패치 분할모듈
13: CNN 학습모듈
14: 패치 결합모듈
15: 실내공간정보 추출모듈
16: CNN 수행모듈
17: 벡터화 변환모듈
20: 저장 장치

Claims (8)

  1. (a) 도면축척 일치화모듈(11)이 대규모 공간을 표현하는 건물로 구성되어 구축된 도면 데이터셋 중에서 학습 데이터용 복수의 도면이미지의 축척을 일치시키는 단계(S10)와;
    (b) 패치 분할모듈(12)이 축척이 일치된 각 도면이미지를 가로 및 세로가 균일한 사이즈의 패치로 분할하되, 패치가 인접 패치와 상하 좌우 방향으로 경계부분에서 일정 길이가 중첩되어 겹쳐지도록 분할하는 단계(S20)와;
    (c) CNN 학습모듈(13)이 분할된 각 패치를 학습 데이터로 하여 CNN 모델을 학습시키는 단계(S30)와;
    (d) 패치 결합모듈(14)이 학습이 완료된 각 패치의 각 픽셀에서 출력된 객체 클래스를 도면에서의 패치 위치정보를 기준으로 실내공간정보 추출을 위해 중첩하여 결합하는 단계(S40)와;
    (e) 실내공간정보 추출모듈(15)이 CNN 모델을 통해 패치의 각 픽셀에 대해 객체 클래스 각각에 대한 확률로 나타나는 출력값 중 가장 높은 확률을 갖는 객체 클래스를 각 픽셀에 대한 해당 실내공간정보로 결정하여 추출하되, 패치 결합시 중첩되는 부분은 동일한 위치의 픽셀에 대해 복수의 출력값인 확률을 평균해서 해당 실내공간정보로 결정하여 추출하는 단계(S50), 및
    (f) CNN 수행모듈(16)이 실내공간정보 추출 대상인 테스트 도면 또는 임의의 도면에서 상기 학습된 CNN 모델을 통해 객체 클래스인 실내공간정보 추출을 수행하는 단계(S60)로 이루어지는 것을 특징으로 하는, 패치기반의 딥러닝 알고리즘을 통한 실내도면 이미지에서의 실내공간정보 자동추출방법.
  2. 제 1 항에 있어서,
    (g) 벡터화 변환모듈(17)이 테스트 도면 또는 임의의 도면에 대해 벡터화된 실내공간정보 생성을 위해 상기 단계(f)에서 추출된 픽셀단위의 래스터 데이터인 객체 클래스를 hough transformation(허프 변환)을 통해 벡터화된 객체로 변환시키는 단계(S70)를 더 포함하는 것을 특징으로 하는, 패치기반의 딥러닝 알고리즘을 통한 실내도면 이미지에서의 실내공간정보 자동추출방법.
  3. 제 1 항에 있어서,
    상기 단계(a)에서 도면이미지 축척의 일치는,
    수치선이 있는 도면의 경우 수치선에 나타난 수치와 그에 상응하는 픽셀 수를 추출하여 픽셀당 거리를 통일시키고, 수치선이 없는 도면의 경우는 최소 두께의 벽체의 픽셀 갯수를 추출하여 픽셀당 거리를 통일시키는 것을 특징으로 하는, 패치기반의 딥러닝 알고리즘을 통한 실내도면 이미지에서의 실내공간정보 자동추출방법.
  4. 제 1 항에 있어서,
    상기 객체 클래스는 벽체, 문, 창문, 엘리베이터, 계단실로 총 5개의 객체 클래스를 하나의 CNN 모델을 통해 학습을 진행함으로써 객체간의 정합성을 향상시킬 수 있는 것을 특징으로 하는, 패치기반의 딥러닝 알고리즘을 통한 실내도면 이미지에서의 실내공간정보 자동추출방법.
  5. 제 1 항에 있어서,
    상기 단계(f)는,
    (f1) 테스트 도면 또는 임의의 도면의 축척을 학습 데이터와 일치시키는 단계와;
    (f2) 축척이 학습 데이터와 일치된 테스트 도면 또는 임의의 도면을 가로 및 세로가 균일한 사이즈의 패치로 분할하되, 패치가 인접 패치와 상하 좌우 방향으로 경계부분에서 일정 길이가 중첩되어 겹쳐지도록 분할하는 단계와;
    (f3) 분할된 각 패치를 입력 데이터로 하여 상기 학습된 CNN 모델을 통해 각 패치에 대해 학습된 CNN 모델을 수행하는 단계와;
    (f4) 각 패치의 각 픽셀에서 출력된 객체 클래스를 도면에서의 패치 위치정보를 기준으로 실내공간정보 추출을 위해 중첩하여 결합하는 단계, 및
    (f5) CNN 모델을 통해 패치의 각 픽셀에 대해 객체 클래스 각각에 대한 확률로 나타나는 출력값 중 가장 높은 확률을 갖는 객체 클래스를 각 픽셀에 대한 해당 실내공간정보로 결정하여 추출하되, 패치 결합시 중첩되는 부분은 동일한 위치의 픽셀에 대해 복수의 출력값인 확률을 평균해서 해당 실내공간정보로 결정하여 추출하는 단계로 이루어지는 것을 특징으로 하는, 패치기반의 딥러닝 알고리즘을 통한 실내도면 이미지에서의 실내공간정보 자동추출방법.
  6. 제 4 항에 있어서,
    CNN 모델의 학습을 효율적으로 하기 위해 CNN 모델의 학습시 벽체 객체의 정확도 비중을 높이는 weighted loss를 반영하는 것을 특징으로 하는, 패치기반의 딥러닝 알고리즘을 통한 실내도면 이미지에서의 실내공간정보 자동추출방법.
  7. 제 1 항에 있어서,
    경계가 뚜렷한 높은 해상도 출력 결과를 얻기 위해 상기 CNN 모델은 네트워크의 stride를 높이고 L1 loss를 사용하는 것을 특징으로 하는, 패치기반의 딥러닝 알고리즘을 통한 실내도면 이미지에서의 실내공간정보 자동추출방법.
  8. 대규모 공간을 표현하는 건물로 구성되어 구축된 도면 데이터셋 중에서 학습 데이터용 복수의 도면이미지의 축척을 일치시키는 도면축척 일치화모듈(11)과,
    축척이 일치된 각 도면이미지를 가로 및 세로가 균일한 사이즈의 패치로 분할하되, 패치가 인접 패치와 상하 좌우 방향으로 경계부분에서 일정 길이가 중첩되어 겹쳐지도록 분할하는 패치 분할모듈(12)과,
    분할된 각 패치를 학습 데이터로 하여 CNN 모델을 학습시키는 CNN 학습모듈(13)과,
    학습이 완료된 각 패치의 각 픽셀에서 출력된 객체 클래스를 도면에서의 패치 위치정보를 기준으로 실내공간정보 추출을 위해 중첩하여 결합하는 패치 결합모듈(14)과,
    CNN 모델을 통해 패치의 각 픽셀에 대해 객체 클래스 각각에 대한 확률로 나타나는 출력값 중 가장 높은 확률을 갖는 객체 클래스를 각 픽셀에 대한 해당 실내공간정보로 결정하여 추출하되, 패치 결합시 중첩되는 부분은 동일한 위치의 픽셀에 대해 복수의 출력값인 확률을 평균해서 해당 실내공간정보로 결정하여 추출하는 실내공간정보 추출모듈(15), 및
    실내공간정보 추출 대상인 테스트 도면 또는 임의의 도면에서 상기 학습된 CNN 모델을 통해 객체 클래스인 실내공간정보 추출을 수행하는 CNN 수행모듈(16)을 포함하는 실내공간정보 자동추출장치.
KR1020210119056A 2021-09-07 2021-09-07 패치기반의 딥러닝 알고리즘을 통한 실내도면 이미지에서의 실내공간정보 자동추출방법 및 그 장치 KR102535054B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210119056A KR102535054B1 (ko) 2021-09-07 2021-09-07 패치기반의 딥러닝 알고리즘을 통한 실내도면 이미지에서의 실내공간정보 자동추출방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210119056A KR102535054B1 (ko) 2021-09-07 2021-09-07 패치기반의 딥러닝 알고리즘을 통한 실내도면 이미지에서의 실내공간정보 자동추출방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20230036327A true KR20230036327A (ko) 2023-03-14
KR102535054B1 KR102535054B1 (ko) 2023-05-26

Family

ID=85502494

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210119056A KR102535054B1 (ko) 2021-09-07 2021-09-07 패치기반의 딥러닝 알고리즘을 통한 실내도면 이미지에서의 실내공간정보 자동추출방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR102535054B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116664822A (zh) * 2023-06-01 2023-08-29 广州阅数科技有限公司 一种基于自动切图算法的图像目标检测方法
CN116805351A (zh) * 2023-06-14 2023-09-26 壹品慧数字科技(上海)有限公司 一种基于物联网的智慧建筑管理***及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200036098A (ko) * 2018-09-21 2020-04-07 라인 가부시키가이샤 글자 검출 장치, 방법 및 시스템
KR102109855B1 (ko) * 2019-03-06 2020-05-12 서울대학교산학협력단 Sift 구분자를 활용한 실내도면 이미지에서의 텍스트 정보 구축 방법
KR20200081340A (ko) * 2018-02-26 2020-07-07 주식회사 코드크래프트 건축 도면 분석 방법 및 장치
KR20200143193A (ko) * 2019-06-13 2020-12-23 네이버 주식회사 객체인식장치 및 객체인식방법
KR20210057907A (ko) 2019-11-13 2021-05-24 한국기술교육대학교 산학협력단 딥러닝 기반 지능형 엔지니어링 도면 생성방법 및 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200081340A (ko) * 2018-02-26 2020-07-07 주식회사 코드크래프트 건축 도면 분석 방법 및 장치
KR20200036098A (ko) * 2018-09-21 2020-04-07 라인 가부시키가이샤 글자 검출 장치, 방법 및 시스템
KR102109855B1 (ko) * 2019-03-06 2020-05-12 서울대학교산학협력단 Sift 구분자를 활용한 실내도면 이미지에서의 텍스트 정보 구축 방법
KR20200143193A (ko) * 2019-06-13 2020-12-23 네이버 주식회사 객체인식장치 및 객체인식방법
KR20210057907A (ko) 2019-11-13 2021-05-24 한국기술교육대학교 산학협력단 딥러닝 기반 지능형 엔지니어링 도면 생성방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116664822A (zh) * 2023-06-01 2023-08-29 广州阅数科技有限公司 一种基于自动切图算法的图像目标检测方法
CN116805351A (zh) * 2023-06-14 2023-09-26 壹品慧数字科技(上海)有限公司 一种基于物联网的智慧建筑管理***及方法

Also Published As

Publication number Publication date
KR102535054B1 (ko) 2023-05-26

Similar Documents

Publication Publication Date Title
US20210150080A1 (en) Synthetic data generation for machine learning tasks on floor plan drawings
US11636234B2 (en) Generating 3D models representing buildings
Zhao et al. Reconstructing BIM from 2D structural drawings for existing buildings
Ochmann et al. Automatic generation of structural building descriptions from 3D point cloud scans
CN111611643B (zh) 户型矢量化数据获得方法、装置、电子设备及存储介质
Xiong et al. Automatic creation of semantically rich 3D building models from laser scanner data
US20140313216A1 (en) Recognition and Representation of Image Sketches
CN111488826A (zh) 一种文本识别方法、装置、电子设备和存储介质
US11275874B2 (en) Method for constructing a 3D digital model from a 2D plan
Pizarro et al. Automatic floor plan analysis and recognition
CN113327324A (zh) 三维建筑模型的构建方法、装置、计算机设备及存储介质
Oskouie et al. Automated recognition of building façades for creation of As-Is Mock-Up 3D models
Wang et al. Object verification based on deep learning point feature comparison for scan-to-BIM
KR102535054B1 (ko) 패치기반의 딥러닝 알고리즘을 통한 실내도면 이미지에서의 실내공간정보 자동추출방법 및 그 장치
Xu et al. Three-dimensional object detection with deep neural networks for automatic as-built reconstruction
Urbieta et al. Generating BIM model from structural and architectural plans using Artificial Intelligence
CN116704542A (zh) 图层分类方法、装置、设备及存储介质
Phan et al. Triangulation based skeletonization and trajectory recovery for handwritten character patterns
KR102260969B1 (ko) 딥러닝 알고리즘을 이용한 건축 정보 모델의 객체 유형 정보 인식 장치 및 방법
CN117115824A (zh) 一种基于笔划区域分割策略的视觉文本检测方法
Wei et al. Wall segmentation in house plans: fusion of deep learning and traditional methods
Chen et al. The scope for AI-augmented interpretation of building blueprints in commercial and industrial property insurance
Liu et al. Application of Relying on 3D Modeling Technology in the Design of Urban Sculpture.
Pizarro Riffo Wall polygon retrieval from architectural floor plan images using vectorización and Deep Learning methods
Moro et al. Building virtual worlds by 3D object mapping

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant