APP下载

基于高斯金字塔与双边滤波的隐藏目标检测

2021-08-11吕宝岭李雷星

科学技术与工程 2021年18期
关键词:双边金字塔高斯

吕宝岭, 李雷星, 李 锦, 郭 拓

(1.陕西科技大学电子信息与人工智能学院, 西安 710021; 2.陕西科技大学电气与控制工程学院, 西安 710021)

对运动目标的检测,是计算机视觉领域的重要的研究方向之一。对隐藏目标的微小运动进行检测,在生物学上,可以发现对人类而言未知的生物及人类主动探索的目标生物;对于生物探索、野外救援以及生物多样性保护有一定的应用价值;在军事领域,对伪装目标的检测关系着军事安全。因此,对伪装目标的微小运动进行检测具有重要意义。在人类生活环境中,物体无时无刻不在发生运动。然而,人类的视觉感知系统存在有限的感知域[1],生物的运动变化很微小时,仅仅凭借人类视觉感知难以准确捕捉到,但其却可能包含生物特征、脉搏频率等信息,因此需要对感知范围以外的微小运动做检测。运动目标检测方法主要包括帧间差分法[2]、背景差分法[3]、光流法[4]等。光流法依据运动目标的光流特性随时间变化来检测运动[5],但计算复杂、抗噪性能差,检测效果并不理想。背景差分法,对背景的建模要求较高,当光照等外界条件发生突变时,会导致较大的检测结果误差。帧差法检测目标时,需要在视频序列里两个相邻帧之间做时间差分阈值化,从而得到检测结果。其优点是计算简便,实现难度小,而且在动态环境中适应性很好。这些检测方法可用于自适应目标检测[6]等。

最早进行微小运动检测的是美国麻省理工学院(Massachusetts Institute of Technology,MIT)的Freeman团队[7]。Liu等[8]提出一种用于视频检测的运动放大技术(motion magnification),对目标特征点聚类跟踪后放大运动幅度。Wu等[9]提出欧拉视频放大技术(eulerian video magnification,EVM),先做色彩空间转换,再提取感兴趣部分放大微小运动,处理过程十分耗时。为了精准判定放大参数,Sushma等[10]又提出了一种半自动的视频中微小运动放大 (semi-automated magnification of small motions in videos,SAM)方法,从前两帧视频帧差中提取信息来自动确定参数,但是提取结果不太准确。雷林等[11]提出了自动检测及放大视频中的微小运动方法和使用基于S变换[12]的微小运动检测方法。这些对微小运动进行的检测技术,目前已经取得了一定的显著成就,应用在了很多行业中,如视觉可视化、脉搏运动分析、非接触式医疗检测[13]等,应用范围很广。但是传统方法本身有耗时大、速度不够快、对设备要求高等缺点。

要想从复杂的自然图像序列中完整地检测出运动的目标,只依靠一种检测算法,很难达到较高的检测精度和效率,因此融合多种检测方法的研究越来越受到重视。针对当前已有检测方法存在的缺陷,提出以帧差法为基础,将高斯金字塔算法和双边滤波算法相结合的检测方法,期望同时适用于对野外自然环境下的伪装生物目标的微小运动检测,及日常生活环境中的生命特征检测。

1 相关工作

1.1 高斯金字塔

高斯金字塔由很多组金字塔构成且每组包含若干层。这种模型通常分成两个步骤:先是对图像做低通滤波,达到平滑效果,接着对得到的平滑帧图,做抽样或插值,即可获得一系列的缩小或放大的图像。将这些图像组合在一起,构造出高斯金字塔,结构如图1所示。

图1 金字塔结构图

当分辨率有差异时,获得的检测结果的特征也有差异。高分辨率情况下,对目标的细节的分辨,可以取得很好的效果,但是同时大量的背景噪声在动态背景中产生的干扰十分严重。与此相反,当处于低分辨率情况时,背景噪声基本没有影响,但很难取得目标的构造特性。此外,还可能会弄丢图像结构细节。

