一种基于典型相关分析网络的二视角图像识别方法与流程

文档序号:12365728阅读:271来源:国知局
一种基于典型相关分析网络的二视角图像识别方法与流程

本发明涉及一种数字图像识别方法,特别涉及到一种基于典型相关分析网络的二视角图像识别方法。



背景技术:

图像识别问题长久以来都是模式识别和人工智能领域研究的热点问题,同时也是图像检索、图像理解和分析等研究的基础。图像分类过程中,更加全面的提取到训练样本的特征,有助于提高最终的分类效果。深度学习网络应用于图像分类任务中,可以提取到原始图像的多级特征,有助于更加全面的反映原始图像的信息。

因此,大量深度学习相关的图像识别算法包括深度神经网络(DNNs),卷积神经网络(CNN),小波散射网络(ScatNet)及主成分分析网络(PCANet)已成功的应用于不同的图像分类任务中。其中,主成分分析网络PCANet应用于人脸识别,物体识别,手写数字识别等图像识别任务中获得了最高的识别率。但是,上述的图像分类算法都只能处理样本图像只有一个视角表示的情况,无法应用到样本图像由两个视角表示的情况中。



技术实现要素:

为了解决现有技术中的问题,本发明提出一种基于典型相关分析网络的二视角图像识别方法,其包括如下步骤:

S1,提取训练图像库的每个训练样本图像两个视角的特征以及测试图像库中的每个测试样本图像两个视角的特征;

S2,对训练样本图像的两个视角特征进行训练,得到训练样本图像两个视角的滤波器组,并用各自的滤波器对相对应视角的样本图像进行滤波处理,并计算训练样本图像的特征向量;

S3,用训练得到的滤波器组对测试样本图像的两个视角进行滤波,并计算出测试样本图像的特征向量;

S4,采用最近邻分类器对测试样本图像的特征向量进行分类识别。

进一步的,对步骤S1提取的训练样本图像两个视角的特征进行取样并进行向量化处理,得到训练样本图像两个视角各自的样本矩阵。

进一步的,所述步骤S2具体包括如下步骤:

S12,利用典型相关分析算法计算训练样本图像两个样本矩阵各自的滤波器组,利用每个视角的滤波器组对各自对应的视角样本图像进行滤波,得到第一层网络的输出,至此第一层卷积网络结束;

S13,将第一层网络的输出作为第二层网络的输入,进而组成第二层的样本矩阵;

S14,利用典型相关分析算法计算第二层的滤波器组,并对第二层进行滤波,得到第二层的输出,至此第二层卷积网络结束;

S15,对最后一层卷积网络的输出进行处理,得到每个训练样本所对应的特征向量。

进一步的,所述步骤S3具体为:利用学习得到的滤波器组对测试样本两个视角的特征进行滤波,最后经输出层处理后,每个测试样本得到一个特征向量。

进一步的,所述训练样本图像两个视角各自的样本矩阵提取步骤如下:

S1101,提取训练图像库中的第i个训练样本图像:

S1102,提取第i个训练样本图像的两个视角的子图,其中第一个视角子图为: 第二个视角子图为

S1103,对第一个视角的子图取样,在每个像素周围选取一个k1×k2大小的矩阵,并将其向量化,

S1104,将第i个训练样本图像的第一个视角组成一个矩阵,将其表示为

S1105,减去每一维的均值后,用表示每个训练样本,将所有训练样本图像的第一个视角所有训练样本组成一个样本矩阵,将其表示为:

S1106,利用步骤S1103-1105对第二个视角子图进行处理,得到第二个视角的样本矩阵为:

其中,训练样本图像的数量为N,每个样本图像的大小为m×n。

进一步的,所述步骤S12的具体包括如下步骤:

S1201,计算样本矩阵X1自协方差矩阵S11,以及样本矩阵X2的自协方差矩阵S22,以及X1和X2互协方差矩阵S12,以及X2和X1互协方差矩阵S21

S1202,根据上述协方差矩阵和互协方差矩阵计算矩阵和其中矩阵

