首页 / 专利库 / 电脑图像 / 三维建模 / 三维建模装置以及三维建模方法

三维建模装置以及三维建模方法

阅读:704发布:2020-05-11

专利汇可以提供三维建模装置以及三维建模方法专利检索,专利查询,专利分析的服务。并且本 发明 提供一种 三维建模 装置以及三维建模方法。对被拍摄对象适当进行三维建模。接受部(11),接受通过使用立体 照相机 ,从不同的 角 度对被拍摄对象拍摄多次而得到的多个图像的组的输入。生成部(12),基于接受到的多个图像的组中的每一个组,生成被拍摄对象的多个三维模型。选择部(13),选择被合成三维模型和合成三维模型。提取部(14),从被合成三维模型中提取多个第一特征点,并且从合成三维模型中提取多个第二特征点。获取部(15),获取将该合成三维模型的坐标变换为该被合成三维模型的 坐标系 的坐标的坐标变换参数。变换部(16),将合成三维模型的坐标变换为被合成三维模型的坐标系的坐标。合成部(17),将坐标变换后的合成三维模型合成为被合成三维模型。,下面是三维建模装置以及三维建模方法专利的具体信息内容。

1.一种三维建模装置,包括:
接受单元,其接受多个图像的组的输入,其中,该多个图像通过如下方式得到,即,使用通过一次拍摄来获取一组图像的立体照相机,从不同的度对被拍摄对象拍摄多次;
生成单元,其基于上述接受到的多个图像的组中的每一个组,生成上述被拍摄对象的多个三维模型;
选择单元,其从上述生成的多个三维模型之中,选择被合成三维模型和合成为该被合成三维模型的合成三维模型;
提取单元,其从上述选择出的被合成三维模型中提取多个第一特征点,并且从上述选择出的合成三维模型中提取多个第二特征点;
获取单元,其基于上述提取出的多个第一特征点和多个第二特征点,获取将该合成三维模型的坐标变换为该被合成三维模型的坐标系的坐标的坐标变换参数;
变换单元,其使用上述获取到的坐标变换参数,将上述合成三维模型的坐标变换为上述被合成三维模型的坐标系的坐标;以及
合成单元,其将上述坐标变换后的合成三维模型合成为上述被合成三维模型。
2.根据权利要求1所述的三维建模装置,其中,
上述获取单元,从上述提取出的多个第一特征点之中选择三个第一特征点,从上述提取出的多个第二特征点之中选择三个第二特征点,获取使该选择出的三个第二特征点的坐标与该选择出的三个第一特征点的坐标一致的坐标变换参数,其中,该选择出的三个第二特征点构成与以该选择出的三个第一特征点作为三个顶点的三角形全等的三角形的三个顶点。
3.根据权利要求2所述的三维建模装置,其中,
上述获取单元执行多次从上述提取出的多个第一特征点之中随机选择三个第一特征点并获取坐标变换参数的处理,并且从通过该多次处理获取到的多个坐标变换参数之中选择一个坐标变换参数。
4.根据权利要求3所述的三维建模装置,其中,
上述获取单元从上述多个坐标变换参数之中,选择使上述变换单元进行的坐标变换后的上述多个第二特征点的坐标与上述多个第一特征点的坐标最吻合的一个坐标变换参数。
5.根据权利要求1所述的三维建模装置,其中,
上述选择单元从上述生成的多个三维模型之中,选择上述被合成三维模型以外的所有的三维模型作为上述合成三维模型,
上述获取单元针对上述选择出的、上述被合成三维模型以外的所有的三维模型,获取上述坐标变换参数,
上述变换单元针对上述选择出的、上述被合成三维模型以外的所有的三维模型,执行上述坐标变换,
上述合成单元针对上述选择出的、上述被合成三维模型以外的所有的三维模型,执行上述合成。
6.根据权利要求5所述的三维建模装置,其中,
上述合成单元按照使对应的特征点彼此之间属于相同的组的方式将上述多个第一特征点和上述多个第二特征点分组为多个组,针对该多个组中的每一个组求取重心,将求出的多个重心作为新的多个特征点,生成新的三维模型。
7.一种三维建模方法,包括:
接受步骤,接受多个图像的组的输入,其中,该多个图像通过如下方式得到,即,使用通过一次拍摄来获取一组图像的立体照相机,从不同的角度对被拍摄对象拍摄多次;
生成步骤,基于上述接受到的多个图像的组中的每一个组,生成上述被拍摄对象的多个三维模型;
选择步骤,从上述生成的多个三维模型之中,选择被合成三维模型和合成为该被合成三维模型的合成三维模型;
提取步骤,从上述选择出的被合成三维模型中提取多个第一特征点,并且从上述选择出的合成三维模型中提取多个第二特征点;
获取步骤,基于上述提取出的多个第一特征点和多个第二特征点,获取将该合成三维模型的坐标变换为该被合成三维模型的坐标系的坐标的坐标变换参数;
变换步骤,使用上述获取到的坐标变换参数,将上述合成三维模型的坐标变换为上述被合成三维模型的坐标系的坐标;以及
合成步骤,将上述坐标变换后的合成三维模型合成为上述被合成三维模型。

说明书全文

三维建模装置以及三维建模方法

