用于识别三维物体的程序、系统、电子装置和方法与流程

文档序号:22508317发布日期:2020-10-13 09:48阅读:181来源:国知局
用于识别三维物体的程序、系统、电子装置和方法与流程

本发明涉及用于识别三维物体的程序、系统、电子装置和方法,并且特别地,涉及用于识别存在于现实空间中且由预定义的多个组件构成的三维物体的程序、系统、电子装置和方法。



背景技术:

已知有用于从所拍摄到的平面图像识别现实空间中的三维物体的三维形状的技术。然而,当将三维形状投影到平面上时,诸如深度和隐藏面等的三维信息丢失,因而不能从单个平面图像直接识别三维形状。传统上,开发了用于通过将从不同视点拍摄到的多个图像彼此关联以直观地估计三维信息来识别形状的技术、以及用于通过根据与特定对象构造物有关的先前知识演绎地估计该构造物的三维信息来识别形状的技术。

例如,非专利文献1描述了通过使用被称为运动恢复结构(structurefrommotion(sfm))的技术以将多个图像彼此关联来识别形状的技术。另外,例如,非专利文献2描述了用于通过单个图像作为输入并假定诸如人体或面部表情等的特定对象来识别形状的技术。该技术重视人的面部表情在全局上是相似的但在局部上存在许多差异这一事实,并且通过对现有的3d模型进行变形来构建与输入图像相对应的3d模型。

现有技术文献

非专利文献

非专利文献1:marcpollefeys,lucvangool,maartenvergauwen,frankverbiest,kurtcornelis,jantops,reinhardkoch.2004.visualmodelingwithahand-heldcamera.internationaljournalofcomputervision.

非专利文献2:irakemelmacher-shlizerman,ronenbasri.2011.3dfacereconstructionfromasingleimageusingasinglereferencefaceshape.ieeetransactionsonpatternanalysisandmachineintelligence.



技术实现要素:

发明要解决的问题

然而,非专利文献1中所述的技术要求用户多次拍摄图像或者使用多个照相机进行摄像,因而用户操作变得复杂。另外,由于非专利文献2中所述的技术假定构造物是已知的,因此该技术不能应用于由用户自由形成的构造物的识别。如上所述,没有建立用于从单个平面图像识别自由形状的构造物的三维形状的有效技术。

本发明是为了解决该问题而做出的,并且其目的是提供使得可以从单个图像识别三维形状的程序等。

用于解决问题的方案

为了实现上述目的,根据本发明的程序是一种用于识别存在于现实空间中且由预定义的多个组件构成的三维物体的程序,所述程序由配备有用于拍摄所述三维物体的图像的摄像装置的电子装置执行,所述程序的特征在于使得所述电子装置执行:图像识别步骤,用于从所述摄像装置所拍摄到的图像中分别提取使得能够辨别各个组件的特征,并且基于所述特征来取得各个组件的id和所述组件的位置数据;查询生成步骤,用于生成包括基于所述特征所取得的各个组件的id的查询;数据取得步骤,用于在生成查询的情况下,通过使用所述查询来从组件数据库中取得与所述查询中所包括的各个id相关联的各个组件的三维模型和约束数据,所述组件数据库用于将各个组件的id、各个组件的三维模型以及表示各个组件之间的接合约束条件的约束数据彼此关联地进行存储;组件布置步骤,用于基于针对各个组件取得的位置数据、三维模型和约束数据,来将各个组件布置在与所述现实空间相对应的虚拟空间中;整合性判断步骤,用于基于所布置的各个组件之间的位置关系来判断所布置的各个组件的位置的整合性;三维物体识别步骤,用于在判断为存在整合性的情况下,基于所布置的各个组件的位置来识别所述三维物体;以及在判断为不存在整合性的情况下:数据库存储步骤,用于将所述数据取得步骤中所使用的查询中的至少包括各个组件的id的存储用查询数据存储在历史数据库中,查询重新生成确定步骤,用于基于所述历史数据库中所存储的存储用查询数据和所述组件数据库中所存储的数据来确定是否重新生成查询,以及查询重新生成步骤,用于在确定重新生成查询的情况下,生成包括与所述历史数据库中所存储的存储用查询数据不同的数据的查询。

另外,在本发明中,优选地,所述程序使得所述电子装置执行:数据库初始化步骤,用于在所述图像识别步骤之前,删除所述历史数据库中所存储的存储用查询数据。

另外,在本发明中,优选地,所述组件布置步骤通过使用针对各个组件取得的位置数据和三维模型来将各个组件布置在所述虚拟空间中,并且针对所述虚拟空间中的彼此相邻的各个组件,对准并布置各个组件以满足所述接合约束条件。

另外,在本发明中,优选地,基于所述虚拟空间中所布置的组件中的两个组件的三维模型之间的距离是否在规定值内,所述组件布置步骤判断这两个组件是否彼此相邻。

另外,在本发明中,优选地,所述位置是六自由度位置。

另外,在本发明中,优选地,使得能够辨别各个组件的所述特征是各个组件在组件的表面上具有的ar标记。

另外,在本发明中,优选地,在生成查询的情况下,所述数据取得步骤使用所述查询,以通过将与所述查询中所包括的各个id相关联的各个组件的三维模型和约束数据与该id相关联地分别添加到所述查询,来从所述组件数据库中取得该三维模型和该约束数据。

另外,在本发明中,优选地,所述整合性判断步骤基于所布置的各个组件的三维模型所占据的区域之间的重叠程度,来判断所布置的各个组件的位置的整合性。

另外,在本发明中,优选地,所述图像识别步骤从所述摄像装置所拍摄到的图像中识别用于形成所述三维物体的基座部分的基部,所述组件布置步骤将所述基部布置在所述虚拟空间中,以及所述整合性判断步骤基于所布置的各个组件的位置和所述基部的位置之间的位置关系来判断所布置的各个组件是否是按照重力布置的,并且还基于该判断来判断整合性。

另外,在本发明中,优选地,所述整合性判断步骤基于所述摄像装置所拍摄到的图像与从虚拟照相机观看的所布置的各个组件的图像之间的一致程度来判断整合性,所述虚拟照相机布置在所述虚拟空间中的与所述摄像装置的位置相对应的位置处。

另外,在本发明中,优选地,所述数据库存储步骤还将所布置的各个组件的位置与所述存储用查询数据中所包括的各个组件的id相关联地存储在所述历史数据库中。

