公共安全图像与视频一键式质量增强与运动分析光流目标跟踪与分析(4)
时间:2018-08-17 09:05 来源:毕业论文 作者:毕业论文 点击:次
当人的眼睛在观察物体运动时,物体的像在人眼视网膜上形成一系列连续变化的图像,这一系列连续变化的图像不断“流过”视网膜(即成像平面),好像一种光的“流”,故称为光流(optical flow)[12]。 将图像中每个像素与速度(或者与表示像素在连续两帧间的位移)相关联,这样就得到了稠密光流(dense optical flow)[13]。但是实际中,求解稠密光流并不简单。例如一张白纸的运动,上一帧中白色的像素点在下一帧中依然为白色,而只有与运动方向垂直的边缘像素才会产生变化,稠密光流方法则需要在比较容易跟踪的像素之间使用插值法进行差值后才能解决那些运动不明确的像素,而这个过程往往需要相当大的计算量[14]。 于是,产生了更简单的方法——稀疏光流(sparse optical flow)。由于稀疏光流的运算开销比稠密光流小很多,故前者被广泛应用于各种实际工程应用中。 Lucas-Kanade算法(以下简称LK算法)最初是由B.D.Lucas和T.Kanade于1981年提出来用于求稠密光流的算法[15]。由于该算法在原始图像中的特征点集上(只需使用每个目标点周围小窗口的局部信息)运用很方便,使得其渐渐成为一种稀疏光流求解的实用方法。然而,当LK算法使用小窗口时,目标像素点会被较大的运动移出这个小邻域,从而使得无法再次找到这些目标像素点,为了解决这个不足,提出了金字塔LK算法,即从图像金字塔的最高层(细节最少)开始向金字塔的下层(细节逐渐丰富)进行跟踪[16]。 2.2.2 LK算法原理 LK算法基于以下三个假设: (1) 亮度恒定,图像中目标点在帧间运动中外观保持不变, (2) “小运动”或时间连续,图像的运动随时间变化相对缓慢,实际应用中则指的是时间变化相对于图像中运动目标的比例要足够小,这样目标点在帧间的运动就相对比较小, (3) 空间一致,图像中同一场景表面上相邻的点具有相似的运动[17]。 下面详细解释如何使用上述三点假设构建一个有效的跟踪算法。 第一点假设:恒定的亮度,即被跟踪运动目标的像素值不随着时间流动而改变: ,即 (1) 首先介绍在一文空间中的过程,来理解第二点假设的意思。 由式(1)开始,将亮度的定义 用 替换,再用偏微分的链式规则,即: (2) 其中, 是图像的偏导数, 是运动目标的光流速度, 是图像随时间变化的导数。简单一文空间下的运动目标光流速度等式为: (3) 但由于上述假设并不是十分正确,即图像的亮度在实际中并不一定是恒定的,时间步长(由摄像机设定)也并不是如我们所期望的相对于运动足够短,因此通过上述求解并不一定十分准确。但是,如果只希望求解到的运动像素点速度与实际的运动速度“非常接近”的话,就可以采用用迭代的方法来解决这个问题。将第一次估计的速度(不是很准确的)作为初始值进行下一次迭代,并不断重复这个过程。根据沿 轴方向运动的物体亮度恒定不变的假设,在迭代过程中,可以一直使用由第一帧图像计算得出的 的空间导数,但时间导数仍然需要在每次迭代及每一帧中重新进行计算,如果初始值和实际值足够接近,在5次迭代过程之内就会收敛到非常接近的准确值,这就是常用的牛顿法[18]。 下面将介绍在二文空间图像上第二点假设所蕴含的意思。乍看起来只需要加入 坐标即可,非常简单。改变一下符号,将速度的 换为 , 换为 ,则得到: (责任编辑:qin) |