对图像序列进行高斯金字塔采样,每一级与它的前一级之间的采样过程如式(1)所示:

(1)

式(1)中:Gk(x,y)为第k层高斯金字塔图像;G0为原始图像;G1为高斯金字塔第1层,依次类推。w(m,n)=h(m)h(n)是有低通特性的窗口函数,其中h为高斯密度分布函数。

对视频图像序列做高斯金字塔多尺度分解后的结果如图2所示。从林鸱、手臂、婴儿的结果图可以看出,从左至右图像尺度依次缩小,经过采样,更容易观察出图像的轮廓信息。

图2 图像的高斯金字塔分解

1.2 快速双边滤波算法

图像中相邻位置的像素点在空域内有相连的关系,但是噪声及其附近的像素点不相关。根据噪声和像素点之间的独立性,选择在空域滤波[14]去噪,采用空域滤波中的快速双边滤波法[15],其优点是可以保边去噪,原理图如图3所示,图3中的点A为任一像素点。

图3 双边滤波原理图

进行双边滤波[16]时,要考虑像素点的空域信息和值域信息。它包括高斯模板和创建的模板这两个模板。计算公式如式(2)、式(3)所示:

(2)

(3)

对于将要滤波的点来说,其邻域内像素点的权重跟两个像素点的距离、相似度有关。结合空间距离、相似程度,得出双边滤波的结果。计算公式如式(4)、式(5)所示:

(4)

(5)

式中:h(x)为点x滤波后的灰度值;获得权重的方法是计算c、s,其中c代表的是closeness,即基于高斯空间的权重;s为像素之间相似程度的高斯权重[17],像素点的像素值,用f(x)来表示,从f(x)到h(x),表示滤波之前和滤波之后的图像;k-1(x)为归一化因子;k(x)的作用是对得到的结果进行单位化。

视频图像序列中的噪声往往和目标信息混杂在一起,滤除噪声时可能会丢失一部分图像边缘细节。在运动检测中使用双边滤波可以保留边界的细节,并且模糊变化不明显的区域,可获得出色的滤波效果。

1.3 帧间差分检测算法

通常情况下,视频在时间上都是连续的。但是相连的视频帧之间还是会有变化的,不同情况下的变化不同。环境场景内不存在目标时,连续帧图之间变化不明显;若存在运动物体,则发生明显变化。帧间差分法[18]借鉴此思想,帧间差分法的基本流程图如图4所示。

图4 帧间差分法基本流程图

将图像序列里连续的第k-1帧和第k帧图像,分别用Ik-1(i,j)和Ik(i,j)来表示。其差分过程如式(6)所示:

D(k,k-1)(i,j)=|Ik(i,j)-Ik-1(i,j)|

(6)

式(6)中:D(k,k-1)为差分图像序列。

接着对差分图像进行二值化,得到二值化[19]后的图像R(k,k-1)(i,j)。设定一个阈值T,若某点的像素值比T大,将像素值设为255作为二值化图像前景,反之,则当作背景,像素值设为0。对D进行二值化过程如式(7)所示:

(7)

式(7)中:R(k,k-1)(i,j)为二值化后的图像。

对视频图像做帧间差分处理时,需要注意阈值T的选取,可能会受到环境里光线的变化等情况的影响。若想更好地抑制噪声,阈值T就不能取的过小;同时,以防遮盖住差分图像里的目标的一些信息,它的取值必须在合适的范围里,不能太大。通过帧间差分法可以获取运动目标的存在区域,但同时会存在空洞效应。

选取野外自然环境下的林鸱、室内环境中的静止手臂、熟睡中的婴儿,其相邻帧间差分结果分别如图5(a)~图5(c)所示。