另外,在本发明中,优选地,所述查询重新生成确定步骤基于所述历史数据库中所存储的存储用查询数据是否包括所述组件数据库中所存储的组件的id的规定组合,来确定是否重新生成查询。

另外,在本发明中,优选地,所述程序还使得所述电子装置执行:错误输出步骤,用于在确定不重新生成查询的情况下输出错误。

另外,在本发明中,优选地,所述数据库存储步骤还将针对所布置的各个组件的位置的整合性评价值与所述存储用查询数据中所包括的各个组件的id相关联地存储在所述历史数据库中。

另外,在本发明中,优选地,所述程序使得所述电子装置执行:所述程序使得所述电子装置执行:第二三维物体识别步骤,用于在确定不重新生成查询的情况下,基于根据所述评价值具有最高整合性的所布置的各个组件的位置来识别三维物体。

另外,在本发明中,优选地,所述查询重新生成步骤生成如下的查询:在所述虚拟空间中所布置的组件中的两个组件的三维模型之间的距离等于或大于规定值的情况下,该查询被添加与该距离相对应的组件的id。

另外,为了实现上述目的,根据本发明的方面的三维物体识别系统是一种三维物体识别系统,用于识别存在于现实空间中且由预定义的多个组件构成的三维物体,所述三维物体识别系统的特征在于包括:电子装置,其配备有用于拍摄所述三维物体的图像的摄像装置;组件数据库,用于将各个组件的id、各个组件的三维模型和表示各个组件之间的接合约束条件的约束数据彼此关联地进行存储;历史数据库,用于存储输入至所述组件数据库的查询中的至少包括各个组件的id的存储用查询数据;图像识别单元,用于从所述摄像装置所拍摄到的图像中分别提取使得能够辨别各个组件的特征,并且基于所述特征来取得各个组件的id和所述组件的位置数据;查询生成单元,用于生成包括基于所述特征所取得的各个组件的id的查询;数据取得单元,用于在生成查询的情况下,通过使用所述查询来从所述组件数据库中取得与所述查询中所包括的各个id相关联的各个组件的三维模型和约束数据;组件布置单元,用于基于针对各个组件取得的位置数据、三维模型和约束数据,来将各个组件布置在与所述现实空间相对应的虚拟空间中;整合性判断单元,用于基于所布置的各个组件之间的位置关系来判断所布置的各个组件的位置的整合性;三维物体识别单元,用于在判断为存在整合性的情况下,基于所布置的各个组件的位置来识别所述三维物体;以及在判断为不存在整合性的情况下:数据库存储单元,用于将所述数据取得单元所使用的查询中的至少包括各个组件的id的存储用查询数据存储在所述历史数据库中,查询重新生成确定单元,用于基于所述历史数据库中所存储的存储用查询数据和所述组件数据库中所存储的数据来确定是否重新生成查询,以及查询重新生成单元,用于在确定重新生成查询的情况下,生成包括与所述历史数据库中所存储的存储用查询数据不同的数据的查询。

另外,为了实现上述目的,根据本发明的方面的电子装置是一种电子装置,用于识别存在于现实空间中且由预定义的多个组件构成的三维物体,所述电子装置的特征在于包括:摄像装置,用于拍摄所述三维物体的图像;组件数据库,用于将各个组件的id、各个组件的三维模型和表示各个组件之间的接合约束条件的约束数据彼此关联地进行存储;历史数据库,用于存储输入至所述组件数据库的查询中的至少包括各个组件的id的存储用查询数据;图像识别单元,用于从所述摄像装置所拍摄到的图像中分别提取使得能够辨别各个组件的特征,并且基于所述特征来取得各个组件的id和所述组件的位置数据;查询生成单元,用于生成包括基于所述特征所取得的各个组件的id的查询;数据取得单元,用于在生成查询的情况下,通过使用所述查询来从所述组件数据库中取得与所述查询中所包括的各个id相关联的各个组件的三维模型和约束数据;组件布置单元,用于基于针对各个组件取得的位置数据、三维模型和约束数据,来将各个组件布置在与所述现实空间相对应的虚拟空间中;整合性判断单元,用于基于所布置的各个组件之间的位置关系来判断所布置的各个组件的位置的整合性;三维物体识别单元,用于在判断为存在整合性的情况下,基于所布置的各个组件的位置来识别所述三维物体;以及在判断为不存在整合性的情况下:数据库存储单元,用于将所述数据取得单元所使用的查询中的至少包括各个组件的id的存储用查询数据存储在所述历史数据库中,查询重新生成确定单元,用于基于所述历史数据库中所存储的存储用查询数据和所述组件数据库中所存储的数据来确定是否重新生成查询,以及查询重新生成单元,用于在确定重新生成查询的情况下,生成包括与所述历史数据库中所存储的存储用查询数据不同的数据的查询。

为了实现上述目的,根据本发明的方面的方法是一种用于识别存在于现实空间中且由预定义的多个组件构成的三维物体的方法,所述方法由配备有用于拍摄所述三维物体的图像的摄像装置的电子装置执行,所述方法的特征在于包括:图像识别步骤,用于从所述摄像装置所拍摄到的图像中分别提取使得能够辨别各个组件的特征,并且基于所述特征来取得各个组件的id和所述组件的位置数据;查询生成步骤,用于生成包括基于所述特征所取得的各个组件的id的查询;数据取得步骤,用于在生成查询的情况下,通过使用所述查询来从组件数据库中取得与所述查询中所包括的各个id相关联的各个组件的三维模型和约束数据,所述组件数据库用于将各个组件的id、各个组件的三维模型以及表示各个组件之间的接合约束条件的约束数据彼此关联地进行存储;组件布置步骤,用于基于针对各个组件取得的位置数据、三维模型和约束数据,来将各个组件布置在与所述现实空间相对应的虚拟空间中;整合性判断步骤,用于基于所布置的各个组件之间的位置关系来判断所布置的各个组件的位置的整合性;三维物体识别步骤,用于在判断为存在整合性的情况下,基于所布置的各个组件的位置来识别所述三维物体;以及在判断为不存在整合性的情况下:数据库存储步骤,用于将所述数据取得步骤中所使用的查询中的至少包括各个组件的id的存储用查询数据存储在历史数据库中,查询重新生成确定步骤,用于基于所述历史数据库中所存储的存储用查询数据和所述组件数据库中所存储的数据来确定是否重新生成查询,以及查询重新生成步骤,用于在确定重新生成查询的情况下,生成包括与所述历史数据库中所存储的存储用查询数据不同的数据的查询。