S1203,计算矩阵和的特征向量,并取前L1个,的特征向量为 的特征向量为:

S1204,将步骤S1203得到的特征向量矩阵化,得到两个视角的滤波器组和其中,l=1,2,…,L1

S1205,利用滤波器组对两个视角的子图进行滤波,得到第一层的输出 和

进一步的,所述步骤S13具体包括如下步骤:

S1301,对第二层两个视角输入进行取样和向量化处理,得到两个视角

S1302,将经过第l个滤波器滤波的所有样本图像组合成一个矩阵,两个视角分别为:

S1303,分别对和减去每一维的均值,得到和和;

S1304,将所有去均值的矩阵连接在一起组成两个视角的样本矩阵Y1和Y2

进一步的,所述步骤S14具体包括如下步骤:

S1401,计算样本矩阵Y1自协方差矩阵C11,以及样本矩阵Y2的自协方差矩阵C22,以及Y1和Y2互协方差矩阵C12,以及Y2和Y1互协方差矩阵C21

S1402,根据上述协方差矩阵和互协方差矩阵计算矩阵和其中矩阵

S1403,计算第二层两个视角的滤波器组和其中, 表示计算ο的第个特征向量,

S1404,利用第二层的滤波器组分别对两个视角的子图进行滤波,得到第二层的网络输出,和

进一步的,所述步骤S15具体包括如下步骤:

S1501,对第二层的网络输出进行二值化处理;

S1502,将二值化的图像转换为十进制图像;

S1503,将得到的十进制图像进行分块,并统计每一块的直方图;

S1504,将第i个样本的第一个视角的直方图串接成一个向量,将第i个样本的第二个视角的直方图串接成另一个向量;

S1505,将两个视角的特征向量组合成样本Ii的特征向量,使得每个样本图像对应一个特征向量。

进一步的,所述训练样本图像两个视角的特征可以是高频分量和低频分量或者不同的颜色信息。

本发明相对于现有技术所具有的优点为:现有与深度学习网络相关的图像识别算法包括DNN,CNNs,ScatNet以及PCANet都只能处理样本图像只有单个视角表示的情况。而在图像识别任务中,更加全面的利用样本特征有助于提高识别的准确率。CCANet算法可以处理样本图像由两个视角表示的情况,相对于现有技术而言,两个视角比单个视角能够更加全面的反映样本图像的特征,进而提高图像的识别率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明图像识别装置的工作流程图;

图2为本发明训练样本图像特征向量的提取流程图;

图3为本发明所采用的提取第一层卷积网络的两个视角样本矩阵方法的流程图;

图4为本发明所采用的计算第一层卷积网络滤波器及输出的流程图;

图5为本发明所采用的提取第二层卷积网络的两个视角样本矩阵方法的流程图;

图6为本发明所采用的计算第二层卷积网络滤波器及输出的流程图;

图7为本发明所采用的输出层计算特征向量的流程图;

图8为本发明的采用二层卷积网络时的算法流程图;

图9为本发明在ETH-80数据库上的实验结果图。

具体实施方式

下面结合附图对本发明做进一步说明。

本发明提出一种基于典型相关分析网络的二视角图像识别方法,其包括如下步骤:

S1,提取训练图像库的每个训练样本图像两个视角的特征以及测试图像库中的每个测试样本图像两个视角的特征;

S2,对训练样本图像的两个视角特征进行训练,得到训练样本图像两个视角的滤波器组,并用各自的滤波器对相对应视角的样本图像进行滤波处理,并计算训练样本图像的特征向量;

S3,用训练得到的滤波器组对测试样本图像的两个视角进行滤波,并计算出测试样本图像的特征向量;

S4,采用最近邻分类器对测试样本图像的特征向量进行分类识别。

