KR20200098596A - 입체를 인식하기 위한 프로그램, 시스템, 전자 장치 및 방법 - Google Patents
입체를 인식하기 위한 프로그램, 시스템, 전자 장치 및 방법 Download PDFInfo
- Publication number
- KR20200098596A KR20200098596A KR1020207019811A KR20207019811A KR20200098596A KR 20200098596 A KR20200098596 A KR 20200098596A KR 1020207019811 A KR1020207019811 A KR 1020207019811A KR 20207019811 A KR20207019811 A KR 20207019811A KR 20200098596 A KR20200098596 A KR 20200098596A
- Authority
- KR
- South Korea
- Prior art keywords
- query
- parts
- data
- database
- dimensional
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
- G06F16/24565—Triggers; Constraints
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
- G06F16/532—Query formulation, e.g. graphical querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30204—Marker
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Architecture (AREA)
- Computational Linguistics (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
- Processing Or Creating Images (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
단일의 화상으로부터 입체 형상을 인식하는 것이 가능한 프로그램을 제공한다. 본 발명은, 미리 정해진 복수의 부품으로 구성되는 실 공간에서의 입체를 인식하기 위한 프로그램이며, 해당 프로그램은 해당 입체를 촬영하기 위한 촬영 장치를 구비하는 전자 장치에서 실행되는 것이며, 해당 전자 장치에, 화상 인식 단계와, 쿼리 생성 단계와, 데이터 취득 단계와, 부품 배치 단계와, 정합성 판정 단계와, 상기 정합성이 있다고 판정된 경우, 입체 인식 단계와, 상기 정합성이 없다고 판정된 경우, 데이터 베이스 기억 단계와, 쿼리 재생성 결정 단계와, 쿼리 재생성 단계를 실행시키는 프로그램이다.
Description
본 발명은, 입체를 인식하기 위한 프로그램, 시스템, 전자 장치, 및 방법에 관한 것이며, 특히, 미리 정해진 복수의 부품으로 구성되는 실 공간에서의 입체를 인식하기 위한 프로그램, 시스템, 전자 장치, 및 방법에 관한 것이다.
촬영된 평면 화상으로부터, 현실 공간의 3 차원 물체의 입체 형상을 인식하는 기술이 알려져 있다. 그러나, 입체 형상을 평면에 투영하면, 깊이 또는 숨겨진 면에 대한 입체적인 정보가 없어지므로, 단일의 평면 화상으로부터 입체 형상을 직접 인식할 수 없다. 종래, 상이한 시점(視点)에서 촬영된 복수의 화상의 대응을 행함으로써 입체 정보를 귀납적으로 추정하여 형상 인식하는 기술이나, 특정의 구조물을 대상으로 하여 대상의 사전 지식으로부터 입체 정보를 연역적으로 추정하여 형상 인식하는 기술이 개발되어져 왔다.
예를 들면, 비특허 문헌 1에는, Structure from Motion(SfM)이라고 불리는 기술을 이용하여, 복수의 화상의 대응에 의해 형상 인식하는 기술이 개시되어 있다. 또한, 예를 들면, 비특허 문헌 2에는, 단일의 화상을 입력으로 하여, 인체 및 표정 등 특정의 대상을 가정하여 형상 인식하는 기술이 개시되어 있다. 해당 기술은, 인간의 표정이 대역적으로는 비슷하여 국소적인 차이가 많이 있음에 주목하여, 기존의 3D 모델을 변형시킴으로써, 입력 화상에 대응하는 3D 모델을 구축하는 것이다.
Marc Pollefeys, Luc Van Gool, Maarten Vergauwen, Frank Verbiest, Kurt Cornelis, Jan Tops, Reinhard Koch. 2004. Visual Modeling with a Hand-Held Camera. International Journal of Computer Vision.
Ira Kemelmacher-Shlizerman, Ronen Basri. 2011. 3D face reconstruction from a single image using a single reference face shape. IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE.
그러나, 비특허 문헌 1이 개시하는 기술은, 유저가 복수 회의 촬영을 행하거나, 또는 복수 대의 카메라를 이용하여 촬영을 행할 필요가 있어, 유저 조작이 복잡화된다. 또한, 비특허 문헌 2가 개시하는 기술은, 구조물을 이미 알고 있음을 전제로 하므로, 유저가 자유롭게 작성하는 것과 같은 구조물의 인식에는 적용할 수 없다. 이와 같이, 자유로운 형상의 구조물을 대상으로 한, 단일의 평면 화상으로부터의 입체 형상 인식 기술은, 유효한 것이 아직 확립되어 있지 않다.
본 발명은, 이러한 과제를 해결하기 위하여 이루어진 것이며, 단일의 화상으로부터 입체 형상을 인식하는 것이 가능한 프로그램 등을 제공하는 것을 주 목적으로 한다.
상기의 목적을 달성하기 위하여, 본 발명의 일 태양으로서의 프로그램은, 미리 정해진 복수의 부품으로 구성되는 실 공간에서의 입체를 인식하기 위한 프로그램이며, 해당 프로그램은 해당 입체를 촬영하기 위한 촬영 장치를 구비하는 전자 장치에서 실행되는 것이며, 해당 전자 장치에, 상기 촬영 장치에 의해 촬영된 화상으로부터 각 부품을 식별 가능한 특징을 각각 추출하고, 해당 특징에 기초하여 부품의 각각의 ID 및 해당 부품의 위치 데이터를 취득하는 화상 인식 단계와, 상기 특징에 기초하여 취득된 부품의 각각의 ID를 포함하는 쿼리를 생성하는 쿼리 생성 단계와, 쿼리가 생성된 경우, 해당 쿼리를 이용하여, 각 부품의 ID, 각 부품의 3 차원 모델, 및 각 부품 간의 접합 제약 조건을 나타내는 제약 데이터를 연동하여 기억하는 부품 데이터 베이스로부터, 해당 쿼리가 포함하는 ID의 각각에 연동된 부품 각각의 3 차원 모델 및 제약 데이터를 취득하는 데이터 취득 단계와, 상기 취득된 부품 각각의 위치 데이터, 3 차원 모델, 및 제약 데이터에 기초하여 상기 실 공간과 대응시킨 가상 공간에 각 부품을 배치하는 부품 배치 단계와, 상기 배치된 각 부품의 위치 관계에 기초하여, 상기 배치된 각 부품의 위치의 정합성을 판정하는 정합성 판정 단계와, 상기 정합성이 있다고 판정된 경우, 상기 배치된 각 부품의 위치에 기초하여 입체를 인식하는 입체 인식 단계와, 상기 정합성이 없다고 판정된 경우, 상기 데이터 취득 단계에서 이용한 쿼리 중, 적어도 부품 각각의 ID를 포함하는 쿼리 보존용 데이터를 이력 데이터 베이스에 기억하는 데이터 베이스 기억 단계와, 상기 이력 데이터 베이스가 기억하는 쿼리 보존용 데이터 및 상기 부품 데이터 베이스가 기억하는 데이터에 기초하여, 쿼리를 재생성할지의 여부를 결정하는 쿼리 재생성 결정 단계와, 쿼리를 재생성한다고 결정된 경우, 상기 이력 데이터 베이스가 기억하는 쿼리 보존용 데이터와 상이한 데이터를 포함하는 쿼리를 생성하는 쿼리 재생성 단계를 실행시키는 것을 특징으로 한다.
또한, 본 발명에서 바람직하게는, 상기 프로그램은, 상기 전자 장치에, 상기 화상 인식 단계 전에, 상기 이력 데이터 베이스가 기억하는 쿼리 보존용 데이터를 소거하는 데이터 베이스 초기화 단계를 실행시킨다.
또한, 본 발명에서 바람직하게는, 상기 부품 배치 단계는, 상기 취득된 부품 각각의 위치 데이터 및 3 차원 모델을 이용하여 상기 가상 공간에 각 부품을 배치하고, 상기 가상 공간 상에 있어서의 인접하는 부품의 각각에 있어서, 상기 접합 제약 조건을 충족시키도록 각 부품의 위치를 조정하여 배치한다.
또한, 본 발명에서 바람직하게는, 상기 부품 배치 단계는, 상기 가상 공간 상에 배치된 부품 중 2 개의 부품의 3 차원 모델 간의 길이가 소정 값 이내인지의 여부에 기초하여 2 개의 부품이 인접하는지의 여부를 판정한다.
또한, 본 발명에서 바람직하게는, 상기 위치는 6 자유도 위치이다.
또한, 본 발명에서 바람직하게는, 각 부품을 식별 가능한 상기 특징은, 각 부품이 부품 표면에 가지는 AR 마커이다.
또한, 본 발명에서 바람직하게는, 상기 데이터 취득 단계는, 쿼리가 생성된 경우, 해당 쿼리를 이용하여, 상기 부품 데이터 베이스로부터, 해당 쿼리가 포함하는 ID의 각각에 연동된 부품 각각의 3 차원 모델 및 제약 데이터를, 해당 ID에 대응시켜 해당 쿼리에 각각 추가함으로써 취득한다.
또한, 본 발명에서 바람직하게는, 상기 정합성 판정 단계는, 상기 배치된 각 부품의 3 차원 모델이 차지하는 영역의 중복 정도에 기초하여, 상기 배치된 각 부품의 위치의 정합성을 판정한다.
또한, 본 발명에서 바람직하게는, 상기 화상 인식 단계는, 상기 촬영 장치에 의해 촬영된 화상으로부터 상기 입체의 베이스 부분을 형성하는 베이스부를 인식하고, 상기 부품 배치 단계는, 해당 베이스부를 상기 가상 공간 상에 배치하고, 상기 정합성 판정 단계는, 상기 배치된 각 부품의 위치와 상기 베이스부의 위치와의 위치 관계로부터 상기 배치된 각 부품이 중력에 따른 배치인지의 여부를 판정하고, 해당 판정에 더 기초하여 정합성을 판정한다.
또한, 본 발명에서 바람직하게는, 상기 정합성 판정 단계는, 상기 촬영 장치에 의해 촬영된 화상과, 상기 배치된 각 부품의, 상기 촬영 장치의 위치에 대응하는 상기 가상 공간의 위치에 배치된 가상 카메라에서 본 화상과의 일치도에 기초하여 정합성을 판정한다.
또한, 본 발명에서 바람직하게는, 상기 데이터 베이스 기억 단계는, 상기 쿼리 보존용 데이터가 포함하는 부품 각각의 ID에 연동하고, 상기 배치된 각 부품의 위치를 상기 이력 데이터 베이스에 더 기억한다.
또한, 본 발명에서 바람직하게는, 상기 쿼리 재생성 결정 단계는, 상기 이력 데이터 베이스가 기억하는 쿼리 보존용 데이터가, 상기 부품 데이터 베이스가 기억하는 부품의 ID의 소정의 조합을 포함하는지의 여부에 기초하여, 쿼리를 재생성할지의 여부를 결정한다.
또한, 본 발명에서 바람직하게는, 상기 프로그램은, 상기 전자 장치에, 쿼리를 재생성하지 않는다고 결정된 경우, 에러를 출력하는 에러 출력 단계를 더 실행시킨다.
또한, 본 발명에서 바람직하게는, 상기 데이터 베이스 기억 단계는, 상기 쿼리 보존용 데이터가 포함하는 부품 각각의 ID에 연동하고, 상기 배치된 각 부품의 위치의 정합성의 평가값을 상기 이력 데이터 베이스에 더 기억한다.
또한, 본 발명에서 바람직하게는, 상기 프로그램은, 상기 전자 장치에, 쿼리를 재생성하지 않는다고 결정된 경우, 상기 평가값에 의해 가장 높은 정합성을 가지는 상기 배치된 각 부품의 위치에 기초하여 입체를 인식하는 제2 입체 인식 단계를 실행시킨다.
또한, 본 발명에서 바람직하게는, 상기 쿼리 재생성 단계는, 상기 가상 공간 상에 배치된 부품 중 2 개의 부품의 3 차원 모델 간의 길이가 소정 값 이상인 경우, 해당 길이에 대응하는 부품의 ID를 추가한 쿼리를 생성한다.
또한, 상기의 목적을 달성하기 위하여, 본 발명의 일 태양으로서의 입체 인식 시스템은, 미리 정해진 복수의 부품으로 구성되는 실 공간에서의 입체를 인식하기 위한 입체 인식 시스템이며, 상기 입체를 촬영하기 위한 촬영 장치를 구비하는 전자 장치와, 각 부품의 ID, 각 부품의 3 차원 모델, 및 각 부품 간의 접합 제약 조건을 나타내는 제약 데이터를 연동하여 기억하는 부품 데이터 베이스와, 상기 부품 데이터 베이스에 입력되는 쿼리 중, 적어도 부품 각각의 ID를 포함하는 쿼리 보존용 데이터를 기억하는 이력 데이터 베이스와, 상기 촬영 장치에 의해 촬영된 화상으로부터 각 부품을 식별 가능한 특징을 각각 추출하고, 해당 특징에 기초하여 부품의 각각의 ID 및 해당 부품의 위치 데이터를 취득하는 화상 인식부와, 상기 특징에 기초하여 취득된 부품의 각각의 ID를 포함하는 쿼리를 생성하는 쿼리 생성부와, 쿼리가 생성된 경우, 해당 쿼리를 이용하여, 상기 부품 데이터 베이스로부터, 해당 쿼리가 포함하는 ID의 각각에 연동된 부품 각각의 3 차원 모델 및 제약 데이터를 취득하는 데이터 취득부와, 상기 취득된 부품 각각의 위치 데이터, 3 차원 모델, 및 제약 데이터에 기초하여 상기 실 공간과 대응시킨 가상 공간에 각 부품을 배치하는 부품 배치부와, 상기 배치된 각 부품의 위치 관계에 기초하여, 상기 배치된 각 부품의 위치의 정합성을 판정하는 정합성 판정부와, 상기 정합성이 있다고 판정된 경우, 상기 배치된 각 부품의 위치에 기초하여 입체를 인식하는 입체 인식부와, 상기 정합성이 없다고 판정된 경우, 상기 데이터 취득부가 이용한 쿼리 중, 적어도 부품 각각의 ID를 포함하는 쿼리 보존용 데이터를 상기 이력 데이터 베이스에 기억하는 데이터 베이스 기억부와, 상기 이력 데이터 베이스가 기억하는 쿼리 보존용 데이터 및 상기 부품 데이터 베이스가 기억하는 데이터에 기초하여, 쿼리를 재생성할지의 여부를 결정하는 쿼리 재생성 결정부와, 쿼리를 재생성한다고 결정된 경우, 상기 이력 데이터 베이스가 기억하는 쿼리 보존용 데이터와는 상이한 데이터를 포함하는 쿼리를 생성하는 쿼리 재생성부를 구비하는 것을 특징으로 한다.
또한, 상기의 목적을 달성하기 위하여, 본 발명의 일 태양으로서의 전자 장치는, 미리 정해진 복수의 부품으로 구성되는 실 공간에서의 입체를 인식하기 위한 전자 장치이며, 상기 입체를 촬영하기 위한 촬영 장치와, 각 부품의 ID, 각 부품의 3 차원 모델, 및 각 부품 간의 접합 제약 조건을 나타내는 제약 데이터를 연동하여 기억하는 부품 데이터 베이스와, 상기 부품 데이터 베이스에 입력되는 쿼리 중, 적어도 부품 각각의 ID를 포함하는 쿼리 보존용 데이터를 기억하는 이력 데이터 베이스와, 상기 촬영 장치에 의해 촬영된 화상으로부터 각 부품을 식별 가능한 특징을 각각 추출하고, 해당 특징에 기초하여 부품의 각각의 ID 및 해당 부품의 위치 데이터를 취득하는 화상 인식부와, 상기 특징에 기초하여 취득된 부품의 각각의 ID를 포함하는 쿼리를 생성하는 쿼리 생성부와, 쿼리가 생성된 경우, 해당 쿼리를 이용하여, 상기 부품 데이터 베이스로부터, 해당 쿼리가 포함하는 ID의 각각에 연동된 부품 각각의 3 차원 모델 및 제약 데이터를 취득하는 데이터 취득부와, 상기 취득된 부품 각각의 위치 데이터, 3 차원 모델, 및 제약 데이터에 기초하여 상기 실 공간과 대응시킨 가상 공간에 각 부품을 배치하는 부품 배치부와, 상기 배치된 각 부품의 위치 관계에 기초하여, 상기 배치된 각 부품의 위치의 정합성을 판정하는 정합성 판정부와, 상기 정합성이 있다고 판정된 경우, 상기 배치된 각 부품의 위치에 기초하여 입체를 인식하는 입체 인식부와, 상기 정합성이 없다고 판정된 경우, 상기 데이터 취득부가 이용한 쿼리 중, 적어도 부품 각각의 ID를 포함하는 쿼리 보존용 데이터를 상기 이력 데이터 베이스에 기억하는 데이터 베이스 기억부와, 상기 이력 데이터 베이스가 기억하는 쿼리 보존용 데이터 및 상기 부품 데이터 베이스가 기억하는 데이터에 기초하여, 쿼리를 재생성할지의 여부를 결정하는 쿼리 재생성 결정부와, 쿼리를 재생성한다고 결정된 경우, 상기 이력 데이터 베이스가 기억하는 쿼리 보존용 데이터와는 상이한 데이터를 포함하는 쿼리를 생성하는 쿼리 재생성부를 구비하는 것을 특징으로 한다.
또한, 상기의 목적을 달성하기 위하여, 본 발명의 일 태양으로서의 방법은, 미리 정해진 복수의 부품으로 구성되는 실 공간에서의 입체를 인식하기 위한, 해당 입체를 촬영하기 위한 촬영 장치를 구비하는 전자 장치에서 실행되는 방법이며, 상기 촬영 장치에 의해 촬영된 화상으로부터 각 부품을 식별 가능한 특징을 각각 추출하고, 해당 특징에 기초하여 부품의 각각의 ID 및 해당 부품의 위치 데이터를 취득하는 화상 인식 단계와, 상기 특징에 기초하여 취득된 부품의 각각의 ID를 포함하는 쿼리를 생성하는 쿼리 생성 단계와, 쿼리가 생성된 경우, 해당 쿼리를 이용하여, 각 부품의 ID, 각 부품의 3 차원 모델, 및 각 부품 간의 접합 제약 조건을 나타내는 제약 데이터를 연동하여 기억하는 부품 데이터 베이스로부터, 해당 쿼리가 포함하는 ID의 각각에 연동된 부품 각각의 3 차원 모델 및 제약 데이터를 취득하는 데이터 취득 단계와, 상기 취득된 부품 각각의 위치 데이터, 3 차원 모델, 및 제약 데이터에 기초하여 상기 실 공간과 대응시킨 가상 공간에 각 부품을 배치하는 부품 배치 단계와, 상기 배치된 각 부품의 위치 관계에 기초하여, 상기 배치된 각 부품의 위치의 정합성을 판정하는 정합성 판정 단계와, 상기 정합성이 있다고 판정된 경우, 상기 배치된 각 부품의 위치에 기초하여 입체를 인식하는 입체 인식 단계와, 상기 정합성이 없다고 판정된 경우, 상기 데이터 취득 단계에서 이용한 쿼리 중, 적어도 부품 각각의 ID를 포함하는 쿼리 보존용 데이터를 이력 데이터 베이스에 기억하는 데이터 베이스 기억 단계와, 상기 이력 데이터 베이스가 기억하는 쿼리 보존용 데이터 및 상기 부품 데이터 베이스가 기억하는 데이터에 기초하여, 쿼리를 재생성할지의 여부를 결정하는 쿼리 재생성 결정 단계와, 쿼리를 재생성한다고 결정된 경우, 상기 이력 데이터 베이스가 기억하는 쿼리 보존용 데이터와 상이한 데이터를 포함하는 쿼리를 생성하는 쿼리 재생성 단계를 포함하는 것을 특징으로 한다.
본 발명에 의하면, 단일의 화상으로부터 입체 형상을 인식할 수 있다.
도 1은, 본 발명의 일 실시 형태에 의한 입체 인식 시스템의 전체 구성도이다.
도 2는, 본 발명의 일 실시 형태에 의한 전자 장치의 하드웨어 구성을 나타내는 블럭도이다.
도 3은, 본 발명의 일 실시 형태에 의한 서버의 하드웨어 구성을 나타내는 블럭도이다.
도 4는, 본 발명의 일 실시 형태에 의한 서버의 기능 블럭도의 일예를 나타낸다.
도 5는, 본 발명의 일 실시 형태에 의한 전자 장치의 기능 블럭도의 일예를 나타낸다.
도 6은, 촬영 장치에 의한 촬영 화상의 일예를 도시하는 도면이다.
도 7은, 도 6에 도시한 촬영 화상으로부터 화상 인식부가 인식한 3 개의 부품을 도시하는 도면이다.
도 8은, 도 7에 도시한 화상 인식부가 인식한 3 개의 부품으로부터, 부품 배치부가 인접하는 2 개의 부품의 조를 각각 특정하여, 접합 제약 조건을 충족시키도록 이동 등 시킨 모습을 도시하는 도면이다.
도 9는, 도 8에 도시한 부품 배치부가 배치를 확정한 부품에 의해 입체 인식부가 인식한 구조물을 도시하는 도면이다.
도 10은, 본 발명의 일 실시 형태에 의한 입체 인식 시스템의 정보 처리를 나타내는 플로우차트이다.
도 2는, 본 발명의 일 실시 형태에 의한 전자 장치의 하드웨어 구성을 나타내는 블럭도이다.
도 3은, 본 발명의 일 실시 형태에 의한 서버의 하드웨어 구성을 나타내는 블럭도이다.
도 4는, 본 발명의 일 실시 형태에 의한 서버의 기능 블럭도의 일예를 나타낸다.
도 5는, 본 발명의 일 실시 형태에 의한 전자 장치의 기능 블럭도의 일예를 나타낸다.
도 6은, 촬영 장치에 의한 촬영 화상의 일예를 도시하는 도면이다.
도 7은, 도 6에 도시한 촬영 화상으로부터 화상 인식부가 인식한 3 개의 부품을 도시하는 도면이다.
도 8은, 도 7에 도시한 화상 인식부가 인식한 3 개의 부품으로부터, 부품 배치부가 인접하는 2 개의 부품의 조를 각각 특정하여, 접합 제약 조건을 충족시키도록 이동 등 시킨 모습을 도시하는 도면이다.
도 9는, 도 8에 도시한 부품 배치부가 배치를 확정한 부품에 의해 입체 인식부가 인식한 구조물을 도시하는 도면이다.
도 10은, 본 발명의 일 실시 형태에 의한 입체 인식 시스템의 정보 처리를 나타내는 플로우차트이다.
이하, 도면을 참조하여, 본 발명의 실시 형태에 의한 입체 인식 시스템(1)에 대하여 설명한다. 본 명세서에서는, 설명의 편의 상, 필요 이상으로 상세한 설명은 생략하는 경우가 있다. 예를 들면, 이미 잘 알려진 사항의 상세 설명 또는 실질적으로 동일한 구성에 대한 중복 설명을 생략하는 경우가 있다.
본 발명의 실시 형태에 의한 입체 인식 시스템(1)은, 형상이나 크기가 이미 알려져 있는 미리 정해진 복수의 부품(5)을 조합하여 작성된 실 공간에서의 입체를 인식하기 위한 시스템이다. 본 명세서에서, 복수의 부품(5)을 조합하여 작성된 실 공간에서의 입체를 특히 구조물이라고 부르는 경우가 있다. 본 발명의 실시 형태의 기술적 특징의 하나는, 입체 인식 시스템(1)이, 상기와 같이 작성된 구조물을 단일의 평면 화상으로부터 인식하는 것이다. 개개의 부품(5)의 형상이나 크기가 이미 알려져 있어도, 부품(5)을 자유롭게 조합하여 작성되는 구조물은 이미 알려져 있지 않음은 이해된다.
또한, 본 명세서에 있어서의 실 공간 상의 부품(5)은, 다른 부품(5)이 접촉함으로써, 또는 다른 부품(5)이 해당 부품(5) 위에 실림으로써, 실질적으로 체적이나 형상이 변하지 않는 강체(剛體)를 상정하고 있다. 또한, 본 명세서에서, 2 개의 부품(5)이 접촉하여 1 개의 구조물을 형성하는 것을, 2 개의 부품(5)이 접합한다고 한다. 예를 들면, 2 개의 부품(5)이 접합한다는 것은, 하나의 부품(5)과 다른 부품(5)이 접촉하는 것, 하나의 부품(5)과 다른 부품(5)이 감합되어 고정되는 것, 및 하나의 부품(5)이 다른 부품(5)에 실리는 것 등을 나타낸다.
도 1은, 본 발명의 일 실시 형태에 의한 입체 인식 시스템(1)의 전체 구성도이다. 도 1에 도시한 바와 같이, 입체 인식 시스템(1)은, 전자 장치(3)와 서버(4)로 구비되고, 전자 장치(3) 및 서버(4)는, 인터넷 등의 네트워크(2)에 접속되어 서로 통신 가능하다.
도 2는 본 발명의 일 실시 형태에 의한 전자 장치(3)의 하드웨어 구성을 나타내는 블럭도이다. 전자 장치(3)는, 프로세서(11), 표시 장치(12), 입력 장치(13), 촬영 장치(14), 기억 장치(15), 및 통신 장치(16)를 구비한다. 이들 각 구성 장치는 버스(17)에 의해 접속된다. 또한, 버스(17)와 각 구성 장치의 사이에는 필요에 따라 인터페이스가 개재하고 있는 것으로 한다. 본 실시 형태에서, 전자 장치(3)는 스마트폰이다. 단, 전자 장치(3)는, 상기의 구성을 구비하는 것이라면, 태블릿형 컴퓨터, 터치 패드 등의 접촉형 입력 장치를 구비하는 컴퓨터 등의 휴대 전자 단말로 할 수 있다.
프로세서(11)는, 전자 장치(3) 전체의 동작을 제어하는 것이며, 예를 들면, CPU이다. 또한, 프로세서(11)로서는, MPU 등의 전자 회로가 이용되어도 된다. 프로세서(11)는, 기억 장치(15)에 저장되어 있는 프로그램이나 데이터를 읽어들여 실행함으로써, 다양한 처리를 실행한다. 하나의 예에서는, 프로세서(11)는 복수의 프로세서로 구성된다.
표시 장치(디스플레이)(12)는, 프로세서(11)의 제어에 따라, 어플리케이션 화면이나 촬영 장치(14)에 의해 촬영된 화상 등을 전자 장치(3)의 유저에게 표시한다. 바람직하게는 액정 디스플레이이지만, 유기 EL를 이용한 디스플레이나 플라즈마 디스플레이 등이여도 된다.
입력 장치(13)는, 전자 장치(3)에 대한 유저로부터의 입력을 받아들이는 유저 인터페이스이며, 예를 들면, 터치 패널, 터치 패드, 키보드, 또는 마우스이다. 본 실시 형태에서 전자 장치(3)는 스마트폰이므로, 전자 장치(3)는 입력 장치(13)로서 터치 패널을 구비하고, 터치 패널은 표시 장치(12)로서도 기능하며, 표시 장치(12)와 입력 장치(13)는 일체가 된 구조이다. 단, 표시 장치(12)와 입력 장치(13)는, 별도의 위치에 배치되는 별개의 형태여도 된다.
촬영 장치(촬상 장치)(14)는, 실 공간의 정지 화면 또는 동영상을 촬영(촬상)하는 것이며, 촬영한 화상 또는 동영상 데이터를 기억 장치(15)에 저장한다. 촬영 장치(14)는, 예를 들면, 이미지 센서 등으로 구성되는 카메라이다.
기억 장치(15)는, 휘발성 메모리인 RAM 및 불휘발성 메모리인 ROM을 포함하는, 일반적인 스마트폰이 구비하는 기억 장치이다. 기억 장치(15)는, 외부 메모리를 포함할 수도 있다.
하나의 예에서는, 기억 장치(15)는, 주 기억 장치 및 보조 기억 장치를 포함한다. 주 기억 장치는, 정보의 고속의 읽고 쓰기가 가능한 휘발성의 기억 매체이며, 프로세서(11)가 정보를 처리할 때의 기억 영역 및 작업 영역으로서 이용된다. 보조 기억 장치는, 다양한 프로그램이나, 각 프로그램의 실행 시에 프로세서(11)가 사용하는 데이터를 저장한다. 보조 기억 장치는, 예를 들면, 하드 디스크 장치이지만, 정보를 저장할 수 있는 것이라면 어떠한 불휘발성 스토리지 또는 불휘발성 메모리여도 되고, 착탈 가능한 것이여도 상관없다. 보조 기억 장치는, 예를 들면, 오퍼레이팅 시스템(OS), 미들웨어, 어플리케이션 프로그램, 이들 프로그램의 실행에 수반하여 참조될 수 있는 각종 데이터 등을 저장한다.
통신 장치(16)는, 네트워크(2)를 통하여 서버(4) 등의 다른 컴퓨터와의 사이에서 데이터의 주고받음을 행한다. 예를 들면, 통신 장치(16)는, 이동 통신이나 무선 LAN 등의 무선 통신을 행하여, 네트워크(2)에 접속한다. 하나의 예에서는, 통신 장치(16)에 의하여, 프로그램을 서버(4)로부터 다운로드하여, 기억 장치(15)에 저장한다. 단, 통신 장치(16)는, 이더넷(등록 상표) 케이블 등을 이용한 유선 통신을 행해도 된다.
도 3은 본 발명의 일 실시 형태에 의한 서버(4)의 하드웨어 구성을 나타내는 블럭도이다. 서버(4)는, 프로세서(21), 표시 장치(22), 입력 장치(23), 기억 장치(24), 및 통신 장치(25)를 구비한다. 이들 각 구성 장치는 버스(26)에 의해 접속된다. 또한, 버스(26)와 각 구성 장치와의 사이에는 필요에 따라 인터페이스가 개재하고 있는 것으로 한다.
프로세서(21)는, 서버(4) 전체의 동작을 제어하는 것이며, 예를 들면, CPU이다. 또한, 프로세서(11)로서는, MPU 등의 전자 회로가 이용되어도 된다. 프로세서(21)는, 기억 장치(24)에 저장되어 있는 프로그램이나 데이터를 읽어들여 실행함으로써, 다양한 처리를 실행한다. 하나의 예에서는, 프로세서(21)는, 복수의 프로세서로 구성된다.
표시 장치(디스플레이)(22)는, 프로세서(21)의 제어에 따라, 어플리케이션 화면 등을 서버(4)의 사용자에게 표시한다. 입력 장치(23)는, 서버(4)에 대한 유저로부터의 입력을 받아들이는 것이며, 예를 들면, 터치 패널, 터치 패드, 키보드, 또는 마우스이다.
기억 장치(24)는, 주 기억 장치 및 보조 기억 장치를 포함한다. 주 기억 장치는, 예를 들면, RAM과 같은 반도체 메모리이다. RAM은, 정보의 고속의 읽고 쓰기가 가능한 휘발성의 기억 매체이며, 프로세서(21)가 정보를 처리할 때의 기억 영역 및 작업 영역으로서 이용된다. 주 기억 장치는, 판독 전용의 불휘발성 기억 매체인 ROM을 포함하고 있어도 된다. 이 경우, ROM은 펌 웨어 등의 프로그램을 저장한다. 보조 기억 장치는, 다양한 프로그램이나, 각 프로그램의 실행 시에 프로세서(21)가 사용하는 데이터를 저장한다. 보조 기억 장치는, 예를 들면, 하드 디스크 장치이지만, 정보를 저장할 수 있는 것이라면 어떠한 불휘발성 스토리지 또는 불휘발성 메모리여도 되고, 착탈 가능한 것이어도 상관없다. 보조 기억 장치는, 예를 들면, 오퍼레이팅 시스템(OS), 미들웨어, 어플리케이션 프로그램, 이들 프로그램의 실행에 수반하여 참조될 수 있는 각종 데이터 등을 저장한다.
바람직한 하나의 예에서는, 기억 장치(24)는 각종 데이터 베이스용의 데이터(예를 들면, 테이블) 또는 프로그램을 기억한다. 프로세서(21)의 동작 등에 의해, 각종 데이터 베이스는 실현된다. 서버(4)는, 데이터 베이스 서버 기능을 구비할 수도 있고, 한 개 또는 복수의 데이터 베이스 서버를 포함할 수도 있으며, 또는 다른 서버를 포함할 수도 있다.
통신 장치(25)는, 네트워크(2)를 통하여 전자 장치(3) 등의 다른 컴퓨터와의 사이에서 데이터의 주고받음을 행하기 위한 장치이다. 예를 들면, 통신 장치(25)는, 이더넷(등록 상표) 케이블 등을 이용한 유선 통신이나, 이동 통신, 무선 LAN 등의 무선 통신을 행하여, 네트워크(2)에 접속한다.
도 4는, 본 발명의 일 실시 형태에 의한 서버(4)의 기능 블럭도의 일예를 나타낸다. 서버(4)는, 부품 데이터 베이스(41)와, 이력 데이터 베이스(42)를 구비한다. 본 실시 형태에서는, 프로세서(21)에 의해 프로그램이 실행됨으로써 이들 기능이 실현된다. 이와 같이, 각종 기능이 프로그램 읽어들임에 의해 실현되므로, 1 개의 데이터 베이스의 일부를 다른 데이터 베이스가 가지고 있어도 된다.
전술한 대로, 입체 인식 시스템(1)은, 미리 정해진 복수의 부품(5)으로 구성되는 실 공간에서의 구조물을 인식한다. 부품 데이터 베이스(41)는, 부품(5) 각각의 부품 ID, 부품(5)의 3 차원 모델 데이터(3 차원 모델), 및 부품(5) 간의 접합 제약 조건을 나타내는 제약 데이터를 연동하여 기억한다. 전자 장치(3)는, 쿼리를 이용하여, 부품 데이터 베이스(41)로부터 데이터를 취득한다.
부품 ID는, 부품(5)을 식별하기 위한 고유의 식별 정보를 나타내는 데이터이다. 부품 데이터 베이스(41)에 기억되는 부품(5)은, 각각 부품 ID에 대응된다. 구조물은, 부품 데이터 베이스(41)에 기억되는 부품(5)의 일부 또는 전부에 의해 작성된다. 형상 및 크기가 같은 부품(5)이 복수 있는 경우, 해당 부품(5)은, 동일한 부품 ID를 가진다. 이 경우, 부품 데이터 베이스(41)는, 부품(5)의 개수를, 부품 ID에 더 연동하여 기억한다. 단, 모든 부품(5)이 상이한 부품 ID를 가지도록 구성하여, 부품 데이터 베이스(41)가 부품(5)의 개수를 포함하지 않도록 할 수도 있다.
3 차원 모델은, 부품(5)의 형상 및 크기를 정하는 데이터이며, 예를 들면, 와이어 프레임 모델 또는 폴리곤 메쉬로 표현된 데이터이다.
제약 데이터는, 부품 데이터 베이스(41)에 기억되는 부품(5) 간의 접합 제약 조건을 정하는 위치 조정용 메타 데이터이다. 접합 제약 조건은, 부품(5)을 접합할 때에 부과되는 기하학적 제약이며, 2 개의 부품(5)의 상대적인 위치 관계를 정한다.
위치 조정용 메타 데이터는, 2 개의 부품(5)의 상대적인 위치 관계에 있어서, 6 자유도(6DoF) 중, 적어도 1 개의 제약을 정하는 데이터이다. 6DoF는, 3 차원 공간 상의 입체의 위치 및 자세에 대한, 좌표와 회전 방향으로 이루어지는 자유도이다. 부품 데이터 베이스(41)는, 하나의 부품(5)의 부품 ID에, 다른 부품(5) 각각과의 제약을 정하는 위치 조정용 메타 데이터를 연동하여 기억한다.
하나의 부품(5)의 위치 조정용 메타 데이터, 즉, 하나의 부품(5)의 부품 ID에 연동되는 위치 조정용 메타 데이터는, 하나의 부품(5)과 접합할 가능성이 있는 모든 부품(5) 각각과의 제약을 정하는 데이터를 포함한다. 하나의 예에서는, 부품 데이터 베이스(41)가 하나의 부품(5)을 1 개만 포함하는 경우, 하나의 부품(5)의 부품 ID에 연동되는 위치 조정용 메타 데이터는, 하나의 부품(5) 이외의 모든 다른 부품(5) 각각과의 제약을 정하는 데이터를 포함한다. 하나의 예에서는, 부품 데이터 베이스(41)가 하나의 부품(5)을 복수 포함하는 경우, 해당 하나의 부품(5)의 부품 ID에 연동되는 위치 조정용 메타 데이터는, 하나의 부품(5)을 포함하는 모든 부품(5) 각각과의 제약을 정하는 데이터를 포함한다.
부품 데이터 베이스(41)는, 부품(5)의 3 차원 모델이나 위치 조정용 메타 데이터를, 각 부품(5)으로 공통의 좌표계를 이용하여 기억한다. 바람직하게는, 부품 데이터 베이스(41)가 기억하는 각 부품(5)마다의 3 차원 모델이나 위치 조정용 메타 데이터는, 각 부품(5)의 중앙을 원점으로 하는 3 축 좌표계에 의해 표시된다.
바람직한 하나의 예에서는, 모든 부품(5)에서 부품 표면의 임의의 점을 접합 기준점(6)으로서 정하면, 하나의 부품(5)의 위치 조정용 메타 데이터는, 하나의 부품(5)의 접합 기준점(6)에 대한 다른 부품(5)의 접합 기준점(6)의 거리와 각도의 조건에 의해 정해진다. 한 조의 부품(5) 간에 주목하면, 하나의 부품(5)의 위치 조정용 메타 데이터(alignment-data)는, 위치의 제약(positional-constraint) 및 자세의 제약(orientational-constraint)을 요소로 하는 배열로서 이하에 나타낸 식 1 내지 식 3과 같이 기술할 수 있다.
(식 1)
(식 2)
(식 3)
식 1 내지 식 3에서,
은, 하나의 부품(5)의 접합 기준점의 좌표를 나타낸다.
은, 하나의 부품(5)의 접합 기준점과 다른 부품(5)의 접합 기준점과의 x 축 방향의 거리의 최소값과 최대값을 나타낸다.
은, 하나의 부품(5)의 접합 기준점과 다른 부품(5)의 접합 기준점과의 y 축 방향의 거리의 최소값과 최대값을 나타낸다.
은, 하나의 부품(5)의 접합 기준점과 다른 부품(5)의 접합 기준점과의 z 축 방향의 거리의 최소값과 최대값을 나타낸다.
은, 하나의 부품(5)의 접합 기준점과 다른 부품(5)의 접합 기준점과의 x 축을 중심으로 한 회전 각도 차(roll의 회전 각도 차)의 최소값과 최대값을 나타낸다.
은, 하나의 부품(5)의 접합 기준점과 다른 부품(5)의 접합 기준점과의 y 축을 중심으로 한 회전 각도 차(pitch의 회전 각도 차)의 최소값과 최대값을 나타낸다.
은, 하나의 부품(5)의 접합 기준점과 다른 부품(5)의 접합 기준점과의 z 축을 중심으로 한 회전 각도 차(yaw의 회전 각도 차)의 최소값과 최대값을 나타낸다.
식 1 내지 식 3에 도시한 위치 조정용 메타 데이터는, 하나의 부품(5)과 다른 1 개의 부품(5)과의 제약을 정하는 데이터이다. 부품 데이터 베이스(41)는, 하나의 부품(5)과 접합할 가능성이 있는 모든 부품(5) 각각과의 제약을 정하는 위치 조정용 메타 데이터를, 하나의 부품(5)의 부품 ID에 연동하여 각각 기억한다. 또한, 하나의 부품(5)이 복수의 접합면을 가지는 경우, 하나의 부품(5)은, 복수의 접합 기준점을 가질 수 있다. 이 경우, 하나의 부품(5)과 다른 1 개의 부품(5)과의 제약을 정하는 데이터에 관하여, 위치 조정용 메타 데이터는, 접합 기준점마다 식 1 내지 식 3에 도시한 데이터를 가질 수 있고, 위치 및 자세의 제약 요소는, 접합 기준점에 종속하는 데이터로서 취급할 수 있다. 이하, 본 실시 형태에서는, 하나의 부품(5)의 제약 데이터는, 하나의 부품(5)과 접합할 가능성이 있는 부품(5)마다, 위치 조정용 메타 데이터를 가지는 것으로 한다. 또한, 위치 조정용 메타 데이터는, 접합 기준점(6) 및 해당 접합 기준점(6)에 종속하는 데이터로서 위치의 제약 및 자세의 제약의 요소를 가지는 것으로 한다.
하나의 예에서는, 각각이 1 개의 접합 기준점을 가지는 2 개의 부품(5)(P1와 P2)이 접합하는 경우, 각 부품(5)의 위치 조정용 데이터를 첨자에 의해 표시하면, 이하의 식이 성립한다.
(식 4)
(식 5)
(식 6)
(식 7)
(식 8)
(식 9)
입체의 회전 방향은, 축의 선택 방식의 순서에 따라 상이한 위치가 될 수 있으므로, 예를 들면, 1 개의 어플리케이션에서, 그 순서는 1 개로 정해져 있는 것으로 한다. 하나의 예에서는, 하나의 부품의 접합 기준점과 다른 임의의 부품의 접합 기준점과의 x 축 방향, y 축 방향, 및 z 축 방향의 적어도 1 개의 거리의 최소값과 최대값을 [0, ∞]으로 하고, 하나의 부품의 접합 기준점과 다른 임의의 부품의 접합 기준점과의 roll, pitch, 및 yaw의 적어도 1 개의 최소값 및 최대값을 [-180, 180]으로 한다. 이에 의하여, 제약 조건에서 일부의 자유도를 남길 수 있다. 다른 예에서는, 위치 조정용 메타 데이터가 6DoF 중 하나의 제약도 정하지 않도록 구성된다. 이 경우, 부품 데이터 베이스(41)는, 제약 데이터를 기억하지 않아도 되다.
이력 데이터 베이스(42)는, 전자 장치(3)로부터 부품 데이터 베이스(41)에 입력되는 쿼리 중, 적어도 부품 각각의 ID를 포함하는 쿼리 보존용 데이터를 기억한다. 부품 데이터 베이스(41)에 입력되는 쿼리는, 예를 들면, 전자 장치(3)가 부품 데이터 베이스(41)로부터 데이터를 검색하여 취득할 때에 이용하는 쿼리이다.
도 5는 본 발명의 일 실시 형태에 의한 전자 장치(3)의 기능 블럭도의 일예를 나타낸다. 전자 장치(3)는, 화상 인식부(31)와, 쿼리 생성부(32)와, 데이터 취득부(33)와, 부품 배치부(34)와, 정합성 판정부(35)와, 입체 인식부(36)와, 데이터 베이스 기억부(37)와, 쿼리 재생성 결정부(38)와, 쿼리 재생성부(39)를 구비한다. 본 실시 형태에서는, 프로세서(11)에 의해 프로그램이 실행됨으로써 이들 기능이 실현된다. 이와 같이, 각종 기능이 프로그램 읽어들임에 의해 실현되므로, 1 개의 파트(기능)의 일부 또는 전부를 다른 파트가 가지고 있어도 된다. 단, 각 기능의 일부 또는 전부를 실현하기 위한 전자 회로 등을 구성함으로써 하드웨어에 의해서도 이들 기능은 실현해도 된다.
최초로, 입체 인식 시스템(1)에서 이용되는 부품(5)에 대하여 설명한다. 복수의 부품(5)은, 각 부품(5)을 식별 가능한 마커를, 부품 표면에 가진다. 바람직한 하나의 예에서는, 마커는, AR 마커이며, 예를 들면, 직사각형 모양의 검정 테두리와 그 내부에 그려진 좌우 비대칭의 도트 패턴에 의해 구성된다. 이와 같이 마커는, 해당 마커가 촬영된 화상으로부터, 촬영 장치(14)로부터의 해당 마커의 위치 및 자세를 취득 가능한 형상을 가짐과 동시에, 각 부품(5)을 식별 가능한 특징 패턴을 가진다. 단, 복수의 부품(5)은, 각 부품(5)을 식별 가능한 마커 이외의, 각 부품(5)을 식별 가능한 특징을 부품 표면에 가지고 있어도 된다. 예를 들면, 복수의 부품(5)은, 각 부품(5)을 식별 가능한 특징 패턴만을 가지고, 해당 특징 패턴이, 촬영된 화상으로부터, 촬영 장치(14)로부터의 해당 특징 패턴의 위치 및 자세를 취득 가능함과 동시에, 각 부품(5)을 식별 가능하도록 구성되어도 된다.
화상 인식부(31)는, 촬영 장치(14)에 의해 촬영된 화상으로부터 각 부품(5)을 식별 가능한 마커를 각각 추출한다. 화상 인식부(31)는, 추출된 마커로부터 부품(5)의 부품 ID를 각각 취득함과 동시에, 촬영 화상에 있어서의 해당 마커의 형상 및 크기로부터, 각 부품(5)의 위치 데이터를 취득한다. 화상 인식부(31)는, 이와 같이 하여, 촬영 화상 내에 있는 각 부품(5)을 인식한다. 하나의 예에서는, 화상 인식부(31)가 취득하는 각 부품(5)의 위치 데이터는, 카메라 좌표계에 의해 표현되는 마커의 인식의 기준점의 위치이며, 촬영 장치(14)로부터의 상대 위치를 나타내는 것이다. 하나의 예에서는, 위치 데이터는, 6DoF(6 자유도)의 위치이다. 다른 예에서는, 위치 데이터는, 쿼타니온 등에 의해 표현된다. 또한, 화상 인식부(31)는 기존의 화상 인식 기술이 가지는 기능을 구비할 수 있고, 화상 인식부(31)가 취득하는 각 부품(5)의 위치 데이터는 대략적인 위치여도 된다.
부품 데이터 베이스(41)는, 부품 ID에 연동하고, 해당 부품 ID에 대응된 부품(5)의 표면에 있는 마커의 형상, 크기, 및 특징 패턴과, 해당 마커의 해당 부품(5)에 있어서의 위치를 기억한다. 마커의 부품(5)에 있어서의 위치는, 예를 들면, 화상 인식부(31)가 인식하는 마커의 인식의 기준점의 위치이며, 해당 부품(5)의 중앙을 원점으로 하는 3 축 좌표계에 의해 표시된다. 또한, 부품 데이터 베이스(41)는, 부품 ID에 연동하고, 해당 부품 ID에 대응된 부품(5)의 접합 기준점(6)의 위치를 기억한다. 접합 기준점(6)의 위치는, 마커의 부품(5)에 있어서의 위치와 마찬가지로 기억되고, 예를 들면, 해당 부품(5)의 중앙을 원점으로 하는 3 축 좌표계에 의해 표시된다.
도 6은, 촬영 장치(14)에 의한 촬영 화상의 일예를 나타내는 도면이며, 촬영 화상에는, 3 개의 부품(5(5a, 5b, 5c))으로 구성되는 구조물이 비추어져 있다. 화상 인식부(31)는, 도 6에 도시한 촬영 화상으로부터, 3 개의 마커를 추출하고, 추출한 마커로부터 3 개의 부품(5)에 대응된 부품 ID와, 해당 부품(5)의 위치 데이터를 취득함으로써, 3 개의 부품(5)을 각각 인식한다. 도 7은, 도 6에 도시한 촬영 화상으로부터 화상 인식부(31)가 인식한 3 개의 부품(5a, 5b, 5c)을 나타내는 도면이며, 3 개의 부품(5) 각각의 접합 기준점(6(6a, 6b1, 6b2, 6c))을 나타낸다. 부품(5b)은, 2 개의 접합 기준점(6b1 및 6b2)을 가짐을 확인할 수 있다. 예를 들면, 촬영 화상에 중앙의 부품의 마커가 비추어져 있지 않은 경우, 화상 인식부(31)는, 양단의 부품(5)만 인식한다.
쿼리 생성부(32)는, 화상 인식부(31)에 의해 취득된 부품 ID를 포함하는 쿼리를 생성한다. 데이터 취득부(33)는, 쿼리가 생성된 경우, 생성된 쿼리를 이용하여, 부품 데이터 베이스(41)로부터, 해당 쿼리가 포함하는 부품 ID의 각각에 연동된 부품(5) 각각의 3 차원 모델 및 제약 데이터를 취득한다.
쿼리는, 부품 ID와, 부품 ID에 종속하는 데이터를 포함하고, 예를 들면, 각 데이터를 요소로 하는 배열로서 정해진다. 부품 ID에 종속하는 데이터는, 부품 ID에 대응된 부품(5)의 위치 데이터를 포함한다. 부품(5)의 위치 데이터는, 화상 인식부(31)에 의해 취득되는 것이다. 또한, 부품 ID에 종속하는 데이터는, 3 차원 모델과, 제약 데이터를 포함한다.
데이터 취득부(33)가, 데이터를 취득할 때에 이용하는 쿼리는, 화상 인식부(31)에 의해 취득된 부품 ID와, 부품 ID에 대응된 부품(5)의 위치 데이터를 포함하고 있으면 된다. 하나의 예에서는, 데이터 취득부(33)는, 부품 데이터 베이스(41)의 검색 시에 이용한 쿼리에, 해당 쿼리가 포함하는 부품 ID에 연동된 부품(5) 각각의 3 차원 모델 및 제약 데이터를, 해당 부품 ID에 대응시켜 해당 쿼리에 각각 추가한다. 이에 의하여, 데이터 취득부(33)는, 부품 ID마다의 부품(5)의 3 차원 모델 및 제약 데이터를 취득한다.
부품 배치부(34)는, 쿼리가 포함하는 부품 ID마다, 화상 인식부(31)에 의해 취득된 위치 데이터와, 데이터 취득부(33)에 의해 취득된 3 차원 모델 및 제약 데이터에 기초하여, 실 공간과 대응시킨 가상 공간에 각 부품(5)을 배치한다. 최초로, 부품 배치부(34)는, 쿼리가 포함하는 부품 ID마다, 3 차원 모델과, 위치 데이터를 이용하여, 가상 공간에 각 부품(5)을 가상 공간 상에 배치한다.
이어서, 부품 배치부(34)는, 배치된 부품(5)의 각각이 인접하고 있는지의 여부를 판정함으로써, 배치된 부품(5) 중 인접하는 2 개의 부품(5)의 조를 각각 특정한다. 하나의 예에서는, 부품 배치부(34)는, 최초로 배치된 2 개의 부품(5)의 접합 기준점(6) 간의 길이가 소정 값 이내인지의 여부를 판정하고, 소정 값 이내인 경우, 2 개의 부품(5)은 인접하고 있다고 판정한다. 부품 배치부(34)는, 1 개의 부품(5)에 대하여 복수의 부품(5)이 인접하고 있다고 판정할 수 있다.
이어서, 부품 배치부(34)는, 인접하고 있다고 특정된 2 개의 부품(5)의 조로부터 소정의 순서로 부품(5)의 조를 선택한다. 부품 배치부(34)는, 인접하고 있다고 판정된 2 개의 부품(5)의 조의 각각에서, 접합 제약 조건을 충족시키도록, 2 개의 부품(5) 중 어느 한 쪽을 이동이나 회전(이하, 「이동 등」이라고 함)시켜, 배치를 확정한다. 이와 같이, 부품 배치부(34)는, 각 부품(5)을 조정하여 배치한다. 부품 배치부(34)는, 접합 제약 조건을 충족시키고 있는 경우, 부품(5)을 이동 등 시키지 않고 배치를 확정한다. 부품 배치부(34)는, 어느 부품(5)에도 인접하고 있지 않다고 판정된 부품(5)에 대해서는, 접합 제약 조건을 충족시키도록 이동 등 시키지 않는다.
하나의 예에서는, 부품 배치부(34)는, 우선도가 높은 부품(5)을 포함하는 2 개의 부품(5)의 조로부터 차례대로, 2 개의 부품(5)의 조를 선택한다. 이 경우, 부품 데이터 베이스(41)는, 부품 ID에 연동하고, 해당 부품 ID에 대응된 부품(5)의 우선도에 관한 우선도 정보를 더 기억한다. 부품(5)의 우선도는, 시스템 관리자에 의해 미리 정해지는 것이며, 예를 들면, 구조물을 구성함에 있어서 중요해질 수 있는 부품(5)일수록 우선도는 높게 설정된다. 데이터 취득부(33)는, 쿼리가 생성된 경우, 생성된 쿼리를 이용하여, 부품 데이터 베이스(41)로부터, 해당 쿼리가 포함하는 부품 ID의 각각에 연동된 부품(5) 각각의 우선도 정보를 더 취득한다. 다른 예에서는, 화상 인식부(31)는 부품 ID를 인식함과 동시에, 그 인식의 정확도(確度)를 산출하고, 부품 배치부(34)는, 해당 정확도가 높은 부품(5)을 포함하는 2 개의 부품(5)의 조로부터 차례대로, 2 개의 부품(5)의 조를 선택한다.
하나의 예에서는, 부품 배치부(34)는, 2 개의 부품(5) 중 한 쪽을 이동 등 시킬 필요가 있는 경우에 있어서, 어느 한 쪽의 부품(5)의 배치를 이미 확정하고 있던 경우, 확정시키지 않은 쪽의 부품(5)을, 접합 제약 조건을 충족시키도록 이동 등 시킨다. 다른 예에서는, 부품 배치부(34)는, 2 개의 부품(5) 중 한 쪽을 이동 등 시킬 필요가 있는 경우에 있어서, 양쪽 모두의 부품(5)의 배치를 이미 확정하고 있던 경우, 우선도가 낮은 부품(5) 또는 화상 인식부(31)의 인식의 정확도가 낮은 부품(5)을, 접합 제약 조건을 충족시키도록 이동 등 시킨다.
도 8은, 도 7에 도시한 화상 인식부(31)가 인식한 3 개의 부품(5)으로부터, 부품 배치부(34)가 인접하는 2 개의 부품(5)의 조를 각각 특정하여, 접합 제약 조건을 충족시키도록 이동 등 시킨 모습을 도시하는 도면이다.
정합성 판정부(35)는, 부품 배치부(34)에 의해 배치된 각 부품(5)의 위치 관계에 기초하여, 배치된 각 부품(5)의 위치의 정합성을 판정한다.
하나의 예에서는, 정합성 판정부(35)는, 배치된 각 부품(5)의 3 차원 모델이 차지하는 영역의 중복 정도에 기초하여, 배치된 각 부품(5)의 위치의 정합성을 판정한다. 구체적으로는, 정합성 판정부(35)는, 배치된 각 부품(5)의 3 차원 모델이 차지하는 영역의 중복이 (a) 소정의 체적 이내인 경우에는 정합성이 있다고 판정하고, (b) 소정의 체적을 초과하는 경우에는 정합성이 없다고 판정한다. 상기의 소정의 체적은, 제로로 할 수도 있고, 각 부품(5)의 3 차원 모델마다 정할 수도 있다.
하나의 예에서는, 화상 인식부(31)는, 촬영 장치(14)에 의해 촬영된 화상 데이터로부터 구조물이 재치되는 베이스 부분을 형성하는 베이스부를 인식한다. 예를 들면, 구조물이 책상 위에 재치되는 경우, 재치되는 책상의 표면이 베이스부가 된다. 부품 배치부(34)는, 베이스부를 가상 공간 상에 배치하고, 해당 베이스부에 대해서도, 배치된 부품(5)의 각각이 인접하고 있는지의 여부를 판정한다. 부품 배치부(34)는, 베이스부와 부품(5)을 접합 제약 조건을 충족시키도록 이동 등 시키는 경우, 부품(5) 쪽을 이동 등 시켜 배치를 확정시키는 것이 바람직하다. 정합성 판정부(35)는, 배치된 각 부품(5)의 위치와 베이스부의 위치와의 위치 관계로부터, 배치된 각 부품(5)이 중력에 따른 배치인지의 여부를 판정한다. 구체적으로는, 정합성 판정부(35)는, 중력에 따른 배치의 경우에는 정합성이 있다고 판정하고, 중력에 따른 배치가 아닌 경우에는 정합성이 없다고 판정한다.
예를 들면, 도 6에서 화상 인식부(31)가 양단의 부품(5)만 인식한 경우, 쿼리 생성부(32)가 생성하는 쿼리는 부품(5b)의 부품 ID를 포함하지 않고, 부품 배치부(34)는 부품(5a 와 5c)을 가상 공간에 배치한다. 부품 배치부(34)는, 베이스부와 부품(5c)의 위치 관계로부터 중력의 방향을 인식하고, 부품(5a)이 부품(5c)과 간극을 통하여 배치되어 있는 것으로부터, 부품(5a)이 중력에 따른 배치가 아니라고 판정하여, 정합성이 없다고 판정한다.
하나의 예에서는, 정합성 판정부(35)는, 촬영 장치(14)에 의해 촬영된 화상과, 부품 배치부(34)가 가상 공간 상에 배치한 각 부품(5)의 가상 카메라에서 본 화상과의 일치도에 기초하여 정합성을 판정한다. 구체적으로는, 정합성 판정부(35)는, 일치도가 미리 정해진 초기 설정 값 이상인 경우에는 정합성이 있다고 판정하고, 일치도가 초기 설정 값 미만인 경우에는 정합성이 없다고 판정한다. 여기서, 가상 카메라는, 촬영 장치(14)의 위치에 대응하는 가상 공간의 위치에 배치되는 것이다.
하나의 예에서는, 정합성 판정부(35)는, 정합성이 없다고 판정한 경우, 부품 배치부(34)가 배치한 각 부품(5)의 위치의 정합성의 평가값을 산출한다. 예를 들면, 해당 평가값은, 정합성 판정부(35)가 배치된 각 부품(5)의 3 차원 모델이 차지하는 영역의 중복 정도에 기초하여 판정하는 경우, 중복 영역의 체적의 소정의 체적에 대한 초과 정도에 따라 산출된다. 또한, 예를 들면, 해당 평가값은, 정합성 판정부(35)가 화상 데이터의 일치도에 기초하여 판정하는 경우, 일치하는 정도에 따라 산출된다.
또한, 상기와 같은 정합성 판정부(35)가 행하는 정합성의 판정은, 가상 공간 상에 배치된 부품(5) 전체에 대한 것이지만, 정합성 판정부(35)는, 부품(5)마다 정합성을 판정할 수 있다. 하나의 예에서는, 정합성 판정부(35)가 배치된 각 부품(5)의 3 차원 모델이 차지하는 영역의 중복 정도에 기초하여 각 부품(5)의 위치의 정합성을 판정하는 경우, 우선도가 높은 쪽의 부품(5)을 정합성 있음, 우선도가 낮은 쪽의 부품(5)을 정합성 없음이라고 판정한다.
입체 인식부(36)는, 정합성 판정부(35)에 의해 정합성이 있다고 판정된 경우, 부품 배치부(34)에 의해 배치된 각 부품(5)의 위치에 기초하여 구조물을 인식한다. 예를 들면, 입체 인식부(36)는, 부품 배치부(34)가 가상 공간에 배치한 각 부품(5)의 3 차원 모델 및 위치 데이터에 의해 구조물을 인식하여, 구조물 전체의 3 차원 모델을 인식한다. 바람직하게는, 입체 인식부(36)는, 인식한 구조물 전체의 3 차원 모델을 가상 공간 상에 재구축한다.
도 9는, 도 8에 도시한 부품 배치부(34)가 배치를 확정한 부품(5)에 의해 입체 인식부(36)가 인식한 구조물을 도시하는 도면이다. 도 6 내지 도 9에서는, 부품(5c, 5b, 5a) 순으로 우선도가 높고, 부품 배치부(34)는, 부품(5b 와 5c)의 조로 부품(5b)을 이동시키고, 부품(5b 와 5a)의 조로 부품(5a)을 이동시킨 것을 확인할 수 있다.
데이터 베이스 기억부(37)는, 정합성 판정부(35)에 의해 정합성이 없다고 판정된 경우, 쿼리 보존용 데이터를 이력 데이터 베이스(42)에 기억한다. 쿼리 보존용 데이터는, 데이터 취득부(33)가 부품 데이터 베이스(41)로부터 데이터를 취득할 때에 이용한 쿼리가 포함하는 데이터 중, 부품(5) 각각의 부품 ID 및 부품 배치부(34)가 이용한 접합 기준점(6)을 포함하는 데이터이다. 부품 배치부(34)가 이용한 접합 기준점(6)은, 부품 ID에 연동된 제약 데이터에 포함되는 접합 기준점(6) 중, 부품 배치부(34)가 접합 제약 조건의 판단에 이용한 접합 기준점(6)이다. 접합 기준점(6)에 관한 정보는, 인접하는 부품(5)마다 기억되는 위치 조정용 데이터에 포함되므로, 쿼리 보존용 데이터는, 부품 배치부(34)가 배치한 부품(5)의 인접 관계를 특정할 수 있는 것이다. 단, 쿼리 보존용 데이터는, 데이터 취득부(33)가 부품 데이터 베이스(41)로부터 데이터를 취득할 때에 이용한 쿼리가 포함하는 데이터 중, 적어도 부품(5) 각각의 부품 ID를 포함하는 데이터이면 되며, 상기 실시예로 한정되지 않는다.
하나의 예에서는, 데이터 베이스 기억부(37)는, 쿼리 보존용 데이터가 포함하는 부품 ID의 각각에 연동하고, 부품 배치부(34)가 배치한 각 부품(5)의 위치의 정합성의 평가값을 이력 데이터 베이스(42)에 더 기억한다. 이 경우, 정합성 판정부(35)가, 정합성이 없다고 판정한 경우에, 정합성의 평가값을 산출한다. 이러한 구성으로 함으로써, 모든 경우에서 정합성 판정부(35)가, 정합성이 없다고 판정한 경우에, 가장 정합성이 있는 쿼리를 이용하여, 구조물을 인식하는 것이 가능해진다.
하나의 예에서는, 데이터 베이스 기억부(37)는, 쿼리 보존용 데이터가 포함하는 부품 ID의 각각에 연동하고, 부품 배치부(34)가 배치한 각 부품(5)의 위치를 이력 데이터 베이스(42)에 더 기억한다. 이러한 구성으로 함으로써, 모든 경우에서 정합성 판정부(35)가, 정합성이 없다고 판정한 경우에, 가장 정합성이 있는 배치 시의 각 부품(5)의 위치를 이용하여, 구조물을 인식하는 것이 가능해진다.
하나의 예에서는, 쿼리 보존용 데이터는 쿼리 그 자체의 데이터이며, 데이터 베이스 기억부(37)는, 데이터 취득부(33)가 부품 데이터 베이스(41)로부터 데이터를 취득할 때에 이용한 쿼리를 그대로 이력 데이터 베이스(42)에 기억한다.
쿼리 재생성 결정부(38)는, 정합성 판정부(35)에 의해 정합성이 없다고 판정된 경우, 이력 데이터 베이스(42)가 기억하는 쿼리 보존용 데이터 및 부품 데이터 베이스(41)가 기억하는 데이터에 기초하여, 쿼리를 재생성할지의 여부를 판정한다. 구체적으로는, 쿼리 재생성 결정부(38)는, 이력 데이터 베이스(42)가 기억하는 쿼리 보존용 데이터가, 부품 데이터 베이스(41)가 기억하는 부품 ID의 일부 또는 전부의 조합 중 소정의 것을 포함하는지의 여부를 판정한다. 쿼리 재생성 결정부(38)는, 이력 데이터 베이스(42)가 기억하는 쿼리 보존용 데이터가 소정의 것을 포함하지 않는 경우, 쿼리를 재생성한다고 결정하고, 해당 쿼리 보존용 데이터가 소정의 것을 포함하는 경우, 쿼리를 재생성하지 않는다고 결정한다. 부품 ID의 조합은, 부품(5)의 배치 순서를 고려한 조합이며, 각 부품(5)은 접합 기준점(6)에서만 접합되지만, 같은 부품(5)끼리의 접합이여도 접합 기준점(6)이 상이한 접합은, 상이한 접합이다. 예를 들면, 부품(5)이 부품(A ~ D)의 4 개가 있고, 각 부품(5)이 양단에 2 개의 접합 기준점(6)을 가지는 경우, 부품 ID의 전부의 조합은, 부품(A ~ D)을 모두 이용하여 배치하는 조합이며, 384(4! Х24)대로의 조합이 있다. 이 경우, 부품 ID의 일부의 조합은, 부품(A ~ D) 중 일부를 꺼내어, 더 부품(5)의 배치 순서를 고려한 조합이다. 예를 들면, 부품 ID의 일부의 조합은, 부품(A ~ D) 중 부품(B, C)을 꺼내어 배치하는 8(2! Х22)대로의 조합 또는, 부품(A ~ D) 중 부품(A, B, C)을 꺼내어 배치하는 48(3! Х23)대로의 조합을 포함한다.
하나의 예에서는, 쿼리 재생성 결정부(38)는, 이력 데이터 베이스(42)가 기억하는 쿼리 보존용 데이터의 수량(NQ)과, 부품 데이터 베이스(41)가 기억하는 부품 ID의 모든 조합의 수량(NP)을 비교한다. 쿼리 재생성 결정부(38)는, 수량(NQ)이 수량(NP) 미만인 경우, 쿼리를 재생성한다고 결정하고, 그렇지 않은 경우, 쿼리를 재생성하지 않는다고 결정한다. 예를 들면, 부품 데이터 베이스(41)가 기억하는 부품(5)의 개수가 n이며, 각 부품(5)은 양단에 각각 접합 기준점(6)을 가지고, 구조물은 부품 데이터 베이스(41)가 기억하는 모든 부품(5)으로 구성되는 경우를 생각한다. 이 경우, 쿼리 생성부(32)가 생성 가능한 쿼리 총 수, 즉, 부품 데이터 베이스(41)가 기억하는 부품 ID의 모든 조합의 수량(NP)은, 부품(5)의 배치 패턴의 수량과 접합 기준점(6)의 수량으로부터
(식 10)
으로 표시할 수 있다. 이와 같이 쿼리 재생성 결정부(38)는, 쿼리를 재생성하는 회수를 유한하게 할 수 있다. 또한, 상기 실시예에서는, 모든 부품(5)이 2 개의 접합 기준점을 가지고, 구조물은 부품 데이터 베이스(41)가 기억하는 모든 부품(5)으로 구성되는 것으로 했으나, 이는 설명을 간단하게 하기 위한 하나의 예시이다. 구조물은 n 개 전부를 사용하지 않아도 되고, 부품(5)이 가지는 접합 기준점(6)은 2 개가 아니어도 된다.
하나의 예에서는, 화상 인식부(31)는 부품 ID를 인식할 때에 그 정확도를 산출한다. 본 예시에서는, 상기의 부품 데이터 베이스(41)가 기억하는 부품 ID의 일부 또는 전부의 조합 중 소정의 것은, 일정 값 이상의 정확도로 화상 인식부(31)에 의해 인식된 부품 ID를 포함한다.
하나의 예에서는, 부품 데이터 베이스(41)는, 부품 ID에 연동하고, 해당 부품 ID에 대응된 부품(5)의 우선도에 관한 우선도 정보를 기억한다. 본 예시에서는, 상기의 부품 데이터 베이스(41)가 기억하는 부품 ID의 일부 또는 전부의 조합 중 소정의 것은, 화상 인식부(31)에 의해 인식된 일정 값 이상의 우선도의 부품 ID를 포함한다.
쿼리 재생성부(39)는, 쿼리 재생성 결정부(38)가 쿼리를 재생성한다고 결정한 경우, 이력 데이터 베이스(42)가 기억하는 쿼리 보존용 데이터와 상이한 데이터를 포함하는 쿼리를 생성한다. 예를 들면, 부품 데이터 베이스(41)가 기억하는 부품(5)의 개수가 n이며, 각 부품(5)은 양단에 2 개의 접합 기준점(6)을 가지고, 구조물은 부품 데이터 베이스(41)가 기억하는 모든 부품(5)으로 구성되는 경우를 생각한다. 쿼리 재생성부(39)는, 식 10으로 표시되는 쿼리 생성부(32)가 생성 가능한 쿼리 중, 이력 데이터 베이스(42)가 기억하는 쿼리 보존용 데이터가 포함하는 부품 ID의 조합을 포함하지 않는 쿼리를 생성한다.
하나의 예에서는, 쿼리 재생성부(39)는, 부품 배치부(34)가 가상 공간에 배치한 부품(5) 중 2 개의 부품(5)의 3 차원 모델 간의 길이가 소정 값 이상인 경우, 해당 길이에 대응하는 부품(5)의 부품 ID를 추가한 쿼리를 생성한다. 하나의 예에서는, 화상 인식부(31)에 의한 정확도가 일정 값 미만인 부품 ID 또는 정합성이 없다고 판정된 부품 ID에 대하여, 부품 ID의 위치나 자세를 변경한 쿼리, 또는 다른 부품 ID로 치환한 쿼리를 우선적으로 생성한다. 이에 의하여, 입체 인식 시스템(1)의 정보 처리를 보다 효율화하는 것이 가능해진다.
이어서, 본 발명의 일 실시 형태에 의한 입체 인식 시스템(1)의 정보 처리에 대하여 도 10에 도시한 플로우차트를 이용하여 설명한다. 도 10에 도시한 정보 처리는, 프로그램을 전자 장치(3)로 실행시키고, 또한 프로그램을 서버(4)로 실행시킴으로써 실현된다. 본 예시에서는, 쿼리 보존용 데이터는 쿼리 그 자체를 이용한다.
스텝 101에서, 서버(4)는, 전자 장치(3)가 화상을 인식하기 전에, 이력 데이터 베이스(42)가 기억하는 쿼리를 소거한다. 이에 의하여, 서버(4)는, 이력 데이터 베이스(42)를 초기화하여, 이력 데이터 베이스(42)를 쿼리가 기억되어 있지 않은 상태로 한다.
이어서, 스텝 102에서, 화상 인식부(31)는, 촬영 장치(14)에 의해 촬영된 화상으로부터 각 부품(5)을 식별 가능한 마커를 추출하고, 추출된 마커로부터 부품(5)의 각각 대응된 부품 ID와 해당 부품(5)의 위치 데이터를 취득한다. 또한, 이 때, 화상 인식부(31)는, 촬영 장치(14)에 의해 촬영된 화상 데이터로부터 구조물이 재치되는 베이스 부분을 형성하는 베이스부를 인식한다.
이어서, 스텝 103에서, 쿼리 생성부(32)는, 스텝 102에서 취득된 각 부품 ID와, 해당 부품 ID의 각각에 종속하는 위치 데이터를 포함하는 쿼리를 생성한다.
이어서, 스텝 104에서, 데이터 취득부(33)는, 생성된 쿼리를 이용하여, 부품 데이터 베이스(41)로부터, 쿼리가 포함하는 부품 ID의 각각에 연동된 부품(5)의 3 차원 모델 및 제약 데이터를 취득한다.
이어서, 스텝 105에서, 부품 배치부(34)는, 쿼리가 포함하는 부품 ID마다, 위치 데이터와, 3 차원 모델을 이용하여, 실 공간과 대응시킨 가상 공간에 각 부품(5)을 배치한다. 또한, 부품 배치부(34)는, 베이스부를 가상 공간 상에 배치한다. 이어서, 부품 배치부(34)는, 배치된 부품(5)의 각각이 인접하고 있는지의 여부를 판정함으로써, 배치된 부품(5) 중 인접하는 2 개의 부품(5)의 조를 각각 특정한다. 부품 배치부(34)는, 인접하고 있다고 특정된 2 개의 부품(5)의 조로부터 소정의 순서로 2 개의 부품(5)의 조를 선택한다. 부품 배치부(34)는, 인접하고 있다고 특정된 2 개의 부품(5)의 조의 각각에서, 접합 제약 조건을 충족시키도록, 2 개의 부품(5) 중 어느 한 쪽을 이동 등 시켜 위치를 조정하여, 배치를 확정한다.
이어서, 스텝 106에서, 정합성 판정부(35)는, 스텝 105에서 배치된 각 부품(5)의 위치 관계에 기초하여, 구체적으로는 이하의 판정의 적어도 1 개에 의하여, 배치된 각 부품(5)의 위치의 정합성을 판정한다. 정합성 판정부(35)는, 배치된 각 부품(5)의 위치와 베이스부의 위치와의 위치 관계로부터, 배치된 각 부품(5)이 (a) 중력에 따른 배치의 경우에는 정합성이 있다고 판정하고, (b) 중력에 따른 배치가 아닌 경우에는 정합성이 없다고 판정한다. 또한, 정합성 판정부(35)는, 배치된 각 부품(5)의 3 차원 모델이 차지하는 영역의 중복이 (a) 소정의 체적 이내인 경우에는 정합성이 있다고 판정하고, (b) 소정의 체적을 초과하는 경우에는 정합성이 없다고 판정한다. 또한, 정합성 판정부(35)는, 촬영 장치(14)에 의해 촬영된 화상과, 부품 배치부(34)가 가상 공간 상에 배치한 각 부품(5)의 가상 카메라에서 본 화상과의 일치도가 (a) 초기 설정 값 이상인 경우에는 정합성이 있다고 판정하고, (b) 초기 설정 값 미만인 경우에는 정합성이 없다고 판정한다.
스텝 106에서, 모두 (a) 정합성이 있다고 판정된 경우, 본 처리는 스텝 107으로 진행하고, 입체 인식부(36)는, 스텝 105에서 배치된 각 부품(5)의 위치에 의해 구조물을 인식하여, 본 처리는 종료된다.
스텝 106에서, 1 개라도 (b) 정합성이 없다고 판정된 경우, 본 처리는 스텝 108으로 진행한다. 스텝 108에서, 데이터 베이스 기억부(37)는, 스텝 104에서 이용한 쿼리를 이력 데이터 베이스(42)에 기억하고, 본 처리는 스텝 109으로 진행한다.
스텝 109에서, 쿼리 재생성 결정부(38)는, 이력 데이터 베이스(42)가 기억하는 쿼리가, 부품 데이터 베이스(41)가 기억하는 복수의 부품(5) 각각의 부품 ID의 소정의 조합을 포함하는지의 여부를 판정한다. 쿼리 재생성 결정부(38)는, 이력 데이터 베이스(42)가 부품 ID의 소정의 조합을 포함하는 쿼리를 포함하지 않는 경우, 쿼리를 재생성한다고 결정하고, 본 처리는 스텝 110으로 진행한다. 쿼리 재생성 결정부(38)는, 이력 데이터 베이스(42)가 부품 ID의 소정의 조합을 포함하는 쿼리를 포함하는 경우, 쿼리를 재생성하지 않는다고 결정하고, 본 처리는 종료된다. 전자 장치(3)는, 쿼리를 재생성하지 않는다고 결정하고 본 처리를 종료하는 경우, 표시 장치(12) 등에 에러를 출력할 수 있다.
스텝 110에서, 쿼리 재생성부(39)는, 이력 데이터 베이스(42)가 기억하는 쿼리와 상이한 쿼리를 생성하고, 본 처리는 스텝 104으로 진행한다. 쿼리 재생성부(39)는, 부품 배치부(34)가 가상 공간에 배치한 부품(5) 중 2 개의 부품(5)의 3 차원 모델 간의 길이가 소정 값 이상인 경우, 해당 길이에 대응하는 부품(5)의 부품 ID를 추가한 쿼리를 우선적으로 생성한다.
이어서, 본 발명의 실시 형태에 의한 입체 인식 시스템(1)의 작용 효과에 대하여 설명한다. 본 실시 형태에서는, 입체 인식 시스템(1)은, 미리 준비된 부품(5)이 조합되어 작성되는 구조물을 대상으로 하여, 부품(5)마다, 부품(5)의 3 차원 모델과 접합의 방법을 나타내는 접합 제약 조건을 미리 정의하는 것이며, 이들 데이터를 부품 데이터 베이스(41)에 기억한다. 입체 인식 시스템(1)은, 표준적인 스마트폰의 카메라를 이용하여 촬영된 촬영 화상을 입력으로 하고, 해당 촬영 화상으로부터 직접 입체 형상을 인식하지 않고, 구조물을 구성하는 요소(부품(5))를 개별적으로 독립적으로 검출한다. 입체 인식 시스템(1)은, 개별적으로 검출한 부품(5)의 부품 ID를 포함하는 쿼리를 생성하고, 쿼리를 이용하여 부품 데이터 베이스(41)로부터 데이터를 취득하여, 접합 제약 조건을 충족시키도록, 각 부품(5)의 3 차원 모델을 접합하여, 가상 공간 상에 배치한다. 입체 인식 시스템(1)은, 부품 배치의 물리적 정합성을 평가하여, 적절한 배치를 얻을 때까지, 쿼리를 갱신하면서, 부품 데이터 베이스(41)에 대한 검색과 위치 조정을 반복한다.
이러한 구성으로 함으로써, 본 실시 형태에서는, 입체 인식 시스템(1)은, 단일 화상으로부터 구조물 전체의 3 차원 모델을 재구축하여, 그 입체 형상을 인식하는 것이 가능해진다. 특히, 단일 화상으로부터 직접 인식함에 있어서, 기존의 입체 형상 인식 기술로는 대응할 수 없는, 외면의 노출이 적은 부품의 공간 정보에 대해서도 추정하여, 구조물 전체의 입체 형상을 인식하는 것이 가능해진다. 이에 의하여, 본 실시 형태에서는, 구조물을 촬영한 평면 화상으로부터 입체 형상을 인식할 때의, 유저 조작의 단순함과, 구조물을 작성할 때의 자유도와의 양립이 가능해진다.
또한, 이러한 구성으로 함으로써, 본 실시 형태에서는, 입체 인식 시스템(1)은, 접합 제약 조건을 이용하여 부품(5)의 접합 위치에 대한 제한을 정함으로써, 부품(5)의 위치를 자동적으로 보정하는 기능을 가진다. 이에 의하여, 부품(5)의 조립 과정이나 화상 처리 과정에서 발생하는 노이즈를 완화하여, 보다 안정적으로 구조물을 인식하는 것이 가능해진다.
또한, 이러한 구성으로 함으로써, 본 실시 형태에서는, 입체 인식 시스템(1)은, 기존의 부품(5)만을 인식하므로, 부품(5)의 인식에 대한 기계 학습이 불필요하고, 계산 코스트를 저감하는 것이 가능해진다.
또한, 이러한 구성으로 함으로써, 본 실시 형태에서는, 입체 인식 시스템(1)은, 특별한 센서에 의거하지 않고, 표준적인 스마트폰의 카메라를 이용하여 촬영된 화상만을 입력으로 함으로써, 특별한 기재를 필요로 하지 않으므로, 염가로 실현되는 것이 가능해진다. 또한, 부품(5)은, 강체로서 형상이 변화하기 어렵다면 어떠한 재질을 사용해도 되므로, 용도와 더불어 염가로 제조하는 것이 가능해진다. 예를 들면, 던진다 및 밟는다고 하는 강한 충격이 상정되는 어플리케이션의 경우에는 목재를, 부품(5)의 작성까지 포함하여 유저에게 맡기는 어플리케이션의 경우에는 종이를 이용한다고 하듯이, 어플리케이션에 따라 적절한 재질을 선택 가능하다.
또한, 본 실시 형태에서는, 입체 인식 시스템(1)은, 쿼리를 갱신하면서 검색과 위치 조정을 반복할 때, 쿼리의 이력을 이력 데이터 베이스(42)에 기억함으로써, 같은 쿼리를 이용하여 검색하는 것을 방지한다. 이러한 구성으로 함으로써, 쿼리를 재생성하는 회수를 유한하게 하여, 입체 인식 시스템(1)의 처리를 적절히 정지시키는 것이 가능해진다. 또한, 이력 데이터 베이스(42)는 같은 쿼리를 이용한 검색을 하지 않게 하기 위하여 이용하는 것이므로, 입체 인식 시스템(1)은, 구조물의 인식 처리를 개시하기 전에, 이력 데이터 베이스(42)가 기억하는 쿼리를 소거한다.
또한, 본 실시 형태에서는, 입체 인식 시스템(1)은, 가상 공간에 최초로 배치된 2 개의 부품(5)의 접합 기준점(6) 간의 길이가 소정 값 이내인지의 여부를 판정하고, 소정 값 이내인 경우, 2 개의 부품(5)은 인접하고 있다고 판정한다. 이러한 구성으로 함으로써, 입체 인식 시스템(1)은, 소정 값 이내의 거리에 있는 2 개의 부품(5)의 조에서는, 접합 제약 조건을 충족시키도록 위치 조정을 행하고, 그렇지 않은 부품(5)에 대해서는, 접합 제약 조건을 충족시키도록 위치 조정을 행하지 않도록 하는 것이 가능해진다. 이에 의하여, 촬영 화상으로부터 어느 한 부품(5)이 검출되지 않은 경우 등에, 해당 부품(5)을 개재하도록 하여 배치된 2 개의 부품(5)에 대하여, 접합 제약 조건을 충족시키도록 위치 조정을 행해버리는 것을 방지하여, 부정합 검출을 저감하는 것이 가능해진다.
또한, 본 실시 형태에서는, 마커는, AR 마커이며, 예를 들면, 직사각형 형상의 검정 테두리와 그 내부에 그려진 좌우 비대칭의 도트 패턴에 의해 구성되고, 도트 패턴은 각 부품(5)에 의해 상이하도록 구성된다. 이에 의하여, 입체 인식 시스템(1)은, 기존의 화상 인식 기술을 이용하여, 예를 들면, 마커가 촬영된 화상에 있어서의 직사각형 형상의 검정 테두리 형상 및 크기로부터, 촬영 장치(14)로부터의 해당 마커의 위치 및 자세를 취득하는 것이 가능해진다. 또한, 입체 인식 시스템(1)은, 기존의 화상 인식 기술을 이용하여, 예를 들면, 마커가 촬영된 화상에 있어서의 도트 패턴으로부터, 각 부품(5)을 식별하는 것이 가능해진다.
또한, 본 실시 형태에서는, 쿼리는, 부품 ID와, 부품 ID에 종속하는 데이터를 포함하고, 부품 ID에 종속하는 데이터는, 부품 ID에 대응된 부품(5)의 위치 데이터와, 3 차원 모델과, 제약 데이터를 포함한다. 입체 인식 시스템(1)은, 쿼리가 생성된 경우, 해당 쿼리를 이용하여, 부품 데이터 베이스(41)로부터, 해당 쿼리가 포함하는 각 부품 ID에 연동된 부품(5) 각각의 3 차원 모델 및 제약 데이터를, 해당 부품 ID에 대응시켜 해당 쿼리에 각각 추가한다. 이와 같이 하여, 입체 인식 시스템(1)은, 부품 데이터 베이스(41)로부터, 부품(5) 각각의 3 차원 모델 및 제약 데이터를 취득한다. 이와 같이, 본 실시 형태에서는, 입체 인식 시스템(1)은, 부품 데이터 베이스(41)에 있어서의 검색, 부품 데이터 베이스(41)로부터의 데이터 취득, 및 이력 데이터 베이스(42)로의 데이터의 기억을, 쿼리를 이용하여 행한다. 이에 의하여, 입체 인식 시스템(1)의 정보 처리를 보다 효율화하는 것이 가능해진다.
또한, 본 실시 형태에서는, 입체 인식 시스템(1)은, 배치된 각 부품(5)의 3 차원 모델이 차지하는 영역의 중복 정도에 기초하여, 배치된 각 부품(5)의 위치의 정합성을 판정한다. 또한, 본 실시 형태에서는, 입체 인식 시스템(1)은, 배치된 각 부품(5)의 위치와 베이스부의 위치와의 위치 관계로부터, 배치된 각 부품(5)이 중력에 따른 배치인지의 여부를 판정한다. 또한, 본 실시 형태에서는, 입체 인식 시스템(1)은, 촬영 장치(14)에 의해 촬영된 화상과, 부품 배치부(34)가 가상 공간 상에 배치한 각 부품(5)의 가상 카메라에서 본 화상과의 일치도에 기초하여 정합성을 판정한다. 이러한 구성으로 함으로써, 본 실시 형태에서는, 입체 인식 시스템(1)은, 부품 배치의 물리적 정합성을 평가하는 것이 가능해진다. 이에 의하여, 입체 인식 시스템(1)은, 인식한 구조물이 적절한 것인지의 여부를 판단하는 것이 가능해진다.
또한, 본 실시 형태에서는, 입체 인식 시스템(1)은, 이력 데이터 베이스(42)가 기억하는 쿼리가, 부품 데이터 베이스(41)가 기억하는 부품 ID의 소정의 조합을 포함하는지의 여부를 판정한다. 부품 ID의 소정의 조합이, 일정 값 이상의 정확도로 화상 인식부(31)에 의해 인식된 부품 ID 또는 일정 값 이상의 우선도의 부품 ID를 포함하는 것인 경우, 생성하는 쿼리의 종류를 보다 한정하는 것이 가능해진다. 이에 의하여, 입체 인식 시스템(1)의 정보 처리를 보다 효율화하는 것이 가능해진다. 부품 ID의 소정의 조합이 모든 조합인 경우, 부품 데이터 베이스(41)에 기초하여 생성 가능한 전체 쿼리를 생성하는 것이 가능함과 동시에, 쿼리를 재생성하는 회수를 유한하게 하여, 입체 인식 시스템(1)의 처리를 적절히 정지시키는 것이 가능해진다.
또한, 본 실시 형태에서는, 입체 인식 시스템(1)은, 쿼리를 재생성한다고 결정한 경우, 가상 공간에 배치한 부품(5) 중, 2 개의 부품(5)의 3 차원 모델 간의 길이가 소정 값 이상인 경우, 해당 길이에 대응하는 부품(5)의 부품 ID를 추가한 쿼리를 생성한다. 이러한 구성으로 함으로써, 본 실시 형태에서는, 촬영 화상으로부터 인식할 수 없던 부품(5)을 추정하고, 해당 부품(5)을 추가한 쿼리를 우선적으로 생성함으로써, 입체 인식 시스템(1)의 정보 처리를 보다 효율화하는 것이 가능해진다.
상기의 작용 효과는, 특별히 언급이 없는 한, 다른 실시 형태 또는 다른 실시예에서도 마찬가지이다.
본 발명의 다른 실시 형태에서는, 상기에서 설명한 본 발명의 실시 형태의 기능 또는 플로우차트에 나타낸 정보 처리를 실현하는 프로그램 또는 해당 프로그램을 저장한 컴퓨터 판독 가능한 기억 매체로 할 수도 있다. 또한, 다른 실시 형태에서는, 상기에서 설명한 본 발명의 실시 형태의 기능 또는 플로우차트에 나타낸 정보 처리를 단독으로 실현하는 전자 장치로 할 수도 있다. 또한, 다른 실시 형태에서는, 상기에서 설명한 본 발명의 실시 형태의 기능 또는 플로우차트에 나타낸 정보 처리를 실현하는 방법으로 할 수도 있다. 또한, 다른 실시 형태에서는, 상기에서 설명한 본 발명의 실시 형태의 기능 또는 플로우차트에 나타낸 정보 처리를 실현하는 프로그램을 컴퓨터로 공급할 수 있는 서버로 할 수도 있다. 또한, 다른 실시 형태에서는, 상기에서 설명한 본 발명의 실시 형태의 기능 또는 플로우차트에 나타낸 정보 처리를 실현하는 가상 머신으로 할 수도 있다.
이하에 본 발명의 실시 형태의 변형예에 대하여 설명한다. 이하에서 말하는 변형예는, 모순이 생기지 않는 한, 적절히 조합하여 본 발명의 임의의 실시 형태에 적용할 수 있다.
하나의 예에서는, 하나의 부품(5)의 위치 조정용 메타 데이터는, 하나의 부품(5)의 접합 기준점에 대한 다른 임의의 부품의 접합 기준점의 거리와 각도의 조건에 의해 정해지는 것이며, 하나의 부품(5)과 다른 임의의 하나의 부품(5)과의 제약을 정하는 데이터이다. 본 예시에서는, 부품 데이터 베이스(41)는, 하나의 부품(5)과 접합하는 임의의 부품(5)과의 제약을 정하는 1 개의 위치 조정용 메타 데이터를, 하나의 부품(5)의 부품 ID에 연동하여 기억한다. 본 예시에서는, 하나의 부품(5)의 제약 데이터는, 1 개의 위치 조정용 메타 데이터를 가지고, 해당 위치 조정용 메타 데이터는, 접합 기준점(6) 및 해당 접합 기준점(6)에 종속하는 데이터로서 위치의 제약 및 자세의 제약의 요소를 가진다.
하나의 예에서는, 부품 배치부(34)는, 최초로 배치된 2 개의 부품(5)의 중심점 간의 길이가 소정 값 이내인지의 여부를 판정하고, 소정 값 이내인 경우, 2 개의 부품(5)은 인접하고 있다고 판정한다. 다른 예에서는, 부품 배치부(34)는, 최초로 배치된 2 개의 부품(5)의 강체(剛體) 간의 길이가 소정 값 이내인지의 여부를 판정하고, 소정 값 이내인 경우, 2 개의 부품(5)은 인접하고 있다고 판정한다. 어떠한 경우도, 부품 배치부(34)는, 인접하고 있다고 판정된 2 개의 부품(5)의 조로부터 소정의 순서대로 부품(5)의 조를 선택하고, 해당 조 각각에서, 접합 제약 조건을 충족시키도록, 2 개의 부품(5) 중 어느 한 쪽을 이동 등 시켜, 배치를 확정한다.
하나의 예에서는, 스텝 106에서, 정합성 판정부(35)는, 정합성이 없다고 판정한 경우, 부품 배치부(34)가 배치한 각 부품(5)의 위치의 정합성의 평가값을 산출한다. 스텝 108에서, 데이터 베이스 기억부(37)는, 쿼리 보존용 데이터가 포함하는 부품 ID의 각각에 연동하고, 부품 배치부(34)가 배치한 각 부품(5)의 위치의 정합성의 평가값을 이력 데이터 베이스(42)에 더 기억한다. 스텝 109에서, 쿼리 재생성 결정부(38)가 쿼리를 재생성하지 않는다고 결정한 경우, 전자 장치(3)는, 스텝 105에서, 평가값에 의해 가장 높은 정합성을 가지는 쿼리를 이용하여 가상 공간에 배치한 각 부품(5)의 3 차원 모델 및 위치 데이터에 의해 구조물을 인식한다. 이에 의하여, 전자 장치(3)는, 정합성이 없다고 판정된 각 부품(5)의 배치 중에서, 평가값에 의해 가장 높은 정합성을 가지는 각 부품(5)의 배치를 이용하여, 구조물 전체의 3 차원 모델을 인식하는 것이 가능해진다.
이상에서 설명한 처리 또는 동작에서, 어느 스텝에 있어서, 그 스텝에서는 아직 이용할 수 없을 데이터를 이용하고 있는 등의 처리 또는 동작 상의 모순이 생기지 않는 한, 처리 또는 동작을 자유롭게 변경할 수 있다. 또한, 이상에서 설명한 각 실시예는, 본 발명을 설명하기 위한 예시이며, 본 발명은 이들 실시예로 한정되는 것은 아니다. 본 발명은, 그 요지를 일탈하지 않는 한, 다양한 형태로 실시할 수 있다. 예를 들면, 각 장치의 외관 형상은 도시한 것에 한정되지 않는다.
1 : 입체 인식 시스템
2 : 네트워크
3 : 전자 장치
4 : 서버
5 : 부품
6 : 접합 기준점
11, 21 : 프로세서
12, 22 : 표시 장치
13, 23 : 입력 장치
14 : 촬영 장치
15, 24 : 기억 장치
16, 25 : 통신 장치
31 : 화상 인식부
32 : 쿼리 생성부
33 : 데이터 취득부
34 : 부품 배치부
35 : 정합성 판정부
36 : 입체 인식부
37 : 데이터 베이스 기억부
38 : 쿼리 재생성 결정부
39 : 쿼리 재생성부
41 : 부품 데이터 베이스
42 : 이력 데이터 베이스
2 : 네트워크
3 : 전자 장치
4 : 서버
5 : 부품
6 : 접합 기준점
11, 21 : 프로세서
12, 22 : 표시 장치
13, 23 : 입력 장치
14 : 촬영 장치
15, 24 : 기억 장치
16, 25 : 통신 장치
31 : 화상 인식부
32 : 쿼리 생성부
33 : 데이터 취득부
34 : 부품 배치부
35 : 정합성 판정부
36 : 입체 인식부
37 : 데이터 베이스 기억부
38 : 쿼리 재생성 결정부
39 : 쿼리 재생성부
41 : 부품 데이터 베이스
42 : 이력 데이터 베이스
Claims (19)
- 미리 정해진 복수의 부품으로 구성되는 실 공간에서의 입체를 인식하기 위한 프로그램으로서, 해당 프로그램은 해당 입체를 촬영하기 위한 촬영 장치를 구비하는 전자 장치에서 실행되는 것이며, 해당 전자 장치에,
상기 촬영 장치에 의해 촬영된 화상으로부터 각 부품을 식별 가능한 특징을 각각 추출하고, 해당 특징에 기초하여 부품의 각각의 ID 및 해당 부품의 위치 데이터를 취득하는 화상 인식 단계와,
상기 특징에 기초하여 취득된 부품의 각각의 ID를 포함하는 쿼리를 생성하는 쿼리 생성 단계와,
쿼리가 생성된 경우, 해당 쿼리를 이용하여, 각 부품의 ID, 각 부품의 3 차원 모델, 및 각 부품 간의 접합 제약 조건을 나타내는 제약 데이터를 연동하여 기억하는 부품 데이터 베이스로부터, 해당 쿼리가 포함하는 ID의 각각에 연동된 부품 각각의 3 차원 모델 및 제약 데이터를 취득하는 데이터 취득 단계와,
상기 취득된 부품 각각의 위치 데이터, 3 차원 모델, 및 제약 데이터에 기초하여 상기 실 공간과 대응시킨 가상 공간에 각 부품을 배치하는 부품 배치 단계와,
상기 배치된 각 부품의 위치 관계에 기초하여, 상기 배치된 각 부품의 위치의 정합성을 판정하는 정합성 판정 단계와,
상기 정합성이 있다고 판정된 경우, 상기 배치된 각 부품의 위치에 기초하여 입체를 인식하는 입체 인식 단계와,
상기 정합성이 없다고 판정된 경우,
상기 데이터 취득 단계에서 이용한 쿼리 중, 적어도 부품 각각의 ID를 포함하는 쿼리 보존용 데이터를 이력 데이터 베이스에 기억하는 데이터 베이스 기억 단계와,
상기 이력 데이터 베이스가 기억하는 쿼리 보존용 데이터 및 상기 부품 데이터 베이스가 기억하는 데이터에 기초하여, 쿼리를 재생성할지의 여부를 결정하는 쿼리 재생성 결정 단계와,
쿼리를 재생성한다고 결정된 경우, 상기 이력 데이터 베이스가 기억하는 쿼리 보존용 데이터와 상이한 데이터를 포함하는 쿼리를 생성하는 쿼리 재생성 단계
을 실행시키는 프로그램. - 제1항에 있어서,
상기 프로그램은, 상기 전자 장치에,
상기 화상 인식 단계 전에, 상기 이력 데이터 베이스가 기억하는 쿼리 보존용 데이터를 소거하는 데이터 베이스 초기화 단계를 실행시키는 프로그램. - 제1항 또는 제2항에 있어서,
상기 부품 배치 단계는, 상기 취득된 부품 각각의 위치 데이터 및 3 차원 모델을 이용하여 상기 가상 공간에 각 부품을 배치하고, 상기 가상 공간 상에 있어서의 인접하는 부품의 각각에 있어서, 상기 접합 제약 조건을 충족시키도록 각 부품의 위치를 조정하여 배치하는 프로그램. - 제3항에 있어서,
상기 부품 배치 단계는, 상기 가상 공간 상에 배치된 부품 중 2 개의 부품의 3 차원 모델 간의 길이가 소정 값 이내인지의 여부에 기초하여 2 개의 부품이 인접하는지의 여부를 판정하는 프로그램. - 제1항 내지 제4항 중 어느 한 항에 있어서,
상기 위치는 6 자유도 위치인 프로그램. - 제1항 내지 제5항 중 어느 한 항에 있어서,
각 부품을 식별 가능한 상기 특징은, 각 부품이 부품 표면에 가지는 AR 마커인 프로그램. - 제1항 내지 제6항 중 어느 한 항에 있어서,
상기 데이터 취득 단계는, 쿼리가 생성된 경우, 해당 쿼리를 이용하여, 상기 부품 데이터 베이스로부터, 해당 쿼리가 포함하는 ID의 각각에 연동된 부품 각각의 3 차원 모델 및 제약 데이터를, 해당 ID에 대응시켜 해당 쿼리에 각각 추가함으로써 취득하는 프로그램. - 제1항 내지 제7항 중 어느 한 항에 있어서,
상기 정합성 판정 단계는, 상기 배치된 각 부품의 3 차원 모델이 차지하는 영역의 중복 정도에 기초하여, 상기 배치된 각 부품의 위치의 정합성을 판정하는 프로그램. - 제1항 내지 제8항 중 어느 한 항에 있어서,
상기 화상 인식 단계는, 상기 촬영 장치에 의해 촬영된 화상으로부터 상기 입체의 베이스 부분을 형성하는 베이스부를 인식하고,
상기 부품 배치 단계는, 해당 베이스부를 상기 가상 공간 상에 배치하고,
상기 정합성 판정 단계는, 상기 배치된 각 부품의 위치와 상기 베이스부의 위치와의 위치 관계로부터 상기 배치된 각 부품이 중력에 따른 배치인지의 여부를 판정하고, 해당 판정에 더 기초하여 정합성을 판정하는 프로그램. - 제1항 내지 제9항 중 어느 한 항에 있어서,
상기 정합성 판정 단계는, 상기 촬영 장치에 의해 촬영된 화상과, 상기 배치된 각 부품의, 상기 촬영 장치의 위치에 대응하는 상기 가상 공간의 위치에 배치된 가상 카메라에서 본 화상과의 일치도에 기초하여 정합성을 판정하는 프로그램. - 제1항 내지 제10항 중 어느 한 항에 있어서,
상기 데이터 베이스 기억 단계는, 상기 쿼리 보존용 데이터가 포함하는 부품 각각의 ID에 연동하고, 상기 배치된 각 부품의 위치를 상기 이력 데이터 베이스에 더 기억하는 프로그램. - 제1항 내지 제11항 중 어느 한 항에 있어서,
상기 쿼리 재생성 결정 단계는, 상기 이력 데이터 베이스가 기억하는 쿼리 보존용 데이터가, 상기 부품 데이터 베이스가 기억하는 부품의 ID의 소정의 조합을 포함하는지의 여부에 기초하여, 쿼리를 재생성할지의 여부를 결정하는 프로그램. - 제1항 내지 제12항 중 어느 한 항에 있어서,
상기 프로그램은, 상기 전자 장치에,
쿼리를 재생성하지 않는다고 결정된 경우, 에러를 출력하는 에러 출력 단계를 더 실행시키는 프로그램. - 제1항 내지 제12항 중 어느 한 항에 있어서,
상기 데이터 베이스 기억 단계는, 상기 쿼리 보존용 데이터가 포함하는 부품 각각의 ID에 연동하고, 상기 배치된 각 부품의 위치의 정합성의 평가값을 상기 이력 데이터 베이스에 더 기억하는 프로그램. - 제14항에 있어서,
상기 프로그램은, 상기 전자 장치에,
쿼리를 재생성하지 않는다고 결정된 경우, 상기 평가값에 의해 가장 높은 정합성을 가지는 상기 배치된 각 부품의 위치에 기초하여 입체를 인식하는 제2 입체 인식 단계를 실행시키는 프로그램. - 제1항 내지 제15항 중 어느 한 항에 있어서,
상기 쿼리 재생성 단계는, 상기 가상 공간 상에 배치된 부품 중 2 개의 부품의 3 차원 모델 간의 길이가 소정 값 이상인 경우, 해당 길이에 대응하는 부품의 ID를 추가한 쿼리를 생성하는 프로그램. - 미리 정해진 복수의 부품으로 구성되는 실 공간에서의 입체를 인식하기 한 입체 인식 시스템으로서,
상기 입체를 촬영하기 위한 촬영 장치를 구비하는 전자 장치와,
각 부품의 ID, 각 부품의 3 차원 모델, 및 각 부품 간의 접합 제약 조건을 나타내는 제약 데이터를 연동하여 기억하는 부품 데이터 베이스와,
상기 부품 데이터 베이스에 입력되는 쿼리 중, 적어도 부품 각각의 ID를 포함하는 쿼리 보존용 데이터를 기억하는 이력 데이터 베이스와,
상기 촬영 장치에 의해 촬영된 화상으로부터 각 부품을 식별 가능한 특징을 각각 추출하고, 해당 특징에 기초하여 부품의 각각의 ID 및 해당 부품의 위치 데이터를 취득하는 화상 인식부와,
상기 특징에 기초하여 취득된 부품의 각각의 ID를 포함하는 쿼리를 생성하는 쿼리 생성부와,
쿼리가 생성된 경우, 해당 쿼리를 이용하여, 상기 부품 데이터 베이스로부터, 해당 쿼리가 포함하는 ID의 각각에 연동된 부품 각각의 3 차원 모델 및 제약 데이터를 취득하는 데이터 취득부와,
상기 취득된 부품 각각의 위치 데이터, 3 차원 모델, 및 제약 데이터에 기초하여 상기 실 공간과 대응시킨 가상 공간에 각 부품을 배치하는 부품 배치부와,
상기 배치된 각 부품의 위치 관계에 기초하여, 상기 배치된 각 부품의 위치의 정합성을 판정하는 정합성 판정부와,
상기 정합성이 있다고 판정된 경우, 상기 배치된 각 부품의 위치에 기초하여 입체를 인식하는 입체 인식부와,
상기 정합성이 없다고 판정된 경우,
상기 데이터 취득부가 이용한 쿼리 중, 적어도 부품 각각의 ID를 포함하는 쿼리 보존용 데이터를 상기 이력 데이터 베이스에 기억하는 데이터 베이스 기억부와,
상기 이력 데이터 베이스가 기억하는 쿼리 보존용 데이터 및 상기 부품 데이터 베이스가 기억하는 데이터에 기초하여, 쿼리를 재생성할지의 여부를 결정하는 쿼리 재생성 결정부와,
쿼리를 재생성한다고 결정된 경우, 상기 이력 데이터 베이스가 기억하는 쿼리 보존용 데이터와는 상이한 데이터를 포함하는 쿼리를 생성하는 쿼리 재생성부
를 구비하는 입체 인식 시스템. - 미리 정해진 복수의 부품으로 구성되는 실 공간에서의 입체를 인식하기 위한 전자 장치로서,
상기 입체를 촬영하기 위한 촬영 장치와,
각 부품의 ID, 각 부품의 3 차원 모델, 및 각 부품 간의 접합 제약 조건을 나타내는 제약 데이터를 연동하여 기억하는 부품 데이터 베이스와,
상기 부품 데이터 베이스에 입력되는 쿼리 중, 적어도 부품 각각의 ID를 포함하는 쿼리 보존용 데이터를 기억하는 이력 데이터 베이스와,
상기 촬영 장치에 의해 촬영된 화상으로부터 각 부품을 식별 가능한 특징을 각각 추출하고, 해당 특징에 기초하여 부품의 각각의 ID 및 해당 부품의 위치 데이터를 취득하는 화상 인식부와,
상기 특징에 기초하여 취득된 부품의 각각의 ID를 포함하는 쿼리를 생성하는 쿼리 생성부와,
쿼리가 생성된 경우, 해당 쿼리를 이용하여, 상기 부품 데이터 베이스로부터, 해당 쿼리가 포함하는 ID의 각각에 연동된 부품 각각의 3 차원 모델 및 제약 데이터를 취득하는 데이터 취득부와,
상기 취득된 부품 각각의 위치 데이터, 3 차원 모델, 및 제약 데이터에 기초하여 상기 실 공간과 대응시킨 가상 공간에 각 부품을 배치하는 부품 배치부와,
상기 배치된 각 부품의 위치 관계에 기초하여, 상기 배치된 각 부품의 위치의 정합성을 판정하는 정합성 판정부와,
상기 정합성이 있다고 판정된 경우, 상기 배치된 각 부품의 위치에 기초하여 입체를 인식하는 입체 인식부와,
상기 정합성이 없다고 판정된 경우,
상기 데이터 취득부가 이용한 쿼리 중, 적어도 부품 각각의 ID를 포함하는 쿼리 보존용 데이터를 상기 이력 데이터 베이스에 기억하는 데이터 베이스 기억부와,
상기 이력 데이터 베이스가 기억하는 쿼리 보존용 데이터 및 상기 부품 데이터 베이스가 기억하는 데이터에 기초하여, 쿼리를 재생성할지의 여부를 결정하는 쿼리 재생성 결정부와,
쿼리를 재생성한다고 결정된 경우, 상기 이력 데이터 베이스가 기억하는 쿼리 보존용 데이터와는 상이한 데이터를 포함하는 쿼리를 생성하는 쿼리 재생성부
를 구비하는 전자 장치. - 미리 정해진 복수의 부품으로 구성되는 실 공간에서의 입체를 인식하기 위한, 해당 입체를 촬영하기 위한 촬영 장치를 구비하는 전자 장치에서 실행되는 방법으로서,
상기 촬영 장치에 의해 촬영된 화상으로부터 각 부품을 식별 가능한 특징을 각각 추출하고, 해당 특징에 기초하여 부품의 각각의 ID 및 해당 부품의 위치 데이터를 취득하는 화상 인식 단계와,
상기 특징에 기초하여 취득된 부품의 각각의 ID를 포함하는 쿼리를 생성하는 쿼리 생성 단계와,
쿼리가 생성된 경우, 해당 쿼리를 이용하여, 각 부품의 ID, 각 부품의 3 차원 모델, 및 각 부품 간의 접합 제약 조건을 나타내는 제약 데이터를 연동하여 기억하는 부품 데이터 베이스로부터, 해당 쿼리가 포함하는 ID의 각각에 연동된 부품 각각의 3 차원 모델 및 제약 데이터를 취득하는 데이터 취득 단계와,
상기 취득된 부품 각각의 위치 데이터, 3 차원 모델, 및 제약 데이터에 기초하여 상기 실 공간과 대응시킨 가상 공간에 각 부품을 배치하는 부품 배치 단계와,
상기 배치된 각 부품의 위치 관계에 기초하여, 상기 배치된 각 부품의 위치의 정합성을 판정하는 정합성 판정 단계와,
상기 정합성이 있다고 판정된 경우, 상기 배치된 각 부품의 위치에 기초하여 입체를 인식하는 입체 인식 단계와,
상기 정합성이 없다고 판정된 경우,
상기 데이터 취득 단계에서 이용한 쿼리 중, 적어도 부품 각각의 ID를 포함하는 쿼리 보존용 데이터를 이력 데이터 베이스에 기억하는 데이터 베이스 기억 단계와,
상기 이력 데이터 베이스가 기억하는 쿼리 보존용 데이터 및 상기 부품 데이터 베이스가 기억하는 데이터에 기초하여, 쿼리를 재생성할지의 여부를 결정하는 쿼리 재생성 결정 단계와,
쿼리를 재생성한다고 결정된 경우, 상기 이력 데이터 베이스가 기억하는 쿼리 보존용 데이터와 상이한 데이터를 포함하는 쿼리를 생성하는 쿼리 재생성 단계
을 포함하는 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2017-244891 | 2017-12-21 | ||
JP2017244891A JP6368421B1 (ja) | 2017-12-21 | 2017-12-21 | 立体を認識するためのプログラム、システム、電子装置、及び方法 |
PCT/JP2018/045717 WO2019124194A1 (ja) | 2017-12-21 | 2018-12-12 | 立体を認識するためのプログラム、システム、電子装置、及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200098596A true KR20200098596A (ko) | 2020-08-20 |
KR102502488B1 KR102502488B1 (ko) | 2023-02-23 |
Family
ID=63036829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207019811A KR102502488B1 (ko) | 2017-12-21 | 2018-12-12 | 입체를 인식하기 위한 프로그램, 시스템, 전자 장치 및 방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11461921B2 (ko) |
JP (1) | JP6368421B1 (ko) |
KR (1) | KR102502488B1 (ko) |
CN (1) | CN111771227B (ko) |
WO (1) | WO2019124194A1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6368421B1 (ja) * | 2017-12-21 | 2018-08-01 | 株式会社Cygames | 立体を認識するためのプログラム、システム、電子装置、及び方法 |
JP2019114226A (ja) * | 2018-07-06 | 2019-07-11 | 株式会社Cygames | 立体を認識するためのプログラム、システム、電子装置、及び方法 |
JPWO2022239164A1 (ko) * | 2021-05-12 | 2022-11-17 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05274378A (ja) * | 1992-03-30 | 1993-10-22 | Toshiba Corp | 自動設計cadシステム |
JPH0696164A (ja) * | 1992-09-14 | 1994-04-08 | A T R Tsushin Syst Kenkyusho:Kk | 3次元画像データベース作成方式 |
JP2003030645A (ja) * | 2001-07-11 | 2003-01-31 | Hitachi Ltd | 画像照合装置 |
JP2009105467A (ja) * | 2003-08-26 | 2009-05-14 | Panasonic Corp | 部品照合方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040085443A1 (en) * | 2000-12-13 | 2004-05-06 | Kallioniemi Olli P | Method and system for processing regions of interest for objects comprising biological material |
JP2004265050A (ja) * | 2003-02-28 | 2004-09-24 | Calsonic Kansei Corp | 部品モデル間の隙間計測方法及び隙間解析モデル作成方法 |
US8965145B2 (en) * | 2006-07-31 | 2015-02-24 | Ricoh Co., Ltd. | Mixed media reality recognition using multiple specialized indexes |
JP2007087276A (ja) * | 2005-09-26 | 2007-04-05 | Matsushita Electric Ind Co Ltd | 部品情報提供装置 |
JP5274378B2 (ja) * | 2009-06-03 | 2013-08-28 | 三菱電機株式会社 | Ofdm通信装置 |
US20150015576A1 (en) * | 2009-08-07 | 2015-01-15 | Cherif Atia Algreatly | Object recognition and visualization |
US9424681B2 (en) * | 2010-09-09 | 2016-08-23 | Sony Corporation | Information processing device, information processing method, and program |
US9384216B2 (en) * | 2010-11-16 | 2016-07-05 | Microsoft Technology Licensing, Llc | Browsing related image search result sets |
KR101308184B1 (ko) * | 2011-01-13 | 2013-09-12 | 주식회사 팬택 | 윈도우 형태의 증강현실을 제공하는 장치 및 방법 |
AU2014319964B2 (en) * | 2013-09-12 | 2019-01-17 | Wix.Com Ltd. | System and method for automated conversion of interactive sites and applications to support mobile and other display environments |
JP6096164B2 (ja) * | 2014-11-11 | 2017-03-15 | 本田技研工業株式会社 | 車両のテールゲート |
JP6822061B2 (ja) * | 2015-11-13 | 2021-01-27 | 株式会社リコー | 情報処理装置、情報処理方法、情報処理システム及びプログラム |
US11282133B2 (en) * | 2017-11-21 | 2022-03-22 | International Business Machines Corporation | Augmented reality product comparison |
JP6368421B1 (ja) * | 2017-12-21 | 2018-08-01 | 株式会社Cygames | 立体を認識するためのプログラム、システム、電子装置、及び方法 |
JP6668540B1 (ja) * | 2019-05-30 | 2020-03-18 | 株式会社Cygames | 情報処理プログラム、情報処理方法およびゲーム装置 |
US11836867B2 (en) * | 2020-09-16 | 2023-12-05 | Wayfair Llc | Techniques for virtual visualization of a product in a physical scene |
-
2017
- 2017-12-21 JP JP2017244891A patent/JP6368421B1/ja active Active
-
2018
- 2018-12-12 CN CN201880089917.XA patent/CN111771227B/zh active Active
- 2018-12-12 KR KR1020207019811A patent/KR102502488B1/ko active IP Right Grant
- 2018-12-12 WO PCT/JP2018/045717 patent/WO2019124194A1/ja active Application Filing
-
2020
- 2020-06-18 US US16/905,084 patent/US11461921B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05274378A (ja) * | 1992-03-30 | 1993-10-22 | Toshiba Corp | 自動設計cadシステム |
JPH0696164A (ja) * | 1992-09-14 | 1994-04-08 | A T R Tsushin Syst Kenkyusho:Kk | 3次元画像データベース作成方式 |
JP2003030645A (ja) * | 2001-07-11 | 2003-01-31 | Hitachi Ltd | 画像照合装置 |
JP2009105467A (ja) * | 2003-08-26 | 2009-05-14 | Panasonic Corp | 部品照合方法 |
Non-Patent Citations (2)
Title |
---|
Ira Kemelmacher-Shlizerman, Ronen Basri. 2011. 3D face reconstruction from a single image using a single reference face shape. IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE. |
Marc Pollefeys, Luc Van Gool, Maarten Vergauwen, Frank Verbiest, Kurt Cornelis, Jan Tops, Reinhard Koch. 2004. Visual Modeling with a Hand-Held Camera. International Journal of Computer Vision. |
Also Published As
Publication number | Publication date |
---|---|
JP6368421B1 (ja) | 2018-08-01 |
CN111771227A (zh) | 2020-10-13 |
US20200320733A1 (en) | 2020-10-08 |
CN111771227B (zh) | 2023-10-31 |
WO2019124194A1 (ja) | 2019-06-27 |
JP2019113916A (ja) | 2019-07-11 |
KR102502488B1 (ko) | 2023-02-23 |
US11461921B2 (en) | 2022-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10102639B2 (en) | Building a three-dimensional composite scene | |
JP6934887B2 (ja) | 単眼カメラを用いたリアルタイム3d捕捉およびライブフィードバックのための方法およびシステム | |
EP2272050B1 (en) | Using photo collections for three dimensional modeling | |
US9460517B2 (en) | Photogrammetric methods and devices related thereto | |
CN110807451B (zh) | 人脸关键点检测方法、装置、设备及存储介质 | |
CN102708355B (zh) | 信息处理装置、信息处理方法 | |
US20170193693A1 (en) | Systems and methods for generating time discrete 3d scenes | |
KR102502488B1 (ko) | 입체를 인식하기 위한 프로그램, 시스템, 전자 장치 및 방법 | |
CN111161336B (zh) | 三维重建方法、三维重建装置和计算机可读存储介质 | |
CN108805917A (zh) | 空间定位的方法、介质、装置和计算设备 | |
US9160979B1 (en) | Determining camera position for a photograph having a displaced center of projection | |
US20150104068A1 (en) | System and method for locating fiducials with known shape | |
US10311381B2 (en) | Tool and method for conductive trace generation in a 3D model for a hybrid electro-mechanical 3D printer | |
JP2016122443A (ja) | 情報処理装置、その制御方法、及びプログラム、並びに、情報処理システム、その制御方法、及びプログラム | |
JP2015062017A (ja) | モデル作成装置、モデル作成プログラム、および画像認識システム | |
CN112750164B (zh) | 轻量化定位模型的构建方法、定位方法、电子设备 | |
KR102149105B1 (ko) | 혼합현실 기반 3차원 스케치 장치 및 방법 | |
JP2021192230A (ja) | 拡張現実表示装置及びプログラム | |
JP2019114226A (ja) | 立体を認識するためのプログラム、システム、電子装置、及び方法 | |
EP3779878A1 (en) | Method and device for combining a texture with an artificial object | |
US20220126519A1 (en) | 3d digital design poses using physical models | |
CN115018877A (zh) | 地面区域的特效展示方法、装置、设备及存储介质 | |
Yang et al. | 3D Scene Reconstruction Using Multi-Sources Data | |
Gao | User-oriented markerless augmented reality framework based on 3D reconstruction and loop closure detection | |
Gava et al. | A Unifying Structure from Motion Framework for Central Projection Cameras |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |