1.一种基于迁移学习的手势分类方法,其特征在于,包括如下步骤:
(1)将手势视频V转换为手势帧数据集合G0;
(2)通过高斯滤波方法、OTSU算法和图像与运算对G0分别进行去除噪声、二值化和背景分割处理,得到手势帧数据集合G1,为G1设置标签后得到帧标签数据集合L;
(3)使用MobileNet卷积神经网络架构和权重文件进行迁移学习,创建与训练模型M1;
通过模型M1提取帧数据集合G1的特征,得到帧特征向量集合F0;
(4)将XGBoost作为分类模型对测试集进行分类,得到最终分类结果。
2.根据权利要求1所述的一种基于迁移学习的手势分类方法,其特征在于,所述步骤(1)中将手势视频V转换为手势帧数据集合G0的具体步骤如下:(1.1)定义V为手势视频数据集合,Video为单个视频信息集,V={Video1,Video2,…,Videoa,…,VideoA},Videoa为V中第a个视频信息数据,A为V中Video的数量即手势类型数量,变量a∈[1,A];
(1.2)定义N为每个Video转换的帧总数量,Frame为单个帧信息集,定义循环变量i用于遍历V,i∈[1,A],i赋初值为1,开始遍历V;
(1.3)如果i≤A,则跳转至步骤(1.4),否则跳转至步骤(1.6);
(1.4)定义count记录Videoi转换的帧数,当count=N时,得到N个Frame帧信息集;
(1.5)i=i+1,跳转至步骤(1.3)继续遍历V;
(1.6)结束遍历V,得到帧数据集合G0,G0={Frame1,Frame2,…,FrameN,Frame(N+1),…,Frame(2×N),Frame(2×N+1),…,Frame(A×N)},FrameN表示第N个帧数据信息,(A×N)为帧Frame的数量,即帧标签总数量。
3.根据权利要求1所述的一种基于迁移学习的手势分类方法,其特征在于,所述步骤(2)中得到手势帧数据集合G1,为G1设置标签后得到帧标签数据集合L的具体步骤如下:(2.1)定义frame为Frame预处理后的单个帧信息集,定义循环变量j用来遍历G0,j∈[1,A×N],j赋初值为1,开始遍历G0;
(2.2)如果j≤(A×N),则跳转至步骤(2.3),否则跳转至步骤(2.8);
(2.3)读取帧Framej,将其分割为三通道帧,分别为明亮度yj、色调Crj和饱和度Cbj,通过高斯滤波方法对Crj通道帧进行滤波平滑处理,采用(3×3)的高斯内核与Crj进行卷积得到帧Cr1j;
(2.4)通过OTSU算法求帧阈值,对帧Cr1j进行二值化处理得到帧skinj;
(2.5)对帧skinj使用内核为3×3的方形进行2次形态学开运算(先腐蚀再膨胀),得到帧sure_bgj;
(2.6)将帧Framej和帧sure_bgj每个像素值进行二进制与运算,得到背景分割的手势帧framej;
(2.7)j=j+1,跳转至步骤(2.2),继续遍历G0;
(2.8)结束遍历G0,得到预处理后的手势帧数据集合G1,G1={frame1,frame2,…,framed,…,frame(A×N)},framed为Framed经过预处理后的帧数据信息,d∈[1,A×N];
(2.9)对G1中的数据添加类别标签得到帧标签数据集合L,L={Label1,Label2,…,LabelN,…,Label(A×N)},LabelN为第N帧即frameN对应的标签,,将L划分为训练集L1和测试集L2,满足len(L1):len(L2)=4:1。
4.根据权利要求1所述的一种基于迁移学习的手势分类方法,其特征在于,所述步骤(3)中创建与训练模型M1,通过模型M1提取帧数据集合G1的特征,得到帧特征向量集合F0的具体步骤如下:(3.1)构建使用预训练的权重、网络顶部没有完全连接层、帧输入维度为(224,224,3)的网络架构模型M1;
(3.2)M1模型通过深度可分离卷积的方法,将标准卷积分解成两个更小的操作为深度卷积和点卷积;
(3.3)将维度为H×W×C(长×宽×通道数)的输入帧分为C组,然后对每一组做3×3的卷积,收集每个组的特征即每个通道的特征;
(3.4)将步骤(3.3)中得到的每个通道的特征做1×1的卷积进行组合并输出至步骤(3.3)进行下一次的深度卷积操作;
(3.5)重复步骤(3.3)和步骤(3.4)的操作13次,即经过13次深度可分离卷积提取帧特征;
(3.6)使用M1模型提取手势帧数据集合G1的特征,得到手势帧特征向量集合F0,将F0划分为训练集F1和测试集F2,满足len(F1):len(F2)=4:1。
5.根据权利要求1所述的一种基于迁移学习的手势分类方法,其特征在于,所述步骤(4)中将XGBoost作为分类模型对测试集进行分类,得到最终分类结果的具体步骤如下:(4.1)设置XGBClassifier函数参数,包括:基分类器为树模型、CART树的最大深度为6、学习率为0.1、CART树的个数为60、目标函数为“mulit:softmax”和多分类个数为10,构建XGBoost模型M2;
(4.2)通过递归寻找最优的切分特征和切分点,对叶子节点的权值进行优化得到CART树,根据F1和L1构建训练第一棵CART树,拟合已经生成的前一棵CART树的残差,构建下一棵新的CART树,训练好具有10棵树的M2模型;
(4.3)基于M2模型,对F2分类预测得到分类结果。