拍摄参数取得装置、拍摄参数取得方法转让专利

申请号 : CN201110437883.9

文献号 : CN102547121B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 樱井敬一中岛光康山谷崇史吉滨由纪

申请人 : 卡西欧计算机株式会社

摘要 :

本发明提供一种拍摄参数取得装置、拍摄参数取得方法。服务器(20)向客户端(10)发送按照构成用于作成三维模型的视线的各照相机(摄像装置)能够拍摄显示装置的显示面的方式指示显示装置的移动的消息。而且,在移动完成后,服务器(20)指示客户端(10)使显示装置显示拍摄参数计算用的图案图像并且用照相机拍摄所显示的图案图像。而且,服务器(20)从客户端(10)取得照相机拍摄的图像,并且根据所取得的图像中所显示的图案图像,求出照相机的拍摄参数。

权利要求 :

1.一种拍摄参数取得装置,其通过网络与具备多个摄像装置和显示装置的客户端系统连接,具备:移动指示单元,其向所述客户端系统发送消息信息,该消息信息按照构成用于作成三维模型的视线的各所述摄像装置能够拍摄所述显示装置的显示面的方式指示该显示装置的移动;

显示指示单元,其向发送了指示所述显示装置的移动的消息信息的所述客户端系统发送显示指示信息,该显示指示信息指示使所述显示装置显示拍摄参数计算用的图案图像;

拍摄指示单元,其向发送了所述显示指示信息的所述客户端系统发送拍摄指示信息,该拍摄指示信息指示构成所述视线的各所述摄像装置拍摄所述显示装置的显示面;

图像取得单元,其按照所述拍摄指示信息所表示的指示,取得构成所述视线的各所述摄像装置拍摄的图像;

拍摄参数取得单元,其根据所述图像取得单元取得的图像,取得构成所述视线的各所述摄像装置的拍摄参数;和存储单元,其存储所述拍摄参数取得单元取得的拍摄参数,

所述存储单元与通过所述网络而连接的多个客户端系统分别建立对应地存储:所述拍摄参数取得单元所取得的各客户端系统所具备的多个拍摄装置的各拍摄参数。

2.根据权利要求1所述的拍摄参数取得装置,其中,

所述拍摄参数取得装置还具备:

拍摄位置判别单元,其根据所述图案图像在所述图像取得单元取得的图像内的位置以及大小,判别构成所述视线的各所述摄像装置的拍摄位置是否合适,所述移动指示单元在所述拍摄位置判别单元判别为拍摄位置不合适的情况下,再次发送指示所述显示装置的移动的消息信息。

3.根据权利要求1所述的拍摄参数取得装置,其中,

所述拍摄参数取得装置还具备:

参数精度算出取得单元,其算出所述拍摄参数取得单元取得的拍摄参数的精度,所述移动指示单元在所述参数精度算出取得单元算出的拍摄参数的精度没有达到指定阈值时,再次发送指示所述显示装置的移动的消息信息。

4.根据权利要求1所述的拍摄参数取得装置,其中,

所述拍摄参数取得装置还具备:

参数精度算出取得单元,其算出所述拍摄参数取得单元取得的拍摄参数的精度,所述显示指示单元在所述参数精度算出取得单元算出的拍摄参数的精度没有达到指定阈值时,发送显示指示信息,该显示指示信息指示显示与上次指示显示的图案图像不同的图案图像。

5.根据权利要求1所述的拍摄参数取得装置,其中,

所述拍摄参数取得单元取得焦点距离系数、图像的角度系数、透镜的失真系数作为构成所述视线的各所述摄像装置的拍摄参数。

6.一种拍摄参数取得方法,使用了通过网络与具备多个摄像装置和显示装置的客户端系统连接的计算机,该拍摄参数取得方法包括:移动指示步骤,向所述客户端系统发送消息信息,该消息信息按照构成用于作成三维模型的视线的各所述摄像装置能够拍摄所述显示装置的显示面的方式指示该显示装置的移动;

显示指示步骤,向发送了指示所述显示装置的移动的消息信息的所述客户端系统发送显示指示信息,该显示指示信息指示使所述显示装置显示拍摄参数计算用的图案图像;

拍摄指示步骤,向发送了所述显示指示信息的所述客户端系统发送拍摄指示信息,该拍摄指示信息指示构成所述视线的各所述摄像装置拍摄所述显示装置的显示面;

图像取得步骤,按照所述拍摄指示信息所表示的指示,取得构成所述视线的各所述摄像装置拍摄的图像;

拍摄参数取得步骤,根据所取得的图像,取得构成所述视线的各所述摄像装置的拍摄参数;和存储控制步骤,与通过所述网络而连接的多个客户端系统分别建立对应地在存储装置中存储:所述拍摄参数取得步骤中取得的各客户端系统所具备的多个拍摄装置的各拍摄参数。

说明书 :

拍摄参数取得装置、拍摄参数取得方法

[0001] 本申请主张以2010年12月28日申请的日本国专利申请特愿2010-294258为基础的优先权,并在本申请中引入该基础申请的全部内容。

技术领域

