失效
基于部件分割与特征融合的飞行器图像细粒度识别方法
熊运生、牛新、窦勇、姜晶菲、王康、郄航
中国人民解放军国防科技大学
摘要
本发明公布了一种基于部件分割与特征融合的飞行器图像细粒度识别方法,目的是解决现有图像识别系统不能从部件级别提取特征导致识别类别不多的问题。技术方案是先构建由关键点检测子系统、共享特征抽取器、部件特征生成器、特征融合子系统、损失函数模块构成的基于部件分割与特征融合的飞行器遥感图像细粒度识别系统;构建数据集;训练识别系统;利用训练好的识别系统进行识别,识别时关键点检测子系统对6个关键点精准定位,共享特征抽取器对飞行器整体特征进行完整抽取,部件特征生成器快速准确地获得4个部件的特征子图,特征融合子系统提取各部件的内部特征并将这些特征融合。采用本发明能从部件级别提取特征,使得识别类别多且准。
1.一种基于部件分割与特征融合的飞行器图像细粒度识别方法,其特征在于包括以下步骤:第一步,构建基于部件分割与特征融合的飞行器遥感图像细粒度识别系统,该系统由关键点检测子系统、共享特征抽取器、部件特征生成器、特征融合子系统、损失函数模块构成;关键点检测子系统与共享特征抽取器、部件特征生成器相连,从数据集中读取飞行器原始遥感图像,检测飞行器原始遥感图像中的6个关键点,得到6个关键点的坐标值,将坐标值发送给共享特征抽取器和部件特征生成器;关键点检测子系统是一个神经网络,对图像中的关键点进行检测,得到关键点的坐标;6个关键点分别为机头K1、机身与左机翼前缘交汇点K2、机身与右机翼前缘交汇点K3、左机翼远端K4、右机翼远端K5、尾翼中点K6;共享特征抽取器与关键点检测子系统、部件特征生成器相连,以飞行器原始遥感图像以及关键点检测子系统输出的关键点坐标作为输入,对原始遥感图像进行向上矫正,对向上矫正后的原始遥感图像进行特征抽取,将抽取得到的特征图输出给部件特征生成器;部件特征生成器与关键点检测子系统、共享特征抽取器、特征融合子系统相连,从关键点检测子系统接收6个关键点坐标,从共享特征抽取器接收抽取的特征图,利用6个关键点坐标生成飞行器的四个部件框,分别为机身P1、左翼P2、右翼P3和尾翼P4,将四个部件框映射到抽取得到的特征图上,获得飞行器4个部件对应的特征子图,分别命名为T1、T2、T3、T4,将T1、T2、T3、T4输出给特征融合子系统;特征融合子系统与部件特征生成器、损失函数模块相连,特征融合子系统包括4部件特征全连接层即PFC1、PFC2、PFC3、PFC4,一个联合全连接层CFC,一个全连接层FC,以及一个Softmax层;PFC1、PFC2、PFC3、PFC4都与CFC相连,PFC1以特征子图T1作为输入,PFC2以特征子图T2作为输入,PFC3以特征子图T3作为输入,PFC4以T4作为输入,PFC1、PFC2、PFC3、PFC4分别提取T1、T2、T3、T4内部特征,获得具有内部特征的4个特征矢量,分别命名为TE1、TE2、TE3、TE4,将TE1、TE2、TE3、TE4输出给CFC;CFC与PFC1、PFC2、PFC3、PFC4以及FC层相连,接收TE1、TE2、TE3、TE4,将TE1、TE2、TE3、TE4进行叠加,形成新的特征图TE5;FC层与CFC层及Softmax层相连,从CFC接收TE5,对TE5进行特征融合,生成特征向量V,将生成的特征向量V输出给Softmax层;Softmax层与CFC相连,从CFC接收融合后的特征向量V,对特征向量V进行概率计算,得到图像对应于各种飞行器类别的预测概率即预测类别概率;在对基于部件分割与特征融合的飞行器遥感图像细粒度识别系统训练时将预测类别概率发送给损失函数模块,在收到损失函数模块发送的交叉熵损失值时采用反向传播算法对系统的网络参数进行调整;在实际识别时,选择预测类别概率中的最大值对应的类型作为系统识别出的飞行器类别;损失函数模块与特征融合子系统相连,在对基于部件分割与特征融合的飞行器遥感图像细粒度识别系统训练时从特征融合子系统接收图像的预测类别概率,并从数据集中获取原始遥感图像对应的真实类别概率,计算预测类别概率和真实类别概率之间的交叉熵损失值,将计算出的交叉熵损失值返回给特征融合子系统;第二步,构建数据集,方法是:2.1用Google Earth软件采集一个包含Q种类型的飞行器遥感图像数据集,每类飞行器采集100张图像,每张图像都被缩放到224×224×3的尺寸,尺寸的单位是像素,第一个数字代表图像的长,第二个数字代表图像的宽,第三个数字代表图像的通道数;Q为飞行器的类别数,为正整数;2.2对步骤2.1中采集的飞行器遥感图像数据集进行划分,其中α%的图片被分作训练集,β%的图像被作为测试集,并保证测试集中的图像从未在训练集中出现过,其中α+β=100,且α>β;2.3对测试集和训练集中的每张图像进行数据增广,将图像每20度进行一次旋转形成新的图像,每一张图像生成18张增广图像,测试集和训练集共有Q×100×18张图像;2.4用数字0到Q-1作为Q类飞行器的类别编码,标注增广后的每张图片的真实类别概率,并用labelme标注每张图像的6个真实关键点;第三步,训练关键点检测子系统;第四步,将共享特征抽取器、部件特征生成器和特征融合子系统作为一个整体进行训练,方法是:4.1设定训练参数:选择优化算法为Adam优化算法,损失函数为交叉熵即CE loss,训练次数为140轮,初始化学习率为0.001;4.2初始化训练轮数变量N=1;4.3共享特征抽取器依次从训练集中读取32张图片,对每张图片进行向上矫正;4.4共享特征抽取器将矫正后的32张图像作为一个mini-batch,令这32幅图像为I 1 ,…,I n ,…,I 32 ,1≤n≤32;对每张图像生成一幅尺寸为56×56×128的特征图,令这32幅特征图像为TF 1 ,…,TF n ,…,TF 32 ;4.5令变量n=1;4.6部件生成器以图像I n 的6个真实关键点坐标作为基准,为图像I n 生成4个部件框,方法是:4.6.1根据I n 估算飞行器的高度和宽度,计算出飞行器的尺寸,包括飞行器的最大宽度W obj 、长度H obj 、飞行器的机身宽度W backbone ;4.6.2生成机身骨干部件框P1,方法是以关键点K1所在位置往上方偏移5个像素点作为P1的顶边中点坐标,以2*W backbone 为P1的宽度、H obj 为P1的高度生成一个矩形框;4.6.3生成尾翼部件框P4,方法是以W obj /2、H obj /2作为P4的宽度与高度,以关键点K6的X坐标作为P4的X轴中点,以K6的Y坐标为基准,往上H obj *3/8作为P4上边界,往下H obj 1/8作为P4的下边界,生成P4;4.6.4生成左翼部件框P2,方法是:4.6.4.1计算左机翼夹角:在关键点K2与K4之间作一条连线,命名为L2,计算L2与L1之间的夹角θ1,该夹角即为左机翼夹角;4.6.4.2当左机翼夹角小于等于60度时,以K2和K4的连线为对角线作矩形框,即为左翼部件框P2,转4.6.5;当左机翼夹角大于60度时,用关键点K2与K4的Y坐标之差作为机翼的高度H Wing1 ,以K2的Y坐标往上偏移H Wing1 /2生成关键点K2’,以K4的Y坐标往下偏移H Wing1 /2生成关键点K4’,以K2’和K4’为对角线作矩形框,即为P2,转4.6.5;4.6.5生成右翼部件框P3,方法是:4.6.5.1计算右机翼夹角:在关键点K3与K5之间作一条连线,命名为L3,计算L3与L1之间的夹角θ2,该夹角即为右机翼夹角;4.6.5.2当右机翼夹角小于等于60度时,以K3和K5的连线为对角线作矩形框,即为右翼部件框P3,转4.7;当右机翼夹角大于60度时,用关键点K3与K5的Y坐标之差作为机翼的高度H Wing2 ,以K3的Y坐标往上偏移H Wing2 /2生成关键点K3’,以K5的Y坐标往下偏移H Wing2 /2生成关键点K5’,以K3’和K5’为对角线作矩形框,即为P3,转4.7;4.7将部件框P1、P2、P3、P4的位置按4:1的尺寸比例映射到TF n 上,分割出4个部件对应的特征子图P1’、P2’、P3’、P4’,然后将P1’、P2’、P3’、P4’都调整为尺寸大小7×7×128,生成尺寸相同的特征子图T1、T2、T3、T4;4.8 PFC1对T1进一步提取内部特征,生成特征图TE1;同时PFC2对T2进一步提取内部特征,生成特征图TE2;同时PFC3对T3进一步提取内部特征,生成特征图TE3;同时PFC4对T4进一步提取内部特征,生成特征图TE4;E1、TE2、TE3、TE4的尺寸大小都为7×7×128;4.9联合全连接层CFC以TE1、TE2、TE3、TE4为输入,将尺寸为7×7×128的TE1、TE2、TE3、TE4在第三个维度即通道上进行叠加,形成尺寸为7×7×512的特征图TE5,然后将TE5输入全连接层FC;4.10全连接层FC从CFC层接收特征图TE5,对TE5中各像素分别乘以一个比例因子,实现特征融合,生成长度为Q的特征向量V,将V输出给softmax层;4.11 softmax层从FC接收特征向量V,对V进行概率计算,得到图像对应于各种飞行器各个类别的预测概率即预测类别概率,并将预测类别概率发送给损失函数模块;计算方法如下:4.11.1令变量i=1;4.11.2设V中第i个值为Vi,则Vi对应的预测概率值s i 为:其中,e是自然常数;4.11.3如果i<Q,令i=i+1,转4.11.1;否则,将图像I n 对应于各种飞行器Q个类别的预测类别概率s 1 ,…,s i ,…,s Q 发送给损失函数模块,转4.12;4.12损失函数模块从softmax层接收s 1 ,…,s i ,…,s Q ,并从数据集中获取图像I n 的真实类别概率,计算预测类别概率和真实类别概率之间的交叉熵损失值L n ,计算公式如下:其中,p i 是图像I n 对应于各种飞行器Q个类别中第i个类别的真实类别概率;4.13如果n<32,令n=n+1,转4.6;否则,转4.14;4.14令总的损失函数值L=L 1 +…+L n …+L 32 ,然后根据设置的学习率,用反向传播算法更新共享特征抽取器、部件特征生成器和特征融合子系统的参数;4.15令N=N+1,如果N≤100,转4.3;如果100<N≤120,令学习率为0.0001,转4.3;如果120<N≤140,令学习率为0.00001,转4.3;如果140<N,训练完毕;第五步,利用训练好的飞行器识别系统对飞行器图像进行细粒度识别,方法是:5.1从测试集中任意选取一张图像进行飞行器细粒度识别,令选取的图像为I;5.2将图像I输入关键点检测子系统,获得I中飞行器的6个关键点K1、K2、K3、K4、K5、K6的坐标;5.3共享特征抽取器从测试集读取图像I,从关键点检测子系统接收6个关键点K1、K2、K3、K4、K5、K6的坐标,利用关键点K1和K6将图像I进行向上矫正,然后提取图像的特征,获得像素尺寸为56×56×128的特征图I’;5.4部件特征生成器从关键点检测子系统接收6个关键点K1、K2、K3、K4、K5、K6的坐标,从共享特征抽取器接收特征图I’,生成4个飞行器部件框P1、P2、P3、P4;具体步骤如下:5.4.1计算飞行器的W obj 、H obj 、W backbone ;5.4.2生成机身骨干部件框P1,方法是以关键点K1所在位置往上方偏移5个像素点作为P1的顶边中点坐标,以2*W backbone 为P1的宽度、H obj 为P1的高度生成一个矩形框;5.4.3生成尾翼部件框P4,方法是以W obj /2、H obj /2作为P4的宽度与高度,以关键点K6的X坐标作为P4的X轴中点,以K6的Y坐标为基准,往上H obj *3/8作为P4上边界,往下H obj 1/8作为P4的下边界,生成P4;5.4.4生成左翼部件框P2方法是:5.4.4.1计算左机翼夹角:在关键点K2与K4之间作一条连线,命名为L2,计算L2与L1之间的夹角θ1,该夹角即为左机翼夹角;5.4.4.2当左机翼夹角小于等于60度时,以K2和K4的连线为对角线作矩形框,即为左翼部件框P2,转5.4.5;当左机翼夹角大于60度的情况,用关键点K2与K4的Y坐标之差作为机翼的高度H Wing1 ,以K2的Y坐标往上偏移H Wing1 /2生成关键点K2’,以K4的Y坐标往下偏移H Wing1 /2生成关键点K4’,以K2’和K4’为对角线作矩形框,即为P2,转5.4.5;5.4.5生成右翼部件框P3,其生成方法按右机翼夹角分两种情况进行处理,具体方法包括以下步骤:5.4.5.1计算右机翼夹角:在关键点K3与K5之间作一条连线,命名为L3,计算L3与L1之间的夹角θ2,该夹角即为右机翼夹角;5.4.5.2当右机翼夹角小于等于60度时,以K3和K5的连线为对角线作矩形框,即为右机翼部件框P3,转5.5;当右机翼夹角大于60度时,用关键点K3与K5的Y坐标之差作为机翼的高度H Wing2 ,以K3的Y坐标往上偏移H Wing2 /2生成关键点K3’,以K5的Y坐标往下偏移H Wing2 /2生成关键点K5’,以K2’和K4’为对角线作矩形框,即为P3,转5.5;5.5部件特征生成器将部件框P1、P2、P3、P4的位置映射到步骤5.3生成的特征图I’上,分割出4个部件对应的特征子图T1、T2、T3、T4;5.6PFC1对T1进一步提取内部特征,生成特征图TE1;同时PFC2对T2进一步提取内部特征,生成特征图TE2;同时PFC3对T3进一步提取内部特征,生成特征图TE3;同时PFC4对T4进一步提取内部特征,生成特征图TE4;5.7联合全连接层CFC以TE1、TE2、TE3、TE4为输入,将尺寸为7×7×128的TE1、TE2、TE3、TE4在第三个维度即通道上进行叠加,形成尺寸为7×7×512的特征图TE5,然后将TE5输入全连接层FC;5.8全连接层FC从CFC层接收特征图TE5,对TE5中各像素分别乘以一个比例因子,实现特征融合,生成长度为Q的特征向量V,将生成的特征向量V输出给softmax层;5.9 softmax层从FC接收输出的特征向量V,对特征向量V进行概率计算,得到图像对应于各种飞行器各个类别的预测概率,计算方法如下:5.9.1令变量i=1;5.9.2设V中第i个值为Vi,通过公式四计算得到Vi对应的预测概率s i ;5.9.3如果i<Q,令i=i+1,转5.9.1;否则,转5.10;5.10从softmax层输出的Q个预测概率s 1 ,…,s i ,…,s Q 中选择最大概率值,最大概率对应的类型就作为系统识别出的飞行器类别。
2.如权利要求1所述的基于部件分割与特征融合的飞行器图像细粒度识别方法,其特征在于所述关键点检测子系统由ResNet50和三个反卷积层顺序连接而成。
3.如权利要求1所述的基于部件分割与特征融合的飞行器图像细粒度识别方法,其特征在于所述共享特征抽取器采用特征金字塔结构,以ResNet50作为骨干网。
4.如权利要求1所述的基于部件分割与特征融合的飞行器图像细粒度识别方法,其特征在于所述Google Earth软件要求版本7.3.0或以上,所述labelme要求版本3.11.2或以上。
5.如权利要求1所述的基于部件分割与特征融合的飞行器图像细粒度识别方法,其特征在于所述Q≥47。
6.如权利要求1所述的基于部件分割与特征融合的飞行器图像细粒度识别方法,其特征在于2.4步所述标注增广后的每张图片的真实类别概率的方法是为每张图片生成一个热独码,用于表示该图片的类别概率,将图片的类别编码及其对应的热独码存储于文本文件中。
7.如权利要求1所述的基于部件分割与特征融合的飞行器图像细粒度识别方法,其特征在于第三步所述训练关键点检测子系统的方法是:3.1设置训练参数:选择优化算法为Adam优化算法,损失函数为均方误差损失,一次训练所选取的样本数batchsize为32,训练次数为140轮,初始化学习率为0.001;3.2初始化训练轮数变量N=1;3.3关键点检测子系统依次从训练集中读取32个图像作为一个小批量即mini-batch,,关键点检测子系统对这32个图像进行关键点检测,得到这32张图像的6个预测关键点;3.4将32张图像的预测关键点与真实关键点进行对比,计算预测关键点与真实关键点之间的均方误差损失,然后根据设置的学习率,采用反向传播算法更新网络参数;3.5令N=N+1,如果N≤100,转3.3;如果100<N≤120,令学习率为0.0001,转3.3;如果120<N≤140,令学习率为0.00001,转3.3;如果N>140,训练完毕。
8.如权利要求1所述的基于部件分割与特征融合的飞行器图像细粒度识别方法,其特征在于4.3步所述对图片进行向上矫正的方法为:在图像对应的真实关键点P1与P6之间作一条直线,命名为L1,旋转图像使得L1与X轴垂直,即完成了图像的向上矫正。
9.如权利要求1所述的基于部件分割与特征融合的飞行器图像细粒度识别方法,其特征在于4.6.1步所述计算飞行器的最大宽度W obj 、长度H obj 、飞行器的机身宽度W backbone 的方法是:W obj =|x lwing -x rwing | 公式一H obj =|y nose -y empennage | 公式二W backbone =|x fuselwing -x fuserwing | 公式三其中,x lwing 和x rwing 分别为左机翼远端K4和右机翼远端K5的X坐标值,y nose 和y empennage 分别为机头K1和尾翼中点K6的Y轴坐标值,x fuselwing 和x fuserwing 分别为机身与左机翼前缘交汇点K2以及机身与右机翼前缘交汇点K3的X轴坐标。
10.如权利要求1所述的基于部件分割与特征融合的飞行器图像细粒度识别方法,其特征在于4.10步和5.8所述比例因子取值范围均为0~1之间。



