本发明涉及光谱图像分类识别的领域,特别是涉及一种高光谱图像材质识别方法及系统。
背景技术:
生活中的事物均涉及材质,不同材质的事物构成了事物的多样性。对于各类材质的识别是人们对目标事物感知和理解的重要因子,研究材质识别方法,对于计算机视觉、遥感、食物检查、矿物学和循环回收利用等领域都发挥着非常重要的作用。
高光谱图像具有高光谱分辨率、光谱信息丰富的优势,俗称“材料光谱”。高光谱图像所包含的信息能反映目标的外部品质特征(大小、形状、缺陷)和内部物理结构、化学成分的差异,一直是材质识别非常重要的数据来源,在材质分类、精准农业、以及环境监测等方面有着重要的应用价值。但高光谱图像光谱维度高,不同材质类型光谱有类内差异大类间差异小的现象,这使得基于高光谱图像的材质判别函数常采用复杂度高的模型,这类模型的求解需要大量的样本信息,如,近年研究较多的深度神经网络模型,然而,实际任务中要采集已知材质类型的高光谱图像样本费事费力,因此希望样本数量少时即小样本情况下能以比较高的精度基于高光谱图像识别材质。另一方面,不同传感器hsi可能具有不同光谱波段,也希望材质判别模型在光谱波段数区别不大的情况下能够通用,以增强模型的鲁棒性。
大量的研究已经表明训练充分的深度神经网络模型是高精度的保证,但小样本情况下如何能够充分训练深度神经网络,一般的做法是通过各种变换增加样本,甚至通过对抗生成网络生成虚拟样本,但样本变换和生成虚拟样本增加的样本信息对训练深度神经网络所起的作用仍然是有限的。因为,用这类方法扩增样本后,样本信息本质上与原始样本信息有较高的重叠度,所带来的新的信息量有限,故提升模型的性能很有限。
因此现有高光谱图像材质识别方法存在小样本和不同传感器高光谱图像波段数量自适应的问题。
技术实现要素:
本发明的目的是提供一种高光谱图像材质识别方法及系统,充分利用样本之间的差异性,且不限制样本的波段数量和图像尺寸,只需要少量样本就能实现高光谱图像中材质的快速准确识别。
为实现上述目的,本发明提供了如下方案:
一种高光谱图像材质识别方法,包括:
获取不同材质类型的高光谱图像,并根据所述不同材质类型的高光谱图像构建目标材质样本集;
将所述目标材质样本集中任意选取的两个样本构成输入样本对集,并将所有输入样本对集随机分成若干个实例集;
采用深度卷积网络分别提取任一所述实例集中的每一所述输入样本对中两个单样本特征;
对每一所述单样本特征采用自适应空间光谱金字塔池化方法,提取多尺度单样本特征;
根据每一所述输入样本对对应的多尺度单样本特征,采用特征链接方法,生成样本对特征;
采用深度神经网络度量方法计算所述样本对特征的损失值;
根据所述实例集中所有的样本对特征的损失值,采用损失函数计算所述实例集的总体损失值;
根据所述实例集的总体损失值,利用反向传播机制更新神经网络模型的参数,并返回所述采用深度卷积网络分别提取任一所述实例集中的每一所述输入样本对中两个单样本特征的步骤,直至任意所述实例集的总体损失值小于损失值阈值,得到训练好的神经网络模型;所述神经网络模型的参数包括:深度卷积网络的参数取值、自适应空间光谱金字塔池化的参数取值、特征链接的参数取值和深度神经网络度量的参数取值;
根据待识别的高光谱图像,基于所述训练好的神经网络模型,采用逐像元方法依次识别,得到所述待识别的高光谱图像的材质类型。
可选的,所述获取不同材质类型的高光谱图像,并根据所述不同材质类型的高光谱图像构建目标材质样本集,具体包括:
获取所述高光谱图像的c个材质类型;c为正整数;
对所述材质类型进行1~c的编号;
将第i个材质类型选取mi个像元作为训练样本的中心点,并按照设定规则提取所选像元对应的样本;所述设定规则为一维提取、二维提取或者三维提取;
根据所有的材质类型的像元对应的样本及材质类型确定所述目标材质样本集。
可选的,所述将所述目标材质样本集中任意选取的两个样本构成输入样本对集,并将所有输入样本对集随机分成若干个实例集,具体包括:
根据所述目标材质样本集随机选取样本xk1和样本xk2;
根据所述样本xk1和所述样本xk2确定输入样本对集pk=[xk1,xk2];
判断所述样本xk1和所述样本xk2的中心像元是否属于同一材质类型;
若所述样本xk1和所述样本xk2的中心像元属于同一材质类型,则所述输入样本对集pk的材质类型编号与所述样本xk1和所述样本xk2材质类型编号相同;
若所述样本xk1和所述样本xk2的中心像元不属于同一材质类型,则所述输入样本对集pk的材质类型编号为c+1。
可选的,所述根据待识别的高光谱图像,基于所述训练好的神经网络模型,采用逐像元方法依次识别,得到所述待识别的高光谱图像的材质类型,具体包括:
将所述待识别的高光谱图像上的任意像元作为中心像元,并与所述中心像元对应的设定范围邻域内的每个像元组合成像素对;
将所述像素对生成若干待识别样本对;
根据所述待识别样本对,利用训练好的神经网络模型,得到所述待识别样本对的关系评分;
根据所述待识别样本对的关系评分中最大概率值的位置,确定所述待识别样本对的材质类型,返回所述根据所述待识别样本对,利用训练好的神经网络模型,得到所述待识别样本对的关系评分的步骤,进行下一待识别样本对的材质类型的确定;
根据所有待识别样本对的材质类型确定所述中心像元的材质类型,并返回所述将所述待识别的高光谱图像上的任意像元作为中心像元,并与所述中心像元对应的设定范围邻域内的每个像元组合成像素对的步骤,进行下一中心像元的材质类型的确定;
根据所有中心像元的材质类型确定所述待识别的高光谱图像的材质类型。
一种高光谱图像材质识别系统,包括:
目标材质样本集构建模块,用于获取不同材质类型的高光谱图像,并根据所述不同材质类型的高光谱图像构建目标材质样本集;
实例集确定模块,用于将所述目标材质样本集中任意选取的两个样本构成输入样本对集,并将所有输入样本对集随机分成若干个实例集;
单样本特征提取模块,用于采用深度卷积网络分别提取任一所述实例集中的每一所述输入样本对中两个单样本特征;
多尺度单样本特征提取模块,用于对每一所述单样本特征采用自适应空间光谱金字塔池化方法,提取多尺度单样本特征;
样本对特征生产模块,用于根据每一所述输入样本对对应的多尺度单样本特征,采用特征链接方法,生成样本对特征;
样本对特征的损失值确定模块,用于采用深度神经网络度量方法计算所述样本对特征的损失值;
实例集的总体损失值确定模块,用于根据所述实例集中所有的样本对特征的损失值,采用损失函数计算所述实例集的总体损失值;
训练好的神经网络模型确定模块,用于根据所述实例集的总体损失值,利用反向传播机制更新神经网络模型的参数,并返回所述采用深度卷积网络分别提取任一所述实例集中的每一所述输入样本对中两个单样本特征的步骤,直至任意所述实例集的总体损失值小于损失值阈值,得到训练好的神经网络模型;所述神经网络模型的参数包括:深度卷积网络的参数取值、自适应空间光谱金字塔池化的参数取值、特征链接的参数取值和深度神经网络度量的参数取值;
待识别的高光谱图像的材质类型确定模块,用于根据待识别的高光谱图像,基于所述训练好的神经网络模型,采用逐像元方法依次识别,得到所述待识别的高光谱图像的材质类型。
可选的,所述目标材质样本集构建模块具体包括:
材质类型获取单元,用于获取所述高光谱图像的c个材质类型;c为正整数;
材质类型编号单元,用于对所述材质类型进行1~c的编号;
像元对应的样本提取单元,用于将第i个材质类型选取mi个像元作为训练样本的中心点,并按照设定规则提取所选像元对应的样本;所述设定规则为一维提取、二维提取或者三维提取;
目标材质样本集确定单元,用于根据所有的材质类型的像元对应的样本及材质类型确定所述目标材质样本集。
可选的,所述实例集确定模块具体包括:
样本选取单元,用于根据所述目标材质样本集随机选取样本xk1和样本xk2;
输入样本对集确定单元,用于根据所述样本xk1和所述样本xk2确定输入样本对集pk=[xk1,xk2];
判断单元,用于判断所述样本xk1和所述样本xk2的中心像元是否属于同一材质类型;
输入样本对集的材质类型编号第一确定单元,用于若所述样本xk1和所述样本xk2的中心像元属于同一材质类型,则所述输入样本对集pk的材质类型编号与所述样本xk1和所述样本xk2材质类型编号相同;
输入样本对集的材质类型编号第二确定单元,用于若所述样本xk1和所述样本xk2的中心像元不属于同一材质类型,则所述输入样本对集pk的材质类型编号为c+1。
可选的,所述待识别的高光谱图像的材质类型确定模块具体包括:
像素对确定单元,用于将所述待识别的高光谱图像上的任意像元作为中心像元,并与所述中心像元对应的设定范围邻域内的每个像元组合成像素对;
待识别样本对确定单元,用于将所述像素对生成若干待识别样本对;
待识别样本对的关系评分确定单元,用于根据所述待识别样本对,利用训练好的神经网络模型,得到所述待识别样本对的关系评分;
待识别样本对的材质类型确定单元,用于根据所述待识别样本对的关系评分中最大概率值的位置,确定所述待识别样本对的材质类型,返回所述根据所述待识别样本对,利用训练好的神经网络模型,得到所述待识别样本对的关系评分的步骤,进行下一待识别样本对的材质类型的确定;
中心像元的材质类型的确定单元,用于根据所有待识别样本对的材质类型确定所述中心像元的材质类型,并返回所述将所述待识别的高光谱图像上的任意像元作为中心像元,并与所述中心像元对应的设定范围邻域内的每个像元组合成像素对的步骤,进行下一中心像元的材质类型的确定;
待识别的高光谱图像的材质类型确定单元,用于根据所有中心像元的材质类型确定所述待识别的高光谱图像的材质类型。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明所提供的一种高光谱图像材质识别方法及系统,采用深度全卷积网络方法提取单样本特征,采用自适应空间光谱金字塔池化方法提取多尺度单样本特征;并采用特征链接方法,将不同样本的多尺度特征链接起来,生成样本对特征;采用深度神经网络度量方法得到样本对的损失值;并基于所述损失值,在训练阶段计算损失值,利用后向传播算法更新模型的参数,在应用阶段以邻域投票策略,生成材质识别结果图像;本发明克服了现有的高光谱图像材质识别方法中的小样本和不同传感器高光谱图像波段数量自适应问题,充分利用样本之间的差异性,且不限制样本的波段数量和空间维度,只需要少量样本就能实现高光谱图像中材质的快速准确识别。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所提供的一种高光谱图像材质识别方法流程示意图;
图2为本发明所提供的一种高光谱图像材质识别系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种高光谱图像材质识别方法及系统,充分利用样本之间的差异性,且不限制样本的波段数量和图像尺寸,只需要少量样本就能实现高光谱图像中材质的快速准确识别。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明所提供的一种高光谱图像材质识别方法流程示意图,如图1所示,本发明所提供的一种高光谱图像材质识别方法,包括:
s101,获取不同材质类型的高光谱图像,并根据所述不同材质类型的高光谱图像构建目标材质样本集。高光谱图像为传感器的高光谱图像库中经过辐射校正的高光谱图像。每种样本的数量可少至200像元左右。
s101具体包括:
获取所述高光谱图像的c个材质类型;c为正整数。
对所述材质类型进行1~c的编号。
将第i个材质类型选取mi个像元作为训练样本的中心点,并按照设定规则提取所选像元对应的样本;所述设定规则为一维提取、二维提取或者三维提取。
根据所有的材质类型的像元对应的样本及材质类型确定所述目标材质样本集。
s102,将所述目标材质样本集中任意选取的两个样本构成输入样本对集,并将所有输入样本对集随机分成若干个实例集。其中每个实例集中包含多个输入样本对,是相似于小批量的输入集。
s102具体包括:
根据所述目标材质样本集随机选取样本xk1和样本xk2。
根据所述样本xk1和所述样本xk2确定输入样本对集pk=[xk1,xk2]。
判断所述样本xk1和所述样本xk2的中心像元是否属于同一材质类型。
若所述样本xk1和所述样本xk2的中心像元属于同一材质类型,则所述输入样本对集pk的材质类型编号与所述样本xk1和所述样本xk2材质类型编号相同。
若所述样本xk1和所述样本xk2的中心像元不属于同一材质类型,则所述输入样本对集pk的材质类型编号为c+1。
具体利用公式
根据所述的样本对标记策略,训练阶段输入的样本对集包含c+1个材质类别,假设目标材质样本集s的大小为||s||,那么输入样本对集大小为||s||2。
s103,采用深度卷积网络分别提取任一所述实例集中的每一所述输入样本对中两个单样本特征。
所述提取单样本特征的具体步骤包括:
设计一个深度全卷积神经网络
s104,对每一所述单样本特征采用自适应空间光谱金字塔池化方法,提取多尺度单样本特征。
所述根据单样本特征,提取多尺度单样本特征的步骤,具体包括:
设计一个自适应空间光谱金字塔池化层hθ,其中θ是所述自适应金字塔池化的参数,它包含金字塔结构的层数以及每层输出特征的维度大小,将所述的单样本特征
s105,根据每一所述输入样本对对应的多尺度单样本特征,采用特征链接方法,生成样本对特征。
所述根据多尺度单样本特征,生成样本对特征的步骤具体包括:
利用链接函数cη,将所述的多尺度单样本特征
s106,采用深度神经网络度量方法计算所述样本对特征的损失值。
所述根据样本对特征,计算样本对特征损失值的步骤具体包括:设计一个深度神经网络gψ作为样本对特征度量模块,将所述的样本对特征
s107,根据所述实例集中所有的样本对特征的损失值,采用损失函数计算所述实例集的总体损失值。
s108,根据所述实例集的总体损失值,利用反向传播机制更新神经网络模型的参数,并返回所述采用深度卷积网络分别提取任一所述实例集中的每一所述输入样本对中两个单样本特征的步骤,直至任意所述实例集的总体损失值小于损失值阈值,得到训练好的神经网络模型;所述神经网络模型的参数包括:深度卷积网络的参数取值
s109,根据待识别的高光谱图像,基于所述训练好的神经网络模型,采用逐像元方法依次识别,得到所述待识别的高光谱图像的材质类型。
s109具体包括:
将所述待识别的高光谱图像上的任意像元作为中心像元,并与所述中心像元对应的设定范围邻域内的每个像元组合成像素对。设定范围邻域的尺寸为w×w,w不小于3。
将所述像素对生成若干待识别样本对。
根据所述待识别样本对,利用训练好的神经网络模型,得到所述待识别样本对的关系评分。
根据所述待识别样本对的关系评分中最大概率值的位置,确定所述待识别样本对的材质类型,返回所述根据所述待识别样本对,利用训练好的神经网络模型,得到所述待识别样本对的关系评分的步骤,进行下一待识别样本对的材质类型的确定。
根据所有待识别样本对的材质类型确定所述中心像元的材质类型,并返回所述将所述待识别的高光谱图像上的任意像元作为中心像元,并与所述中心像元对应的设定范围邻域内的每个像元组合成像素对的步骤,进行下一中心像元的材质类型的确定。
具体为:
剔除材质类型为c+1的值,统计邻域内个数最多的样本对材质类型,作为中心像元的材质类别。
根据所有中心像元的材质类型确定所述待识别的高光谱图像的材质类型。
图2为本发明所提供的一种高光谱图像材质识别系统结构示意图,如图2所示,本发明所提供的一种高光谱图像材质识别系统,包括:
目标材质样本集构建模块201,用于获取不同材质类型的高光谱图像,并根据所述不同材质类型的高光谱图像构建目标材质样本集。
实例集确定模块202,用于将所述目标材质样本集中任意选取的两个样本构成输入样本对集,并将所有输入样本对集随机分成若干个实例集。
单样本特征提取模块203,用于采用深度卷积网络分别提取任一所述实例集中的每一所述输入样本对中两个单样本特征。
多尺度单样本特征提取模块204,用于对每一所述单样本特征采用自适应空间光谱金字塔池化方法,提取多尺度单样本特征。
样本对特征生产模块205,用于根据每一所述输入样本对对应的多尺度单样本特征,采用特征链接方法,生成样本对特征。
样本对特征的损失值确定模块206,用于采用深度神经网络度量方法计算所述样本对特征的损失值。
实例集的总体损失值确定模块207,用于根据所述实例集中所有的样本对特征的损失值,采用损失函数计算所述实例集的总体损失值。
训练好的神经网络模型确定模块208,用于根据所述实例集的总体损失值,利用反向传播机制更新神经网络模型的参数,并返回所述采用深度卷积网络分别提取任一所述实例集中的每一所述输入样本对中两个单样本特征的步骤,直至任意所述实例集的总体损失值小于损失值阈值,得到训练好的神经网络模型;所述神经网络模型的参数包括:深度卷积网络的参数取值、自适应空间光谱金字塔池化的参数取值、特征链接的参数取值和深度神经网络度量的参数取值。
待识别的高光谱图像的材质类型确定模块209,用于根据待识别的高光谱图像,基于所述训练好的神经网络模型,采用逐像元方法依次识别,得到所述待识别的高光谱图像的材质类型。
所述目标材质样本集构建模块201具体包括:
材质类型获取单元,用于获取所述高光谱图像的c个材质类型;c为正整数。
材质类型编号单元,用于对所述材质类型进行1~c的编号。
像元对应的样本提取单元,用于将第i个材质类型选取mi个像元作为训练样本的中心点,并按照设定规则提取所选像元对应的样本;所述设定规则为一维提取、二维提取或者三维提取。
目标材质样本集确定单元,用于根据所有的材质类型的像元对应的样本及材质类型确定所述目标材质样本集。
所述实例集确定模块202具体包括:
样本选取单元,用于根据所述目标材质样本集随机选取样本xk1和样本xk2。
输入样本对集确定单元,用于根据所述样本xk1和所述样本xk2确定输入样本对集pk=[xk1,xk2]。
判断单元,用于判断所述样本xk1和所述样本xk2的中心像元是否属于同一材质类型。
输入样本对集的材质类型编号第一确定单元,用于若所述样本xk1和所述样本xk2的中心像元属于同一材质类型,则所述输入样本对集pk的材质类型编号与所述样本xk1和所述样本xk2材质类型编号相同。
输入样本对集的材质类型编号第二确定单元,用于若所述样本xk1和所述样本xk2的中心像元不属于同一材质类型,则所述输入样本对集pk的材质类型编号为c+1。
所述待识别的高光谱图像的材质类型确定模块209具体包括:
像素对确定单元,用于将所述待识别的高光谱图像上的任意像元作为中心像元,并与所述中心像元对应的设定范围邻域内的每个像元组合成像素对。
待识别样本对确定单元,用于将所述像素对生成若干待识别样本对。
待识别样本对的关系评分确定单元,用于根据所述待识别样本对,利用训练好的神经网络模型,得到所述待识别样本对的关系评分。
待识别样本对的材质类型确定单元,用于根据所述待识别样本对的关系评分中最大概率值的位置,确定所述待识别样本对的材质类型,返回所述根据所述待识别样本对,利用训练好的神经网络模型,得到所述待识别样本对的关系评分的步骤,进行下一待识别样本对的材质类型的确定。
中心像元的材质类型的确定单元,用于根据所有待识别样本对的材质类型确定所述中心像元的材质类型,并返回所述将所述待识别的高光谱图像上的任意像元作为中心像元,并与所述中心像元对应的设定范围邻域内的每个像元组合成像素对的步骤,进行下一中心像元的材质类型的确定。
待识别的高光谱图像的材质类型确定单元,用于根据所有中心像元的材质类型确定所述待识别的高光谱图像的材质类型。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。