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

用于场景重建的拍摄控制方法、装置及可读存储介质与流程

2022-12-06 23:56:53 来源:中国专利 TAG:


1.本发明涉及计算机处理技术领域,更具体地,涉及一种用于场景重建的拍摄控制方法、装置、计算机设备和存储介质。


背景技术:

2.场景重建是指通过场景图像对实体场景进行三维建模,以得到与实体场景基本一致的场景模型。对于场景重建而言,场景图像采集是非常重要的一个部分。为进行有效的场景图像采集,需要针对该实体场景确定所有拍摄点,在确定拍摄点之后,就可以控制搭载拍摄装置的飞行装置到达每一确定的拍摄点,完成场景图像采集。
3.目前,在确定所有拍摄点后,对这些拍摄点随机进行排序或者按照位置邻近原则进行排序,得到一条拍摄路径,并基于该拍摄路径控制飞行装置依次到达每一拍摄点完成场景图像采集。该种拍摄控制方式存在很多不确定性,包括能量消耗的不确定性,进而可能出现无法顺利完成场景拍摄的问题。
4.针对相关技术中由于现有的拍摄控制方式存在不确定性导致无法顺利完成场景拍摄的问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本发明实施例提供了一种用于场景重建的拍摄控制方法、装置、计算机设备和存储介质,用以解决相关技术中由于现有的拍摄控制方式存在不确定性导致无法顺利完成场景拍摄的问题。
6.为了实现上述目的,本发明实施例的第一方面,提供了一种用于场景重建的拍摄控制方法,其包括:
7.对目标场景进行场景重建拍摄,获取每一拍摄点的拍摄信息;其中,所述拍摄信息包括拍摄位置信息和拍摄方向信息,所述场景重建拍摄由飞行装置所搭载的摄像装置进行;
8.按照不同的连通顺序连通所有拍摄点,得到m条候选拍摄路径;其中,所述候选拍摄路径由所有拍摄点串联而成;
9.对于所述候选拍摄路径,根据每一拍摄点的拍摄信息,获得对应所述候选拍摄路径的能耗参数值;其中,所述能耗参数值包括所述飞行装置在相邻两个节点间的总飞行距离值、所述飞行装置在节点处的总飞行转角值和所述摄像装置在相邻两个节点间的总拍摄转角值;
10.根据所述候选拍摄路径的能耗参数值,获得所述候选拍摄路径的拍摄能耗,并将所述拍摄能耗满足设定条件的候选拍摄路径,作为目标拍摄路径;
11.按照所述目标拍摄路径,控制所述飞行装置依次到达每一拍摄点完成场景图像采集,得到用于对所述目标场景进行场景重建的图像集。
12.可选地,在第一方面的一种可能实现方式中,所述按照不同的连通顺序连通所有
拍摄点,得到m条候选拍摄路径包括:
13.多次迭代执行路径生成步骤,得到所述m条候选拍摄路径;其中,第i次执行路径生成步骤,包括:
14.在i等于1时,随机连通所有拍摄点,得到包括m1条第1级路径的第1路径集合;
15.在i大于1时,按照设定的迭代算法,基于第(i-1)次执行路径生成步骤得到的第(i-1)路径集合中的部分第(i-1)级路径,得到包括mi条第i级路径的第i路径集合。
16.可选地,在第一方面的一种可能实现方式中,所述多次迭代执行路径生成步骤,得到所述m条候选拍摄路径包括:
17.多次迭代执行路径生成步骤直至满足设定的收敛条件,并将最后一次执行路径生成步骤得到的路径作为m条候选拍摄路径;
18.其中,所述收敛条件为:
[0019][0020]
τ为阶段间增量比值,b为设定的收敛阈值,每执行j次迭代为一个阶段,sn为第n阶段的对应于拍摄耗能的迭代指标值,s
n-1
为第(n-1)阶段的所述迭代指标值,s
n-2
为第(n-2)阶段的所述迭代指标值。
[0021]
可选地,在第一方面的一种可能实现方式中,所述迭代指标值等于对应阶段中每次迭代分别得到的最低拍摄耗能之和。
[0022]
可选地,在第一方面的一种可能实现方式中,所述按照设定的迭代算法,基于第(i-1)次执行路径生成步骤得到的第(i-1)路径集合中的部分第(i-1)级路径,得到包括mi条第i级路径的第i路径集合,包括:
[0023]
在第(i-1)路径集合中,选择x条第(i-1)级路径;其中,所述第(i-1)路径集合中拍摄能耗越低的路径,被选择的概率越高;
[0024]
基于所述x条第(i-1)级路径,生成mi条过渡路径;其中,所述mi条过渡路径中的至少部分路径不同于所述x条第(i-1)级路径;
[0025]
对于所述过渡路径,至少一次执行调整步骤,并将调整后的mi条过渡路径作为所述mi条第i级路径;
[0026]
其中,每次执行调整步骤包括:
[0027]
将所述过渡路径的两个节点间的拍摄点倒序,并比较所述过渡路径与倒序后的过渡路径的拍摄耗能,得到比较结果;
[0028]
根据所述比较结果,更新所述过渡路径。
[0029]
可选地,在第一方面的一种可能实现方式中,所述根据所述比较结果,更新所述过渡路径,包括:
[0030]
如果所述比较结果表示所述过渡路径的拍摄耗能小于第一预设阈值时,则保持所述过渡路径不变;
[0031]
如果所述比较结果表示所述过渡路径的拍摄耗能大于第二预设阈值时,则将所述过渡路径更新为倒序后的过渡路径。
[0032]
可选地,在第一方面的一种可能实现方式中,所述对于所述过渡路径,至少一次执行调整步骤,包括:
[0033]
对于所述过渡路径,遍历所述过渡路径的每个节点对,每遍历到一个节点对,执行一次调整步骤。
[0034]
本发明实施例的第二方面,提供一种用于场景重建的拍摄控制装置,包括:
[0035]
拍摄信息获取模块,用于对目标场景进行场景重建拍摄,获取每一拍摄点的拍摄信息;其中,所述拍摄信息包括拍摄位置信息和拍摄方向信息,所述场景重建拍摄由飞行装置所搭载的摄像装置进行;
[0036]
候选拍摄路径确定模块,用于按照不同的连通顺序连通所有拍摄点,得到m条候选拍摄路径;其中,所述候选拍摄路径由所有拍摄点串联而成;
[0037]
能耗参数值获取模块,用于对于所述候选拍摄路径,根据每一拍摄点的拍摄信息,获得对应所述候选拍摄路径的能耗参数值;其中,所述能耗参数值包括所述飞行装置在相邻两个节点间的总飞行距离值、所述飞行装置在节点处的总飞行转角值和所述摄像装置在相邻两个节点间的总拍摄转角值;
[0038]
目标拍摄路径确定模块,用于根据所述候选拍摄路径的能耗参数值,获得所述候选拍摄路径的拍摄能耗,并将所述拍摄能耗满足设定条件的候选拍摄路径,作为目标拍摄路径;
[0039]
图像集确定模块,用于按照所述目标拍摄路径,控制所述飞行装置依次到达每一拍摄点完成场景图像采集,得到用于对所述目标场景进行场景重建的图像集。
[0040]
本发明实施例的第三方面,提供一种计算机设备,包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于在所述计算机程序的控制下,执行根据本发明的第一方面所述的拍摄控制方法。
[0041]
本发明实施例的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序在被处理器执行时实现本发明第一方面及第一方面各种可能涉及的所述的拍摄控制方法。
[0042]
本公开实施例的一个有益效果在于,本公开实施例的拍摄控制方法,引入了至少包括飞行装置在拍摄路径相邻节点之间的总飞行距离值、飞行装置在节点处的总飞行转角值和摄像装置在相邻节点之间的总拍摄转角值在内的能耗参数值,来确定相应拍摄路径的拍摄能耗,进而基于对拍摄能耗的需求得到一条与需求相吻合的拍摄路径作为最终的目标拍摄路径,这样,在按照该目标拍摄路径,控制飞行装置进行场景图像采集的情况下,实际的拍摄能耗便是可控的,使得整个图像采集工作能够按照预期顺利完成。
附图说明
[0043]
图1是根据一实施例的拍摄控制方法的流程示意图;
[0044]
图2是本公开实施例的拍摄控制方法的应用场景示意图;
[0045]
图3是根据一实施例的获得m条候选拍摄路径的流程示意图;
[0046]
图4是根据一实施例的路径交叉示意图;
[0047]
图5是根据一实施例的路径变异示意图;
[0048]
图6是根据一实施例的路径调整示意图;
[0049]
图7是根据一实施例的拍摄控制装置的装置结构图;
[0050]
图8是根据另一实施例的拍摄控制装置的硬件结构示意图。
具体实施方式
[0051]
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
[0052]
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
[0053]
对于相关领域普通技术人物已知的技术、方法和设备可能不作详细讨论,但在适当情况下,技术、方法和设备应当被视为说明书的一部分。
[0054]
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
[0055]
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0056]
实施例1:
[0057]
本发明提供一种用于场景重建的拍摄控制方法,如图1所示其流程图,包括如下步骤:
[0058]
步骤s110,对目标场景进行场景重建拍摄,获取每一拍摄点的拍摄信息。
[0059]
在该步骤中,目标场景可以是需要进行场景重建的任意实际场景,例如,可以是
ⅹⅹ
大学,也可以是
ⅹⅹ
景区等,在此不做限定;获取的每一拍摄点的拍摄信息可以根据任意已知的手段获得,本实施例中不做限定。
[0060]
每一拍摄点的拍摄信息包括拍摄位置信息和拍摄方向信息,拍摄位置信息反映拍摄点在目标场景中的三维位置坐标,拍摄方向信息反映摄像装置在对应拍摄点处进行场景图像采集的拍摄角度或者说拍摄方位,拍摄方向信息例如可以用方位角来表示。
[0061]
本实施例中,拍摄控制装置1000可以直接从本地获取每一拍摄点的拍摄信息,也可以从其他设备获取每一拍摄点的拍摄信息,在此不做限定。
[0062]
对目标场景进行场景重建拍摄的拍摄点及拍摄点的拍摄信息可以是通过任意手段获取到的,在此不做限定。
[0063]
具体地,该用于场景重建的拍摄控制方法可以应用于图2所示的应用场景;场景重建拍摄可以由如图2所示的飞行装置2000所搭载的摄像装置2500进行。
[0064]
具体应用场景包括:拍摄控制装置1000和飞行装置2000,拍摄控制装置1000与飞行装置2000可以通过各自的通信装置进行通信连接,以进行控制指令、数据等的传输。
[0065]
其中,拍摄控制装置1000可以根据本公开实施例的方法得到对目标场景进行场景图像采集的目标拍摄路径,并在得到目标拍摄路径后,按照所有拍摄点在目标拍摄路径上的排列顺序,根据拍摄点的拍摄位置信息,控制飞行装置2000依次到达每一拍摄点,并根据所到达拍摄点的拍摄方向信息,控制飞行装置2000搭载的拍摄装置2500在所到达拍摄点完成场景图像采集,进而得到用于对目标场景进行场景重建的图像集,并将图像集返回至拍摄控制装置1000,或者将图像集传输至用于对目标场景进行场景重建的任意其他设备。
[0066]
其中,拍摄控制装置1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400。
[0067]
其中,飞行装置2000可以包括机体,以及安装在机体上的处理器2100、存储器
2200、接口装置2300、通信装置2400、拍摄装置2500和动力装置2600等。
[0068]
其中,处理器1100、1200用于执行计算机程序,该计算机程序可以采用比如x86、arm、risc、mips、sse等架构的指令集编写。存储器1200、2200例如包括rom(只读存储器)、ram(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300、2300例如包括usb接口、总线接口、网络接口等。通信装置1400、2400例如能够进行有线或无线通信,通信装置1400、2400可以包括至少一种短距离通信模块,例如是基于hilink协议、wifi(ieee 802.11协议)、mesh、蓝牙、zigbee、thread、z-wave、nfc、uwb、lifi等短距离无线通信协议进行短距离无线通信的任意模块,通信装置1400也可以包括远程通信模块,例如是进行wlan、gprs、2g/3g/4g/5g远程通信的任意模块。
[0069]
拍摄装置2500包括至少一个摄像头和驱动摄像头转动地云台,摄像头能够在云台的驱动下改变拍摄角度。
[0070]
动力装置2600可以是包括至少一个电机等。
[0071]
飞行装置2000还可以包括电池装置等,以为其他装置提供电能。飞行装置2000例如可以是任意类型的无人机等。
[0072]
拍摄控制装置1000可以是具有数据处理能力的任意装置,例如电脑、服务器等。
[0073]
拍摄控制装置1000的存储器1200用于存储计算机程序,该计算机程序用于控制处理器1100进行操作以至少执行根据本公开任意实施例的拍摄控制方法。技术人员可以根据该方法步骤设计计算机程序,而且计算机程序如何控制处理器进行操作,这是本领域公知技术,故在此不再详细描述。
[0074]
飞行装置2000的存储器2200用于存储计算机程序,该计算机程序用于控制处理器2100进行操作以至少执行:根据拍摄控制装置1000发送的控制指令,控制飞行装置2000到达拍摄点及控制拍摄装置2500在所到达拍摄点按照设定的拍摄角度进行场景图像采集。技术人员可以根据该方法步骤设计计算机程序,而且计算机程序如何控制处理器进行操作,这是本领域公知技术,故在此不再详细描述。
[0075]
为了实现高精度的场景重建,在一些实施例中,对目标场景进行场景重建拍摄的拍摄点及拍摄点的拍摄信息可以通过如下步骤获得:获取目标场景的低精度场景模型和对目标场景进行场景重建拍摄以得到高精度场景模型的拍摄指标值,拍摄指标值包括距离指标值和面积指标值;按照距离指标值对低精度场景模型的模型表面进行偏移,得到对目标场景进行场景重建拍摄的拍摄曲面,及按照所述面积指标值将模型表面分割为多个采集单元;确定与多个采样单元一一对应的多个拍摄点及所述拍摄点的拍摄信息,得到拍摄点集合;其中,拍摄点为所对应采样单元的中心法线与所述拍摄曲面的交点,中心法线为通过所对应采样单元的采样点的法线,拍摄信息包括基于交点的位置确定的拍摄位置信息和基于中心法线的方向确定的拍摄方向信息。
[0076]
这些实施例基于低精度场景模型传递的粗略信息,包括模型表面特征、映射于目标场景的位置坐标等,确定对目标场景进行场景重建拍摄的各拍摄点。这里的高精度场景模型与低精度场景模型是相对彼此而言的,不用于表示二者的具体精度。这里的低精度场景模型可以是通过任意手段获得的初级模型,例如,可以是通过测绘手段获得的模型,也可以是通过对应于目标场景的简单图像集重建得到的模型,该简单图像集可以包括控制飞行装置环绕目标场景拍摄到的图像。
[0077]
距离指标值与进行场景重建所要求的拍摄精度和摄像装置的焦距有关,其与焦距成正比,与拍摄精度成反比。距离指标值用于约束拍摄装置所在拍摄点与被拍摄的模型表面间的距离。通过距离指标值的约束来确定拍摄点,可以使得摄像装置在每一拍摄点进行场景图像采集的拍摄精度是基本一致的,这样,同一场景特征在不同图像中便会具有基本一致的拍摄精度,即,同一场景特征在不同图像间具有非常小的畸变率,这有利于基于这些图像获得准确的场景特征,进而实现更为精确的场景重建。
[0078]
面积指标值用于约束位于拍摄装置的拍摄范围内的采集单元的面积,该面积指标值与拍摄装置的分辨率,以及进行场景重建所要求的拍摄精度和图像间的重叠区域比例有关,其中,重叠区域比例为两个拍摄点所对应拍摄区域间的重叠区域面积与拍摄区域面积的比值。通过面积指标值的约束,可以获得合适密度的拍摄点,进而在满足场景重建要求的前提下,尽可能少地设置拍摄点,降低拍摄难度并提高拍摄效率。
[0079]
采样单元的中心法线为通过该采样单元的采样点的法线,由于采样单元可能不是平面,在采样单元不是平面的情况下,采样单元的法线可以理解为是采样单元的拟合平面的法线,其中,采样单元的拟合平面是基于采样单元的所有顶点拟合得到的平面,因此,中心法线也即为该采样单元的拟合平面的、通过该采样单元的采样点的法线。该采样点为能够代表采样单元的一个点,该采样点例如可以是采样单元的质心,也可以根据需要选择的其他点,例如几何中心等,在此不做限定。
[0080]
步骤s120,按照不同的连通顺序连通所有拍摄点,得到m条候选拍摄路径,其中候选拍摄路径由所有拍摄点串联而成,每一拍摄点对应候选拍摄路径的一个节点,在不同候选拍摄路径中,至少有部分拍摄点具有不同的节点序位。
[0081]
本实施例中,拍摄控制装置1000生成的包括候选拍摄路径在内的任意路径,都由所有拍摄点串联而成,在目标场景需要a个拍摄点的情况下,所有路径都具有a个节点,这些节点从路径起点到路径终端被顺序编号,参见图3所示,可以将路径的作为起始节点的第0个节点编号为q0,将与第0个节点相邻的第1个节点编号为q1,依次类推进行顺序编号。在按照某个连通顺序串联所有拍摄点时,每一拍摄点会占据一个节点位置,在不同路径中,至少有部分拍摄点具有不同的节点序位,仍然参见图3,在路径1中,拍摄点p1位于节点q0,即,节点序位为0,而在路径2中,拍摄点p1位于节点q2,即节点序位为2。
[0082]
该步骤s120中,可以遍历所有连通顺序连通所有拍摄点,得到各候选拍摄路径;也可以按照拍摄能耗较低的原则,选择部分连通顺序,并按照锁选择的连通顺序连通所有拍摄点,得到各候选拍摄路径,进而减少路径优化的处理量。
[0083]
步骤s130,对于候选拍摄路径,根据每一拍摄点的拍摄信息,获得对应候选拍摄路径的能耗参数值。其中,候选拍摄路径的能耗参数值至少包括飞行装置在相邻两个节点间的总飞行距离值、飞行装置在节点处的总飞行转角值和摄像装置在相邻两个节点间的总拍摄转角值。总飞行距离值也即为飞行装置在每相邻两个节点间的飞行距离值之和,该飞行距离值指直线飞行距离值;总飞行转角值也即为飞行装置在需要转弯节点处的飞行转角值之和;总拍摄转角值也即为拍摄装置在每相邻两个节点间的拍摄转角值之和。
[0084]
具体地,飞行装置在一节点处的飞行转角值反映飞行装置在对应节点的离开方向与在对应节点的到达方向间的转弯角度,该离开方向为从对应节点至下一节点的连线方向,到达方向为从上一节点至所述对应节点的连线方向。
[0085]
总飞行距离值d

可以表示为公式(1):
[0086][0087]
其中,d
(k 1

k)
表示第k个节点qk与第(k 1)个节点q(k 1)间飞行距离,该飞行距离根据对应节点qk的拍摄点的拍摄位置信息和对应节点q(k 1)的拍摄点的拍摄位置信息确定。可见,相邻两个节点对应不同的拍摄点对,就会导致相邻两个节点间的飞行距离值发生变化。
[0088]
总飞行转角值r1

可以表示为公式(2):
[0089][0090]
其中,r1k表示飞行装置在第k个节点qk处的飞行转角值;用于计算飞行转角值的离开方向根据对应节点q(k 1)的拍摄点的拍摄位置信息和对应节点qk的拍摄点的拍摄位置信息确定;用于计算飞行转角值的到达方向根据对应节点qk的拍摄点的拍摄位置信息和对应节点q(k-1)的拍摄点的拍摄位置信息确定。
[0091]
总拍摄转角值r2

可以表示为公式(3):
[0092][0093]
其中,r2
(k 1,k)
表示摄像装置在第(k 1)个节点q(k 1)与第k个节点qk间的拍摄转角值,该拍摄转角值根据对应节点qk的拍摄点的拍摄方向信息和对应节点q(k 1)的拍摄点的拍摄方向信息确定。
[0094]
对于不同的候选拍摄路径,由于至少有部分拍摄点具有不同的节点序位,因此,不同候选拍摄路径间的至少部分能耗参数值也会不同。
[0095]
步骤s140,根据所述候选拍摄路径的能耗参数值,获得所述候选拍摄路径的拍摄能耗,并将所述拍摄能耗满足设定条件的候选拍摄路径,作为目标拍摄路径。
[0096]
能耗参数值与拍摄能耗具有设定的映射关系,因此,根据能耗参数值,可以得到拍摄能耗,例如,拍摄能耗w可以表示为:
[0097]
w=ω1
×d总
ω2
×
r1

ω3
×
r2

ꢀꢀꢀꢀ
公式(4);
[0098]
其中,ω1为飞行装置平移的单位能耗,ω2为飞行装置旋转的单位能耗,ω3为摄像装置旋转的单位能耗。
[0099]
在一个例子中,该设定条件可以是拍摄能耗最低。在另外的例子中,该设定条件也可以是拍摄能耗最接近设定能耗值等,该设定条件可以根据需求设置,在此不做限定。可以根据每一候选拍摄路径的拍摄能耗,选出符合设定条件的一条候选拍摄路径作为目标拍摄路径。
[0100]
步骤s150,按照在步骤s140选出的目标拍摄路径,控制飞行装置依次到达每一拍摄点完成场景图像采集,得到用于对目标场景进行场景重建的图像集。
[0101]
拍摄控制装置可以基于目标拍摄路径,也即基于所有拍摄点在目标拍摄路径上的排列顺序,根据拍摄点的拍摄位置信息,控制飞行装置2000依次到达每一拍摄点,并根据所到达拍摄点的拍摄方向信息,控制拍摄装置以相应的拍摄角度在所到达拍摄点处完成场景图像采集,进而得到用于对目标场景进行场景重建的图像集。
[0102]
在步骤s150之后,拍摄控制装置2000或者与拍摄控制装置2000连接的用于进行场
景重建的计算装置,便可以通过该图像集对目标场景进行场景重建,进而得到目标场景的三维场景模型。该三维场景模型可为智慧城市行业、建筑行业、勘探行业等诸多行业提供重要的数据支持。
[0103]
根据本实施例的拍摄控制方法,引入了至少包括拍摄路径对应的总飞行距离值、总飞行转角值和总拍摄转角值在内的能耗参数值,来衡量相应拍摄路径的拍摄能耗,进而基于对拍摄能耗的需求得到一条与需求精准匹配的拍摄路径作为最终的目标拍摄路径。这样,在按照该目标拍摄路径,控制飞行装置进行场景图像采集的情况下,实际的拍摄能耗便是已知且可控的,使得整个图像采集工作能够按照预期顺利完成,并使得拍摄工作符合预期设定。
[0104]
拍摄控制装置1000在执行上述步骤s120时,可以遍历所有连通顺序连通所有拍摄点,得到各候选拍摄路径。该种遍历所有连通顺序的方式,可以应用在拍摄点数量a较少的应用场景中,这可以以简单、有效的方式获得各候选拍摄路径。在拍摄点数量a较多的应用场景中,例如拍摄点数量a超过100个,遍历所有连通顺序会导致计算量急剧增加,计算时间过长,进而降低路径优化效率。为此,在一个实施例中,拍摄控制装置1000可以采用迭代算法得到各候选拍摄路径,该种方式无需遍历所有连通顺序,就能获得拍摄能耗较为贴合设定条件的各候选拍摄路径,例如得到拍摄能耗较低的各候选拍摄路径,进而有效减少计算量,提高路径优化效率。
[0105]
在该实施例中,步骤s120中按照不同的连通顺序连通所有拍摄点,得到m条候选拍摄路径可以包括:多次迭代执行路径生成步骤,得到所述m条候选拍摄路径。
[0106]
在多次迭代执行路径生成步骤中,第i次执行路径生成步骤可以包括:在i等于1时,随机连通所有拍摄点,得到包括m1条第1级路径的第1路径集合;在i大于1时,按照设定的迭代算法,基于第(i-1)次执行路径生成步骤得到的第(i-1)路径集合中的部分第(i-1)级路径,得到包括mi条第i级路径的第i路径集合,其中,m条候选拍摄路径为最后一次执行路径生成步骤得到的路径。
[0107]
在i=1时,通过随机连通所有拍摄点,得到用于迭代的初始路径集合。
[0108]
该迭代算法为关于拍摄能耗的算法,例如,该迭代算法为使得每次迭代的最低拍摄能耗,随着迭代的进行能够逐渐降低。这样,在第(i-1)路径集合中,拍摄能耗越小的第(i-1)级路径,被选择用于得到第i路径集合的概率越高。
[0109]
该实施例中,可以设置每次执行路径生成步骤得到的路径数量恒定不变,即每次执行路径生成步骤均得到m条路径。在另外的实施例中,也可以设置每次执行路径生成步骤得到的路径数量,随着迭代次数的增加而增加或者减少,在此不做限定。
[0110]
在一个实施例中,上述按照设定的迭代算法,基于第(i-1)次执行路径生成步骤得到的第(i-1)路径集合中的部分第(i-1)级路径,得到包括mi条第i级路径的第i路径集合中:可以通过对部分第(i-1)级路径,进行路径交叉、路径变异、路径复制等中的一项或者至少两项的组合,得到包括mi条第i级路径的第i路径集合。
[0111]
在从第(i-1)路径集合中选择部分第(i-1)级路径中,例如选择x条第(i-1)级路径,x为小于m
i-1
的整数,一个例子可以在第(i-1)路径集合中选择设定比例的拍摄能耗较小的第(i-1)级路径,构成第一选择路径集合。以设定比例为50%为例,则是在第(i-1)路径集合中选择拍摄能耗排序在前50%(拍摄能耗越小,排序越靠前)的第(i-1)级路径,构成第一
选择路径集合,并基于第一选择路径集合生成第i路径集合。
[0112]
另一个例子中,在得到第一选择路径集合之后,可以进一步采用轮盘赌策略做第二次选择,以选择出用于生成第i路径集合的x条第(i-1)级路径。在轮盘赌策略中,第一选择路径集合中每条路径被选中的概率区间正比于其在第一选择路径集合中按照拍摄能耗排序的倒序的平方,其中,倒序的平方可以表示为c是第一选择路径集合中的路径数据,a是对应路径按拍摄能耗排序后的序号,例如,拍摄能耗最小的路径,其按照拍摄能耗排序后的序号即为1。
[0113]
以上从从第(i-1)路径集合中选择x条第(i-1)级路径的方式是迭代算法的体现。在选择出用于生成第i路径集合的x条第(i-1)级路径后,可以对这x条第(i-1)级路径,进行路径交叉操作。
[0114]
在路径交叉操作中,可以从这部分第(i-1)级路径中随机选出成对的路径,每对路径有较高概率(约90%)发生交叉,生成两条新的路径,有较低概率(约10%)不发生变化,即交叉操作后的两条路径各自完整继承被交叉的两条路径。
[0115]
为保证每个拍摄点在每条路径中出现且仅出现一次,在一个例子中,
[0116]
以对如图4所示的路径1和路径2进行路径交叉操作为例,可以从路径1中随机选取一节点段,拷贝到中间路径的相对应位置;再顺次遍历路径2的节点,将没有在中间路径中出现的拍摄点,按顺序拷贝到中间路径的从路径1拷贝的节点段的后面,直至到达中间路径的尾部,然后再从中间路径的头部开始继续拷贝,进而得到交叉后的路径。
[0117]
以图4所示的具有7个节点的路径交叉为例,路径1中选中的节点段是第1个节点q1至第3个节点q3,将该节点段的三个拍摄点p3、p2、p4直接拷贝至中间路段的第1个节点q1至第3个节点q3处。中间路段的其余节点对应的拍摄点来自路径2,从路径2的第0个节点p0开始遍历,拍摄点p3在中间路段已经存在,因此跳过,第1个节点对应的拍摄点p0拷贝至中间路径的第4个节点q4位置,依次类推,直至路径2的第6个节点所对应的拍摄点p5,此时,中间路径尾部已经填满,因此再从中间路径头部开始,将p5放置在中间路径的第0个节点位置处,完成交叉操作,得到如图4所示的交叉后的路径。
[0118]
在进行路径交叉操作之后,可以对至少部分交叉后的路径进行路径变异操作。在变异操作阶段,交叉后的路径有设定百分比(例如1%-5%)的可能性发生变异。在一个例子中,如图5所示,变异操作可以是通过在交叉后的路径上随机选择两个节点位置,交换这两个节点所对应的拍摄点。如图5所示,对图5中的路径进行变异操作,可以是交换第1个节点q1所对应的摄像点p3与第3个节点q3所对应的摄像点p4。
[0119]
在一个例子中,可以将对x条第(i-1)级路径依次进行路径交叉和路径变异后得到的路径作为第i级路径,进而得到包括mi条第i级路径的第i路径集合。
[0120]
在另外的例子中,为了提升每一次迭代的迭代效果,进而加快收敛速度,可以先基于x条第(i-1)级路径生成mi条过渡路径,例如按照上述方式,对x条第(i-1)级路径依次进行路径交叉和路径变异操作后,得到mi条过渡路径;然后再对每一条过渡路径,按照降低拍摄能耗的原则,至少一次执行路径调整步骤,并将调整后的mi条过渡路径作为所述mi条第i级路径,进而得到包括mi条第i级路径的第i路径集合。这里的路径调整方案也是迭代算法的一个体现。
[0121]
在该例子中,按照设定的迭代算法,基于第(i-1)次执行路径生成步骤得到的第(i-1)路径集合中的部分第(i-1)级路径,得到包括mi条第i级路径的第i路径集合,可以包括如下步骤s2211~s2213:
[0122]
步骤s2211,在第(i-1)路径集合中,选择x条第(i-1)级路径。
[0123]
步骤s2212,基于x条第(i-1)级路径,生成mi条过渡路径;其中,mi条过渡路径中的至少部分路径不同于x条第(i-1)级路径。
[0124]
该步骤s2212中,可以对x条第(i-1)级路径依次进行上述路径交叉和路径变异操作,得到mi条过渡路径。
[0125]
步骤s2213,对于过渡路径,至少一次执行路径调整步骤,并将调整后的mi条过渡路径作为所述mi条第i级路径。
[0126]
该步骤s2213中,每次执行路径调整步骤,可以包括:将过渡路径的两个节点间的拍摄点倒序,并比较过渡路径与倒序后的过渡路径的拍摄耗能,得到比较结果;以及,根据该比较结果,更新该过渡路径;其中,在比较结果表示过渡路径的拍摄耗能较小的情况下,保持过渡路径不变,在比较结果表示过渡路径的拍摄耗能较大的情况下,将过渡路径更新为倒序后的过渡路径。
[0127]
在该例子中,所述根据该比较结果,更新该过渡路径,包括:如果所述比较结果表示所述过渡路径的拍摄耗能小于第一预设阈值时,则保持所述过渡路径不变;如果所述比较结果表示所述过渡路径的拍摄耗能大于第二预设阈值时,则将所述过渡路径更新为倒序后的过渡路径。
[0128]
在该例子中,可以挑选过渡路径的部分节点对执行路径调整步骤,也可以遍历过渡路径的每个节点对,每遍历到一个节点对,执行一次路径调整步骤,以使得路径调整效果达到最优。
[0129]
在该例子中,由于路径调整是朝向使得拍摄能耗变小的方向进行,因此,路径调整可以改善每次迭代的优化效果,也可以提高收敛速度。
[0130]
以图6所示路径为例,说明一次路径调整步骤,当选中第2个节点q2和第4个节点q4这一节点对时,所做的调整是将两个节点间(包括两个节点)的拍摄点p2、p4、p5倒序后填回原来位置,使得调整后路径在第2个节点q2和第4个节点q4间的拍摄点依次为p5、p4、p2。然后,再比较本次调整后的路径与本次调整前的路径间的拍摄能耗,如果本次调整前的路径的拍摄能耗较低,本次调整不做路径更新,如果本次调整后的路径的拍摄能耗较低,则本次调整将过渡路径更新为调整后的路径。
[0131]
该例子中,后一次调整以前一次调整得到的路径为基础进行。
[0132]
在遍历过渡路径的每个节点对以进行路径调整的例子中,遍历顺序可以为,以第0个节点为起始节点,依次向后遍历其他节点与第0个节点组成节点对,以进行第一轮路径调整;然后再以第1个节点为起始节点,依次向后遍历其他节点与第0个节点组成节点对,以进行第二轮路径调整;以此类推,直至遍历完过渡路径的每个节点对。
[0133]
在路径调整步骤中,由于包括飞行距离值、飞行转角值和拍摄转角值在内的能耗参数值,都具有节点对称性,因此,每次路径调整所进行的拍摄能耗比较,可以避免计算参与比较的两条路径的拍摄能耗,而是通过计算节点对与两侧节点间的能耗参数值来进行比较。
[0134]
仍然以图6为例,选中第2个节点q2和第4个节点q4这一节点对时,在调整前的路径中,第2个节点q2之前部分的拍摄能耗是一样的,第4个节点q4之后部分的拍摄能耗也是一样的,而第2个节点q2与第4个节点q4之间部分,由于是倒序关系,因此,基于拍摄点对称性可知,节点q2与节点q4间的拍摄能耗也是一样的,不一样的部分,仅发生在节点对q2、q4与前后两个节点的联通处。这样,对于调整前后的路径,路径的拍摄能耗均可以用节点能耗替代,其中,节点能耗根据节点q2与节点q1间的飞行距离值、节点q2与节点q1间的拍摄转角值、节点q1和q2处的飞行转角值、节点q4与节点q5间的飞行距离值、节点q4与节点q5间的拍摄转角值、节点q4和q5处的飞行转角值计算得到。对于调整前后的两条路径,由于对应节点q2和节点q4的拍摄点发生变化,因此,两条路径的上述节点能耗会不同,通过比较两者的节点能耗,便可以获得两者拍摄能耗的大小关系,进而得到比较结果。
[0135]
在一个实施例中,迭代执行上述路径生成步骤的次数可以由设定的收敛条件决定。这样,上述多次迭代执行路径生成步骤,得到所述m条候选拍摄路径可以包括:多次迭代执行路径生成步骤直至满足设定的收敛条件,并将最后一次执行路径生成步骤得到的路径作为m条候选拍摄路径。
[0136]
为了使得获得的m条候选拍摄路径具有较小的拍摄能耗,可以基于路径拍摄能耗设置收敛条件。由于迭代具有前期收敛速度快,而后随着迭代增加收敛速度逐步下降的特点,在优化时间受限的条件下,需要在迭代时长与优化效果之间加以平衡,以兼具优化效果和优化效率。为此,可以根据路径拍摄能耗随着迭代进行的变化率,也即收敛速度,来设置收敛条件,当收敛速度很慢的情况下,即可停止迭代。
[0137]
在一个例子中,可以以j次迭代为一个阶段,j可以被设置为大于或者等于3、且小于或者等于10,例如j=5。然后计算最近3个阶段中每一阶段的对应于拍摄能耗的迭代指标值,当迭代指标值在各阶段间的阶段间增量比值τ高于设定的收敛阈值b时,认为收敛速度过低,结束迭代过程。阶段间增量比值τ可以表示为:
[0138][0139]
其中,sn为第n阶段的对应于拍摄耗能的迭代指标值,s
n-1
为第(n-1)阶段的所述迭代指标值,s
n-2
为第(n-2)阶段的所述迭代指标值。收敛阈值b可以被设置为大于或者等于0.8、且小于或者等于0.95,例如,收敛阈值等于0.9。
[0140]
在一个例子中,该迭代指标值可以等于对应阶段中每次迭代分别得到的最低拍摄耗能之和。例如,sn等于第n阶段中每次迭代所得路径的最低拍摄能耗之和,即第n阶段中j个最低拍摄能耗之和。
[0141]
在一个例子中,多次迭代执行路径生成步骤,得到所述m条候选拍摄路径,可以包括如下步骤s310~s330:
[0142]
步骤s310,设置i=1,随机连通所有拍摄点,得到包括m1条第1级路径的第1路径集合。
[0143]
m1可以等于m。第1路径集合中的任意两条第1级路径中,至少有部分拍摄点对应不同的节点序位。
[0144]
步骤s320,计算第i路径集合中每一路径的拍摄能耗。
[0145]
该步骤s320中,可以按照上述公式(1)-公式(4),计算得到每一路径的拍摄能耗。
[0146]
步骤s330,根据计算得到的拍摄能耗,判断第i次迭代是否满足设定的收敛条件,如否,设置i=i 1,然后执行步骤s340,如是,则结束迭代,并将本次迭代(也即第i次迭代)得到的mi条第i级路径作为候选拍摄路径。
[0147]
该步骤中,mi条即为m条。
[0148]
步骤s340,按照设定的迭代算法,基于第(i-1)路径集合中的部分第(i-1)级路径,得到包括mi条第i级路径的第i路径集合,然后继续执行步骤s320。
[0149]
实施例2:
[0150]
本发明的实施例还提供一种用于场景重建的拍摄控制装置,如图7所示其装置结构图。
[0151]
拍摄信息获取模块,用于对目标场景进行场景重建拍摄,获取每一拍摄点的拍摄信息;其中,所述拍摄信息包括拍摄位置信息和拍摄方向信息,所述场景重建拍摄由飞行装置所搭载的摄像装置进行;
[0152]
候选拍摄路径确定模块,用于按照不同的连通顺序连通所有拍摄点,得到m条候选拍摄路径;其中,所述候选拍摄路径由所有拍摄点串联而成;
[0153]
能耗参数值获取模块,用于对于所述候选拍摄路径,根据每一拍摄点的拍摄信息,获得对应所述候选拍摄路径的能耗参数值;其中,所述能耗参数值包括所述飞行装置在相邻两个节点间的总飞行距离值、所述飞行装置在节点处的总飞行转角值和所述摄像装置在相邻两个节点间的总拍摄转角值;
[0154]
目标拍摄路径确定模块,用于根据所述候选拍摄路径的能耗参数值,获得所述候选拍摄路径的拍摄能耗,并将所述拍摄能耗满足设定条件的候选拍摄路径,作为目标拍摄路径;
[0155]
图像集确定模块,用于按照所述目标拍摄路径,控制所述飞行装置依次到达每一拍摄点完成场景图像采集,得到用于对所述目标场景进行场景重建的图像集。
[0156]
图8是根据一个实施例的计算机设备800的硬件结构示意图。如图8所示,该计算机设备800可以包括处理器810和存储器820,存储器820用于存储计算机程序,处理器810用于在该计算机程序的控制下,执行根据本公开任意实施例的拍摄控制方法。
[0157]
以上拍摄控制装置的各模块可以由处理器810运行存储器820存储的计算机程序实现。
[0158]
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0159]
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输
的电信号。
[0160]
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0161]
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言—诸如smalltalk、c 等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
[0162]
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0163]
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0164]
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0165]
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的
专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人物来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
[0166]
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人物来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人物能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献