基于区域分割匹配的图像识别方法研究

2020-06-17 02:24曾国清
信阳农林学院学报 2020年2期
关键词:斑点神经元阈值

曾国清

(鄂州职业大学 校工会,湖北 鄂州 436000)

云计算由提供高存储容量、高灵活性和高计算性能的服务器组成。云应用程序和Web服务的发展使网络在线流量大大增加,随着智能手机以及云存储应用的发展(如OneDrive,Dropbox),图像和视频成为网络流量的重要部分。云存储系统中已经存有高达数十亿张图像,而每天的图像上传量也达到了数亿张[1]。针对云计算储存中的图像识别问题,为了克服现有基于图像特征的识别方法的局限性,提出了一种基于区域的图像识别(RegionRec)方法。

1 简化脉冲耦合神经网络

脉冲耦合神经网络(PCNN)是一种基于Eckhorn皮层模型的神经网络[2],是基于猫视皮层中神经元活动的同步动态进行开发设计的。PCNN只有一个由横向链接的脉冲耦合神经元的2维数组形成的单层,且不需要任何的训练,适用于图像处理[3]。图像像素与网络神经元之间的关系是一一对应的。为了实现较低的计算复杂度,使用具有自动参数设置的SimPCNN[4],可以描述为:

(1)

(2)

Eij[n]=e-αeEij[n-1]+VEYij[n]

(3)

其中,

(4)

在此模型中,在位置(i,j)上有两个神经元Nij输入:一个刺激输入Sij,表示图像像素强度;一个简化的链接输入,表示八个相邻神经元输出(km,l)的总和,该输出通过恒定的突触权重Wijkl连接。简化链接输入的幅度用VL表示。这两个输入通过连接强度β进行调制,以产生内部活动Uij[n]。内部活动还记录了先前的神经元状态,该状态会以指数衰减因子e-αf衰减。仅当当前内部活动Uij[n]超过最后一个动态阈值Eij[n-1]时,神经元Nij才会在迭代n中输出脉冲。如果神经元Nij发射脉冲,则动态阈值将随着VE的幅度而增加;否则,动态阈值将衰减e-αf。SimPCNN模型中有五个可调节的参数,其表达式如下所示[4]:

αf=1n(1/σ(I))

(5)

(6)

VL=1

(7)

VE=e-αf+1+6βVL

(8)

(9)

其中,σ(I)是图像I的标准差,S'是最优的直方图阈值,Smax是图像的最大强度。在上述的五个参数中,β和αe对图像分割结果的影响最大。β的值越大,神经元受到附近神经元的影响就越大。而αe的值越小,图像分割的精度就越小[4]。

2 基于区域的识别方法

在本节中,采用具有自动参数的SimPCNN进行彩色图像分割,然后提出了一种基于区域的图像对象识别方法,称为RegionRec。RegionRec能够从复杂的现实环境中准确地识别出对象。

2.1 色彩空间转换

为了使由通道增益和偏移引起的光强度的变化和移动稳定,在应用SimPCNN之前需要进行色彩空间转换。

Van 等人[5]验证了归一化的RGB颜色模型不会随着光强度变化而发生不变,如式(10)所示,而颜色拮抗模型的颜色通道O1和O2对光强度具有平移不变性,如式(11)所示。因此,可以利用这两个不变性,首先通过式(10)将原始RGB彩色图像转换为归一化RGB彩色图像,然后通过式(11)将RGB彩色图像进一步转换为拮抗颜色图像。因此,将最后的图像称为RGB拮抗颜色图像。

(10)

(11)

(12)

其中,Ig是原始灰度图像。

由于式(11)中存在减法,通道O1和O2可能会产生负数,但这些负值并不响应SimPCNN过程。为了充分利用通道O1和O2中的这些负信息,通过反转通道O1和O2,并用O4和O5表示反转后的通道,如下所示:

O4=-O1,

O5=-O2

(13)

2.2 彩色图像分割

在彩色图像分割过程中,由于所有图像通道都共用这些参数,因此有必要分配参考通道。在这里,使用归一化的灰度图像通道O3,该通道包含了图像的所有信息。

估计适当的SimPCNN参数后,具有这些参数的SimPCNN模型可以分别应用于每个变换后的颜色通道O1、O2、O4和O5,以及分别用于对象模型和测试图像的归一化灰度图像O3。

在对所有图像通道进行SimPCNN操作之后,采用了一种新颖的图像分割策略,该策略可以在所有五个通道中同步收集图像像素。然后,将收集到的图像像素称为合成触发区域,然后将图像分割成几个合成触发区域。