从图5可以看出,图5(a)红色方框标记的主体目标中,两幅图像素点分布不同,左图的左下区域黑色像素点密度大,而右图对应位置则大部分为空白。图5(b)红色方框标记的主体目标中,左图轮廓线条连贯流畅且较粗,轮廓线周围像素点分布较紧密,右图线条较细且有中断部分,轮廓线周围像素点分布较分散。图5(c)红色方框标记的主体目标中,左图目标像素排列呈从左上至右下方向的趋势,中间有一较大空白区域,右图目标像素点排列基本分布于整个框中,不再大多集中于左上角分布,而是向右下分散,而右下方向位置对应于婴儿的身体部分,说明婴儿的呼吸引起的肚皮起伏,这种呼吸引起的微小运动变化在帧间差分结果图中体现了出来。

图5 帧间差分图

以上分析表明,帧差法检测出了目标的运动变化。帧间差分的运算量比较小,实时性也强,并且对环境光线的变化也没那么的敏感,但仅仅用这个方法检测出来的目标,内部不是很完整,有“空洞”。

2 基于高斯金字塔与双边滤波相结合的微小运动检测

2.1 高斯金字塔分解结合双边滤波

不同尺度视角看到的大自然性状各异,计算机无法预知图像中物体的尺度,因此,需要同时考虑图像在多尺度下的描述[20]。对人类的视角而言,金字塔模型对图像的尺度表达特别直观,所以对视频帧采用金字塔分解,分解过程如图6所示。

G0为原始图像;G1为高斯金字塔第1层;G2为第2层;G3为第3层

视频图像在获取过程中难免会产生各式各样的噪声,比如光照、相机抖动、图像传感器等带来的噪声,再加上环境中本身已有的噪声,影响最终检测结果。传统的滤波方法,在消除噪声时也使图像的边缘变平滑,造成图像目标边缘细节缺失。而快速双边滤波是在空域矩阵中模糊去噪,值域矩阵内保护边缘,去噪的同时可以保留边缘,滤波示意图如图7所示。图7(a)是滤波前的图像,含有许多不规则噪声,且边缘不清晰;图7(b)是一个滤波模板,图7(c)是滤波后的图像,噪声基本滤除且边缘清晰。

图7 双边滤波示意图

仅使用帧差法的情况下,目标的微小运动检测变化效果一般。将高斯金字塔分解与双边滤波相结合,不仅提升了检测速度,还很好地反映了伪装目标[21]的微小运动变化。

2.2 微小运动检测流程

对获取的视频帧进行灰度转换,经过快速双边滤波去噪后,并对图像序列进行视频重建。此时再对视频进行帧差处理,进一步提取图像局部显性特征,使目标的图像的局部信息得到更完整的表达。实验流程如图8所示。

图8 基于高斯金字塔与双边滤波的微小运动检测流程图

3 实验结果与分析

3.1 实验对象及配置

将本文采集到的视频分解成视频帧建立数据集,选取500帧图像进行测试。第一段“伪装大师”林鸱的视频数据来源于网络,第二段视频为室内拍摄作者2静止不动的手臂,第三段来源于MIT的计算机科学与人工智能(computer science and artificial intelligence,CSAIL)实验室视频数据库。分别对自然环境下一动不动的林鸱、手臂脉搏跳动、熟睡婴儿呼吸进行微小运动变化检测。实验平台的配置如下:处理器为Intel(R) Core(TM) i5-3210 M CPU @2.50 GHz 2.50 GHz,软件环境为matlabR2017b、python3.8.2及opencv。

3.2 实验结果对比

以野外自然环境下的林鸱、室内环境中静止的手臂部分以及熟睡中呼吸的婴儿为检测对象,将本文检测方法与帧差法、双边滤波结合帧差法、高斯金字塔分解结合帧差法做对比,检测结果如图9~图11所示。

选取第6帧和第34帧的检测结果图,依次是原始图像,帧差法结果图,双边滤波结合帧差法结果图,高斯分解结合帧差法结果图,本文方法检测结果图。从图9可以看出,本文方法检测到的林鸱的微小运动范围更大,变化效果更明显。

