基于无人机实时仿地飞行方法的大场景建图方法

文档序号:30523721发布日期:2022-06-25 05:58阅读:406来源:国知局
基于无人机实时仿地飞行方法的大场景建图方法

1.本发明属于无人机地图构建技术领域,具体涉及一种基于无人机实时仿地飞行方法的大场景建图方法。


背景技术:

2.在一些行业,如农业、灾害监测、城市规划等,对指定区域的快速概览已成为一种日益增长的需求,因此需要速度更快,精度更高的方式去完成兴趣区域的三维重建。航线规划是航空摄影测量的第一步,确定一个合适的飞行航线对成功、高效完成任务至关重要,因为不同的飞行参数组合会影响飞行工作量。对于地势平坦的地区,采用传统的固定相机曝光基线、固定航线间距和固定飞行高度的传统方法,可以方便地进行航线规划,得到精细度一致的模型;但对于地形陡峭的地区,照片重叠和地面采样距离(ground sampling distance,gsd)会随着地形的变化而发生很大的变化,使用上述的传统方法会使采集到的图像分辨率剧烈变化,从而达不到飞行任务的gsd的要求,这导致后续的三维重建的模型精细度不达标。因此为了得到精细度更好的重建结果,开发更好的依靠无人机感知能力的地形跟踪技术非常重要。
3.目前大多数关于无人机地形跟随算法,涉及依赖于周围地形的已知高程地图,无人机需要在飞行开始前根据已知高程地图计算最佳地形跟随路线。这些算法的主要缺点是无人机不能实时地对地形变化作出反应,或者需要先对兴趣区域进行绘测,再离线生成地形模型,再根据生成的模型进行二次规划来达到无人机仿地飞行的目的;另外还有一些使用激光雷达的无人机实时仿地飞行方法,但其缺点是激光雷达固定在无人机的底部,且高精度激光雷达重量较大,会加大无人机能源消耗,也难以随动控制,导致当无人机在飞行期间向前倾斜时,激光雷达获得的是无人机后方的距离信息。


技术实现要素:

4.为解决现有技术所存在的不足之处,本发明提供一种基于无人机实时仿地飞行方法的大场景建图方法,可适用于各种复杂地形条件,在复杂地形下依然可以较好地进行实时的仿地飞行,在进行仿地飞行的同时,能够获得效果更好的数据集,并对仿地飞行地区进行实时的稠密三维重建。
5.为实现上述目的,本发明所提供的技术解决方案是:
6.一种基于无人机实时仿地飞行方法的大场景建图方法,无人机底部搭载相机;具体包括以下步骤:
7.步骤1:选取兴趣区域进行航线规划:
8.根据任务需求的gsd与图片重叠率计算无人机相对地面的飞行高度,以及飞行路径上的拍摄点,实时生成无人机x-y平面上的航线;所述x-y平面为水平面;
9.步骤2:当无人机飞行到所述拍摄点时,对无人机下方区域进行实时拍摄,提取图片特征点,对相邻图片帧的特征点进行匹配并获得当前帧相对于上一帧的位姿,然后结合
gps信息进行位姿优化,实时获得无人机下方相机拍摄区域的地面稀疏点云;
10.步骤3、根据步骤2优化得到的位姿信息进行三维重建,生成地面稠密点云;
11.步骤4、根据步骤2得到的稀疏点云实时计算无人机在航线中的下一飞行区域内各路径点位置与地面的垂直距离;
12.步骤5、根据步骤2得到的稀疏点云以及步骤4计算得到的各路径点位置与地面的垂直距离,实时进行无人机仿地飞行路径生成;
13.步骤6、无人机根据步骤5生成的路径进行仿地飞行;
14.步骤7、根据相邻帧之间的位姿对步骤3获得的稠密点云进行拼接,然后返回步骤2,直至飞行任务执行完毕,得到基于稠密点云的全局地图。
15.进一步的,步骤1中,以机头方向为x方向,无人机左方为y方向,无人机上方为z方向定义坐标系,并确定兴趣区域顶点的x-y坐标。
16.进一步的,步骤1中,根据飞行任务需求的gsd与重叠率计算期望的无人机相对地面的飞行高度、x方向上的相邻拍摄点之间的距离、以及航线间在y方向上的距离,以此生成无人机x-y平面上的航线:
17.其中:
18.期望的无人机相对地面飞行高度确定为ha=gsd*f*hi/hs,其中ha是无人机期望与地面的垂直距离,f是相机焦距,hi是图片的宽度,hs为相机传感器的物理大小;
19.x方向上的相邻拍摄点之间的距离d
x
=gsd*p
x
(1-o
x
);相邻航线间在y方向上的距离dy=gsd*py(1-oy),p
x
为航向上的飞行像素数,py为相邻航线上的飞行像素数,o
x
、oy分别为航向重叠率与纵向重叠率。
20.进一步的,步骤2具体为:
21.对拍摄的每一帧图片进行siftgpu特征点提取并计算描述子,进行特征匹配;通过特征匹配构建本质矩阵,并进行svd分解得到相邻帧之间的相对位姿信息;
22.根据在拍摄点记录下的gps信息,利用求解出的位姿与记录下的gps信息对当前帧的位姿进行优化,得到更精确的位姿与稀疏点云。
23.进一步的,步骤3中,对一组相邻帧使用稠密立体视觉匹配算法进行快速的立体匹配,获得深度图;再对得到的深度图进行滤波处理,并进行连续图像一致性检查,得到精度更高的深度图;一致性检查后,除去相邻帧中的冗余点,生成稠密点云地图。
24.进一步的,步骤4中,获得稀疏点云地图后,进行位姿转换,将点云数据转换到无人机机体坐标系下;之后将无人机前方航线上的下一区域的稀疏点云沿x方向进行分块处理,计算每个分块内点云中的各点与无人机在垂直方向上的距离的均值作为该分块区域内航线路径点对应的z向插值z
i+n
,n表示第n个分块;再根据公式h
i,n
=z
i+n-h
a,n
得到无人机为到达该路径点应该上升或下降的距离;其中h
a,n
为步骤1得到的无人机在该路径点处期望与地面的垂直距离。
25.进一步的,步骤4中,获得稀疏点云地图后,进行位姿转换,将点云数据转换到无人机机体坐标系下;之后对于无人机前方航线上的下一区域内的每个设定的航线路径点,找到点云中与该航线路径点在x-y平面上距离最小的k个点,使用公式计算航线路径点的z向插值z
i+n
,其中w
total

