红外弱小目标检测之“Infrared Patch-Image Model for Small Target Detection in a Single Image”阅读笔记_local patch network with global attention for infr-程序员宅基地

技术标签: 算法  计算机视觉  图像处理  目标检测  

Infrared Patch-Image Model for Small Target Detection in a Single Image

原文:Infrared Small Target Detection by Density Peaks Searching and Maximum-Gray Region Growing

参考:红外弱小目标检测:IPI算法解读及MATLAB复现

红外图像模型:
f D ( x , y ) = f T ( x , y ) + f B ( x , y ) + f N ( x , y ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ( 1 ) f_D(x,y)=f_T(x,y)+f_B(x,y)+f_N(x,y) ......................................(1) fD(x,y)=fT(x,y)+fB(x,y)+fN(x,y)......................................(1)
其中 f D f_D fD f T f_T fT f B f_B fB f N f_N fN ( x , y ) (x,y) (x,y) 分别为原始红外图像、目标图像、背景图像、随机噪声图像和像素位置。根据焦点是否在目标图像 f T f_T fT ,背景图像 f B f_B fB 或两者分为不同的方法。

动机:

  1. 背景的变化会造成序列检测算法(TBD)性能下降,因此研究基于单帧的检测算法很有必要。

  2. 传统的弱小目标模型不一定适用于所有场景。

    传统的弱小目标模型:目标成像很小,可认为是一个辐射点源,具有高斯分布特性,且各向同性的圆形,其灰度分布满足如下公式:
    s ( x , y ) = γ e − 1 2 ( ( x σ x ) 2 + ( y σ y ) 2 ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ( 2 ) s(x,y)={\gamma}e^{-\frac{1}{2}\Bigg((\frac{x}{\sigma_x})^2+(\frac{y}{\sigma_y})^2\Bigg)}...............................................(2) s(x,y)=γe21((σxx)2+(σyy)2)...............................................(2)
    式中, γ \gamma γ表示图像中目标灰度的峰值, σ x \sigma_x σx, σ y \sigma_y σy分别表示目标灰度在x,y方向的扩展参数,决定了目标的弥散程度, σ \sigma σ越小,目标灰度分布越集中; σ \sigma σ越大,目标灰度分布越弥散。

    在实际的图像序列中,目标的灰度分布并不总是满足二维高斯分布。可能具有"平顶"形状,且由于受成像距离、环境、目标类型的影响,目标的大小在2×2~10×10不等,目标的灰度峰值也很离散。

    在这里插入图片描述

  3. 一些传统的目标检测算法对噪声敏感,且当目标尺寸范围较大时,检测效果不稳定。

    弱小目标检测算法的性能通常取决于对目标、背景、目标和背景的假设,假设的合理性决定了算法在应用中的鲁棒性。

    一些传统的算法,如Top-hat,通过预测背景 f B f_B fB,进而抑制背景 f T = f D − f B f_T=f_D-f_B fT=fDfB 来检测目标。这类方法的缺点即:对噪声敏感,以及空域滤波模板大小往往取决于目标尺寸这一先验知识,所以受目标尺寸的影响较大。

提出的算法:

  1. 利用局部区域构造(local patch construction)的方法,将传统的红外图像模型推广至新的infrared patch-image,IPI 模型。
  2. 基于新模型,假设目标图T为稀疏矩阵,背景图B为低秩矩阵,进而将目标检测转化为分离低秩矩阵与稀疏矩阵的优化问题。
  3. 算法依据:背景主要是大面积缓慢变化的低频部分,如自然背景中的云层,其在空间上往往呈大面积的连续分布状态,在红外辐射的强度上也呈渐变过渡状态,使得其在灰度空间分布上具有较大相关性,这也是为什么我们在对背景预测时需要重点考虑背景辐射强度的起伏。本文提到,即使是图像中不相邻的背景之间也存在较强的相关性,因此可以将背景图B看作低秩矩阵。
  4. 将目标图T看作稀疏矩阵,仅利用的目标在整幅图中所占比例小这一假设(先验知识),未对目标的尺寸、目标的灰度值做假设,因此解决了问题(3),算法更具鲁棒性。

算法优点:

  1. 本文模型更符合真实性,对不同的目标尺寸和目标的SCR更具鲁棒性,应用场景更广泛。本文对目标和背景做出的假设(1)相较于整幅图像,目标的尺寸很小;(2)背景具有相关性。
  2. 即使在缺乏对背景和目标尺寸先验知识的前提下,利用当前low-rank matrix recovery技术依然可以求解,算法的实现得到了保证。

IPI模型:

  • patch-image的构建和重建

    在这里插入图片描述

    1. 指定一滑动窗口,从左上到右下依次得到每个Patch,然后将每个patch向量化为列向量,构成新的矩阵,由此得到patch-image;
    2. patch-image的尺寸不仅取决于原图的大小,而且取决于滑动窗口的大小与其水平、垂直方向的滑动步长;(对一些特殊情况,(1)滑动窗口大小与原图大小相同(2)滑动窗口是与图像等高的列向量且滑动步长为1时,patch-image的大小与原图相同。)

    在这里插入图片描述

    由于局部块通常彼此重叠,因此重建图像中的像素位置将对应于来自不同块的多个值。 因此,我们应该定义一个一维滤波器函数来确定像素值 v:
    v = f ( X ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ( 3 ) v=f(X)...............................................(3) v=f(X)...............................................(3)
    其中 v ∈ R v\in R vR x ∈ R p x\in{R_p} xRp是一个向量,表示包含来自p个重叠patch的同一位置像素值的列向量。一维滤波器函数 f 的定义取决于实际应用,我们可以将其定义为 v=中值(x)、v=均值(x)、v=max(x) 或 v=min(x) 等等 .

    给定原始图像 f D f_D fD,背景图像 f B f_B fB,目标图像 f T f_T fT和噪声图像 f N f_N fN(公式1),我们可以分别构造相应的patch-image D,B,T和N. 然后将传统的红外图像模型(1)转换为IPI模型,如下所示:
    D = T + B + N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ( 4 ) D = T+B+N.......................................(4) D=T+B+N.......................................(4)
    传统的红外图像模型可以看作:滑动窗口是与图像等高的列向量且滑动步长为1时得到的。

基于IPI模型的小目标检测:

  • 目标图像T-稀疏矩阵

    尽管在实际拍摄的视频中,弱小目标的灰度、尺寸均在变化,但是对于整幅图来说,其所占比例仍然很小,因此可以将目标图像看作稀疏矩阵,如下公式。

    ∥ T ∥ 0 < k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ( 5 ) \lVert{T}\rVert_{0}<k.......................................(5) T0<k.......................................(5)
    式中, 表示 ∥ ⋅ ∥ 0 \lVert{\cdot}\rVert_{0} 0表示 l 0 l_0 l0范数,代表了矩阵中非0元素的数量;k 的值取决于图像中目标的尺寸与数量,且 k ≪ m × n k\ll{m\times{n}} km×n( m × n m\times{n} m×n T T T的尺寸)。论文中,只对目标的“稀疏性”做了假设,即算法只对目标“小”这一特性做了量化。

  • 背景图像B-低秩矩阵

    红外图像的背景具有相关性,即使像素位置相隔较远的两局部区域也具有相关性,可称为非局部自相关性(non-local self-correlation)。基于这一特征,背景图看作低秩矩阵,如下公式。
    r a n k ( B ) ≤ r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ( 6 ) rank(B)\leq{r}.....................................(6) rank(B)r.....................................(6)
    式中, r r r为常数。本质上, r r r代表了背景的复杂程度,背景越复杂, r r r的值越大,反之,背景越均匀, r r r的值越小。

    此外,文中提到,图像中除non-local self-correlation特性外,还存在non-local self-similarity这一特性,很多纹理合成、图像复原和图像去噪的算法都是基于图像的non-local特性。并且,有相关论文指出所有的背景图像块都来自低秩子空间的混合(a mixture of low-rank subspace clusters while not only one),当小目标位于高度非均匀背景下,使用多子空间聚类假设更为合适。但本文献中,由于背景具有非局部自相关性,使用一个低秩空间足以模拟背景。因此,为了降低算法的复杂度,本文仅使用一个低秩空间假设(only employ one low-rank subspace assumption)。

  • 噪声图像N-满足独立同分布

    本文假设随机噪声满足独立同分布,如下公式。
    ∥ D − B − T ∥ F ≤ δ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ( 7 ) \lVert{D-B-T}\rVert_{F}\leq{\delta}...............................(7) DBTFδ...............................(7)
    式中, ∥ ⋅ ∥ F \lVert{\cdot}\rVert_{F} F表示F-范数,定义为 ∥ X ∥ F = ∑ i j X i j 2 \lVert{X}\rVert_{F}=\sqrt{\sum_{ij}X_{ij}^{2}} XF=ijXij2

  • 小目标检测算法原理

    最终目标是检测目标,得到目标图像T至为关键。

    首先,假设红外图像不包含噪声。 因此公式 (4) 变为 D = T + B D=T+B D=T+B 。 如前所述,背景图像 B 是一个低秩矩阵,目标图像 T 是一个稀疏矩阵。 求解目标图T即可转化为从原始图像矩阵中恢复稀疏矩阵与低秩矩阵的最优化问题,可使用主成分追踪(Principal Component Pursuit, PCP)来求解这一凸优化问题,见如下公式。
    min ⁡ B , T ∥ B ∥ ⋆ + λ ∥ T ∥ 1 , s . t . D = B + T . . . . . . . . . . . . . . . . . ( 8 ) \min_{B,T}\lVert{B}\rVert_{\star}+\lambda\lVert{T}\rVert_{1},\quad{s.t.}\quad{D=B+T}.................(8) B,TminB+λT1,s.t.D=B+T.................(8)
    式中, ∥ ⋅ ∥ ⋆ \lVert{\cdot}\rVert_{\star} 表示核范数,即奇异值之和。 ∥ ⋅ ∥ 1 \lVert{\cdot}\rVert_{1} 1表示 l 1 l_1 l1范数,定义为 ∥ X ∥ 1 = ∑ i j ∣ X i j ∣ \lVert{X}\rVert_{1}=\sqrt{\sum_{ij}|X_{ij}|} X1=ijXij λ \lambda λ表示非负权重。这里为了便于计算,使用 ∥ B ∥ ⋆ \lVert{B}\rVert_{\star} B ∥ T ∥ 1 \lVert{T}\rVert_{1} T1分别取代式(6)中的 r a n k ( B ) rank(B) rank(B)及式(5)中的 ∥ T ∥ 0 \lVert{T}\rVert_{0} T0

    使用主成分追踪(PCP)这一思想,有两点优势:

    1. 对于不同的图像,不需要估计公式(5)、(6)中的 k k k r r r
    2. 转化为凸优化问题后,算法不仅对目标的尺寸、亮度变化具有鲁棒性,而且可以适应含不同杂波的背景。

    其次,考虑图像中的噪声,问题转换为如下公式.。
    min ⁡ B , T ∥ B ∥ ⋆ + λ ∥ T ∥ 1 , s . t . ∥ D − B − T ∥ F ≤ δ . . . . . . . . . . . . . . . . . ( 9 ) \min_{B,T}\lVert{B}\rVert_{\star}+\lambda\lVert{T}\rVert_{1},\quad{s.t.}\quad{\lVert{D-B-T}\rVert_{F}\leq{\delta}}.................(9) B,TminB+λT1,s.t.DBTFδ.................(9)
    公式(9)所示凸优化问题,即从包含噪声的图像中同时分离目标图像T和背景图像B。在背景估计问题中,求解背景图也很重要,例如在一些复杂背景下拍摄的图像,求解背景图可以评估检测的可靠性,也可以用于运动成像系统中的图像配准。

    式(9)演化为求解下式的对偶问题。
    min ⁡ B , T ∥ B ∥ ⋆ + λ ∥ T ∥ 1 + 1 2 μ ∥ D − B − T ∥ F 2 . . . . . . . . . . . . . . . . . ( 10 ) \min_{B,T}\lVert{B}\rVert_{\star}+\lambda\lVert{T}\rVert_{1}+\frac{1}{2\mu}\lVert{D-B-T}\rVert_{F}^{2}.................(10) B,TminB+λT1+2μ1DBTF2.................(10)
    式中, μ \mu μ为非负权重,且在本文中取值不固定。

    式(10)为凸优化问题,本文使用Accelerated Proximal Gradient(APG)算法求解。

  • 完整算法流程

    在这里插入图片描述

    第一步:使用patch-image构建方法,从原始红外图像 f D f_D fD构建得到D,即IPI模型。

    如下图所示,展示了大小为 5 ∗ 5 5*5 55的patch如何被构造为 25 ∗ 1 25*1 251的列向量。

    在这里插入图片描述

    下图,展示了当图像大小为 20 ∗ 20 20*20 2020,patch大小为 5 ∗ 5 5*5 55,patch的水平、垂直方向每次的移动步长均为1时,如何由 f D f_D fD构造 D D D,最终得到的D的大小为: 25 × ( 16 × 16 ) = 25 × 256 25\times(16\times16)=25\times256 25×(16×16)=25×256

    在这里插入图片描述

    可以引申出一个公式:当原图像大小为 m × n m \times n m×n,patch的大小为 p m × p n p_m \times p_n pm×pn,patch在水平和垂直方向的移动步长分别为 x s t e p , y s t e p x_{step},\quad{y_{step}} xstep,ystep时,最终得到的patch数量为: n u m s = ( ( x − p m ) / x s t e p + 1 ) × ( ( n − p n ) / y s t e p + 1 ) nums=((x-p_m)/x_{step}+1)\times ((n-p_n)/y_{step}+1) nums=((xpm)/xstep+1)×((npn)/ystep+1),最终得到的patch-image的大小为: ( p m × p n , n u m s ) (p_m\times p_n , nums) (pm×pn,nums)

    第二步:使用Algorithm 1 从图像D中分别求目标图T和背景图B。

    在这里插入图片描述

    其中, V t V_t Vt 是矩阵 V V V的转置, S ϵ [ ⋅ ] S\epsilon[\cdot] Sϵ[]是一个软阈值算子,形式如下:
    S ϵ [ x ] = { x − ϵ , i f x > ϵ , x + ϵ , i f x < − ϵ , 0 , o t h e r w i s e , . . . . . . . . . . . . . . . . . . . . . . . . ( 11 ) S\epsilon[x]= \begin{cases} {x-\epsilon},& {if\quad{x>\epsilon},}\\ {x+\epsilon},& {if\quad{x<-\epsilon},}\\ {0},& {otherwise,} \end{cases}........................(11) Sϵ[x]=xϵ,x+ϵ,0,ifx>ϵ,ifx<ϵ,otherwise,........................(11)
    式中 x ∈ R x\in R xR ϵ > 0 \epsilon>0 ϵ>0,对于算法 1 中矩阵的情况,此运算符通过逐元素应用来扩展。

    算法1中的参数设置: λ = 1 / m a x ( m , n ) \lambda=1/\sqrt{max(m,n)} λ=1/max(m,n) η = 0.99 \eta=0.99 η=0.99 μ 0 = s 2 , u ˉ = 0.05 s 4 \mu_0=s_2,\bar{u}=0.05s_4 μ0=s2,uˉ=0.05s4 s 2 , s 4 s_2,s_4 s2,s4分别为patch-image D 第2和第4个奇异值(从大到小排列)。

    第三步:使用patch-image B、T分别重构背景图像 f B f_B fB,目标图像 f T f_T fT

    本文选用 v = m e d i a n ( x ) v=median(x) v=median(x)实现重构重叠区域的像素值,与mean相比,median的鲁棒性更强;如果不需要对背景进行预测,可以只重构目标图像以减少计算量。

    第四步:使用阈值分割对目标图像 f T f_T fT进行自适应分割。

    自适应阈值 t u p t_{up} tup由以下因素决定:
    t u p = max ⁡ ( v m i n , μ + k σ ) t_{up}=\max(v_{min},\mu+k\sigma) tup=max(vmin,μ+kσ)
    式中, u , σ u,\sigma u,σ分别为目标图像 f T f_T fT的灰度均值和标准差; k , v m i n k,v_{min} k,vmin为由实验测得的常量, v m i n v_{min} vmin是为了降低虚警率。

    如果只检测"亮"目标,遵循的分割原则是满足 f T ( x , y ) > t u p f_T(x, y) > t_{up} fT(x,y)>tup的为目标,否则为背景。

    如果既要检测“亮”目标又要检测“暗”目标,使用双阈值分割原则 ( t u p , t d o w n ) (t_{up},t_{down}) (tup,tdown),其中, t d o w n = min ⁡ ( v m i n , μ − k σ ) t_{down}=\min(v_{min},\mu-k\sigma) tdown=min(vmin,μkσ)是由实验得到的常量,可以降低虚警率。双阈值分割,目标像素值满足: f T ( x , y ) > t u p f_T(x, y) > t_{up} fT(x,y)>tup or f T ( x , y ) < t d o w n f_T(x, y) < t_{down} fT(x,y)<tdown ,否则为背景。

    第五步:后处理对分割结果进行细化。

    可以采用连通域分析或形态学分析来细化分割结果。此外,可以利用通过分析重构背景图像中,目标周围区域的背景复杂度来判断目标检测结果是否可靠,如果目标周围区域背景简单,则检测结果的可靠性更高。

  • 算法复杂度分析

    本文所提算法的计算时间来自3个方面:(1)PCP 计算,即从原图D中分离目标T与背景B;(2)图像重构;(3)阈值分割。

    算法的时间复杂度为: O ( N k m n ⋅ log ⁡ ( m n ) + r c ( p + 1 ) ) O(Nkmn\cdot \log(mn)+rc(p+1)) O(Nkmnlog(mn)+rc(p+1))

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39611130/article/details/122068254

智能推荐

pheatmap:绘制聚类热图的函数_pheatmap基于kmeans绘制热图-程序员宅基地

文章浏览阅读342次,点赞4次,收藏6次。该函数还允许使用 kmeans 聚类聚合行。如果行数太大,以至于 R 无法再处理其分层聚类,大约超过 1000 行,则建议这样做。与其单独显示所有行,不如提前对行进行聚类,并仅显示聚类中心。可以通过参数kmeans_k调整集群的数量。来源:https://www.rdocumentation.org/packages/pheatmap/versions/1.0.12/topics/pheatmap。一个绘制聚类热图的函数,可以更好地控制一些图形参数,如单元大小等。Examples 例子。_pheatmap基于kmeans绘制热图

html div四边阴影效果-程序员宅基地

文章浏览阅读369次。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml..._div四周阴影效果

Java 通过反射获取实体类对应的注释_java获取实体类属性注解-程序员宅基地

文章浏览阅读1.7k次。Java 通过反射获取实体类对应的注释 _java获取实体类属性注解

在使用Mybatis的association属性,两张表中存在相同字段名,联表查询时的冲突解决办法_mybatis association绑定相同对象-程序员宅基地

文章浏览阅读2.3k次,点赞5次,收藏10次。在使用MyBatis进行多表联查时,想要获取关联外键的表的数据信息,使用association进行联查,但当外键表的字段名和主表相同时,外键表的数据就会被覆盖。_mybatis association绑定相同对象

湘潭大学2018年上学期程序设计实践模拟考试3 参考题解_在湘大xx奶茶店夏天推出了新的饮料价格为5元。 很多学生都要买饮料,每个学生-程序员宅基地

文章浏览阅读2.7k次。体验1: 军神太强啦,1小时屯6题,瞬间AK,接下来的90分钟一直在跟榜体验2: A题原题,循环写得好就不麻烦,不然要写很多行,情况要想全并不难。 B题原题,有了上一场的提示之后,这题就不难了。 C题很简单(小声)。 D题卡掉了O(T*N*K*log(N))的方法,卡掉我5发logN ,不过还是可做。 E题水dp(组合数学)。 F题原题,记忆化搜索。体验3: 被DC两题卡到..._在湘大xx奶茶店夏天推出了新的饮料价格为5元。 很多学生都要买饮料,每个学生

微信小程序预览pdf,页面缓存下载过的pdf_微信浏览器请求pdf文件会缓存吗-程序员宅基地

文章浏览阅读2.8k次。需求:  点击预览图标查看该pdf报告问题:  1、最早是直接将请求倒的url放入到<web-view src="{{realUrl}}"></web-view>中展示,ios可以,安卓显示无法查看。  2、通过微信自身的API实现:wx.downloadFile({})、wx.saveFile({})、wx.openDocument({})  3、对于文件较大的,下载较慢,需要点击过的进行缓存,再次点击无需下载,直接打开。  将点击过的下载的url添加给list的tem_微信浏览器请求pdf文件会缓存吗

随便推点

服务部署之配置网络策略服务(NPS)(基于Windows Server 2022)_windows server 部署网络策略服务-程序员宅基地

文章浏览阅读680次。服务部署之配置网络策略服务(NPS)(基于Windows Server 2022)_windows server 部署网络策略服务

视频异常检测 综述(二)_视频异常检测综述-程序员宅基地

文章浏览阅读4.8k次,点赞6次,收藏29次。基于距离、概率、重构的视频异常检测概述_视频异常检测综述

trajan割点模板-程序员宅基地

文章浏览阅读107次。洛谷P3388#include<bits/stdc++.h>using namespace std;typedef long long ll;typedef unsigned long long ull;const int N=2e4+5;const int mod=1e9+7;vector<int> g[N];set<int> v;int dfn[N],low[N],fa[N];int n,m,tot;void tarjan(int x){

linux如何关闭硬件加速,启用硬件加速是什么意思?如何关闭【详解】-程序员宅基地

文章浏览阅读1k次。导语:小编相信,经常会使用到电脑的朋友们,对于启用硬件加速这个词一定都是不陌生的吧!可是呢,对于一些电脑小白们来说,往往会搞不清楚,这个启用硬件加速到底是个什么意思呢?启用之后,我们的电脑又会发生什么变化呢?也有一些人,在启用之后,却不知道应该如何关闭这个硬件加速,接下来,小编就来为大家介绍一下启用硬件加速是什么意思,以及它应该如何关闭。启用硬件加速是什么意思?简而言之,硬件加速就是利用硬件模块来..._linux 禁用硬件加速合成、图层和素材面板

SHAP: 在我眼里,没有黑箱_python对shap的计算只能针对大数值吗-程序员宅基地

文章浏览阅读8.1k次,点赞13次,收藏191次。1. 写在前面很多高级的机器学习模型(xgboost, lgb, cat)和神经网络模型, 它们相对于普通线性模型在进行预测时往往有更好的精度,但是同时也失去了线性模型的可解释性, 所以这些模型也往往看作是黑箱模型, 在2017年,Lundberg和Lee的论文提出了SHAP值这一广泛适用的方法用来解释各种模型(分类以及回归), 使得前面的黑箱模型变得可解释了,这篇文章主要整理一下SHAP的使用, 这个在特征选择的时候特别好用。这次整理, 主要是在xgboost和lgb等树模型上的使用方式, 并且用一个_python对shap的计算只能针对大数值吗

【操作系统】考研真题攻克与重点知识点剖析 - 第 1 篇:操作系统概述_2021-程序员宅基地

文章浏览阅读625次。这篇文章深入探讨了操作系统的各个方面,以及相关的计算机科学概念。文章的结构包括对操作系统的定义和功能的讨论,涵盖了硬件管理、操作系统特征、启动过程、运行环境等多个方面。作者使用思维导图和具体版本(如哈工大版本、王道版本)作为辅助,系统性地介绍了操作系统的运行机制,包括中断与异常、系统调用等内容。文章还回顾了操作系统的历史发展,按照不同线索(如哈工大版本)进行叙述,涵盖了操作系统的发展与分类、体系结构等方面。最后,文章提到了一些考研真题,强调了对计算机科学相关概念的深入理解。_2021

推荐文章

热门文章

相关标签