一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

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

2022-07-14 02:57:12 来源:中国专利 TAG:


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


背景技术:

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


技术实现要素:

6.发明要解决的课题
7.对于三维模型的生成处理,希望使三维模型的生成精度提高以及使处理时间减少。
8.本发明的目的是提供一种能够使三维模型的生成精度提高并且能够缩短三维模型的生成处理的处理时间的三维模型生成方法等。
9.用来解决课题的手段
10.有关本发明的一技术方案的三维模型生成方法,是由信息处理装置执行的三维模型生成方法,包括:第1取得步骤,取得通过相机校正得到并且包含分别表示三维空间中的被摄体上的位置的多个三维点的地图信息,上述相机校正通过使1台以上的相机从多个视点将上述被摄体摄影而执行;第2取得步骤,取得被从第1视点摄影的上述被摄体的第1图像和被从第2视点摄影的上述被摄体的第2图像;决定步骤,基于上述地图信息,决定包含与上述第1图像的第1点对应的上述被摄体上的第1三维点的三维空间上的探索范围;匹配步骤,在上述第2图像上的与上述探索范围对应的范围中,探索与上述第1点类似的类似点;以及生成步骤,使用上述匹配步骤中的探索结果,生成三维模型。
11.此外,有关本发明的一技术方案的三维模型生成装置具备:第1取得部,取得通过相机校正得到并且包含分别表示三维空间中的被摄体上的位置的多个三维点的地图信息,上述相机校正通过使1台以上的相机从多个视点将上述被摄体摄影而执行;第2取得部,取得被从第1视点摄影的上述被摄体的第1图像和被从第2视点摄影的上述被摄体的第2图像;决定部,基于上述地图信息,决定包含与上述第1图像的第1点对应的上述被摄体上的第1三维点的三维空间上的探索范围;匹配部,在上述第2图像上的与上述探索范围对应的范围中,探索与上述第1点类似的类似点;以及生成部,使用上述匹配部的探索结果,生成三维模型。
12.另外,本发明也可以作为使计算机执行上述三维模型生成方法中包含的步骤的程序实现。此外,本发明也可以作为记录有该程序的能够由计算机读取的cd-rom等的非暂时性的记录介质实现。此外,本发明也可以作为表示该程序的信息、数据或信号实现。并且,也
可以将这些程序、信息、数据及信号经由因特网等的通信网络分发。
13.发明效果
14.根据本发明,能够提供能够使三维模型的生成精度提高并且能够缩短三维模型的生成处理的处理时间的三维模型生成方法等。
附图说明
15.图1是用来说明有关实施方式1的三维模型生成方法的概要的图。
16.图2是表示有关实施方式1的三维模型生成装置的特征性的结构的框图。
17.图3是用来说明由推断装置进行的地图信息的生成方法的图。
18.图4是用来说明插值计算多个三维点之间的三维位置的第1插值方法的图。
19.图5是表示在投影有由图3表示的地图信息的投影帧中将地图信息网格化的一例的图。
20.图6是用来说明插值计算多个三维点之间的三维位置的第2插值方法的图。
21.图7是表示将投影有由图3表示的地图信息的投影帧分割为多个区域的一例的图。
22.图8是表示三维模型生成装置的动作的一例的流程图。
23.图9是用来说明对于探索范围没有限制的情况下的匹配处理的图。
24.图10是用来说明对于探索范围有限制的情况下的匹配处理的图。
具体实施方式
25.(达成本发明的经过)
26.在专利文献1所公开的技术中,通过探索多个图像间的类似点来生成三维模型。通常,在类似点的探索中,在从其他图像中探索一个图像的一个像素的类似点的情况下,根据相机的几何制约来计算其他图像上的核线,进行核线上的全部的像素的探索。因此,有使类似点的探索的处理速度提高的余地。此外,在核线上有类似的被摄体的情况下,有探索错误的类似点的情况,在此情况下,有带来探索的精度下降的问题。
27.所以,在本发明中,提供能够使三维模型的生成精度提高并且能够缩短三维模型的处理时间的三维模型生成方法等。
28.有关本发明的一技术方案的三维模型生成方法,是由信息处理装置执行的三维模型生成方法,包括:第1取得步骤,取得通过相机校正得到并且包含分别表示三维空间中的被摄体上的位置的多个三维点的地图信息,上述相机校正通过使1台以上的相机从多个视点将上述被摄体摄影而执行;第2取得步骤,取得被从第1视点摄影的上述被摄体的第1图像和被从第2视点摄影的上述被摄体的第2图像;决定步骤,基于上述地图信息,决定包含与上述第1图像的第1点对应的上述被摄体上的第1三维点的三维空间上的探索范围;匹配步骤,在上述第2图像上的与上述探索范围对应的范围中,探索与上述第1点类似的类似点;以及生成步骤,使用上述匹配步骤中的探索结果,生成三维模型。
29.由此,基于地图信息决定探索范围,在被探索范围限制的第2图像上的与探索范围对应的范围中,探索与第1图像上的第1点类似的类似点。这样,由于基于地图信息,在存在类似点的可能性较高的范围中进行类似点的探索,所以能够提高类似点的探索精度,并且能够缩短探索处理所需要的时间。由此,能够使三维模型的生成精度提高,并且能够缩短三
维模型的生成处理的处理时间。
30.此外,例如也可以是,上述探索范围是从上述第1视点的摄影方向上的范围;在上述匹配步骤中,将上述第2图像中的与上述第1点对应的核线限制为与上述探索范围对应的长度,在上述第2图像的上述核线上探索与上述第1点类似的类似点。
31.由此,在被限制为与探索范围对应的长度的核线上探索与第1点类似的类似点,所以能够提高类似点的探索精度,并且能够缩短探索处理所需要的时间。
32.此外,例如也可以是,上述决定步骤包括使用上述地图信息中包含的上述多个三维点,在上述多个三维点中包含的两点间插值计算被推断为存在上述被摄体的三维点的插值步骤;在上述决定步骤中,使用在上述插值步骤中插值计算出的上述多个三维点,决定上述探索范围。
33.由此,在多个三维点的两点间插值计算被推断为存在被摄体的三维点,所以能够精度良好地决定探索范围。
34.此外,例如也可以是,上述插值步骤在由上述多个三维点中包含的3点规定的区域中插值计算被推断为存在上述被摄体的三维点。
35.由此,在由多个三维点的3点规定的区域中,插值计算被推断为存在被摄体的三维点,所以能够精度良好地决定探索范围。
36.此外,例如也可以是,在上述决定步骤中,按照在上述第1图像中投影有上述多个三维点的投影图像上的多个区域中的每个区域,推断以第1视点为基准且与该区域对应的上述被摄体上的三维位置,从而生成各区域包含推断出的上述三维位置的距离图像;基于上述距离图像中的各区域的上述三维位置,决定上述探索范围。
37.由此,按照投影图像上的多个区域中的每个区域计算三维位置,所以能够以匹配所需要的数量计算三维位置。
38.此外,例如也可以是,在上述决定步骤中,对于按照上述距离图像中的上述多个区域中的每个区域决定的上述探索范围,对应的区域的上述三维位置的推断精度越低,越扩大上述探索范围。
39.由此,通过插值计算出的三维形状上的三维位置的精度越低则越扩大探索范围,能够决定为与精度对应的探索范围。
40.此外,例如也可以是,上述三维位置距上述第1视点的距离越小,上述三维位置的推断精度越高。
41.因此,能够决定为与三维位置距第1视点的距离对应的探索范围。
42.此外,例如也可以是,上述三维位置距上述多个三维点中的至少1个三维点越近,上述三维位置的推断精度越高。
43.因此,能够决定为与三维位置距多个三维点中的至少1个的距离对应的探索范围。
44.此外,例如也可以是,上述三维位置存在的区域中的上述多个三维点的密度越大,上述三维位置的推断精度越高。
45.因此,能够决定为与三维位置存在的区域中的多个三维点的密度对应的探索范围。
46.此外,例如也可以是,在上述相机校正中,计算上述1台以上的相机的位置及姿势;上述第1图像及上述第2图像包含在为了上述相机校正而摄影的多个图像中。
47.此外,有关本发明的一技术方案的三维模型生成装置具备:第1取得部,取得通过相机校正得到并且包含分别表示三维空间中的被摄体上的位置的多个三维点的地图信息,上述相机校正通过使1台以上的相机从多个视点将上述被摄体摄影而执行;第2取得部,取得被从第1视点摄影的上述被摄体的第1图像和被从第2视点摄影的上述被摄体的第2图像;决定部,基于上述地图信息,决定包含与上述第1图像的第1点对应的上述被摄体上的第1三维点的三维空间上的探索范围;匹配部,在上述第2图像上的与上述探索范围对应的范围中,探索与上述第1点类似的类似点;以及生成部,使用上述匹配部的探索结果,生成三维模型。
48.由此,基于地图信息决定探索范围,在图像间被限制的第2图像上的与探索范围对应的范围中,探索与第1图像上的第1点类似的类似点。这样,由于在被限制的探索范围中进行类似点的探索,所以能够提高类似点的探索精度,并且能够缩短探索处理所需要的时间。
49.以下,使用附图对有关本发明的三维模型生成方法等的各实施方式详细地进行说明。另外,以下说明的各实施方式都表示本发明的一具体例。因而,在以下的各实施方式中表示的数值、形状、材料、构成要素、构成要素的配置及连接形态、步骤、步骤的顺序等是一例,不是限定本发明的意思。
50.此外,各图是示意图,并不一定严密地图示。此外,在各图中,对于实质上相同的结构赋予相同的标号,有将重复的说明省略或简略化的情况。
51.(实施方式1)
52.[概要]
[0053]
首先,一边参照图1一边对有关实施方式1的三维模型生成方法的概要进行说明。
[0054]
图1是用来说明有关实施方式1的三维模型生成方法的概要的图。图2是表示有关实施方式1的三维模型生成装置100的特征性的结构的框图。
[0055]
在三维模型生成方法中,如图1所示,根据使用多个相机301在不同的多个视点摄影的多个图像生成规定的区域的三维模型。这里,规定的区域是包含静止的静止物体或人物等的运动的运动物体、或包含其两者的区域。换言之,规定的区域例如是包括静止的静止物体以及运动的运动物体中的至少一方作为被摄体的区域。
[0056]
作为包括静止物体和运动物体的规定的区域的例子,有进行篮球等的体育的比赛的会场或者人物或车存在的道路上的空间等。另外,规定的区域也可以不仅包括作为被摄体的特定的对象物,也包括风景等。在图1中例示了被摄体500是房屋的情况。此外,以下将不仅包括作为被摄体的特定的对象物也包括风景等的规定的区域也单称作被摄体。
[0057]
三维模型生成系统400如图2所示,具备包括多个相机301的相机群300、推断装置200和三维模型生成装置100。
[0058]
(多个相机)
[0059]
多个相机301是将规定的区域摄影的多个摄像装置。多个相机301分别将被摄体摄影,将所摄影的多个帧分别向推断装置200输出。在本实施方式1中,在相机群300中包括两台以上的相机301。此外,多个相机301从相互不同的视点将相同的被摄体摄影。帧换言之是图像。
[0060]
另外,假设三维模型生成系统400具备相机群300,但并不限于此,也可以具备1台相机301。例如,在三维模型生成系统400中,也可以一边使1台相机301移动一边使1台相机
301将存在于实空间上的被摄体摄影,以生成有视点相互不同的多个帧构成的多视点图像。多个帧分别是由相机301的位置及姿势的至少一方相互不同的相机301摄影(生成)的帧。
[0061]
此外,各相机301既可以是生成二维图像的相机,也可以是具备生成三维模型的三维计测传感器的相机。在本实施方式1中,多个相机301分别是生成二维图像的相机。
[0062]
多个相机301既可以通过有线通信或无线通信与推断装置200直接连接,或者也可以经由通信设备或服务器等的未图示的中枢与推断装置200间接地连接,以便能够将各自摄影的帧向推断装置200输出。
[0063]
另外,也可以将由多个相机301分别摄影的帧实时地向推断装置200输出。此外,也可以将帧暂且记录到存储器或云服务器等的外部存储装置中之后,从这些外部存储装置向推断装置200输出。
[0064]
此外,多个相机301既可以分别是监视相机等的固定相机,也可以是摄像机、智能电话或可穿戴相机等的移动相机,也可以是带有摄影功能的无人机等的移动相机。
[0065]
(推断装置)
[0066]
推断装置200通过使1台以上的相机301从多个视点将被摄体摄影而进行相机校正。推断装置200例如进行基于由多个相机301分别摄影的多个帧推断多个相机301的位置及姿势的相机校正。这里,相机301的姿势表示相机301的摄影方向及相机301的倾斜的至少一方。相机301的摄影方向是相机301的光轴的方向。相机301的倾斜是相机301从基准姿势绕光轴的旋转角度。
[0067]
推断装置200具体而言,基于从多个相机301取得的多个帧,推断多个相机301的相机参数。这里,相机参数是表示相机301的特性的参数,包括由相机301的焦点距离及图像中心等构成的内部参数和表示相机301的位置(更具体地讲是三维位置)及姿势的外部参数的多个参数。即,多个相机301各自的位置及姿势通过推断多个相机301各自的相机参数来得到。
[0068]
另外,推断装置200推断相机301的位置及姿势的推断方法没有被特别限定。推断装置200例如也可以使用visual-slam(即时定位与地图构建,simultaneous localization and mapping)技术推断多个相机301的位置及姿势。或者,推断装置200例如也可以使用structure-from-motion(运动恢复结构)技术推断多个相机301的位置及姿势。
[0069]
这里,使用图3对由推断装置200进行的地图信息的生成方法进行说明。
[0070]
推断装置200如图3所示,使用visual-slam技术或structure-from-motion技术,从由多个相机301摄影的多个帧531、532、533分别提取特征性的点作为特征点541、542、543,在提取出的多个特征点541、542、543中,提取在多个帧间类似的类似点的组,进行特征点的探索。推断装置200通过进行特征点的探索,能够确定共通地映照于多个帧531、532、533中的被摄体510上的点,所以能够使用提取出的类似点的组,根据三角测量的原理求出被摄体510上的点的三维坐标。
[0071]
这样,推断装置200提取多个类似点的组,通过使用多个类似点的组,能够推断各相机301的位置及姿势。推断装置200在推断各相机301的位置及姿势的过程中,对于类似点的各组计算三维坐标,生成包括由计算出的多个三维坐标表示的多个三维点的地图信息520。多个三维点分别表示三维空间中的被摄体上的位置。推断装置200得到各相机301的位
置及姿势和地图信息作为推断结果。得到的地图信息由于被与相机参数一起被最优化处理,所以是精度比规定的精度高的信息。此外,地图信息包括多个三维点各自的三维位置。另外,地图信息也可以不仅包括多个三维位置,还包括各三维点的颜色、各三维点的周边的表面形状、表示各三维点是由哪个帧生成的信息等。
[0072]
此外,推断装置200为了使推断处理高速化,也可以通过将类似点的组的数量限制为规定的数量来生成包含稀疏的三维点群的地图信息。这是因为,推断装置200即使是规定的数量的类似点的组,也能够以充分的精度推断各相机301的位置及姿势。另外,也可以将规定的数量决定为能够以充分的精度推断各相机301的位置及姿势的数量。此外,推断装置200也可以使用类似点的组中的以规定的类似度以上类似的组来推断各相机301的位置及姿势。结果,推断装置200能够将用于推断处理的类似点的组的数限制为以规定的类似度以上类似的组的数量。
[0073]
此外,推断装置200例如也可以基于使用上述技术推断出的相机301的位置及姿势来计算相机301与被摄体之间的距离,作为相机参数。另外,三维模型生成系统400也可以具备测距传感器,使用该测距传感器测量相机301与被摄体之间的距离。
[0074]
推断装置200既可以通过有线通信或无线通信与三维模型生成装置100直接连接,或者也可以经由通信设备或服务器等的未图示的中枢与推断装置200间接地连接。由此,推断装置200将从多个相机301接收到的多个帧以及推断出的多个相机301的多个相机参数向三维模型生成装置100输出。
[0075]
另外,也可以将由推断装置200得到的推断结果实时地向三维模型生成装置100输出。此外,也可以将推断结果先记录到存储器或云服务器等的外部存储装置中之后,从这些外部存储装置向三维模型生成装置100输出。
[0076]
推断装置200例如至少具备计算机系统,所述计算机系统具备控制程序、执行该控制程序的处理器或逻辑电路等的处理电路和存储该控制程序的内部存储器或能够访问的外部存储器等的记录装置。
[0077]
(三维模型生成装置)
[0078]
三维模型生成装置100基于由多个相机301摄影的多个帧和推断装置200的推断结果,生成规定的区域的三维模型。具体而言,三维模型生成装置100是执行基于多个相机301各自的相机参数和多个帧在虚拟的三维空间上生成被摄体的三维模型的三维模型生成处理的装置。
[0079]
另外,被摄体的三维模型是根据摄影有被摄体的实物的帧在虚拟的三维空间上复原的、包括被摄体的三维形状及被摄体的颜色的数据。被摄体的三维模型是表示多视点即在不同的多个视点由多个相机301摄影的多个二维图像各自拍摄的被摄体上的多个点各自的三维位置的点的集合。
[0080]
三维位置例如通过由表示相互正交的x轴、y轴及z轴各自的位置的x成分、y成分及z成分构成的三值信息表示。另外,在表示三维位置的多个点包含的信息中,也可以不仅包含三维位置(即,表示坐标的信息),也包含表示各点的颜色的信息、表示各点及其周边的表面形状的信息等。
[0081]
三维模型生成装置100例如至少具备计算机系统,所述计算机系统具备控制程序、执行该控制程序的处理器或逻辑电路等的处理电路和存储该控制程序的内部存储器或能
够访问的外部存储器等的记录装置。三维模型生成装置100是信息处理装置。三维模型生成装置100的各处理部的功能既可以由软件实现,也可以由硬件实现。
[0082]
此外,三维模型生成装置100也可以预先存储相机参数。在此情况下,三维模型生成系统400也可以不具备推断装置200。此外,多个相机301也可以与三维模型生成装置100通过无线或有线可通信地连接。
[0083]
此外,也可以将相机301摄影的多个帧向三维模型生成装置100直接输出。在此情况下,相机301例如既可以通过有线通信或无线通信与三维模型生成装置100直接连接,也可以经由通信设备或服务器等的未图示的中枢与三维模型生成装置100间接地连接。
[0084]
[三维模型生成装置的结构]
[0085]
接着,一边参照图2一边对三维模型生成装置100的结构的详细情况进行说明。
[0086]
三维模型生成装置100是由多个帧生成三维模型的装置。三维模型生成装置100具备接收部110、存储部120、取得部130、决定部140、生成部150和输出部160。
[0087]
接收部110从推断装置200接收多个相机301摄影的多个帧和由推断装置200得到的推断结果。由此,接收部110取得被从第1视点摄影的被摄体的第1帧(第1图像)和被从第2视点摄影的被摄体的第2帧(第2图像)。即,由接收部110接收到的多个帧包括第1帧及第2帧。接收部110将接收到的多个帧和推断结果向存储部120输出。接收部110例如是用来与推断装置200通信的通信接口。在三维模型生成装置100与推断装置200无线通信的情况下,接收部110例如具备天线和无线通信电路。或者,在三维模型生成装置100与推断装置200有线通信的情况下,接收部110例如具备与通信线连接的连接器以及有线通信电路。接收部110是第1取得部及第2取得部的一例。这样,第1取得部及第2取得部既可以由1个处理部实现,也可以由分别独立的两个处理部实现。另外,接收部110也可以不经由推断装置200而从多个相机301接收多个帧。
[0088]
存储部120存储由接收部110接收到的多个帧及推断结果。此外,存储部120存储由决定部140计算出的探索范围。另外,存储部120也可以存储三维模型生成装置100具备的处理部的处理结果。存储部120例如存储三维模型生成装置100具备的各处理部执行的控制程序。存储部120例如由hdd(硬盘驱动器,hard disk drive)、闪存存储器等实现。
[0089]
取得部130从存储部120取得存储在存储部120中的推断结果中的地图信息,向决定部140输出。此外,取得部130从存储部120取得存储在存储部120中的多个帧和推断结果中的各相机301的相机参数,向生成部150输出。
[0090]
另外,三维模型生成装置100也可以不具备存储部120及取得部130。在此情况下,接收部110也可以将从推断装置200接收到的推断结果中的地图信息向决定部140输出。此外,接收部110也可以将从多个相机301接收到的多个帧和从推断装置200接收到的推断结果中的各相机301的相机参数向生成部150输出。
[0091]
决定部140基于由取得部130从存储部120取得的地图信息,决定用于多个帧间的多个类似点的探索的探索范围。探索范围是包含与第1帧上的第1点对应的被摄体上的第1三维点的三维空间上的范围。探索范围也可以是指存在第1三维点的可能性较高的三维空间上的范围。此外,探索范围是从摄影了第1帧的第1视点的摄影方向上的范围。决定部140使用地图信息中包含的多个三维点,插值计算多个三维点之间的推断为存在被摄体的三维点。
[0092]
地图信息如上述那样,由被摄体的三维形状较稀疏的三维点群表示。决定部140通过将稀疏的三维点群中包含的多个三维点之间用多个平面填埋,推断被摄体表面的大体的三维位置,生成推断结果作为三维信息。由此,决定部140将地图信息中包含的稀疏的三维点群高密度化为稠密的三维点群。
[0093]
决定部140具体而言,按照在第1帧中投影有多个三维点的投影帧上的多个像素中的每个像素,推断作为以摄影了第1帧的第1视点为基准且与该像素对应的被摄体上的三维位置。由此,决定部140生成包括多个像素的距离图像,多个像素分别包含推断出的三维位置。
[0094]
另外,被用于相机校正的多个帧和被用于三维模型的生成的多个帧既可以相同也可以不同。即,第1帧及第2帧也可以包含在为了相机校正而摄影的多个帧中。
[0095]
在用多个平面插值计算多个三维点的插值方法中,可以考虑两种方法。首先,使用图4对第1插值方法进行说明。图4是用来说明插值计算多个三维点之间的三维位置的第1插值方法的图。
[0096]
决定部140在第1插值方法中,使用地图信息中的多个三维点,通过将多个三维点网格化,插值计算多个三维点之间的被摄体上的三维位置。决定部140例如如图4的(a)所示,取得在多个帧中的第1帧中投影有地图信息中包含的多个三维点601的投影帧610。决定部140既可以通过对第1帧投影多个三维点601来取得投影帧610,在地图信息中包含表示多个三维点601与哪个帧的特征点对应的信息的情况下,也可以通过使用该信息将第1帧上的特征点与多个三维点601建立对应来取得投影帧610。
[0097]
接着,决定部140如图4的(b)所示,在投影有地图信息的投影帧610上,将地图信息网格化,形成多个网格611。各网格是以多个三维点601为顶点、由将多个三维点的相邻的两点连结的多个边612围成的多边形。
[0098]
并且,决定部140如图4的(c)所示,按照每个网格611计算平面的方程式,生成将各网格611用平面622插值计算出的三维形状621。然后,决定部140对于投影帧610的各像素,通过计算作为以摄影了第1帧的第1视点为基准且与该像素对应的三维形状621上的三维位置,生成按照每个像素表示三维位置的距离图像620。这样,决定部140按照作为由地图信息中包含的多个三维点601中的3点规定的区域的网格611,插值计算平面622。由此,决定部140插值计算被推断为存在被摄体的三维点。
[0099]
另外,平面的方程式如以下这样计算。决定部140根据网格611的顶点即多个三维点601,计算平面的方程式。决定部140在设网格611的顶点为点a、点b及点c时,根据式1所示的外积计算平面的法线向量,
[0100]
[数式1]
[0101][0102]
而求出平面的方程式。
[0103]
[数式2]
[0104][0105]
根据式1,平面的方程式由式2表示。
[0106]
lx my nz=d
ꢀꢀꢀꢀ
(式2)
[0107]
这里,d是根据l、m、n的值及平面内的三维点的三维坐标计算的值。在平面内的三维点的三维坐标是(xd,yd,zd)的情况下,d由式3表示。
[0108]
d=lxd myd nzdꢀꢀꢀ
(式3)
[0109]
接着,使用式4及式5,将三维坐标变换为第1帧的图像坐标系。
[0110]
x=x/z
ꢀꢀꢀ
(式4)
[0111]
y=y/z
ꢀꢀꢀ
(式5)
[0112]
z可以使用式3、式4及式5而由式6表示。
[0113]
1/z=lx/d my/d n/d
ꢀꢀꢀꢀ
(式6)
[0114]
这里,x、y、z表示网格611的平面622内的三维位置,x、y表示第1帧的该网格611的平面622内的图像坐标即二维位置。另外,在上述的由决定部140进行的计算中,假设摄影第1帧的相机是针孔相机。
[0115]
平面622主要是三角形及四边形。决定部140也可以将所生成的网格中的错误的网格排除。例如,决定部140在网格的边缘的三维距离(即边缘的三维空间上的长度)比任意的值大的情况下,也可以将具有三维距离比任意的值大的三维距离的边缘的网格作为错误的网格排除。
[0116]
决定部140例如如图5所示,使用由图3表示的地图信息,在第1帧中投影有地图信息的投影帧551中,将地图信息520网格化,计算各网格552的平面的方程式,推断被摄体510的三维形状。并且,决定部140对于投影帧551的各像素,计算从第1视点到该像素对应的三维形状上的点的距离,基于计算出的距离决定探索范围。
[0117]
接着,使用图6对第2插值方法进行说明。图6是用来说明插值计算多个三维点之间的三维位置的第2插值方法的图。
[0118]
决定部140在第2插值方法中,使用多个帧中的第1帧的各像素的像素值将第1帧分割为多个区域,按照分割后的多个区域中的每个区域,使用投影在第1帧中的多个三维点,插值计算多个三维点之间的被摄体上的三维位置。决定部140例如如图6的(a)所示,取得在多个帧中的第1帧中投影有地图信息中包含的多个三维点701的投影帧710。决定部140既可以通过将多个三维点701投影到第1帧中来取得投影帧710,在地图信息中包含表示多个三维点701与哪个帧的特征点对应的信息的情况下,也可以通过使用该信息将第1帧上的特征点与多个三维点701建立对应来取得投影帧710。
[0119]
接着,决定部140如图6的(b)所示,在投影有地图信息的投影帧710上,使用投影帧710的各像素的像素值将投影帧710分割为多个区域712。决定部140例如使用根据投影帧710的各像素的像素值得到的亮度、颜色及边缘的至少1个,既可以将具有类似的亮度及类似的颜色的像素的一块的集合决定为1个区域,也可以将由边缘划分的区域决定为1个区域。类似的亮度是比能够表现为像素值的从最小亮度到最大亮度的亮度范围小的规定的亮度范围的幅度中包含的亮度群。此外,类似的颜色是在规定的色差范围的幅度中包含的颜色群。
[0120]
接着,决定部140如图6的(c)所示,通过按照分割后的多个区域712中的每个区域,使用该区域712中包含的1个以上的三维点701,推断投影帧710的各区域712中包含的多个像素各自的位置中的被摄体上的三维位置,生成按照每个像素表示三维位置的距离图像720。决定部140例如将从第1视点到对应的区域712中包含的1个以上的三维点701的各自的
距离的平均值,推断为各区域712中包含的多个像素各自的位置的被摄体上的三维位置。
[0121]
另外,距离的平均值如以下这样计算。
[0122]
设位于各区域712内的1个三维点701为pn={xn,yn,zn}。这里,{x,y,z}是相机坐标系中的三维坐标,n={1,...,n}。n是地图信息中包含的三维点的数量。
[0123]
通过式7计算从第1视点即相机的位置到区域712内的多个三维点701各自的距离的平均值。
[0124]
[数式3]
[0125][0126]
接着,使用式8及式9从第1帧的图像坐标系变换为三维坐标。
[0127]
x=z
mean
×
x
ꢀꢀꢀ
(式8)
[0128]
y=z
mean
×yꢀꢀꢀ
(式9)
[0129]
决定部140使用式7、式8及式9,插值计算各区域712内的三维位置。因此,决定部140生成用距第1视点为一定的距离的平面722插值计算而得到各区域712的三维形状721。然后,决定部140通过对于投影帧710中的各像素,计算作为以摄影了第1帧的第1视点为基准且与该像素对应的三维形状721上的三维位置,生成按照每个像素表示三维位置的距离图像720。
[0130]
另外,在上述的由决定部140进行的计算中,假设摄影第1帧的相机是针孔相机。
[0131]
另外,决定部140在区域712中包含有多个三维点701、其中的1个三维点是从其他的多个三维点的集合远离了任意的值以上的点的情况下,也可以将远离了任意的值以上的1个三维点从距离的平均值的对象中排除。
[0132]
决定部140例如如图7所示,使用在图3中表示的地图信息将在第1帧中投影有地图信息的投影帧561分割为多个区域562,按照分割后的多个区域562中的每个区域,使用各区域中包含的1个以上的三维点,推断被摄体510的三维形状。并且,决定部140对于投影帧561的各像素,计算从第1视点到该像素对应的三维形状上的点的距离,基于计算出的距离,决定探索范围。
[0133]
另外,决定部140在第2插值方法中,在将第1帧分割为多个区域的情况下,也可以使用通过机械学习进行了学习的学习模型将第1帧分割为多个区域。在该情况下使用的学习模型,例如也可以是预先通过使用了人将多个学习用帧按照每个被摄体分割为多个区域得到的正解数据的机械学习来生成的模型。
[0134]
此外,决定部140在上述的两个插值方法的任一个中,都在第1帧即通过将地图信息中包含的多个三维点投影到二维图像中而得到的投影帧中插值计算被摄体上的三维位置,但并不限于此。决定部140也可以在三维空间上插值计算被摄体上的三维位置。另外,这里插值计算的三维位置既可以由点群表示也可以由平面表示。
[0135]
此外,决定部140在上述的两个插值方法的任一个中,在将地图信息中包含的多个三维点向第1帧投影的情况下,也可以将从摄影第1帧的第1视点能看到的点群向第1帧投影,而不将从第1视点看不到的点群向第1帧投影。即,决定部140也可以将被摄体的第1视点侧的表面上的点群向第1帧投影,而不将被摄体的与第1视点相反侧的表面上的点群向第1
帧投影。
[0136]
此外,决定部140也可以使用通过机械学习进行了学习的学习模型插值计算被摄体上的三维位置。学习模型例如是通过使用多个学习用数据的机械学习生成的模型,该情况下的多个学习用数据分别也可以是包含所取得的学习用的被摄体的三维点群数据和将学习用的被摄体从不同的多个视点摄影的多个图像的组合的数据。三维点群数据也可以是按照每个被摄体使用距离传感器等取得的数据。即,在机械学习中,将三维点群数据作为正解数据,生成用来使用多个图像分别推断拍摄于该图像中的被摄体上的三维点的位置的学习模型。
[0137]
此外,假设决定部140在平面中插值计算推断为存在被摄体的三维点,但并不限于此。例如,决定部140也可以在地图信息中包含的多个三维点中的两点间插值计算推断为存在被摄体的三维点。即,决定部140也可以在连结两点的线段中插值计算推断为存在被摄体的三维点。
[0138]
决定部140基于通过第1插值方法或第2插值方法得到的距离图像的各像素表示的三维位置,在将第1视点与该三维位置连结的直线上,决定包含该三维位置的探索范围。决定部140具体而言,将以该三维位置为中点的规定的大小的范围决定为探索范围。此外,决定部140具体而言,取得从第1视点到与被摄体上的各像素的位置对应的点的距离,根据所取得的距离,决定探索范围的大小。探索范围是用来从与第1帧不同的帧中探索与第1帧的各像素的点类似的点的探索范围。
[0139]
决定部140关于按照距离图像中的多个像素的每个像素决定的探索范围,对应的像素的三维位置的推断精度越低则越扩大探索范围。
[0140]
具体而言,决定部140也可以推断对象的三维位置距第1视点的距离越小,将对应的像素的三维位置的推断精度判定为越低。这是因为,由于1个像素是具有展幅的二维上的区域,所以该1个像素对应的三维位置距第1视点越近,在三维空间上为越小的区域。即,距第1视点越近,有可能存在推断出的三维位置的区域越窄,所以三维位置的推断精度越高。这样,决定部140以距第1视点的距离越小的三维位置则越小的方式决定探索范围。
[0141]
此外,决定部140在第1插值方法中,也可以推断对象的三维位置距地图信息中包含的多个三维点中的至少1个三维点越近,则判定对应的像素的三维位置的推断精度越高。这是因为,在第1插值方法中,通过生成以多个三维点为顶点的网格来推断被摄体的三维形状,所以距多个三维点越近,被摄体的三维形状的推断精度越高。即,距多个三维点中的至少1个三维点越近,推断出的三维位置存在于距被摄体的实际的三维位置较近的位置的可能性越高。这样,决定部140以距多个三维点中的至少1个越近的三维位置则越小的方式决定探索范围。
[0142]
另外,在此情况下,决定部140也可以在网格内的三维位置中,使用该三维位置与位于网格的多个顶点的多个三维点中的1个三维点之间的距离来判定三维位置的推断精度。决定部140也可以在网格内的三维位置中,使用该三维位置与位于网格的多个顶点的多个三维点各自的多个距离的平均值来判定三维位置的推断精度。
[0143]
例如,决定部140对于位于网格的多个顶点的多个三维点中的各个三维点,配置以该三维点所位于的像素的重心为中心在距离图像上展开的规定的高斯分布。规定的高斯分布以规定的高斯分布的平均值与上述的像素的重心一致的方式配置。因此,规定的高斯分
布的概率密度在上述的像素的重心的位置最高,距该像素的重心的位置越远的像素则越低。决定部140也可以通过对距离图像配置规定的高斯分布而分配的规定的高斯分布的概率密度越高,判定对应的像素的三维位置的推断精度越高。
[0144]
另外,决定部140也可以对于多个网格中的各个网格,配置以该网格的重心为中心在距离图像上展开的规定的高斯分布。在此情况下,规定的高斯分布以规定的高斯分布的平均值与网格的重心一致的方式配置。因此,规定的高斯分布的概率密度在上述的网格的重心的位置处最高,距该像素的重心的位置越远的像素则越低。决定部140也可以通过对距离图像配置规定的高斯分布而分配的规定的高斯分布的概率密度越高,判定对应的像素的三维位置的推断精度越高。
[0145]
此外,决定部140也可以推断对象的三维位置存在的区域中的地图信息中包含的多个三维点的密度越大,判定对应的像素的三维位置的推断精度越高。这是因为,越是处于多个三维点的密度较大的区域中的三维位置,越位于距多个三维点的某1个较近的位置。例如,决定部140也可以在第1插值方法中,根据推断对象的三维位置存在的网格的尺寸来判定多个三维点的密度。即,网格的尺寸越小,决定部140判定密度越大。此外,例如,决定部140也可以在第2插值方法中,根据推断对象的三维位置存在的区域中包含的三维点的数量来判定多个三维点的密度。即,该区域中包含的三维点的数量越多,决定部140判定为密度越大。这样,决定部140以三维位置存在的区域中的多个三维点的密度越大则越小的方式决定探索范围。
[0146]
如以上这样,假设决定部140用多个方法判定三维位置的推断精度,但也可以采用这些方法中的1个,也可以将多个组合来采用。
[0147]
另外,按照每个像素计算的三维位置既可以由从第1视点到与该像素对应的三维形状上的点的距离表示,也可以由以第1视点为原点的坐标系的三维坐标表示。此外,在距离图像的像素中,在第1帧中不存在所生成的三维形状的区域的像素既可以不具有表示三维位置的信息,也可以具有表示不具有表示三维位置的信息之信息。此外,设决定部140按照投影帧中包含的多个像素中的每个像素计算与该像素对应的三维形状上的三维位置,但并不限于按照每个像素计算,也可以按照投影帧上的多个区域中的每个区域,计算与该区域对应的三维形状上的三维位置。即,决定部140也可以代替以像素单位计算三维形状上的三维位置,而以区域单位计算三维形状上的三维位置。这里,区域是规定数量的像素的集合,例如是预先设定了纵向的像素数及横向的像素数的尺寸的块。
[0148]
生成部150基于由取得部130从存储部120取得的多个帧、相机参数和探索范围,生成被摄体的三维模型。生成部150在与不同于第1帧的其他帧(例如第2帧)上的探索范围对应的范围中,探索与第1帧上的第1点类似的类似点。生成部150将第2帧中的与第1点对应的核线限制为与探索范围对应的长度,在第2帧的核线上探索与第1点类似的类似点。生成部150对于第1帧中包含的多个第1像素各自进行从第2帧的类似点的探索。生成部150如以下的式10所示,在第1帧与除了第1帧以外的其他的多个帧之间的组合中,将小区域间的normalized cross correlation(归一化互相关,ncc)作为n(i,j)算出,生成表示进行了帧间的匹配的结果的匹配信息。
[0149]
这里,使用图9及图10具体地说明关于探索范围被限制的好处。图9是用来说明对于探索范围没有限制的情况下的匹配处理的图。图10是用来说明对于探索范围有限制的情
况下的匹配处理的图。
[0150]
如图9所示,对于第1帧571中的1个像素572,在没有限制的探索范围r1中与帧581之间进行匹配的情况下,在帧581中,遍及帧581的端到端的全部,存在与将第1视点v1和像素572连结的直线l1对应的核线582。另外,第1帧571是在第1视点v1得到的图像,帧581是在第2视点v2得到的图像。直线l1与第1视点v1的相机301的摄影方向一致。像素572与被摄体510的点511对应。因此,在没有被限制的核线582中进行与像素572类似的帧581的像素的探索。由此,在核线582上有两个以上具有与像素572类似的特征的像素的情况下,有将在帧581上与不同于被摄体510的点511的点512对应的像素583错误地选择为类似点的情况。由此,三维模型的生成精度下降。
[0151]
另一方面,如图10所示,通过由决定部140进行的处理,将探索范围r2决定为比图9所示的探索范围r1短的探索范围。因此,成为对于第1帧571中的1个像素572在有限制的探索范围r2中与帧581之间进行匹配,在帧581中,与将第1视点v1和像素572连结的直线l1对应的核线584匹配于探索范围r2而比核线582短。因此,与像素572类似的帧581的像素的探索在比核线582短的核线584中进行。由此,能够使具有与像素572类似的特征的像素变少,能够提高将在帧581上与被摄体510的点511对应的像素585决定为类似点的可能性。因此,能够提高三维模型的生成精度。此外,由于能够缩窄探索范围,所以能够缩短有关探索的处理时间。
[0152]
生成部150通过使用各相机301的位置及姿势和匹配信息实施三角测量,生成三维模型。另外,匹配也可以对于多个帧中的两个帧的组合的全部进行。
[0153]
[数式4]
[0154][0155]
另外,i
xy
及j
xy
是帧i及帧j的小区域内的像素值。此外,
[0156]
[数式5]
[0157][0158]

