基于光流法与RPCA的红外运动目标检测

2018-10-13 07:58于雯越安博文赵明
现代计算机 2018年23期
关键词:光流角点红外

于雯越,安博文,赵明

(上海海事大学信息工程学院,上海201306)

0 引言

红外成像[1]是通过目标的红外热辐射进行成像的,红外成像系统可昼夜工作,能对距离较远的目标进行检测,应用范围比较广,红外图像目标检测等经常应用在军事和民用方面。本文中区域生态及海表时空监测系统主要针对安全监测和海表观测需求开展载荷研制与应用处理技术研究。安全监视系统的研究主要针对背景干扰严重、图像信噪比低、昼夜连续监测预警的特点,发挥红外信息获取优势,从而实现基于热红外载荷图像序列进行海面敏感目标检测。在复杂的背景中,图像噪声、海面杂波、图像运动、摄像机晃动等都会影响目标检测的效果。目前,背景减除法[2]、帧间差分法[3]和光流法[4]等应用在红外图像检测上是比较经典的方法。背景减除法的优点是在运动情况复杂的环境中能较为完整地检测出运动的物体,关键是如何建立较好的背景模型;目前最为广泛的是混合高斯背景建模算法,但是缺点是当背景突变时会导致检测失败,使得检测结果出现错误;帧间差分法在检测红外运动目标时,能够较为快速地得到目标的运动区域,这能使目标快速呈现在图像中,并进行大致判断,但是当目标的运动速度比较缓慢时,帧差法检测出的结果较差,“空洞”现象会存在于前景结果中;光流法目标检测能够针对独立运动的物体,当摄像机运动时,也可对目标进行检测,背景差分法和帧间差分法在此种情况下,效果就较差,但是对于背景光线的状态比较敏感,实时性较差,比较耗时;针对此种情况,提出改进的算法,采用RPCA算法提取前景,再利用光流法进行目标检测,避免了耗时,改善了帧间差分法的“空洞”检测效果,同时也降低了光照等因素影响。当背景产生突变时,例如,突然的光照,或者抖动,检测效果影响不大。

1 基于鲁棒主成分分析(RPCA)的前景矩阵模型

本文提出基于RPCA[5]的运动目标检测算法,首先获得稀疏前景矩阵,主要是通过主成分追踪方法。对于RPCA算法的求解的方法主要有IT法、APG法、EALM法、IALM法等,生成稀疏矩阵S,正则化参数的λ值固定为0.05。表1为各个算法的比较:

表1 RPCA算法比较

精确增广拉格朗日乘子(Exact Augmented Lagrange Multiplier Method,EALM)算法需要求解优化问题的精确解,非精确增广拉格朗日乘子(Inexact Augmented La⁃grange Multiplier Method,IALM)算法[9]不需要对其求解,并且是EALM算法的改进版,其计算速度也更快,所以使用非精确拉格朗日乘法求解RPCA来进行计算。

用ALM方法求解可定义为:

其拉格朗日函数为:

为了得到RPCA最优解,非精确增广拉格朗日乘子算法对优化目标Lk和Sk进行计算,如下是IALM算法:

输入:矩阵M∈Rm×n,正则化参数λ

2:当未达到收敛条件时通过 3、4及等式(2)Lk+1=argminLf(L,Sk,Yk,μk)

输出:(L,S)的估计值(Lk,Sk)。求得背景矩阵及稀疏矩阵。

2 金字塔Lucas-Kanade(LK)光流法目标检测

针对RPCA与光流法结合[6]的红外运动目标检测分为三个部分。第一部分:读取红外运动图像序列。第二部分:通过RPCA算法提取稀疏矩阵,得到运动区域。第三部分,对运动区域进行目标检测,此处使用金字塔LK光流法,提取出运动目标。主要实验流程如图1所示。

图1 实验流程图

2.1 角点检测

(1)Harris角点检测[7-8]