[0001] 本申请主张以在2010年3月29日申请的日本专利申请特愿2010-074486为基础的优先权,全部援引该基础申请的内容。

技术领域

[0002] 本发明涉及三维建模装置以及三维建模方法。

背景技术

[0003] 已知有如下技术,即,采用具备右眼用拍摄部和左眼用拍摄部的立体照相机(stereo camera)对人类、动物、或美术品等被拍摄对象进行拍摄,并基于通过拍摄得到的右眼用图像和左眼用图像来生成被拍摄对象的三维模型。
[0004] 具体来说,对右眼用图像和左眼用图像实施立体匹配(stereo matching),求取表示被拍摄对象上的相同点的对应点。接着,基于求出的对应点、右眼用拍摄部和左眼用拍摄部之间的间隔,按照三测量的要领,求取立体照相机和对应点之间的距离(进深)。并且,根据求出的距离求取对应点的三维坐标,进而构筑被拍摄对象的三维模型。这样的技术,例如在专利第2953154号公报、数字图像处理、2006年3月1日发行、CG-ARTS协会上被公开。
[0005] 但是,在专利第2953154号公报、数字图像处理、2006年3月1日发行、CG-ARTS协会上被公开的技术,是基于从相互接近的位置同时进行拍摄而得到的、右眼用图像和左眼用图像来执行三维建模的技术。因此,不能以足够的精度来实现三维建模。因此,期望能够以足够的精度来实现三维建模的技术。

发明内容

[0006] 本发明的目的在于,提供一种适于对被拍摄对象适当地进行三维建模的三维建模装置、以及三维建模方法。
[0007] 为了达成上述目的,本发明第一观点的三维建模装置包括:接受单元,其接受多个图像的组的输入,其中,该多个图像通过如下方式得到,即,使用通过一次拍摄来获取一组图像的立体照相机,从不同的角度对被拍摄对象拍摄多次;生成单元,其基于上述接受到的多个图像的组中的每一个组,生成上述被拍摄对象的多个三维模型;选择单元,其从上述生成的多个三维模型之中,选择被合成三维模型和合成为该被合成三维模型的合成三维模型;提取单元,其从上述选择出的被合成三维模型中提取多个第一特征点,并且从上述选择出的合成三维模型中提取多个第二特征点;获取单元,其基于上述提取出的多个第一特征点和多个第二特征点,获取将该合成三维模型的坐标变换为该被合成三维模型的坐标系的坐标的坐标变换参数;变换单元,其使用上述获取到的坐标变换参数,将上述合成三维模型的坐标变换为上述被合成三维模型的坐标系的坐标;以及合成单元,其将上述坐标变换后的合成三维模型合成为上述被合成三维模型。
[0008] 为了达成上述目的,本发明第二观点的三维建模方法包括:接受步骤,接受多个图像的组的输入,其中,该多个图像通过如下方式得到,即,使用通过一次拍摄来获取一组图像的立体照相机,从不同的角度对被拍摄对象拍摄多次;生成步骤,基于上述接受到的多个图像的组中的每一个组,生成上述被拍摄对象的多个三维模型;选择步骤,从上述生成的多个三维模型之中,选择被合成三维模型和合成为该被合成三维模型的合成三维模型;提取步骤,从上述选择出的被合成三维模型中提取多个第一特征点,并且从上述选择出的合成三维模型中提取多个第二特征点;获取步骤,基于上述提取出的多个第一特征点和多个第二特征点,获取将该合成三维模型的坐标变换为该被合成三维模型的坐标系的坐标的坐标变换参数;变换步骤,使用上述获取到的坐标变换参数,将上述合成三维模型的坐标变换为上述被合成三维模型的坐标系的坐标;以及合成步骤,将上述坐标变换后的合成三维模型合成为上述被合成三维模型。附图说明
[0009] 图1A是表示本发明的实施方式的立体照相机的前面的模样的外观图。
[0010] 图1B是表示本发明的实施方式的立体照相机的背面的模样的外观图。
[0011] 图2是表示本发明的实施方式的立体照相机的构成的框图
[0012] 图3是表示本发明的实施方式的立体照相机的主要部分的构成的框图。
[0013] 图4是表示本发明的实施方式的立体照相机执行的三维建模处理的流程图
[0014] 图5是表示图4所示的三维模型生成处理的流程图。
[0015] 图6是表示图4所示的照相机位置推定处理的流程图。
[0016] 图7是表示图6所示的坐标变换参数获取处理的流程图。
[0017] 图8是表示图4所示的三维模型合成处理的流程图。

具体实施方式