[0159]
[数式6]
[0160][0161]
分别是帧i及帧j的小区域内的像素值的平均值。
[0162]
并且,生成部150使用匹配中的探索结果生成三维模型。由此,生成部150生成包含比地图信息中包含的多个三维点数量多且密度大的多个三维点的三维模型。
[0163]
输出部160将由生成部150生成的三维模型输出。输出部160例如具备未图示的显示器等的显示装置和用来通过有线或无线可通信地连接的天线、通信电路、连接器等。输出部160通过将合并后的三维模型向该显示装置输出,使该显示装置显示三维模型。
[0164]
[三维模型生成装置的动作]
[0165]
接着,使用图8对三维模型生成装置100的动作进行说明。图8是表示三维模型生成装置100的动作的一例的流程图。
[0166]
首先,在三维模型生成装置100中,接收部110从推断装置200接收多个相机301摄影的多个帧、各相机301的相机参数和地图信息(s101)。步骤s101是第1取得步骤及第2取得步骤的一例。另外,接收部110也可以将多个帧、相机参数和地图信息不是在1个时点接收,也可以将其分别在不同的时点接收。即,第1取得步骤及第2取得步骤既可以在相同的时点进行,也可以在不同的时点进行。
[0167]
接着,存储部120将由接收部110接收到的多个相机301摄影的多个帧、各相机301的相机参数和地图信息存储(s102)。
[0168]
接着,取得部130取得存储在存储部120中的地图信息,将所取得的地图信息向决定部140输出(s103)。
[0169]
决定部140基于由取得部130取得的地图信息,决定在多个帧间的多个点的匹配中使用的探索范围(s104)。步骤s104是决定步骤的一例。步骤s104的详细情况已在决定部140进行的处理的说明中说明,所以省略。
[0170]
接着,生成部150在第2帧上的与探索范围对应的范围中探索与第1帧上的第1点类似的类似点(s105),使用探索结果生成三维模型(s106)。步骤s105是匹配步骤的一例。步骤s106是生成步骤的一例。步骤s105及步骤s106的详细情况在生成部150进行的处理的说明中说明,所以省略。
[0171]
接着,输出部160将在生成部150中生成的三维模型输出(s107)。
[0172]
[效果等]
[0173]
有关本实施方式的三维模型生成方法包括:第1取得步骤(s101),取得通过相机校正得到并且包含分别表示三维空间中的被摄体上的位置的多个三维点的地图信息,上述相机校正通过使1台以上的相机从多个视点将被摄体摄影而执行;第2取得步骤(s101),取得第1视点的第1图像和第2视点的第2图像;决定步骤(s104),基于地图信息,决定包含与第1图像的第1点对应的被摄体上的第1三维点的三维空间上的探索范围;匹配步骤(s105),在第2图像上的与探索范围对应的范围中,探索与第1点类似的类似点;以及生成步骤(s106),使用匹配步骤中的探索结果,生成三维模型。
[0174]
根据三维模型生成方法,基于地图信息决定探索范围,在被探索范围限制的第2图像上的与探索范围对应的范围中,探索与一个第1图像上的第1点类似的类似点。这样,在三维模型生成方法中,由于基于地图信息,在存在类似点的可能性较高的范围中进行类似点的探索,所以能够提高类似点的探索精度,并且能够缩短探索处理所需要的时间。由此,能够使三维模型的生成精度提高,并且能够缩短三维模型的生成处理的处理时间。
[0175]
此外,例如探索范围是从摄影了一个第1图像的第1视点的摄影方向上的范围。在匹配步骤(s105)中,将第2图像的与第1点对应的核线限制为与探索范围对应的长度,在第2图像的核线上探索与第1点类似的类似点。
[0176]
由此,在被限制为与探索范围对应的长度的核线上探索与第1点类似的类似点,所以能够提高类似点的探索精度,并且能够缩短探索处理所需要的时间。
[0177]
此外,例如决定步骤(s104)包括使用地图信息中包含的多个三维点、在多个三维点中包含的两点间插值计算被推断为存在被摄体的三维点的插值步骤。在决定步骤中,使用在插值步骤中插值计算出的多个三维点来决定探索范围。
[0178]
由此,在多个三维点的两点间插值计算被推断为存在被摄体的三维点,所以能够
精度良好地决定探索范围。
[0179]
此外,例如插值步骤在由多个三维点中包含的3点规定的区域中插值计算被推断为存在被摄体的三维点。
[0180]
由此,在由多个三维点的3点规定的区域中插值计算被推断为存在被摄体的三维点,所以能够精度良好地决定探索范围。
[0181]
此外,例如在决定步骤(s104)中,通过按照在一个第1图像中投影有多个三维点的投影帧上的多个区域中的每个区域,推断以将第1图像摄影的第1视点为基准且与该区域对应的被摄体上的三维位置,生成各区域包含推断出的三维位置的距离图像,基于距离图像中的各区域的三维位置决定探索范围。
[0182]
由此,按照投影帧上的多个区域中的每个区域计算三维位置,所以能够以匹配所需要的数量计算三维位置。
[0183]
此外,例如在决定步骤(s104)中,对于按照距离图像中的多个区域中的每个区域决定的探索范围,对应的区域的三维位置的推断精度越低,越扩大探索范围。
[0184]
由此,插值计算出的三维形状上的三维位置的精度越低,越扩大探索范围,由此能够决定为与精度对应的探索范围。
[0185]
此外,例如三维位置距第1视点的距离越小,三维位置的推断精度越高。因此,能够决定为与三维位置距第1视点的距离对应的探索范围。
[0186]
此外,例如三维位置距多个三维点中的至少1个越近,三维位置的推断精度越高。因此,能够决定为与三维位置距多个三维点中的至少1个的距离对应的探索范围。
[0187]
此外,例如三维位置存在的区域中的多个三维点的密度越大,三维位置的推断精度越高。因此,能够决定为与三维位置存在的区域中的多个三维点的密度对应的探索范围。
[0188]
[变形例]
[0189]
在上述有关实施方式的三维模型生成方法中,设为使用地图信息中包含的多个三维点,进行多个三维点之间的推断为存在被摄体的三维点的插值,但也可以不进行插值。此外,在匹配中,设为从其他帧中的核线上探索第1帧的第1点的类似点,但也可以不使用核线而探索。
[0190]
例如,三维模型生成装置也可以计算距与第1帧上的第1点对应的被摄体上的第1三维位置较近的第1三维点,将第1三维点投影到其他帧中,从包含所投影的第1三维点的规定的范围中探索第1点的类似点。另外,规定的范围既可以是具有二维的展宽的范围,也可以是具有一维的长度的范围。另外,规定的范围在是具有一维的长度的范围的情况下,也可以是核线上的范围。
[0191]
(其他实施方式)
[0192]
以上,基于上述各实施方式对有关本发明的三维模型生成方法等进行了说明,但本发明并不限定于上述各实施方式。
[0193]
例如,在上述实施方式中,说明了三维模型生成装置等具备的各处理部由cpu和控制程序实现说明。例如,该处理部的构成要素也可以分别由1个或多个电子电路构成。1个或多个电子电路分别既可以是通用性的电路,也可以是专用的电路。在1个或多个电子电路中,例如也可以包括半导体装置、半导体集成电路(ic)或lsi(大规模集成电路,large scale integration)。lsi或ic既可以集成到1个芯片上,也可以将多个芯片组合而构成。例
如,也可以将存储元件以外的功能块集成到1个芯片上。这里称作lsi或ic,但根据集成的程度而叫法变化,也可以称作系统lsi、vlsi(超大规模集成电路,very large scale integration)或ulsi(甚超大规模集成电路,ultra large scale integration)。也可以以相同的目的使用可在lsi的制造后编程的fpga(现场可编程门阵列,field programmable gate array)。
[0194]
此外,本发明的全局性或具体的形态也可以由系统、装置、方法、集成电路或计算机程序实现。或者,也可以由存储有该计算机程序的光盘、hdd(硬盘驱动器,hard disk drive)或半导体存储器等的计算机可读取的非暂时性的记录介质实现。此外,也可以由系统、装置、方法、集成电路、计算机程序及记录介质的任意的组合实现。
[0195]
除此以外,对于各实施方式施以本领域技术人员想到的各种变形而得到的形态、或在不脱离本发明的主旨的范围内通过将实施方式的构成要素及功能任意地组合而实现的形态也包含在本发明中。
[0196]
产业上的可利用性
[0197]
本发明能够对三维模型生成装置或三维模型生成系统应用,例如能够对图形制作、地形或建筑物的构造识别、人物的行动识别或自由视点影像的生成等应用。
[0198]
标号说明
[0199]
100 三维模型生成装置
[0200]
110 接收部
[0201]
120 存储部
[0202]
130 取得部
[0203]
140 决定部
[0204]
150 生成部
[0205]
160 输出部
[0206]
200 推断装置
[0207]
300 相机群
[0208]
301 相机
[0209]
400 三维模型生成系统
[0210]
500、510 被摄体
[0211]
511、512 点
[0212]
520 地图信息
[0213]
531、532、533、581 帧
[0214]
541、542、543 特征点
[0215]
551、561、610、710 投影帧
[0216]
552、611 网格
[0217]
562、712 区域
[0218]
571 第1帧
[0219]
572、583、585 像素
[0220]
582、584 核线
[0221]
601 三维点
[0222]
612 边
[0223]
620、720 距离图像
[0224]
621、721 三维形状
[0225]
622、722 平面
[0226]
701 三维点
[0227]
r1、r2 探索范围
[0228]
v1 第1视点
[0229]
v2 第2视点
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献