为了保证图像分割的物理意义,在像素触发两次后,将其内部活动设置为零,以防止再次触发。然后,将每个通道中每个像素的第二次触发时间记录到一个触发顺序矩阵中,该矩阵具有与图像通道相同的大小。因此,可以获得分别对应于对象模型和测试图像的五个触发顺序矩阵。

为了将对象模型和测试图像分割为同步触发区域,为每个像素构造了一个触发顺序向量。位置(i,j)处像素的触发顺序向量由从相同位置(i,j)的五个触发顺序矩阵中提取的五个元素组成,即

(14)

(15)

由于归一化操作,非彩色像素(如白色、灰色和黑色像素)的转换值变得非常相似。因此,这些像素的SimPCNN触发顺序在RGB对应的颜色通道O1、O2、O4和O5中将变得相同,这是因为这些通道是直接从标准化RGB彩色图像中得出的。

在这种情况下,通道O3在将非彩色的像素分离成不同的同步触发区域中起重要作用。由于归一化的灰度图像O3中的白色、灰色和黑色像素的值彼此绝对不同,因此将导致SimPCNN的触发顺序不同。因此,O3通道具有区分白色、灰色和黑色像素并将它们分组到不同的合成触发区域的作用。

2.3 区域匹配

将测试图像中的对象进行旋转/缩放/倾斜,也不会改变对象的组件。在此理想条件下,不同图像中对象的相同组件可能具有相同的触发顺序。因此,假设无论背景如何变化以及无论物体处于什么姿势,同一物体都具有相同的SimPCNN触发顺序向量。

基于此假设,可以通过提取具有与对象合成触发区域相同的触发顺序矢量的合成触发区域,从复杂场景的任何测试图像中识别特定的对象模型。将对象模型和测试图像之间的这些同步点火区域对定义为匹配同步点火区域对。因此,匹配的同步点火区域是在测试图像中包含所需对象的潜在区域。

2.4 离群点去除

测试图像中匹配的合成触发区域通常分散在较大的区域,并且同时包含对象像素和背景像素。为了分离背景像素和对象像素,有必要将匹配的同步触发区域划分为较小的区域斑点,这些斑点会包含对象像素的一部分或背景像素的一部分。

为了加快算法的速度,仅使用匹配同步点火区域对,其中匹配同步点火区域的组成部分大于匹配同步点火区域的总和的1/50。也就是说,与非常小的模型匹配的合成区域相对应的大多数匹配合成区域通常是测试图像中的背景区域。

为了增加匹配区域,我们还实现了区域分割,即对每对匹配同步触发区域分别进行形态封闭和连接成分标记。

用盘形滤波器执行形态封闭,以填充相邻像素之间的间隙。盘形滤波器的半径值应适当分配,以使目标像素与背景像素分离,并保持相邻目标像素之间的连接。在本方法中,盘形滤镜的半径值设置为三个像素。

随后,在每个匹配同步触发区域的最终形态学闭合图像中,使用连接成分标记来计算八个连接成分。这些连接的组件可以标记为匹配同步触发区域中的分离区域斑点。

但是,可能存在许多区域斑点,其区域太小而无意义。因此删除这些区域斑点,以加快算法的运行速度。在实验中,仅保留了像素面积大于100(图像尺寸:640×480)的区域斑点。

对于每个其余的区域斑点,计算如面积、长轴长度、短轴长度、加权质心和偏心率的区域属性。此处,长轴和短轴长度是具有与区域斑点相同的归一化第二中心矩的椭圆的长轴和短轴的长度(以像素为单位)。另外,偏心率是此椭圆的偏心率。

由于测试图像中可能存在许多背景区域斑点,因此需要删除明显的斑点。在本方法中,首先删除面积非常大的测试区域斑点,当斑点面积Φtb满足以下关系时,则将该斑点删除:

Φtb>θmax×Φti

(16)

然后,通过将测试区域的大小与对象模型的权重大小进行比较,删除了在大空间中松散分布的测试区域斑点。权重可以是大于1的常数,这可以在一定程度上确保尺度不变。删除了满足以下条件的松散分布的测试区域斑点:

(17)

此外,还删除了长轴长度满足以下关系的斑点:

(18)

2.5 基于簇的匹配

经过了上述移除离群测试区域斑点的操作之后,测试图像已经变得不完整,而且在背景区域斑点和对象区域斑点之间具有许多间隙。由于所需的对象只能占据测试图像中的局部区域,因此可以在一定的半径距离约束下将剩余的附近测试区域斑点分组为几个簇。聚类的主要步骤如下所示:

步骤1:按区域大小降序对列表中的所有测试区域斑点进行排序。

步骤2:将面积最大的测试区域斑点标记为根区域斑点。

步骤3:计算每个测试区域斑点与根区域斑点之间的强度加权质心的距离。

