APP下载

图像拼接算法在物料计数方面的应用

2021-11-28陈晓荣张彩霞郭蓉蓉王晓龙

软件导刊 2021年11期
关键词:金字塔灰度边缘

韩 硕,陈晓荣,张彩霞,郭蓉蓉,王晓龙

(上海理工大学光电信息与计算机工程学院,上海 200093)

0 引言

物料计数广泛应用于军事、包装、医疗等领域,随着现代科技的高速发展,各领域对物料计数的需求量和要求也在大幅度提高。传统意义上的物料计数采用人工检测的方式,其工作强度大、效率低并且容易受到主观因素的影响,导致检测准确率不高。针对这种情况,研究能够对物料进行自动计数的检测方法,可以有效提高检测效率和准确性。但是,在采集物料图像时,由于普通相机的视角较小,一些较大尺寸的物料无法呈现在一张图像上。而广角镜头和扫描式相机可以解决这一问题并得到完整的物料,但是这些设备存在价格高和使用复杂度高等缺点,并不普遍适用[1]。因此,随着数字图像处理技术的进步而发展起来的图像拼接技术为这一问题提供了很好的解决方法。

目前,国内外已经有一些针对图像拼接提出的相关算法。Dou 等[2]提出一种基于小波变换和尺度不变特征变换(SIFT)相结合的鲁棒图像匹配算法,利用来自SIFT 的信息构成匹配约束,从而获得更准确的匹配,但由于SIFT 采用DOG 进行特征提取,故增加了相应运算时间,降低了运行效率;Brown 等[3]提出一种称为Auto Stitch 的全局对齐方法以自动缝合多幅图像,但当摄像机平移可以忽略或场景接近平面时,可能会出现错位和伪影,导致具有视差的图像无法精确对齐;赵文君等[4]提出Harris 角点检测算法提取图像中的特征点,然后用非极大抑制算法选取特征点,去除伪角点和聚簇的角点,提高了匹配精度,但是该算法对尺度很敏感,并且其消耗的时间较长。此外,模板匹配算法也常用于图像拼接,其原理简单,容易实现,但是由于匹配搜索范围较广,导致匹配速度慢、准确性不高等。

针对该问题,本文在现有相关算法的基础上,研究一种基于图像拼接的物料计数算法,提出对物料图像作图像预处理后,进行边缘检测和图像拼接。分别采用高斯滤波、Canny 边缘检测算法、基于图像金字塔和搜索角度φ改进的模板匹配算法以及加权融合算法进行处理,完成对物料图像的准确拼接,再对物料进行计数检测。

1 图像采集

对图像进行处理前,首先采集物料图像。本文根据物料下落特点,设计一套图像采集装置,整个装置包括1 个面阵相机、1 个LED 光源、1 个置物架以及1 个接收掉落物料的盒子,如图1 所示。

在图像采集装置设计过程中,曝光速度和照明方式是其中非常重要的两个因素。曝光速度决定了图像清晰度以及在相同采集环境下采集到的多幅图像中每相邻两幅图像之间是否存在重叠部分。而照明方式则会影响图像的成像效果以及后续图像处理所需的时间[5]。针对被检测物料的下落特点,文中设置的曝光速度为500 帧/s、曝光时间为25us,采用背光照射的方式使得背景与目标产生较大的对比度,突出物料图像的边缘特征。

Fig.1 Image acquisition device图1图像采集装置

由于物料尺寸较大,因而采集到的物料图像存在物料不完整的情况,采集到的连续7 帧物料图像如图2 所示。

Fig.2 Captured materiel image图2 采集到的物料图像

2 图像处理算法与分析

2.1 算法流程

本文采用的图像处理算法流程如图3 所示。图像经过预处理后,进行边缘检测提取图像边缘特征,提出基于图像金字塔和搜索角度φ改进的模板匹配算法进行图像配准,接着采用加权融合算法消除图像拼接缝合线,完成图像拼接,最后进行物料计数并输出拼接后的全景图像及计数结果。

Fig.3 Flow of algorithm design图3 算法设计流程

2.2 图像预处理

在进行图像采集时,由于受拍摄硬件设施、采集环境等因素影响,会导致采集到的图像存在截然不同的成像特性,这些特性对后续算法处理有很大影响。因此,在进行算法设计前,有必要对采集到的图像先作预处理。

为了尽可能减少噪声对边缘检测结果的影响,本文图像预处理阶段主要采用高斯滤波完成图像去噪,便于后续对图像的边缘检测[6-7],如式(1)所示。

其中,G(x,y)为标准差为σ的二维高斯核。

平滑后图像g(x,y)表示如式(2)所示。

其中,f(x,y)为初始图像。

2.3 边缘检测

完成图像预处理后,对图像进行边缘检测。判断一个像素点是否为边缘像素的标准为其灰度值与周围像素灰度值是否存在较大差距,本文采用Canny 边缘检测算法检测该点是否为边缘像素[8-9]。Canny 算法具体实现步骤如下:

(1)计算梯度值和梯度方向值。灰度强度变化最强的位置即梯度方向,通过计算水平Gx和垂直Gy方向的一阶导数检测图像中的水平、垂直和对角边缘,即可确定像素点的梯度和方向。

