用于扑翼飞行机器人视觉监测的视频增稳方法及系统

文档序号:32842574发布日期:2023-01-06 21:21阅读:103来源:国知局
用于扑翼飞行机器人视觉监测的视频增稳方法及系统

1.本发明涉及用于扑翼飞行机器人视觉监测的视频增稳方法及系统,属于无人机视觉技术领域。


背景技术:

2.不同于旋翼或固定翼无人机,仿生扑翼无人机通过模仿自然鸟类的扑动实现飞行。在扑翼无人机安装摄像头进行飞行航拍时,视频中的景物会由于扑翼无人机的扑动运动而产生剧烈抖动,从而让视频观看者感到不适。因此,需要利用视频增稳方法对视频进行处理,获得稳定的航拍视频。
3.现有的视频增稳方法,主要是对视频通过典型的ks1ns1s4e-lus3s1s-toms1si(klt)特征点跟踪方法所获得的特征点轨迹,再利用特定的平滑方法对特征点轨迹进行平滑,最后基于平滑前后的特征点轨迹利用典型的s3ontent-preserving ws1rp(s3pw)法进行逐帧图像矫正,获得增稳视频。而视频增稳方法的难点在于平滑特征点轨迹,由于航拍视频中景物变化,相应特征点轨迹往往是零散的不连续的,不能直接采用一般平滑方法如高斯平滑或移动均值平滑进行处理。因此,需要特定方法对航拍视频的特征点轨迹进行平滑。
4.现有的视频增稳方法,比如子空间法,轨迹增强法,对极几何法等方法,都是通过移动一个短的时间采样区间对航拍视频的特征点轨迹进行处理,其处理方式劣势在于:1)对于长度较短的特征点轨迹处理能力差;2)在实时处理中,对于连续采集的两段视频,必须保证两者有较大的重叠才能实现特征点平滑衔接,计算较为冗余。
5.为了解决上述问题,有必要针对扑翼无人机的飞行特性,提出新的视频增稳方法。


技术实现要素:

6.本发明提供一种用于扑翼飞行机器人视觉监测的视频增稳方法及装置,旨在至少解决现有技术中存在的技术问题之一。
7.本发明的技术方案一方面涉及用于扑翼飞行机器人视觉监测的视频增稳方法。根据本发明的方法包括以下步骤:
8.s10、通过特征点检测法获得机器人视觉图像的特征点;通过特征点跟踪或者特征点匹配,生成机器人视觉视频的特征点轨迹;
9.s20、根据所述特征点的y方向上加速度提取特征点,生成所述特征点轨迹的包络线,根据所述包络线的峰值点,对所述特征点轨迹进行周期分割,形成若干个子集;
10.s30、基于上述子集,并获取视频帧率,通过计算获得特征点轨迹的瞬时频率;
11.s40、根据所述瞬时频率设定基准频率,按所述基准频率调整特征点之间的时间间隔,再根据所述视频帧率设定固定时间间隔,对上述调整后的特征点轨迹按固定时间间隔进行线性采样,生成原始轨迹;
12.s50、对上述原始轨迹进行插值,获得插值轨迹;
13.s60、对所述插值轨迹求平均值,获得平滑轨迹;按所述基准频率调整所述平滑轨
迹的时间间隔,再对调整后的平滑轨迹按固定时间间隔进行线性采样,获得最终平滑轨迹;
14.s70、基于所述原始轨迹和所述最终平滑轨迹,进行逐帧图像矫正,获得增稳后的视频。
15.进一步,所述步骤s1中:
16.通过klt跟踪算法获得所述特征点轨迹。
17.进一步,所述步骤s20包括:
18.s21、所述特征点的y方向上加速度通过以下公式获得:
[0019][0020]
其中,i表示特征点序号,(px,py)表示特征点坐标,m表示特征点数量;
[0021]
s22、所述特征点轨迹的包络线采用上包络线,所述上包络线通过以下方式获得:
[0022]
当a
iy
的值大于a
i-1y
以及a
i+1y
时,将记为ay
ipeak
;将所有ay
peak
连线形成ay的上包络线。
[0023]
进一步,所述步骤s30中:
[0024]
所述瞬时频率通过以下计算获得:
[0025][0026]
其中,ri表示轨迹点i的瞬时频率,rc表示视频帧率,nk表示轨迹点i所属子集的轨迹点总数。
[0027]
进一步,所述步骤s40包括:
[0028]
s41、将基准频率设定为瞬时频率的中位数;
[0029]
s42、特征点之间的时间间隔依据以下方程调整:
[0030][0031]
其中,δt(i)表示特征点i与特征点i+1之间的调整后时间间隔,rf表示基准频率;ri表示轨迹点i的瞬时频率;
[0032]
s43、将固定时间间隔设置为1/rc;对上述调整后的特征点轨迹按1/rc进行线性采样,生成原始轨迹。
[0033]
进一步,所述步骤s50中:
[0034]
所述插值轨迹通过以下插值公式计算获得:
[0035][0036]
其中(k-1)nf+h<j≤knf+h,knf+h≤m