表权重,sk为第k个点距离航线路径点在x-y平面内的欧式距离,dk为第k个点与无人机在垂直方向上的距离;再根据公式h
i,n
=z
i+n-h
a,n
得到无人机为到达该路径点应该上升或下降的距离;其中h
a,n
为步骤s1得到的无人机在该路径点处期望与地面的垂直距离。
26.进一步的,步骤5中,对根据稀疏点云得到的x方向上的路径点进行可达性检查,并对检查后的路径点进行曲线拟合,生成无人机仿地飞行路径。
27.有益效果
28.本发明与现有技术相比,具有以下的有益效果:
29.1.本发明改进的无人机仿地飞行方法,可适用于各种复杂地形条件,在复杂地形下依然可以较好地实现仿地飞行效果;在进行仿地飞行的同时,能够获得分辨率更均衡的数据集,并对仿地飞行的地区进行稠密的三维重建。
30.2.在本发明的飞行方法中使用相机进行仿地飞行,相对于激光雷达,对无人机负担较小,精度更高,相对于传统的需要先验地图或者需要二次飞行的仿地飞行方法,
31.飞行次数少,因为传统的方法需要某一块区域的先验地形图,或者要进行二次飞行,即首先飞行一次采集数据,然后根据数据生成地形图,再根据生成的地形图进行仿地飞行;如此,本发明方法节省了电池的损耗同时获得了兴趣区域的稠密点云地图。
32.3.本发明相对于激光雷达仅能得到地表上的稀疏高度信息,无法得到稠密信息的缺点,既能得到地表上的稀疏高度信息,又能得到稠密信息;并且相机的质量较轻,相机拍摄的图片信息丰富,受到地面的遮挡、纹理或其他因素影响较小,可以在进行仿地飞行的同时对兴趣区域进行三维重建。
33.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
34.本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
35.图1是本发明的面向实时稠密点云地图的无人机仿地飞行方法的流程图;
36.图2无人机对根据任务需求对兴趣区域进行航线规划;
37.图3本发明的slam前端用于解算位姿示意图;
38.图4本发明的获取稠密点云及其处理的示意图;
39.图5本发明步骤4中方法1对点云进行分块插值获得路径点的高度值;
40.图6本发明步骤4中方法2使用反距离加权平均插值算法插值出路径点的高度值;
41.图7本发明的对离散的路径点使用三次b样条进行轨迹优化的示意图;
42.图8本发明的根据路径点获得z轴方向上的速度的示意。
具体实施方式
43.以下结合附图和具体实施例对本发明的内容作进一步的详细描述:
44.基于无人机实时仿地飞行方法的大场景建图方法,具体方法为:
45.s1、对兴趣区域进行x-y航线规划,以机头方向为x方向,无人机上方为z方向,无人机左方为y方向,将兴趣区x-y范围(一般为矩形)的四个顶点(x1,y1),(x2,y1),(x2,y2),
(x1,y2)送往计算单元,并以最近的点作为起飞点(x1,y1)。如图2所示,灰色部分为兴趣区域。
46.根据飞行任务需求的gsd与重叠率计算期望的无人机相对地面的飞行高度,航向x方向上的相邻拍摄点之间的距离,以及航线之间y方向上的距离。飞行高度确定为ha=gsd*f*hi/hs,其中,ha是无人机期望与地面的垂直距离,f是相机焦距,hi是图片的宽度,hs为传感器的物理大小。
47.x方向的航线为从点(x1,y1)到(x2,y1)方向,x方向上的相邻相机拍摄点的距离根据航向重叠率确定,即d
x
=gsd*p
x
(1-o
x
),相邻航线之间的间隔距离为:dy=gsd*py(1-oy),其中,d
x
为航向上相机两个相邻拍摄点之间的间距,dy为相邻航线的间隔距离,p
x
为航向上的飞行像素数,py为相邻航线上的飞行像素数,o
x
、oy分别为航向重叠率与纵向重叠率,如图2所示。
48.s2、如图3所示,在拍摄点对无人机下方进行实时拍摄并记录此时的gps信息,解算此时拍摄到的当前帧相对于上一帧的位姿。对于每一帧,先使用siftgpu提取每一帧图像的特征点与描述子,然后对上一帧与当前帧提取到的特征点进行匹配,得到匹配点对xi与x
′i,xi为上一帧的关键点,x
′i为当前帧的关键点;进行特征点匹配以后使用本质矩阵的奇异值(svd)分解获得当前帧相对上一帧的位姿,利用得到的位姿与匹配好的点特征点进行三角化求解出稀疏的三维地图点。得到三维点以后,对于将来时刻拍摄的到的图片,可以通过构建pnp问题求解将来时刻拍摄到的图片的位姿。
49.根据slam求解出来的位姿与记录下的gps信息进行联合优化,可以提高位姿和地图点的精度。根据航拍图形的提供的gps信息对相邻帧进行优化,设计损失函数其中x
′i代表代表当前帧中对应的关键点,代表代表当前帧中对应的关键点,k∈r
3x3
,其中是重投影到当前帧后关键点的位置,k代表相机内参矩阵,代表相机的位姿,它是李代数的表示形式,∈

