覃福钿
【摘 要】人工智能时代,现实生活的方方面面都在发生智能化的转变。本文以手势识别为例,讲述了基于Tensorflow的卷积神经网络人工智能技术,在人机交互的实际应用中是如何实现的,包括了手势图像数据的采集和预处理、卷积神经网络的搭建、模型训练、以及如何应用到实际工程项目中。
【关键词】人工智能;卷积神经网络;人机交互;手势识别
人机交互是指人与计算机之间使用某种语言,以一定的方式进行信息交换的过程 [1]。常见的人机交互方式有大家比较熟悉的键盘、鼠标、图形化界面、触摸屏等,随着信息技术的发展,越来越智能化的交互方式也逐渐出现,比如语音识别、智能客服、手势识别等。本文论述手势识别这个人机交互功能利用卷积神经网络的实现原理和过程。
1.卷积神经网络
卷积神经网络(Convolutional Neural Networks,CNN)是一种包含卷积计算且具有深度结构的前馈神经网络,是深度学习的最经典算法之一。卷积神经网络避免了对参数的过度依赖,相比全连接神经网络,能更好地识别高维数据。
卷积神经网络有输入层、卷积层、激活函数、池化层、全连接层构成。卷积层(Convolutional layer)有多个卷积核单元组成,是神经网络中不可缺少的部分,主要作用是提取图像中的特征数据。激活函数(Activation Function)是在卷积之后加入偏置形成的,它的作用是增加卷积神经网络的非线性能力。池化层(Pooling layer),也叫降采样层(subsampling),的作用是将卷积层提取到的不重要特征数据去掉,留下主要的特征数据,即降低特征空间。全连接层(Full-Connected layer)是卷积神经网络隐含层的最后部分,并只向其它全连接层传递信号,它的作用则是对提取的特征进行非线性组合以得到输出,即利用现有的高阶特征完成学习目标。
2.数据集采集和预处理
由于手势操作的人机交互方式适合全年龄段的人,所以采集的数据集包括了老年人、中年人、青年和儿童,男女各5组数据,每组数据包括了上、下、左、右、停止五种手势,因此总共有200个数据。
首先,通過电脑的摄像头进行采集手势视频的每一帧图像,并将其保存到一个指定的目录images中,且目录images下再细分为up、down、right、left、stop五个子文件夹,分别保存上、下、左、右、停止五种手势的图片,然后将labels用数组[0,0,0,0,0]标识,对应位置为1标识分类值。如图1所示。
最后,将预处理好的数据使用shuffle()方法打乱,并且划分为80%的训练数据集和20%的测试数据集,如图2、图3所示。
3.卷积神经网络搭建及训练
本文的手势识别卷积神经网络设置三层卷积层,使用relu激活函数增加网络的非线性,同时池化层使用max_pooling进行降采样,网络的最后搭建两层全连接层,具体如下。
(1)定义卷积神经网络的一些参数,输入图像尺寸f_height为64,滤波器的宽度filter_width为3,滤波器的高度filter_height为3,输入数据通道数depth_in为3,隐含层1的通道数(特征数目)depth_out1为32,隐含层1的通道数(特征数目)depth_out2为32,隐含层2的通道数(特征数目)depth_out3为64,手势分类数n_classes为5种。
(2)初始化权重weight和偏置值bias。
(3)定义卷积层和池化层如下图所示,conv2d是卷积层,maxpool2d是池化层。卷积层的步长是1,池化层的步长是2,同时padding设置为same,即对图像边缘进行填充,避免卷积后图像大小大幅度减小。
(4)构建卷积神经网络,包括全连接层,如下图所示,conv1、conv2、conv3分别是卷积层1、卷积层2、卷积层3,卷积层与全连接层的连接,全连接层fc1、fc2,如图4所示。
(5)模型训练如图所示,激活函数使用softmax( ),损失函数使用Tensorflow中reduce_mean( )方法进行计算,然后优化器采用AdamOptimizer算法,此算法可以寻找全局最优,它通过反向传播不断修正权重和偏置值,不断提高学习正确率。模型训练开始后,随着时间的改变准确率也在不断改变,最终准确率稳定再90%左右。最后将训练好的参数使用tf.train.Saver( ).save( )进行保存。
参考文献:
[1]李晶,李强,张彤宇.基于软件交互设计综合实践教学研究[J].计算机教育,2017(09):167-171.
[2]邢志恒,黄泽坤.基于FPGA的手势识别系统设计[J].科学技术创新,2020(28):122-124.
[3]王鑫,陈成凯,陈梓威,霍非凡,林乐坤,吴珂,刘浩.基于FDC2214单通道阈值分析的手势识别系统[J].实验技术与管理,2020,37(06):112-115+178.
[4]李凯,王永雄,孙一品. 一种改进的 DTW 动态手势识别方法. 小型微型计算机系统,2016,37(7):1600–1603.
[5]陈国良,葛凯凯,李聪浩. 基于多特征 HMM 融合的复杂动态手势识别. 华中科技大学学报(自然科学版),2018,46(12):42–47.
[6]陈甜甜,姚璜,左明章,等. 基于深度信息的动态手势识别综述. 计算机科学,2018,45(12):42–51,76.
基金项目:
广东省高等教育学会“十三五”规划2020年度高等教育研究专项课题(20GQN43);教学质量与教学改革工程立项建设项目(东软学院校(东软学院校〔2020〕137号)。