发明的效果

根据本发明,可以从单个图像识别三维形状。

附图说明

图1是根据本发明实施例的三维物体识别系统的总体结构图。

图2是示出根据本发明实施例的电子装置的硬件结构的框图。

图3是示出根据本发明实施例的服务器的硬件结构的框图。

图4示出根据本发明实施例的服务器的功能框图的示例。

图5示出根据本发明实施例的电子装置的功能框图的示例。

图6是示出摄像装置所拍摄到的图像的示例的图。

图7是示出图像识别单元从图6所示的拍摄图像中识别的三个组件的图。

图8是示出如下状态的图:从图7所示的图像识别单元所识别的三个组件中,组件布置单元分别辨别相邻组件的对,并使这些组件的对移动等以满足接合约束条件。

图9是示出三维物体识别单元利用图8所示的由组件布置单元确认了布置的组件而识别的构造物的图。

图10是示出根据本发明实施例的三维物体识别系统的信息处理的流程图。

具体实施方式

以下将参考附图来说明根据本发明实施例的三维物体识别系统1。在本说明书中,为了说明方便,可以省略不必要的详细说明。例如,可以省略与众所周知的事项有关的详细说明或者对相同结构的重叠说明。

根据本发明实施例的三维物体识别系统1是用于识别存在于现实空间中且通过组装具有已知形状和大小的预定义的多个组件5所形成的三维物体的系统。在本说明书中,存在于现实空间中且通过组装多个组件5所形成的三维物体可被特别称为构造物。本发明实施例的技术特征是,三维物体识别系统1从单个平面图像识别如上所述形成的构造物。即使各个组件5的形状和大小是已知的,也应当理解,通过自由地组装组件5所形成的构造物是未知的。

假定本说明书中的现实空间中的组件5是在另一组件5接触所述组件5时或者在将另一组件5放置在所述组件5上时、体积或形状基本上不变的刚性体。另外,在本说明书中,通过使两个组件5彼此接触来形成构造物被称为接合两个组件5。例如,接合两个组件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的控制,向电子装置3的用户显示应用画面或摄像装置14所拍摄到的图像。显示装置12优选为液晶显示器,但可以是基于有机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可以经由以太网(ethernet,注册商标)线缆等执行有线通信。

图3是示出根据本发明实施例的服务器4的硬件结构的框图。服务器4包括处理器21、显示装置22、输入装置23、存储装置24和通信装置25。这些组件通过总线26彼此连接。在需要的情况下,在各组件和总线26之间设置接口。

处理器21控制服务器4整体的操作,并且例如是cpu。作为处理器21,可以使用诸如mpu等的电子电路。处理器21通过读取并执行存储装置24中所存储的程序或数据来执行各种处理。在一个示例中,处理器21由多个处理器构成。

显示装置(显示器)22根据处理器21的控制来向服务器4的用户显示应用画面等。输入装置23接受来自用户的对服务器4的输入,并且例如是触摸面板、触摸板、键盘或鼠标。

存储装置24包括主存储装置和辅助存储装置。主存储装置例如是诸如ram等的半导体存储器。ram是可以高速读取/写入信息的易失性存储介质,并且用于处理器21处理信息时的存储区域和工作区域。主存储装置可以包括作为只读的非易失性存储介质的rom。在这种情况下,rom存储诸如固件等的程序。辅助存储装置存储处理器21在执行各程序时使用的各种程序或数据。辅助存储装置例如是硬盘装置,但可以是能够存储信息的任何种类的非易失性存储装置或非易失性存储器,其可以是可移除的。辅助存储装置例如存储操作系统(os)、中间件、应用程序、以及与程序的执行有关地可以参考的各种数据。

在一个优选示例中,存储装置24存储各种数据库所用的数据(诸如表等)或程序。各种数据库是通过处理器21的操作等来实现的。服务器4可以包括数据库服务器功能,可以包括一个或多个数据库服务器,或者可以包括其它服务器。

通信装置25是用于经由网络2向诸如电子装置3等的另一计算机发送数据并从该另一计算机接收数据的装置。例如,通信装置25经由以太网(ethernet,注册商标)线缆等执行有线通信,或者执行诸如移动通信或无线lan通信等的无线通信以连接至网络2。

图4示出根据本发明实施例的服务器4的功能框图的示例。服务器4包括组件数据库41和历史数据库42。在本实施例中,这些功能通过处理器21执行程序来实现。这样,通过加载程序来实现各种功能,因而一个数据库的一部分可以在另一数据库中实现。

如上所述,三维物体识别系统1识别存在于现实空间中且由预定义的多个组件5构成的构造物。组件数据库41将各个组件5的组件id、组件5的三维模型数据(三维模型)、以及表示组件5之间的接合约束条件的约束数据彼此关联地存储。电子装置3使用查询来从组件数据库41中取得数据。

组件id是表示用于辨别组件5的唯一辨别信息的数据。组件数据库41中所存储的组件5分别与组件id相关联。构造物由组件数据库41中所存储的组件5的一部分或全部形成。在存在具有相同形状和大小的多个组件5的情况下,这些组件5具有相同的组件id。在这种情况下,组件数据库41通过还将组件5的数量与组件id相关联来存储该数量。然而,可以将所有的组件5配置成具有不同的组件id,使得组件数据库41不存储组件5的数量。

三维模型是定义组件5的形状和大小的数据,并且例如是由线框模型或多边形网格表示的数据。

约束数据是定义组件数据库41中所存储的组件5之间的接合约束条件的对准元数据。接合约束条件是在接合组件5时施加的几何约束,并且定义两个组件5之间的相对位置关系。

对准元数据是定义在两个组件5之间的相对位置关系中对六自由度(6dof)至少之一的约束的数据。6dof是相对于三维空间中的三维物体的位置和姿态的、包括坐标和转动方向的自由度。组件数据库41将特定组件5的组件id与定义对特定组件5和其它组件5中的各组件5之间的关系的约束的对准元数据相关联地存储。

特定组件5的对准元数据(即,与特定组件5的组件id相关联的对准元数据)包括定义对特定组件5与可以接合至特定组件5的每个组件5之间的关系的约束的数据。在一个示例中,在组件数据库41包括仅一个特定组件5的情况下,与特定组件5的组件id相关联的对准元数据包括定义对特定组件5与除特定组件5以外的每个组件5之间的关系的约束的数据。在一个示例中,在组件数据库41包括多个特定组件5的情况下,与特定组件5的组件id相关联的对准元数据包括定义对特定组件5与包括特定组件5的每个组件5之间的关系的约束的数据。

