基于Sobel算子图像预处理的目标检测算法

2020-04-23 01:22张琪王艺陈兆飞
电子技术与软件工程 2020年5期
关键词:算子像素阈值

张琪 王艺 陈兆飞

(中国电子科技集团公司第二十七研究所 河南省郑州市 450015)

图像分割技术是图像处理和计算机视觉等领域中最基本的技术,其效果直接影响着后续图像处理效果的好坏,更影响着后续目标检测的准确性。目前图像分割边缘检测技术从思路上大致分为三类:一类是借助于空域差分卷积或类似卷积的运算来实现的方法,如:Roberts 算子、Prewitt 算子、Sobel 算子、Canny 算子等;第二类是从能量的角度考虑以能量最小化为准则的分割算法,有松弛算法、神经网络分析法、Snake 算法等;第三类是以小波变换为代表的分割算法[1]。但是由于实际图像中的边缘类型复杂且实际的图像中存在不同程度的噪声,对算法的适应性、稳定性和有效性提出了极大的考验,因此,传统的空域卷积算法具有较强的普适性和计算速度快等优势,因此仍得到了广泛的应用。

目标检测的目的是从序列图像中分割处感兴趣的前景目标,并尽可能地抑制背景和前景噪声,以准确地得到视频中感兴趣的目标区域。运动跟踪是指在连续的图像序列中对感兴趣的目标进行检测,以获得目标的位置、速度、加速度等运动参数,从而在连续的视频序列中建立起目标的对应关系,为下一步的视频理解和分析提供可靠的数据。

本文根据实际工程需求,首先采用改进的Sobel 算子对图像进行预处理,然后对目标检测阈值进行分析,并通过极大极小策略检测N×N 像素块来检测运动目标,同时根据帧间关联,确定目标所在ROI 区域,并根据目标运动特征动态更新ROI 区域,以更好的对目标特性进行分析,并进行目标检测。

1 图像预处理

1.1 改进的Sobel算子原理[2]

假设连续图像函数未f(x,y),函数在(x,y)处的梯度是一个具有方向和大小的梯度矢量,即[3]式中i、j 分别为x 和y 方向的单位矢量。基于梯度的算子都是建立在这一基础之上,绝大部分梯度算子把(x,y)处的边缘梯度幅度和方向分别定义为:

而计算出的grad[f(x,y)]值即为图像的边缘数据,因为上式是对连续的图像函数的处理,而在实际应用中,采集的图像为一定像素大小离散数据,因此在图像处理中,常用相邻或间隔像素差分值来代表图像的边缘信息。而Sobel 算子是对离散的数据进行加权计算,采用如图1 的小型卷积模板,利用模板与对应的图像数据进行卷积来做近似计算,这2 个方向模板分别为水平方向和竖直方向边缘检测。

其计算步骤为:

(1)分别将2 个方向模板沿着图像从一个像素移动到另一个像素,并将模板的中心像素与图像中的某个位置重合;

图1:Sobel 算子卷积模板

图2:目标运动示例

图3:第N 帧ROI 区域示例

(2)将模板内的系数与其对应的图像像素相乘;

(3)将模板内所有相乘值相加;

(4)将2 个卷积的最大值赋值给图像对应模板中心位置的像素值,作为该像素的新灰度值。

改进Sobel 算子实现步骤为:

(1)分别将2 个方向模板沿着图像从一个像素移动到另一个像素,并将模板的中心像素与图像中的某个位置重合;

(2)将模板内的系数与其对应的图像像素相乘并作和,记为SA;

(3)将模板内每项系数与对应像素相乘后,绝对值相加,记为SB;

改进后的sobel 具有更好的抗噪能力,其处理过的图像特征线与背景的对比度较好,可有效的抑制噪声对图像轮廓线的干扰,其隐含的处理结果为将目标图像进行类似差分处理,对于动目标的检测提供了很好的基础。

2 目标检测

2.1 检测方法

首先对图像进行改进的Sobel 算子预处理。由于动目标在图像中运动时其与周边像素将产生一定的差值,经过Sobel 算子处理后,目标与图像背景之间将产生较为明显的边界,目标检测的目的即是快速准确的对目标所在的位置进行判定,并以此为基础为后续检测提供基础,供后续ROI 区域确定。

本文目标检测主要分为以下步骤:

(1)ROI 区域图像进行改进Sobel 算子预处理,ROI 区域图像初始化为整幅图像;

(2)目标检测阈值确定;

(3)初始确定目标所在位置,帧间关联最终判定目标真假;

(4)更新目标位置坐标,帧间关联目标位置更新目标ROI 区域;

(5)重复步骤1-5。

下面对上述步骤进行详细描述。

2.2 Sobel图像预处理

图像预处理过程主要采用上文介绍的改进Sobel 算子对视频图像进行Sobel 算子卷积预处理,预处理后图像供后续目标检测;

2.3 目标检测阈值确定

目标检测中,阈值的确定关系着目标检测的准确性和快速性,其阈值应能过滤掉绝大部分的背景像素点,且能保留目标信息。本文阈值确定采用以下公式进行计算;

