三维造型装置和方法
本发明涉及一种三维造型装置及其方法以及记录三维造型程序的媒体,具体来说,涉及制作对象物体立体模型的三维造型装置及其方法,以及记录三维造型程序的媒体。
近年以来,为了获得三维图形图像,开发了种种将三维对象物体形状和纹理(色彩和模样)输入计算机的三维扫描仪。
例如,特开平5-135155号公报中揭示了一种通过用单镜摄像机对放置于转台上的对象物体摄像,得到多个轮廓图像生成该对象物体立体模型的三维造型装置。该装置中,根据多个轮廓图像得到对象物体在多个水平面(与转台旋转轴垂直的面)上的多个剖面形状。接着,连接相邻水平面上对象物体形状轮廓线上的各点,便形成三角补片(パッチ),由此生成对象物体的立体模型。这种三维模型装置,由于用转台使对象物体旋转,因而可以固定摄像机的摄像位置。因此,不需要计算摄像机的摄像位置。
但转台价格极高,这不利于实现简易且便宜的三维造型装置。
对此,金出武雄、康拉德·霍尔马逊、森田俊彦在电子信息通信学会论文期刊D-II,Vol.J76-D-II,No.8,pp.1497-1505(1993年8月)《利用因子分解法对物体形状和摄像机运动的还原》一文中,揭示了用所谓的因子分解法对对象物体摄像,由所得到的物体图像计算摄像机摄像位置的方法。但这种方法有计算误差逐次累积这种问题,因而不宜制作对象物体整个一周模型。
因而,本发明目的在于提供一种不需要转台的简易且价廉的三维造型装置及其方法以及记录三维造型程序的媒体。
按照本发明,三维造型装置是生成对象物体立体模型的装置,包括多个参照对象、摄像器材、计算器材和生成器材。多个参照对象配置于规定位置。摄像器材,例如为摄像机,与参照对象一起对对象物体进行摄像,获得物体图像。计算器材参照物体图像中参照对象,计算摄像器材摄像位置。生成器材根据物体图像和摄像位置生成立体模型。
较好是,上述参照对象不规则、非对称配置。较好是,参照对象分散配置。具体来说,令某一参照对象至另一参照对象的距离为1,该某一参照对象至另外两个参照对象的两个方向向量所成的夹角为θ时,最好将参照对象的配置确定为距离1的参照对象个数分布和具有夹角θ的参照对象个数分布均匀。另外,除了不规则配置的参照对象以外,也可以设有规则配置的参照对象。
较好是,上述多个参照对象具有多个属性。参照对象具有属性的场合,最好将参照对象的配置确定为上述距离1的参照对象个数分布和具有夹角θ的参照对象个数分布每一属性均匀。
较好是,上述属性为彩色。象这样,多个参照对象有多个彩色属性的场合,规定彩色空间中360度色调按多个彩色划分时,最好选择这样多个彩色,以便这样划分的色调中相邻2色间的角度总是较大。
较好是,上述参照对象形成于参照页上,但也可以形成于比该参照页厚的片、台或地板等平面上。上述参照对象形成为具有立体结构的参照物体。这里,也可以利用立体结构的物体由上述参照页覆盖后得到的作为参照物体。
较好是,上述计算器材按霍夫(Hough)变换法计算摄像位置。
较好是,上述摄像位置计算器材包含提取器、选择器、分配器、后补计算器、评价器和决定器。提取器从物体图像当中提取所摄取的参照对象。选择器从所提取的参照对象当中选择多个参照对象。分配器将所配置的多个参照对象当中的任意一个同所选定的每一参照对象加上对应,将该加上对应的参照对象位置分配为候补位置。候补计算器根据参照对象的候补位置计算摄像器材候补摄像位置。评价器赋予候补摄像位置评价值(为基于准确度的评价值,例如点数)。决定器将计算出的多个候补摄像位置当中评价值最大的候补摄像位置确定为摄像器材的摄像位置。
较好是,上述多个参照对象具有多个属性。上述摄像位置计算器材包含提取器、选择器、分配器、后补计算器、评价器和决定器。提取器从物体图像当中提取所摄取的参照对象。选择器从所提取的参照对象当中选择多个参照对象。分配器将所配置的多个参照对象当中具有同一属性的任意一个同所选定的每一参照对象加上对应,将该加上对应的参照对象位置分配为候补位置。候补计算器根据参照对象的候补位置计算摄像器材候补摄像位置。评价器赋予候补摄像位置评价值(为基于准确度的评价值,例如得分)。决定器将计算出的多个候补摄像位置当中评价值最大的候补摄像位置确定为摄像器材的摄像位置。
较好是,上述参照对象形成为具有立体结构的参照物体。上述摄像位置计算器材包含提取器、选择器、分配器、后补计算器、判断器、评价器和决定器。提取器从物体图像当中提取所摄取的参照对象。选择器从所提取的参照对象当中选择多个参照对象。分配器将所配置的多个参照对象当中的任意一个同所选定的每一参照对象加上对应,将该加上对应的参照对象位置分配为候补位置。候补计算器根据参照对象的候补位置计算摄像器材候补摄像位置。判断器判断摄像器材是否能够从候补摄像位置对所分配的参照对象进行摄像。评价器在判断器判定能够对所分配的摄像对象进行摄像的场合,赋予候补摄像位置评价值(为基于准确度的评价值,例如点数)。决定器将计算出的多个候补摄像位置当中评价值最大的候补摄像位置确定为摄像器材的摄像位置。
较好是,上述判断器包含内积计算器和判断器。内积计算器计算给出摄像器材摄像方向的视线向量和形成有所分配的参照对象的参照物体表面的法线向量的内积。判断器当内积为负时判定摄像器材能够对所分配的参照对象进行摄像。
较好是,上述判断器包含盲区计算器和判断器。盲区计算器以所配置的多个参照对象其各个规定位置为顶点、从候补摄像位置向远处方向延伸的锥体状盲区(从上述候补摄像位置看去,可以推测为参照对象遮住、看不见的区域)。判断器当所分配的参照对象位于盲区以外时,判定摄像器材能够对所分配的参照对象进行摄像。
较好是,上述评价器包含投影点计算器、计数器和加权器。投影点计算器根据候补摄像位置分别计算所配置的多个参照对象至物体图像上的多个投影点位置。计数器对所提取的参照对象当中距投影点在规定距离以内的参照对象的个数进行计数。加权器根据计数得出的参照对象个数赋予候补摄像位置评价值。
较好是,上述摄像位置计算器材还包含投影点计算器、距离计算器和修改器。投影点计算器根据所确定的摄像位置分别计算所配置的多个参照对象至物体图像上的多个投影点位置。距离计算器计算投影点与所提取的参照对象当中位于其附近的参照对象之间的距离。修改器对所确定的摄像位置进行修改,使得依据距离的评价值较小,也就是说,距离总体来说较短,例如使得距离的平方和或距离的总和为最小。
较好是,上述摄像位置计算器材还包含判断器。判断器从所配置的多个参照对象当中判定摄像器材能够从所确定的摄像位置进行摄像的参照对象,将判定能够进行这种摄像的参照对象作为投影点计算器的计算对象,而且将判定无法摄像的参照对象排除在投影点计算器的计算之外。
较好是,上述三维造型装置还具有设定器材。设定器材重新将别的参照对象设定在物体图像中参照对象位置以外的位置。
较好是,上述设定器材擦除物体图像中参照对象的有关数据,记录别的参照对象的有关数据。
较好是,上述设定器材除了记录物体图像中参照对象的有关数据以外,还记录别的参照对象的有关数据。
较好是,上述三维造型装置还具有存储器和通知器材。存储器存储摄像位置。通知器材将存储器存储的摄像位置以外的位置通知摄像器材的摄像人员。这里,对于存储器存储的摄像位置(已摄像视点)以外的位置(下一摄像视点),较好是选择距所存储的摄像位置较远的位置,更好是选择最远的位置。此外,也可以根据对象物体的大致形状信息,选择可得到更正确形状的视点作为新的摄像视点。
综上所述,按照本发明,连同配置于规定位置的多个参照对象对对象物体进行摄像,根据由此得到的物体图像中参照对象的位置,计算摄像机摄像位置,因而,不用象以往那样用转台等也能生成立体模型。因而,可以实现简易且价廉的三维造型装置。
参照对象不规则且非对称配置,因而,不需要严格考虑与参照对象的位置关系来设置对象物体。因此,对象物体比参照页或参照物体大的场合也能够生成其立体模型。此外,对象物体与参照页或参照物体相比较为庞大时,只要在该庞大对象物体周围设置多个参照页或参照物体,就能够生成其立体模型。
参照对象还具有属性,因此计算摄像位置时搜索空间小,摄像位置的计算速度较快。此外,属性为彩色,因此可以很方便地区别这种属性差异。
而且,总是根据已知的参照对象计算摄像机摄像位置,因此不会累积计算误差。而且,按霍夫变换法计算摄像机摄像位置,因此可以减少参照对象的提取误差和物体图像中噪声的影响,而且还能够适当修改计算精度。
还判断能否对参照对象进行摄像,仅当能够摄像时赋予候补摄像位置规定点数,因此摄像位置计算精度较高。
还对位于参照对象至物体图像上的投影点附近的参照对象进行计数,并赋予候补摄像位置与该计数相应的点数,因此摄像位置计算精度较高。
还计算参照对象至物体图像上的投影点和位于其附近的参照对象之间的距离,并修改所确定的摄像位置,使得该距离的平方和最小,因此摄像位置计算精度较高。此外,还判断能否对参照对象进行摄像,将能够摄像的参照对象作为上述投影点计算对象,将不能摄像的参照对象排除在该对象之外,因此摄像位置计算精度更高。
而且,连同参照对象对对象物体摄像后,改为在这样得到的物体图像当中参照对象以外位置上设定参照对象,因此还可以生成庞大对象物体的立体模型。
还存储计算得出的摄像位置,并且将这种存储的摄像位置以外的位置作为下一摄像位置通知摄像人员,因此可以高效地获得为了生成立体模型所需的物体图像。
图1示出的是本发明实施例1的三维造型装置的总体构成。
图2是表示图1所示计算机主要构成的框图。
图3是图1所示参照页的平面图。
图4A和图4B是图3所示参照点配置方法的说明图。
图5A-图5C是图4所示方法得到的参照点其配置分散度评价方法的说明图。
图6示出的是对要作为参照点属性选择的彩色进行说明用的HSV空间中的色调平面。
图7是考虑彩色属性用图4所示方法得到的参照点其配置分散度评价方法的说明图。
图8是表示用图1所示三维造型装置生成对象物体立体模型的方法的流程图。
图9A是图8流程图中对对象物体摄像的步骤的说明图,图9B是用以生成轮廓图像的步骤的说明图,图9C是进行主干处理步骤的说明图,图9D是生成多面体步骤的说明图,图9E是进行纹理映像的步骤的说明图。
图10与图9A相同,是连同参照点对对象物体摄像的步骤的说明图。
图11是图8所示参照点记录处理、摄像和摄像位置计算步骤的具体流程图。
图12A-图12C是表述数字静物摄像机摄像位置和旋转角的变量其定义的说明图。
图13示出的是图11所示霍夫变换法所用的霍夫变换表。
图14是用图1所示三维造型装置生成庞大对象物体立体模型的生成方法的说明图。
图15是表示参照点属性其他例子的参照页的局部平面图。
图16是表示替代图1所示参照页的参照物体的斜视图。
图17是图16所示参照物体的平面图。
图18A-图18D分别是图16所示参照物体的主视图、右视图、后视图和左视图。
图19是表示另一例代替图1所示参照页的参照物体的斜视图。
图20是表示本发明实施例2三维造型装置主要构成的流程图。
图21是用以说明图20所示流程图中对对象物体的最初摄像的斜视图。
图22是用以说明接着图21所示最初摄像第二次摄像的斜视图。
图23是用以说明接着图22所示第二次摄像第三次摄像的斜视图。
图24是表示本发明实施例3三维造型装置主要构成的流程图。
图25是图24所示流程图中假定的多个单元组成的圆形穹面的概念图。
图26是表示本发明实施例4三维造型装置主要构成的流程图。
图27是用以说明图26所示流程图中计算的投影点的斜视图。
图28是表示一例包含图26所示流程图中计算的投影点和提取的参照点在内的物体图像的正面图。
图29是表示另一例包含图26所示流程图中计算的投影点和提取的参照点在内的物体图像的正面图。
图30是表示本发明实施例5三维造型装置主要构成的流程图。
图31是用以说明图20所示流程图中所用的摄像机视线向量和参照点法线向量的斜视图。
图32是表示本发明实施例6三维造型装置主要构成的流程图。
图33是用以说明图32所示流程图中计算的盲区的平面图。
图34是表示本发明实施例7三维造型装置主要构成的流程图。
图35是用以说明图34所示流程图中所用的摄像机视线向量、参照点法线向量和投影点的斜视图。
图36是表示一例包含图34所示流程图中计算的投影点和提取的参照点在内的摄取图像的正面图。
以下参照附图详细说明本发明实施例。另外,图中相同或相应部分加上相同标号,不再重复说明。
[实施例1]
图1示出的是本发明实施例1三维造型装置的总体构成。参照图1,本实施例1的三维造型装置包括参照页1,数字静物摄像机2,计算机3和CD-ROM(光盘-只读存储器)4。参照页1上形成有多个参照点5R、5G、5B、5Y,配置于不规则且非对称的规定位置上。数字静物摄像机2对要获得立体模型的对象物体(未图示)连同参照点5R、5G、5B、5Y一起进行摄像,获得物体图像。这里采用的是可以获得静止画面的静物摄像机2,但也可以采用能够获得活动图像的电视摄像机来代替它。CD-ROM4记录有计算机3根据数字静物摄像机2得到的物体图像、生成对象物体立体模型用的程序。这里采用CD-ROM4作为记录程序的媒体,但也可以用磁盘、CD-R、DVD、存储卡等来代替。
图2是表示图1所示计算机3主要构成的框图。参照图2,该计算机3包括:中央处理器(CPU)7,只读存储器(ROM)8,随机存取存储器(RAM)9,输入输出接口(I/F)10,以及用以使CPU7、ROM8、RAM9和I/F10互相结合的数据/地址总线11。数字静物摄像机2和CD-ROM4用的驱动器与I/F10连接,由此数字静物摄像机2得到的物体图像和CD-ROM4记录的三维造型程序通过I/F10存储于RAM9中。CPU7按照ROM8和RAM9中存储的程序进行运算处理。
图3是图1所示参照页1的平面图。参照图3,参照页1上的参照点5R、5G、5B、5Y配置于不规则且非对称的规定位置,而且具有4种彩色属性。具体来说,参照点5R具有红色属性,参照点5G具有绿色属性,参照点5B具有蓝色属性,参照点5Y具有黄色属性。这里,参照点是严格地具有规定面积的圆。
图4A和图4B是图3所示参照点5R、5G、5B、5Y配置方法的说明图。先如图4A所示规则配置参照点5,接着如图4B所示凭直觉将该规则配置错开,由此对参照点5进行不规则且非对称配置。参照点5的配置不仅要不规则和非对称,还希望适当的分散。
图5A-图5C是如图4B所示错开的参照点5其配置分散度评价方法的说明图。如图5A所示,令某一参照点5至另一参照点5的距离为1,该某一参照点至另两个参照点5的两个方向向量所成的夹角为θ。图5B和图5C是表示距离1和该距离为1的参照点5个数的分布图。对全部参照点5测定距离1的结果是,若配置成参照点5具有种种距离1的话,则如图5B所示,具有距离1的参照点5其个数分布是均匀的。另一方面,参照点5偏离配置的话,则如图5C所示,其分布不均匀。夹角θ也可以按与上述距离1相同的方法评价。具体来说,图5B和图5C中距离1代之以夹角θ对参照点5计数。因此,配置为参照点5具有种种夹角θ的话,则如图5B所示具有夹角θ的参照点5其个数分布均匀。因而,不论是距离1的分布还是夹角θ的分布,都希望参照点5的配置确定为如图5B所示那样均匀。
这里,选择红色、绿色、蓝色、黄色四种彩色作为参照点5的属性,但为了便于彩色识别,最好选择色调完全不同的彩色。图6示出的是HSV(Hue色调;Saturation色饱和;Value亮度)空间中的色调平面。这里,除了色调互相有120度差异的红色、绿色、蓝色三种彩色以外,还选择了黄色,但在选择四种彩色时,也可以采取选择色调相差90度的四种彩色(图6中用虚线表示)的方法。
象这样参照点5具有4色属性时,最好按每一彩色分散参照点5的配置。图7是表示采用红色、黄色、绿色、蓝色四种彩色作为参照点5属性时距离1(或夹角θ)和为该距离1(或夹角θ)的参照点个数的分布图。如图7所示,采用彩色作为参照点5属性时,最好按每一彩色评价参照点5的配置。这时,参照点5配置为参照点5的分布不论哪一彩色都均匀。
这里,用HSV空间作为色空间,但也可以适当采用其他色空间来代替。
而且,以上说明的是凭直觉错开参照点5规则的配置来获得不规则和非对称配置的方法,但也可以采用这样一种方法,通过产生随机数求出参照点5的配置,然后用上述评价方法判定其不规则性和非对称性,只要判定足以满足所需的不规则性和非对称性,就采用该配置。
图8是表示记录于图1所示CD-ROM4的三维造型程序的流程图。图9A是图8中对象物体和参照点的摄像步骤S2的说明图。图9B是图8中轮廓图像制作步骤S4的说明图。图9C是图8中主干处理步骤S5的说明图。图9D是图8中多面体制作步骤S6的说明图。图9E是图8中纹理映像步骤S7的说明图。
参照图1、图2、图8和图9A-图9E,首先在步骤S1进行参照点的记录处理,将参照点5R、5G、5B、5Y的位置记录于RAM9。
接着在步骤S2,用数字静物摄像机2从多个位置对对象物体12摄像,得到多幅物体图像A1-An。这时,由于将对象物体12置于参照页1上,因而对象物体12与参照页1上的参照点5R、5G、5B、5Y一同被摄取。另外,不需要摄取全部参照点5R、5G、5B、5Y,只要对其大多数摄像就行。
接着在步骤S3,根据物体图像A1~An中参照点5R、5G、5B、5Y的位置计算数字静物摄像机2的摄像位置。这里是按照图11流程图所示的霍夫(Hough)变换法计算摄像位置的。霍夫变换法是自动生产流水线等计算所摄取的图像中物体三维位置的方法,例如J.Illingworth,J.Kittler,“A survey of the HoughTransform”(“霍夫变换法综述”),Computer Vision,Graphics and ImageProcessing(CVGIP;《计算机视频、图形和图像处理》期刊)44,1988,pp.87-116等有所揭示。这里,尽管采用的是霍夫变换法,但只要可以根据物体图像A1~An中参照点5R、5G、5B、5Y的位置计算摄像机2的摄像位置,用任何方法代替都行,例如也可以用前述因子分解法。
在步骤S4按照公知的图像间差分法制作轮廓图像。具体来说,在物体图像A1~An和预先摄取的背景图像之间进行差分处理,如图9B所示制作多个轮廓图像B1~Bn。差分处理过程中,按每一像素算出物体图像色信号电平与背景图像色信号电平之差。这里,尽管采用图像间差分处理法来提取物体图像A1~An中对象物体的轮廓,但也可以用公知的立体像法来代替图像间差分处理。立体像法用双镜摄像机对对象物体12摄像,根据该图像中的进深信息将对象物体12与背景相区别。
接着在步骤S5进行公知的主干(ボ-ティンゲ)处理。具体来说,根据多个轮廓图像B1~Bn对格子单元空间投票。得票数比预定数高的部分即对象物体12所在区域。由此可以获得对象物体12的立体形状。
在步骤S6,根据步骤S5得到的对象物体12的立体形状制作三角补片(パッチ)组成的多面体14。所以,对象物体12的立体形状表现为多个多面体14。按多面体14表现的立体形状存储于RAM9。
最后在步骤S7,对每一S6制作的多面体14映射相应的纹理。由此可以获得对象物体12经塑造后的立体模型15。纹理是从物体图像A1~An得到的彩色信息,存储于RAM9。
上述步骤S4~S7是根据物体图像A1~An和摄像机2的摄像位置生成立体模型15的,当然也可以用除此以外的任何公知方法。步骤S3~S7的处理由CPU7按照RAM9存储的程序执行。
图9C用的是柱面座标系格子单元空间,也可以采用正交座标系格子单元空间来替代。
以下说明用如上所述构成的三维造型装置生成对象物体12立体模型15的方法。
首先如图10所示,将参照页1铺设在平整的地方,要制作立体模型15的对象物体12置于其上。
接下来如图11流程图所示,在步骤S1按每一彩色(类别)将参照页1上参照点5R、5G、5B、5Y的位置数据存储于RAM9中。这里;将原点设定在例如参照页1上的任意位置,位置数据采用相对于该原点的相对座标。该位置数据预先记录于CD-ROM4上,最好将上述三维造型程序安装到计算机3中时,一同将该位置数据也存储于RAM9。
在步骤S2,如图10所示用数字静物摄像机2对对象物体12摄像。这时,不仅仅是对对象物体12,还一同对参照点5R、5G、5B、5Y摄像。而且,为了制作完整的立体模型,最好从种种错开的位置对对象物体12摄像。通过从多个位置对对象物体12摄像,数字静物摄像机2内的存储器(未图示)存储有多个物体图像数据。该数字静物摄像机2与计算机3的I/F10连接,数字静物摄像机2内存储器存储的物体图像数据通过I/F10传送至RAM9。
接着在步骤S3(图8),CPU7按照图11所示的流程图(S31~S39),按每一物体图像A1~An计算数字静物摄像机2的摄像位置。
具体来说,首先在步骤S31,从所摄取图像A1~An中提取参照点5R、5G、5B、5Y。参照点5R、5G、5B、5Y由于不规则且非对称配置,所以将该提取的参照点5R、5G、5B、5Y的位置与步骤S1预先记录的参照点5R、5G、5B、5Y的位置比较,就可以确定摄像机2的摄像位置。
因此,首先在步骤S32将所提取的参照点5R、5G、5B、5Y分为红色、绿色、蓝色和黄色四种类别。
接着在步骤S33,从所提取的参照点5R、5G、5B、5Y当中任意选择3个参照点。这里,所选定的3个参照点不一定要不同彩色(类别),而且不一定要相同彩色(类别)。所以,从物体图像当中提取出例如4n个参照点(每一彩色n个)时,则为C4n 3种组合。这里,分别令所选定的3个参照点为P1、P2和P3,其类别为C(Pi)。
接着在步骤S34,对于各个参照点Pi(i=1~3)依次适当分配参照页1上表示参照点5R、5G、5B、5Y中任意位置的三维候补座标。具体来说,使参照页1上多个参照点5R、5G、5B、5Y中相同彩色的任意一个参照点与所选定的3个参照点P1、P2和P3中的每一个加上对应,将该加上对应的参照点位置分配作为候补位置。例如只要所选定的参照点P1为绿色,就可以使参照页1上绿色参照点5G中任意一个与该参照点P1加上对应。从RAM9中读出该加上对应的参照点5G的位置数据,作为上述选定的参照点P1的候补位置。
接着在步骤S35,根据所分配的三维候补座标的组合计算摄像机2的位置x,y,z和旋转角(姿态)α,β,γ。这里计算得出的位置x,y,z和旋转角α,β,γ是假定上述所分配的三维候补座标正确时摄像机2的候补摄像位置。这里,表示摄像机2摄像位置的变量x,y,z和α,β,γ按图12A-图12C所示定义。具体来说,如图12A所示,参照页1的面为xy平面(z=0)。所以,z为距参照页1的高度。而且,摄像机2的姿态由x’y’z’座标表示,摄像机2的光轴与y’轴一致。上述摄像机2的旋转角α,β,γ根据欧拉角定义。具体来说,按图12B所示定义摄像机2在xyz座标上的基准姿态。使该基准姿态的摄像机2如图12C所示绕z轴旋转γ,接着绕x轴旋转β,再绕z轴旋转α,便为摄像机2的实际姿态。这时的旋转角α,β,γ就是欧拉角。
在步骤S35求摄像机2的位置x,y,z和旋转角α,β,γ,但这由于是将三维候补座标适当分配给3个参照点P1、P2、P3的基础上求出的,因而不一定正确。因此,在步骤S36,对于这样求出的x,y,z和α,β,γ为正解的可能性在图13所示霍夫表的相应位置分别投上1票。图13表中横轴表示各变量数值,纵轴表示投票票数。
接着在步骤S37判断是否对全部座标进行过步骤S34中的候补分配。三维候补座标全部分配完毕时,进行步骤S38的处理。
在步骤S38判断是否对全部组合进行过步骤S33的3个参照点的选择。每一类别按全部组合从所提取的参照点当中选择3个参照点时,进行步骤S39的处理。
在步骤S39,将图13所示表上得票数最多的数值xp,yp,zp,αp,βp,γp确定为摄像机2的位置和旋转角。
根据这样算出的摄像机2的摄像位置和物体图像A1~An,按照图8和图9A-图9E所示的公知办法生成立体模型15。
综上所述,按照本实施例1,对对象物体12连同配置在已知位置的参照点5R、5G、5B、5Y一起摄像,根据这样摄取的参照点5R、5G、5B、5Y的位置计算摄像机2的摄像位置,所以不必象以往那样需要转台,可以实现一种采用参照页1的简易、价廉的三维造型装置。
而且,参照点5R、5G、5B、5Y不规则且非对称配置,所以可以相对于参照页1将对象物体12置于任意位置。也就是说,不需要严格考虑同参照点5R、5G、5B、5Y的位置关系来设置对象物体12。因此,即便是对象物体比参照页1大的场合,也可以通过将参照页1铺设在该大型对象物体附近来生成其立体模型。
即便是如图14所示要制作立体模型的对象物体17与参照页1相比极大的场合,只要在对象物体17的周围铺设多张参照页1,就可以制作对象物体17的立体模型。这时,参照页1上参照点的配置最好互相有所不同,当然也可以相同。这是因为,参照点的配置互相相同时,只要不规则铺设参照页1,就能够识别各个参照页1。而参照页1上参照点配置相同时,参照页1通用性提高。
而且,每一图像的摄取均独立计算摄像位置,所以计算误差不会逐次累加,可以制作对象物体整个一周的完整立体模型。而且,只要修改图13所示的霍夫表的解像度(各变量可以取的数值个数),还可以适当修改摄像机位置的计算精度。若降低霍夫表解像度,摄像机位置的计算精度便降低,但摄像机位置的计算速度加快。而将霍夫表的解像度提高,摄像机位置的计算速度便减慢,但摄像机位置的计算精度提高。
而且,提供给参照点5R、5G、5B、5Y彩色属性,因而,与完全不向参照点提供属性的时候相比,确定位置x,y,z和旋转角α,β,γ所需的组合计算量少,因此摄像机位置的计算速度较快。
而且,参照点属性除了彩色以外,还可以采用○、△、□这种形状。此外,参照点是否与边缘连接这种线段信息也可以作为属性信息提供。例如,对象屋子那样大的对象物体塑造模型时,也可以将屋子外壁角作为参照点。具体来说,通过边缘检测来提取屋子外壁的棱线,将该棱线的交点作为参照点,就可以大幅缩短上述组合所需的计算时间。
此外,上述实施例中是将1种彩色作为属性提供给1个参照点的,但也可以如图15所示,用分成多个色块18的参照页,将这种色块18边界线交叉的点作为参照点19。这时,提供给各个参照点19的属性可能是为某一色块18的交叉点这种属性。
上述实施例1中,为了求出摄像机的位置和旋转角,选择了3个参照点,但也可以设法选择4个以上的参照点。
上述实施例1中用的是平面的参照页1,但也可以采用图16所示的立体参照物体20。该参照物体20的5个面A0、B1~B4上分别如图17和图18A~图18D所示在不规则和非对称规定位置上配置有参照点21。图17和图18A~图18D中,标在参照点21附近的例如“1/A”,表明参照点的识别号为“1”,属性为“A”(例如红色)。
以下表1示出图17和图18A-图18D中示出的参照点的座标x,y,z。
[表1]
面 |
识别号 |
属性 |
x |
y |
z |
A0 |
1 |
C |
-84 |
63 |
0 |
2 |
D |
-19 |
59.5 |
0 |
3 |
A |
58 |
82 |
0 |
4 |
B |
91.5 |
21.5 |
0 |
5 |
C |
68 |
-77 |
0 |
6 |
A |
39.5 |
-64.5 |
0 |
7 |
D |
-52 |
-86 |
0 |
8 |
B |
-60 |
-28 |
0 |
B1 |
9 |
C |
-68 |
-100 |
-39.5 |
10 |
B |
-26 |
-100 |
-12 |
11 |
A |
-10.5 |
-100 |
-61 |
12 |
D |
58.5 |
-100 |
-20.5 |
B2 |
13 |
B |
100 |
-84 |
-68 |
14 |
A |
100 |
-46.5 |
-12 |
15 |
C |
100 |
6.5 |
-35.5 |
16 |
D |
100 |
54.5 |
-67 |
B3 |
17 |
A |
92 |
100 |
-51.5 |
|
18
|
D
|
42
|
100
|
-32
|
19
|
C
|
-64.5
|
100
|
-42
|
20
|
B
|
-82.5
|
100
|
-10 .5
|
B4
|
21
|
A
|
-100
|
71
|
-68
|
22
|
D
|
-100
|
46.5
|
-23.5
|
23
|
C
|
-100
|
-25
|
-10
|
24
|
B
|
-100
|
-81.5
|
-45.5
|
此外,参照物体不限于图16所示的长方体,也可以是例如图19所示的六面体,其形状没有任何限定。该参照物体22各面也形成有参照点23。各参照点23附近的数字表示属性。
另外,上述参照点所代表的参照对象只要是能够成为位置确定基准的,其形状等没有任何限定。此外,上述实施例中提供给参照点几种属性,但也可以不提供任何属性。
[实施例2]
图20是表示本发明实施例2三维造型装置主要构成的流程图。图20中,步骤S31~S39、S41~S44是计算机生成对象物体立体模型用的程序,记录于CD-ROM4。
该三维模型装置目的在于生成如图21~图23所示房屋等庞大对象物体的立体模型。因而,与上述实施例1中参照点固定的情形不同,本实施例2中参照点是逐次更新。
具体来说,该程序除了图11所示步骤以外,还包括:从所摄取的物体图像当中提取新的候补参照点的步骤S41;计算该新的候补参照点三维座标的步骤S42;将该新的候补参照点作为参照点记录于RAM9,也就是说用该候补参照点替换以前的参照点的步骤S43;以及判断步骤S2~步骤S43的处理是否从为了生成完整的立体模型所需的全部视点摄取对象物体完毕的步骤S44。
以下说明用如上所述构成的三维造型装置生成对象物体立体模型的方法。
首先如图21所示,在要制作立体模型的房屋内的适当位置放置参照物体24。该参照物体24上的参照点25配置于不规则和非对称的规定位置,该位置在与图11所示步骤相同的图20所示步骤40中预先记录于RAM9。
接着在步骤S2,连同参照点25一起摄取房屋一部分。从不同的视点包含参照点25在内这样多次摄取房屋一部分,便可获得多幅物体图像26、27。
接下来在步骤S31从所摄取的物体图像26、27当中提取参照点25。
接着在步骤S32~S39,与上述相同,按照霍夫变换法,根据参照点的位置和作为属性的彩色,计算摄像机2的位置和旋转角。
接下来在步骤S41,从所摄取的物体图像26、27当中将新的参照点28作为下一候补参照点提取。对于新的候补参照点,希望提取例如桌子29的角这样的特征点。若是桌子29的角,便可通过边缘检测来提取。
接着在步骤S42,按三角测量原理计算作为下一候补参照点举例的参照点28的三维座标。
接下来在步骤S43,记录该新参照点28的位置来代替初始参照点25的位置。由此,便可更新参照点位置。
接着在步骤S44,判定是否获得为了制作房屋立体模型所需的全部物体图像,但这里物体图像尚不够,故再在步骤S2,如图22所示包含该新的参照点在内这样来摄取房屋另一部分。由此,便可获得包含新的参照点28在内的房屋另一部分的物体图像30和31。
接下来在步骤S31从物体图像30、31当中提取参照点28,在步骤S32~S39计算摄像机2的位置和旋转角。
接着在步骤S41从物体图像30、31当中进一步提取新的参照点32作为下一候补参照点,在步骤S42计算该新的参照点32的三维座标,记录该参照点32来替代以前的参照点28。
接下来再在步骤S2~43,包含新的参照点32在内这样对房屋不同部摄像,得到物体图像33、34,进一步记录新的参照点35。
最后在步骤S44,若判定得到了为了制作房屋立体模型所需的全部物体图像,该程序便结束。
综上所述,按照本实施例2,通过改为在步骤S41~S43所摄取的物体图像中参照点位置以外来设定参照点,因而即便是房屋这样庞大的对象物体,也能够制作其立体模型。因而,即便是制作庞大对象物体立体模型的场合,也不必准备多个参照物体,或准备庞大的参照物体。
以上说明的是通过用候补参照点替换以前的参照点,即便是庞大的对象物体也能生成其立体模型的方法,但不是用候补参照点去替换以前的参照点,而是将候补参照点加入以前的参照点中也行。因而,也可以擦除物体图像中参照对象的有关数据,记录别的参照对象的有关数据,此外,也可以除了物体图像中参照对象的有关数据以外,还记录别的参照点的有关数据。
[实施例3]
图24是表示本发明实施例3三维造型装置主要构成的流程图。上述实施例中从哪一视点对对象物体12摄像是摄像人员随意决定的。由于错开摄像视点有可能无法获得足以制作完整立体模型15的物体图像。因此,本实施例3的目的在于提供一种能够确实获得制作完整立体模型所需的物体图像的三维造型装置。
图24是表示本发明实施例3三维造型装置主要构成的流程图。图24中,步骤S51、S53~S59是计算机3通知摄像人员下一摄像视点用的程序,记录于CD-ROM4。
这里,如图25所示设想多个由单元36、37构成的球状穹面38。穹面38包围着对象物体12。单元36、37为与对象物体12摄像用的摄像视点对应设置于RAM9内的存储区。所以,摄像已结束的视点所对应的存储区记录有这种内容。这些单元36、37分配给RAM9的规定地址。总之,本实施例3是对摄像人员指令下一摄像视点,以便已摄像状态的单元37均匀分布。
另外,这里设想的是球状穹面,但在对象物体置于地面等平整部分等场合,显然无法在下方设定摄像视点时,也可以设想部分球状、例如半球状穹面。
此外,这里是设想对摄像人员指令下一摄像视点以便摄像视点均匀分布的,但也可以在获得对象物体大致形状的阶段,根据这种形状算出能获得正确形状的下一摄像视点,向摄像人员指令这种摄像视点。
参照图24,该程序包括:将穹面38全部单元初始化为未摄像状态的步骤S51;与图11步骤S31~S39相同,根据步骤S52得到的物体图像计算摄像视点,即摄像机2位置和旋转角的步骤S53;将该摄像视点对应的单元37设定为已摄像状态的步骤S53;将已摄取的物体图像幅数与物体图像所需幅数比较的步骤S55;已摄取的物体图像幅数不足物体图像所需幅数时,计算未摄像状态的单元36分别至已摄像状态单元37距离的步骤S56;将步骤S56计算得出的距离当中最大的距离与规定距离比较的步骤S57;该最大距离比规定距离长时,将至已摄像状态单元37距离最大的未摄像状态单元36的位置设定为下一摄像视点的步骤S58;将步骤S58设定的下一摄像视点显示在数字静物摄像机2取景器内等的步骤S59。已摄像位置存储于RAM9中。
以下说明采用如上所述构成的三维造型装置制作对象物体12立体模型的方法。这里,假定物体图像指定幅数为20幅。
首先在步骤S51,使穹面38全部单元初始化为未摄像状态。
接着在步骤S52,从所需摄像视点对对象物体12摄像获得物体图像。
接着在步骤S53,根据所得到的物体图像中的参照点等测定摄像机2的位置,即摄像视点。
接下来在步骤S54,与该摄像视点对应的单元37设定为已摄像状态。
接着在步骤S55,已摄像的物体图像幅数与指定幅数(这里为20幅)比较。
已摄取的物体图像幅数不足指定幅数时,在步骤S56计算未摄像状态每一单元36至已摄像状态单元37的距离。
接下来在步骤S57,将这样计算得出的距离当中的最大距离与预定的距离比较。最大距离比预定距离短时,即便是已摄取的物体图像幅数不足指定幅数的场合,该程序仍然结束。所以,摄像幅数指定20幅时,但以比它少例如16幅立体图像便足以生成立体模型的场合,也可以不进行这么多幅的摄像。
而最大距离比预定距离长时,便在步骤S58将至这种已摄像状态的单元37距离最大的未摄像状态单元36设定为下一摄像视点。
接着在步骤S59中在摄像机2取景器内等显示该下一摄像视点。这里,除了在取景器内显示下一摄像视点以外,计算机3可以设法用声音通知摄像人员下一摄像视点。因而,摄像人员按照该显示的下一摄像视点,在步骤S52从该下一摄像视点对象物体12摄像。
根据上述结果得出的多个物体图像和摄像位置(摄像视点),按照图8所示步骤S4~S7生成对象物体2的立体模型15。
综上所述,按照本实施例3,为了获得生成完整和立体模型15所需的物体图像,由于通知摄像人员摄像视点,因而摄像视点不错开,就能够有效地获得生成立体模型15所需的物体图像。而且,未摄像状态单元36至已摄像状态单元37的最大距离比预定距离短时,即便是例如已得到的立体图像幅数比指定幅数少的场合,该程序仍然结束,因而不会进行多余的摄像,可以迅速地生成立体模型15。
[实施例4]
上述实施例1中,对于图11所示步骤S36求出的摄像机2的候补位置x,y,z和旋转角α,β,γ为正解的可能性,在图13所示那种霍夫表的相应位置一律赋予1点。但所求出的候补位置x、y、z和候补旋转角α,β,γ为正解的可能性不全相同,既有可能性高的候补,也有可能性低的候补。因而,可以根据其可能性按加权的点数投票。
具体来说,本发明实施例4用图26所示的步骤S361~S363来替代图11所示的步骤S36。在图11所示步骤S35计算摄像机2的候补位置x、y、z和候补旋转角α,β,γ之后,在图26所示步骤S361根据该候补位置x、y、z和候补旋转角α,β,γ分别计算参照页1上全部参照点5R、5G、5B、5Y至每一物体图像A1~An上的投影点的位置。例如图27所示,参照点5R的投影点40R位于参照点5R至摄像机2的直线与所摄取图像Ai(i=1~n)的交叉点。参照点5G的投影点40G位于参照点5G至摄像机2的直线与所摄像图像Ai的交叉点。参照点5B的投影点40B位于参照点5B至摄像机2的直线与所摄取图像Ai的交叉点。参照点5Y的投影点40Y位于参照点5Y至摄像机2的直线与所摄取图像Ai的交叉点。这些投影点是摄像机2在所求出的候补位置x、y、z和候补旋转角α,β,γ对参照点5R、5G、5B、5Y摄像便能获得的所摄取图像Ai上的参照点位置。在实际摄取的图像Ai上,存在图11所示步骤S31提取的参照点41。存在与投影点40G完全一致的参照点41,还存在与投影点40B和40Y大致一致的参照点41,但不存在与投影点40B完全或大致一致的参照点。
例如,图28所示的摄像图像Ai上,3个投影点40与提取出的参照点41完全一致。其他投影点40与所提取出的参照点41不完全一致,但在7个投影点40附近(用虚线表示)存在提取出的参照点41。余下一个投影点40的附近不存在所提取的参照点。
此外,图29所示的摄取图像Ai上,4个投影点40与所提取出的参照点41完全一致。其他投影点40与所提取出的参照点41不完全一致,而且在其附近也不存在所提取出的参照点。
另外,图28和图29中,加在投影点40附近的标号r、g、b、y分别表示与该投影点对应的参照页1上参照点的彩色(红色、绿色、蓝色、黄色)。而提取出的参照点41附近加上的标点R、G、B、Y分别表示该提取出的参照点的彩色(红色、绿色、蓝色、黄色)。
接下来,如图26所示,在步骤S362,对投影点40或位于其附近的参照点41计数。具体来说,对所提取的参照点41中距投影点40在规定距离以内的参照点41计数。例如在图28所示的摄取图像Ai场合,该计数为10。在图29所示的摄取图像Ai场合,该计数为4。该计数越多,所求出的候补位置x、y、z和候补旋转角α,β,γ为正解的可能性越高,反之,该计数越少,其可能性就越低。但由于将实际参照点的位置分配给图11所示步骤33所选定的3个参照点,因而至少3个投影点40与提取出的参照点41完全一致。
接着在步骤S363,在图13所示霍夫表相应位置增加该计数。由此,对于正解可能性越是高的候补x,y,z,α,β,γ进行加权时赋予越高点数。这里,计数是按原数值赋予的,但也可以赋予与计数对应的点数(例如与计数成正比的点数)。
综上所述,按照本实施例4,由于赋予正解可能性高的候补x,y,z,α,β,γ越是高的点数,因而摄像机2摄像位置的计算精度进一步提高。
[实施例5]
在图11所示的步骤S34~S37中,是分配参照页1上全部参照点5R、5G、5B、5Y的位置,即全部三维候补座标,对于所求出的摄像机2的候补位置x,y,z和候补旋转角α,β,γ增加1点的,但采用如图16或图19所示的具有立体结构的参照物体20或22时,有时无法从步骤S35求出的位置对步骤S34分配的参照点进行摄像。这种场合,所分配的参照点位置明显是错误的,因此,不应向由此求出的摄像机2的候补位置x,y,z和候补旋转角α,β,γ赋予点数。因此,最好判断是否能够摄取按求出的候补位置x,y,z和候补旋转角α,β,γ分配的参照点,只有能够摄取时才在霍夫表相应位置增加点数。
本发明实施例5,在图11所示步骤S35与步骤S36之间插入图30所示的步骤S351a和S352a。在图11步骤S35计算摄像机2候补位置x,y,z和候补旋转角α,β,γ之后,在图30步骤S351a计算表示摄像机2摄像方向的姿态向量C与所分配的参照点Pi的法线向量Ri的内积C·Ri。如图31所示,形成于该参照物体20的各参照各21按属性给定法线向量R。形成于面A0上的参照点21的法线向量R与面A0正交,形成于面B1上的参照点21的法线向量R与面B1正交。而且形成于面B2上的参照点21的法线向量R与面B2正交。摄像机2的视线向量与图12所示的摄像机2的y’轴方向一致。这样,按属性给定法线向量R的参照点21当中步骤S34分配的参照点Pi其法线向量Ri成为步骤S351a中内积的计算对象。
接着在步骤S352a判断内积C·Ri是否是负值。内积C·Ri负时表明能够对所分配的参照点Pi摄像,内积C·Ri正时表明不能够对所分配的参照点Pi摄像。图31中,能够摄取面A0上的参照点21,但不能摄取面B1和面B2上的参照点21。因而,图11所示的步骤S34分配的3个参照点P1、P2、P3全部能够摄取时,转移至步骤S36处理,而参照点P1、P2、P3任意一个不能摄取时,则转移至步骤S37处理。因而,仅在所分配的参照点Pi能够摄取时,在霍夫表相应位置上增加1点。
综上所述,按照本实施例5,计算摄像机2的视线向量C与参照点Pi的法线向Ri的内积,按照该计算结果,仅在参照点Pi能够摄像时进行投票处理,因而,根据不能够摄像的参照点Pi计算得出的摄像机2的位置x,y,z和旋转角α,β,γ从候补当中排除在外,因此,摄像机2位置计算精度进一步提高。
另外,这里是在内积C·Ri为负的场合转移至步骤S36处理的,但也可以转移至图26所示的步骤S361~S363进行处理来代替步骤S36。
[实施例6]
本发明实施例6判断是否能够按与上述实施例5不同的方法求出的候补位置x,y,z和候补旋转角α,β,γ对所分配的参照点Pi摄像。图32所示的步骤S351b和S352b与上述实施例5相同,插入图11所示步骤S35与步骤S36之间。在图11步骤S35计算摄像机2的候补位置x,y,z和候补旋转角α,β,γ之后,在图32步骤S351b根据该求出的候补x,y,z,α,β,γ计算步骤S34分配的参照点Pi开始延伸的锥状盲区。如图33所示,这里计算的锥状盲区42以参照点21为顶点,按摄像机2至远方方向延伸。
接着在步骤S352b判断所分配的参照点Pi是否在盲区42外面。参照点Pi在盲区42外面时,表明能够在步骤S35求出的位置x,y,z和旋转角α,β,γ摄取该参照点Pi,参照点Pi在盲区42以内时,表明不能摄取该参照点Pi。因而,所分配的3个参照点Pi全部在盲区以外时,转移至步骤S36进行处理,参照点Pi中任意一个在盲区42以内时,转移至步骤S37进行处理。因此,仅当参照点Pi在盲区42以外时,霍夫表相应位置才增加1点。
图33中,面B1上参照点21位于面B4上参照点21的盲区42以内,所以该面B1上的参照点21的三维座标分配给步骤S33选定的参照点Pi时,由于该分配是错误的,因而由此求出的摄像机2的候补位置x,y,z和候补旋转角α,β,γ被排除在步骤36投票处理对象之外。
综上所述,按照该实施例6,仅当步骤34分配的参照点21位于根据摄像机2视线向量C设定的参照点21开始延伸的锥状盲区42以外时,才进行步骤S36的投票处理,因而在摄像机2位置计算精度进一步提高。
另外,这里是参照点Pi位于盲区42以外时便转移至步骤S36进行处理的,但也可以转移至图26所示的步骤S361~S363进行处理来代替步骤S36。
[实施例7]
图11所示的步骤S39中求的是表示摄像机2摄像位置和姿态的参数x,y,z,α,β,γ,但也可以令该参数x,y,z,α,β,γ为初始值,通过最小二乘法来求出计算精度更高的参数x,y,z,α,β,γ。这时,反复进行计算以便上述计算上的投影点40与实际从所摄取图像提取的参照点41之间距离(误差)较小,但为此需要在投影点40与提取出的参照点41之间加上对应。用具有立体结构的参照物体时,最好按步骤S39求出的摄像机2的位置和姿态预先区别能够摄像的参照点和不能摄像的参照点,仅对能够摄像的参照点,与实际从所摄取图像当中提取出的参照点加上对应。
具体来说,图11所示的步骤S39之后进行图34所示步骤S61~S67的处理。该步骤S61~S67也还是计算机生成对象物体立体模型用的程序,并记录于CD-ROM4。
参照图34,首先在步骤S61~S64按步骤S39求出的摄像机2位置和姿态判断能够摄像的参照点,将能够摄像的参照点作为后续步骤S65~S67的误差评价对象,将不能摄像的参照点从误差评价对象排除在外。例如图35中参照物体20面A0上参照点21能够摄像,但面B1和B2上参照点21不能摄像。所以,仅仅是面A0上的参照点21为误差评价对象。具体来说,在步骤S61计算摄像机2的视线向量C与参照物体20上任意一个参照点i的法线Ri的内积C·Ri。
接着在步骤S62,该内积C·Ri为负,该参照点i便能够摄取,在步骤S63作为误差评价对象。而内积C·Ri为正,该参照点i便无法摄像,而无法作为误差评价对象。在步骤S64判断是否对全部参照点进行过这种区别处理,对于全部参照点区别处理结束时,转移至下一步骤S65进行处理。
接下来,在步骤S65根据步骤S39求出的表示摄像机2位置和姿态的参数x,y,z,α,β,γ分别计算参照物体20上参照点21至所摄取图像Ai上的投影点40的位置。这里,仅仅计算与步骤S61~S64中作为误差评价对象的参照点i所对应的投影点40。另外,如后面述及将全部参照点作为误差评价对象的场合,分别计算全部参照点至所摄取图像Ai上的投影点的位置。
图36示出的所摄取图像Ai上示出了全部参照点21所对应的投影点40,和图11所示步骤S31提取出的参照点41。投影点40当中,仅对于能够摄像的参照点21所对应的投影点40,用虚线示出其附近。这里,仅仅4个投影点40为后面述及的误差评价对象。
接着在步骤S66中,计算步骤S65计算出的投影点40与所提取的参照点41当中位于其附近的参照点之间的距离di。
接下来在步骤S67,修改步骤S39确定的参数x,y,z,α,β,γ,以便按照非线性最小二乘法距离di的总和为最小。对于非线性最小二乘法,可以采用例如公知的Levenberg-Marquardt法。这种方法在例如W.H.Press“NumericalRecipe in C”(“C的数字方法”),技术评论社,pp.503~510中有详细说明。
综上所述,按照本实施例7,可以用非线性最小二乘法使计算上的投影点40与实际提取出的参照点41之间的误差为最小,因而最终求出的参数x,y,z,α,β,γ的计算精度进一步提高。此时,由于将参照物体20上参照点21当中无法摄像的参照点排除在误差评价对象之外,上述计算精度进一步提高。
另外,这里仅仅将能够摄像的参照点作为误差评价对象,但用图1所示平面上的参照页1时,也能够将全部参照点作为误差评价对象。