matlab实现大气湍流退化模型算法,大气湍流下退化序列图像的目标检测方法
引言
目标检测是计算机视觉的重要应用之一, 是后续目标识别、跟踪、目标分类以及行为分析的前提。远距离成像时通常会受到复杂变化的大气湍流影响, 使得成像结果中存在不规则抖动、偏移和模糊等退化现象[。因此, 如何从湍流退化视频中提取出全部真实的运动目标, 同时尽可能降低湍流和噪声干扰导致的误检情况, 实现高精度、低误检率的目标检测技术研究具有重要的意义。
传统目标检测算法的基础可分为前景检测、帧间差分和背景减除3类。前景检测是通过对场景中运动矢量的分析得到运动的前景物体, 再辅以图像分析来获得运动目标。此类方法无需背景先验知识, 常用的有光流法[、连续张量法[。其中, 光流法计算复杂且对光照变化敏感, 连续张量法提取快速运动的目标结果往往比实际大, 难以满足实际应用的要求。帧间差分法[采用相邻帧的对应像素相减来揭示连续帧的变化, 方法简单快速, 但由于帧差法不能有效记录背景的历史信息, 使得检测结果往往过于粗糙。背景减除法[通过一定规则建立背景模型, 采用帧间相减和更新背景的方法获得检测结果, 其最具有代表性的是混合高斯模型法(Gaussians mixture model, GMM)[。该模型利用多个高斯模型描述像素点状态, 能够较好地适应场景变化。为改善场景变化(水面波动、树叶摇摆等)对检测效果的影响, 不少学者深入研究了GMM方法并提出了相应的改进方法
近年来, 数据的低秩稀疏建模成为研究热点, 目前已被成功应用于语音增强[、立体重建[以及图像/视频恢复[通过寻找湍流图像中的低秩结构, 提出了一种低秩稀疏三分解的小目标检测法:首先计算图像中小区域内像素(如16×16)的运动轨迹, 再根据湍流和目标的运动分布不同, 设置目标置信度量, 引入低秩分解和稀疏建模思想, 将数据分为背景、湍流和小目标3部分。该方法对小目标检测精度非常高, 但用于非小目标检测时, 结果往往存在大量空洞, 且基于光流的粒子轨迹计算复杂、耗时久。本文以湍流条件下的红外视频为研究对象, 结合低秩分解和高斯建模思想及前景和背景检测, 提出了一种适应物体运动状态变化的目标检测算法, 提高了湍流退化条件下物体检测的精度, 在光照变化和模糊条件下仍能获得较好的检测结果。
1 基于低秩稀疏分解的湍流图像分解
低秩稀疏分解模型(Low-rank and sparse decomposition, LRSD)考虑的是如何从较大但分布稀疏的误差中恢复出数据的低秩结构的问题, 其基本思想是将一个矩阵分解为一个低秩结构的低秩矩阵部分和一个随机分布的误差稀疏矩阵部分[。低秩分解模型符合现实中很多物理模型和现象, 相关理论也证明了模型求解的有效性。
对于湍流序列图像{I1, I2, …, In}, 图像分辨率为w×h, 将每帧图像排列为一个(w×h)×1列向量, 记为vec(Ii), i=1, …, N, 则整个序列组成的矩阵可表示为D={vec(I1), …, vec(In)}∈R(w×h)×n。相关研究指出, 大气湍流波动具有单峰性、对称性和局部重复性, 且湍流引起的序列局部像素偏移符合零均值高斯分布的特点
$
\mathop {{\rm{min}}}\limits_{\mathit{\boldsymbol{A}}, \mathit{\boldsymbol{E}}} {\rm{rank}}\left( \mathit{\boldsymbol{A}} \right)\;\;\;\;\;\;\;{\rm{s}}{\rm{.t}}.\;\mathit{\boldsymbol{D}} = \mathit{\boldsymbol{A}} + \mathit{\boldsymbol{E}}, {\left\| \mathit{\boldsymbol{E}} \right\|_{\rm{F}}} \le \sigma
$
(1)
式中:D, A, E分别表示观测的图像序列矩阵、低秩稳像矩阵和受湍流影响的稀疏矩阵。rank(A)表示矩阵A的秩。${\left\| \cdot \right\|_{\rm{F}}}$表示矩阵的F-范数。σ表示整个序列中所有偏移像素的最大总方差, 是对湍流先验知识的反映。式(1)是一个非线性非凸的NP问题, 直接求解十分困难。文献[
$
\mathop {{\rm{min}}}\limits_{\mathit{\boldsymbol{A}}, \mathit{\boldsymbol{E}}} {\rm{ }}{\left\| \mathit{\boldsymbol{A}} \right\|_*} + \gamma {\left\| \mathit{\boldsymbol{E}} \right\|_{\rm{F}}}^2\;\;{\rm{s}}{\rm{.t}}.\;\mathit{\boldsymbol{D}} = \mathit{\boldsymbol{A}} + \mathit{\boldsymbol{E}}
$
(2)
式中: $\left\| \mathit{\boldsymbol{A}} \right\|$表示矩阵A的核范数。γ是平衡A和E两个分量大小的正则参数。γ的值越大, E的稀疏性越小, 同时低秩A中湍流分量越明显。实际中需根据湍流不同强度设置。
在拉格朗日乘子算法的框架下, 式(2)可转化为
$
\begin{array}{l}
L\left( {\mathit{\boldsymbol{A}}, \mathit{\boldsymbol{E}}, \mathit{\boldsymbol{Y}}, \mu } \right) = {\left\| \mathit{\boldsymbol{A}} \right\|_*} + \gamma {\left\| \mathit{\boldsymbol{E}} \right\|_{\rm{F}}}^2 + {\rm{tr}}\left[{{\mathit{\boldsymbol{Y}}^{\rm{T}}}\left( {\mathit{\boldsymbol{D}}-\mathit{\boldsymbol{A}}-\mathit{\boldsymbol{E}}} \right)} \right] + \\
\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\frac{\mu }{2}{\left\| {\mathit{\boldsymbol{D}} -\mathit{\boldsymbol{A}} -\mathit{\boldsymbol{E}}} \right\|_{\rm{F}}}^2
\end{array}
$
(3)
式中:Y∈ RM×T是拉格朗日乘子, tr(·)表示矩阵的迹。μ是惩罚因子, 通常设与输入数据维数逆相关, 设为μ=2 000/sqrt(size(D, 1))。目前已有一些算法实现了对式(3)的求解, 如加速近似梯度法(Ac-celerated proximal gradient, APG), Bregman迭代算法、精确增广拉格朗日乘子法(Augmented Lagrange multiple, ALM)和非精确增广拉格朗日乘子算法(Inexact augmented Lagrange multiple, IALM)等。
为了提高优化速度, 在前期研究的基础上, 本文采用IALM法来实现对式(3)的求解, 具体步骤见文献[A的迭代更新上, 通过奇异值截取算法求得解析解, 其时间复杂度最小为O(rA3), rA为A的秩。
2 前景提取和背景建模结合的目标检测
经过分解, 获得低秩稳像部分和稀疏运动部分如
图 1 湍流退化视频帧的低秩分解 Fig. 1 Low-rank decomposition for turbulence-degraded frames
2.1 基于自适应阈值的稀疏目标提取
对于每帧的稀疏部分(记为pi)采用自适应阈值分割图像, 以剔除细微偏移量和噪声的干扰。阈值Ti与稀疏部分的灰度均值有关, 设为
$
{T_i} = {\rm{max}}(\alpha {\rm{median}}({p_i}), \varepsilon )
$
(4)
式中:median(·)为向量均值函数, α和ε为常量。每帧稀疏部分的像素值大于阈值为前景。稀疏块分割后的前景目标区域会在一定程度上存在内部空洞, 即目标区域的提取有漏检现象。鉴于此, 需进一步对提取出标定为前景运动目标的稀疏块掩模区域进行空洞检测和填充。
由于稀疏块掩模为二值型数据, 对于目标区域内的空洞可以通过8连通区域检测; 然后填充空洞区域以恢复目标区域的掩模, 以完成提取完整运动目标的效果。整个提取过程如
图 2 稀疏部分的目标提取 Fig. 2 Object detection of sparse matrix
2.2 基于高斯模型的前景提取
在背景减除法中, 选择合适的背景模型和更新策略对检测的影响十分重要。其中, 混合高斯模型能够处理动态背景的情况, 但是计算量大, 实时性较差; 单高斯模型计算量小, 实时性好。考虑到低秩部分以静态场景为主, 局部区域可能存在动态量, 因此采用混合高斯模型和单高斯模型结合的方法对低秩部分进行目标检测。
2.2.1 混合高斯背景模型
K个高斯分布生成背景模型, 将每帧新的像素值It(x, y)与K个分布依次进行匹配。若满足式(5)中条件, 说明与第i个分布匹配, 被认定为背景点, 否则认定为前景点。第t帧中像素点(x, y)为前景的布尔值记为fGMM(x, y, t), 有
$
{f_{{\rm{GMM}}}}\left( {x, y, t} \right) = \left\{ \begin{array}{l}
1\;\;\;\;\;\left| {{I_t}\left( {x, y} \right)-{\mu _{i, t}}} \right|-2.5\cdot{\sigma _{i, t}} > 0\\
0\;\;\;\;\;\;{其他}\;
\end{array} \right.
$
(5)
其中μi, t, σi, t分别是第i个高斯分布的均值和标准差。
2.2.2 单高斯前景模型
受亮度变化干扰, 混合高斯检测结果中可能存在伪前景, 单高斯前景模型则用来区分静态前景和伪前景。将该区域的像素点与单高斯模型匹配, 若满足阈值则判定该点为静态前景点, 记为fstatic。若不满足则亦判定为干扰部分。即
$
{f_{{\rm{static}}}}\left( {x, y, t} \right) = \left\{ \begin{array}{l}
1\;\;\;\;\;\;\;\;\left| {{I_t}\left( {x, y} \right)-{\mu _t}} \right|/{\sigma _t} > {T_f}\\
0\;\;\;\;\;\;\;{其他}
\end{array} \right.
$
(6)
式中:μt, σt分别为当前高斯分布的均值和标准差, Tf为前景阈值。
2.2.3 模型初始化和更新策略
利用初始一段时间内视频帧的低秩部分, 建立高斯数为K的混合高斯背景模型。同时初始化前景模型为空。更新时, 采用保守更新策略, 即混合高斯分布的参数更新时仅涉及背景区域像素, 有
$
{\mu _t} = \left( {1-\alpha } \right)M{\mu _{t-1}} + \alpha M{\mathit{\boldsymbol{I}}_{\rm{t}}}
$
(7)
$
{\sigma _t}^2 = \left( {1-\alpha } \right)M{\sigma _{t-1}}^2 + M\alpha {({\mathit{\boldsymbol{I}}_t}-\mathit{\boldsymbol{\mu }}{\rm{ }})^{\rm{T}}}\alpha ({\mathit{\boldsymbol{I}}_t} - \mathit{\boldsymbol{\mu }})
$
(8)
$
{\omega _{i, t}} = \left( {1-\alpha } \right){\omega _{i, t-1}} + \alpha M
$
(9)
式中:α为权值的学习速率; M为背景掩膜, 在背景匹配的区域内取1, 其余取0。
2.3 检测区域的融合判定
基于阈值分割的目标提取计算简单, 但由于分割是在稀疏部分基础上进行, 受到湍流运动的稀疏性影响, 容易存在误检测问题; 基于背景减除的前景检测法能够获得空间连续的结果, 但对噪声敏感。为获得更准确、更完整的目标区域, 对两部分检测区域进行融合判定。将2.1节中结果记作fT(x, y, t), 表示第t帧(x, y)处为前景的布尔值; 将2.2节中混合高斯检测结果记作fGMM(x, y, t), 采用融合规则对检测结果进行判定。具体如下。
(1) 同时被稀疏的阈值分割和低秩的GMM背景减除而提取的前景区域, 判定为运动目标, 并记为fmoving, 即
$
{f_{{\rm{moving}}}}\left( {x, y, t} \right) = \left\{ \begin{array}{l}
1\;\;\;\;\;{f_{\rm{T}}}\left( {x, y, t} \right) = 1\;{且}\;{f_{{\rm{GMM}}}}\left( {x, y, t} \right) = 1\\
0\;\;\;\;\;{其他}
\end{array} \right.
$
(10)
(2) 稀疏阈值分割检测为前景, 但低秩背景减除检测为背景的区域, 往往是稀疏的湍流和噪声量, 判定为干扰部分。
(3) 对于混合高斯减除判定为前景, 但稀疏阈值检测为非前景, 此类区域可能是运动状态发生改变(如暂时停止或由于运动而露出的背景), 属于疑似前景, 记为famb。对疑似区域进行前景判定, 式(6)改写为
$
{f_{{\rm{static}}}}\left( {x, y, t} \right) = \left\{ \begin{array}{l}
1\;\;\;\;\;\;\;\;\;\;\;{f_{{\rm{a}}{\rm{m}}{\rm{b}}}}\left( {x, y, t} \right) = 1{\rm{ and}}\;\left| {{I_t}\left( {x, y} \right)-{\mu _t}} \right|/{\sigma _t} > {T_{\rm{f}}}\\
0\;\;\;\;\;\;\;\;\;\;{其他}
\end{array} \right.
$
(11)
式中Tf用于决定前景的阈值。为使最终获得的目标尽量无噪点干扰, 在不影响查全率的前提下对处理后的结果作适当的区域滤波。
图 3 融合分裂高斯建模和稀疏阈值的前景检测 Fig. 3 Fusion of split Gaussian models and threshold segmentation
3 实验结果及分析
3.1 实验设置和结果
为验证本文方法的有效性, 在软硬件环境为双Pentium(R) Dual-Core 2.1 GHz CPU, RAM 8 GB, Matlab 2010a的条件下编程实验。实验数据选取3组远距离拍摄(5~15 km)的红外湍流退化图像, 每帧分辨率均为360×240, 不同序列涵盖了目标提取的不同情况, 具体如下:
序列1:序列共2 200帧, 记录了道路上车辆和行人通行的情景。其中出现多辆大小不等的车辆, 存在车辆遮挡、快速行驶等现象。
序列2:序列共1 300帧, 记录了山林中车辆行驶的场景。其中存在一车辆减速行驶, 在第300帧到380帧时呈静止态, 后缓慢加速至驶离场景的情况。
序列3:序列共1 200帧, 记录了单个船只在河流中直线行驶的场景。受较强大气湍流影响, 视频序列全程场景呈现严重模糊和连续抖动。此外, 背景中部分水域随时间推移发生灰度缓慢变化。
在相同实验环境下, 选取改进的混合高斯建模法[、低秩稀疏三分解法(Low-rank and sparse three-term decomposition, LRSD Three-term)[和近期最具竞争力的SuBSENSE法[与本文方法进行对比。为获得尽可能稳定的场景和完整的目标, 避免过度平滑, 本文方法在分解时按经验设置正则参数。考虑到湍流强度的不同, 序列1和序列2中正则参数γ设为20, 序列3中设为5.0。采用IALM法求解低秩模型, 设迭代允许误差ε=10-3, 最大迭代次数为1 000。混合高斯模型的学习速率根据经验值设为0.004。为以适应快速变化的前景, 单高斯模型的学习速率设置较高值, 其他算法均默认其参数设置。鉴于页面所限, 每组序列仅列出部分帧和对应的ground-truth, 各算法的检测结果如
图 4 序列1中目标检测的实验结果对比 Fig. 4 Object detection results on sample frames from Sequence 1
图 5 序列2中目标检测的实验结果对比 Fig. 5 Object detection results on sample frames from Sequence 2
图 6 序列3中目标检测的实验结果对比 Fig. 6 Object detection results on sample frames from Sequence 3
在轻微湍流情况下(
3.2 量化分析
为更清晰地对比4种算法的检测性能, 文中分别统计了每组序列中被正确标记的前景像素点数(True positive, TP)、被正确标记的背景像素点数(True negative, TN)、被错误标记为前景的背景像素点数(False positive, FP)和被错误标记为背景的前景像素点数(False negative, FN)。选取误检率(False positive rate, FPR)、漏检率(False negative rate, FNR)和F-measure来衡量目标区域提取效果的优劣。
$
\begin{array}{l}
{\rm{FPR = }}\frac{{{\rm{FP}}}}{{{\rm{TP + FP}}}}{\rm{, FNR = }}\frac{{{\rm{FN}}}}{{{\rm{TP + FN}}}}\\
{\rm{F-Measure}} = \frac{{2*{\rm{Precision}}*{\rm{Recall}}}}{{{\rm{Precision + Recall}}}}\\
{\rm{Recall}} = \frac{{{\rm{TP}}}}{{{\rm{TP + FN}}}}{\rm{, Precision = }}\frac{{{\rm{TP}}}}{{{\rm{TP + FP}}}}
\end{array}
$
式中:Recall和Precision分别为查全率和查准率; F-measure是这两者的调和平均, 用于综合反映整体性能。
表 1(Tab. 1)
表 1 不同方法检测结果的性能对比
Tab. 1 Performance comparison of several object detection approaches
序列1
序列2
序列3
FPR
FNR
F-Measure
FPR
FNR
F-Measure
FPR
FNR
F-Measure
GMM
0.255 6
0.033 3
0.740 5
0.578 3
0.219 0
0.547 7
0.964 9
0.161 9
0.067 3
LRSD Three-Term
0.128 2
0.486 3
0.589 2
0.087 3
0.230 5
0.777 2
0.895 3
0.935 6
0.079 7
SuBSENSE
0.040 0
0.231 1
0.853 9
0.088 5
0.258 1
0.818 0
0.372 2
0.081 2
0.745 9
Ours
0.042 3
0.421 4
0.721 3
0.080 0
0.301 7
0.828 4
0.155 1
0.187 4
0.828 4
表 1 不同方法检测结果的性能对比
Tab. 1 Performance comparison of several object detection approaches
4 结束语
本文针对湍流退化序列图像中目标检测的问题, 提出了一种基于低秩分解和检测融合的目标提取方法。首先, 采用低秩矩阵描述法将图像分解为低秩稳像和稀疏运动两部分, 初步实现场景和湍流运动的粗分离; 然后, 对稀疏部分引入自适应阈值法剔除干扰量, 分割目标并填补其中空洞; 并对低秩部分采用高斯建模获得低秩中的前景区域; 最后, 对两部分检测结果联合判定以获得准确的目标检测结果。该方法有以下特点:(1)采用低秩稀疏描述对湍流序列建模, 可将稳像场景和稀疏运动区分开。(2)较之传统的检测方法, 本文算法在分解时的时间消耗较短。此外, 通过联合决策提取准确的目标区域, 最终检测的准确率较其他方法提高明显。实验结果证明了本文方法的有效性和优越性。如何从动态场景中准确提取目标物体, 并对其进行跟踪和识别是下一步研究的重难点。
matlab实现大气湍流退化模型算法,大气湍流下退化序列图像的目标检测方法相关推荐
- 目标检测论文解读复现之十五:基于YOLOv5的光学遥感图像舰船 目标检测算法
前言 此前出了目标改进算法专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读最新目标检测算法论文,帮 ...
- 双向特征融合的数据自适应SAR图像舰船目标检测模型
双向特征融合的数据自适应SAR图像舰船目标检测模型 人工智能技术与咨询 昨天 本文来自<中国图象图形学报>,作者张筱晗等 摘要: 利用合成孔径雷达(synthetic aperture r ...
- 复杂动背景下的“低小慢”目标检测技术
复杂动背景下的"低小慢"目标检测技术,论文阅读和复现代码 本文的目的是要检测低空中的慢速目标,我复现了本文算法(修正了一些模块),下面给出复现的细节. 视觉显著性模型 视觉显著性反 ...
- 基于神经网络的目标检测论文之目标检测方法:改进的SSD目标检测算法
4.2 改进的SSD 上一章我们了解到,物体识别检测算法是在传统CNN算法基础上加上目标区域建议策略和边框回归算法得到的.前辈们的工作主要体现在目标区域建议的改进策略上,从最开始的穷举建议框,到划分图 ...
- 值得收藏!基于激光雷达数据的深度学习目标检测方法大合集(下)
作者 | 黄浴 来源 | 转载自知乎专栏自动驾驶的挑战和发展 [导读]在近日发布的<值得收藏!基于激光雷达数据的深度学习目标检测方法大合集(上)>一文中,作者介绍了一部分各大公司和机构基于 ...
- 首次适应算法_CVPR 2020丨?商汤TSD目标检测算法获得Open Images冠军
编者按:此前,在文章<商汤科技57篇论文入选ICCV 2019,13项竞赛夺冠>里,商汤君报道了商汤科技荣获Open Images Object Detection Challenge 2 ...
- MATLAB目标检测恒虚警技术,一种自适应的恒虚警率目标检测方法
一种自适应的恒虚警率目标检测方法 [专利摘要]本发明涉及一种自适应的恒虚警率目标检测方法,包括以下步骤:1):将雷达接收到的数据传入匹配滤波器中:2):将匹配滤波器输出的信号传入平方律检波器中进行处理 ...
- Scale-Transferrable Object Detection算法详解(基于多尺寸目标检测)
Scale-Transferrable Object Detection算法详解 论文背景 算法背景 算法简介 算法对比 算法详解 网络结构 DenseNet STM Object Localizat ...
- 解读通过风格迁移的浓雾天气条件下 无人机图像目标检测方法
声明:只是个人观点以及本人底子太薄只做表面浅分析,只是用来梳理论文结构不牵涉技术 雨雾恶劣天气条件下,我们可以使用先去雾后检测的方法对薄雾有好处,但是浓雾条件比较差,解决办法就是通过风格迁移的无人机图 ...
最新文章
- IIS6+asp.net 2.0+HTTP 错误 404 - 文件或目录未找到:您正在搜索的页面可能已经删除、更名或暂时不可用。...
- 学习Matlab强大的符号计算(解方程)
- 将字符串的部分保存,剩余删去,或只保留指定一段子字符串
- Transformer、BERT学习笔记
- 7-68 阶乘计算 (15 分)
- mysql 表单属性_php表单常用属性有什么?
- Java Persistence with MyBatis 小结2
- C#String详解
- android 获取当前输入法,关于获取安卓手机系统输入法和设置输入法
- 解决tar命令出现“time stamp XXX in the future”的办法
- 在Entity Framework中使用事务
- Unity 3D 实战核心技术详解
- mysql查询当前用户中所有的表空间_查看Oracle当前用户下的信息(用户,表视图,索引,表空间,同义词等)...
- 机房服务器维护管理规范,机房维护管理规范.pdf
- oracle random函数用法,Oracle随机函数的用法
- 北理工嵩天Python语言程序设计笔记(目录)
- 快商通智能客服云平台、金融反欺诈方案获中科院互联网周刊金i奖
- 梨子的功效与作用_梨的9种不为人知的价值
- 数据分析 VS 算法模型,如何高效分工合作?
- fr4速度 微带线_微带线和带状线(microstrip and stripline)
热门文章
- 主流mes厂商_国内主流MES厂商排名报告
- 贤者之路, Caffe转TensorRT
- python-列表处理log日志、字典处理log日志学习总结
- 【WPS-OFFICE-Word】 WPS中样式的运作原理?样式自动更新、自动改变如何处理?样式的管理方法?
- 戴某某说:“内心永无止境的期盼”
- [Practical.Vim(2012.9)].Drew.Neil.Tip19学习摘要
- 扫盲:单片机入门分享 晶振 复位电路与电源
- 并购Opera,360之蜜糖,猎豹之砒霜
- python编程剪刀石头布思路_Python制作简单的剪刀石头布游戏
- 老笔记本电脑机械500GB升级固态1T