参考图1,对上述步骤进行进一步说明,本发明的数字图像存储设备中存放了用于训练的训练图像库,以及待分类的测试图像库。首先,提取训练图像库和测试图像库中每个样本图像的两个视角的特征子图,两个不同视角的子图可以是高频分量和低频分量,也可以是不同的颜色信息等;总之,所选取的两个视角的特征子图能够反映出原始样本的不同信息即可。其次,对训练图像的两个视角的子图进行训练,得到两个视角多层滤波器组,并用滤波器对两个视角的子图进行滤波处理,最后计算特征向量,一个训练样本对应一个特征向量表示。然后,测试样本的两个视角的特征子图经过由上述学习得到的滤波器组滤波处理后,同样也计算出与测试样本一一对应的特征向量。最后,用最近邻分 类器对测试样本图像的特征向量进行分类识别。

下面结合图2对本发明得到训练样本特征向量的方法进行说明。步骤S10是起始动作。步骤S11:提取样本图像两个视角的特征,每个样本图像得到两个子图,进而组成两个视角的样本矩阵,其详细说明如图3所示。步骤S12:根据样本矩阵利用典型相关分析的方法计算滤波器组,并用所得的滤波器对两个视角的子图进行滤波,得到第一层网络的输出,至此,第一层卷积网络结束,其详细说明如图4所示。第二层网络的处理步骤跟第一层类似,其中,步骤S13:将第一层的输出作为第二层的输入,进而组成第二层的样本矩阵,其详细说明如图5所示。步骤S14:根据第二层的样本矩阵利用典型相关分析算法计算第二层的滤波器组,并对第二层的子图进行滤波,得到第二层的输出,其详细说明如图6所示。至此,第二层卷积网络结束。步骤S15是网络的输出层,对最后卷积层的输出进行二值化,基于块的直方图等处理步骤,得到样本的特征向量表示,其详细说明如图7所示。

图8示出了CCANet算法的框架流程图。首先提取训练样本图像两个视角的特征。然后由这两个视角的样本子图构成样本矩阵并计算第一层卷积网络的滤波器组。经过第一层的滤波器滤波后得到第一层的输出图像。重复第一层网络的处理流程,第二层网络同样可以得到滤波后的图像。对最后一层滤波后的图像进行二值化,基于块的直方图处理后,每个视角可以得到一个特征向量,最后将这两个特征向量连接,得到描述样本图像的特征向量,一个特征向量对应一个样本图像,将特征向量用于分类任务中。

本发明采用了两层卷积网络,已经足够满足对图像的识别;当然,实际中当然可以采用多层,可以继续重复第一层的操作,在第二层后面增加若干层。

下面将得到测试样本的特征向量流程进行说明;将测试样本利用与训练样本相同的方法提取测试样本图像两个视角的特征子图,测试样本的两个视角的特征子图经过由上述训练得到的第一层滤波器组滤波处理后,得到第一层的输出图像,将第一层的输出作为第二层的输入,利用训练得到的第二层滤波器组对第一层输出图像进行滤波,得到第二层的输出图像,对第二层的输出进行二值化,基于块的直方图等处理步骤,得到样本的特征向量表示,每个测试样本 也可得到一一对应的特征向量。

图3示出了图2中步骤S11的详细描述,具体说明了如何对训练图像提取两个样本矩阵。步骤S1100是起始状态。步骤S1101假设训练样本图像数量为N,每个样本的大小为m×n,Ii表示第i个训练图像。步骤S1102中用和分别表示两个视角的子图。步骤S1103在第一个视角的子图上进行取样和向量化处理。步骤S1104将第一个视角的每个训练样本组成一个矩阵。步骤S1105将第一个视角的所有训练样本组合成第一个视角的样本矩阵。步骤S1106是对第二个视角进行与第一个视角同样的处理得到第二个视角的样本矩阵。步骤S1107是结束状态。