[0018] 以下,参照附图,说明本发明的实施方式的三维建模装置。
[0019] (实施方式)
[0020] 在本实施方式中,示出将本发明应用于数字式的立体照相机的例子。在本实施方式中,立体照相机在从按压快按钮至离开该快门按钮的期间内反复执行:拍摄被拍摄对象的处理、和合成该被拍摄对象的三维模型的处理。首先,参照图1A、图1B,说明本发明的实施方式的立体照相机1000的外观。
[0021] 如图1A所示,在立体照相机1000的前面设置:透镜111A、透镜111B、闪光灯发光部400。此外,如图1A所示,在立体照相机1000的上面,设置快门按钮331。进一步地,如图1B所示,在立体照相机1000的背面,设置显示部310、操作键332、电源键333。
[0022] 透镜111A和透镜111B隔开规定的间隔平行设置。
[0023] 显示部310由作为电源键、操作键、电子取景器(viewer finder)发挥作用的LCD(Liquid Crystal Display)构成。
[0024] 快门按钮331是在执行被拍摄对象的拍摄的期间应当持续进行按压的按钮。即,立体照相机1000在按压快门按钮331的期间反复进行被拍摄对象的拍摄。
[0025] 操作键332从用户接受各种操作。操作键332包括十字键和确定键,在模式切换和显示切换等操作中使用。
[0026] 电源键333是在接通·断开立体照相机1000的电源时应当按压的键。
[0027] 闪光灯发光部400向被拍摄对象照射闪光灯光。后面叙述闪光灯发光部400的构成。
[0028] 这里,参照图2,说明立体照相机1000的电结构。
[0029] 如图2所示,立体照相机1000包括:第一拍摄部100A、第二拍摄部100B、数据处理部200、接口部300和闪光灯发光部400。另外,在附图中,适当将接口部标记为I/F部。
[0030] 第一拍摄部100A和第二拍摄部100B是拍摄被拍摄对象的部分。虽然立体照相机1000是立体照相机,所以是具有第一拍摄部100A和第二拍摄部100B这两个拍摄部的结构,但是第一拍摄部100A和第二拍摄部100B是相同的结构。另外,针对第一拍摄部100A的结构在参照符号的末尾附加“A”,针对第二拍摄部100B的结构在参照符号的末尾附加“B”。
[0031] 如图2所示,第一拍摄部100A包括光学装置110A和图像传感器部120A,第二拍摄部100B包括光学装置110B和图像传感器部120B。光学装置110B是与光学装置110A相同的结构,图像传感器部120B是与图像传感器部120A相同的结构。因此,以下,仅仅说明光学装置110A以及图像传感器部120A的结构。
[0032] 光学装置110A例如包括透镜111A、光圈机构、快门机构等,进行拍摄相关的光学动作。即,通过光学装置110A的动作,聚焦入射光,并且完成焦点距离、光圈、快门速度等这样的与视角(angle of view)、焦点、曝光等相关的光学要素的调整。另外,在光学装置110A中包括的快门机构是所谓的机械式快门,在仅仅由图像传感器部120A的动作来完成快门动作的情况下,也可以不在光学装置110A中包括快门机构。此外,光学装置110A通过后述控制部210的控制来动作。
[0033] 图像传感器部120A生成与由光学装置110A聚焦的入射光相对应的电信号。例如,由CCD(Charge Coupled Device:电荷耦合元件)和CMOS(Complementally Metal Oxide Semiconductor:互补型金属化物半导体)等图像传感器构成。图像传感器部120A通过进行光电变换,来产生与受光相对应的电信号,并输出至数据处理部200。
[0034] 另外,如上述,第一拍摄部100A和第二拍摄部100B是相同的结构。因此,透镜的焦点距离f或F值、光圈机构的光圈范围、图像传感器的尺寸或像素数、排列、像素面积等样式全都相同。
[0035] 如图1A所示,具有这样的第一拍摄部100A和第二拍摄部100B的立体照相机1000成为以下的结构,即,在光学装置110A中构成的透镜111A和在光学装置110B中构成的透镜111B在立体照相机1000的外面的同一平面上形成。这里,在快门按钮331为上的方向上将立体照相机1000置为平的情况下,配置2个透镜(受光部),以便中心位置成为在水平方向上延伸的同一的线上。即,在使第一拍摄部100A和第二拍摄部100B同时动作的情况下,虽然拍摄针对同一被拍摄对象的2个图像(以下,适当称为“配对图像”。),但是各图像中的光轴位置在横方向上偏移。立体照相机1000是所谓平行立体照相机的结构。
[0036] 数据处理部200处理通过第一拍摄部100A以及第二拍摄部100B的拍摄动作而生成的电信号,生成表示拍摄到的被拍摄对象的图像的数字数据,并且进行针对该图像的图像处理。如图2所示,数据处理部200由控制部210、图像处理部220、图像存储器230、图像输出部240、存储部250、外部存储部260等构成。
[0037] 控制部210例如由CPU(Central Processing Unit:中央运算处理部)等的处理器、RAM(Random Access Memory:随机存取存储器)等主存储装置(存储器)等构成,通过执行保存在后述的存储部250等中的程序,来控制立体照相机1000的各个部分。
[0038] 图像处理部220例如由ADC(Analog-Digital Converter:模拟·数字变换器)、缓冲存储器、图像处理用的处理器(即、图像处理发动机)等构成,基于由图像传感器部120A以及120B生成的电信号,生成表示拍摄到的被拍摄对象的图像的数字数据(以下,适当称为“图像数据”。)。
[0039] 即,ADC将从图像传感器部120A以及图像传感器部120B输出的模拟电信号变换为数字信号并顺序保存在缓冲存储器中。另一方面,图像处理部220对于被缓冲的数字数据,通过进行所谓的显影处理等,来进行画质的调整和数据压缩等。
[0040] 图像存储器230例如由RAM和闪速存储器等存储装置构成,暂时存储由图像处理部220生成的图像数据、和由控制部210处理的图像数据等。
[0041] 图像输出部240例如由RGB信号的生成电路等构成,将在图像存储器230中展开的图像数据变换为RGB信号并输出至显示画面(后述的显示部310等)。
[0042] 存储部250例如由ROM(Read Only Memory:只读存储器)和闪速存储器等存储装置构成,保存立体照相机1000的动作所需的程序和数据。在本实施方式中,设在存储部250中保存控制部210等执行的动作程序、各处理所需的参数和运算式等。
[0043] 外部存储部260例如由存储卡等这样的在立体照相机1000中可装卸的存储装置构成,保存立体照相机1000拍摄到的图像数据、表示三维模型的数据等。
[0044] 接口部300是立体照相机1000和其使用者或外部装置之间的接口相关的结构。如图2所示,接口部300由显示部310、外部接口部320、操作部330等构成。
[0045] 显示部310例如由液晶显示装置等构成,显示操作立体照相机1000所需的各种画面、拍摄时的实时取景图像、拍摄到的被拍摄对象的图像等。在本实施方式中,基于从图像输出部240提供的图像信号(RGB信号)等显示拍摄到的被拍摄对象的图像和三维模型等。
[0046] 外部接口部320例如由USB(Universal Serial Bus)连接器和视频输出端子等构成,向外部的计算机装置和外部的监视器装置输出图像数据等。
[0047] 操作部330由在立体照相机1000的外面上构成的各种按钮等构成,生成与立体照相机1000的使用者进行的操作相对应的输入信号,并提供给控制部210。操作部330中例如包括:用于指示快门动作的快门按钮331、进行立体照相机100的动作模式等的指定和各种功能设定的操作键332、电源键333。
[0048] 闪光灯发光部400例如由氙灯(氙闪光灯)构成。闪光灯发光部400按照控制部210的控制向被拍摄对象照射闪光(flash)。
[0049] 立体照相机1000也可以不具备图2所示的所有的结构,而具备图2所示的结构以外的结构。
[0050] 这里,参照图3,说明立体照相机1000的动作中与三维建模相关的动作。
[0051] 图3是表示立体照相机1000的主要部分的结构、即用于实现三维建模相关的动作的结构的框图。
[0052] 如图3所示,立体照相机1000包括:接受部11、生成部12、选择部13、提取部14、获取部15、变换部16、合成部17。这些要素例如由控制部210构成。
[0053] 接受部11接受通过使用由一次拍摄获取一组图像的立体照相机1000,从不同的角度多次拍摄被拍摄对象而获取的多个图像的组的输入。
[0054] 生成部12基于接受到的多个图像的组中的每一个组,生成被拍摄对象的多个三维模型。
[0055] 选择部13从生成的多个三维模型中选择被合成三维模型和合成为该被合成三维模型的合成三维模型。
[0056] 提取部14从选择出的被合成三维模型中提取多个第一特征点,并且从选择出的合成三维模型中提取多个第二特征点。
[0057] 获取部15基于提取出的多个第一特征点和多个第二特征点,将该合成三维模型的坐标变换为该被合成三维模型的坐标系的坐标。
[0058] 变换部16使用获取到的坐标变换参数,将合成三维模型的坐标变换为被合成三维模型的坐标系的坐标。
[0059] 合成部17将变换后的合成三维模型合成为该被合成三维模型。
[0060] 下面,使用图4所示的流程图,说明立体照相机1000执行的三维建模处理。立体照相机1000一旦通过操作键332等的操作,将动作模式设定为三维建模模式,则执行图4所示的三维建模处理。
[0061] 在本实施方式中,在按压快门按钮331的期间,重复执行被拍摄对象的拍摄、三维模型的生成、生成的三维模型的合成、合成后的三维模型的预览显示等。这里,将由最初的拍摄获取的三维模型即成为合成的基础的三维模型称为被合成三维模型。此外,将由第二次以后的拍摄获取的三维模型即被合成为被合成三维模型的三维模型称为合成三维模型。并且,在三维建模处理中,依次生成对按照拍摄次数量拍摄多次的三维模型进行合成而得到的三维模型。另外,设被拍摄对象按每次拍摄从不同的角度拍摄。
[0062] 首先,控制部210判别是否按压了快门按钮331(步骤S101)。控制部210一旦判别为未按压快门按钮331(步骤S101:否),则再次执行步骤S101的处理。另一方面,控制部210一旦判别为按压了快门按钮331(步骤S101:是),则将拍摄次数计数器N初始化为1(步骤S102)。另外,拍摄次数计数器N例如存储在存储部250中。
[0063] 控制部210一旦结束步骤S102的处理,则拍摄被拍摄对象501(步骤S103)。一旦由控制部210拍摄被拍摄对象,则得到2张平行同位图像(配对图像)。获取到的配对图像例如存储在图像存储器230中。另外,在配对图像中,设由第一拍摄部100A拍摄得到的图像为图像A,设由第二拍摄部100B拍摄得到图像为图像B。
[0064] 控制部210一旦结束步骤S103的处理,则基于存储在图像存储器230中的配对图像,执行三维模型生成处理(步骤S104)。
[0065] 这里,参照图5所示的流程图,说明三维模型生成处理。另外,三维模型生成处理是基于一组配对图像生成三维模型的处理。即,三维模型生成处理能够认为是生成从一个照相机位置看到的三维模型的处理。
[0066] 首先,控制部210提取特征点的候补(步骤S201)。例如,控制部210针对图像A进行相角(corner)检测。在相角检测中,将Harris(ハリス)等相角特征量成为规定阈值以上并且在规定半径内成为最大的点选择作为相角点。因此,将被拍摄对象的前端等、相对其他点具有特征的点提取作为特征点。
[0067] 控制部210在完成步骤S201的处理后,执行立体匹配(stereo matching),从图像B中寻找与图像A的特征点相对应的点(对应点)(步骤S202)。具体来说,控制部210通过模板匹配(template matching)将类似度为规定阈值以上且为最大(相异度为规定阈值以下且为最小)的点设为对应点。在模板匹配中,例如能够利用残差绝对值和(SAD)、残差平方和(SSD)、标准化相关(NCC或ZNCC)、方向符号相关等各种已知的方法。
[0068] 控制部210在完成步骤S202的处理后,根据在步骤S202中找到的对应点的视差信息、第一拍摄部100A以及第二拍摄部100B的视角、基线长等,计算特征点的位置信息(步骤S203)。生成的特征点的位置信息例如存储在存储部250中。
[0069] 控制部210在完成步骤S203的处理后,基于在步骤S203中计算出的特征点的位置信息执行德洛内(Delaunay:ドロネ一)三角形分割,执行多边形化(步骤S204)。生成的多边形信息例如存储在存储部250中。控制部210在完成步骤S204的处理后,结束三维模型生成处理。
[0070] 另外,如果特征点的数目较少,则被拍摄对象的形状信息缺失,不能得到被拍摄对象的忠实的三维模型。另一方面,为了得到更多的特征点,如果使提取特征点的候补的条件和立体匹配的条件放松,则或者在特征点的候补中包含不适当的点,或者在立体匹配中发生误对应,位置精度降低,即建模精度恶化。由此,为了能够一边防止建模精度的恶化,一边得到被拍摄对象的忠实的三维模型,必须提取适当数目的特征点。
[0071] 此外,三维模型(三维信息)例如使用以下三个式子根据配对图像来求取。根据配对图像来获取三维信息的方法的详细情况例如在数字图像处理、2006年3月1日发行、CG-ARTS协会中公开。
[0072] X=(b*u)/(u-u′)
[0073] Y=(b*v)/(u-u′)
[0074] Z=(b*f)/(u-u′)
[0075] 这里,b是光学装置110A和110B之间的距离,称为基线长。(u,v)表示通过光学装置110A拍摄到的被拍摄对象的图像上的坐标,(u’,v’)表示通过光学装置110B拍摄到的被拍摄对象的图像上的坐标。上述三个式子中的(u-u’)是由光学装置110A和光学装置110B在拍摄相同的被拍摄对象时得到的两个图像上的被拍摄对象501的坐标之差,称为视差。f表示光学装置110A的焦点距离。如已经说明的,光学装置110A和110B是相同的结构,焦点距离f也相等。
[0076] 控制部210在完成三维模型生成处理(步骤S104)后,判别拍摄次数计数器N是否为1(步骤S105)。这里,拍摄次数计数器N为1表示最初的拍摄不久之后。控制部210如果判别为拍摄次数计数器N为1(步骤S105:是),则将在步骤S104中生成的三维模型设定为被合成三维模型(步骤S106)。
[0077] 另一方面,控制部210如果判别为拍摄次数计数器N不为1,即判别为不是最初的拍摄不久之后(步骤S105:否),则执行照相机位置推定处理(步骤S107)。参照图6的流程图说明照相机位置推定处理。另外,在照相机位置推定处理中,求取本次拍摄时的立体照相机1000相对最初拍摄时的立体照相机1000的位置的相对位置。另外,求取该相对位置与求取将通过本次拍摄获得的三维模型的坐标变换为通过最初的拍摄得到的三维模型的坐标系的坐标的坐标变换参数相同。
[0078] 首先,控制部210从被合成三维模型以及合成三维模型双方获取三维空间上的特征点(步骤S301)。例如,控制部210选择被合成三维模型(或合成三维模型)的特征点中、相角强度高且立体匹配的一致度高的特征点。或者,控制部210也可以在考虑了配对图像间外延(epi:ェピ)线约束的基础上,执行基于SURF(Speeded-Up Robust Features:快速鲁棒特征)特征量的匹配,由此来获取特征点。
[0079] 控制部210在完成步骤S301的处理后,从被合成三维模型中选择3个特征点(步骤S302)。这里,被选择的3个特征点选择满足以下所示的(A)以及(B)条件的特征点。(A)条件是以3个特征点为顶点的三角形的面积不过于小,(B)条件是以3个特征点为顶点的三角形不具有极端锐角的角。例如,控制部210选择满足上述(A)以及(B)条件的3个特征点之前,随机选择3个特征点。
[0080] 控制部210在完成步骤S302的处理后,从以合成三维模型具有的3个特征点为3个顶点的三角形中、搜索与以在步骤S302中选择出的3个特征点为3个顶点的三角形全等的三角形(步骤S303)。例如,在3边的长度大致相等的情况下,判别为2个三角形全等。步骤S303的处理可以被认为是如下处理,即,在合成三维模型的特征点中、搜索被认为是与在步骤S302中从被合成三维模型中选择出的3个特征点对应的3个特征点。另外,控制部210也可以根据特征点和周围的颜色信息、或SURF特征量等来预先缩小三角形的候补,从而高速化搜索。表示搜索到的三角形的信息(典型的,表示构成该三角形的顶点的3个特征点的三维空间上的坐标的信息)例如存储在存储部250中。在全等的三角形为多个的情况下,表示所有的三角形的信息存储在存储部250中。
[0081] 控制部210在完成步骤S303的处理后,判别在步骤S303中是否搜索到了至少1个全等的三角形(步骤S304)。另外,在搜索到的全等的三角形过多的情况下,也可以看作是没有搜索到全等的三角形。
[0082] 控制部210如果判别为至少搜索到一个全等的三角形(步骤S304:是),则选择一个全等的三角形(步骤S305)。另一方面,控制部210如果判别为连一个全等的三角形都没有搜索到(步骤S304:否),则返回处理到步骤S302。
[0083] 控制部210在完成步骤S305的处理后,执行坐标变换参数获取处理(步骤S306)。参照图7所示的流程图,详细说明坐标变换参数获取处理。另外,坐标变换参数获取处理是获取用于将合成三维模型的坐标变换为被合成三维模型的坐标系的坐标的、坐标变换参数的处理。另外,坐标变换参数获取处理在每次将在步骤S302中选择出的3个特征点、和在步骤S305中选择出的全等的三角形进行组合时执行。这里,坐标变换参数是对于在式(1)以及(2)中给出的对应点配对(特征点配对、顶点配对)求取满足式(3)的旋转矩阵R和移动向量t的处理。式(1)以及(2)的p和p’具有从各个照相机视线看到的三维空间上的坐标。另外,N是对应点配对的配对数。
[0084]
[0085]
[0086] pi=Rp′i+t (3)
[0087] 首先,控制部210如式(4)以及(5)所示,设定对应点配对(步骤S401)。这里,c1和c2是对应的列向量成为对应点的坐标的矩阵。根据该矩阵直接求取旋转矩阵R和移动向量t是困难的。但是,由于p和p’的分布几乎相等,所以如果从对准对应点的重心开始旋转,则能够使对应点重合。利用该事实,求取旋转矩阵R和移动向量t。
[0088] c1=[p1 p2 … pN] (4)
[0089] c2=[p′1 p′2 … p′N] (5)
[0090] 即,控制部210使用式(6)以及(7)求取特征点的重心即重心t1以及t2(步骤S402)。
[0091]
[0092]
[0093] 下面,控制部210使用式(8)以及(9),求取特征点的分布即分布d1以及d2(步骤S403)。这里,如上述,在分布d1和分布d2之间存在式(10)的关系。
[0094] d1=[(p1-t1) (p2-t1) … (pN-t1)] (8)
[0095] d2=[(p′1-t2) (p′2-t2) … (p′N-t2)] (9)
[0096] d1=Rd2 (10)
[0097] 下面,控制部210使用式(11)以及(12)执行分布d1以及d2的奇异值分解(singular value decomposition)(步骤S404)。设奇异值按降序排列。这里,记号*表示复共轭转置(complex conjugate transpose)。
[0098]
[0099]
[0100] 接着,控制部210判别分布d1以及d2是否为二维以上(步骤S405)。奇异值与分布的广度状态对应。因此,使用最大的奇异值和其以外的奇异值之间的比率、奇异值的大小可以进行判定。例如,在第二大的奇异值为规定值以上且与最大奇异值之间的比率处于规定范围内的情况下,分布被判定为二维以上。
[0101] 控制部210如果判别为分布d1以及d2不是二维以上(步骤S405:否),则不能求取旋转矩阵R,所以执行错误处理(步骤S413),结束坐标变换参数获取处理。
[0102] 另一方面,控制部210如果判别为分布d1以及d2为二维以上(步骤S405:是),则求取关联函数(関連付け,correlation)K(步骤S406)。根据式(10)~(12)能够如式(13)这样来表示旋转矩阵R。这里,如果关联函数K如式(14)这样定义,则旋转矩阵R如式(15)所示。
[0103]
[0104]
[0105]
[0106] 这里,固有向量U相当于分布d1以及分布d2的固有向量,通过关联函数K来建立关联。关联函数K的要素在固有向量对应的情况下给予1或-1,在固有向量不对应的情况下给予0。于是,由于分布d1以及d2相等,所以奇异值也相等。即,S也相等。实际上,由于分布d1和分布d2中包含误差,所以对误差进行化整(round off)。如果考虑以上情况,则关联函数K如式(16)所示。即,控制部210在步骤S406中,计算式(16)。*
[0107] K=round((V1 的1~3行)(V2的1~3列)) (16)[0108] 控制部210在完成步骤S406的处理后,计算旋转矩阵R(步骤S407)。具体来说,控制部210基于式(15)和式(16),计算旋转矩阵R。表示通过计算得到的旋转矩阵R的信息例如存储在存储部250中。
[0109] 控制部210在完成步骤S407的处理后,判别分布d1以及d2是否为二维(步骤S408)。例如,在最小的奇异值为规定值以下或与最大奇异值之间的比率处于规定范围外的情况下,分布d1以及d2被判别为是二维。
[0110] 控制部210如果判别为分布d1以及d2不是二维(步骤S408:否),则计算移动向量t(步骤S414)。这里,分布d1以及d2不是二维,表示分布d1以及d2是三维。这里,p和p’满足式(17)的关系。如果将式(17)进行变形,则如式(18)所示。根据式(18)和式(3)之间的对应,移动向量t如式(19)所示。
[0111] (pi-t1)=R(p′i-t2) (17)
[0112] pi=Rp′i+(t1-Rt2) (18)
[0113] t=t1-Rt2 (19)
[0114] 另一方面,控制部210如果判别为分布d1以及d2是二维(步骤S408:是),则验证旋转矩阵R,判别旋转矩阵R是否正常(步骤S409)。分布为二维的情况下,由于奇异值的一个为0,所以如由式(14)所知的那样,关联函数不定。即,K的第3行第3列的要素虽然是1或-1的某一个,但是式(16)中不保证分配正的符号。因此,必须进行旋转矩阵R的验证。验证是旋转矩阵R的外积关系的确认或基于式(10)的验算等。这里所说的外积关系的确认是旋转矩阵R的列向量(以及行向量)满足坐标系的制约的确认。在右手坐标系中,第1列向量和第2列向量的外积等于第3列向量。
[0115] 控制部210如果判别旋转矩阵R正常(步骤S409:是),则计算移动向量t(步骤S414),结束坐标变换参数获取处理。
[0116] 另一方面,控制部210如果判别为旋转矩阵R不正常(步骤S409:否),则修正关联函数K(步骤S410)。这里,将关联函数K的第3行第3列的要素的符号反转。
[0117] 控制部210在完成步骤S410的处理后,使用修正后的关联函数K计算旋转矩阵R(步骤S411)。
[0118] 控制部210在完成步骤S411的处理后,为了有保证,再次判别旋转矩阵R是否正常(步骤S412)。
[0119] 控制部210如果判别为旋转矩阵R正常(步骤S412:是),则计算移动向量t(步骤S414)。另外,控制部210在完成步骤S414的处理后,结束坐标变换参数获取处理。
[0120] 另一方面,控制部210如果判别为旋转矩阵R不正常(步骤S412:否),则执行错误处理(步骤S413),结束坐标变换参数获取处理。
[0121] 控制部210在结束坐标变换参数获取处理(步骤S306)后,使用获取到的坐标变换参数来调整(合ゎせる)坐标系(步骤S307)。具体来说,使用式(3),将合成三维模型的特征点的坐标变换为被合成三维模型的坐标系的坐标。
[0122] 控制部210在结束步骤S307的处理后,存储特征点配对(步骤S308)。这里,特征点配对由被合成三维模型的特征点、和坐标变换后的合成三维模型的特征点中与该被合成三维模型的特征点之间的距离为规定值以下且最邻近的特征点构成。这里,特征点配对的数目越多,就越推定步骤S302中的3个特征点的选择、以及步骤S305中的全等三角形的选择是适当的。另外,特征点配对与坐标变换参数的获取条件(步骤S302中的3个特征点的选择、以及步骤S305中的全等三角形的选择)一起被存储在存储部250等中。
[0123] 控制部210在结束步骤S308的处理后,判别是否在步骤S305中选择了在步骤S303中搜索到的所有全等三角形(步骤S309)。
[0124] 控制部210如果判别为没有选择任一个全等三角形(步骤S309:否),则返回处理至步骤S305。
[0125] 另一方面,控制部210如果判别为选择了所有的全等三角形(步骤S309:是),则判别是否满足结束条件。在本实施方式中,结束条件是针对规定个数以上的条件获取了坐标变换参数。
[0126] 控制部210如果判别为没有满足结束条件(步骤S310:否),则返回处理至步骤S302。
[0127] 另一方面,控制部210如果判别为满足结束条件(步骤S310:是),则确定最佳坐标变换参数(步骤S311)。具体来说,确定获取了最多的特征点配对的坐标变换参数。换句话说,确定步骤S302中的3个特征点的选择、以及步骤S305中的全等三角形的选择为最佳的坐标变换参数。另外,坐标变换参数是旋转矩阵R和移动向量t。
[0128] 控制部210在结束步骤S311的处理后,结束照相机位置推定处理。
[0129] 控制部210在结束照相机位置推定处理(步骤S107)后,执行三维模型合成处理(步骤S108)。参照图8的流程图说明三维模型合成处理。
[0130] 首先,控制部210使用坐标变换参数,对所有的三维模型进行重叠(重ねる)(步骤S501)。例如,在第2次拍摄的情况下,在基于第1次拍摄到的配对图像而生成的被合成三维模型中,重叠基于第2次拍摄到的配对图像而生成的坐标变换后的合成三维模型。此外,在第3次拍摄的情况下,在基于第1次拍摄到的配对图像而生成的被合成三维模型中,重叠基于第2次拍摄到的配对图像而生成的坐标变换后的合成三维模型,进一步地,重叠基于第3次拍摄到的配对图像而生成的坐标变换后的合成三维模型。
[0131] 控制部210在完成步骤S501的处理后,根据各特征点重叠情况去除可靠性较低的特征点(步骤S502)。例如,根据相对于某三维模型的关注特征点的、其他三维模型的最邻近的特征点的分布,计算该关注特征点的氏距离(Mahalanobis距离)。在该马氏距离为规定值以上的情况下,判别为该关注特征点的可靠性较低。另外,最邻近的特征点中可以不包含距关注特征点的距离为规定值以上的特征点。此外,在最邻近的特征点的数目较少的情况下,可以认为可靠性较低。另外,实际上去除特征点的处理是在针对所有的特征点判别是否去除后执行的。
[0132] 控制部210在完成步骤S502的处理后,合并被认为是相同的特征点(步骤S503)。例如,将规定距离以内的特征点全部作为属于表示相同的特征点的组中的特征点来处理,将这些特征点的重心作为新的特征点。
[0133] 控制部210在完成步骤S503的处理后,重新构成多边形网孔(polygon mesh)(步骤S504)。即,基于在步骤S503中求出的新的特征点,生成多边形(polygon)。控制部210在完成步骤S504的处理后,结束三维模型合成处理。
[0134] 另外,表示在三维模型生成处理(步骤S104)中生成的三维模型的信息(典型地,特征点的坐标信息),在按压快门按钮331期间,保持全拍摄部分(全视线部分),基本不变更。即,在三维模型合成处理(步骤S108)中,是基于全拍摄部分的三维模型另外作成显示用或保存用的高精细的三维模型的处理。
[0135] 控制部210在完成步骤S108的处理后,将拍摄次数计数器N的值增加1(步骤S109)。
[0136] 控制部210在完成步骤S106或步骤S109的处理后,显示合成后的三维模型(步骤S110)。具体来说,控制部210将在三维模型合成处理(步骤S108)中获取到的三维模型显示在显示部310中。由此,用户能够知道在当前为止的拍摄中生成了何种程度正确的三维模型。
[0137] 控制部210在结束步骤S110的处理后,判别快门按钮331是否被放开(步骤S111)。控制部210如果判别为快门按钮331被放开(步骤S111:是),则在外部存储部260等中保存合成后的三维模型(步骤S112),完成三维建模处理。另一方面,控制部210如果判别为快门按钮331没有被放开(步骤S111:否),则返回处理至步骤S103。
[0138] 根据本实施方式的立体照相机1000,由于合成多个三维模型,所以在抑制形状信息缺失的同时,能够进行高精度的三维建模。此外,根据本实施方式的立体照相机1000,去除被认为可靠性较低的特征点,进一步合并被认为相同的特征点,从而进行三维建模。由此,能够进行适当的三维建模。进一步地,本实施方式的立体照相机1000由于不是同时从各个角度拍摄被拍摄对象的结构,所以能够小型化。此外,用户通过看到显示在显示部310中的多边形,能够知道生成了何种程度正确的三维模型。因此,用户能够判断是否充分进行了三维建模,或者为了充分的三维建模需要从什么样的角度进行拍摄等。
[0139] (变形例)
[0140] 本发明不限于上述实施方式中公开的情况。
[0141] 在上述实施方式中,在步骤S310中,示出了将结束条件设为在规定个数以上的条件中获取坐标变换参数的例子。但是,结束条件不限于该例子。例如,能够将结束条件设为获取到了特征点配对数目为规定个数以上的坐标变换参数。
[0142] 在上述实施方式中,在步骤S311中,示出了确定获取了特征点配对最多的坐标变换参数的例子。但是,也可以确定特征点配对的平均距离最小的坐标变换参数。
[0143] 在上述实施方式中,示出了使合成三维模型的坐标与被合成三维模型的坐标系的坐标一致的例子。但是,也可以使被合成三维模型的坐标与合成三维模型的坐标系的坐标一致。
[0144] 在上述实施方式中,示出了从被合成三维模型中选择3个特征点,从合成三维模型中选择与该3个特征点相对应的3个特征点的例子。但是,也可以从合成三维模型中选择3个特征点,从被合成三维模型中选择与该3个特征点相对应的3个特征点。
[0145] 本发明能够应用于不具有拍摄装置的设备(例如,个人计算机)。该情况下,基于预先准备的多个配对图像,执行三维模型的合成。另外,也可以将多个配对图像中最佳拍摄到被拍摄对象的配对图像分配为作为基准的配对图像(关键(key frame))。
[0146] 另外,本发明的三维建模装置不依赖于专用的系统,使用通常的计算机系统也能够实现。例如,在计算机中,将用于执行上述动作的程序存储在软盘、CD-ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto Optical Disk)等计算机可读取的存储介质中并进行分布,通过将其安装在计算机系统中,可以构成执行上述处理的三维建模装置。
[0147] 进一步地,可以在因特网上的服务器装置具有的盘装置等中存储程序,例如使其在载波中叠加,在计算机中下载等。
相关专利内容
标题 发布/更新时间 阅读量
三维对象建模 2020-05-11 895
眼球的三维建模方法 2020-05-12 173
三维建模的方法和装置 2020-05-13 589
三维建模装置以及三维建模方法 2020-05-11 704
三维建模方法及系统 2020-05-12 387
一种三维建模新型系统 2020-05-11 843
三维建模卡尺 2020-05-11 275
一种三维成像建模仪 2020-05-11 118
煤场三维温度建模装置 2020-05-11 456
一种三维建模扫描箱 2020-05-11 621
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