组件数据库41通过使用所有组件5共同的坐标系来存储组件5的三维模型和对准元数据。优选地,组件数据库41中所存储的各个组件5的三维模型或对准元数据由以组件5的中央作为原点的三轴坐标系来表示。

在一个优选示例中,在所有的组件5中,当将组件表面上的任意点定义为接合基准点6时,特定组件5的对准元数据由与特定组件5的接合基准点6和其它组件5的接合基准点6之间的距离和角度有关的条件来定义。关注一对组件5之间的关系,如以下的表达式1至表达式3所示,一个组件5的对准元数据(alignment-data)可被描述为具有位置约束(positional-constraint)和姿态约束(orientational-constraint)作为其元素的阵列。

alignment-data:=arrayof(positional-constraint,orientational-constraint)(表达式1)

在表达式1至表达式3中:

(x,y,z)表示一个组件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和另一组件5之间的关系的约束的数据。组件数据库41将定义对一个组件5和可以接合至该一个组件5的每个组件5之间的关系的约束的对准元数据与该一个组件5的组件id相关联地存储。另外,在一个组件5具有多个接合面的情况下,该一个组件5可以具有多个接合基准点。在这种情况下,关于定义对一个组件5和另一组件5之间的关系的约束的数据,对准元数据可以针对各个接合基准点具有在表达式1至3中表示的数据,并且位置约束和姿态约束的元素可被视为属于接合基准点的数据。在下文,在本实施例中,假定一个组件5的约束数据针对可接合至一个组件5的各个组件5具有对准元数据。另外,假定对准元数据具有接合基准点6以及作为属于接合基准点6的数据的位置约束和姿态约束的元素。

在一个示例中,在各自具有一个接合基准点的两个组件5(p1和p2)接合的情况下,当通过使用下标来表示组件5的对准数据时,以下的表达式成立。