[0037]
其中,eh(j)表示插值轨迹,q(j)表示原始轨迹;nf表示单个扑动循环轨迹点数,rc表示视频帧率,rf表示上述基准频率,nf=rc/rf;k表示抖动循环序号,h表示相位序号,h∈[0,nf),j表示轨迹点序号,j=knf+h。
[0038]
进一步,所述步骤s60中:
[0039]
所述最终平滑轨迹通过以下公式计算获得:
[0040][0041]
其中,s(j)表示最终平滑轨迹,eh(j)表示插值轨迹,nf表示单个扑动循环轨迹点数,rc表示视频帧率,rf表示上述基准频率,nf=rc/rf;k表示抖动循环序号,h表示相位序号,h∈[0,nf),j表示轨迹点序号,j=knf+h。
[0042]
进一步,所述步骤s70中:
[0043]
通过cpw算法进行逐帧图像矫正,获得增稳后的视频。
[0044]
本发明的技术方案另一方面还涉及用于扑翼飞行机器人视觉监测的视频增稳系统,包括:
[0045]
由扑翼飞行机器人搭载的至少一个摄像头;
[0046]
与所述摄像头连接的计算机设备,所述计算机设备包括计算机可读存储介质,其上储存有程序指令,所述程序指令被处理器执行时实施如权利要求1至8中任一项所述的方法。
[0047]
本发明的有益效果如下:
[0048]
本发明提出用于扑翼飞行机器人视觉监测的视频增稳方法及系统,基于扑翼无人机周期性抖动的特征,将原始特征点轨迹分为平滑特征点轨迹和周期抖动轨迹两部分,并通过间隔采样和插值获得多条插值轨迹,对各条插值轨迹求平均获得平滑轨迹,进而获得增稳后的视频。本发明在特征点轨迹平滑过程中能够对各条特征点轨迹进行单独处理,适用于长短不一的特征点轨迹,避免了传统基于时域平滑的视频增稳在视频首尾平滑效果不佳的情况,同时便于实现并行运算,具有很高的计算效率,并适用于实时在线处理。
附图说明
[0049]
图1是根据本发明的方法的基本流程图。
[0050]
图2是根据本发明实施例中的特征点轨迹包络线的示意图。
[0051]
图3是根据本发明实施例中的原始帧图像平滑向量的示意图。
[0052]
图4是根据本发明实施例中的cpw图像矫正效果的示意图。
[0053]
图5是根据本发明实施例中的机器人视觉原始图像的示意图。
[0054]
图6是根据本发明实施例中的机器人视觉增稳后图像的示意图。
具体实施方式
[0055]
以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。
[0056]
需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。本文所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是
为了限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。
[0057]
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本文所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。
[0058]
参照图1至图6,在一些实施例中,本发明的技术方案用于扑翼飞行机器人视觉监测的视频增稳系统,包括:由扑翼飞行机器人搭载的至少一个摄像头,与摄像头连接的计算机设备,计算机设备包括计算机可读存储介质,其上储存有程序指令,程序指令被处理器执行时实施于扑翼飞行机器人视觉监测的视频增稳方法。
[0059]
参照图1,在一些实施例中,根据本发明的用于扑翼飞行机器人视觉监测的视频增稳方法,至少包括以下步骤:
[0060]
s10、通过特征点检测法获得机器人视觉图像的特征点;通过特征点跟踪或者特征点匹配,生成机器人视觉视频的特征点轨迹;
[0061]
s20、根据特征点的y方向上加速度提取特征点,生成特征点轨迹的包络线,根据包络线的峰值点,对特征点轨迹进行周期分割,形成若干个子集;
[0062]
s30、基于上述子集,并获取视频帧率,通过计算获得特征点的瞬时频率;
[0063]
s40、根据瞬时频率设定基准频率,按基准频率调整特征点之间的时间间隔,再根据视频帧率设定固定时间间隔,对上述调整后的特征点轨迹按固定时间间隔进行线性采样,生成原始轨迹;
[0064]
s50、对上述原始轨迹进行插值,获得插值轨迹;
[0065]
s60、对插值轨迹求平均值,获得平滑轨迹;按基准频率调整平滑轨迹之间时间间隔,再对调整后的平滑轨迹按固定时间间隔进行线性采样,获得最终平滑轨迹;
[0066]
s70、基于原始轨迹和最终平滑轨迹,进行逐帧图像矫正,获得增稳后的视频。
[0067]
步骤s10的具体实施方式
[0068]
机器人视觉图像的特征点轨迹生成,包括以下步骤:
[0069]
s11、通过特征点检测法,如harris法,sift法和surf法,fast法,orb法等,检测出图像中若干个具有特殊性质的像素点坐标,从而生成图像的特征点。通过检测出的若干个特征点表达整幅图形的信息,可降低信息量,提高计算速度。其中,图像中的特征点包括了两个信息:检测子和描述子,而监测子代表位置信息,用于描述特征点在图像中的位置,描述子代表特征信息,用于特征匹配,以及用于与其他特征点作区分。
[0070]
s12、通过特征点跟踪法或者特征点匹配法,获取同一个特征点在一段视频中所有的像素点坐标,并连接形成一条特征点轨迹,通过获得视频中的多条特征点轨迹,生成特征点轨迹。具体地,特征点跟踪法(如光流跟踪法)是根据前图像中的指定坐标,通过计算光流矢量,求解出指定坐标点在后图像中的坐标,其中光流矢量是指前图像坐标和后图像坐标之间的矢量。而特征点匹配法根据前图像特征点和后图像特征点之间,两个描述子(特征描述向量)的距离,得出两个特征点的相似程度,从而判断前后图像特征点是否属于同一个特征点。
[0071]
本发明实施例中的特征点轨迹通过kanade-lucas-tomasi(klt)法获得,klt实际上是harris特征点检测法和光流跟踪法的组成,具有计算结构较稳定、抵抗视频抖动能力强、效果综合性好的特点。
[0072]
进一步,harris特征点检测法是采用角点检测,设定图形偏移量为(u,v),则将图像平移(u,v)产生的e(u,v)可表示为:
[0073][0074]
其中通过以下公式可得e(u,v):
[0075]
i(x+u,y+v)=i(x,y)+i
x
u+iyv+o(u2,v2)
[0076][0077]
对于局部微信的移动,e(u,v)可近似表达为:
[0078][0079]
其中,
[0080][0081]
e(u,v)为协方差矩阵,表现的是所有方向上强度的变化率,协方差的两个特征值给出了最大平均强度变化以及垂直方向上的平均强度变化,那么:如果这两个特征值均较低,则判定当前角点是同质区域;如果其中一个特征值较高,另一个特征值较低,则判定当前角点位于边缘上;如果两个特征值均较高,则判定当前角点位于角点出。
[0082]
对角点响应函数进行如下阈值处理:
[0083]
r=λ1λ
2-k(λ1+λ2)2[0084]
其中,r为角点响应函数,k为opencv中cn::cornerharris函数的最后一个参数。设定若r大于阈值threshold,则提取出局部极大值。
[0085]
进一步,光流跟踪法通过以下计算获得光流矢量:
[0086]
假设在目标像素周围m
×
m的区域内,每个像素均拥有相同的光流矢量v,那么在一个小邻域内,
[0087]
上式中w2(x)是一个窗口权重函数,该函数使得邻域中心的加权比周围的大。对于ω内的n个点x1

