三维模型生成方法及三维模型生成装置与流程

未命名 08-06 阅读:72 评论:0


1.本公开涉及三维模型生成方法及三维模型生成装置。


背景技术:

2.在专利文献1中,公开了使用通过从多个视点拍摄被摄体而得到的多个图像生成被摄体的三维模型的技术。
3.现有技术文献
4.专利文献
5.专利文献1:日本特开2017-130146号公报


技术实现要素:

6.发明要解决的课题
7.关于三维模型的生成处理,希望提高三维模型的生成精度。
8.本公开提供能够提高三维模型的生成精度的三维模型生成方法等。
9.用来解决课题的手段
10.有关本公开的一技术方案的三维模型生成方法是由计算机执行的三维模型生成方法,取得通过从第1视点拍摄被摄体而得到的第1图像和通过从第2视点拍摄上述被摄体而得到的第2图像;至少在上述第1图像中,检测由连续的边缘构成且与上述被摄体的轮廓对应的第1线;基于上述第1图像、上述第2图像以及上述第1线,生成在上述计算机内的三维空间中表现上述轮廓的多个第1三维点。
11.此外,有关本公开的一技术方案的三维模型生成装置具备计算机;上述计算机取得通过从第1视点拍摄被摄体而得到的第1图像和通过从第2视点拍摄上述被摄体而得到的第2图像;上述计算机至少在上述第1图像中,检测由连续的边缘构成且与上述被摄体的轮廓对应的第1线;上述计算机基于上述第1图像、上述第2图像以及上述第1线,生成在上述计算机内的三维空间中表现上述轮廓的多个第1三维点。
12.另外,本公开也可以作为使计算机执行上述三维模型生成方法中包含的步骤的程序实现。此外,本公开也可以作为记录有该程序的能够由计算机读取的cd-rom等的非暂时性的记录介质实现。此外,本公开也可以作为表示该程序的信息、数据或信号实现。并且,也可以将这些程序、信息、数据及信号经由因特网等的通信网络分发。
13.发明效果
14.根据本公开的三维模型生成方法等,能够提高三维模型的生成精度。
附图说明
15.图1是用来说明有关实施方式1的三维模型生成方法的概要的图。
16.图2是表示有关实施方式1的三维模型生成装置的特征性的结构的框图。
17.图3是用来说明有关实施方式1的搜索处理的图。
18.图4是表示有关实施方式1的修正部的功能结构的框图。
19.图5是用来说明有关实施方式1的检测轮廓的处理的一例的图。
20.图6是用来说明有关实施方式1的检测轮廓的处理的一例的图。
21.图7是用来说明有关实施方式1的对多个第3三维点的位置进行修正的处理的一例的图。
22.图8是表示有关实施方式1的三维模型生成装置的动作的一例的流程图。
23.图9是表示有关实施方式1的步骤s104的生成处理的详细情况的一例的流程图。
24.图10是用来说明有关实施方式1的变形例的对多个第3三维点的位置进行修正的处理的一例的图。
25.图11是用来说明有关实施方式1的变形例的对多个第3三维点的位置进行修正的处理的一例的图。
26.图12是用来说明有关实施方式1的变形例的对多个第3三维点的位置进行修正的处理的一例的图。
27.图13是用来说明有关实施方式1的变形例的对多个第3三维点的位置进行修正的处理的一例的图。
28.图14是用来说明有关实施方式1的变形例2的由修正部进行的处理的一例的图。
29.图15是用来说明有关实施方式1的变形例2的由修正部进行的处理的一例的图。
30.图16是表示有关实施方式2的三维模型生成装置的特征性的结构的框图。
31.图17是用来说明有关实施方式2的对各帧进行修正的处理的一例的图。
32.图18是用来说明有关实施方式2的对各帧进行修正的处理的一例的图。
33.图19是表示有关实施方式2的步骤s104的生成处理的详细情况的一例的流程图。
具体实施方式
34.(达成本公开的经过)
35.在专利文献1所公开的技术中,通过搜索多个图像间的类似点而生成三维模型。通常,在类似点的搜索中,在从其他图像中搜索一个图像的一个像素的类似点的情况下,根据相机的几何制约计算其他的图像上的极线,对极线上的多个像素进行搜索。并且,通过使用在类似点的搜索中匹配到的像素和拍摄了图像时的相机的位置及姿势进行三角测量,以匹配到的像素确定被拍摄的三维点的位置。通过对多个像素分别进行该处理,生成包含多个三维点的三维模型。
36.但是,在上述那样的以往技术中,由于使用二维图像生成三维模型,所以因为在二维图像中发生的混叠(alias)的影响,三维模型包含的多个三维点的位置的精度有可能下降。特别是,被摄体的位置距相机越远,则二维图像一像素对应的空间的尺寸越大,所以生成的三维点的位置的误差越大。因此,生成的三维模型的精度下降。
37.所以,在本公开中,提供能够提高三维模型的生成精度的三维模型生成方法等。
38.有关本公开的一技术方案的三维模型生成方法是由计算机执行的三维模型生成方法,取得通过从第1视点拍摄被摄体而得到的第1图像和通过从第2视点拍摄上述被摄体而得到的第2图像;至少在上述第1图像中,检测由连续的边缘构成且与上述被摄体的轮廓对应的第1线;基于上述第1图像、上述第2图像以及上述第1线,生成在上述计算机内的三维
空间中表现上述轮廓的多个第1三维点。
39.由此,从图像中检测与被摄体的轮廓对应的第1线,除了多个图像以外还使用检测到的第1线,生成多个第1三维点。这样,检测与被摄体的轮廓对应的第1线,考虑第1线来生成第1三维模型,所以能够降低由图像上的混叠造成的误差。因此,能够提高第1三维模型的生成精度。
40.此外,也可以是,上述第1线以比上述第1图像中的像素单位小的单位表现。
41.此外,也可以是,进一步,通过在上述第1图像及上述第2图像中进行对相互的类似点进行搜索的匹配,生成在上述三维空间中表现上述被摄体的多个第2三维点;为了上述多个第1三维点的生成,(i)基于上述第1线,在上述多个第2三维点中确定与上述轮廓对应的多个第3三维点;(ii)对上述多个第3三维点的位置进行修正。
42.由此,确定为多个第3三维点是与被摄体的轮廓对应的点群,使用所确定的点群对点群的位置进行修正。因此,能够根据被摄体的轮廓的形状适当地修正点群的位置。
43.此外,也可以是,进一步,在上述第2图像中,检测由连续的边缘构成且与包含上述第1线所对应的轮廓的至少一部分的轮廓对应的第2线;为了上述多个第1三维点的生成,进一步,(i)基于上述第2线,在上述多个第2三维点中确定多个第4三维点,该多个第4三维点与上述第2线所对应的轮廓对应,并且包括修正后的上述多个第3三维点和没有被修正的第2三维点;(ii)在上述多个第4三维点中,至少对上述没有被修正的第2三维点的位置进行修正。
44.因此,能够高精度地生成与被摄体的连续的轮廓对应的多个第1三维点的位置。
45.此外,也可以是,为了上述多个第1三维点的生成,通过对上述多个第3三维点进行主成分分析而确定平面,以上述多个第3三维点接近于上述平面的方式对上述多个第3三维点的位置进行修正。
46.因此,能够根据轮廓的形状而高精度地修正多个第3三维点的位置。
47.此外,也可以是,为了上述多个第1三维点的生成,生成第1平面以及第2平面中的距上述多个第3三维点的距离的总和较小的平面作为上述平面,上述第1平面经过上述多个第3三维点的重心,并且以通过上述主成分分析得到的第1主成分为法线,上述第2平面经过上述重心,并且以通过上述主成分分析得到的第2主成分为法线。
48.因此,即使在检测到的第1线的长度不够长的情况下,也能够根据作为线段的第1线而高精度地确定多个第3三维点的位置。
49.此外,也可以是,为了上述第1三维点的生成,通过对上述多个第3三维点进行最小二乘法而生成近似线,以上述多个第3三维点接近于上述近似线的方式对上述多个第3三维点的位置进行修正。
50.因此,能够根据近似于点群的近似线高精度地修正多个第3三维点的位置。
51.此外,也可以是,为了上述多个第1三维点的生成,从上述多个第1三维点中去除处于距上述第1视点的距离比规定的距离近的位置处的三维点。
52.这样,在精度容易成为一定以上的部分中不使用轮廓来生成第1三维模型,所以能够不导致精度的下降地降低处理负荷。
53.此外,也可以是,为了上述多个第1三维点的生成,不使用从上述第1图像及上述第2图像中的规定的分辨率以上的图像检测到的边缘。
54.这样,在精度容易成为一定以上的部分中不使用轮廓来生成第1三维模型,所以能够不导致精度的下降地降低处理负荷。
55.此外,也可以是,在上述检测中,在上述第2图像中检测由连续的边缘构成且与上述被摄体的轮廓对应的第2线;在上述多个第1三维点的生成中,(i)使用上述第1线及上述第2线对上述第1图像及上述第2图像分别进行修正,(ii)在修正后的上述第1图像及修正后的上述第2图像中进行对相互的类似点进行搜索的匹配。
56.由此,使用利用轮廓进行修正后的图像生成第1三维模型,所以能够生成降低了由图像上的混叠造成的误差的第1三维模型。
57.此外,有关本公开的一技术方案的三维模型生成装置具备计算机;上述计算机取得通过从第1视点拍摄被摄体而得到的第1图像和通过从第2视点拍摄上述被摄体而得到的第2图像;上述计算机至少在上述第1图像中,检测由连续的边缘构成且与上述被摄体的轮廓对应的第1线;上述计算机基于上述第1图像、上述第2图像以及上述第1线,生成在上述计算机内的三维空间中表现上述轮廓的多个第1三维点。
58.由此,从图像中检测与被摄体的轮廓对应的第1线,除了多个图像以外还使用检测到的第1线,生成多个第1三维点。这样,检测与被摄体的轮廓对应的第1线,考虑第1线来生成第1三维模型,所以能够降低由图像上的混叠造成的误差。因此,能够提高第1三维模型的生成精度。
59.以下,使用附图对有关本公开的三维模型生成方法等的各实施方式详细地进行说明。另外,以下说明的各实施方式都表示本公开的一具体例。因而,在以下的各实施方式中表示的数值、形状、构成要素、构成要素的配置及连接形态、步骤、步骤的顺序等是一例,不是限定本公开的意思。
60.此外,各图是示意图,并不一定是严密地图示的。此外,在各图中对于实质上相同的结构赋予相同的标号,有将重复的说明省略或简略化的情况。
61.(实施方式1)
62.[概要]
[0063]
首先,参照图1对有关实施方式1的三维模型生成方法的概要进行说明。
[0064]
图1是用来说明有关实施方式1的三维模型生成方法的概要的图。图2是表示有关实施方式1的三维模型生成装置100的特征性的结构的框图。
[0065]
在三维模型生成方法中,如图1所示,根据使用多个摄像装置301在不同的多个视点拍摄的多个图像,生成规定的区域的三维模型。这里,规定的区域是包含静止的静止物体或人物等的运动的运动物体或其两者的区域。换言之,规定的区域例如是包含静止的静止物体及运动的运动物体中的至少一方作为被摄体的区域。
[0066]
作为包含静止物体和运动物体的规定的区域的例子,有进行篮球等的体育比赛的会场、或者存在人物或车的道路上的空间等。另外,规定的区域也可以不仅包含作为被摄体的特定的对象物,还包含风景等。在图1中例示了被摄体500是建筑物的情况。此外,以下将不仅包含作为被摄体的特定的对象物,还包含风景等的规定的区域也简单称作被摄体。
[0067]
如图2所示,三维模型生成系统400具备包括多个摄像装置301的摄像装置群300、推测装置200和三维模型生成装置100。
[0068]
(多个摄像装置)
[0069]
多个摄像装置301是拍摄规定的区域的多个摄像装置。多个摄像装置301分别拍摄被摄体,并将拍摄得到的多个帧分别向推测装置200输出。在本实施方式中,摄像装置群300中包括两台以上的摄像装置301。此外,多个摄像装置301从相互不同的视点拍摄相同的被摄体。帧换言之是图像。
[0070]
另外,假设三维模型生成系统400具备摄像装置群300,但并不限于此,也可以具备1台摄像装置301。例如,在三维模型生成系统400中,也可以一边使1台摄像装置301移动一边使1台摄像装置301拍摄存在于实际空间上的被摄体,以生成由视点相互不同的多个帧构成的多视点图像。多个帧分别是由位置及姿势的至少一方相互不同的摄像装置301拍摄(生成)的帧。即,多个帧是从相互不同的视点拍摄的帧。
[0071]
此外,各摄像装置301既可以是生成二维图像的相机,也可以是具备生成三维模型的三维计测传感器的相机。在本实施方式中,多个摄像装置301分别是通过进行拍摄而生成二维图像的相机。
[0072]
多个摄像装置301既可以通过有线通信或无线通信与推测装置200直接连接,或者也可以经由通信设备或服务器等的未图示的集线器(hub)与推测装置200间接地连接,以便能够将分别拍摄的帧输出给推测装置200。
[0073]
另外,由多个摄像装置301分别拍摄的帧也可以实时地输出至推测装置200。此外,帧也可以先记录在存储器或云服务器等的外部存储装置之后,从这些外部存储装置输出至推测装置200。
[0074]
此外,多个摄像装置301分别既可以是监视相机等的固定相机,也可以是立体相机、智能电话或可穿戴相机等的移动相机,也可以是带拍摄功能的无人机等的移动相机。
[0075]
(推测装置)
[0076]
推测装置200通过使1台以上的摄像装置301从多个视点拍摄被摄体来进行相机校正。推测装置200例如进行基于由多个摄像装置301分别拍摄的多个帧推测多个摄像装置301的位置及姿势的相机校正。这里,摄像装置301的姿势表示摄像装置301的拍摄方向及摄像装置301的倾斜的至少一方。摄像装置301的拍摄方向是摄像装置301的光轴的方向。摄像装置301的倾斜是摄像装置301的从基准姿势起的绕光轴的旋转角度。
[0077]
具体而言,推测装置200基于从多个摄像装置301取得的多个帧,推测多个摄像装置301的相机参数。这里,相机参数是表示摄像装置301的特性的参数,包括包含摄像装置301的焦点距离及图像中心等的内部参数和表示摄像装置301的位置(更具体地讲是三维位置)及姿势的外部参数。即,多个摄像装置301各自的位置及姿势通过推测多个摄像装置301各自的相机参数来得到。
[0078]
另外,推测装置200推测摄像装置301的位置及姿势的推测方法没有被特别限定。推测装置200例如也可以使用visual-slam(simultaneous localization and mapping:即时定位与地图构建)技术推测多个摄像装置301的位置及姿势。或者,推测装置200例如也可以使用structure-from-motion(运动恢复结构)技术推测多个摄像装置301的位置及姿势。
[0079]
这里,使用图3对由推测装置200进行的多个摄像装置301的位置及姿势的推测方法进行说明。图3是用来说明由后述的复原部进行的搜索处理的图,但由于在推测方法中也进行一部分同样的处理,所以利用图3进行说明。
[0080]
推测装置200使用visual-slam技术或structure-from-motion技术进行特征点的搜索,该特征点的搜索是指从由多个摄像装置301拍摄的多个帧531~533各自中提取特征性的点作为特征点,在提取出的多个特征点中提取在多个帧间类似的类似点的组。推测装置200通过进行特征点的搜索,能够确定在多个帧531~533中共同拍摄到的被摄体510上的点,所以能够使用提取出的类似点的组以三角测量的原理求出被摄体510上的点的三维坐标(即三维位置)。
[0081]
这样,推测装置200通过提取多个类似点的组并使用多个类似点的组,能够推测各摄像装置301的位置及姿势。推测装置200也可以在推测各摄像装置301的位置及姿势的过程中,对于类似点的各组计算三维坐标,生成包含由计算出的多个三维坐标表示的多个三维点的三维模型520。多个三维点分别表示三维空间中的被摄体上的位置。推测装置200得到各摄像装置301的位置及姿势和地图信息作为推测结果。得到的三维模型520由于与相机参数一起被优化处理,所以是精度比规定的精度高的信息。此外,三维模型520包括多个三维点各自的三维位置。另外,三维模型520也可以不仅包括多个三维位置,还包括各三维点的颜色、各三维点的周边的表面形状、表示各三维点是由哪个帧生成的信息等。
[0082]
此外,推测装置200为了使推测处理高速化,也可以通过将类似点的组的数量限制为规定的数量,来生成包括稀疏的三维点群的三维模型520。这是因为,即使是被限制为规定的数量的类似点的组,推测装置200也能够以充分的精度推测各摄像装置301的位置及姿势。另外,规定的数量也可以决定为能够以充分的精度推测各摄像装置301的位置及姿势的数量。此外,推测装置200也可以使用类似点的组中的以规定的类似度以上类似的组来推测各摄像装置301的位置及姿势。结果,推测装置200能够将在推测处理中使用的类似点的组的数量限制为以规定的类似度以上类似的组的数量。
[0083]
此外,推测装置200例如也可以基于使用上述技术推测出的摄像装置301的位置及姿势计算摄像装置301与被摄体510之间的距离作为相机参数。另外,三维模型生成系统400也可以具备测距传感器,使用该测距传感器测定摄像装置301与被摄体510之间的距离。
[0084]
推测装置200既可以通过有线通信或无线通信与三维模型生成装置100直接连接,或者也可以经由通信设备或服务器等的未图示的集线器而与推测装置200间接地连接。由此,推测装置200将从多个摄像装置301接收到的多个帧及推测出的多个摄像装置301的多个相机参数向三维模型生成装置100输出。
[0085]
另外,由推测装置200推测出的多个相机参数也可以实时地输出至三维模型生成装置100。此外,多个相机参数也可以先记录在存储器或云服务器等的外部存储装置之后,从这些外部存储装置输出至三维模型生成装置100。
[0086]
推测装置200至少具备计算机系统,该计算机系统例如具备控制程序、执行该控制程序的处理器或逻辑电路等的处理电路、以及存储该控制程序的内部存储器或能够访问的外部存储器等的记录装置。
[0087]
(三维模型生成装置)
[0088]
三维模型生成装置100基于由多个摄像装置301拍摄的多个帧和由推测装置200推测出的相机参数,生成规定的区域的三维模型。具体而言,三维模型生成装置100是执行基于与多个摄像装置301分别对应的多个相机参数和多个帧在虚拟的三维空间上生成被摄体的三维模型的三维模型生成处理的装置。
[0089]
另外,被摄体的三维模型是从拍摄了被摄体的实物的帧在虚拟的三维空间上复原的、包含被摄体的三维形状及被摄体的颜色的数据。被摄体的三维模型是表示多视点的即在不同的多个视点由多个摄像装置301拍摄的多个二维图像各自中拍摄到的被摄体上的多个点各自的三维位置的点的集合。
[0090]
三维位置例如通过由表示相互正交的x轴、y轴及z轴各自的位置的x成分、y成分及z成分构成的三值信息表示。即,三维位置由三维正交坐标系的三维坐标表示。另外,三维位置并不限于由三维正交坐标系的三维坐标表示,也可以由三维极坐标系的三维坐标表示。此外,在表示三维位置的多个点包含的信息中,除了表示三维位置的位置信息以外,也可以不仅包含三维位置(即表示坐标的信息),还包含表示各点的颜色的信息、表示各点及其周边的表面形状的属性信息等。
[0091]
三维模型生成装置100至少具备计算机系统,该计算机系统例如具备控制程序、执行该控制程序的处理器或逻辑电路等的处理电路、以及存储该控制程序的内部存储器或能够访问的外部存储器等的记录装置。三维模型生成装置100是信息处理装置。三维模型生成装置100的各处理部的功能既可以由软件实现,也可以由硬件实现。
[0092]
此外,三维模型生成装置100也可以预先存储多个摄像装置301的相机参数。在此情况下,三维模型生成系统400也可以不具备推测装置200。此外,多个摄像装置301也可以与三维模型生成装置100通过无线或有线可通信地连接。
[0093]
此外,摄像装置301所拍摄的多个帧也可以直接输出至三维模型生成装置100。在此情况下,摄像装置301既可以通过有线通信或无线通信与三维模型生成装置100直接连接,或者也可以经由通信设备或服务器等的未图示的集线器与推测装置200间接地连接。
[0094]
接着,参照图2对三维模型生成装置100的结构的详细情况进行说明。
[0095]
三维模型生成装置100是根据多个帧生成三维模型的装置。三维模型生成装置100具备接收部110、存储部120、取得部130、生成部140和输出部150。
[0096]
接收部110从推测装置200接收多个摄像装置301所拍摄的多个帧和由推测装置200推测出的多个相机参数。由此,接收部110取得通过从第1视点拍摄被摄体而得到的第1帧(第1图像)和通过从第2视点拍摄该被摄体而得到的第2帧(第2图像)。即,由接收部110接收到的多个帧包括第1帧及第2帧。例如在被摄体是静止物体的情况下,该多个帧是通过从不同的多个视点拍摄被摄体而得到的多个帧。例如在被摄体是运动物体的情况下,多个帧是通过在规定的定时(即同时)从多个视点拍摄被摄体而得到的多个帧。三维模型生成装置100进行以将多个帧作为1个集合的帧集合为处理单位生成第1三维模型的处理。帧集合有时称为多视点图像。接收部110也可以从推测装置200取得三维模型520。接收部110将接收到的多个帧和相机参数向存储部120输出。
[0097]
接收部110例如是用来与推测装置200进行通信的通信接口。在三维模型生成装置100和推测装置200进行无线通信的情况下,接收部110例如具备天线和无线通信电路。或者,在三维模型生成装置100和推测装置200进行有线通信的情况下,接收部110例如具备与通信线连接的连接器和有线通信电路。另外,接收部110也可以不经由推测装置200而从多个摄像装置301接收多个帧。
[0098]
存储部120存储由接收部110接收到的多个帧及多个相机参数。存储部120也可以存储由接收部110接收到的三维模型520。另外,存储部120也可以存储三维模型生成装置
100具备的各处理部的处理结果。存储部120例如存储三维模型生成装置100具备的各处理部执行的控制程序。存储部120例如由hdd(hard disk drive)、闪存存储器等实现。
[0099]
取得部130从存储部120取得存储在存储部120中的多个帧和各摄像装置301的相机参数,并向生成部140输出。
[0100]
另外,三维模型生成装置100也可以不具备存储部120及取得部130。在此情况下,接收部110也可以将从多个摄像装置301接收到的多个帧和从推测装置200接收到的各摄像装置301的相机参数向生成部140输出。
[0101]
生成部140使用多个帧和多个相机参数生成第1三维模型。第1三维模型包含多个第1三维点。生成部140具有复原部141和修正部142。复原部141通过在多个帧、例如第1帧及第2帧中进行对相互的类似点进行搜索的匹配,生成在三维空间中表现被摄体的多个第2三维点。修正部142对多个第2三维点的位置进行修正。由此,生成第1三维模型。第1三维模型中包含的多个第1三维点通过由修正部142对多个第2三维点的至少一部分进行修正而生成。以下,对复原部141及修正部142具体地进行说明。
[0102]
复原部141从第2帧中的基于第1点的搜索区域中的多个第2点中搜索与多个帧中的第1帧的第1点类似的类似点。第1帧是多个帧中的作为第1点的参照源的帧(图像)。第2帧是从多个帧排除第1帧之后的其余的多个帧中的一个帧,并且是作为与第1点类似的类似点的搜索的参照目的地的帧(图像)。第1点具体而言是多个第1像素中的一个第1像素。多个第1像素是第1帧中包含的像素,例如是第1帧中包含的全部像素。搜索区域是在多个第2帧中由与第1帧的第1点对应的极线规定的区域,例如是由极线上的多个第2点构成的区域。多个第2点具体而言是搜索区域中包含的多个第2像素。
[0103]
另外,复原部141也可以对于多个第1像素分别从第2帧中包含的多个第2像素中搜索与该第1像素类似的类似点(类似像素)。多个第2像素例如是第2帧中包含的全部像素。此外,复原部141既可以以多个第2帧各自为搜索对象,进行第1像素的类似点的搜索,也可以以多个第2帧中的至少1个第2帧为搜索对象,进行第1像素的类似点的搜索。
[0104]
图3是用来说明由复原部141进行的搜索处理的图。在图3中,表示了由第1视点v1的摄像装置301拍摄包含被摄体510的第1帧531,由第2视点v2的摄像装置301拍摄包含被摄体510的第2帧532,由第3视点v3的摄像装置301拍摄包含被摄体510的第2帧533的例子。
[0105]
复原部141按每个第1像素计算极线,该极线是将拍摄了第1帧的摄像装置301的位置和该第1像素的第1帧上的二维坐标连结的直线被投影到处理对象的第2帧上而得到的极线。例如,如图3所示,复原部141计算将第1视点v1和第1像素541连结的直线l1被投影到第2帧532上的极线552。此外,复原部141计算直线l1被投影到第2帧533上的极线553。并且,复原部141从极线552、553上分别搜索与第1帧531中的处理对象的第1像素541类似的类似点。
[0106]
复原部141计算第1像素与搜索区域中的多个第2像素各自之间的类似度。具体而言,复原部141使用式1在第1帧与处理对象的第2帧之间计算表示小区域间的normalized cross correlation(ncc,归一化互相关)的n(i,j)作为类似度。n(i,j)由-1到1之间的数值表示,越接近于1,表示类似度越高。
[0107]
[数式1]
[0108][0109]ixy
及j
xy
表示各帧的小区域内的像素值。
[0110]
及表示各帧的小区域内的像素平均值。
[0111]
此外,复原部141也可以代替ncc而计算ssd(i,j)作为类似度。ssd(sum of squared difference:差方和)是第1帧与处理对象的第2帧之间的小区域间的像素值的差分的平方和。ssd(i,j)值越小,表示类似度越高。
[0112]
[数式2]
[0113][0114]ixy
及j
st
表示各帧的小区域内的像素值。
[0115]
复原部141确定与第1像素541之间的类似度最高的第2像素542、543作为第1像素的类似点。复原部141使用第1像素541和被选择为第1像素541的类似点的第2像素542、543,以三角测量的原理计算由被摄体510上的点的三维坐标表示的三维点。
[0116]
另外,在关于1个第1像素计算出多个三维点的情况下,复原部141也可以通过计算多个三维点的平均来生成与1个第1像素对应的1个三维点。
[0117]
另外,在对多个帧各自没有附加生成了各帧的摄像装置301的相机确定信息的情况下,复原部141也可以对各帧的头附加生成了各帧的摄像装置301的相机确定信息,也可以对包含多个帧的帧集合的头附加多个摄像装置301的多个相机确定信息。相机确定信息既可以包含识别该相机确定信息所对应的摄像装置301的识别信息,也可以包含该相机确定信息所对应的摄像装置301的相机参数。
[0118]
图4是表示修正部142的功能构成的框图。
[0119]
如图4所示,修正部142具有检测部142a及三维点修正部142b。
[0120]
检测部142a至少在第1帧中,检测由连续的边缘构成且与被摄体510的轮廓对应的线。在第1帧中检测的线是第1线的一例。具体而言,检测部142a也可以对第1帧的各像素所具有的像素值利用使用一次微分的梯度法来检测边缘。此外,检测部142a也可以对第1帧的各像素所具有的像素值使用利用二次微分的拉普拉斯法来检测边缘。另外,检测部142a检测的边缘是第1帧中的点(边缘点)。
[0121]
此外,检测部142a使用在第1帧上检测出的多个边缘,检测连续的边缘。检测部142a为了检测连续的边缘而能够利用周知的算法。检测部142a例如也可以使用lsd(line segment detector:线段检测)来检测直线状的连续的边缘。检测部142a通过使用lsd,检测连续的边缘的起点和终点,检测将起点与终点连结的直线作为连续的边缘。另外,检测直线状的连续的边缘的算法并不限于lsd。
[0122]
检测部142a检测的线所对应的轮廓例如是线段、曲线、平面、曲面等。轮廓也可以是构成特定的形状的一部分的线或面。特定的形状既可以是棱柱、角锥、圆柱、圆锥、球体等,也可以是通过使线段或曲线绕某个旋转轴旋转而形成的立体物即旋转体。
[0123]
轮廓例如也可以按线的形状的每个种类来区分。线的形状既可以是连结两点的直线(线段),也可以是连结两点的曲线。连结两点的曲线也可以是不具有弯曲的部分的平滑
的曲线。这样,由检测部142a检测的线也可以是用两点划分的长度有限的线。此外,在面的情况下,轮廓也可以是包含检测到的线的面。在检测到的线的形状是线段的情况下,轮廓也可以是平面,在检测到的线的形状是曲线的情况下,轮廓也可以是曲面。
[0124]
图5及图6是用来说明由检测部142a进行的检测线的处理的一例的图。以下,以检测部142a检测线段的情况为例进行说明。
[0125]
在图5中,在第1帧531中将包括被摄体510的直线状的形状的区域561用虚线表示。由于第1帧531以像素单位表现被摄体510,所以被摄体510的轮廓也以像素单位表现。因此,通常在拍摄有在第1帧531中在斜方向上延伸的直线状的形状的区域561中,如图6的(a)所示,较大地发生边缘看起来呈台阶状的混叠。但是,检测出的连续的边缘不是以像素单位表现的,所以被摄体510的轮廓由连续的边缘以高再现性表现。换言之,检测出的连续的边缘的位置通过对于根据各像素的位置与像素值的关系得到的亮度梯度的一次微分或二次微分来确定,所以并不限定于像素的位置,而以比像素单位小的区域单位的精度(小数像素精度)确定。即,检测部142a在小数像素精度的位置检测由连续的边缘构成的线。由连续的边缘构成的线以比第1帧531中的像素单位小的单位表现。因此,连续的边缘以高再现性的比像素单位小的区域单位表现轮廓562。此外,检测部142a使用对于亮度梯度的一次微分或二次微分检测连续的边缘,所以能够得到多个像素的折回畸变(混叠)被抵消的结果。
[0126]
所以,通过不是仅根据第1帧531的像素生成三维点,而是使用能够以高再现性表现被摄体510的轮廓的连续的边缘生成三维点,能够生成精度更高的三维点。
[0127]
三维点修正部142b在多个第2三维点中确定包含与线562对应的轮廓所包含的多个第3三维点的组。组也可以包含由第1帧中的线562经过的多个像素生成的多个三维点作为多个第3三维点。此外,组也可以包含由第1帧中的线562经过的多个像素和该多个像素的周围的像素生成的多个三维点作为多个第3三维点。多个像素的周围的像素也可以包含位于比从该多个像素分离了规定个的像素近的位置处的多个像素的全部。这样,三维点修正部142b关于由检测部142a检测到的1个以上的线,分别确定包含由与该线对应的部分确定的多个第3三维点的组。
[0128]
并且,三维点修正部142b基于各线,对属于由该线确定的组的多个第3三维点的位置进行修正。具体而言,三维点修正部142b按每个组,通过对属于各组的多个第3三维点进行主成分分析而确定平面,以多个第3三维点接近于平面的方式对多个第3三维点的位置进行修正。这样,三维点修正部142b对多个第2三维点中的对应于轮廓的多个第3三维点的位置进行修正。由此,生成多个第1三维点。
[0129]
图7是用来说明有关实施方式1的由三维点修正部142b进行的对多个第3三维点的位置进行修正的处理的一例的图。图7的(a)表示属于1个组的多个第3三维点570。
[0130]
三维点修正部142b通过对多个第3三维点570进行主成分分析,计算如图7的(b)所示的第1主成分571及第2主成分572。具体而言,三维点修正部142b计算多个第3三维点570的三维坐标的方差-协方差矩阵,计算从得到的主成分(固有向量)的大小较大者起依次选择的两个主成分作为第1主成分571及第2主成分572。
[0131]
接着,三维点修正部142b生成基于第1主成分571的第1平面和基于第2主成分572的第2平面作为在修正中使用的平面的候选(候选面)。第1平面是经过多个第3三维点570的重心并且以第1主成分571为法线的平面。第2平面是经过多个第3三维点570的重心并且以
第2主成分572为法线的平面。三维点修正部142b将第1平面及第2平面中的距多个第3三维点570的距离的总和较小的平面决定为在修正中使用的平面。这里,表示候选面的平面的式子由式3表示。
[0132]
ax+by+cz+d=0
ꢀꢀꢀ
(式3)
[0133]
在此情况下,该平面与点(x0,y0,z0)的距离d由式4表示。
[0134]
[数式3]
[0135][0136]
如果设属于组的第3三维点的数量是n个,第i个三维点的三维坐标为(xi,yi,zi),则n个第3三维点与候选面的距离的总和dall由式5表示。
[0137]
[数式4]
[0138][0139]
三维点修正部142b对于第1平面及第2平面分别计算dall,将dall最小的平面决定为修正面573。结果,三维点修正部142b在图7的(c)所示的例子中将基于第1主成分571的第1平面决定为修正面573。
[0140]
在决定修正面之后,三维点修正部142b如图7的(d)所示,对于多个第3三维点570分别计算与该第3三维点对应的第1帧上的像素的向该第3三维点的投影线与修正面573的交点作为修正点574。
[0141]
这里,如果设与对应于各第3三维点的像素对应的三维单位向量为(vx,vy,vz),则可以表示为与像素对应的第3三维点(xn,yn,zn)=t(vx,vy,vz)。
[0142]
如果如式3那样表示平面,则t由以下的式6表示。
[0143]
[数式5]
[0144][0145]
并且,修正点(x’n,y’n,z’n)由以下的式7表示。
[0146]
[数式6]
[0147][0148]
另外,如果假定是针孔相机,则与像素对应的三维单位向量(vx,vy,vz)由以下的式8表示。
[0149]
[数式7]
[0150][0151]
在式8中,(x,y)是第1帧中的像素的二维坐标。(cx,cy)是拍摄了第1帧的摄像装置301的内部参数中的第1帧的中心位置。(fx,fy)是拍摄了第1帧的摄像装置301的内部参数中的焦点距离。
[0152]
这样,三维点修正部142b通过对多个第3三维点570的位置进行修正,生成包含多个修正点574的第1三维模型。由此,多个修正点574沿着在第1帧检测到的线排列。因此,在所生成的第1三维模型中,在从第1帧的视点观察的情况下,与在第1帧中检测到的线对应的部分具有沿着该线的形状。此外,多个第1三维点由于作为将多个第3三维点570修正后的结果来生成,所以包括多个修正点574。即,多个第1三维点包括多个第2三维点中的没有被修正的多个第2三维点和多个修正点574。
[0153]
[三维模型生成装置的动作]
[0154]
接着,使用图8对三维模型生成装置100的动作进行说明。图8是表示三维模型生成装置100的动作的一例的流程图。
[0155]
首先,在三维模型生成装置100中,接收部110从推测装置200接收多个摄像装置301拍摄的多个帧和各摄像装置301的相机参数(s101)。步骤s101是取得多个图像的步骤的一例。另外,接收部110也可以不是在1个定时接收而是在分别不同的定时接收多个帧和多个相机参数。即,多个帧的取得和多个相机参数的取得既可以在相互相同的定时进行,也可以在相互不同的定时进行。
[0156]
接着,存储部120存储由接收部110接收到的由多个摄像装置301拍摄的多个帧和各摄像装置301的相机参数(s102)。
[0157]
接着,取得部130取得存储在存储部120中的多个帧和多个相机参数,将所取得的多个帧和多个相机参数向生成部140输出(s103)。
[0158]
接着,生成部140使用多个帧和多个相机参数生成第1三维模型(s104)。另外,生成第1三维模型的步骤s104的详细情况使用图9后述。
[0159]
接着,输出部150输出在生成部140中生成的第1三维模型(s105)。
[0160]
图9是表示由生成部140进行的步骤s104的生成处理的详细情况的一例的流程图。
[0161]
生成部140进行在相互对应的定时拍摄的多视点图像的每个帧集合的循环1(s111)。在循环1中,按每个帧集合进行循环2。
[0162]
生成部140进行处理对象的帧集合中的第1帧的多个第1像素各自的循环2(s112)。在循环2中,对多个第1像素的每一个进行步骤s113~步骤s116的处理。
[0163]
复原部141对于处理对象的第1像素,从在处理对象的帧集合中的多个第2帧上与该第1像素对应的极线上的多个第2像素中,搜索与该第1像素类似的类似点(s113)。
[0164]
复原部141通过使用由步骤s113得到的搜索结果进行三角测量而生成第2三维点。由此,复原部141生成包含多个第2三维点的第2三维模型(s114)。步骤s113及步骤s114的详细情况在复原部141的说明中已记载,所以省略。
[0165]
修正部142从第1帧检测由连续的边缘构成且与被摄体的轮廓对应的线(s115)。
[0166]
修正部142根据线的形状对多个第2三维点中的与检测到的线对应的多个第3三维点的位置进行修正(s116)。由此,修正部142生成包含多个第1三维点的第1三维模型。步骤s115及步骤s116的详细情况在修正部142的说明中已记载,所以省略。
[0167]
如果对于在处理对象的帧集合的第1帧中包含的全部的第1像素结束了步骤s113~s116的处理,则循环2结束。
[0168]
如果对于全部的帧集合结束了循环2,则循环1结束。
[0169]
另外,在图9的例子中,假设循环2包括生成第2三维模型的处理和对多个第3三维
点的位置进行修正的处理这两者的处理,但并不限于此,这两个处理也可以不包含在相同的循环中。即,生成第2三维模型的处理的循环和对多个第3三维点的位置进行修正的处理的循环也可以独立。
[0170]
[效果等]
[0171]
有关本实施方式的三维模型生成方法取得通过从第1视点拍摄被摄体而得到的第1帧和通过从第2视点拍摄被摄体而得到的第2帧(s101),至少在第1帧中,检测由连续的边缘构成且与被摄体的轮廓对应的线(s115),基于第1帧、第2帧以及线,生成在计算机内的三维空间中表现轮廓的多个第1三维点(s116)。
[0172]
根据该三维模型生成方法,从帧中检测与被摄体的轮廓对应的线,除了多个帧以外,还使用检测到的线生成多个第1三维点。由于这样检测与被摄体的轮廓对应的线,考虑线来生成多个第1三维点,所以能够减小由图像上的混叠带来的误差。因此,能够提高第1三维模型的生成精度。
[0173]
此外,在有关本实施方式的三维模型生成方法中,从与第1视点对应的视点观察时的在计算机内的三维空间中多个第1三维点表现的轮廓具有沿着线的形状。即,在三维模型生成方法中,以沿着从第1视点观察时的被摄体的轮廓的形状的方式生成多个第1三维点,所以能够提高第1三维模型的生成精度。
[0174]
此外,在有关本实施方式的三维模型生成方法中,进一步通过在第1帧及第2帧中进行对相互的类似点进行搜索的匹配,生成在计算机内的三维空间中表现被摄体的多个第2三维点(s113、s114),为了多个第1三维点的生成(s116),基于线在多个第2三维点中确定与轮廓对应的多个第3三维点,对多个第3三维点的位置进行修正。
[0175]
由此,确定为多个第3三维点是与轮廓对应的点群,使用确定的点群对点群的位置进行修正。因此,能够根据轮廓的形状适当地修正点群的位置。
[0176]
此外,在有关本实施方式的三维模型生成方法中,为了多个第1三维点的生成(s116),通过对多个第3三维点进行主成分分析而生成平面,以多个第3三维点接近于该平面的方式对多个第3三维点的位置进行修正。因此,能够根据轮廓的形状高精度地修正多个第3三维点的位置。
[0177]
此外,在有关本实施方式的三维模型生成方法中,为了多个第1三维点的生成(s116),生成第1平面以及第2平面中的距多个第3三维点的距离的总和较小的平面作为在修正中使用的平面,上述第1平面经过多个第3三维点的重心,并且以通过主成分分析得到的第1主成分为法线,上述第2平面经过该重心,并且以通过主成分分析得到的第2主成分为法线。因此,即使在检测到的线的长度不够长的情况下,也能够根据作为线段的线高精度地修正多个第3三维点的位置。
[0178]
[变形例]
[0179]
(变形例1)
[0180]
在上述有关实施方式1的三维模型生成方法中,三维模型生成装置100通过对属于由线确定的组的多个第3三维点进行主成分分析而生成修正面,使用修正面对多个第3三维点的位置进行修正,但并不限于此。在有关变形例1的三维模型生成方法中,也可以通过对多个第3三维点进行最小二乘法而生成近似线,使用近似线对多个第3三维点的位置进行修正。
[0181]
在此情况下,修正部142中的三维点修正部142b的处理不同,所以对三维点修正部142b的处理进行说明。
[0182]
三维点修正部142b与实施方式1同样,在多个第2三维点中,确定包含与线562对应的部分中包含的多个第3三维点的组。并且,三维点修正部142b通过对多个第3三维点进行最小二乘法而生成近似线。三维点修正部142b以多个第3三维点接近于近似线的方式对多个第3三维点的位置进行修正。
[0183]
图10~图13是用来说明由有关实施方式1的变形例的三维点修正部142b进行的对多个第3三维点的位置进行修正的处理的一例的图。图10表示属于1个组的多个第3三维点580。
[0184]
如图10所示,三维点修正部142b将多个第3三维点580投影到xz平面上。设属于组的多个第3三维点580的数量是n个,xz平面中的第i个三维点的坐标为(xi,zi)。并且,假设用式9表示求出的近似线的式子。
[0185]
z=ax+b
ꢀꢀꢀ
(式9)
[0186]
此时,三维点修正部142b能够通过最小二乘法,使用以下的式10计算a及b。
[0187]
[数式8]
[0188][0189]
由此,如图11所示,在设存在多个第3三维点580的二维平面为xz平面时,三维点修正部142b能够对xz平面中的多个第3三维点580使用最小二乘法生成多个第3三维点580的近似线581。
[0190]
接着,如图12所示,三维点修正部142b计算将拍摄第1帧时的视点与第i个第3三维点连结的直线和近似线581的交点作为修正点。具体而言,三维点修正部142b在将经过修正点(x’i
,y’i
,z’i
)的从拍摄第1帧时的摄像装置301的相机中心延伸的直线在xz坐标上设为z=cx时,该直线与近似线的交点(x’i
,z’i
)由式11表示。
[0191]
[数式9]
[0192][0193]
这样,三维点修正部142b对于各第3三维点计算与近似线581的交点。三维点修正部142b使用计算出的交点的坐标和式12,计算xyz坐标上的修正点的y坐标。
[0194]
y’i
=n
x
x’i
+n z
z’i
ꢀꢀꢀꢀ
(式12)
[0195]
这里,经过修正点的从摄像装置301的相机中心延伸的直线由式13表示。
[0196]
[数式10]
[0197][0198]
在没有直线的宽度的情况下,多个第3三维点会存在于同一平面上。这里,与对应于第i个第3三维点的像素对应的三维单位向量由式14表示。
[0199]
[数式11]
[0200][0201]
是第i个三维单位向量。
[0202]
在此情况下,如图13所示,三维点修正部142b从多个第3三维点中采样两点而计算平面582。平面582的法线由式15表示,平面由式16表示。
[0203]
[数式12]
[0204][0205]
是平面的法线。
[0206]nx
x+nyy+nzz=0
ꢀꢀꢀ
(式16)
[0207]
另外,如式17所示,法线可以通过向量的外积来求出。
[0208]
[数式13]
[0209][0210]
是平面的法线。
[0211]
这样,三维点修正部142b通过对多个第3三维点580的位置进行修正,生成包含多个修正点583的第1三维模型。由此,多个修正点583沿着在第1帧中检测到的线排列。因此,在所生成的第1三维模型中,从与第1视点对应的起点观察时的、在计算机内的三维空间中多个第1三维点表现的轮廓具有沿着线的形状。此外,多个第1三维点由于作为将多个第3三维点580进行修正后的结果来生成,所以包括多个修正点583。即,多个第1三维点包括多个第2三维点中的没有被修正的多个第2三维点和多个修正点583。
[0212]
此外,在有关变形例的三维模型生成方法中,为了第1三维模型的生成(s116),通过对多个第3三维点进行最小二乘法而生成近似线,以多个第3三维点接近于近似线的方式对多个第3三维点的位置进行修正。因此,能够根据近似于点群的近似线高精度地修正多个第3三维点的位置。
[0213]
(变形例2)
[0214]
对变形例2进行说明。
[0215]
在有关变形例2的三维模型生成方法中,三维模型生成装置100也可以利用已经修正后的多个第3三维点生成用于修正的面。在此情况下,修正部142的处理不同,所以对修正部142的处理进行说明。
[0216]
图14是用来说明有关实施方式1的变形例2的由修正部142进行的处理的一例的图。图15是用来说明有关实施方式1的变形例2的由修正部142进行的处理的一例的图。
[0217]
修正部142的检测部142a在第1帧591中,检测由连续的边缘构成且与被摄体的轮廓对应的线601。然后,检测部142a在第2帧592中检测由连续的边缘构成且与被摄体的轮廓对应的线602。线602与包含线601所对应的被摄体的轮廓的至少一部分的轮廓对应。即,线602所对应的轮廓和线601所对应的轮廓包含相互重复的部分。另外,线601对应于第1线,线602对应于第2线。
[0218]
具体而言,检测部142a在第2帧592中检测与被摄体的轮廓对应的线,将检测到的线与线601比较,将检测到的线中的与线601之间的一致度比规定的一致度高的线检测为线
602。检测到的线与线601的一致度例如也可以是检测到的线的法线向量与线601的法线向量之间的类似度。此外,一致度除了基于法线向量彼此的类似度以外,还可以基于检测到的线的三维空间上的位置与线601的三维空间上的位置之间的距离来计算。在此情况下,以该距离越短则一致的程度越大的方式计算一致度。该类似度可以使用周知的方法来计算。
[0219]
三维点修正部142b在多个第2三维点中确定包含对应于线601的轮廓中包含的多个第3三维点610的第1组。这样,三维点修正部142b对于由检测部142a在第1帧591中检测到的1个以上的线601分别确定包含由对应于该线601部分确定的多个第3三维点610的第1组。
[0220]
接着,三维点修正部142b基于各线601,对属于由该线601确定的第1组的多个第3三维点610的位置进行修正。具体而言,三维点修正部142b按每个第1组,通过对属于各第1组的多个第3三维点601进行主成分分析来确定平面621,以多个第3三维点601接近于平面621的方式对多个第3三维点610的位置进行修正。这样,三维点修正部142b对多个第2三维点中的与轮廓对应的多个第3三维点610的位置进行修正。由此,生成多个第1三维点611。
[0221]
接着,三维点修正部142b在多个第2三维点中,确定对应于线602的轮廓所包含的多个第4三维点613。多个第4三维点613包括修正后的多个第3三维点611与没有被修正的第2三维点612。这样,三维点修正部142b对于由检测部142a在第2帧592中检测到的1个以上的线602,分别确定包含由对应于该线602的部分确定的多个第4三维点613的第2组。
[0222]
接着,三维点修正部142b基于各线602,对属于由该线602确定的第2组的多个第4三维点613的位置进行修正。具体而言,三维点修正部142b在多个第4三维点613中至少对没有被修正的第2三维点612的位置进行修正。三维点修正部142b按每个第2组,通过对属于各第2组的多个第4三维点613进行主成分分析来确定平面622,以多个第4三维点613接近于所确定的平面622的方式对多个第4三维点613的位置进行修正。此时,三维点修正部142b既可以对多个第4三维点613全部的位置进行修正,也可以仅对多个第4三维点613中的没有被修正的第2三维点612的位置进行修正。
[0223]
三维点修正部142b在从第1视点v11到与在第1帧591中检测到的线601对应的被摄体的轮廓的距离d1短于从第2视点v12到与在第2帧592中检测到的线602对应的被摄体的轮廓的距离d2的情况下,也可以使用处于为了修正多个第3三维点610而确定的平面621的延长线上的平面,至少对多个第4三维点613中的没有被修正的第2三维点612进行修正。
[0224]
在被摄体的连续的一个形状没有包含在1个帧中来拍摄、而是跨多个帧拍摄的情况下,如果根据在各帧中拍摄的结果生成多个第1三维点,则尽管是一个连续的形状,但所生成的多个第1三维点有可能不能表现连续的形状。根据有关变形例2的三维模型生成方法,使用包含修正后的多个第3三维点610的多个第4三维点613,至少对多个第4三维点613中的没有被修正的第2三维点612的位置进行修正。即,考虑一个连续的形状,还使用已经修正后的多个第3三维点610至少对没有被修正的第2三维点612进行修正,所以能够高精度地生成与被摄体的连续的轮廓对应的多个第1三维点的位置。
[0225]
(实施方式2)
[0226]
对有关实施方式2的三维模型生成装置100a进行说明。
[0227]
图16是表示有关实施方式2的三维模型生成装置100a的特征性的结构的框图。
[0228]
有关实施方式2的三维模型生成装置100a与有关实施方式1的三维模型生成装置100相比,生成部140a的结构不同。因此,对生成部140a进行说明。另外,三维模型生成装置
100a的生成部140a以外的构成要素与实施方式1的三维模型生成装置100的构成要素相同,所以赋予相同的标号而省略说明。
[0229]
具体而言,生成部140a在对多个帧进行修正后,使用修正后的多个帧生成第1三维模型这一点与生成部140不同。生成部140a具有修正部141a和复原部142a。修正部141a从多个帧中分别检测由连续的边缘构成且与被摄体的轮廓对应的线。即,修正部141a在第1帧中检测由连续的边缘构成的第1线。此外,修正部141a在第2帧中检测由连续的边缘构成的第2线。该处理与有关实施方式1的修正部142的从帧中检测线的处理是同样的。接着,修正部141a使用在多个帧各自中检测到的线对多个帧的每一个进行修正。即,修正部141a使用第1线及第2线对第1帧及第2帧分别进行修正。
[0230]
另外,由修正部141a检测的线既可以是直线(线段)也可以是曲线。检测的线不由多个像素表现。检测的线由小数像素精度的位置确定。检测的线若是线段则为将起点与终点连结的线段,若是曲线则为将起点与终点连结的平滑的线。修正部141a为了检测由连续的边缘构成的线,能够使用周知的算法。
[0231]
图17是用来说明有关实施方式2的由修正部141a进行的对各帧进行修正的处理的一例的图。图17的(a)是表示实施方式1的区域561的另一例的图。在实施方式2的区域561中,因较大地发生混叠而像素缺失。
[0232]
修正部141a通过在区域561中与实施方式1的检测部142a同样地进行处理,如图17的(b)所示检测线562。修正部141a计算线562经过的多个像素的像素组的平均值作为修正后的像素值。如果设像素组的第i个像素值为ii,设修正后的像素值为i’i
,设像素组中包含的像素数为n,则修正部141a可以如式18所示计算修正后的像素值i’i