图9 林鸱的检测结果对比

选取第43帧和第78帧的检测结果图,从图10可以看出,本文方法检测到的手臂脉搏跳动的边缘变化效果更明显。

图10 手臂的检测结果对比

选取第17帧和第56帧的检测结果图,图片次序同图10。从图11可以看出,本文方法检测到的婴儿呼吸的轮廓变化效果更明显。

图11 婴儿的检测结果对比

从以上检测结果图可以看出,对图像直接做帧差法和经过双边滤波再帧差,所达到的效果相差不是很大,但比其他两种方法的检测速度更慢。这是因为图片经过高斯金字塔分解后尺寸缩小,进一步减小了数据处理量,提升了检测速度。虽然4种方法都不同程度的检测到了运动变化,但针对不同环境下、不同对象的微小运动,本文方法检测出的运动变化最明显,得到的检测效果明显优于其他3种方法,说明本文方法的鲁棒性和判断相较于其他几种方法更好。

3.3 实验结果分析

将本文方法与对比方法在数据集上的整体性能进行对比分析,将从检测速度和帧差结果图相似度两个方面做评价。分别对4种算法进行不同的组合,针对视频序列伪装的林鸱、静止的手臂以及熟睡的婴儿得到的不同算法下检测速度的结果比较,如表1所示。

表1所示为检测速度的对比结果。从表1的第4列可以看出,仅仅使用传统的帧间差分法所达到的检测速度最慢,以帧间差分法作为基准,分别观察其他三种算法得到的检测结果的速度。可以看出当对数据集做高斯金字塔分解后检测速度明显提升,说明高斯金字塔分解可以有效提高检测速度。相比传统帧差法等,本文方法的检测速度分别提高了4.23、4.83、3.36倍,检测速度达到最快,实验范围内最高可以达到56.76 frame/s。

表1 不同算法检测速度比较

此外,还以相似度做评价指标来评价检测方法性能。相似度可选择哈希算法[22]或结构相似性(structural similarity index,SSIM)法[23]来检测。对每种方法的帧差结果图,分别做相似度检测。如果得到的检测结果相似度越高,说明帧差图越相似,则它们之间的运动变化越不明显,对微小运动变化的检测效果越差。SSIM算法的检测结果在[0,1]之间,在这个范围内,检测值越大,相似度越高。对每种方法实验后得到的结果做SSIM相似度检测,如图12所示。

从图12可以看出,在3种不同的视频状态下,本文方法的SSIM检测相似度均为最低,说明帧差结果图之间的相似性最低,差别最大,则说明微小运动变化反应的越明显。尤其是当处理的图片尺寸较小时,检测效果更好。

图12 帧差结果图的SSIM相似度检测曲线

4 结论

提出的基于高斯金字塔与快速双边滤波相结合的算法,以帧间差分为基础,对视频中伪装目标的微小运动进行检测。将高斯金字塔的空间分解优势及双边滤波保边去噪的优势,与帧差法简洁高效的特点融合,完成了对视频目标的微小运动检测。实验结果表明,采用基于高斯金字塔和双边滤波相结合的运动检测方法,提高了存在微小运动目标的视频的检测速度,达到56.76/s,速度大幅提升,比传统帧差法等用时短,得到的微小运动变化结果也更显著,具有较高的鲁棒性。下一步将在本文检测方法的基础上对多尺寸目标检测做进一步研究,提高算法实时性。

猜你喜欢

双边金字塔高斯
小高斯的大发现
“金字塔”
A Study of the Pit-Aided Construction of Egyptian Pyramids
天才数学家——高斯
海上有座“金字塔”
电子产品回收供应链的双边匹配策略
神秘金字塔
新型自适应稳健双边滤波图像分割
双边同步驱动焊接夹具设计
有限域上高斯正规基的一个注记