是李代数的反对称矩阵表达形式,pi∈r3代表三维的地图点它,它是由x
′i与进行三角化得到的,或者之前已经存在。
50.gps的误差定义为eg=||t
gps-t
slam
||2,它是slam提供的位移与观测到的gps信息之间差异的2-范数。总的误差定义为e=er+αeg,其中α为权重系数,其作用是为了防止重投影误差和gps误差差异过大,进行优化以后可以得到更精确的位姿与稀疏的三维地图点云。
51.s3、传统的实时密集点云生成是基于双目摄像机的。然而,航空测绘的飞行高度一般是几百米或几千米,传统的双目相机由于基线长度的限制,不适合进行精确的深度估计。因此,在相邻两帧之间构建一个虚拟的立体像对并通过对图片的立体矫正来进行更精确的深度估计。
52.先使用bouguet算法来进行图片的矫正,矫正后两张图片的极点无穷大,两张照片拍摄时的光轴平行,矫正之后左右两幅图像的对应点间距高度相同,大大提高了地图稠密化时像素的匹配效率。为了获得密集的视差图,使用elas算法来进行快速的立体匹配,然后把得到的视差图转换为深度图。
53.由于上述步骤得到的视差图不够精确,因此由此获得的深度图精度不够,需要深度图进行滤波处理,使用连续图像的一致性约束来细化深度图,一致性反映了像素之间的
相关性,当相关性高时,像素深度具有更高的精度。具体方法为:设计一个队列,每当得到一帧深度图以后将其插入此队列,当队列中深度图超过数量n(为奇数)以后,进行一致性检查。将队列中的中间帧作为当前帧,将其深度图转换为3d点并投影到其他n-1帧的视图中从而产生对应帧的2d坐标pi和深度值d`i,如果则匹配被认为是一致的,其中d`i表示pi的深度值,di定义为其他帧中同一3d点的深度值,f
eq
是一致性的阈值,可灵活调整,这里本技术设定n为5,f
eq
为0.01。如果至少其他3帧中像素点的深度与当前帧中像素点的深度一致,则接受为相应的像素,否则将其删除。对于接受的点,其深度设置为其他视图中一致深度的平局值以抑制噪声。
54.一致性检查后,要去除相邻帧的冗余点,以此减少融合的计算负担,具体方法为:设计一个过滤队列,当队列中的深度图数超过i时,以i/2为当前帧,将该帧的深度图中每个深度大于0的点都反投影到3d空间中然后重新投影到其他i-1帧的深度图中,将其他i-1帧对应的点深度设置为零。最后,将最后一帧从队列中弹出,这样重复的点云就不会被重复发布,这样就可以得到稠密的点云地图。
55.s4、为更好的获得无人机实时相对地面的距离,提出两种方法对s3得到的稀疏点云进行处理。
56.为实现仿地飞行,需要获得无人机前方的地面相对无人机的垂直距离。将点云坐标转换到无人机坐标系下,可以得到无人机前后方地面每一个点云的坐标,对无人机前方路径进行实时生成,对无人机前方20m的路径区域,以1m为单位去插值得到20个离散点,对于每一个离散点p
i+1
(x
i+1
,y,z
i+1
)、p
i+2
(x
i+2
,y,z
i+2
)