步骤4:在特定的簇半径阈值内,将与根区域斑点的相邻测试区域斑点分为一组,形成簇。

步骤5:在列表中将根区域斑点的区域值设置为0,以确保该根区域斑点在接下来的迭代中不会再次成为根区域斑点。

步骤6:重复步骤1-5的过程,直到所有区域斑点的面积都设置为0。

簇半径阈值可能会影响包含所需对象的最终匹配簇:如果阈值太大,则匹配簇将包括不相关的背景区域斑点;相反,如果阈值太小,则匹配的簇可能仅包含对象的一部分。因此,群集半径阈值应根据不同的对象模型进行调整。

因此,可以根据模型区域斑点之间的强度加权质心距离来设置簇半径阈值Thr,如下所示:

Thr=avg(d)+μ×sd(d)

(19)

其中d表示每对模型区域斑点的强度加权质心之间的距离,而μ是加权常数。本研究中,根据经验将μ=0.5。

当以此方式获得多个簇时,这些簇中的一些可能会相互重复,并且与对象模型相比,其中一些簇可能太小或太大。因此,需要对簇进行细化处理。

步骤1:对于重复的簇,仅保留其中一个。

步骤2:删除面积满足式(20)和式(21)的簇。

Φcl<ρl×Φm

(20)

Φc>ρh×Φm

(21)

步骤3:删除偏心率Ec式(22)的簇。

Ec>τeccentr×Em

(22)

下一步是挑选出最有可能包含所需对象的簇。使用彩色直方图的Bhattacharyya距离[6]用于测量每个测试簇图像与模型图像之间的距离,即:

(23)

其中,h表示颜色直方图,n表示直方图中第n个元素,i表示测试图像中的第i个簇。具有最小直方图Bhattacharyya距离的测试簇最有可能包含所需对象。从理论上讲,概率值随着Bhattacharyya距离的增加而减小。

3 实验评估

本节采用实验以检验基于带有自动参数SimPCNN的识别方法的有效性。实验所采用的工作站配置有3.80 GHz的Intel E5-2690的MATLAB r2016b上运行。

实验中使用了IJCV数据集,该数据集中的图像大小为1280×960[7]。IJCV数据集包含了关于8个对象的161个模型图像和包含多个对象的51个杂乱的测试图像。对于每个对象,首先在每个模型图像和每个阳性测试图像之间进行识别。另外,从每个对象中选择一个模型图像,并在它与每个在模型图像中不包含所需对象的阴性图像之间进行实验。将提出的RegionRec与OpponentSIFT进行性能对比。OpponentSIFT是基于颜色描述符的图像识别方法。

在文中,真阳率(TP)是指识别结果和从阳性测试图像手动切出的正确图像的相交像素数。假阳率(FP)是指包含在识别结果中的背景像素的数量,而假阴率(FN)是指被排除在识别结果之外的正确图像的像素数量。一般来说,高假阳率比高假阴率更不可接受。

采用精确度precision和recall作为评估指标,计算方式如式(24)所示。precision对假阳率敏感,而较大的precision说明识别结果的误报率低。recall对假阴率敏感,recall的值大意味着识别结果的假阴率低。当评估对象识别结果时,在较高precision阈值的前提下可接受较低recall阈值,即当precision≥0.7以及recall≥0.1时,认为评估结果是可接受的。以运动鞋和苹果例子,表1展示了precision和recall的实验结果。由结果可知,运动鞋和苹果的precision和recall指标均满足precision≥以及recall≥0.1,说明识别的结果是可接受的。

(24)

表1 RegionRec识别结果

接下来,用准确率(accuracy)和F-measure两种指标来对比评估算法的性能,结果如表2所示,这两个指标的计算方式如下所示。显然,提出的RegionRec算法具有较高的准确率和F-measure,因此,RegionRec具有更好的性能。

(25)

(26)

表2 两种算法的性能对比

4 结论

针对云计算存储的场景,提出了一种基于区域的图像识别方法,以识别复杂图像中的特定对象。所提出的对象识别方法基于SimPCNN进行颜色分割,在对象模型和测试图像之间执行基于区域的匹配。实验结果表明所提出的RegionRec方法具有较好的性能。未来的工作集中于将本方法部署到诸如亚马逊云、阿里云的真实云计算场景中,进一步探讨该方法的性能。

猜你喜欢
斑点神经元阈值
可爱的小斑点
土石坝坝体失稳破坏降水阈值的确定方法
斑点豹
AI讲座:神经网络的空间对应
采用红细胞沉降率和C-反应蛋白作为假体周围感染的阈值
仿生芯片可再现生物神经元行为
这个神经元负责改变我们的习惯
研究人员精确定位控制饮酒的神经元
辽宁强对流天气物理量阈值探索统计分析
摆脱病毒