[0002] 本发明涉及取得摄像装置的拍摄参数的拍摄参数取得装置、该拍摄参数取得方法。

背景技术

[0003] 在根据从不同的方向拍摄同一被写体的成对图像来作成三维模型的情况下,需要取得拍摄该成对图像的各照相机的拍摄参数。
[0004] 在JP特开2003-078925号公报中记载了如下技术:使照相机拍摄具有参数计算用的模式的校正用板,并且根据所拍摄的图像计算照相机的拍摄参数。但是,需要准备特殊的校正用板并配置在想要计算参数的照相机之前,对于用户来说,比较麻烦。

发明内容

[0005] 本发明的第1观点所涉及的拍摄参数取得装置,其通过网络与具备多个摄像装置和显示装置的客户端系统连接,具备:
[0006] 移动指示单元,其向所述客户端系统发送消息信息,该消息信息按照构成用于作成三维模型的视线的各所述摄像装置能够拍摄所述显示装置的显示面的方式指示该显示装置的移动;
[0007] 显示指示单元,其向发送了指示所述显示装置的移动的消息信息的所述客户端系统发送指示使所述显示装置显示拍摄参数计算用的图案图像的显示指示信息;
[0008] 拍摄指示单元,其向发送了所述显示指示信息的所述客户端系统发送拍摄指示信息,该拍摄指示信息指示构成所述视线的各所述摄像装置拍摄所述显示装置的显示面;
[0009] 图像取得单元,其按照所述拍摄指示信息所表示的指示,取得构成所述视线的各所述摄像装置拍摄的图像;和
[0010] 拍摄参数取得单元,其根据所述图像取得单元取得的图像,取得构成所述视线的各所述摄像装置的拍摄参数。
[0011] 本发明的第2观点所涉及的拍摄参数取得方法,使用了通过网络与具备多个摄像装置和显示装置的客户端系统连接的计算机,包括:
[0012] 移动指示步骤,向所述客户端系统发送消息信息,该消息信息按照构成用于作成三维模型的视线的各所述摄像装置能够拍摄所述显示装置的显示面的方式指示该显示装置的移动;
[0013] 显示指示步骤,向发送了指示所述显示装置的移动的消息信息的所述客户端系统发送指示使所述显示装置显示拍摄参数计算用的图案图像的显示指示信息;
[0014] 拍摄指示步骤,向发送了所述显示指示信息的所述客户端系统发送拍摄指示信息,该拍摄指示信息指示构成所述视线的各所述摄像装置拍摄所述显示装置的显示面;
[0015] 图像取得步骤,按照所述拍摄指示信息表示的指示,取得构成所述视线的各所述摄像装置拍摄的图像;和
[0016] 拍摄参数取得步骤,根据所取得的图像,取得构成所述视线的各所述摄像装置的拍摄参数。

附图说明

[0017] 若与以下的附图一起来考虑以下的详细记述,则可以更深地理解本申请。
[0018] 图1是表示本发明的实施方式所涉及的三维模型作成系统的结构的图。
[0019] 图2是表示客户端系统的结构的图。
[0020] 图3是表示被摄体与各照相机的位置关系的图。
[0021] 图4A是表示服务器的结构的图。
[0022] 图4B是表示图4A的服务器的存储部的结构的图。
[0023] 图5是表示客户端DB的结构例的图。
[0024] 图6是用于说明客户端登录处理的流程图。
[0025] 图7A是表示登录请求数据的结构例的图。
[0026] 图7B是表示登录响应数据的结构例的图。
[0027] 图8是用于说明参数取得处理的流程图。
[0028] 图9是用于说明参数取得处理的流程图。
[0029] 图10是表示被摄体与显示装置的位置关系的图。
[0030] 图11是表示照相机的参数计算用的图案图像的例子的图。
[0031] 图12是用于说明三维模型作成处理的流程图。
[0032] 图13A是表示三维模型作成请求数据的结构例的图。
[0033] 图13B是表示三维模型作成响应数据的结构例的图。
[0034] 图13C是表示将图像进行了流式发送时的三维模型作成请求数据的结构例的图。
[0035] 图14是用于说明建模处理的流程图。
[0036] 图15是用于说明三维模型合成处理的流程图。
[0037] 图16A是表示三维模型合成请求数据的结构例的图。
[0038] 图16B是表示三维模型合成响应数据的结构例的图。
[0039] 图17是用于说明合成处理的流程图。

具体实施方式