[0233]
[数式14]
[0234][0235]
并且,修正部141a通过将线562经过的多个像素的像素组的像素值的全部用修正后的像素值i’i
替换,如由图18的(a)所示的区域590所示对区域561进行修正。另外,图18是用来说明有关实施方式2的对各帧进行修正的处理的一例的图。
[0236]
另外,修正部141a也可以不是使用像素组中的全部像素的像素值进行修正,而也可以采样1个以上的像素,使用所采样的1个以上的像素的像素值进行修正。例如,也可以通过用所采样的1个以上的像素的像素值的平均替换线562经过的多个像素的像素组的像素值的全部来对帧进行修正。此外,修正部141a也可以使用线562将像素组如图18(b)所示进行高分辨率化。
[0237]
复原部142a在由修正部141a修正后的帧、即修正后的多个帧、即修正后的第1帧及修正后的第2帧中进行搜索相互的类似点的匹配。复原部142a进行与有关实施方式1的由复原部141进行的处理同样的处理。
[0238]
接着,对三维模型生成装置100a的动作进行说明。三维模型生成装置100a实施方式1的图8中的流程图的步骤s104的详细情况不同,所以对步骤s104的详细情况进行说明。
[0239]
图19是表示有关实施方式2的由生成部140a进行的步骤s104的生成处理的详细情况的一例的流程图。
[0240]
生成部140a按在相互对应的定时拍摄的多视点图像的帧集合的每个帧进行循环11(s121)。在循环11中,按每个帧进行步骤s122及步骤s123的处理。
[0241]
修正部141a通过从处理对象的帧中检测由连续的边缘构成的线,检测该帧中的被摄体的线(s122)。
[0242]
修正部141a使用在该帧中检测到的线对处理对象的帧进行修正(s123)。
[0243]
如果关于全部的帧结束了步骤s122及步骤s123,则循环11结束。
[0244]
接着,复原部142a以修正后的多个帧为处理对象,进行修正后的多个帧中的第1帧所具有的多个第1像素的每个第1像素的循环12(s124)。在循环12中,按每个第1像素进行步骤s125及步骤s126的处理。
[0245]
复原部142a对于处理对象的第1像素,从在处理对象的帧集合中的多个第2帧上对应于该第1像素的极线上的多个第2像素中,搜索与该第1像素类似的类似点(s125)。
[0246]
复原部142a通过使用由步骤s125得到的搜索结果进行三角测量,生成第1三维点。由此,复原部142a生成包含多个第1三维点的第1三维模型(s126)。
[0247]
如果对于处理对象的帧集合的第1帧中包含的全部的第1像素结束了步骤s125及步骤s126的处理,则循环12结束。
[0248]
根据有关实施方式2的三维模型生成装置100a,利用使用线进行修正后的图像生成第1三维模型,所以能够生成由图像上的混叠带来的误差减小的第1三维模型。
[0249]
在有关实施方式2的三维模型生成装置100a中,也取得通过从多个视点拍摄被摄体而得到的多个帧(s101),从多个帧中的1个帧(第1帧)检测由连续的边缘构成且与被摄体的轮廓对应的线(s122),基于多个帧和线生成多个第1三维点(s126)。
[0250]
(其他实施方式)
[0251]
在上述实施方式1及2中,说明了使用与被摄体的轮廓对应的线生成第1三维模型的例子,但也可以不是使用全部的线生成第1三维模型。例如,三维模型生成装置100、100a将处于距拍摄了1个帧的视点的距离比规定的距离近的位置处的三维点从多个第1三维点中去除。
[0252]
例如,有关实施方式1的三维模型生成装置100基于检测到的线,在与线所对应的轮廓对应的多个第3三维点距视点的距离位于比规定的距离近的位置的情况下,修正部142也可以不是使用该线对多个第3三维点的位置进行修正。即,修正部142也可以不对所生成的多个第2三维点中的位于比规定的距离更接近于视点的位置的第2三维点的位置进行修正。即,三维模型生成装置100也可以对于各线,根据从拍摄了1个帧的视点到该线所对应的被摄体的轮廓的距离来切换是否进行修正。
[0253]
这样,在精度容易成为一定以上的部分中不使用线来生成第1三维模型,所以能够不导致精度的下降地降低处理负荷。
[0254]
此外,例如有关实施方式2的三维模型生成装置100a在能得到各帧中拍摄到的被摄体的距视点的距离的情况下,也可以不是使用与位于该距离比规定的距离更接近于视点的位置处的轮廓对应的线对该轮廓所在的像素组的像素值进行修正。例如,被摄体的距视点的距离也可以使用通过推测装置200的推测处理得到的三维模型520来推测。即,三维模型生成装置100也可以对于各线,根据从拍摄了1个帧的视点到该线所对应的轮廓的距离,来切换是否进行图像中的与该轮廓对应的部分的修正。
[0255]
此外,在上述实施方式1及2中,说明了对于多个帧分别检测线,并使用检测到的线生成第1三维模型的例子,但也可以不是使用根据全部的帧得到的线来生成第1三维模型。例如,三维模型生成装置100、100a也可以不使用从多个帧中的规定的分辨率以上的帧检测到的边缘来生成多个第1三维点。
[0256]
例如,三维模型生成装置100、100a也可以不对分辨率为规定的分辨率以上的帧进行检测线的处理。这是因为,使用分辨率为规定的分辨率以上的帧生成的第1三维模型的精度是一定以上的高精度。即,三维模型生成装置100、100a也可以根据帧的分辨率来切换是否对该帧进行线的检测。
[0257]
这样,在精度容易成为一定以上的图像中不使用线来生成多个第1三维点,所以能够不导致精度的下降地降低处理负荷。
[0258]
以上,基于上述各实施方式对有关本公开的三维模型生成方法等进行了说明,但本公开并不限定于上述各实施方式。
[0259]
例如,在上述实施方式中,假设三维模型生成装置等具备的各处理部由cpu和控制程序实现而进行了说明。例如,该处理部的构成要素也可以分别由1个或多个电子电路构成。1个或多个电子电路分别既可以是通用的电路,也可以是专用的电路。也可以在1个或多个电子电路中包括例如半导体装置、ic(integrated circuit)或lsi(large scale integration)等。ic或lsi既可以集成在1个芯片中,也可以集成在多个芯片中。这里称作ic或lsi,但根据集成的程度而叫法变化,也可以称作系统lsi、vlsi(very large scale integration)或ulsi(ultra large scale integration)。此外,也可以以相同的目的使用在lsi的制造后编程的fpga(field programmable gate array)。
[0260]
此外,本公开的全局性或具体的形态也可以由系统、装置、方法、集成电路或计算机程序实现。或者,也可以由存储有该计算机程序的光盘、hdd(hard disk drive)或半导体存储器等的计算机可读取的非暂时性的记录介质实现。此外,也可以由系统、装置、方法、集成电路、计算机程序及记录介质的任意的组合实现。
[0261]
除此以外,对各实施方式施以本领域技术人员想到的各种变形而得到的形态,或通过在不脱离本公开的主旨的范围内将实施方式的构成要素及功能任意地组合而实现的形态也包含在本公开中。
[0262]
工业实用性
[0263]
本公开能够应用于三维模型生成装置或三维模型生成系统,例如能够应用于图形制作、地形或建筑物的构造识别、人物的行为识别或自由视点影像的生成等。
[0264]
标号说明
[0265]
100、100a三维模型生成装置
[0266]
110接收部
[0267]
120存储部
[0268]
130取得部
[0269]
140、140a生成部
[0270]
141、142a复原部
[0271]
142、141a修正部
[0272]
142a检测部
[0273]
142b三维点修正部
[0274]
150输出部
[0275]
200推测装置
[0276]
300摄像装置群
[0277]
301摄像装置
[0278]
400三维模型生成系统
[0279]
500、510被摄体
[0280]
520三维模型
[0281]
531第1帧
[0282]
532、533第2帧
[0283]
541第1像素
[0284]
542、543第2像素
[0285]
552、553极线
[0286]
561、590区域
[0287]
562线
[0288]
570、580第3三维点
[0289]
571第1主成分
[0290]
572第2主成分
[0291]
573修正面
[0292]
574、583修正点
[0293]
581近似线
[0294]
582平面
[0295]
l1直线
[0296]
d1、d2距离
[0297]
v1、v11第1视点
[0298]
v2、v12第2视点
[0299]
v3第3视点

