[0004] 本发明的目的是针对现有技术的不足,而提供一种基于双通道特征融合的机器视觉中手势识别方法。这种方法能克服现有网络精度不高、存在梯度弥散的缺陷,能提高手势识别准确率。
[0005] 实现本发明目的的技术方案是:
[0006] 一种基于双通道特征融合的机器视觉中手势识别方法,与现有技术不同处在于,包括如下步骤:
[0007] 1)采集数据源、制作数据集:采用美国手语手势数据集(American Sign Language,简称ASL)为数据源,注释美国手语手势数据集中的手势类别信息,设置2165张图片为训练集和350张图片为测试集,并生成tfrecord文件;
[0008] 2)对数据集中的手势图像进行预处理:对步骤1)处理过的数据集中的手势图像进行亮度调整、对比度调整和随机裁剪;
[0009] 3)构建深度卷积神经网络:构建基于双通道特征融合的深度卷积神经网络模型,所述深度卷积神经网络模型包括顺序连接的由双通道构成的输入层、特征融合层即Concatenate层、全局平均池化层(Global Average Pooling,简称GAP)、全连接层(Fully Connected Layer,简称FC)和分类函数层(Sigmoid);
[0010] 4)进行网络第一阶段训练:将步骤1)处理过的数据集中手势图像训练集输入到步骤3)构造的双通道特征融合的深度卷积神经网络模型的第一个通道中对卷积神经网络进行训练即进行第一阶段训练,完成手势图像的局部特征提取;
[0011] 5)进行网络第二阶段训练:将步骤1)处理过的数据集中手势图像训练集输入到步骤3)构造的双通道特征融合的深度卷积神经网络模型的第二个通道中对卷积神经网络进行训练即进行第二阶段训练,完成手势图像的全局特征提取;
[0012] 6)进行特征融合操作:将第一阶段训练得到的手势图像的局部特征与第二阶段训练得到的手势图像的全局特征进行通道维度上的融合;
[0013] 7)进行手势图像识别:将步骤6)融合后的特征图经过全局平均池化层后输入全连接层,最后通过分类函数对结果进行分类,并选择批处理大小、学习率大小、正则化方式及优化算法对步骤3)构造的深度卷积神经网络进行参数微调,获得最佳的卷积神经网络模型,实现手势图像训练集的精确识别,采用步骤1)处理过的数据集中手势图像测试集输入到步骤3)构造的双通道特征融合的深度卷积神经网络模型中,验证步骤3)构造的双通道特征融合的深度卷积神经网络模型能够实现手势图像的精确识别。
[0014] 步骤3)中所述的双通道包括由SE_Net构成的第一通道和由Xception_ResNeXt构成的第二通道,所述第一通道包括由上至下顺序连接的第一base layer子模块、SE_Net模块和第二base layer子模块,所述第二通道包括2个结构相同串联的由上至下顺序连接的第三base layer子模块、由base layer子模块平行堆叠构成相同拓扑结构的base layer堆叠构建模块、第一通道拼接层、第四base layer子模块、由3个相同separable layer模块顺序连接构成的深度可分离卷积层、第五base layer子模块,其中,第三base layer子模块的输出与第四base layer子模块的输出进行逐像素相加作为由3个相同separable layer模块顺序连接构成的深度可分离卷积层的输入,第三base layer子模块的输出与由3个相同separable layer模块顺序连接构成的深度可分离卷积层的输出进行逐像素相加作为第五base layer子模块的输入,第一通道和第二通道提取的特征进行通道维度上的融合,所述SE_Net即第一通道通过学习自动获取每个通道特征的重要程度,并根据重要程度的不同对特征图进行自动调整,达到特征重标定的作用,所述SE_Net具体公式如下所示:
[0015]
[0016] s=σ(W2δ(W1,z)) (2)
[0017] xc=sc·uc (3)
[0018] 其中,W表示特征图的宽度,H表示特征图的高度,uc表示特征图的第c个通道,uc(i,j)表示特征图的第c个通道的(i,j)位置的参数,z=[z1,z2,...,zc]表示通道描述符,zc表示z的第c个元素,W1和W2表示全连接层的参数,δ表示激活函数ReLU,σ表示激活函数(Sigmoid),s=[s1,s2,...,sc]表示激励的输出,sc表示s的第c个元素,·表示标量乘法,xc表示输出,所述Xception_ResNeXt即第二通道采用depthwise separable convolution操作,将网络学习空间相关性和学习通道间相关性的任务完全分离,采用ResNeXt操作用于快捷连接前后层的特征,并用平行堆叠相同拓扑结构的方式对图像进行特征提取,具体公式如公式(4)所示:
[0019]
[0020] 其中,x表示输入,C表示基数,Ti表示任意函数,y表示输出。
[0021] 步骤4)中所述的局部特征提取,包括如下步骤:
[0022] (4-1)输入图像尺寸为32x32x32x3,经过双通道特征融合的深度卷积神经网络模型第一通道中第一base layer子模块提取64个特征,base layer子模块包括由上到下顺序叠接的卷积层即Conv层、归一化层即Batch Normalization层和激活函数层即ReLU层,第一base layer子模块使用3x3卷积核对输入信息进行卷积运算,卷积的计算表达式如公式(5)所示:
[0023] conv=kernel*input (5)
[0024] 其中,input为卷积的输入,kernel为卷积核,conv为卷积的输出,*为卷积操作,提取卷积特征之后,采用Batch Normalization进行批量归一化操作,再将归一化结果输入到激活函数层,激活函数层选用ReLU作为激活函数;
[0025] (4-2)第一base layer子模块的输出输入到SE_Net模块中,SE_Net模块通过以下三个操作进行特征重标定;
[0026] (4-2-1)Squeeze操作:即全局平均池化,顺着空间维度进行特征压缩,将每个二维的特征通道变成一个实数,这个实数某种程度上具有全局的感受野,并且输出的维度和输入的特征通道数相匹配,它表征着在特征通道上响应的全局分布,而且使得靠近输入的层也可以获得全局的感受野;
[0027] (4-2-2)Excitation操作:即全连接层+激活函数层即ReLU层+全连接层+激活函数层即Sigmoid层,类似于循环神经网络中门的机制,采用参数w来为每个特征通道生成权重,其中参数w被学习用来显式地建模特征通道间的相关性;
[0028] (4-2-3)Reweight操作:将Excitation输出的权重看做是经过特征选择后的每个特征通道的重要性,然后通过乘法逐通道加权到第一base layer层的输出上,完成在通道维度上的对原始特征的重标定;
[0029] (4-3)SE_Net模块的输出输入到第二base layer子模块,输出图像尺寸为32x32x32x64。
[0030] 步骤5)中所述的全局特征提取,过程为:输入图像尺寸为32x32x32x3,经过Xception_ResNeXt构成的第二通道,输出图像尺寸为32x32x32x64。
[0031] 步骤5)中所述的separable layer模块包括由上而下顺序连接的可分离卷积层即separable_conv2d层、归一化层即Batch Normalization层和激活函数层即ReLU层。
[0032] 本技术方案中深度卷积神经网络模型中第一通道提取的局部特征和第二通道提取的全局特征进行融合。
[0033] 本技术方案中采用双通道特征融合的深度卷积神经网络,增强网络前后层之间的联系,促使网络更好地提取手势特征,这种方法能克服现有网络精度不高、存在梯度弥散的缺陷,能提高手势识别准确率。