文献精讲–红外小目标检测之Local Contrast Measure(局部对比度测量)原理篇

文献精讲–红外小目标检测之Local Contrast Measure(局部对比度测量)原理篇

一万年没有更新过文章了,正好赶上研究生开学,为了憋一篇质量高一点的paper,最近在阅读文献。之前在做小目标检测的时候就留意过这篇《A Local Contrast Method for Small Infrared Target Detection》,我最初阅读完这篇文献后的感受就是:原理简单,设计精妙。废话不多说我们直接进入正题。

Local Contrast Measure(LCM)

该方法的实现过程一句话就可以概括:增强图像中的小目标区域,同时抑制图像中的背景区域。
读完这句话心中是不是有一万个问号?比如:你怎么知道图像哪部分是小目标区域,哪部分是背景区域?怎么增强又怎么抑制呢?…

别急,我们慢慢说。
在说具体实现之前,我们先思考一个问题:如果是你来观察一张图片,你是怎么从图像中识别出小目标的?

没错,你正是通过 小目标和周围背景的灰度差异来实现目标的识别的。通俗点说,就是小目标看起来更亮,而背景看起来更暗。

那么问题来了,我们怎么让电脑通过这种灰度差异来检测出小目标呢?这时,我们就要定量地来描述目标和背景间的这种灰度差异。于是我们就引出局部对比度测量的概念。我们来看一张图:

文献精讲--红外小目标检测之Local Contrast Measure(局部对比度测量)原理篇
上图中,最外面的蓝色框代表整张图片的边界。图片中的蓝色框代表一个n * n的kernel。这个kernel可以在整张图片上进行滑动,kernel的正中央还有一个蓝色框,这个蓝色框内的区域代表目标目标区域,蓝色框和kernel之间的区域代表目标的领域背景。

这个kernel真实的样子如下图所示:

文献精讲--红外小目标检测之Local Contrast Measure(局部对比度测量)原理篇
我们来一点点看懂这张图。首先我们可以看到kernel被划分为了9个区域,每个区域上的数字代表区域的序号。 注意:每个区域内并不只是包含一个像素点! 每个区域其实都可以看作为一个更小的kernel。举个例子,第一个区域内可能包含3 3个像素点,那么后面的每个区域一定也是3 3个像素点,那么整个kernel的大小就是(3 3)(3 _3)也就是9_9。

我们知道这个kernel是在图片上进行滑动的,那么他一直滑啊滑,终于有一天,这个kernel的正中央(0号区域)滑到了目标的位置,这样,0号区域中的灰度和周围8领域的灰度差异就显现出来了。如果这种灰度差异很大,并且大过某个阈值的时候,我们是不是就可以认为此时kernel中的0号区域就是小目标所在区域了呢?

作者顺着这条思路就提出了LCM算法。接下来我们介绍点真正硬核的东西。

首先,我们定义一个变量m,m代表1-8号区域的每个区域的均值。具体计算过程如下:

文献精讲--红外小目标检测之Local Contrast Measure(局部对比度测量)原理篇
公式里,i代表1-8号区域的序号,N是每个区域内像素点的总数,j代表每个区域内像素点的序号,I代表像素点的灰度值。
也就是说,我们要先分别计算出1-8号区域每个区域像素的灰度均值。

之后我们再引入一个变量L,L代表0号区域中像素点灰度值的最大值。

这时,我们就可以把主角请上场了。之前我们说过,我们要定量的描述目标和背景之间灰度的差异。作者使用下面这个式子来描述这种差异:

文献精讲--红外小目标检测之Local Contrast Measure(局部对比度测量)原理篇
这里的c就是contrast,i代表1-8号区域的序号,n是kernel的序号。contrast就是用来定量描述目标和背景之间灰度差异的量。此时,通过contrast的计算方法,我们可以分别计算出1-8号区域与0号区域的contrast,也就分别代表了0号区域的灰度与其他区域之间的灰度差异。此时你一定会问,为什么要用这种两个量相除的形式呢?哎对,这就是作者构建的精妙之处,别急,我们先往下看。

之前我们说过,LCM的实现可以用一句话概括,那就是增强图像中的小目标区域,同时抑制图像中的背景区域。

现在我们通过contrast已经可以分辨小目标和背景了,那么我们怎么实现增强呢?来,看下面这个式子,全文的精华所在。

文献精讲--红外小目标检测之Local Contrast Measure(局部对比度测量)原理篇
别晕,这个式子看起来长,其实也就比contrast的计算式多了两个东西而已。式中的C代表显著图,也就是抑制or增强后的结果。要记住:我们所有的增强或者抑制都是只对0号区域进行操作。

重点来了!仔细观察式(3),我们发现在式子中给contrast乘上了一个L。刚刚才说过,增强和抑制只是针对于0号区域(L代表0号区域的最大灰度值),也就是说,contrast的大小决定了0号区域是被增强还是抑制!现在可以解释之前留下的那个问题了,为什么contrast要用除法的形式,这是因为如果L > m,则contrast > 1,contrast > 1意味着什么?意味着0号区域灰度的最大值要大于周围领域的均值,也就意味着0号区域极有可能是小目标!L乘上一个大于1的数是不是就比自身大了,是不是就得到了所谓的增强了。而contrast < 1的时候,意味着0号区域很有可能是背景,那么L乘上一个小于1的数自然就实现了抑制。没错,contrast的设计精妙之处就在于此。

最后还有一个问题就是式子中min。我们再好好看看这个式子,由于对于一个kernel来说,L的值是一个常量,min整个式子就意味着着min contrast,min contrast就代表着max mi。也就是说,在求显著图时,对于领域,我们只关心灰度均值最大的那个。这也很好理解,0号区域的灰度最大值如果比你们8个领域最大的那个都大,那才能说0号区域很有可能包含目标区域。

在求完一个kernel的C后,把0号区域内的灰度值都换成C,这样一个kernel的使命便完成了。

LCM的整体算法流程如下图所示(拿着个kernel慢慢滑吧~):

文献精讲--红外小目标检测之Local Contrast Measure(局部对比度测量)原理篇
最后,简单提一下文章最后的阈值分割操作,很简单的一个式子:
文献精讲--红外小目标检测之Local Contrast Measure(局部对比度测量)原理篇
式中T为阈值,I为显著图的灰度均值,Sigma为标准差。这里的k需要靠经验选取,利用计算出来的阈值对图像进行二值化操作即可实现最后的检测结果。

Original: https://blog.csdn.net/David_Tang0617/article/details/120091957
Author: David T0n
Title: 文献精讲–红外小目标检测之Local Contrast Measure(局部对比度测量)原理篇

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/686395/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球