p
i+n
(x
i+n
,y,z
i+n
)的x,y坐标的确定方式为:x
i+n+1
=x
i+n
+1,其中x
i+n
为上一个点的x方向坐标(第一个点为无人机此时坐标),x
i+n+1
为下一个点的x方向坐标,最远点的x方向坐标为x
i+20
=xi+20,y为无人机此时的y方向坐标;z坐标的确定设计了两种方法。
57.方法1:选取x方向上20段区域,每一段选取x方向长度为1m,y方向长度为10m的矩形区域块,遍历每一段区域里面的点云,使用公式计算出每一个区域内对应的插值点z方向的值,其中m为区域内的点云数量,di为每个点与无人机在垂直方向上的距离。上述计算过程的示意如图5所示,其中黑色方框代表插值出的路径点,灰色的圆点为此区域块内的点云。
58.将得到的每一个路径点的z方向的值,即无人机的前方与地面的垂直距离,使用公式hi=z
i+n-ha即可得到无人机为到达路径点应该上升或下降的距离,即可达到仿地飞行的目的。
59.方法2:使用反距离加权平均插值算法进行计算,对于前方的每一个路径点,找到8个与该路径点在x-y平面上距离最小的点,使用公式y平面上距离最小的点,使用公式计算路径点的z方向的值,其中w
total
代表总的权重,它表示每个路径点与其x-y平面上距离最小的8个点的距离成反比,sk为每个点距离此路径点的x-y平面的欧式距离,z
i+n
为插值出无人机前方距离地面的垂直距离,dk为这八个点中每个点的距离
无人机垂直方向上的高度值,如图6,其中黑色方框为插值出的路径点,黑色的圆形为无人机下方的点云,连线代表此插值点是由哪些点云计算的。
60.将得到的每一个路径点的z方向的值,即此点下方的地面距离无人机的垂直距离,使用公式hi=z
i+n-ha即可得到无人机为到达路径点应该上升或下降的距离,即可达到仿地飞行的目的。
61.方法2相对于方法1的好处为:每一个插值的路径点都与前后方周围点云有关,即既考虑的过去的状态也考虑了将来的状态,而方法1得到的路径点只与路径点前方的点云有关,没有考虑到过去的状态,方法2考虑了过去的状态,可以防止前后路径点突变而使无人机产生很大的z方向加速度。
62.s5、根据稀疏点云地图进行无人机仿地飞行路径生成,经过s4计算得到前方航向一系列的路径点坐标后,对离散的坐标进行可达性检查,对相邻的路径点p
i+1
(x
i+1
,y,z
i+1
)、p
i+2
(x
i+2
,y,z
i+2
),计算其两点z方向上的可达性,若|z
i+2-z
i+1
|-h》0,则继续判断z
i+2-z
i+1
是否大于0,若大于0则z
i+2
=z
i+1
+h,否则z
i+2
=z
i+1-h,此处令h为3m,防止无人机路径点发生突变,令使无人机的运动更加顺滑。为了获得更加平滑的轨迹,使用三次b样条对可达性检查后的离散点进行拟合得到b样条曲线b(x),其中x是航向上的点,b(x)代表此点对应的无人机应到达的高度,如图7。
63.s6、无人机根据优化后的曲线进行仿地飞行。每间隔固定时间计算下一时刻的点,根据公式xf=v
x

t
,其中v
x
为航向速度,v
x
为恒定速度,δ
t
为时间间隔,xf为下一目标点的航向坐标,将其带入s6得到b(x)即可得到无人机下一时刻应到达的高度z
t+1
。将下一时刻的目标点t(xf,z
t+1
),与此时的位置t(xn,zn)做差得到方向向量根据公式vz=v
x
*tanα计算出z轴方向上的速度,其中α为方向向量与航向速度的夹角,vz是应达到的爬升或下降速度,如图8。
64.通过对生成曲线的寻迹即可保证实时相对地面的高度一定,即gsd一定。根据航向重叠率确定下一张照片的拍摄点,在拍摄点进行拍摄。
65.s7、合成全局地图。在拍摄点进行拍摄后,根据s3生成图片的稠密点云与其对应的位姿,根据位姿之间的关系对获得的局部稠密点云进行拼接,最终获得飞行区域的全局稠密点云,完成飞行区域的仿地飞行并获得三维地图。
66.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1