x方向的梯度如式(3)所示。

y方向的梯度如式(4)所示。

该像素点梯度的幅值和方向分别如式(5)、式(6)所示。

(2)进行非极大值抑制。对图像进行梯度计算后,并不能够提取出比较清晰的边缘。因此,需要使用非极大值抑制寻找像素点的局部最大值,将非极大值点所对应的灰度值抑制为0,这样就可以筛除一部分不属于边缘的点。

采用Canny 算法可以降低错误率,并精确定位到物料边缘位置,便于后续物料图像拼接。其中一帧的物料图像边缘检测如图4 所示。

Fig.4 Materiel edge detection图4 物料边缘检测

2.4 改进模板匹配实现物料图像拼接

图像配准是实现图像拼接算法的重要环节,在包装生产过程中,物料计数的高效性和准确性要求图像拼接算法能够具有更快的速度和更高的效率以实现图像拼接。目前有很多图像配准方法,比如:基于灰度信息的匹配、基于特征的匹配、基于域变换的匹配、模板匹配等。由于在设计图像采集装置时,对于曝光时间和曝光速度的设置,使得拍摄到的每一帧物料下落图像之间都存在很小范围的重叠区域,因此文中选择模板匹配算法,其算法复杂度低且更易于实现。

2.4.1 模板匹配算法

模板匹配算法是寻找待测图像中具有模板图像相同特征的算法之一,其寻找待测图像中每一个可能的位置,计算模板的所有相关位姿与图像各位置的相似度,当相似度足够高时,则认为找到目标[10]。该算法相较于其他匹配算法,其易于实现,匹配速度较快,因此文中选用模板匹配算法作为图像拼接的主要方法。

模板匹配算法的基本思想是首先确定模板图像,以模板图像T与待测图像S的原点为参考点,使模板图像T在待测图像S的区域内以平移的形式进行搜索,待测图像被模板覆盖的区域为子图Si,j。搜索范围如式(7)、式(8)所示。

其中,M、N表示模板图像T的像素个数;W、H表示待测图像S的像素个数;i、j为模板覆盖区域左上角在待测图像S上的坐标。

通过比较模板图像与待测图像中被模板图像覆盖区域的相似性,完成模板匹配过程。通过归一化相关系数衡量模板T和子图Si,j的匹配程度[13],其计算公式如式(9)所示。

其中,0 ≤R(i,j)≤1 表示(i,j)处图像的相关系数;M、N表示模板大小;(s,t)表示在模板内的所有像素点;T表示模板图像;S表示待测图像;E(Si,j)、E(T)分别表示(i,j)处待测图像和模板图像的平均灰度值。

模板匹配就是寻找最佳匹配位置的过程,使归一化相关系数R最大。R越大,待测图像与模板的相似度越高,当模板在待测图像上搜索所得最大R(i,j)时,其对应的点(i,j)就是最佳匹配位置,则完成图像匹配。

2.4.2 图像金字塔

图像金字塔由哥伦比亚大学的Lowe 教授提出,它是利用图像的多分辨率对图像进行分解的有效结构,已广泛应用于机器视觉、图像处理等多个领域[11-16]。算法基本原理是先根据原始图像构建一个形似金字塔的图像序列,将原图像放在底部,每次下采样的分辨率低的结果图堆叠在上一次结果之上,并从金字塔的最顶层开始进行匹配,得到匹配的候选区域后,将该结果映射到下一层,下一层的匹配搜索就在该区域内进行。将找到的结果区域按同样的方法向下映射,直到找不到目标对象或者到达金字塔的最底层为止。设n为图像金字塔层数,m为搜索到的匹配点,则有式(10):

其中,M、N为图像原始尺寸;t为塔顶图像最小维数的对数。

式(11)中,mk(x,y)表示在第k层搜索到的匹配点坐标;mk+1(x',y')表示映射到k+1 层的匹配点坐标。

2.4.3 改进的模板匹配算法

模板匹配算法在特征匹配诸多算法中易于实现,但是由于匹配搜索范围较广,图像配准运算量较大,导致匹配速度慢、准确性不高,难以实现实时性。针对上述问题,本文采用图像金字塔加入搜索角度φ改进的模板匹配算法迅速锁定匹配点大致区域。

结合图像金字塔,将待测图像分割成n层,然后得到每一层搜索到的匹配点m,缩小了匹配候选区域,提高了搜索准确度。

由于搜索区域还是较大,其搜索速度不能够达到实时要求。因此,本文加入一个搜索角度φ,以优化搜索速度。

其计算公式如式(12)所示。

其中,T表示模板图像;K表示待测图像中与模板重叠的区域;M×N表示模板大小;(k,t)表示模板内的像素点。

在进行匹配搜索时加入搜索角度限制,能够快速准确地找出待测图像与模板图像重叠部分,因而提高匹配速度和精度。连续两帧的物料图像特征匹配如图5 所示。

Fig.5 Feature matching图5 特征匹配

2.4.4 图像融合