技术特征:
1.一种三维模型生成方法,由计算机执行,其中,取得通过从第1视点拍摄被摄体而得到的第1图像和通过从第2视点拍摄上述被摄体而得到的第2图像;至少在上述第1图像中,检测由连续的边缘构成且与上述被摄体的轮廓对应的第1线;基于上述第1图像、上述第2图像以及上述第1线,生成在上述计算机内的三维空间中表现上述轮廓的多个第1三维点。2.如权利要求1所述的三维模型生成方法,其中,上述第1线以比上述第1图像中的像素单位小的单位表现。3.如权利要求1或2所述的三维模型生成方法,其中,进一步,通过在上述第1图像及上述第2图像中进行对相互的类似点进行搜索的匹配,生成在上述三维空间中表现上述被摄体的多个第2三维点;为了上述多个第1三维点的生成,(i)基于上述第1线,在上述多个第2三维点中确定与上述轮廓对应的多个第3三维点;(ii)对上述多个第3三维点的位置进行修正。4.如权利要求3所述的三维模型生成方法,其中,进一步,在上述第2图像中,检测由连续的边缘构成且与包含上述第1线所对应的轮廓的至少一部分的轮廓对应的第2线;为了上述多个第1三维点的生成,进一步,(i)基于上述第2线,在上述多个第2三维点中确定多个第4三维点,该多个第4三维点与上述第2线所对应的轮廓对应,并且包括修正后的上述多个第3三维点和没有被修正的第2三维点;(ii)在上述多个第4三维点中,至少对上述没有被修正的第2三维点的位置进行修正。5.如权利要求3或4所述的三维模型生成方法,其中,为了上述多个第1三维点的生成,通过对上述多个第3三维点进行主成分分析而确定平面,以上述多个第3三维点接近于上述平面的方式对上述多个第3三维点的位置进行修正。6.如权利要求5所述的三维模型生成方法,其中,为了上述多个第1三维点的生成,生成第1平面以及第2平面中的距上述多个第3三维点的距离的总和较小的平面作为上述平面,上述第1平面经过上述多个第3三维点的重心,并且以通过上述主成分分析得到的第1主成分为法线,上述第2平面经过上述重心,并且以通过上述主成分分析得到的第2主成分为法线。7.如权利要求3或4所述的三维模型生成方法,其中,为了上述第1三维点的生成,通过对上述多个第3三维点进行最小二乘法而生成近似线,以上述多个第3三维点接近于上述近似线的方式对上述多个第3三维点的位置进行修正。8.如权利要求1至7中任一项所述的三维模型生成方法,其中,为了上述多个第1三维点的生成,从上述多个第1三维点中去除处于距上述第1视点的距离比规定的距离近的位置处的三维点。
9.如权利要求1至8中任一项所述的三维模型生成方法,其中,为了上述多个第1三维点的生成,不使用从上述第1图像及上述第2图像中的规定的分辨率以上的图像检测到的边缘。10.如权利要求1或2所述的三维模型生成方法,其中,在上述检测中,在上述第2图像中检测由连续的边缘构成且与上述被摄体的轮廓对应的第2线;在上述多个第1三维点的生成中,(i)使用上述第1线及上述第2线对上述第1图像及上述第2图像分别进行修正,(ii)在修正后的上述第1图像及修正后的上述第2图像中进行对相互的类似点进行搜索的匹配。11.一种三维模型生成装置,其中,具备计算机;上述计算机取得通过从第1视点拍摄被摄体而得到的第1图像和通过从第2视点拍摄上述被摄体而得到的第2图像;上述计算机至少在上述第1图像中,检测由连续的边缘构成且与上述被摄体的轮廓对应的第1线;上述计算机基于上述第1图像、上述第2图像以及上述第1线,生成在上述计算机内的三维空间中表现上述轮廓的多个第1三维点。

技术总结
三维模型生成方法是由计算机执行的三维模型生成方法,取得通过从第1视点拍摄被摄体而得到的第1图像和通过从第2视点拍摄被摄体而得到的第2图像;至少在第1图像中,检测由连续的边缘构成且与被摄体的轮廓对应的第1线(S115);基于第1图像、第2图像以及第1线,生成在计算机内的三维空间中表现轮廓的多个第1三维点(S116)。维点(S116)。维点(S116)。


技术研发人员:松延彻 吉川哲史 寺西研翔 福田将贵 桂右京
受保护的技术使用者:松下知识产权经营株式会社
技术研发日:2021.11.15
技术公布日:2023/8/5
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