其中T 为最终计算出的阈值,Mp 为图像中ROI 区域中最大像素值,θ 为比例因子。

2.4 目标位置确定

本文将通过统计法进行目标位置确定,即通过统计计算超出阈值的目标像素位置的上下左右坐标,进而确定目标形心位置,确定目标位置后,对目标位置进行真假判定,本文使用多帧帧间关联方法进行判断,即假设目标在连续运动过程中,其位置不会出现大幅跳动的情况,下一帧的位置将与上N 帧之间具有一定的关系,利用此关系,可对当前检测的目标位置进行真假判定。这里选择连续三帧数据进行目标判断,假设目标运动过程中未出现剧烈跳动,即速度和方向不会出现未知变化,使用欧几里得距离进行计算,根据置信度来决策当前检测出的目标是否为所需目标,即以目标上一帧目标位置为圆心,半径为阈值的2 维图像上绘制一个圆,目标应在该圆之内,而不应出现在该圆之外。

2.3.5 搅拌速率 搅拌速率会引起溶液反应浓度差而导致质子化转移,同时也能减少局部温度过高降低重排几率。一般不会影响合成的产率,但会使反应得到产品外观和整体性能有所差异。实验长链烯基A和有机胺B比例为1∶1.2,反应温度控制在25℃,反应时间6h,催化剂比例为0.25%,实验结果见图7。

2.5 ROI区域确定及更新

ROI 区域即图像处理中的感兴趣区域,ROI 区域的确定决定着后续目标处理检测的效率和准确性。这里主要使用目标运动的位置坐标(x,y)和目标运动的速度Vx,Vy。

图示如图2 所示。

定义初始化ROI 区域为:以Rx,Ry 为左上定点,宽度为W,高度为Н 的矩形区域。第N 帧ROI 区域示例如图3 所示。

如图4 所示,第N+1 帧ROI 区域更新定义如下:

图4:第N+1 帧ROI 区域示例

图5:视频处理时间统计图

假设原图像宽度为L,高度为P。

目标检测成功时:

目标检测失败时,将根据上上帧目标数据进一步扩大更新ROI区域,其策略为以上上帧ROI 区域左顶点为基础,检测ROI 区域:

目标检测成功时:

3 验证及结果分析

3.1 环境(1)

摄像机分辨:1800*1400 帧:25 帧 摄像机静止放置,视频共5564 帧。

从表1、图5-7 所示,可知,本文算法在处理1800*1400 分辨率的视频时,首帧处理时间为405ms,目标检测成功后,其处理时间下降为20ms,同时从表中可看出在3536-3880 帧时,算法处理时间增加为277ms,在3881 帧后,算法处理时间又下降为19ms,分析可知,首帧处理时间较长,其原因为算法处理首帧时,进行全屏检测,待目标检测到后,算法自动创建ROI 区域,因此后续检测时间迅速下降,其处理时间降低为原来的1/20,证明该算法具有较好的处理速度;经观看视频分析,在3536-3880 帧时,目标从摄像机视场中消失,在3881 帧时,目标又再次进入摄像机视场中,因此,算法处理时间又下降为19ms,即该算法对于消失在摄像机视场中的目标,当目标再次进入视场后,仍能较好的对目标进行二次检测跟踪。

图6:目标位置x 坐标统计图

图7:目标位置y 坐标统计图

图8:视频处理时间统计图

图9:目标位置x 坐标统计图

图10:目标位置y 坐标统计图

表1:视频处理时间统计表

表2:视频处理时间统计表

3.2 环境(2)

摄像机分辨:2048*2048帧:25摄像机处于晃动过程,视频共1750 帧。

数据统计图示如下:

从表2、图8-10 所示,可知,本文算法在处理2048*2048 分辨率的视频时,首帧处理时间为687ms,目标检测成功后,其处理时间下降为34ms,分析可知,首帧处理时间较长,其原因为算法处理首帧时,进行全屏检测,待目标检测到后,算法自动创建ROI区域,因此后续检测时间迅速下降,其处理时间降低为原来的约1/20,说明本文算法对于动态摄像机场景仍具有较好的处理效果。

4 不足和展望

由第3 章节可知,本文算法对静态或动态环境下目标检测效果都取得了较好的效果,且算法具有较好的鲁棒性,对背景图像变化不敏感。不足之处为若首帧检测目标为假目标时,后续检测将在一个错误基础上开展,对于该问题可使用模板匹配算法或者人工干预进行首帧目标位置确定,后续可针对该问题进行研究。

猜你喜欢
算子像素阈值
赵运哲作品
像素前线之“幻影”2000
拟微分算子在Hp(ω)上的有界性
各向异性次Laplace算子和拟p-次Laplace算子的Picone恒等式及其应用
小波阈值去噪在深小孔钻削声发射信号处理中的应用
一类Markov模算子半群与相应的算子值Dirichlet型刻画
基于自适应阈值和连通域的隧道裂缝提取
比值遥感蚀变信息提取及阈值确定(插图)
Roper-Suffridge延拓算子与Loewner链
室内表面平均氡析出率阈值探讨