红外小目标检测方法之LCM与MPCM

LCM(局部对比度方法)2013

一:算法流程
1 :计算局部对比度:

将一个patch分为9个cell,其中0代表目标可能会出现的区域,如下图所示:

海面目标 红外图像 目标检测 matlab 红外图像目标检测算法_灰度

分别计算0-8cell内的灰度均值:

海面目标 红外图像 目标检测 matlab 红外图像目标检测算法_阈值分割_02


计算区域0 内的灰度最大值Ln,与其余区域的均值作除法,得到不同方向上的对比度,为了增强目标,定义局部对比度Cn如下:得到一张与原图大小一样的对比度图

海面目标 红外图像 目标检测 matlab 红外图像目标检测算法_灰度_03


海面目标 红外图像 目标检测 matlab 红外图像目标检测算法_目标检测_04

2: 多尺度局部对比度:计算不同尺寸patch下的局部对比度图,在每一个像素位置都取最大的对比度作为最终结果。

注:目标区域不超过80个像素

海面目标 红外图像 目标检测 matlab 红外图像目标检测算法_阈值分割_05

3:阈值分割:阈值根据图像灰度均值与标准差决定,其中K是经验值,文章建议取3-5。

海面目标 红外图像 目标检测 matlab 红外图像目标检测算法_灰度_06

二:实验结果即分析

LCM可以实现目标加强和背景抑制,对一般的红外小目标检测可以快速高效的检测,但是LCM默认目标比背景亮很多(但是有些图像不一定满足该条件),当一些目标与背景灰度值差异不大且有噪声的时候,目标容易被噪声淹没。

检测效果较好案例:

海面目标 红外图像 目标检测 matlab 红外图像目标检测算法_灰度_07


海面目标 红外图像 目标检测 matlab 红外图像目标检测算法_目标检测_08


海面目标 红外图像 目标检测 matlab 红外图像目标检测算法_灰度_09


漏检情况:

海面目标 红外图像 目标检测 matlab 红外图像目标检测算法_阈值分割_10

海面目标 红外图像 目标检测 matlab 红外图像目标检测算法_灰度_11

海面目标 红外图像 目标检测 matlab 红外图像目标检测算法_阈值分割_12

MPCM(多尺度块对比度方法)2016

一:算法流程
1:计算PCM

计算PCM最主要依靠滤波可以快速得到。

块划分如下:

海面目标 红外图像 目标检测 matlab 红外图像目标检测算法_灰度_13


根据以下三个公式计算出每个位置处的PCM(四个方向上的di,保留最小值。)

海面目标 红外图像 目标检测 matlab 红外图像目标检测算法_灰度_14


海面目标 红外图像 目标检测 matlab 红外图像目标检测算法_目标检测_15

海面目标 红外图像 目标检测 matlab 红外图像目标检测算法_目标检测_16

2:多尺度块对比度

与LCM类似。需要注意最大尺度仍然不超过80(9×9)。

3:阈值分割:与LCM相同,只是K建议取值3-14。
二:实验结果即分析

MPCM是LCM的改进,主要改进在可以同时增强比背景强和比背景弱的目标,准确率要更高,速度也更快。检测结果受K值影响较大,可能会因为K值设置导致漏检或者多检。

检测结果较好案例:

海面目标 红外图像 目标检测 matlab 红外图像目标检测算法_阈值分割_17

海面目标 红外图像 目标检测 matlab 红外图像目标检测算法_目标检测_18

海面目标 红外图像 目标检测 matlab 红外图像目标检测算法_灰度_19

目标被淹没情况:对于噪点较多,且目标没有与背景有较大灰度差时,目标被完全淹没

海面目标 红外图像 目标检测 matlab 红外图像目标检测算法_灰度_20


海面目标 红外图像 目标检测 matlab 红外图像目标检测算法_灰度_21


海面目标 红外图像 目标检测 matlab 红外图像目标检测算法_目标检测_22