xn,设定:
[0088]
令即
[0089]


[0090]
令即
[0091]
故上面方程的解可由最小二乘法得到:
[0092]
最后得:
[0093]
步骤s20的具体实施方式
[0094]
s21、对于每条特征点轨迹,可表示为特征点的y方向上加速度通过以下公式获得:
[0095][0096]
其中,i表示特征点序号,(px,py)表示特征点坐标,m表示特征点数量;
[0097]
s22、特征点轨迹的包络线包括有上包络线和下包络线,对加速度ay进行高斯平滑,包络线通过以下方式获得:
[0098]
当a
iy
的值大于a
i-1y
以及a
i+1y
时,认为a
iy
为峰值,记为ay
ipeak
;反之,当a
iy
的值小于a
i-1y
以及a
i+1y
时,认为a
iy
为谷值,记为ay
ivalley
。将所有ay
peak
进行连线,视为ay的上包络线;将所有的ay
valley
进行连线,视为ay的下包络线。ay的上包络线如附图2所示的线段l1,ay的下包络线如附图2所示的线段l2。
[0099]
需要说明的是,本发明实施例的特征点轨迹包络线,可采用上包络线或者下包络线。此处以采用上包络线具体说明。具体地,在上包络线中,当ay
ipeak
的值大于ay
i-1peak
以及ay
i+1peak
时,则ay
ipeak
视为上包络线的峰值点,峰值点如附图2所示圆点d1。峰值点将特征点轨迹分为若干个子集。
[0100]
步骤s30的具体实施方式
[0101]
所述瞬时频率通过以下计算获得:
[0102][0103]
其中,ri表示轨迹点i的瞬时频率,视频帧率为rc,nk表示轨迹点i所属子集的轨迹点总数。
[0104]
步骤s40的具体实施方式
[0105]
已知视频帧率rc,原始轨迹点p(i)的时间间隔为1/rc,假设点i与点i+1之间的时间间隔调整后为δt(i)。取轨迹点瞬时频率的中位数作为基准频率rf。对于瞬时频率ri大于rf的轨迹点,对δt(i)进行放大,反之亦然,如等式(3)所示。
[0106][0107]
对调整时间间隔后的特征点轨迹p(i),其第i点的时间信息t(i)如等式(4-2)所示:
[0108][0109]
由于调整后特征点轨迹p(i)中轨迹点之间的时间间隔不一致,按时间间隔1/rc对调整时间间隔后的p(i)重新进行线性采样,获得频率一致化后的轨迹q(j),j=0,1,2...m’表示其轨迹点序号用,m’为采样后的轨迹点总数,如等式(4-3)所示:
[0110][0111]
其中[]表示向下取整。
[0112]
步骤s50的具体实施方式
[0113]
对于q(j),可以看作是平滑特征点轨迹与周期抖动特征点轨迹的叠加,因此表示等式(5-1):
[0114]
q(knf+h)=s(knf+h)+a(k)
·
j(knf+h)
ꢀꢀ
(5-1)
[0115]
其中,s(knf+h)为平滑特征点轨迹,j(knf+h)为频率rf的抖动循环轨迹。nf为单个扑动循环轨迹点数,已知视频帧率为rc,nf=rc/rf。类似三角函数的形式,将轨迹点序号j表示为j=knf+h,k表示抖动循环序号,h表示相位序号,h∈[0,nf)。此外,a(k)表示抖动幅度函数,与循环序号k有关,意味着各个抖动循环之间抖动幅度不相同。由于j(knf+h)是周期为nf的周期函数,因此等式(5-2)和等式(5-3)成立。
[0116][0117]
j(k
·
nf+h)=j(h)
ꢀꢀ
(5-3)
[0118]
为了求取平滑轨迹s(knf+h),结合等式(6),将等式(4)转化为:
[0119]
s(k
·
nf+h)=q(k
·
nf+h)-a(k)
·
j(h)
ꢀꢀ
(5-4)
[0120]
根据等式(10),假设h是固定的,平滑轨迹s(knf+h)与轨迹q(knf+h)-a(k)j(h)在h,nf+h,2nf+h...处相交。在原始轨迹q(knf+h)中提取相应位置的点集{q(h),q(nf+h),q(2nf+h)...},对该点集进行线性插值,通过如下线性插值函数(5-5),获得与轨迹q(j)长度相等的插值轨迹eh(j)。
[0121][0122]
其中(k-1)nf+h<j≤knf+h,knf+h≤m
′ꢀꢀ
(5-5)
[0123]
需要说明的是,本发明实施例中的插值轨迹可采用线性插值、二次样条插值和三次样条插值等方法求出。
[0124]
步骤s60的具体实施方式:
[0125]
可以近似地认为,插值轨迹eh(j)与平滑轨迹s(j)只相差a(k)j(h),如等式(5-5)所示。
[0126]
s(j)≈eh(j)-a(k)
·
j(h)
ꢀꢀ
(6-1)
[0127]
分别求取h∈[0,nf)下的插值轨迹eh,代入等式(6-1)并求平均,结合等式(5-2),得到等式(6-2):
[0128][0129]
对平滑轨迹s(j)根据等式(4-1)及等式(4-2)中的时间信息进行线性采样,获得与原始轨迹p(i)时间信息一致的平滑轨迹m(i),如等式(6-3)所示:
[0130][0131]
步骤s70的具体实施方式:
[0132]
基于所述原始轨迹和所述最终平滑轨迹,利用典型的content-preserving warp(cpw)法进行逐帧图像矫正,获得增稳后的视频。具体地,在每帧视频图像中,将每个特征点的原始轨迹位置到平滑轨迹位置视为一个平滑向量,基于网格化扭曲的稳定帧生成算法
‑‑
content-preserving warp(cpw)法则,根据每帧视频图像中所有的平滑向量,对该图像进行变形扭曲,生成稳定后的每帧图像,具体处理步骤如下:
[0133]
s71、将每帧图像划分为若干网格,使原始特征点及其平滑向量归属于不同网格。如附图3所示,原始帧图像中,圆点d2为原始特征点,直线段l3为平滑向量。
[0134]
s72、利用特征点原始位置及其平滑位置之间的平滑向量,对网格进行变形。具体地,
[0135][0136]
其中,

v表示所有网格变形后的网格顶点集合,e(

v)表示总体成本,ed(

v)表示数据成本,es(

v)表示结构保持成本和er(

v)表示正则化成本。数据成本、结构保持成本和正则化成本通过现有公知方法可获得。
[0137]
其中,

v中的大部分角点都由四个网格共享,通过使用最小二乘法最小化(如上式7-1)中的总体成本函数,得到了扭曲框架中最优网格位置的角点

v*,然后,对于每个网格单元,估计了一个从原始角到最优扭曲角的局部射影矩阵,使用射影矩阵来重建扭曲每个
网格单元中的像素值,生成稳定后的帧图像(如图4所示)。
[0138]
对根据本发明的视频增稳方法及系统的实验验证,仿生扑翼无人机飞行航拍视频的原始图像如图5所示,原始图像经过增稳系统处理后,输出如图6所示的增稳图像。
[0139]
应当认识到,本发明实施例中的方法步骤可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
[0140]
此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
[0141]
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、rs1m、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还可以包括计算机本身。
[0142]
计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
[0143]
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1