完成特征匹配后,为了防止拼接后图像连接处出现明显的缝合线,使用加权平均法进行图像融合,其具有容易实现及运算速度快的优点。加权平均法是对具有相同区域两幅图像的像素值取不同权值,然后进行加权平均得到融合后图像的像素值[17-18]。计算融合后图像像素灰度值的公式如式(13)所示。

其中,f表示融合后图像的像素值;f1、f2分别表示需要拼接的两幅图像;a1、a2表示不同的权值,且a1,a2∈(0,1)。

使用加权平均法进行图像融合,可以观察到其提高了图像缝合线的自然度,连续两帧的物料图像融合如图6 所示,使最终物料拼接效果更好。

Fig.6 Image fusion图6图像融合

2.4.5 算法比较

将原始模板匹配算法与本文算法拼接结果进行对比,验证本文所提出的结合图像金字塔和搜索角度φ改进的模板匹配算法的准确性。

由于图像拼接结果的特殊性,对图像拼接质量的评价侧重于图像拼接部位是否有错位以及边界过渡是否平滑等方面[19-20]。原始模板匹配算法与本文算法的拼接结果如图7 和图8 所示。

如图7 所示,原始模板匹配算法的物料拼接结果不存在明显缝合线,但是由于算法拼接准确性较低,拼接结果存在错位情况。

Fig.7 Material mosaic of the original template matching algorithm图7 原始模板匹配算法的物料拼接

相比之下,如图8 所示,本文算法的物料拼接结果过渡自然,并且不存在错位情况,其准确性较高。

Fig.8 Material mosaic of the algorithm in this paper图8 本文算法的物料拼接

为了验证改进后算法的高效性,本文以大小为1 344×87 的物料图像进行拼接速度检测。其实验环境为主频2.1 GHz,内存8GB 的处理器以及千眼狼5F04 工业相机。将书包扣以不同数量分为五批进行检测,实验的物料数量分别为3 个、6 个、13 个、18 个和25 个,对上述五批实验样本进行拼接,并检测其拼接速度,检测结果如表1 所示。

通过表1 可知,原始模板匹配算法进行物料图像拼接,其处理图像的平均时间最高为0.003 9s/幅,最低为0.003 2 s/幅。而文中所提出的基于图像金字塔与搜索角度φ改进的模板匹配算法进行物料图像拼接,其处理图像的平均时间最高为0.000 96s/幅,最低为0.000 89s/幅。与原始模板匹配算法进行对比,处理图像的平均时间提高了74%,具有更快的拼接速度。

Table 1 Comparison of the original template matching algorithm and the algorithm in this paper表1 原始模板匹配算法与本文算法用时对比

2.5 物料计数

完成物料图像最终拼接后,由于采用背光照射方式,物料全景图中目标与背景灰度级相差较大、灰度变化明显,因而本文采用双峰法阈值分割[21]。按照灰度级,根据式(14)设定阈值,将物料全景图的像素集合分为背景和目标两类。

其中,KT表示灰度直方图波谷处阈值,P(ri)和P(rj)分别表示全景图像f(x,y)的灰度直方图上的两个局部极大值,ri和rj分别表示两个局部极大值的位置,P(rT)表示ri和rj之间的最小值且P(ri)≤P(rT)≤P(rj),rT表示最小值的位置且ri≤rT≤rj。

将灰度值0 和KT分别作为文中阈值分割的最小阈值和最大阈值,准确分割出背景与目标。对分割后的目标连通域进行计数,当出现物料粘连情况时,根据区域面积参数进一步判断物料个数。

根据本文算法,得到物料计数后的结果如图9 所示,同时,可以验证物料计数不存在误差。

Fig.9 Materiel count图9 物料计数

3 实验结果

本文在Visual C++的开发环境下,设计基于图像拼接的物料计数软件,其支持物料图像拼接,并根据拼接结果进行物料计数。软件界面设计有物料图像全景图显示框以及物料个数显示框,可以清晰地看到物料检测结果,如图10 所示。

Fig.10 Detection result图10 检测结果

4 结语

本文研究了一种基于图像拼接的物料计数算法,采用边缘检测算法和基于图像金字塔和搜索角度φ改进的模板匹配算法,实现对物料下落时的图像拼接,取得了较好效果。在物料拼接全景图的基础上,采用双峰法阈值分割实现物料计数。对比原始的模板匹配算法运行速度较慢的缺点,本文算法缩小了模板搜索范围,并通过实验,对比两种算法的拼接时间及拼接效果,验证了本文算法具有准确性高和匹配速度快的优点,为下一步物料计数打下了良好基础。但是由于实验样本下落的随机性,可能存在物料大面积粘连情况,造成计数错误,后续将改进硬件设备并对粘连物料分割作深入研究。

猜你喜欢

金字塔灰度边缘
“金字塔”
采用改进导重法的拓扑结构灰度单元过滤技术
A Study of the Pit-Aided Construction of Egyptian Pyramids
基于灰度拉伸的图像水位识别方法研究
海上有座“金字塔”
神秘金字塔
基于最大加权投影求解的彩色图像灰度化对比度保留算法
一张图看懂边缘计算
基于灰度线性建模的亚像素图像抖动量计算
在边缘寻找自我