[0040] 以下,参照附图详细说明本发明的实施方式。另外,图中对于相同或相当部分标注相同符号。
[0041] 对于本发明的实施方式所涉及的三维模型作成系统1进行说明。如图1所示,三维模型作成系统1具备多个客户端系统10(以下简单称为客户端10)和服务器20。各客户端10与服务器20通过因特网而连接为能够相互通信。
[0042] 如图2所示,各客户端10具备多个照相机11A~11F、终端装置12、显示装置13和输入装置14。
[0043] 各照相机11A~11F具备透镜、光圈机构、快门机构、CCD(Charge Coupled Device,电荷耦合装置)等。各照相机11A~11F对被摄体进行拍摄,将拍摄的图像数据发送到终端装置12。另外,在客户端10内能够识别的照相机ID分别被设定为照相机11A~11F。
[0044] 另外,在不对各个照相机11A~11F进行区别的情况下,简单地称为照相机11。此外,根据需要,将照相机11A~11F所拍摄的图像分别作为图像-A~图像-F来进行说明。另外,照相机11的数量不限定于6,可以是2以上的任意数量。
[0045] 这里,对于照相机11的配置进行说明。各照相机11A~11F如图3那样被配置为包围被摄体的方式。因此,照相机11A~11F能够分别从不同的方向拍摄被摄体。另外,优选照相机11被固定在地板或工作台等上,不容易活动。
[0046] 返回到图2,终端装置12例如是PC(Personal Computer,个人计算机)等计算机。终端装置12具备外部I/F(Interface,接口)部121、通信部122、存储部123和控制部124。
[0047] 外部I/F部121是用于与各照相机11连接的接口。外部I/F部121由遵循USB(Universal Serial Bus,通用串行总线)或IEEE1394等标准的连接器、或者插入扩展槽的照相机连接用的板(基板)等构成。
[0048] 通信部122具备NIC(Network Interface Card,网络接口卡)等,根据控制部124的指示,通过因特网与服务器20进行信息的收发。
[0049] 存储部123由ROM(Read Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、硬盘装置等构成,存储各种信息、各照相机11拍摄的图像数据、以及用于控制部124执行的程序等。此外,存储部123用作控制部124执行处理用的工作区。此外,存储部123保存从服务器20发送的三维模型(多边形信息)。
[0050] 控制部124具备CPU(Central Processing Unit,中央处理器)等,通过执行存储部123中所存储的程序,控制终端装置12的各部。此外,控制部124向服务器20请求根据各照相机11拍摄的图像作成三维模型,并且使显示装置13显示从服务器20接收的三维模型。此外,控制部124向服务器20请求合成多个三维模型,并且使显示装置13显示从服务器20接收的合成后的三维模型。另外,对于控制部124进行的处理的详细情况,后面叙述。
[0051] 显示装置13是PC用的监视器等,根据控制部124的指示,显示各种信息。例如,显示装置13显示从服务器20接收的三维模型。
[0052] 输入装置14由键盘、鼠标等构成,生成与用户的操作相应的输入信号并提供给控制部124。
[0053] 接下来说明服务器20。服务器20具有根据从终端装置12接收的图像数据而作成三维模型,或者将多个三维模型合成的功能。如图4A所示,服务器20具备通信部21、存储部22和控制部23。
[0054] 通信部21具备NIC(Network Interface Card)等,通过因特网与终端装置12进行信息收发。
[0055] 存储部22由硬盘装置等构成,存储各种信息、以及用于控制部23执行的程序等。此外,存储部22用作控制部23执行处理用的工作区。此外,存储部22存储照相机11的拍摄参数计算用的使客户端10的显示装置13显示的图案图像。此外,如图4B所示,存储部
22具备客户端DB(数据库)221和三维模型DB222。
[0056] 客户端DB221是存储与客户端10相关的各种信息的数据库。该各种信息,通过后述的客户端登录处理而登录。如图5所示,在客户端DB221中,按每个登录的客户端10存储用于识别客户端10的客户端ID、认证用的密码、该客户端10具备的各照相机11的照相机信息、和视线信息。照相机信息是由照相机ID和基本属性、内部参数、外部参数等构成的信息,按客户端10内的各照相机11而登录。
[0057] 基本属性表示难以受到老化等的影响的不变的照相机11的属性(性能)。因此,对于基本属性,若是相同种类的照相机11,则具有大致相同的基本属性。基本属性例如是照相机11的分辨率、视角、焦距等。
[0058] 内部参数是受到老化等的影响随时间变化的照相机11的拍摄参数。因此,对于内部参数,即使是相同种类的照相机11,各自的内部参数也不同。内部参数例如是焦点距离系数、图像的角度系数、透镜的失真系数等。
[0059] 外部参数是表示照相机11相对于被摄体的位置关系的拍摄参数。外部参数例如由表示从被摄体观察的照相机11的位置坐标(x、y、z)、照相机11的上下方向的角度(纵摇)、左右方向的角度(平摇)、旋转角度(转动)等的信息构成。
[0060] 视线信息是用于定义客户端10内的照相机11中哪些照相机11彼此成为用于作成三维模型的视线的信息。具体而言,视线信息是将构成视线的照相机11的照相机ID彼此建立对应的信息。例如,如图3所示地配置照相机11,考虑由相邻的照相机11彼此构成一个视线。在该情况下,作为视线信息,将照相机11A和照相机11B建立对应的信息、将照相机11B和照相机11C建立对应的信息、将照相机11C和照相机11D建立对应的信息、将照相机11D和照相机11E建立对应的信息、以及将照相机11E和照相机11F建立对应的信息成为视线信息。
[0061] 返回到图4B,在三维模型DB222中,接受来自终端装置12的委托而作成的三维模型(多边形信息)与识别该三维模型的多边形ID、对成为该三维模型作成源的成对图像进行了拍摄的各照相机11的照相机ID等建立对应而存储。
[0062] 返回到图4A,控制部23具备CPU(Central Processing Unit)等,通过执行存储部22中所存储的程序,控制服务器20的各部。此外,控制部23接受来自客户端10的委托,执行登录该客户端10的照相机信息等的处理(客户端登录处理)、作成三维模型的处理(三维模型作成处理)、以及将已经作成的多个三维模型合成的处理(三维模型合成处理)等。
对于控制部23进行的这些处理的详细情况,后面叙述。
[0063] 接下来说明三维模型作成系统1的动作。
[0064] (客户端登录处理)
[0065] 首先,说明客户端登录处理。
[0066] 服务器20为了根据客户端10内的各照相机11拍摄的图像来作成三维模型,执行事先登录该客户端10以及该客户端10内的各照相机11的照相机信息等的处理(客户端登录处理)。对于该客户端登录处理,参照图6的流程图来详细地进行说明。
[0067] 客户端10的用户操作输入装置14,使显示装置13显示客户端登录用的画面。然后,用户操作输入装置14,在该客户端登录用的画面中输入与终端装置12连接的各照相机11的基本属性。另外,照相机11的基本属性可以通过参考照相机11的说明书等来取得。
此外,用户操作输入装置14,还输入表示哪些照相机11彼此构成视线的视线信息。然后,用户在输入完成之后,点击显示在客户端登录用的画面上的登录用按钮。响应于该点击操作,控制部124作成包括所输入的上述信息的登录请求数据(步骤S101)。
[0068] 图7A中示出登录请求数据的结构。登录请求数据是包括表示该数据是登录请求数据的命令标识符、各照相机11的照相机ID和基本属性、以及视线信息等的数据。
[0069] 返回到图6,接下来,控制部124通过因特网将所作成的登录请求数据发送到服务器20(步骤S102)。
[0070] 在接收到登录请求数据时(步骤S103),服务器20的控制部23将该请求数据中包含的各照相机11的照相机ID和基本属性、以及视线信息作为新条目(entry)登录到客户端DB221中(步骤S104)。另外,服务器控制部23对该登录的新条目赋予新作成的客户端ID和认证用的密码。此外,在该时点,所登录的新条目内的各照相机11的内部参数、以及外部参数的值是空白栏。
[0071] 接下来控制部23从在步骤S104登录的视线信息表示的视线中选择一个视线(步骤S105)。然后,控制部23进行取得构成所选择的视线的各照相机11的拍摄参数(内部参数、外部参数)的处理(参数取得处理)(步骤S106)。
[0072] 对于参数取得处理的详细情况,参照图8和图9的流程图来进行说明。
[0073] 首先,控制部23向客户端10发送消息信息,指示用户使该显示装置13移动到构成在步骤S105选择的视线的各照相机11能够拍摄显示装置13的显示面整体的位置(步骤S201)。
[0074] 而且,客户端10的终端装置12的控制部124使显示装置13显示从服务器20接收的消息信息所表示的消息(步骤S202)。客户端10的用户按照该消息,使显示装置13移动到设置了被摄体的位置,并且使显示面的朝向移动到构成在步骤S105选择的视线的各照相机11能够拍摄的位置。
[0075] 例如,在要算出构成图3所示的视线1的照相机11A、11B的拍摄参数的情况下,客户端10的用户使显示装置13移动到图10所示的位置。
[0076] 返回到图8,在显示装置13的移动完成时,用户通过输入装置14,进行用于向服务器20通知显示装置13的移动完成的意思的操作输入。终端装置12的控制部124响应于该操作输入,通过因特网将移动完成通知发送到服务器20(步骤S203)。
[0077] 接收到移动完成通知时,服务器20的控制部23通过因特网向客户端10的终端装置12发送照相机11的内部参数计算用的图案图像。此外,服务器20的控制部23指示显示装置13显示该图案图像(步骤S204)。按照该指示,终端装置12的控制部124使显示装置13显示所接收的内部参数计算用的图案图像(步骤S205)。内部参数计算用的图案图像,例如,如图11所示,是各个点被等间隔地配置为格子状的图像。
[0078] 返回到图8,终端装置12的控制部124在内部参数计算用的图案图像的显示完成时,将传达图案图像的显示完成的意思的显示完成通知通过因特网发送到服务器20(步骤S206)。
[0079] 在接收到显示完成通知后,服务器20的控制部23指示终端装置12进行构成在步骤S105选择的视线的各照相机11的拍摄(步骤S207)。
[0080] 终端装置12的控制部124接受来自服务器20的指示,使内部参数算出对象的各照相机11执行拍摄,取得所拍摄的图像的对(成对图像)(步骤S208)。然后,控制部124通过因特网将所取得的成对图像发送到服务器20(步骤S209)。
[0081] 服务器20的控制部23在接收到拍摄了内部参数计算用的图案图像的成对图像时,判别该图案图像是否是在适当的位置拍摄的(步骤S210)。例如,预先在图案图像的四角标注标记,控制部23可以通过判别该标记是否正确地位于所接收的成对图像内的给定位置,来判别是否是在适当的位置拍摄了图案图像。
[0082] 在判别为不是在适当的位置拍摄的图案图像时(步骤S210;否),处理转移到步骤S201,控制部23再次指示用户移动显示装置13,反复以后的处理。
[0083] 在判别为是在适当的位置拍摄的图案图像时(步骤S210;是),控制部23根据成对图像内所显示的图案图像,通过公知的方法,求出拍摄了该成对图像的各照相机11的内部参数(步骤S211)。例如,控制部23可以算出在成对图像的各图像内表示相同的点的特征点的视差,并根据该视差求出内部参数。
[0084] 这里,由于(1)图案图像对照相机11的对位不充分、(2)在图案图像的一部分存在污迹等、(3)特征点的提取精度差、等不良,内部参数的精度有可能不足够。因此,控制部23通过公知的方法,求出在步骤S211所求出的内部参数的精度(步骤S212)。然后,控制部23判别所求出的精度是否为给定阈值以上(步骤S213)。
[0085] 另外,控制部23可以使用例如文献″A Flexible New Technique for Camera Calibration、Zhengyou Zhang、December 2、1998″中所记载的方法来算出内部参数的精度。更具体而言,控制部23可以通过算出该文献中记载的下述式的值(越接近0,精度越高),来算出参数的精度。
[0086]
[0087] 在不是阈值以上的精度的情况下(步骤S213;否),处理转移到步骤S201,控制部23再次指示用户移动显示装置13,反复以后的处理。
[0088] 在是阈值以上的精度的情况下(步骤S213;是),控制部23通过因特网向客户端10的终端装置12发送照相机11的外部参数计算用的图案图像,并且指示终端装置12使显示装置13显示该图案图像(图9:步骤S214)。根据该指示,终端装置12的控制部124使显示装置13显示所接收的外部参数计算用的图案图像(步骤S215)。
[0089] 终端装置12的控制部124在外部参数计算用的图案图像的显示完成时,通过因特网向服务器20发送传达图案图像的显示已完成的意思的显示完成通知(步骤S216)。
[0090] 在接收到显示完成通知时,服务器20的控制部23指示终端装置12进行构成在步骤S105所选择的视线的各照相机11的拍摄(步骤S217)。
[0091] 终端装置12的控制部124接受来自服务器20的指示,使外部参数算出对象的各照相机11执行拍摄,取得所拍摄的成对图像(步骤S218)。然后,控制部124通过因特网将所取得的成对图像发送给服务器20(步骤S219)。
[0092] 服务器20的控制部23在接收到拍摄了外部参数计算用图案图像的成对图像时,根据该成对图像内所显示的图案图像,与内部参数同样地通过公知的方法来求出拍摄了该成对图像的各照相机11的外部参数(步骤S220)。
[0093] 接下来,控制部23通过公知的方法,求出在步骤S220所求出的外部参数的精度(步骤S221)。然后,控制部23判别所求出的精度是否为给定阈值以上(步骤S222)。
[0094] 在不是阈值以上的精度的情况下(步骤S222;否),处理转移到步骤S214,控制部23再次指示终端装置12显示外部参数计算用的图案图像,反复以后的处理。另外,此时,优选控制部23使终端装置12显示与前次的处理不同的外部参数计算用的图案图像。
[0095] 在是阈值以上的精度的情况下(步骤S222;是),控制部23将在步骤S211求出的内部参数和在步骤S220求出的外部参数保存到客户端DB221(步骤S223)。如上,参数取得处理结束。
[0096] 返回到图6,参数取得处理结束后,控制部23判别是否选择了在步骤S103所登录的视线信息表示的全部视线(步骤S107)。在判别为存在未选择的视线的情况下(步骤S107;否),处理转移到步骤S105,控制部23选择未选择的视线,针对构成该视线的2个照相机11反复取得拍摄参数的处理。
[0097] 在判别为选择了全部视线的情况下(步骤S107;是),控制部23将包括在步骤S104所新登录的条目中所包含的客户端ID、以及密码的图7B所示那样的登录响应数据发送给客户端登录请求的发送源即终端装置12(步骤S108)。
[0098] 返回到图6,终端装置12的控制部23接收到登录响应数据后(步骤S109),将该登录响应数据中包含的客户端ID和密码存储到存储部22(步骤S110)。如上,客户端登录处理结束。
[0099] 如此,通过登录处理,按每客户端10,客户端10内的各照相机11的照相机信息、视线信息被登录(存储)到服务器20中。而且,在登录完成后,客户端10的终端装置12从服务器20接收客户端ID和密码。而且,在进行以后的各处理(三维模型作成处理、三维模型合成处理)时,终端装置12可以将客户端ID和密码发送到服务器20从而接受认证。
[0100] (三维模型作成处理)
[0101] 服务器20执行根据从客户端10发送的图像对来作成三维模型的三维模型作成处理。对于该三维模型作成处理的详细情况,以根据由照相机11A拍摄的图像A和照相机11B拍摄的图像B构成的成对图像来作成三维模型的情况为例,参照图12的流程图来进行说明。
[0102] 首先,客户端10的用户操作输入装置14,使显示装置13显示三维模型作成用的画面。然后,用户操作输入装置14,从该三维模型作成用的画面进行客户端ID和密码的输入、以及选择想要作成三维模型的照相机11A以及照相机11B拍摄的图像、点击该三维模型作成用的画面中所显示的作成按钮等。响应于该点击操作,控制部124作成三维模型作成请求数据(步骤S301)。另外,用户输入在前述登录处理从服务器20接收的客户端ID和密码即可。
[0103] 在图13A中示出三维模型作成请求数据的结构例。三维模型作成请求数据是包括表示该数据是三维模型作成请求数据的命令标识符、客户端ID、密码、请求ID、想要作成3D模型的成对图像(图像A和图像B)的各图像数据、和拍摄了该各图像的各照相机11A、11B的照相机ID等的数据。另外,请求ID是为了识别从同一客户端10连续发送的三维模型作成请求数据的各请求数据而由客户端10生成的唯一的ID。
[0104] 返回到图12,接下来,控制部124将所作成的三维模型作成请求数据通过因特网发送到服务器20(步骤S302)。
[0105] 在接收到三维模型作成请求数据时(步骤S303),服务器20的控制部23判别作为三维模型作成请求数据的发送源的客户端10是否是由前述的登录处理而事前登录的客户端10(步骤S304)。具体而言,控制部23判别三维模型作成请求数据中包含的客户端ID和密码的组是否存储在客户端DB221中。控制部23在存储有在三维模型作成请求数据中包含的客户端ID和密码的组的情况下判别为是被登录的客户端10即可。
[0106] 在判别为不是被登录的客户端10(步骤S304;否)、是来自未认证的客户端10的请求的情况下,三维模型作成处理进行错误结束。
[0107] 在判别为是被登录的客户端10的情况下(步骤S304;否),控制部23执行根据三维模型作成请求数据中包含的图像数据生成三维模型的建模处理(步骤S305)。
[0108] 这里,参照图14所示的流程图,对建模处理进行详细说明。另外,建模处理是由一组成对图像生成三维模型的处理。也就是说,建模处理可以认为是生成由一个视线观察到的三维模型的处理。
[0109] 首先,控制部23提取特征点的候补(步骤S401)。例如,控制部23针对图像-A进行角落(corner)检测。在角落检测中,选择哈里斯(Harris)等角落特征量为给定阈值以上并且在给定半径内成为最大的点作为角落点。因此,提取被摄体的前端等相对于其他点具有特征的点作为特征点。
[0110] 接下来,控制部23执行立体匹配(stereo matching),从图像-B寻找与图像-A的特征点对应的点(对应点)(步骤S402)。具体而言,控制部23通过模板匹配将相似度为给定阈值以上且最大的点(差异度为给定阈值以下且最小的点)作为对应点。在模板匹配中,可以利用各种已知的技法,例如,残差绝对值和(SAD)、残差平方和(SSD)、归一化相关(NCC、ZNCC)、方向符号相关等。
[0111] 接下来,控制部23将三维模型作成请求数据中包含的照相机11A和11B的照相机ID作为关键字来检索客户端DB221,取得拍摄了各个成对图像(图像-A和图像-B)的照相机11A、11B的照相机信息(步骤S403)。
[0112] 接下来,控制部23根据在步骤S402检测出的对应点的视差信息、和在步骤S403取得的照相机信息,算出特征点的位置信息(三维位置坐标)(步骤S404)。将所生成的特征点的位置信息存储在例如存储部22。
[0113] 接下来,控制部23根据在步骤S404中所算出的特征点的位置信息,执行德洛内(Delaunay)三角形分割,执行多边形化,生成三维模型(多边形信息)(步骤S405)。
[0114] 然后,控制部23对在步骤S405所生成的三维模型(多边形信息)附加新的多边形ID,与作成了成为该三维模型的作成源的图像-A、图像-B的照相机11A、11B的照相机ID建立对应保存在三维模型DB222中(步骤S406)。如上,建模处理结束。
[0115] 返回到图12,在建模处理结束后,控制部23作成三维模型作成响应数据,作为对三维模型作成请求数据的响应(步骤S306)。
[0116] 在图13B中示出三维模型作成响应数据的构成。三维模型作成响应数据是包括表示该数据是三维模型作成响应数据的命令标识符、响应ID、在建模处理(步骤S305)生成的三维模型、以及该多边形ID的数据。另外,响应ID是为了在从同一客户端10连续接收到三维模型作成请求数据时识别是对客户端10的哪个请求数据的响应数据而赋予的ID。响应ID可以与请求ID相同。
[0117] 返回到图12,接下来,控制部23向三维模型作成请求数据的发送源即客户端10的终端装置12发送所作成的三维模型作成响应数据(步骤S307)。
[0118] 在接收到三维模型作成响应数据时(步骤S308),终端装置12的控制部124将响应数据中包含的三维模型和多边形ID建立对应而存储到存储部123(步骤S309)。然后,控制部124使显示装置13显示所保存的三维模型(步骤S310)。如上,三维建模处理结束。
[0119] (三维模型合成处理)
[0120] 接下来,参照图15的流程图来说明将通过前述的三维模型作成处理而作成的多个三维模型合成从而作成精度更高的三维模型的三维模型合成处理。
[0121] 首先,客户端10的用户操作输入装置14,在显示装置13显示三维模型合成用的画面。然后,用户操作输入装置14,从该三维模型作成用的画面进行客户端ID和密码的输入、以及想要合成的多个三维模型(多边形信息)的多边形ID的输入,点击该三维模型合成用的画面中所显示的合成按钮等。响应于该点击操作,控制部124作成三维模型合成请求数据(步骤S501)。另外,用户输入在前述的登录处理从服务器20接收的客户端ID和密码即可。此外,用户可以输入在前述的三维模型作成处理、或者之前的三维模型合成处理从服务器20接收到的多边形ID。
[0122] 此外,控制部124可以将在之前的三维模型作成处理、三维模型合成处理所取得的三维模型与该多边形ID一起,按每个成为作成源的视线而存储到存储部123中。而且,控制部124也可以使显示装置13一览显示各视线的三维模型,并使用户从中选择想要合成的三维模型,从而取得想要合成的三维模型的ID。
[0123] 在图16A中示出三维模型合成请求数据的结构例。三维模型合成请求数据是包括表示该数据是三维模型作成请求数据的命令标识符、客户端ID、密码、请求ID、和用于确定想要合成的三维模型的多个多边形ID等的数据。另外,请求ID是为了识别从同一客户端10连续发送的三维模型合成请求数据的各请求数据而由客户端10生成的唯一的ID。
[0124] 返回到图15,接下来,控制部124通过因特网将所作成的三维模型合成请求数据发送给服务器20(步骤S502)。
[0125] 在接收到三维模型作成合成数据时(步骤S503),服务器20的控制部23判别作为三维模型合成请求数据的发送源的客户端10是否是由前述的登录处理而事前登录的客户端10(步骤S504)。
[0126] 在判别为不是被登录的客户端10(步骤S504;否)、是来自未认证的客户端10的请求的情况下,三维模型作成处理进行错误结束。
[0127] 在判别为是被登录的客户端10的情况下(步骤S504;否),控制部23执行合成处理(步骤S505)。对于合成处理的详细情况,参照图17的流程图来进行说明。
[0128] 首先,控制部23从三维模型作成请求数据中包含的多个多边形ID中选择2个多边形ID(步骤S601)。这里,作为选择了作为2个多边形ID的“p1”、“p2”的情况,来进行以下说明。
[0129] 然后,控制部23针对所选择的2个多边形ID的各个多边形ID,取得拍摄了成为该多边形ID表示的多边形信息(三维模型)的作成源的成对图像的各照相机11的外部参数(步骤S602)。具体而言,控制部23将所选择的各多边形ID作为关键字检索三维模型DB222从而取得照相机ID。而且,控制部23可以从客户端DB221取得与所取得的照相机ID对应的照相机11的外部参数。
[0130] 接下来,控制部23根据所取得的外部参数,取得用于将在步骤S601选择的一个多边形ID p1表示的三维模型的坐标变换为所选择的另一个多边形ID p2表示的三维模型的坐标的坐标变换参数(步骤S603)。
[0131] 具体而言,该处理是求出满足式(1)的旋转矩阵R和移动向量t的处理。另外,X表示多边形ID p1所表示的三维模型的坐标,X’表示多边形ID p2表示的三维模型的坐标。
[0132] X=RX′+t (1)
[0133] 如前所述,外部参数是表示从被摄体观察的照相机11的位置的信息(坐标、纵摇、平摇、转动)。因此,控制部23可以根据这些外部参数,使用公知的坐标变换式等,来算出根据具有该外部参数的照相机对的拍摄图像作成的被摄体的三维模型的坐标变换参数。
[0134] 接下来,控制部23使用所取得的坐标变换参数,使由多边形ID p1确定的三维模型与由多边形ID p2确定的三维模型重叠(步骤S604)。
[0135] 接下来,控制部23根据由多边形ID p1确定的三维模型的特征点与由多边形ID p2确定的三维模型的特征点的重叠情况,去除可靠性低的特征点(步骤S605)。例如,控制部23根据相对于某三维模型的关注特征点的其他三维模型的最靠近的特征点的分布,计算该关注特征点的马氏(Mahalanobis)距离,在该马氏距离为给定值以上的情况下,判别为该关注特征点的可靠性低。另外,也可以使距离关注特征点的距离为给定值以上的特征点不包含在最靠近的特征点中。此外,也可以在最靠近的特征点的数量少的情况下,看做可靠性低。另外,在针对全部特征点判别是否进行去除之后,执行去除特征点的处理。
[0136] 接下来,控制部23合并看做相同的特征点(步骤S606)。例如,将给定距离以内的特征点作为属于全部表示同一特征点的组的特征点来处理,将这些特征点的形心(centroid)作为新的特征点。
[0137] 接下来,控制部23重构多边形网格(步骤S607)。也就是说,根据在步骤S606中所求出的新的特征点,生成三维模型(多边形信息)。
[0138] 接下来,控制部23判别在三维模型作成请求数据中包含的多个多边形ID中是否存在未选择的多边形ID(即,没有合成的多边形ID)(步骤S608)。
[0139] 在判别为具有未选择的多边形ID的情况下(步骤S608;是),控制部23选择一个该多边形ID(步骤S609)。然后,处理转移到步骤S602,控制部23在步骤S609所选择的多边形ID表示的三维模型和步骤S607所重构的三维模型之间,同样地取得坐标变换参数,使两个三维模型重叠,反复重构多边形的处理。
[0140] 在判别为没有未选择的多边形ID时(步骤S608;否),三维模型作成请求数据中包含的多边形ID表示的三维模型全部被合成。因此,控制部23对在步骤S607所重构的三维模型(多边形信息)附加新的多边形ID,登录到三维模型DB222中(步骤S610)。如上,合成处理结束。
[0141] 返回到图15,在合成处理结束后,控制部23作成三维模型合成响应数据作为对三维模型合成请求数据的响应(步骤S506)。
[0142] 图16B中示出三维模型合成响应数据的结构。三维模型合成响应数据是包括表示该数据是三维模型合成响应数据的命令标识符、响应ID、在合成处理(步骤S505)生成(重构)的三维模型、和该三维模型的多边形ID的数据。另外,响应ID是用于在从同一客户端10连续接收了三维模型合成请求数据时识别是对客户端10的哪个请求数据的响应数据而赋予的ID。响应ID可以与请求ID相同。
[0143] 返回到图15,接下来,控制部23向三维模型合成请求数据的发送源即客户端10的终端装置12发送所作成的三维模型合成响应数据(步骤S507)。
[0144] 在接收到三维模型合成响应数据时(步骤S508),终端装置12的控制部124将三维模型合成响应数据中包含的多边形信息与多边形ID建立对应而保存到存储部123中(步骤S509)。然后,控制部124使显示装置13显示所保存的三维模型(步骤S510)。如上,三维模型合成处理结束。
[0145] 如此,通过三维模型合成处理,合成了多个三维模型,所以能够在抑制形状信息的欠缺的同时进行高精度的三维建模。
[0146] 根据本发明的实施方式所涉及的三维模型作成系统1,各客户端10具备的照相机11的照相机信息、视线信息,按每客户端10事前被保存在服务器20中。而且,各客户端10在根据拍摄的成对图像作成三维模型时,将该成对图像发送到服务器20。服务器20根据所接收的成对图像和事前所存储的照相机信息,作成三维模型。因此,由于服务器20代为执行需要庞大的运算处理的三维模型作成处理,所以客户端10内的终端装置12可以由比较廉价的CPU等构成。此外,作为系统整体,能够以比较低的成本由拍摄图像作成三维模型。
[0147] 另外,本发明不局限于上述各实施方式所公开的内容。
[0148] 例如,也可以将本发明应用于客户端10内的终端装置12的控制部124以给定帧周期(例如,1/30秒)使各照相机11拍摄被摄体并且将所拍摄的图像流式发送到服务器20的构成。在该情况下,服务器20的控制部23将连续接收的图像与拍摄该图像的照相机
11的照相机ID以及唯一识别所连续接收的各图像的帧编号建立对应而逐次保存在存储部
22中。而且,在三维模型作成处理中,也可以客户端10的终端装置12的用户作成用照相机ID和帧编号指定想要作成三维模型的图像的图13C所示那样的三维模型作成请求数据,使服务器20执行三维模型的作成。
[0149] 通过采用这种方式,三维模型作成请求数据的大小被缩小,所以能够缩短三维模型作成请求数据向服务器20的传输时间。
[0150] 此外,在三维模型作成处理中,也可以使终端装置12包含在三维模型作成请求数据中进行发送的图像数据为使照相机11拍摄的图像变差的(例如,减少了像素数的)图像数据。在该情况下,服务器20根据被变差的图像数据作成三维模型,发送给终端装置12。终端装置12将变差前的图像数据作为纹理(texture)粘贴到所接收的三维模型,使显示装置13显示粘贴后的三维模型。
[0151] 通过采用这种方式,终端装置12能够缩短图像数据的传输时间。而且,因为显示将没有变差的图像作为纹理而粘贴到由变差图像作成的三维模型的三维模型,所以能够显示高画质的三维模型。
[0152] 此外,例如,通过将规定本发明所涉及的服务器20的动作的动作程序应用到现有的个人计算机、信息终端设备等中,能够使该个人计算机等作为本发明所涉及的服务器20来发挥功能。
[0153] 此外,这种程序的配送方法是任意的。例如,可以将程序存储在CD-ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto Optical Disk)、存储卡等计算机可读取的记录介质中来进行配送。此外,也可以通过因特网等通信网络配送程序。
[0154] 以上对本发明的优选实施例进行了详细叙述,但是本发明不限定于所涉及的特定实施例,在权利要求书所记载的本发明的主旨的范围内,能够进行各种变形、变更。