角点常见的两种定义方式:一、角点的邻域内具有两个主方向的特征点。二、两个边缘的交点为角点。角点是图像亮度发生剧烈变化,例如:突然产生的光照等或者图像边缘曲线上曲率极大值的点。

Harris角点算法是通过自相关矩阵和微分运算检测的。定义一个二阶导数 (∂2x,∂2y,∂x∂y)矩阵,是一个二维Hessian矩阵:

自相关矩阵[9],定义如公式(4):

其中,wi,j代表可归一化的权重比例。图像的M(x,y)的两个最大特征值[10]处是Harris角点。矩阵H(p)的迹和H(p)的行列式相减得到的值,再与给出的阈值比较,得到角点。Harris角点计算比较简单,目标检测之前进行角点的检测,主要是检测大量的有用的特征点[11],但是阈值T的选择也会影响到所要提取的特征点的数量,而且尺度不变性较差。Tomasi角点检测是改进后的Harris特征检测算法,是由Shi和Toma⁃si发现的,比较两个特征值,把较小的特征值与最小的阈值进行比较,就能得到强角点。本文中用到了函数cvGoodFeaturesToTrack(),该函数在图像或选定的区域中检测最显著的角点[12-13],具体步骤如下:

(1)该函数在输入图像的每个像素点上使用cor⁃nerHarris()函数和 cornerMinEigenVal()函数计算角点质量数值。

(2)该函数使用非极大值抑制算法,3×3邻域内的局部极大值被保留。

(3)角点的最小特征值如果小于设定的最小阈值则被忽略

(4)步骤(3)筛选后剩下的角点按照质量数值从高到低排序。

(5)在每个检测到的角点周围最小距离的范围内,如果有更显著的角点被检测到,则这个角点被忽略。这样也是为了保证最显著的角点被保留下来。

2.2 金字塔光流法检测

运动目标具有随时间变化的光流特性,光流法[13]利用此特性进行运动目标检测。光流法是运动的物体在观察成像平面上的像素运动的瞬时速度,寻找到当前帧和上一帧之间存在的对应关系。

本文中用到了稀疏光流法[14],亦称LK光流法,LK光流法针对图像特征点进行光流计算,而稠密光流对图像每个像素点都进行光流计算,得到光流矢量的计算结果,但是图像特征点[12]提取的准确度对其会有影响。故为了得到强角点,本文中运用了Shi-Tomasi角点检测,效果高于Harris角点检测,能够检测出效果更好的特征点。

Lucas-Kanade算法原理。

(1)亮度恒定。视频图像序列中不论时间如何变化目标的像素保持基本一致:

(2)时间连续,指相邻帧之间的运动较小。

一维空间中光流速度等式为:

其中Ix是图像的偏导数,It是图像随时间的导数,v是速度。

二维空间算法等式为:

结合(3)中内容以及上述过程解出的光流方向进行下一步运算。

(3)空间一致。定义矩阵A,最终得到方程的解如下:

对于一些目标会产生不连贯的运动且比较大的时候,LK光流在实际中的跟踪效果不是很好,则要求一个大的窗口来捕获运动,图像金字塔光流法可以解决这个问题。

(1)在较大的空间上进行跟踪。

(2)在图像金字塔的最高层计算光流

(3)设定下一层的金字塔的起始点,即步骤2中得到的运动估计。

(4)重复(1)-(3)过程直到到达金字塔的最底层,实现对运动的跟踪。

LK算法针对特征点邻近范围,只需要每个感兴趣点周围小面积的局部信息,若待检测的目标突然转向,或者产生物体遮挡的时候,即发生较大的运动的时候,感兴趣点会离开所需小面积的范围,会无法再找到这些感兴趣点,所以当有较大运动的情况下,会产生丢失跟踪点的现象。金字塔LK算法可以避免此问题,当目标产生较大的运动时,也能够检测到所需角点,不会跟踪丢失。

对于图像序列,每帧中的特征点的位置都不同,需要对其进行跟踪,如果两帧中目标的特征点无明显变化,定义一个偏移量(u,v):

