KR101364375B1 - 3차원 데이터로부터 특정 객체를 추출하는 시스템 및 방법. - Google Patents
3차원 데이터로부터 특정 객체를 추출하는 시스템 및 방법. Download PDFInfo
- Publication number
- KR101364375B1 KR101364375B1 KR1020130128090A KR20130128090A KR101364375B1 KR 101364375 B1 KR101364375 B1 KR 101364375B1 KR 1020130128090 A KR1020130128090 A KR 1020130128090A KR 20130128090 A KR20130128090 A KR 20130128090A KR 101364375 B1 KR101364375 B1 KR 101364375B1
- Authority
- KR
- South Korea
- Prior art keywords
- points
- point
- data
- dimensional data
- normal vector
- Prior art date
Links
- 230000000875 corresponding Effects 0.000 claims description 44
- 238000010586 diagram Methods 0.000 claims description 13
- 239000000284 extract Substances 0.000 claims description 4
- 241000196324 Embryophyta Species 0.000 description 20
- 238000000034 method Methods 0.000 description 9
- 238000000638 solvent extraction Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006011 modification reaction Methods 0.000 description 2
- 241000058193 Lipandra polysperma Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000003247 decreasing Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003287 optical Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2004—Aligning objects, relative positioning of parts
Abstract
본 발명은 3차원 데이터로부터 특정 객체를 추출하는 시스템 및 방법에 관한 것으로, 3차원 데이터 획득 장치에 기초하여 얻어진 3차원 데이터를 구성하는 점들에 각각 대응하는 법선벡터와 잔여값을 산출하고, 상기 법선벡터와 상기 잔여값을 기초로 상기 3차원 데이터를 구성하는 점들을 객체 별로 분할하는 데이터분할부; 각 객체마다 각 객체를 구성하는 점들 중에서 씨앗점(seed point)을 선정하고, 상기 씨앗점(seed point)의 법선벡터와 기설정된 각도 범위 이내의 법선벡터를 가지는 점들을 이웃점(neighboring point)으로 선정하는 이웃점선정부; 및 상기 씨앗점(seed point)과 상기 이웃점(neighboring point)이 구성하는 객체의 곡률을 산출하고, 산출된 곡률을 기초로 상기 객체의 직경을 산출한 후, 상기 객체의 직경을 실제 객체들의 정보를 포함하는 데이터와 비교하여 상기 객체를 특정의 객체로 판단하는 객체분류부;를 포함한다.
Description
본 발명은 3차원 데이터로부터 특정 객체를 추출하는 시스템 및 방법에 관한 것으로, 3차원 데이터에 존재하는 배관 등과 같은 특정 객체를 선택적으로 추출하는 시스템 및 방법이다.
최근 배관의 실제 시공 형상 및 위치가 반영된 3차원 배관 모델에 대한 수요가 증가하고 있다. 이는 3차원 배관 모델이 플랜트에서 상당 부분을 차지할 뿐만 아니라 플랜트의 증설, 점검, 준공도면 생성 및 갱신 등 플랜트의 운영 및 유지관리를 위한 다양한 분야에서 활용 가능하다는 점에서 중요한 역할을 수행한다고 볼 수 있기 때문이다.
실제 시공된 형상 및 위치가 정확하게 반영된 3차원 배관 모델을 구축하기 위해서 사용자는 레이저 스캐너와 같은 3차원 데이터 획득장치를 이용하여 얻어진 플랜트의 3차원 데이터로부터 개별 배관에 해당하는 데이터를 모두 추출하고, 이 개별 배관 데이터를 바탕으로 모델 구축 작업을 수행하게 된다.
종래에는 사용자가 배관의 표면에 해당하는 데이터를 일부 선택하면, 선택된 데이터와 연결된 이웃 데이터로 영역이 확장되고, 이를 바탕으로 실린더를 피팅 시키는 방법이 제시되어 있으나, 이러한 방법은 배관에 해당하는 데이터를 사용자가 일부 선택해 주어야 하기 때문에 3차원 데이터의 특성상 효율성이 떨어진다는 단점이 있다.
또한, 배관들이 서로 복잡하게 얽혀 있을 뿐만 아니라 다른 설비들도 동시에 존재하는 3차원 데이터의 특성으로 인해 배관 데이터의 추출 과정에 시간과 비용이 많이 소모된다. 나아가 복잡한 3차원 데이터에 존재하는 배관의 표면에 해당하는 데이터를 정확하게 선정하기 위해서는 배관의 방향 및 위치를 사용자가 사전에 미리 파악하고 있어야 하는데, 이때 사용자의 배관에 관한 전문 지식 및 숙련도에 따라 추출된 배관 데이터에 차이가 발생하는 문제가 있다.
본 발명의 일 목적은 3차원 데이터 획득 장치에 기초하여 얻어진 3차원 데이터로부터 특정 객체를 추출하는 시스템 및 방법을 제공하는 것이다.
본 발명의 다른 일 목적은 불완전한 3차원 데이터를 이용하여 특정 객체를 추출하는 시스템 및 방법을 제공하는 것이다.
본 발명의 다른 일 목적은 3차원 데이터 획득 장치에서 얻어진 3차원 데이터를 가공하여 가공된 3차원 데이터로부터 특정 객체를 추출함으로써, 시간과 비용을 줄일 수 있는 3차원 데이터로부터 특정 객체를 추출하는 시스템 및 방법을 제공하는 것이다.
본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템은 3차원 데이터 획득 장치에 기초하여 얻어진 3차원 데이터를 구성하는 점들에 각각 대응하는 법선벡터와 잔여값을 산출하고, 상기 법선벡터와 상기 잔여값을 기초로 상기 3차원 데이터를 구성하는 점들을 객체 별로 분할하는 데이터분할부;
각 객체마다 각 객체를 구성하는 점들 중에서 씨앗점(seed point)을 선정하고, 상기 씨앗점(seed point)의 법선벡터와 기설정된 각도 범위 이내의 법선벡터를 가지는 점들을 이웃점(neighboring point)으로 선정하는 이웃점선정부; 및
상기 씨앗점(seed point)과 상기 이웃점(neighboring point)이 구성하는 객체의 곡률을 산출하고, 산출된 곡률을 기초로 상기 객체의 직경을 산출한 후, 상기 객체의 직경을 실제 객체들의 정보를 포함하는 데이터와 비교하여 상기 객체를 특정의 객체로 판단하는 객체분류부;를 포함한다.
본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템은 하나의 객체를 구성하는 점들 중에서 선정된 씨앗점(seed point)의 수는 복수개이며, 각각의 씨앗점(seed point)과 대응되는 이웃점(neighboring point)의 수는 다르게 설정 가능하다.
본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템은 상기 기설정된 각도는 상기 씨앗점(seed point)의 법선벡터를 기준으로 한 ±60°이다.
본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템은 상기 데이터분할부에 의해 상기 법선벡터와 상기 잔여값이 산출되는 상기 3차원 데이터를 구성하는 점들을 추출하기 위해 3차원 데이터 획득 장치에 의해 얻어진 데이터를 가공하는 데이터가공부; 를 더 포함한다.
본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템은 상기 3차원 데이터 획득 장치에 의해 얻어진 데이터는 상기 객체를 구성하는 점들을 포함하고, 상기 데이터가공부는 상기 데이터분할부에 의해 상기 법선벡터와 상기 잔여값이 산출되는 상기 3차원 데이터를 구성하는 점들의 수를 상기 3차원 데이터 획득 장치에 의해 얻어진 데이터에 포함된 점들의 수보다 작도록 상기 3차원 데이터 획득 장치에 의해 얻어진 데이터를 가공한다.
본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템은 상기 실제 객체들의 정보를 포함하는 데이터는 상기 3차원 데이터의 획득 대상인 플랜트의 설비 데이터베이스에 저장되어 있는 공장배관계장도(P&ID)에 포함된 데이터를 포함한다.
본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템은 상기 실제 객체들의 정보를 포함하는 데이터는 상기 공장배관계장도(P&ID)에 포함된 상기 실제 객체의 데이터에 오차 범위가 설정된 데이터이다.
본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템은 상기 특정의 객체는 배관이다.
본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템은 상기 데이터분할부는, 상기 3차원 데이터를 구성하는 점들에 대해 제1 기준개수의 최근접 이웃점(nearest neighboring point)을 선정한 후 각각의 점들에 대해 선정된 최근접 이웃점(nearest neighboring point)들부터 수직 거리가 최소가 되는 평면을 각각의 점들에 대응하는 기준평면으로 결정하고, 상기 각각의 점들에 대응하는 기준평면과 상기 각각의 점들에 대해 선정된 이웃점들 사이의 수직거리의 합을 상기 각각의 점들에 대응하는 잔여값으로 결정하며, 상기 각각의 점들에 대응하는 기준평면의 법선벡터를 상기 각각의 점들에 대응하는 법선벡터로 결정한다.
본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템은 상기 데이터분할부는, 객체를 구성하는 점으로 판단되지 않은 점들 중에서 잔여값이 최소인 점을 씨앗점(seed point)으로 선정한 후 상기 선정된 씨앗점(seed point)을 기준으로 제2 기준개수의 최근접 이웃점(nearest neighboring point)을 선정하고, 상기 씨앗점(seed point)에 대해 선정된 각각의 최근접 이웃점(nearest neighboring point)의 법선벡터와 상기 선정된 씨앗점(seed point)의 법선벡터 사이의 각도가 기설정된 제1 임계값보다 작은 최근접 이웃점(nearest neighboring point)을 상기 선정된 씨앗점(seed point)과 동일한 객체를 구성하는 점으로 판단한다.
본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템은 상기 데이터분할부는, 상기 씨앗점(seed point)과 동일한 객체를 구성하는 점으로 판단된 이웃점(neighboring point)들 중에서 잔여값이 기설정된 제2 임계값보다 작은 이웃점(neighboring point)을 새로운 씨앗점(seed point)으로 선정한 후 상기 선정된 새로운 씨앗점(seed point)을 기준으로 상기 제2 기준개수의 최근접 이웃점(nearest neighboring point)을 선정하고, 상기 새로운 씨앗점(seed point)에 대해 선정된 각각의 최근접 이웃점(nearest neighboring point)의 법선벡터와 상기 새로운 씨앗점(seed point)의 법선벡터 사이의 각도가 상기 제1 임계값보다 작은 최근접 이웃점(nearest neighboring point)을 상기 새로운 씨앗점(seed point )과 동일한 객체를 구성하는 점으로 판단한다.
본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템은 상기 객체분류부는 상기 씨앗점(seed point)과 상기 이웃점(neighboring point)들로 이루어진 곡면을 생성하고, 상기 곡면으로부터 상기 곡면이 포함된 객체의 곡률을 산출한다.
본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 방법은 3 차원 데이터 획득 장치에 기초하여 얻어진 3 차원 데이터로부터 특정 객체를 추출하는 방법에 있어서, 3차원 데이터를 구성하는 점들에 각각 대응하는 법선벡터와 잔여값을 산출하고, 상기 법선벡터와 상기 잔여값을 기초로 상기 3차원 데이터를 구성하는 점들을 객체 별로 분할하는 제1 단계; 상기 분할된 각 객체를 구성하는 점들 중에서 씨앗점(seed point)을 선정하고, 상기 씨앗점(seed point)의 법선벡터와 기설정된 각도 범위 이내의 법선벡터를 가지는 점들을 이웃점(neighboring point)으로 선정하는 제2 단계; 및 상기 씨앗점(seed point)과 상기 이웃점(neighboring point)이 구성하는 객체의 곡률을 산출하고, 산출된 곡률을 기초로 상기 객체의 직경을 산출한 후, 상기 객체의 직경을 실제 객체들의 정보를 포함하는 데이터와 비교하여 상기 객체를 특정의 객체로 판단하는 제3 단계; 를 포함한다.
본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 방법은 상기 제2 단계는, 하나의 객체를 구성하는 점들 중에서 선정된 씨앗점(seed point)의 수는 복수개이며, 각각의 씨앗점(seed point)과 대응되는 이웃점(neighboring point)의 수는 다르게 설정 가능하다.
본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 방법은 상기 제2 단계는, 상기 기설정된 각도는 상기 씨앗점(seed point)의 법선벡터를 기준으로 한 ±60°이다.
본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 방법은 상기 법선벡터와 상기 잔여값이 산출되는 상기 3차원 데이터를 구성하는 점들을 추출하기 위해 3차원 데이터 획득 장치에 의해 얻어진 데이터를 가공하는 단계;를 더 포함한다.
본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 방법은 상기 3차원 데이터 획득 장치에 의해 얻어진 데이터는 상기 객체를 구성하는 점들을 포함하고, 상기 데이터를 가공하는 단계는, 상기 법선벡터와 상기 잔여값이 산출되는 상기 3차원 데이터를 구성하는 점들의 수를 상기 3차원 데이터 획득 장치에 의해 얻어진 데이터에 포함된 점들의 수보다 작도록 상기 3차원 데이터 획득 장치에 의해 얻어진 데이터를 가공하는 단계이다.
본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 방법은 상기 실제 객체들의 정보를 포함하는 데이터는 상기 3차원 데이터의 획득 대상인 플랜트의 설비 데이터베이스에 저장되어 있는 공장배관계장도(P&ID)에 포함된 데이터를 포함한다.
본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 방법은 상기 실제 객체들의 정보를 포함하는 데이터는 상기 공장배관계장도(P&ID)에 포함된 상기 실제 객체의 데이터에 오차 범위가 설정된 데이터이다.
본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 방법은 상기 특정의 객체는 배관이다.
본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 방법은 제1 단계는 (1-1) 상기 3차원 데이터를 구성하는 점들에 대해 제1 기준개수의 최근접 이웃점(nearest neighboring point)을 선정한 후 각각의 점들에 대해 선정된 최근접 이웃점(nearest neighboring point)들부터 수직 거리가 최소가 되는 평면을 각각의 점들에 대응하는 기준평면으로 결정하는 단계 (1-2) 상기 각각의 점들에 대응하는 기준평면과 상기 각각의 점들에 대해 선정된 이웃점들 사이의 수직거리의 합을 상기 각각의 점들에 대응하는 잔여값으로 결정하는 단계; 및 (1-3) 상기 각각의 점들에 대응하는 기준평면의 법선벡터를 상기 각각의 점들에 대응하는 법선벡터로 결정하는 단계;를 더 포함한다.
본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 방법은 제1 단계는, (1-4) 객체를 구성하는 점으로 판단되지 않은 점들 중에서 잔여값이 최소인 점을 씨앗점(seed point)으로 선정한 후 상기 선정된 씨앗점(seed point)을 기준으로 제2 기준개수의 최근접 이웃점(nearest neighboring point)을 선정하는 단계; 및 (1-5) 상기 씨앗점(seed point)에 대해 선정된 각각의 최근접 이웃점(nearest neighboring point)의 법선벡터와 상기 선정된 씨앗점(seed point)의 법선벡터 사이의 각도가 기설정된 제1 임계값보다 작은 최근접 이웃점(nearest neighboring point)을 상기 선정된 씨앗점(seed point)과 동일한 객체를 구성하는 점으로 판단하는 단계;를 포함한다.
본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 방법은 제1 단계는, (1-6) 상기 씨앗점(seed point)과 동일한 객체를 구성하는 점으로 판단된 이웃점(neighboring point)들 중에서 잔여값이 기설정된 제2 임계값보다 작은 이웃점(neighboring point)을 새로운 씨앗점(seed point)으로 선정한 후 상기 선정된 새로운 씨앗점(seed point)을 기준으로 상기 제2 기준개수의 최근접 이웃점(nearest neighboring point)을 선정하는 단계; 및 (1-7) 상기 새로운 씨앗점(seed point)에 대해 선정된 각각의 최근접 이웃점(nearest neighboring point)의 법선벡터와 상기 새로운 씨앗점(seed point)의 법선벡터 사이의 각도가 상기 제1 임계값보다 작은 최근접 이웃점(nearest neighboring point)을 상기 새로운 씨앗점(seed point )과 동일한 객체를 구성하는 점으로 판단하는 단계;를 포함한다.
본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 방법은 제3 단계는, 상기 씨앗점(seed point)과 상기 이웃점(neighboring point)들로 이루어진 곡면을 생성하고, 상기 곡면으로부터 상기 곡면이 포함된 객체의 곡률을 산출한다.
본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템 및 방법에 의하면, 플랜트 현장의 크기와 관계없이 3차원 데이터 획득장치에 의해 얻어진 3차원 데이터로부터 배관에 해당하는 데이터를 빠르고 정확하게 추출할 수 있어, 3차원 배관 모델 구축을 위해 소모되는 노동력과 시간을 감축할 수 있다.
또한, 해당 플랜트에 사용된 배관의 특성이 기록되어 있는 공정배관계장도(P&ID)를 이용하여 3차원 플랜트 데이터로부터 배관 데이터를 정확하게 추출함으로써 정확한 3차원 배관 모델을 구축할 수 있다.
또한, 3차원 데이터 획득장치에 의해 얻어진 3차원 데이터를 가공하여, 사용자가 좀 더 쉽게 이용하고, 3차원 데이터로부터 특정 객체를 추출하는 시간과 비용을 줄일 수 있도록 가공된 3차원 데이터를 제공한다.
도 1은 본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템을 설명하기 위한 블록 구성도.
도 2는 본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템에 적용되는 3차원 데이터가 획득되는 플랜트 설비와 해당 플랜트 설비에 대해 얻어진 3차원 데이터를 도시한 도면.
도 3은 본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템 및 방법에 있어서, 데이터를 분할하는 과정을 설명하기 위한 흐름도.
도 4는 본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템 및 방법에 있어서, 3차원 데이터의 한 점에 대응되는 법선벡터 및 이에 따른 기준평면을 추출하는 방법을 설명하기 위한 도면.
도 5는 본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템 및 방법에 있어서, 데이터 분할과정에 의해 분할된 객체들을 도시한 도면.
도 6은 본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템 및 방법에 있어서, 특정 객체의 곡률을 추출하기 위한 방법을 설명하기 위한 도면.
도 7은 본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템 및 방법에 있어서, 데이터 분할 이후 특정 객체를 분류하는 과정을 설명하기 위한 흐름도.
도 2는 본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템에 적용되는 3차원 데이터가 획득되는 플랜트 설비와 해당 플랜트 설비에 대해 얻어진 3차원 데이터를 도시한 도면.
도 3은 본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템 및 방법에 있어서, 데이터를 분할하는 과정을 설명하기 위한 흐름도.
도 4는 본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템 및 방법에 있어서, 3차원 데이터의 한 점에 대응되는 법선벡터 및 이에 따른 기준평면을 추출하는 방법을 설명하기 위한 도면.
도 5는 본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템 및 방법에 있어서, 데이터 분할과정에 의해 분할된 객체들을 도시한 도면.
도 6은 본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템 및 방법에 있어서, 특정 객체의 곡률을 추출하기 위한 방법을 설명하기 위한 도면.
도 7은 본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템 및 방법에 있어서, 데이터 분할 이후 특정 객체를 분류하는 과정을 설명하기 위한 흐름도.
이하에서는 도면을 참조하여 본 발명의 구체적인 실시예를 상세하게 설명한다. 다만, 본 발명의 사상은 제시되는 실시예에 제한되지 아니하고, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서 다른 구성요소를 추가, 변경, 삭제 등을 통하여, 퇴보적인 다른 발명이나 본 발명 사상의 범위 내에 포함되는 다른 실시예를 용이하게 제안할 수 있을 것이나, 이 또한 본원 발명 사상 범위 내에 포함된다고 할 것이다.
또한, 각 실시예의 도면에 나타나는 동일한 사상의 범위 내의 기능이 동일한 구성요소는 동일한 참조부호를 사용하여 설명한다.
도 1은 본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템을 설명하기 위한 블록 구성도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 추출 대상을 추출하는 시스템(100)은 데이터분할부(110), 이웃점선정부(120) 및 객체분류부(130)을 포함할 수 있다.
상기 3차원 데이터로부터 특정 추출 대상을 추출하는 시스템(100)은 플랜트 현장의 크기와 관계없이 3차원 데이터 획득장치에 의해 얻어진 3차원 데이터로부터 배관에 해당하는 데이터를 빠르고 정확하게 추출할 수 있어, 3차원 배관 모델 구축을 위해 소모되는 노동력과 시간을 감축할 수 있다.
데이터분할부(110)는 3차원 데이터 획득 장치에 기초하여 얻어진 3차원 데이터를 이용하여 데이터를 객체 별로 분할하는 구성요소로, 레이저 스캐너와 같은 3차원 데이터 획득 장치에 의해 얻어진 3차원 데이터들을 데이터가공부(미도시)에 의해 가공된 3차원 데이터를 이용할 수 있다.
가공된 3차원 데이터란, 레이저 스캐너에 의해 다각도에서 촬영된 데이터가 특정 부분에 몰리거나, 주변의 환경적인 영향으로 데이터의 손실이 있을 경우, 또는 다각도에서 촬영된 레이저 스캐너에 의한 데이터들이 특정 부분에 과도하게 병합되는 경우 등에 있어서, 결과물을 얻을 수 있을 정도의 데이터만으로 필터링한 데이터들을 의미한다.
즉, 데이터가공부(미도시)에 의해 가공된 3차원 데이터를 구성하는 점들은 3차원 데이터 획득 장치에 의해 얻어진 데이터를 구성하는 점들의 수보다 작을 수 있다.
상술한 데이터가공부(미도시)에 의해 가공된 3차원 데이터를 이용한 시스템은 가공되지 않은 3차원 데이터를 이용한 시스템에 비하여, 처리할 데이터들의 양이 줄어들게 되므로, 시간과 비용을 감축시키는 효과가 있다.
이웃점선정부(120)는 각 객체마다 각 객체를 구성하는 점들 중에서 씨앗점(seed point)을 선정하고, 상기 씨앗점(seed point)의 법선벡터와 기설정된 각도 범위 이내의 법선벡터를 가지는 점들을 이웃점(neighboring point)으로 선정한다.
객체분류부(130)는 상기 씨앗점(seed point)과 상기 이웃점(neighboring point)이 구성하는 객체의 곡률을 산출하고, 산출된 곡률을 기초로 상기 객체의 직경을 산출한 후, 상기 객체의 직경을 실제 객체들의 정보를 포함하는 데이터와 비교하여 상기 객체를 특정의 객체로 판단한다.
이하에서 상기 구성요소들에 대해 자세히 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템에 적용되는 3차원 데이터가 획득되는 플랜트 설비와 해당 플랜트 설비에 대해 얻어진 3차원 데이터를 도시한 도면이고, 도 3은 본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템 및 방법에 있어서, 데이터를 분할하는 과정을 설명하기 위한 흐름도이며, 도 4는 본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템 및 방법에 있어서, 3차원 데이터의 한 점에 대응되는 법선벡터 및 이에 따른 기준평면을 추출하는 방법을 설명하기 위한 도면이다.
또한, 도 5는 본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템 및 방법에 있어서, 데이터 분할과정에 의해 분할된 객체들을 도시한 도면이다.
도 2 내지 도 5를 참조하면,
데이터분할부(110)가 3차원 데이터를 구성하는 모든 점들에 대해 제1기준개수의 최근접 이웃점(예를 들면, K₁=30개)을 선정한 후 모든 점들의 법선벡터와 잔여값을 계산한다(S200).
이때 데이터분할부(110)는 3차원 데이터를 구성하는 각 점들의 법선벡터와 잔여값을 구하기 위해, 3차원 데이터를 구성하는 점들 중에서 법선벡터와 잔여값을 계산할 대상점을 결정하고, 결정된 대상점으로부터 가장 가까운 K₁개의 이웃점들을 최근접 이웃(k Nearest Neighbors) 방법에 의해 선정한다.
최근접 이웃 방법은 기준 데이터로부터 가장 가까운 k개의 데이터를 찾아내는 방법이다. 이와 같이 대상점에서 가장 가까운 K₁개의 이웃점이 선정되면, 데이터 분할부(110)는 선정된 이웃점들로부터 수직거리가 가장 최소화되는 평면을 기준평면으로 결정한다.(도 4 참조)
다음으로, 데이터분할부(110)는 기준평면의 법선벡터를 대상점의 법선벡터로 결정하고, 기준평면과 K₁개의 이웃점들 사이의 수직거리의 합을 잔여값으로 계산한다.
도 4에는 3차원 데이터를 구성하는 일부 점들 중에서 상기에서 설명한 방법으로 선정된 한 점 Q와 해당 점 Q에 대응하는 기준평면 및 그의 법선벡터가 도시되어 있다.
이와 같은 방법에 의해 데이터분할부(110)는 대상점의 법선벡터와 잔여값을 산출할 수 있으며, 상술한 과정은 3차원 데이터를 구성하는 모든 점에 대해 수행된다. 여기에서, 잔여값은 낮으면 낮을수록 평면과 점들 사이의 거리가 가깝다는 것을 의미하며, 따라서 대상점과 이웃점들로 이루어진 곡면이 평면에 가까운 형태를 갖게 된다.
여기서, 3차원 데이터를 구성하는 모든 점은, 데이터가공부에 의해 가공된 3차원 데이터일 수 있으며, 3차원 데이터 획득 장치로부터 1차적으로 얻어진 데이터 즉, 가공되지 않은 데이터일 수 있다.
다음으로, 데이터분할부(110)는 객체를 구성하는 점으로 판단되지 않은 점들 중에서 잔여값이 최소인 점을 씨앗점으로 선정한다(S210). 따라서, 3차원 데이터를 구성하는 모든 점들에 대해 법선벡터와 잔여값을 산출한 이후, 최초로 씨앗점을 선정하는 시점에서는 모든 점이 객체를 구성하는 점으로 판단되지 않은 상태이므로, 3차원 데이터를 구성하는 모든 점 중에서 잔여값이 최소인 점이 씨앗점으로 선정된다. 이어서 데이터분할부(110)는 선정된 씨앗점을 기준으로 제2기준개수인 K₂개(예를 들면, 30개)의 최근접 이웃점을 선정한다(S220).
이때 최근접 이웃점은 앞서 언급한 최근접 이웃 방법에 의해 선정되며, 제2기준개수는 앞서 설명한 제1기준개수와 마찬가지로 실험적으로 결정될 수 있다.
다음으로, 데이터분할부(110)는 씨앗점에 대해 선정된 각각의 최근접 이웃점의 법선벡터와 씨앗점의 법선벡터 사이의 각도가 사전에 설정되어 있는 제1 임계값(예를 들면, 30°) 보다 작은 최근접 이웃점을 씨앗점과 동일한 객체를 구성하는 점으로 판단한다(S230). 이를 수학식으로 표현하면 다음과 같다.
상기 제1 임계값은 최근접 이웃점과 씨앗점을 동일한 객체를 구성하는 점으로 판단하기 위한 통계적 데이터에 기반을 둔 값이므로, 사용자의 설정에 따라 유동적일 수 있다.
다음으로, 데이터분할부(110)는 씨앗점과 동일한 객체를 구성하는 점으로 판단된 이웃점들 중에서 잔여값이 사전에 설정되어 있는 제2 임계값보다 작은 이웃점이 존재하는지 확인한다(S240).
여기에서 제2 임계값은 3차원 데이터를 구성하는 모든 점들의 잔여값 중에서 크기가 작은 순으로 상위 5%에 해당하는 잔여값인 5로 결정되게 된다.
예를 들어, 3차원 데이터가 100개의 점으로 구성되어 있고, 각 점의 잔여값이 1~100 범위 중에서 어느 하나의 값을 갖되 서로 중복되지 않는다고 하면, 제2 임계값은 크기가 작은 순으로 상위 5%에 해당하는 잔여값인 5로 결정되게 된다.
상기 제2 임계값은 사용자의 설정에 따라 유동적일 수 있다.
만약 씨앗점과 동일한 객체를 구성하는 점으로 판단된 이웃점들 중에서 잔여값이 사전에 설정되어 있는 제2 임계값보다 작은 이웃점이 존재하면, 데이터 분할부(110)는 해당 이웃점을 새로운 씨앗점으로 선정하고(S250), 더 이상 새로운 씨앗점이 선정되지 않을 때까지 S220단계 내지 S250을 반복적으로 수행한다.
이때 새로운 씨앗점이 선정되지 않는다는 것은 더 이상 최초로 선정된 씨앗점과 동일한 객체를 구성하는 점이 존재하지 않음을 의미한다. 이와 달리 씨앗점과 동일한 객체를 구성하는 점으로 판단된 이웃점들 중에서 잔여값이 사전에 설정되어 있는 제2임계값보다 작은 이웃점이 존재하지 않는 것으로 판단되면, 데이터분할부(110)는 3차원 데이터를 구성하는 점들 중에서 객체를 구성하는 점으로 판단되지 않은 점이 존재하는지 확인한다(S260).
만약 3차원 데이터를 구성하는 점들 중에서 객체를 구성하는 점으로 판단되지 않은 점이 존재하면, 데이터분할부(110)는 3차원 데이터를 구성하는 모든 점에 대한 데이터 분할이 완료된 것으로 판단하여 데이터 분할 과정을 종료한다.
이상에서 설명한 바와 같이 데이터분할부(110)는 3차원 데이터를 구성하는 점들을 각각의 객체 단위로 분할하는 과정을 수행하며, 도 5에는 데이터분할부(110)에 의해 분할된 객체가 도시되어 있으며, 구분의 편의를 위해 각 객체는 서로 다른 색상으로 표시 될 수 있다. 도 5로부터 알 수 있듯이 3차원 데이터는 각각 유사한 평면 혹은 법선벡터의 변화가 심하지 않은 데이터들의 영역으로 분할된다.
이때 실험에 사용된 플랜트 데이터는 3차원 좌표 값으로 표현되는 100,000개의 점으로 이루어져 있으며, 여러 위치에서 획득한 3차원 데이터를 정합한 데이터일 수 있다.
또한, 상기 100,000개의 점은 데이터가공부에 의해 가공된 3차원 데이터일 수 있으며, 3차원 데이터 획득 장치로부터 1차적으로 얻어진 데이터 즉, 가공되지 않은 데이터일 수 있다.
도 6은 본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템 및 방법에 있어서, 특정 객체의 곡률을 추출하기 위한 방법을 설명하기 위한 도면이다.
도 6을 참조하여, 이웃점선정부(120)에 대하여 설명하면,
이웃점선정부(120)는 데이터분할부(110)에 의해 분할된 각 객체를 구성하는 점들 중에서 K₃개(K₃=30개)의 씨앗점을 선정하고, 선정된 씨앗점의 법선벡터와 기설정된 각도 범위 이내의 법선벡터를 가지는 점들을 이웃점으로 선정한 후 상기 선정된 이웃점들로 이루어진 곡면을 생성한다.
상세하게는 도 6을 참고하여, 이웃점선정부(120)에 대하여 설명하면,
(a) 특정 객체를 구성하는 점들 중에서 K₃개의 임의의 점(씨앗점)들을 선정한다. (도 6 (a)의 검은 점들이 씨앗점이 된다.)
(b) G부분을 확대하여 보면, (a)에서 선정한 씨앗점의 법선벡터와 기설정된 각도(±θ) 범위 이내의 법선벡터를 가지는 점들이 이웃점으로 선정된다. 선정된 각 씨앗점들의 법선벡터와 기설정된 각도 범위 이내의 법선벡터를 가지는 이웃점들의 수는 복수개이며, 각각의 씨앗점과 대응되는 이웃점의 수는 다를 수도 있고 같을 수도 있다. 즉, 기설정된 각도 범위 이내의 씨앗점 주위의 점들이 이웃점이 되며, 그 수는 범위안에 몇 개의 점들이 있는지에 의해 결정된다. (도 6 (b)의 가운데 씨앗점 주위로 이웃점이 선정된다.)
(c) 도 6 (b)를 다른 각도에서 본 씨앗점과 그 주위에 분포된 이웃점으로 씨앗점의 법선벡터를 기준으로 ±θ의 법선벡터를 가지는 점이 이웃점으로 선정된다. (도 6 (c)의 화살표는 씨앗점을 나타낸다.)
여기서, ±θ는 씨앗점과 각도 범위 내에 위치하는 이웃점을 이용하여 후술하는 방법에 의해 씨앗점과 이웃점이 구성하는 특정 객체의 직경을 산출하기 위한 최소한의 각도로, 바람직하게는 ±60°일 수 있으나, 반드시 이에 한정되는 것은 아니다.
즉, 사용자가 미리 설정한 오차 범위의 정도에 따라 θ도 유동적일 수 있다.
도 7은 본 발명의 일 실시예에 따른 3차원 데이터로부터 특정 객체를 추출하는 시스템 및 방법에 있어서, 데이터 분할 이후 특정 객체를 분류하는 과정을 설명하기 위한 흐름도이다.
도 7을 참조하면,
이웃점선정부(120)에 의해 씨앗점과 이웃점이 선정되고, 상기 씨앗점과 이웃점들로 이루어진 곡면을 생성(S300)한다.
여기에서 씨앗점과 해당 점의 이웃점들로 이루어진 곡면을 생성하는 방법은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 익히 알 수 있는 사항이므로 상세한 설명은 생략한다.
객체분류부(130)는 결정된 씨앗점 중에서 하나의 씨앗점에 대해 생성된 곡면의 곡률을 계산하여 해당 씨앗점에 대한 직경을 산출한다(S310).
이때 곡면의 곡률은 해당 곡면에 대해 산출된 최대값과 최소값을 갖는 두 개의 값 중에 서 최대값을 갖는 곡률이다. 이는 배관의 단면에 해당하는 방향의 곡률이 최대값을 갖는다고 가정하고, 각 분할 객체의 배관의 직경을 구하기 위함이다. 그리고, 씨앗점에 대응하는 직경은 곡률의 역수를 취하여 산출될 수 있다.
다음으로, 객체분류부(130)는 직경이 산출된 모든 씨앗점에 대하여 기준 직경을 기준으로 설정된 오차범위(예를 들면, 10%) 내에 포함되는 씨앗점의 개수가 제3 임계값(예를 들면, 24개)보다 큰지를 확인한다(S320). 이때 기준 직경은 3차원 데이터를 취득한 플랜트에 사용된 배관의 직경이다. 즉, 실제 객체들의 정보를 의미한다. 이를 수학식으로 표현하면 다음과 같다.
여기서, 는 3차원 데이터를 취득한 플랜트에 사용된 배관의 직경, 즉, 실제 객체들의 정보를 포함하는 데이터에 기재된 직경이고, 는 객체에 대해 결정된 씨앗점 각각에 대응하는 곡률(i=1~30)이다.
객체분류부(130)는 수학식 2를 적용한 결과 오차범위 내인 씨앗점의 개수가 제3 임계값보다 크면, 해당 객체를 비교한 기준 직경을 갖는 특정 객체로 판단한다(S330).
따라서, 객체에 대해 30개의 씨앗점을 결정하여 객체를 분류할 경우에, 객체분류부(130)는 설정된 오차 범위인 10% 이내에 해당하는 직경을 갖는 씨앗점이 24개 이상이 되면, 해당 객체를 비교한 기준 직경을 갖는 특정 객체에 해당하는 객체로 분류한다. (상기 설정된 오차 범위와 씨앗점의 개수는 사용자의 설정에 의해 유동적일 수 있다.)
예를 들면, 실제 객체들의 정보를 포함하는 데이터에 10inch의 직경을 갖는 배관들의 정보와 기타 직경을 갖는 배관들의 정보가 있는 경우, 객체분류부(130)에 의해 산출된 객체의 직경이 9inch이상~10inch미만이 13개, 10inch이상~11inch미만이 12개, 11inch초과 3개, 9inch미만이 2개인경우, 이 배관은 10inch 배관에 해당한다.
이와 달리, 오차범위 내인 씨앗점의 개수가 제3 임계값보다 작으면, 객체분류부(130)는 해당 객체를 배관이 아닌 객체로 판단하게 된다(S340).
상기 제3 임계값은 사용자의 설정에 의해 유동적일 수 있다.
이와 같은 방법에 의해 선택된 객체에 대한 분류가 완료되면, 객체분류부(130)는 분할된 객체 중에서 분류되지 않고 남은 객체가 존재하는지 확인한다(S350).
만약 남은 객체가 존재하면 객체분류부(130)는 남은 객체 중에서 하나의 객체를 선택하여 S300단계 내지 S350단계를 반복적으로 수행한다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는, ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
상기에서는 본 발명에 따른 실시예를 기준으로 본 발명의 구성과 특징을 설명하였으나 본 발명은 이에 한정되지 않으며, 본 발명의 사상과 범위 내에서 다양하게 변경 또는 변형할 수 있음은 본 발명이 속하는 기술분야의 당업자에게 명백한 것이며, 따라서 이와 같은 변경 또는 변형은 첨부된 특허청구범위에 속함을 밝혀둔다.
110: 데이터분할부
120: 이웃점선정부
130: 객체분류부
120: 이웃점선정부
130: 객체분류부
Claims (24)
- 3차원 데이터 획득 장치에 기초하여 얻어진 3차원 데이터를 구성하는 점들에 각각 대응하는 법선벡터와 잔여값을 산출하고, 상기 법선벡터와 상기 잔여값을 기초로 상기 3차원 데이터를 구성하는 점들을 객체 별로 분할하는 데이터분할부;
각 객체마다 각 객체를 구성하는 점들 중에서 씨앗점(seed point)을 선정하고, 상기 씨앗점(seed point)의 법선벡터와 기설정된 각도 범위 이내의 법선벡터를 가지는 점들을 이웃점(neighboring point)으로 선정하는 이웃점선정부; 및
상기 씨앗점(seed point)과 상기 이웃점(neighboring point)이 구성하는 객체의 곡률을 산출하고, 산출된 곡률을 기초로 상기 객체의 직경을 산출한 후, 상기 객체의 직경을 실제 객체들의 정보를 포함하는 데이터와 비교하여 상기 객체를 특정의 객체로 판단하는 객체분류부;
를 포함하는 3차원 데이터로부터 특정 객체를 추출하는 시스템.
- 제1항에 있어서,
하나의 객체를 구성하는 점들 중에서 선정된 씨앗점(seed point)의 수는 복수개이며,
각각의 씨앗점(seed point)과 대응되는 이웃점(neighboring point)의 수는 다르게 설정 가능한 3차원 데이터로부터 특정 객체를 추출하는 시스템.
- 제1항에 있어서,
상기 기설정된 각도는 상기 씨앗점(seed point)의 법선벡터를 기준으로 한 ±60°인 3차원 데이터로부터 특정 객체를 추출하는 시스템.
- 제1항에 있어서,
상기 데이터분할부에 의해 상기 법선벡터와 상기 잔여값이 산출되는 상기 3차원 데이터를 구성하는 점들을 추출하기 위해 3차원 데이터 획득 장치에 의해 얻어진 데이터를 가공하는 데이터가공부;
를 더 포함하는 3차원 데이터로부터 특정 객체를 추출하는 시스템.
- 제4항에 있어서,
상기 3차원 데이터 획득 장치에 의해 얻어진 데이터는 상기 객체를 구성하는 점들을 포함하고,
상기 데이터가공부는 상기 데이터분할부에 의해 상기 법선벡터와 상기 잔여값이 산출되는 상기 3차원 데이터를 구성하는 점들의 수를 상기 3차원 데이터 획득 장치에 의해 얻어진 데이터에 포함된 점들의 수보다 작도록 상기 3차원 데이터 획득 장치에 의해 얻어진 데이터를 가공하는 3차원 데이터로부터 특정 객체를 추출하는 시스템.
- 제1항에 있어서,
상기 실제 객체들의 정보를 포함하는 데이터는 상기 3차원 데이터의 획득 대상인 플랜트의 설비 데이터베이스에 저장되어 있는 공장배관계장도(P&ID)에 포함된 데이터를 포함하는 3차원 데이터로부터 특정 객체를 추출하는 시스템.
- 제6항에 있어서,
상기 실제 객체들의 정보를 포함하는 데이터는 상기 공장배관계장도(P&ID)에 포함된 상기 실제 객체의 데이터에 오차 범위가 설정된 데이터인 3차원 데이터로부터 특정 객체를 추출하는 시스템.
- 제1항에 있어서,
상기 특정의 객체는 배관인 3차원 데이터로부터 특정 객체를 추출하는 시스템.
- 제1항에 있어서,
상기 데이터분할부는,
상기 3차원 데이터를 구성하는 점들에 대해 제1 기준개수의 최근접 이웃점(nearest neighboring point)을 선정한 후 각각의 점들에 대해 선정된 최근접 이웃점(nearest neighboring point)들부터 수직 거리가 최소가 되는 평면을 각각의 점들에 대응하는 기준평면으로 결정하고,
상기 각각의 점들에 대응하는 기준평면과 상기 각각의 점들에 대해 선정된 이웃점들 사이의 수직거리의 합을 상기 각각의 점들에 대응하는 잔여값으로 결정하며,
상기 각각의 점들에 대응하는 기준평면의 법선벡터를 상기 각각의 점들에 대응하는 법선벡터로 결정하는 3차원 데이터로부터 특정 객체를 추출하는 시스템.
- 제9항에 있어서,
상기 데이터분할부는,
객체를 구성하는 점으로 판단되지 않은 점들 중에서 잔여값이 최소인 점을 씨앗점(seed point)으로 선정한 후 상기 선정된 씨앗점(seed point)을 기준으로 제2 기준개수의 최근접 이웃점(nearest neighboring point)을 선정하고, 상기 씨앗점(seed point)에 대해 선정된 각각의 최근접 이웃점(nearest neighboring point)의 법선벡터와 상기 선정된 씨앗점(seed point)의 법선벡터 사이의 각도가 기설정된 제1 임계값보다 작은 최근접 이웃점(nearest neighboring point)을 상기 선정된 씨앗점(seed point)과 동일한 객체를 구성하는 점으로 판단하는 3차원 데이터로부터 특정 객체를 추출하는 시스템.
- 제10항에 있어서,
상기 데이터분할부는,
상기 씨앗점(seed point)과 동일한 객체를 구성하는 점으로 판단된 이웃점(neighboring point)들 중에서 잔여값이 기설정된 제2 임계값보다 작은 이웃점(neighboring point)을 새로운 씨앗점(seed point)으로 선정한 후 상기 선정된 새로운 씨앗점(seed point)을 기준으로 상기 제2 기준개수의 최근접 이웃점(nearest neighboring point)을 선정하고, 상기 새로운 씨앗점(seed point)에 대해 선정된 각각의 최근접 이웃점(nearest neighboring point)의 법선벡터와 상기 새로운 씨앗점(seed point)의 법선벡터 사이의 각도가 상기 제1 임계값보다 작은 최근접 이웃점(nearest neighboring point)을 상기 새로운 씨앗점(seed point )과 동일한 객체를 구성하는 점으로 판단하는 3차원 데이터로부터 특정 객체를 추출하는 시스템.
- 제1항에 있어서,
상기 객체분류부는 상기 씨앗점(seed point)과 상기 이웃점(neighboring point)들로 이루어진 곡면을 생성하고, 상기 곡면으로부터 상기 곡면이 포함된 객체의 곡률을 산출하는 3차원 데이터로부터 특정 객체를 추출하는 시스템.
- 3 차원 데이터 획득 장치에 기초하여 얻어진 3 차원 데이터로부터 특정 객체를 추출하는 방법에 있어서,
3차원 데이터를 구성하는 점들에 각각 대응하는 법선벡터와 잔여값을 산출하고, 상기 법선벡터와 상기 잔여값을 기초로 상기 3차원 데이터를 구성하는 점들을 객체 별로 분할하는 제1 단계;
상기 분할된 각 객체를 구성하는 점들 중에서 씨앗점(seed point)을 선정하고, 상기 씨앗점(seed point)의 법선벡터와 기설정된 각도 범위 이내의 법선벡터를 가지는 점들을 이웃점(neighboring point)으로 선정하는 제2 단계; 및
상기 씨앗점(seed point)과 상기 이웃점(neighboring point)이 구성하는 객체의 곡률을 산출하고, 산출된 곡률을 기초로 상기 객체의 직경을 산출한 후, 상기 객체의 직경을 실제 객체들의 정보를 포함하는 데이터와 비교하여 상기 객체를 특정의 객체로 판단하는 제3 단계;
를 포함하는 것을 특징으로 하는 3차원 데이터로부터 특정 객체를 추출하는 방법.
- 제13항에 있어서,
상기 제2 단계는,
하나의 객체를 구성하는 점들 중에서 선정된 씨앗점(seed point)의 수는 복수개이며,
각각의 씨앗점(seed point)과 대응되는 이웃점(neighboring point)의 수는 다르게 설정 가능한 3차원 데이터로부터 특정 객체를 추출하는 방법.
. - 제13항에 있어서,
상기 제2 단계는,
상기 기설정된 각도는 상기 씨앗점(seed point)의 법선벡터를 기준으로 한 ±60°인 3차원 데이터로부터 특정 객체를 추출하는 방법.
- 제13항에 있어서,
상기 법선벡터와 상기 잔여값이 산출되는 상기 3차원 데이터를 구성하는 점들을 추출하기 위해 3차원 데이터 획득 장치에 의해 얻어진 데이터를 가공하는 단계;
를 더 포함하는 3차원 데이터로부터 특정 객체를 추출하는 방법.
- 제16항에 있어서,
상기 3차원 데이터 획득 장치에 의해 얻어진 데이터는 상기 객체를 구성하는 점들을 포함하고,
상기 데이터를 가공하는 단계는,
상기 법선벡터와 상기 잔여값이 산출되는 상기 3차원 데이터를 구성하는 점들의 수를 상기 3차원 데이터 획득 장치에 의해 얻어진 데이터에 포함된 점들의 수보다 작도록 상기 3차원 데이터 획득 장치에 의해 얻어진 데이터를 가공하는 단계인3차원 데이터로부터 특정 객체를 추출하는 방법.
- 제13항에 있어서,
상기 실제 객체들의 정보를 포함하는 데이터는 상기 3차원 데이터의 획득 대상인 플랜트의 설비 데이터베이스에 저장되어 있는 공장배관계장도(P&ID)에 포함된 데이터를 포함하는 3차원 데이터로부터 특정 객체를 추출하는 방법.
- 제18항에 있어서,
상기 실제 객체들의 정보를 포함하는 데이터는 상기 공장배관계장도(P&ID)에 포함된 상기 실제 객체의 데이터에 오차 범위가 설정된 데이터인 3차원 데이터로부터 특정 객체를 추출하는 방법.
- 제13항에 있어서,
상기 특정의 객체는 배관인 3차원 데이터로부터 특정 객체를 추출하는 방법.
- 제13항에 있어서,
제1 단계는,
(1-1) 상기 3차원 데이터를 구성하는 점들에 대해 제1 기준개수의 최근접 이웃점(nearest neighboring point)을 선정한 후 각각의 점들에 대해 선정된 최근접 이웃점(nearest neighboring point)들부터 수직 거리가 최소가 되는 평면을 각각의 점들에 대응하는 기준평면으로 결정하는 단계;
(1-2) 상기 각각의 점들에 대응하는 기준평면과 상기 각각의 점들에 대해 선정된 이웃점들 사이의 수직거리의 합을 상기 각각의 점들에 대응하는 잔여값으로 결정하는 단계; 및
(1-3) 상기 각각의 점들에 대응하는 기준평면의 법선벡터를 상기 각각의 점들에 대응하는 법선벡터로 결정하는 단계;
를 더 포함하는 것을 특징으로 하는 3차원 데이터로부터 특정 객체를 추출하는 방법.
- 제21항에 있어서,
제1 단계는,
(1-4) 객체를 구성하는 점으로 판단되지 않은 점들 중에서 잔여값이 최소인 점을 씨앗점(seed point)으로 선정한 후 상기 선정된 씨앗점(seed point)을 기준으로 제2 기준개수의 최근접 이웃점(nearest neighboring point)을 선정하는 단계; 및
(1-5) 상기 씨앗점(seed point)에 대해 선정된 각각의 최근접 이웃점(nearest neighboring point)의 법선벡터와 상기 선정된 씨앗점(seed point)의 법선벡터 사이의 각도가 기설정된 제1 임계값보다 작은 최근접 이웃점(nearest neighboring point)을 상기 선정된 씨앗점(seed point)과 동일한 객체를 구성하는 점으로 판단하는 단계;
를 포함하는 것을 특징으로 하는 3차원 데이터로부터 특정 객체를 추출하는 방법.
- 제22항에 있어서,
제1 단계는,
(1-6) 상기 씨앗점(seed point)과 동일한 객체를 구성하는 점으로 판단된 이웃점(neighboring point)들 중에서 잔여값이 기설정된 제2 임계값보다 작은 이웃점(neighboring point)을 새로운 씨앗점(seed point)으로 선정한 후 상기 선정된 새로운 씨앗점(seed point)을 기준으로 상기 제2 기준개수의 최근접 이웃점(nearest neighboring point)을 선정하는 단계; 및
(1-7) 상기 새로운 씨앗점(seed point)에 대해 선정된 각각의 최근접 이웃점(nearest neighboring point)의 법선벡터와 상기 새로운 씨앗점(seed point)의 법선벡터 사이의 각도가 상기 제1 임계값보다 작은 최근접 이웃점(nearest neighboring point)을 상기 새로운 씨앗점(seed point )과 동일한 객체를 구성하는 점으로 판단하는 단계;
를 포함하는 것을 특징으로 하는 3차원 데이터로부터 특정 객체를 추출하는 방법.
- 제13항에 있어서,
제3 단계는,
상기 씨앗점(seed point)과 상기 이웃점(neighboring point)들로 이루어진 곡면을 생성하고, 상기 곡면으로부터 상기 곡면이 포함된 객체의 곡률을 산출하는 3차원 데이터로부터 특정 객체를 추출하는 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130128090A KR101364375B1 (ko) | 2013-10-25 | 2013-10-25 | 3차원 데이터로부터 특정 객체를 추출하는 시스템 및 방법. |
US14/313,592 US20150120251A1 (en) | 2013-10-25 | 2014-06-24 | System for 3d reconstruction of as-built industrial model from 3d data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130128090A KR101364375B1 (ko) | 2013-10-25 | 2013-10-25 | 3차원 데이터로부터 특정 객체를 추출하는 시스템 및 방법. |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101364375B1 true KR101364375B1 (ko) | 2014-02-18 |
Family
ID=50271325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130128090A KR101364375B1 (ko) | 2013-10-25 | 2013-10-25 | 3차원 데이터로부터 특정 객체를 추출하는 시스템 및 방법. |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101364375B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101493659B1 (ko) | 2014-11-18 | 2015-02-16 | 중앙대학교 산학협력단 | 3차원 스캐닝 데이터를 이용한 배관 모델링 방법 및 장치 |
KR101890536B1 (ko) | 2017-11-22 | 2018-08-21 | 중앙대학교 산학협력단 | 건설 시공 단계에서의 3차원 설계 모델 데이터와 레이저 스캔 데이터 간 비교 분석을 위한 차별적 데이터 감소 방법 및 시스템 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020186880A1 (en) | 2001-03-28 | 2002-12-12 | Penev Penio S. | Fast optimal linear approximation of the images of variably illuminated solid objects for recognition |
US20090096790A1 (en) | 2007-10-11 | 2009-04-16 | Mvtec Software Gmbh | System and method for 3d object recognition |
US8059890B2 (en) | 2005-03-04 | 2011-11-15 | Bach Klaus J | Method for implementing n-dimensional object recognition using dynamic adaptive recognition layers |
US20120294534A1 (en) | 2010-03-16 | 2012-11-22 | Canon Kabushiki Kaisha | Geometric feature extracting device, geometric feature extracting method, storage medium, three-dimensional measurement apparatus, and object recognition apparatus |
-
2013
- 2013-10-25 KR KR1020130128090A patent/KR101364375B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020186880A1 (en) | 2001-03-28 | 2002-12-12 | Penev Penio S. | Fast optimal linear approximation of the images of variably illuminated solid objects for recognition |
US8059890B2 (en) | 2005-03-04 | 2011-11-15 | Bach Klaus J | Method for implementing n-dimensional object recognition using dynamic adaptive recognition layers |
US20090096790A1 (en) | 2007-10-11 | 2009-04-16 | Mvtec Software Gmbh | System and method for 3d object recognition |
US20120294534A1 (en) | 2010-03-16 | 2012-11-22 | Canon Kabushiki Kaisha | Geometric feature extracting device, geometric feature extracting method, storage medium, three-dimensional measurement apparatus, and object recognition apparatus |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101493659B1 (ko) | 2014-11-18 | 2015-02-16 | 중앙대학교 산학협력단 | 3차원 스캐닝 데이터를 이용한 배관 모델링 방법 및 장치 |
KR101890536B1 (ko) | 2017-11-22 | 2018-08-21 | 중앙대학교 산학협력단 | 건설 시공 단계에서의 3차원 설계 모델 데이터와 레이저 스캔 데이터 간 비교 분석을 위한 차별적 데이터 감소 방법 및 시스템 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101388749B1 (ko) | 3차원 데이터로부터 3차원 산업 모델을 구축하는 시스템 및 방법 | |
Lee et al. | Skeleton-based 3D reconstruction of as-built pipelines from laser-scan data | |
US9430872B2 (en) | Performance prediction for generation of point clouds from passive imagery | |
CN110136156B (zh) | 一种多边形区域检测方法及装置 | |
Wunderlich et al. | Areal Deformation Analysis from TLS Point Clouds-The Challenge/Flächenhafte Deformationsanalyse Aus TLS-Punktwolken-Die Herausforderung | |
US20170038212A1 (en) | Automatic connection of images using visual features | |
JP6547903B2 (ja) | 画像処理装置、画像処理方法及び記憶媒体 | |
JP2014102810A (ja) | 被写体認識装置、被写体認識方法および被写体認識プログラム | |
CN114332291A (zh) | 一种倾斜摄影模型建筑物外轮廓规则提取方法 | |
KR101364375B1 (ko) | 3차원 데이터로부터 특정 객체를 추출하는 시스템 및 방법. | |
US9443312B2 (en) | Line parametric object estimation | |
CN107818338B (zh) | 一种面向地图综合的建筑物群组模式识别的方法及系统 | |
US8612183B2 (en) | Analysis model generation system | |
JP6397386B2 (ja) | 領域分割処理装置、方法、及びプログラム | |
KR102042343B1 (ko) | 3차원 스캐닝을 통해 획득된 점군 데이터 기반에서 깊이 이미지를 생성하는 장치 및 방법 및 이를 이용한 3차원 객체 식별 방법 | |
KR101989700B1 (ko) | 3차원 스캐닝을 통해 획득된 점군 데이터를 기반으로 피팅을 모델링하기 위한 3차원 모델링 장치 및 방법 | |
CN113378864B (zh) | 一种锚框参数的确定方法、装置、设备及可读存储介质 | |
Kawashima et al. | Automatic recognition of piping system from laser scanned point clouds using normal-based region growing | |
KR101419334B1 (ko) | 3차원 데이터로부터 검출 대상체를 추출하는 장치 및 방법 | |
KR101644426B1 (ko) | 변형3d모델에 대응되는 원본3d모델 인식방법 | |
KR101621858B1 (ko) | 정점과 구조물이 위치하는 지점 간의 수평거리를 산출하는 장치 및 방법 | |
KR101091061B1 (ko) | 수치지도 상 공간객체의 위치유사도 측정방법 및 이를 이용한 지도 매칭방법 | |
Szombara | Comparison of methods used in cartography for the skeletonisation of areal objects | |
EP3076370A1 (en) | Method and system for selecting optimum values for parameter set for disparity calculation | |
JP6320806B2 (ja) | 三次元モデル検索方法、及び三次元モデル検索システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170209 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20171227 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20181122 Year of fee payment: 6 |