图4示出了图2中步骤12的详细描述,具体说明了如何利用典型相关分析算法提取两个样本矩阵(X1和X2)的滤波器组。步骤S1200是起始状态。步骤S1201:计算样本矩阵X1的自协方差矩阵S11,X2的自协方差矩阵S22,X1与X2的互协方差矩阵S12,以及X2与X1的互协方差矩阵S21。步骤S1202:根据协方差矩阵和互协方差矩阵计算了矩阵和步骤S1203分别计算了矩阵和的特征向量,取前L1个。步骤S1204将特征向量矩阵化,得到两个视角的滤波器组和其中,的作用是将向量变成矩阵步骤1205:利用学习到的滤波器组对两个视角的子图进行滤波,得到第一层的输出和步骤S1206是结束状态。

图5示出了图2中步骤S13的详细描述,具体说明了如何由第一层卷积网络的输出得到第二层卷积网络的样本矩阵。步骤S1300是起始状态。步骤S1301与第一层卷积网络中取样向量化操作相同,是对第二层的输入进行取样以及向量化处理。步骤S1302是将经过第l个滤波器滤波的所有图像组合成一个矩阵。步骤S1303对每个和减去每一维的均值l=1,2,…,L1。步骤S1304将所有去均值后的矩阵连接在一起组成两个视角的样本矩阵Y1和Y2。步骤S1305是结束状态。

图6示出图2中步骤S14的详细描述,具体说明了如何根据第二层卷积网络的样本矩阵计算第二层网络两个视角的滤波器组以及第二层的输出。步骤 S1400是起始状态。步骤S1401计算样本矩阵Y1的自协方差矩阵C11,Y2的自协方差矩阵C22,Y1与Y2的互协方差矩阵C12,以及Y2与Y1的互协方差矩阵C21。步骤S1402根据协方差矩阵和互协方差矩阵计算了矩阵和步骤S1403计算两个视角的滤波器组和其中,表示计算ο的第个特征向量。步骤S1404是用第二层的滤波器组分别对两个视角的子图进行滤波,得到第二层卷积网络的输出。步骤S1405是结束状态。

图7示出了图2中步骤S15的详细描述,具体说明了如何对第二层卷积网络的输出处理得到表示样本的特征向量。步骤S1500是起始状态。步骤S1501是对第二层卷积网络的输出进行二值化处理,其中将大于0的元素映射为1,否则映射为0。步骤S1502将二值化的图像转换为十进制图像其中每个元素的范围为步骤S1503将得到的十进制图像进行分块,并统计每一块的直方图。步骤S1504将第i个样本的第一个视角的直方图串接成一个向量,用fi1表示。步骤S1505将两个视角的特征向量组合成样本Ii的特征向量,每个样本图像对应一个特征向量。步骤S1506是结束状态。

为了验证典型相关分析网络(CCANet)算法的有效性,我们采用ETH-80数据库进行了实验。ETH-80为彩色数据库,实验提取了红(R),绿(G),蓝(B)三种颜色分量作为不同视角的子图。实验时,分别随机采用500,1000,1500,2000个图像作为训练样本,在相同的条件下,分别测得RandNet-1,RandNet-2,PCANet以及CCANet的识别率。图9说明了实验的结果,从上到下PCANet和RandNet-1依次采用样本图片的R,G,B分量,而CCANet和RandNet-2依次采用R和B,G和R,G和B分量进行实验。横坐标表示实验选用的训练样本的数量,纵坐标表示识别率,在每个训练样本数量下重复十次实验,每次实验的训练样本是随机选取的,剩下的作为测试样本。从图9所示的箱线图中可以看出,就平均识别率(即箱线图中中间的那条线)而言,CCANet优于前三种算法,实现了最好的分类效果。另外,PCANet和CCANet的识别效果明显好于RandNet-1和RandNet-2,又以RandNet-1的识别效果最差。

RandNet-1是将PCANet算法中的滤波器组替换为随机生成的矩阵, RandNet-2是将CCANet算法中的滤波器组代替为随机生成的矩阵。因此RandNet-1和RandNet-2中的滤波器组不需要学习,但识别率低。

以上实施例仅用以说明本发明的技术方案,而非对其进行限制;尽管参照前述实施例对本发明进行了详细的说明,对于本领域的普通技术人员来说,依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明所要求保护的技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1