其中,It是当前帧的值,It+1是下一帧的值。这个微小偏移量(u,v)使用于拍摄时间相近的图像。使用泰勒展开式来近似方程式(8):

若强度不变假设成立,可以推出下式:

即基础光流约束方程式,独特未知偏移量(u ,v)的点都可以利用光流约束进行LK特征跟踪。在实践中可通过迭代的方式求解,默认情况下,图像的层数是3,搜索窗口的尺寸是15。

2.3 Top-Hat目标分割

Top-Hat算子[15]是基于数学形态学的目标分割方法。设f(x,y)是输入图像,g(x,y)是结构元素,其运算定义如式(11)和(12)所示。

膨胀就是求局部最大值的操作:

腐蚀是求局部最小值的操作:

开运算和闭运算操作是腐蚀和膨胀的组合,开运算是消除高于其邻近点的孤立点,是先腐蚀后膨胀,闭运算是消除低于其邻近点的孤立点,是先膨胀后腐蚀。其定义如式(13)和(14)所示。

形态学的Top-Hat运算是一个经典的高通滤波算法,其用于暗背景上的亮物体,结构元素的选取对目标检测有很大影响,选好结构元素会影响目标的提取。

形态学Top-Hat运算的定义是原信号与开运算后的图像作差,使用结构元素g对图像f进行形态学Top-Hat运算的结果可表述为:

Top-Hat算法对图像 f中具有如下特征的区域进行分割并保留:

(1)该区域的灰度高于其邻域;

(2)该区域在某一方向的范围足够小,在这个方向上被核腐蚀。

3 实验结果分析

本仿真实验所用的软件是Visual Studio 2010配置OpenCV 2.4.9[16]。为了检测本文算法的有效性,对来源于区域生态及海表要素时空监测系统的热红外波段海面视频进行了仿真实验。该视频总共1000帧,每帧的大小为360×256。在RPCA背景提取时,正则化参数由公式得到,值为λ=0.05。Top-Hat目标分割中阈值T=50,在目标检测时当阈值小于50时,部分背景像素被误检为运动前景,当阈值大于50时,运动前景检测结果不完整;因此本文将阈值T取为50。

该运动目标检测算法在视频集上检测的效果图如图2所示。

图2 视频图片序列原图

(Ⅰ)第200帧原图(Ⅱ)第400帧原图(Ⅲ)第600帧原图(Ⅳ)第650帧原图

图3 视频图片序列效果图

(a)-(d)目标区域的角点检测效果图;(e)-(h)框定目标;(i)-(l)目标分割;(m)-(p)目标跟踪

从前景检测效果图的对比中可以看到,结合RPCA的金字塔光流法检测效果可以检测到所需运动目标,通过RPCA获取到稀疏矩阵,得到前景区域,再利用光流法检测,避免了光流法检测耗时的问题,通过形态需Top-Hat目标分割,使得分割得到的目标更完整,最终完成对目标的跟踪。

4 结语

本文提出了一种基于RPCA进行前景提取,并通过金字塔光流法进行的运动目标检测算法。该算法消除了背景像素点对前景检测效果的影响,解决复杂背景及光照等影响检测的问题,也避免了传统的光流法的耗时问题。实验表明,针对本文中的红外图像,所提算法要优于光流法的运动目标检测,可以在较为复杂的背景环境中较为准确的提取出运动的目标,并进行跟踪。

猜你喜欢
光流角点红外
利用掩膜和单应矩阵提高LK光流追踪效果
一种改进的自适应FAST 角点检测算法
基于改进Cycle-GAN的光流无监督估计方法
网红外卖
一种多尺度光流预测与融合的实时视频插帧方法
多支撑区域模式化融合角点检测算法仿真
基于点云聚类的垛型角点检测方法
闪亮的中国红外『芯』
基于自适应纹理复杂度的仿生视觉导航方法研究
角点检测技术综述①