Laser-induced SWCNTs-Al thin film and field emission property
-
摘要: 结合电泳沉积和激光纳米焊接技术在常温下成功制备了铝基单壁碳纳米管(SWCNTs-Al)薄膜。首先,将单壁碳纳米管电泳沉积到铝片基底上,再使用皮秒脉冲激光构建二者的可靠连接。对SWCNTs-Al薄膜进行场发射性能测试,开启电压从焊接前的5.1 V/m降低到2.1 V/m,发射电流密度显著提高且更加稳定。这主要是激光纳米焊接后界面接触阻抗减小,场致电子发射更容易实现的结果。基于SWCNTs-Al薄膜的表面形貌图和场发射性能测试结果,确定了最优的激光纳米焊接参数。Abstract: The single-walled carbon nanotubes-Al (SWCNTs-Al) thin film is successfully fabricated by combining the electrophoretic deposition and laser nanowelding technology at room temperature. First, the single-walled carbon nanotubes are deposited onto an Al substrate by electrophoretic deposition, and then a reliable connection is constructed between them by pico-second pulsed laser. The field emission performance test results of the SWCNTs-Al thin film show that the turn-on voltage decreases from 5.1 V/m to 2.1 V/m, and the emission current increases significantly and becomes more stable. This is mainly due to the reduction of contact resistance in welding area and easily moving electrons for field emission after laser nanowelding. Based on the surface topography and the field emission property testing results of the SWCNTs-Al thin film, the optimal laser nanowelding parameters are determined, which are important for the development of nanowelding technology and the large-scale production of nano-devices with ultra-high performance.
-
Key words:
- laser nanowelding /
- SWCNTs-Al film /
- cathode /
- field emission
-
手势控制是人机交互方式之一,通过判断用户的手部位置和手势姿态来实现相应的控制操作[1]。相比于传统通过鼠标、轨迹球和键盘的交互方式,通过用户手势可以实现更为自然、人性化的人机交互[2]。目前手势识别主要分为接触式和非接触式,其中非接触手势识别是通过超声波,单目、双目摄像机或深度摄像机捕捉用户的手部位置和姿态,实现手势识别,进而实现对其他设备的非接触控制。相较于需要穿戴检测手套的接触式手势识别,非接触式手势识别不需要专门的穿戴设备,可以提供更好的用户体验。但另一方面,非接触式手势识别需要先判断用户的手部位置,分割并识别用户的手势信息,这也为手势识别的速度和准确性带来了一定的难度。
目前的手势识别算法主要有基于双目摄像机、RGB-D摄像机的深度图像手势识别[3-4]和基于单目摄像机的平面手势识别。相比于深度图像手势识别,平面图像手势识别的硬件需求更小,可以直接在现有硬件基础上进行改进。但另一方面,由于缺少了图像的深度信息,基于平面图像的手势识别需要更高效的特征提取,进而给特征提取和手势识别的程序设计增加了难度。基于单目相机的手势识别可以通过传统颜色空间图像实现手部的分割[5],利用HOG特征[6]、SVM向量机[7]等方式对分割图像中的手势进行分类,得到最终的手势识别结果。随着深度学习神经网络的发展,通过神经网络实现手势的分割与检测已经成为新的趋势,深度学习神经网络可以用于对分割后的手势进行分类识别,如基于改进AlexNet与随机森林的手势分类神经网络和基于VGG16图像分类神经网络的手势分类器[8-9]。除此之外,深度学习神经网络也可以直接用于用户手部的分割和识别,通过端到端的方式直接实现最终的手势识别功能,目前已有基于YOLO与SSD目标检测神经网络的手势识别算法,应用于手语翻译等领域[10-12]。相比于传统的图像分割-特征提取-分类的流程,基于深度学习神经网络的手势识别不需要人工设置特征,卷积神经网络可以自行提取特征,完成手势的分割与识别。因此基于深度学习神经网络的手势识别算法可以很方便地修改网络结构,灵活设置不同的控制手势,提高网络的搭建效率和灵活性。不过现在大部分基于深度学习神经网络的手势识别算法的算力要求较高,因而大部分的算法需要在服务器或者PC上运行,不适合算法的应用和部署。而嵌入式处理器作为一种小体积、低功耗的边缘计算设备,可以较好地在单目摄像机硬件上实现改装,实现低功耗、高效率的手势识别控制[13]。
因此,本文提出了一种基于嵌入式单目相机的手势识别系统。搭载在嵌入式处理器上的MobilNet-SSDLite手势识别神经网络接收摄像机输出的视频帧,通过神经网络的推理得到识别的用户手势,根据用户的不同手势控制信息以实现进一步的操作。相比于需要专门硬件的双目摄像机手势识别和RGB-D相机的手势识别,本文所提出的基于嵌入式的静态手势识别系统可以在现有摄像机的基础上实现,无需专门的硬件系统,并且嵌入式处理器体积小、功耗低,可以长时间可靠工作,提高了手势识别系统的稳定性。该系统可以实现设备的远程非接触控制,如控制录像设备的启停及视频截图等,也可用于安全设备的手部侵入告警,提高工作的便利性和安全性。
1. 基于改进SSD网络实现轻量化手势识别算法
手势识别深度学习网络是整个手势识别算法的核心,该网络接收摄像机捕捉的视频帧,利用神经网络算法处理视频帧并输出手势的类别和位置。相比于其他手势识别算法,基于深度学习神经网络的手势识别算法可以自主完成手势特征的提取和分析,提高了手势识别算法的灵活性,降低了设计难度。
本文所使用的手势检测深度学习网络是在SSD深度学习目标检测网络[14]的基础上进行轻量化改进得到。相比于Faster-RCNN[15],YOLO[16]等其他目标检测网络,SSD网络在COCO目标检测数据集上的目标检测精度较高,并且SSD网络的目标检测推理速度也较快。但是,考虑到嵌入式处理器的计算能力,SSD目标检测网络仍不能满足实时手势检测任务,所以,为了搭建面向嵌入式平台的轻量化手势识别算法,需要在SSD网络的基础上进行改进,以实现轻量化MobileNetv3-SSDLite手势识别算法的搭建。算法的搭建及部署流程框图如图1所示。
在图1中,网络的训练和优化是在电脑端完成,经过训练和压缩优化之后的手势识别网络部署到嵌入式处理器中,部署完成的手势识别网络在嵌入式处理器上推理并给出手势识别的结果。
1.1 特征提取网络的轻量化
文献[14]中SSD使用的特征提取网络为VGG16网络[17],该网络是2014年ImageNet图像分类大赛的第二名,有较好的图像特征提取能力。但是VGG16网络的参数量较大,对处理器的运算能力要求较高,难以在嵌入式处理器上实现实时手势识别。而简单的减少VGG16的网络层数,又会影响网络的特征提取能力,降低最终的手势识别精度。因此,在不影响特征提取网络效果的前提下降低网络的参数和运算量,需要一种有效的轻量化卷积操作和高效的网络设计。
1.1.1 深度可分离卷积
由于考虑到VGG16网络的上述问题,本文采用基于深度可分离卷积思路设计的MobileNetv3网络[18]作为手势识别的特征提取网络。深度可分离卷积(Depthwise Convolution)是一种高效的轻量化卷积思路[19],不同于传统卷积,它将传统卷积中“卷积+通道调节”的计算分为两次进行,减少了卷积过程中的卷积核数量和运算量,实现了卷积运算的轻量化。
传统卷积神经网络中,对于一个输入通道数为
,输出通道数为 的卷积层,如果输入的上一层特征图尺寸为 ,卷积核尺寸为 。则卷积过程需要 组卷积核,其中每组卷积核的通道数为 ,输入特征图的每个通道分别与每一组卷积核中的卷积核进行卷积,再将每组通道得到的卷积结果求和,也就得到了输出特征图中的一个通道。对 组卷积核重复以上的操作,就得到了最终的卷积输出结果。整个卷积操作的运算量为 。通常来说,特征图的通道数量都在102~103数量级,所以传统卷积操作需要较大的运算量。而深度可分离卷积则是将卷积分为两步进行。如图2所示,同样对于一个输入通道数为
,输出通道数为 ,尺寸为 特征图。深度可分离卷积的第一步是使用与输入特征图通道数相同的卷积核进行卷积,获得卷积后的特征图,其中卷积后的特征图通道数与输入特征图的通道数保持不变;第二步是利用 组通道数为 的 卷积调整卷积后特征图的通道数,使最终得到的输出特征图通道数为 。卷积与通道调整的运算量分别为 与 ,深度可分离卷积与传统卷积的运算量之比为(1) 通常来说,对于
尺寸的卷积核,针对102~103数量级的特征图,使用深度可分离卷积的运算量理论上可以达到使用传统卷积的 。1.1.2 通道注意力机制
受限于卷积核的数量,深度可分离卷积的特征提取效果要弱于传统卷积的,所以本文所使用的MobileNetv3特征提取网络使用深度可分离卷积,继承上一代网络的倒残差结构[20]以外,还使用了轻量化的特征图压缩注意力机制[21],在图像卷积过程中对不同的特征图赋予不同的权重,使得更重要的特征得以保留,提高网络的特征提取效果。压缩注意力机制结构如图3所示。
在图3中,特征图尺寸为
,通道数为 , 为编码压缩后的通道注意力参数。经过全局池化(global pooling)、全连接网络和sigmoid激活函数后,特征图中每一层有了不同的权重,再与之前的特征图逐层相乘,便获得了带权重参数的特征图。相比于无通道注意力机制的MobileNet,使用了通道注意力机制之后,运算量增加了0.5%,ImageNet图像分类任务的错误率降低了3%,可见通道注意力机制在基本不改变特征提取网络运算量的同时,有效提高了网络的特征提取效果。1.1.3 应用MobileNetv3实现手势特征提取网络轻量化
本文使用MobileNet特征提取网络系列的第三代MobileNetv3作为手势特征提取网络,从输入的图像中提取特征,生成手势特征图并输入到深层目标检测网络中。MobileNet系列网络的参数量、乘加计算量(MAC)和ImageNet图像分类数据集准确率与VGG16的比较如表1所示。
表 1 MobileNet系列与VGG16的对比Table 1. MobileNet series comparison to VGG16network structure params/Mbyte MACs/106 ImageNet
accuracy/%VGG16 13.8 15300 71.5 MobieNetv1 4.2 569 70.6 MobileNetv2 3.4 300 72.0 MobileNetv3 5.4 219 75.2 从表1中可以看出,Mobilev3骨干网络的参数量和运算量都远小于传统VGG16骨干网络的,且其在ImageNet图像分类数据集中的分类准确率也要高于VGG16网络的。因此使用MobileNetv3网络用于手势识别的特征提取网络可以在不影响手势特征提取能力的前提下有效降低网络的参数量和运算量,提高最终手势识别算法的速度。
不过文献[18]中MobileNetv3被用于实现图像分类,网络的最后几层为完成图像分类的全连接神经网络,并非生成用于目标检测的特征图;另一方面,SSD目标检测网络的深层检测部分采用的是多尺度特征图目标检测的策略,所以要实现基于MobileNetv3的轻量化手势特征提取网络,需要在原有MobileNetv3的基础上修改最后输出的特征图尺寸和通道数,使得手势识别神经网络的特征提取网络与深层目标检测网络相匹配。
因此,本文使用的MobileNet在最后一层卷积层以外,还添加了额外的卷积层用于调整输出的特征图尺寸和通道数。一方面使得特征提取网络的输出与深层SSD目标检测网络的输入相匹配,另一方面也加深了网络的深度,在一定程度上提高了特征提取网络的能力。生成额外卷积层的操作也使用了深度可分离卷积,压缩注意力机制等轻量化操作。输出用于检测的特征图及其尺寸如表2所示。
表 2 用于检测的额外特征图及其尺寸Table 2. Extra feature map layers for object detectionextra layers shape layer 1 layer 2 layer 3 layer 4 layer 5 layer 6 1.2 深层目标检测网络的轻量化
深层目标检测网络接收特征提取网络输出的特征图,通过分类与回归的方式完成目标检测任务。SSD深层目标检测网络同时在大小不同的特征图上设置一系列的先验框,判断先验框与数据集中给出手势真实检测框的交并比IoU,进而分析特征图中给出的特征中是否存在手势及手势类别。如表3所示,SSD目标检测深层网络同时在6个大小不同的特征图上检测,其中尺寸较小的特征图用于检测较大(较近)的手势,尺寸较大的特征图用于检测较小(较远)的目标。考虑到重复检测的问题,SSD网络使用非极大值抑制的方式删除检测效果较差的检测框,仅保留置信度最高的结果。
表 3 SSDLite深层检测网络与SSD的对比Table 3. SSDLite detection head comparison to SSDnetwork structure params/Mbyte MACs/106 mAP/% SSD 14.8 1250 19.3 SSDLite 2.1 350 22.2 从表3中可以看出,使用轻量化的SSDLite轻量化深层目标检测网络,可以有效降低网络的参数量和运算量,并且将所有卷积层替换为深度可分离卷积的轻量化操作对目标检测的结果影响也十分有限。所以SSDLite轻量化深层目标检测网络适合于嵌入式实时手势识别任务。本文提出的轻量化手势识别算法结构如图4所示。
从图4中可以看出,输入图像为长宽各为300像素的彩色图像,经过MobileNetv3提取特征并由额外卷积层生成表2所示的特征图用于SSDLite深层目标检测网络的手势识别。不同尺寸特征图的手势识别结果由非极大值抑制模块筛选,得到最终的手势识别结果。
1.3 手势识别算法在嵌入式上的部署
搭建并获得了手势识别算法模型之后,需要在服务器上使用手势识别数据集对算法进行训练,以获得最终训练完成的手势识别算法。为了得到最好的训练效果,训练过程中所使用的模型参数都是全精度参数。一方面,为了保证算法模型搭建的精确度,模型每一层都独立存在,这样的优点是可以获得最完整灵活的算法结构以及最高精度的训练结果。另一方面,训练完成的手势识别算法如果直接在嵌入式处理器上运行,则会受制于全精度模型参数的运算和模型结构的加载,导致最终在嵌入式上手势识别算法推理速度的降低。因此,为了提高手势识别算法在嵌入式处理器上的推理速度,在算法迁移至嵌入式处理器之前需要先对模型量化和压缩,得到最优的嵌入式推理速度。
模型量化是指将算法模型中使用32位浮点数保存的模型参数量化至16位整形数甚至8位整形数,进而降低嵌入式处理器的运算压力和数据吞吐压力。量化前后网络参数的对应关系为[22]
(2) (3) (4) 式中:
为训练得到的浮点参数; 为量化后得到的整形参数; 和 分别为参数量化过程中的缩放因子和偏移量。假定训练得到的网络参数为32位浮点数,经过量化得到16位整数的网络参数,如式(2)所示,首先根据网络训练得到的参数
, ,然后量化需要的 和 计算得到缩放因子 ,再由式(3)计算出网络参数的偏移量 ,最后,需要的量化参数 根据之前获得的缩放因子和偏移量即可得到。不过式(3)和式(4)的计算过程中存在两次取整操作,在取整过程中会出现一定的精度损失。所以在量化过程中需要仔细设置最终量化参数的大小,在模型的推理速度与推理精度之间取得平均。除了算法模型的参数量化,另一个模型的优化方案是模型融合,即将卷积层(Conv Layer)、偏置层(Bias Layer)和激活函数层(Activate Layer)融合成一层,一次性读取所有参数,降低嵌入式处理器的数据IO瓶颈。除此之外,也可以将网络水平组合,合并相同张量和操作相同的网络层,进一步提高网络在嵌入式上的推理速度。优化前后的神经网络结构如图5所示,优化前的神经网络如图5(a)所示,可以看出此时的神经网络结构较为复杂,嵌入式神经网络推理需要较多的数据IO操作;经过优化后的神经网络结构如图5(b)所示,此时卷积-偏置-激活被压缩到一个CBR层中,且操作相同的网络得到了合并,一些冗余层也被移除。因此,比起原始的神经网络,经过嵌入式推理优化的神经网络结构更为简洁,适合于嵌入式的神经网络推理。
2. 实 验
2.1 基于MobileNetv3-SSDLite手势识别算法的训练、测试和部署
不同于常见的目标检测,手势识别没有一个标准的手势数据集,目前大部分手势识别数据集都是针对自己的手势识别任务而建立的,如手语识别、指尖识别等,且绝大部分手势识别数据集都只有手部图片,无法用于手势识别算法的训练。因此我们模拟实际的应用场景,制作静态手势识别数据集。本文选取了如图6所示5种指令手势,分别为握拳、食指伸出、ok、大拇指收回、五指伸出,根据伸出的手指数编号为手势0、手势1、手势3、手势4、手势5。之所以没有选用深处食指和中指,摆出“V”字形的手势,是因为该手势出现的频率较高,如果将其设置为识别手势的话可能会与用户的想法发生冲突,因此不选取其作为识别手势。
用手机相机拍摄包含手势指令的动作视频,每8帧抽取视频帧图像作为原始数据。从中挑选手势清晰、包含左右手、多角度、不同距离的手势图像作为可用数据集,如图7(a)所示。对于一些出现运动模糊、手势角度过大无法辨别、图像失真或手势部分超出画面等情况的帧图像,如图7(b)所示,对其舍弃。对选取的可用手势图像或背景图,使用labelImg工具进行手势标注,得到可用的xml文件,它指明了图像的文件名、路径、图像大小、手势分类以及手势位置等信息,供模型训练测试使用。最终得到每个手势图像2100张,包含背景图在内的数据集图像共12 000张,图像尺寸大小共三类:1280×720,960×544,1920×1080像素,且数量均匀。
获得数据集之后,将其根据80%~20%比例划分为训练集和验证集,其中训练集图像9600张,验证集图像2400张。利用训练集在服务器(Intel Xeon 4110 CPU,256G RAM, NVIDIA GV100 GPU)上训练MobileNetv3-SSDLite算法模型,训练的回归损失、分类损失和平均损失随训练步数epoch的变化曲线如图8所示。
从图8中可以看出,损失函数值随着神经网络训练的进行不断降低,并在训练步数120后收敛。
为了验证手势识别算法的识别准确率,使用验证集2400张手势图像测试训练得到的手势识别算法。验证集的手势图像包含室内简单背景、光照充足、单人单个手势的情况,识别结果如表4所示。
表 4 不同手势的识别结果Table 4. Recognition results of hand gestureshand gesture accuracy/% 0 99.64 1 100.00 3 99.51 4 99.22 5 99.69 average 99.61 从表4中可以看出,所有手势的识别准确率都在99%以上,其中手势4的识别准确率最低,为99.22%;手势1的识别准确率最高,为100.00%,平均准确率为99.61%。其中,不同手势识别准确率不同是因为手势的复杂度不同,深度学习神经网络在提取特征与目标检测过程中会出现特征提取或者分析错误的情况。如手势4与手势5的相似度较高,在手势的特征提取与识别过程中受到背景干扰,出现手势识别的混淆。
为了进一步测试手势识别算法在不同场景下的手势识别准确率,测试了多个手势,复杂背景以及光照不足的情况,平均手势识别准确率如表5所示。
表 5 不同场景下手势识别结果Table 5. Recognition results of hand gestureson various scenariosscenarios average accuracy/% multiple hand gestures 96 complicated background 64 low light intensity 72 从表5中可以看出,本文所提出的MobileNetv3-SSDLite手势识别算法在场景中存在多个手势时识别准确率出现了一定的降低,与表4中的识别结果区别不大,这是因为多个手势的场景与训练用数据集的场景比较接近,手势识别算法可以较好地应用数据集中学习得到的手势特征。手势识别精度最低的场景是复杂背景下的手势识别,这个场景中存在数个人,其中有些人做手势而另外的人处于自然状态。这个场景的识别精度低是出现了较多的误检情况,把处于自然状态下人的手检测为手势。相反,光照不足的场景下则是出现了较多的漏检,一些手势未能准确识别。综合分析上面3种不同的场景,识别率较低的均为数据集中未出现的场景,而与数据集场景重合度较高的多个手势场景则手势识别准确率相对较好。因此,对于数据集涵盖的场景,本文提出的MobileNetv3-SSDLite手势识别算法的识别效果较好,而数据集未涵盖的场景,则识别精度较低。所以在未来的应用过程中,应当根据实际的使用场景选择并制作合适的数据集。
如图9所示,将训练好的算法模型通过TensorRT实现参数量化和模型压缩,并部署到NVIDIA Jetson TX2处理器上,该嵌入式处理器有专门用于神经网络的运算核心,以15 W的功率提供1.33TFLOPS的算力,也可以选择7.5 W的低功耗模式,适合于本文中静态手势识别算法的部署。
使用图9中的TX2开发者套件进行测试,TX2嵌入式处理器读取开发者套件上CSI摄像机的视频帧,使用搭载在TX2上的MobileNetv3-SSDLite网络推理实现手势识别,部分检测识别结果如图10所示。
由图10可以看出,搭载在TX2嵌入式处理器上的MobileNetv3-SSDLite手势识别算法可以有效定位用户手势,给出准确的手势识别结果。
2.2 与其他算法的比较
为了验证本文提出的基于MobileNetv3-SSDLite手势识别算法的轻量化设计,使用相同的手势数据集训练了4个VGG16-SSD,MobileNetv1-SSD,MobileNetv1-SSDLite和MobileNetv2-SSDLite手势识别算法。不同算法的参数量、速度和验证集上手势的平均识别准确率如表6所示。
表 6 不同手势识别算法的比较Table 6. Comparison of different hand gesture recognition algorithms.algorithm params/Mbyte MACs/106 frame rate/(frame/s) mean accuracy/% VGG16-SSD 24.3 30654 2 91.75 MobieNetv1-SSD 7.2 1299 12 93.98 MobileNetv1-SSDLite 4.1 1130 16 93.86 MobileNetv2-SSDLite 3.1 656 36 91.01 MobileNetv3-SSDLite 2.2 526 58 99.61 由表6可以看出,相比于最初提出的VGG16-SSD模型和其他MobileNet-SSD的模型,本文提出的MobileNetv3-SSDLite手势识别模型的参数量最少,需要的算力最低,识别速度可以达到58帧/s,满足实时性要求,最终的手势识别准确率最高。
3. 结 论
本文提出了一种基于嵌入式MobileNetv3-SSDLite的手势识别算法。根据设计的识别手势,制作了手势识别数据集,搭建基于嵌入式的MobileNetv3-SSDLite算法,在服务器上训练算法模型并利用TensorRT量化和压缩模型,部署到NVIDIA Jetson TX2嵌入式处理器上。
在嵌入式处理器上测试本文提出的基于MobileNetv3-SSDLite手势识别算法。经过测试,本文所提出的基于嵌入式MobileNetv3-SSDLite的手势识别算法准确率较高,在嵌入式处理器上实现50帧/s以上的手势识别帧率,满足实时手势识别的要求。
期刊类型引用(2)
1. 杨先科,殷磊,姚达毛. EAST装置高场侧NBI束透区第一壁的设计和分析. 核聚变与等离子体物理. 2024(04): 450-455 . 百度学术
2. 於子辰,陈玉庆,许永建,陈丽萍,刘晓雪,吴征威,毛文哲. 基于二次电子发射的中性束剖面诊断系统设计. 核聚变与等离子体物理. 2023(04): 457-461 . 百度学术
其他类型引用(3)
-

计量
- 文章访问数: 1223
- HTML全文浏览量: 182
- PDF下载量: 328
- 被引次数: 5