由于三维物体的转动方向可以根据轴的选择顺序而不同,因此假定例如在一个应用中该顺序被确定为特定顺序。在一个示例中,一个组件的接合基准点和另一任意组件的接合基准点之间的在x轴方向、y轴方向和z轴方向至少之一上的距离的最小值和最大值为[0,∞],并且一个组件的接合基准点和另一任意组件的接合基准点之间的侧倾、俯仰和横摆至少之一的最小值和最大值为[-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中所使用的组件5。多个组件5中的各组件在其表面上具有使得能够辨别该组件5的标记。在一个优选示例中,标记是ar标记,该ar标记例如由矩形黑框和在该框中绘制的横向不对称点图案构成。像这样,标记具有如下的形状,该形状使得可以从通过对标记进行摄像所获取到的图像中取得该标记相对于摄像装置14的位置和姿态,并且标记具有使得能够辨别各组件5的特征图案。然而,这多个组件5中的各组件在其表面上可以具有使得能够辨别各组件5且与使得能够辨别各组件5的标记不同的特征。例如,多个组件5可被配置成使得多个组件5中的各组件仅具有使得能够辨别各组件5的特征图案,并且该特征图案使得能够在可以从所拍摄到的图像中取得该特征图案相对于摄像装置14的位置和姿态的同时辨别各组件5。

图像识别单元31从摄像装置14所拍摄到的图像中分别提取使得能够辨别各个组件5的标记。图像识别单元31从所提取的标记中取得各个组件5的组件id,并且基于拍摄图像中的标记的形状和大小来取得各个组件5的位置数据。这样,图像识别单元31识别拍摄图像中的各个组件5。在一个示例中,图像识别单元31所取得的各个组件5的位置数据是由照相机坐标系表示的标记识别基准点的位置,并且表示相对于摄像装置14的相对位置。在一个示例中,位置数据是6dof(六自由度)位置。在另一示例中,位置数据由四元数等表示。图像识别单元31可以包括由已知图像识别技术提供的功能,并且图像识别单元31所取得的各组件5的位置数据可以是近似位置。

组件数据库41将如下内容与组件id相关联地存储:与组件id相关联的组件5的表面上的标记的形状、大小和特征图案;以及该标记在组件5上的位置。标记在组件5上的位置例如是图像识别单元31所识别的标记识别基准点的位置,并且由以组件5的中央为原点的三轴坐标系表示。另外,组件数据库41将与组件id相关联的组件5的接合基准点6的位置与组件id相关联地存储。接合基准点6的位置是以与标记在组件5上的位置相同的方式存储的,并且例如由以组件5的中央为原点的三轴坐标系表示。

图6是示出摄像装置14所拍摄到的图像的示例的图,并且由三个组件5(5a、5b、5c)构成的构造物出现在拍摄图像中。图像识别单元31从图6所示的拍摄图像中提取三个标记,并且通过从所提取的标记中获取与三个组件5相关联的组件id和组件5的位置数据来分别识别三个组件5。图7是示出图像识别单元31从图6所示的拍摄图像中识别的三个组件5a、5b、5c的图,并且示出三个个体组件5的接合基准点6(6a、6b1、6b2、6c)。可以看出,组件5b具有两个接合基准点6b1和6b2。例如,在拍摄图像中中央组件上的标记未出现的情况下,图像识别单元31仅识别两端的组件5。

查询生成单元32生成包括图像识别单元31所取得的组件id的查询。在生成查询时,数据取得单元33使用所生成的查询来从组件数据库41中取得与查询中所包括的各个组件id相关联的组件5的三维模型和约束数据。

查询包括组件id和属于组件id的数据,并且被定义为例如具有该数据作为其元素的阵列。属于组件id的数据包括与组件id相关联的组件5的位置数据。组件5的位置数据是由图像识别单元31取得的。另外,属于组件id的数据包括三维模型和约束数据。

数据取得单元33为了取得数据所使用的查询可以包括图像识别单元31所取得的组件id和与组件id相关联的组件5的位置数据。在一个示例中,数据取得单元33将与用于在组件数据库41中进行搜索的查询中所包括的组件id相关联的各个组件5的三维模型和约束数据与组件id相关联地分别添加到该查询。通过这样做,数据取得单元33取得与各个组件id相关联的组件5的三维模型和约束数据。

针对查询中所包括的各组件id,组件布置单元34基于图像识别单元31所取得的位置数据以及数据取得单元33所取得的三维模型和约束数据,来将关联的组件5布置在与现实空间相对应的虚拟空间中。首先,针对查询中所包括的各组件id,组件布置单元34通过使用三维模型和位置数据来将关联的组件5布置在虚拟空间中。

接着,组件布置单元34通过判断所布置的组件5的对是否彼此相邻来分别辨别所布置的组件5中的彼此相邻的组件5的对。在一个示例中,组件布置单元34判断首先布置的两个组件5的接合基准点6之间的距离是否在规定值内,并且在该距离在规定值内的情况下,判断为两个组件5彼此相邻。组件布置单元34可以判断为一个组件5与多个组件5相邻。

接着,组件布置单元34按规定顺序从被判断为彼此相邻的组件5的对中选择组件5的对。针对被判断为彼此相邻的组件5的各对,组件布置单元34使两个组件5其中之一移动或转动(以下称为“移动等”)以满足接合约束条件,并且确认该布置。这样,组件布置单元34在进行调整的同时布置各组件5。在满足接合约束条件的情况下,组件布置单元34在不使组件5移动等的情况下确认布置。组件布置单元34不使未被判断为与任何组件5相邻的组件5移动等,以满足接合约束条件。

在一个示例中,组件布置单元34以首先选择包括优先级更高的组件5的组件5的对的顺序来选择组件5的对。在这种情况下,组件数据库41还将同与组件id相关联的组件5的优先级有关的优先级信息与组件id相关联地存储。组件5的优先级是由系统管理器预先定义的,并且例如,针对在形成构造物时可能重要的组件5设置更高的优先级。在生成查询时,数据取得单元33使用所生成的查询来从组件数据库41中还取得与该查询中所包括的各组件id相关联的各组件5的优先级信息。在另一示例中,图像识别单元31识别组件id并计算识别的准确度,并且组件布置单元34以首先选择包括准确度更高的组件5的组件5的对的顺序来选择组件5的对。

在一个示例中,在需要使两个组件5其中之一移动等、并且已确认了组件5其中之一的布置的情况下,组件布置单元34使尚未确认的组件5移动等以满足接合约束条件。在另一示例中,在需要使两个组件5其中之一移动等并且确认了两个组件5的布置的情况下,组件布置单元34使优先级更低的组件5或者图像识别单元31的识别准确度更低的组件5移动等,以满足接合约束条件。

图8是示出如下状态的图:从图7所示的图像识别单元31所识别的三个组件5中,组件布置单元34分别辨别彼此相邻的组件5的对,并且使组件5的对移动等,以满足接合约束条件。

整合性判断单元35基于所布置的各个组件5的位置关系来判断组件布置单元34所布置的各个组件5的位置的整合性。

在一个示例中,整合性判断单元35基于所布置的各个组件5的三维模型所占据的区域之间的重叠程度来判断所布置的各个组件5的位置的整合性。具体地,(a)在所布置的各个组件5的三维模型所占据的区域之间的重叠程度在规定体积内的情况下,整合性判断单元35判断为存在整合性;以及(b)在重叠程度超过规定体积的情况下,整合性判断单元35判断为不存在整合性。上述规定体积可以为零,或者可以是针对各组件5的三维模型而定义的。

在一个示例中,图像识别单元31从摄像装置14所拍摄到的图像数据中识别用于形成放置构造物的基座部分的基部。例如,在将构造物放置在桌子上的情况下,放置该构造物的桌子的表面用作基部。组件布置单元34将基部布置在虚拟空间中,并且判断所布置的各个组件5是否与基部相邻。在使基部和组件5移动等以满足接合约束条件的情况下,优选组件布置单元34使组件5移动等并确认布置。整合性判断单元35基于所布置的各个组件5的位置与基部的位置之间的位置关系,来判断所布置的各个组件5是否是按照重力布置的。具体地,整合性判断单元35在所布置的各个组件5是按照重力布置的情况下判断为存在整合性,并且在所布置的各个组件5不是按照重力布置的情况下判断为不存在整合性。

例如,在图6中,在图像识别单元31仅识别两端的组件5的情况下,查询生成单元32所生成的查询不包括组件5b的组件id,并且组件布置单元34将组件5a和5c布置在虚拟空间中。组件布置单元34基于基部和组件5c之间的位置关系来识别重力方向,并且由于组件5a是以在组件5a和组件5c之间存在间隙的方式布置的,因此组件布置单元34判断为组件5a不是按照重力布置的,并且判断为不存在整合性。

在一个示例中,整合性判断单元35基于摄像装置14所拍摄到的图像与由组件布置单元34布置在虚拟空间中的各个组件5的从虚拟照相机观看的图像之间的一致程度来判断整合性。具体地,整合性判断单元35在一致程度等于或大于预定义的默认值的情况下判断为存在整合性,并且在一致程度小于默认值的情况下判断为不存在整合性。这里,虚拟照相机布置在虚拟空间中与摄像装置14的位置相对应的位置处。

在一个示例中,在判断为不存在整合性的情况下,整合性判断单元35计算针对组件布置单元34所布置的各个组件5的位置的整合性评价值。例如,在整合性判断单元35基于所布置的各个组件5的三维模型所占据的区域之间的重叠程度来进行判断的情况下,根据重叠区域的体积超过规定体积的程度来计算评价值。另外,例如,在整合性判断单元35基于图像数据的一致程度来进行判断的情况下,根据一致程度来计算评价值。

尽管上述的整合性判断单元35所进行的整合性判断是针对虚拟空间中所布置的组件5整体,但整合性判断单元35可以针对各个组件5判断整合性。在一个示例中,在整合性判断单元35基于各个组件5的三维模型所占据的区域之间的重叠程度来判断所布置的各个组件5的位置的整合性的情况下,判断为优先级更高的组件5具有整合性,并且判断为优先级更低的组件5不具有整合性。

在整合性判断单元35判断为存在整合性的情况下,三维物体识别单元36基于组件布置单元34所布置的各个组件5的位置来识别构造物。例如,三维物体识别单元36利用组件布置单元34布置在虚拟空间中的各个组件5的三维模型和位置数据来识别构造物,并且识别整个构造物的三维模型。优选地,三维物体识别单元36在虚拟空间中重建所识别的整个构造物的三维模型。

图9是示出三维物体识别单元36利用图8所示的已由组件布置单元34确认了布置的组件5所识别的构造物的图。在图6至图9中,可以看到,按组件5c、5b和5a的顺序给出更高的优先级,并且组件布置单元34使组件5b和5c的对中的组件5b移动并且使组件5b和5a的对中的组件5a移动。

在整合性判断单元35判断为不存在整合性的情况下,数据库存储单元37将存储用查询数据存储在历史数据库42中。存储用查询数据是在数据取得单元33从组件数据库41取得数据所使用的查询中所包括的数据中的、包括各个组件5的组件id和组件布置单元34所使用的接合基准点6的数据。组件布置单元34所使用的接合基准点6是与组件id相关联的约束数据中所包括的接合基准点6中的、组件布置单元34针对接合约束条件进行判断所使用的接合基准点6。由于与接合基准点6有关的信息包括在针对相邻组件5的各对所存储的对准数据中,因此存储用查询数据使得可以辨别组件布置单元34所布置的组件5的相邻关系。然而,存储用查询数据可以是数据取得单元33从组件数据库41中取得数据所使用的查询中所包括的数据中的、至少包括各个组件5的组件id的数据,因而不限于上述示例中的数据。

在一个示例中,数据库存储单元37还将针对组件布置单元34所布置的各个组件5的位置的整合性评价值与存储用查询数据中所包括的各个组件id相关联地存储在历史数据库42中。在这种情况下,在整合性判断单元35判断为不存在整合性的情况下,计算整合性评价值。利用这样的结构,在整合性判断单元35判断为不存在整合性的情况下,可以通过使用提供最高整合性的查询来识别构造物。

在一个示例中,数据库存储单元37还将组件布置单元34所布置的各个组件5的位置与存储用查询数据中所包括的各个组件id相关联存储在历史数据库42中。利用这样的结构,在整合性判断单元35判断为不存在整合性的情况下,可以通过使用最具整合性的布置中的各个组件5的位置来识别构造物。

在一个示例中,存储用查询数据是查询本身的数据,并且数据库存储单元37将数据取得单元33从组件数据库41中取得数据所使用的查询直接存储在历史数据库42中。

在整合性判断单元35判断为不存在整合性的情况下,查询重新生成确定单元38基于历史数据库42中所存储的存储用查询数据和组件数据库41中所存储的数据来确定是否重新生成查询。具体地,查询重新生成确定单元38确定历史数据库42中所存储的存储用查询数据是否包括组件数据库41内所存储的组件id的一部分或全部的组合中的规定组合。在历史数据库42中所存储的存储用查询数据不包括规定组合的情况下,查询重新生成确定单元38确定重新生成查询,并且在存储用查询数据包括规定组合的情况下,查询重新生成确定单元38确定不重新生成查询。组件id的组合是考虑到组件5的布置顺序的组合。尽管各个组件5仅在接合基准点6处接合,但当相同对的组件5在不同的接合基准点6处接合时,接合的类型变得不同。例如,在存在四个组件5(即,组件a~d)、并且各组件5在两端处具有两个接合基准点6的情况下,组件id的所有组合是将所有的组件a~d用于布置的组合,因而存在384(4!×24)个组合。在这种情况下,组件id中的一些组件id的组合是使用组件a~d中的一些组件并且还考虑到组件5的布置顺序的组合。例如,组件id中的一些组件id的组合包括将组件a~d中的组件b和c用于布置的8(2!×22)个组合、或者将组件a~d中的组件a、b和c用于布置的48(3!×23)个组合。

在一个示例中,查询重新生成确定单元38将作为历史数据库42中所存储的存储用查询数据的项数的nq与作为组件数据库41中所存储的组件id的所有组合的数量的np进行比较。在数量nq小于数量np的情况下,查询重新生成确定单元38确定重新生成查询,否则查询重新生成确定单元38确定不重新生成查询。作为示例,考虑如下的情况:组件数据库41中所存储的组件5的数量为n,各组件5在两端具有接合基准点6,并且构造物由组件数据库41中所存储的所有组件5构成。在这种情况下,查询生成单元32可以生成的查询的总数(即,作为组件数据库41中所存储的组件id的所有组合的数量的np)可以基于组件5的布置模式的数量和接合基准点6的数量而表示为:

n!×2n(表达式10)。

这样,查询重新生成确定单元38可以使查询重新生成的次数是有限的。在上述实施例中,假定每个组件5都具有两个接合基准点、并且构造物由组件数据库41中所存储的所有组件5构成,但这仅仅是用于简化说明的一个示例。所有的n个组件无需都用于构造物,并且各组件5无需具有两个接合基准点6。

在一个示例中,当识别组件id时,图像识别单元31计算识别的准确度。在本示例中,组件数据库41中所存储的组件id的一部分或全部的组合中的上述规定组合包括由图像识别单元31以等于或大于特定值的准确度而识别的组件id。

在一个示例中,组件数据库41将同与组件id相关联的组件5的优先级有关的优先级信息与组件id相关联地存储。在该示例中,组件数据库41中所存储的组件id的一部分或全部的组合中的上述规定组合包括由图像识别单元31识别且具有等于或大于特定值的优先级的组件id。

在查询重新生成确定单元38确定重新生成查询的情况下,查询重新生成单元39生成包括与历史数据库42中所存储的存储用查询数据不同的数据的查询。例如,考虑如下的情况:组件数据库41中所存储的组件5的数量为n,各组件5在两端具有两个接合基准点6,并且构造物由组件数据库41中所存储的所有组件5构成。根据由表达式10表示的并且由查询生成单元32可以生成的查询,查询重新生成单元39生成不包括历史数据库42内所存储的存储用查询数据中所包括的组件id的任何组合的查询。

在一个示例中,在由组件布置单元34布置在虚拟空间中的组件5中的两个组件5的三维模型之间的距离等于或大于规定值的情况下,查询重新生成单元39生成添加了与该距离相对应的组件5的组件id的查询。在一个示例中,针对图像识别单元31的识别准确度小于特定值的组件id、或者被判断为不具有整合性的组件id,优先生成改变了具有组件id的组件的位置或姿态的查询、或者用不同的组件id替换了该组件id的查询。这使得可以使三维物体识别系统1的信息处理更加高效。

接着,将通过使用图10所示的流程图来说明根据本发明实施例的三维物体识别系统1的信息处理。图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的三维模型和约束数据。

接着,在步骤105中,针对查询中所包括的各组件id,组件布置单元34通过使用位置数据和三维模型来将各组件5布置在与现实空间相对应的虚拟空间中。另外,组件布置单元34将基部布置在虚拟空间中。接着,组件布置单元34通过判断所布置的组件5的对是否彼此相邻来分别辨别所布置的组件5中的彼此相邻的组件5的对。组件布置单元34按规定顺序从被判断为彼此相邻的组件5的对中选择组件5的对。对于被判断为彼此相邻的组件5的各对,组件布置单元34使两个组件5其中之一移动等以对准组件5从而满足接合约束条件,并且确认该布置。

接着,在步骤106中,整合性判断单元35基于步骤105中所布置的各个组件5的位置关系,具体利用以下判断至少之一来判断所布置的各个组件5的位置的整合性。基于所布置的各个组件5的位置与基部的位置之间的位置关系,整合性判断单元35(a)在所布置的各个组件5是按照重力布置的情况下判断为存在整合性,并且(b)在所布置的各个组件5不是按照重力布置的情况下判断为不存在整合性。另外,(a)在所布置的各个组件5的三维模型所占据的区域之间的重叠程度在规定体积内的情况下,整合性判断单元35判断为存在整合性;以及(b)在重叠程度超过规定体积的情况下,整合性判断单元35判断为不存在整合性。另外,整合性判断单元35(a)在摄像装置14所拍摄到的图像与由组件布置单元43布置在虚拟空间中的各个组件5的从虚拟照相机观看的图像之间的一致程度等于或大于默认值的情况下,判断为存在整合性,并且(b)在一致程度小于默认值的情况下判断为不存在整合性。

(a)在步骤106中在所有的判断中都判断为存在整合性的情况下,该处理进入步骤107,三维物体识别单元36基于步骤105中所布置的各个组件5的位置来识别构造物,并且该处理结束。

(b)在步骤106中在任何判断中判断为不存在整合性的情况下,该处理进入步骤108。在步骤108中,数据库存储单元37将步骤104中所使用的查询存储在历史数据库42中,并且该处理进入步骤109。

在步骤109中,查询重新生成确定单元38判断历史数据库42中所存储的查询是否包括组件数据库41中所存储的多个个体组件5的组件id的规定组合。在历史数据库42不包括包含组件id的规定组合的查询的情况下,查询重新生成确定单元38确定重新生成查询,并且该处理进入步骤110。在历史数据库42包括包含组件id的规定组合的查询的情况下,查询重新生成确定单元38确定不重新生成查询,并且该处理结束。在确定不重新生成查询且该处理结束的情况下,电子装置3可以向显示装置12等输出错误。

在步骤110中,查询重新生成单元39生成与历史数据库42中所存储的查询不同的查询,并且该处理进入步骤104。在由组件布置单元34布置在虚拟空间中的组件5中的两个组件5的三维模型之间的距离等于或大于规定值的情况下,查询重新生成单元39生成添加了与该距离相对应的组件5的组件id的查询。

接着,将说明根据本发明实施例的三维物体识别系统1的效果。在本实施例中,三维物体识别系统1的对象是通过组装预先设置的组件5所形成的构造物,并且三维物体识别系统1针对各组件5预先定义组件5的三维模型和表示要如何接合组件5的接合约束条件,并将这些数据项存储在组件数据库41中。三维物体识别系统1接收通过使用标准智能电话照相机所拍摄到的拍摄图像作为输入,并且在不从该拍摄图像直接识别三维形状的情况下单独且独立地检测构成构造物的元素(组件5)。三维物体识别系统1生成包括单独检测到的组件5的组件id的查询,通过使用该查询来从组件数据库41中取得数据,接合各个组件5的三维模型以满足接合约束条件,并将组件5布置在虚拟空间中。三维物体识别系统1评价组件布置的物理整合性,并且重复对组件数据库41的搜索以及对准,直到获取到适当布置为止。

利用这样的结构,本实施例中的三维物体识别系统1可以从单个图像重建整个构造物的三维模型,并且识别该构造物的三维形状。特别地,当直接从单个图像识别构造物的三维形状时,可以通过估计利用现有的三维形状识别技术不能识别的外表面暴露较少的组件的空间信息来识别整个构造物的三维形状。因而,在本实施例中,可以提供当从通过拍摄构造物的图像所获取到的平面图像识别三维形状时的用户操作的简便性,并且还可以提供形成构造物时的灵活性。

另外,利用这样的结构,本实施例中的三维物体识别系统1设置有用于通过使用接合约束条件而定义对组件5的接合位置的限制来自动校正组件5的位置的功能。这使得可以减轻在组件5的装配过程或图像处理过程中产生的噪声,并且更稳定地识别构造物。

另外,利用这样的结构,由于本实施例中的三维物体识别系统1仅识别已知的组件5,因此不需要机器学习来识别组件5,因而可以降低计算成本。

另外,利用这样的结构,本实施例中的三维物体识别系统1不依赖于任何特殊传感器,并且仅接收通过使用标准智能电话照相机所拍摄到的图像作为输入。因而,三维物体识别系统1不需要任何特殊器材,并且可以便宜地实现。另外,由于组件5可以由使得作为刚性体的组件的形状不易改变的任何材料制成,因此可以根据应用便宜地制造组件5。例如,可以根据应用来适当地选择材料,诸如用于预期由于抛掷或踩踏而产生的强烈冲击的应用的木材、或者用于将组件5的形成留给用户的应用的纸张等。

另外,在本实施例中,在更新查询的同时重复搜索和对准时,三维物体识别系统1将查询的历史存储在历史数据库42中,由此防止将相同的查询用于搜索。利用这样的结构,可以使查询重新生成的次数是有限的,并且适当地停止三维物体识别系统1的处理。另外,由于历史数据库42用于防止执行使用相同查询的搜索,因此三维物体识别系统1在开始构造物识别处理之前删除历史数据库42中所存储的查询。

另外,在本实施例中,三维物体识别系统1判断首先布置在虚拟空间中的两个组件5的接合基准点6之间的距离是否在规定值内,并且在该距离在规定值内的情况下,判断为两个组件5彼此相邻。利用这样的结构,三维物体识别系统1可以对存在于彼此的规定距离内的组件5的对进行对准以满足接合约束条件,并且不对存在于彼此的规定距离内的组件5的对进行对准以满足接合约束条件。这使得可以在从拍摄图像中检测不到特定组件5的情况下防止对被布置成夹持特定组件5的两个组件5进行对准以满足接合约束条件,由此减少检测到不整合的次数。

另外,在本实施例中,标记是ar标记,其例如由矩形黑框和在该框中绘制的横向不对称点图案构成,并且点图案被配置成针对各组件5而不同。这使得三维物体识别系统1可以使用已知的图像识别技术,以基于例如拍摄到标记的图像中的矩形黑框的形状和大小来从摄像装置14取得该标记的位置和姿态。另外,三维物体识别系统1可以使用已知的图像识别技术,以基于例如拍摄到标记的图像中的点图案来辨别各组件5。

另外,在本实施例中,查询包括组件id和属于组件id的数据,并且属于组件id的数据包括与组件id相关联的组件5的位置数据、三维模型和约束数据。在生成查询时,三维物体识别系统1使用该查询来将与该查询中所包括的各个组件id相关联的组件5的三维模型和约束数据与组件id相关联地分别从组件数据库41添加到该查询。这样,三维物体识别系统1从组件数据库41中取得组件5的三维模型和约束数据。如上所述,在本实施例中,三维物体识别系统1使用查询来在组件数据库41中进行搜索,以从组件数据库41取得数据,并将该数据存储在历史数据库42中。这使得可以使三维物体识别系统1的信息处理更加高效。

另外,在本实施例中,三维物体识别系统1基于所布置的各个组件5的三维模型所占据的区域之间的重叠程度,来判断所布置的各个组件5的位置的整合性。另外,在本实施例中,三维物体识别系统1基于所布置的各个组件5的位置和基部的位置之间的位置关系,来判断所布置的各个组件5是否是按照重力布置的。另外,在本实施例中,三维物体识别系统1基于摄像装置14所拍摄到的图像与由组件布置单元34布置在虚拟空间中的各个组件5的从虚拟照相机观看的图像之间的一致程度来判断整合性。利用这样的结构,本实施例中的三维物体识别系统1可以评价组件布置的物理整合性。因而,三维物体识别系统1可以判断所识别的构造物是否适当。

另外,在本实施例中,三维物体识别系统1判断历史数据库42中所存储的查询是否包括组件数据库41中所存储的组件id的规定组合。在组件id的规定组合包括图像识别单元31以等于或大于特定值的准确度识别的组件id、或者优先级等于或大于特定值的组件id的情况下,可以还限制所生成的查询的类型。这使得可以使三维物体识别系统1的信息处理更加高效。在组件id的规定组合是所有组合的情况下,可以生成基于组件数据库41能够生成的查询,使查询重新生成的次数是有限的,并且适当地停止三维物体识别系统1的处理。

另外,在本实施例中,在判断为重新生成查询、并且由组件布置单元34布置在虚拟空间中的组件5中的两个组件5的三维模型之间的距离等于或大于规定值的情况下,三维物体识别系统1生成添加了与该距离相对应的组件5的组件id的查询。利用这样的结构,在本实施例中,可以通过估计从拍摄图像不能识别的组件5、并优先生成添加了该组件5的查询,来使三维物体识别系统1的信息处理更加高效。

除非另外明确陈述,上述效果也可应用于其它实施例和其它示例。

在本发明的另一实施例中,可以提供实现以上所述的本发明实施例的功能或流程图所示的信息处理的程序,或者提供存储有该程序的计算机可读存储介质。在另一实施例中,可以提供自身实现以上所述的本发明实施例的功能或流程图所示的信息处理的电子装置。在另一实施例中,可以提供用于实现以上所述的本发明实施例的功能或流程图所示的信息处理的方法。在另一实施例中,可以提供能够向计算机提供实现以上所述的本发明实施例的功能或流程图所示的信息处理的程序的服务器。在另一实施例中,可以提供实现以上所述的本发明实施例的功能或上述流程图所示的信息处理的虚拟机。

以下将说明本发明的实施例的变形例。只要没有发生矛盾,就可以适当组合以下所述的变形例并将这些变形例应用于本发明的任何实施例。

在一个示例中,特定组件5的对准元数据由针对另一任意组件的接合基准点与特定组件5的接合基准点之间的距离和角度的条件来定义,并且是定义对特定组件5与另一任意组件5之间的关系的约束的数据。在该示例中,组件数据库41将用于定义对特定组件5和要接合至特定组件5的任意组件5之间的关系的约束的一项对准元数据与特定组件5的组件id相关联地存储。在该示例中,特定组件5的约束数据具有一项对准元数据,并且对准元数据具有接合基准点6以及作为属于接合基准点6的数据的位置约束和姿态约束的元素。

在一个示例中,组件布置单元34判断首先布置的两个组件5的中心点之间的距离是否在规定值内,并且在该距离在规定值内的情况下,判断为两个组件5彼此相邻。在另一示例中,组件布置单元34判断在形成首先布置的两个组件5的刚性体之间的距离是否在规定值内,并且在该距离在规定值内的情况下,判断为两个组件5彼此相邻。在任意情况下,组件布置单元34以规定顺序从被判断为彼此相邻的组件5的对中选择组件5的对,针对各对使两个组件5其中之一移动等以满足接合约束条件,并确认布置。

在一个示例中,在步骤106中,在判断为不存在整合性的情况下,整合性判断单元35计算针对组件布置单元34所布置的各个组件5的位置的整合性评价值。在步骤108中,数据库存储单元37还将针对组件布置单元34所布置的各个组件5的位置的整合性评价值与存储用查询数据中所包括的各个组件id相关联地存储在历史数据库42中。在步骤109中,在查询重新生成确定单元38判断为不重新生成查询的情况下,在步骤105中,电子装置3通过基于评价值使用具有最高整合性的查询,利用虚拟空间中所布置的各个组件5的三维模型和位置数据来识别构造物。这使得电子装置3可以通过使用被判断为不具有整合性的各个组件5的布置中的、基于评价值具有最高整合性的各个组件5的布置来识别整个构造物的三维模型。

在上述的处理或操作中,只要在处理或操作中没有出现矛盾(诸如特定步骤涉及在该步骤中尚不可用的数据的使用的矛盾等),就可以自由地修改处理或操作。另外,上述的示例是用于说明本发明的示例,并且本发明不限于这些示例。本发明可以以没有背离本发明的精神的各种形式体现。例如,各装置的外观或形状不限于附图中的外观或形状。

附图标记说明

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历史数据库

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1