APP下载

多通道融合下的手势识别算法研究及船舶虚拟交互平台设计

2022-08-23程淑红杨镇豪

计量学报 2022年7期
关键词:置信度手势摄像头

程淑红, 杨镇豪, 王 唱

(1.燕山大学 电气工程学院,河北 秦皇岛 066004;2.燕山大学 机械工程学院,河北 秦皇岛 066004)

1 引 言

船舶操纵模拟平台是利用电子设备、计算机和显示设备在实验室环境下模拟船舶海上航行状况[1],用以提升海员对船只的实时操作能力。随着虚拟现实技术的发展,船舶操纵模拟平台开始利用三维仿真技术搭建船舶和水体虚拟模型[2,3],但采用的人机交互方式依然以键盘、鼠标等传统交互方式为主,面对虚拟场景存在操作繁琐的问题[4]。船舶操纵模拟平台需要一种更自然有效的人机交互方式。

手势是人与人之间最自然的交流方式之一,具有通用性和抗干扰能力强的优点。实现手势识别主要有3类方法: 第1类需要使用可穿戴设备。如李秀艳等[5]和李露等[6]分别利用传感器采集了手腕和手指部分的手势数据,通过对数据处理实现手势分类;或者通过手势设备采集大量的数据,如Zhang X L等[7]和Shin S O等[8]分别利用数据手套和可穿戴IMU设备检测手部运动数据并建立庞大数据库; 前者采用LSTM网络建立手势分类模型,后者采用隐马尔可夫模型作为用户姿态精度的确定方法。该类方法需要穿戴的设备往往比较昂贵,设备本身也限制了手的灵活性。第2类是通过处理雷达传感器识别来自目标手势的反射信号来实现手势识别。如Hazra S等[9]将手势的反射信号生成距离多普勒图像,Smith K A等[10]使用机器学习记录每个手势的雷达特征。但这类方法使用的毫米波雷达传感器容易受到外来杂波的影响,器件成本较高。

相比于前两类手势识别方法,第3类是基于视觉的手势识别采集图像。该类设备成本更低,无需额外穿戴设备,人机交互更自然流畅。如Ahuja M K等[11]采用一种阈值分割法和模板匹配法匹配出正确手势,但该方法对输入手势图像要求较高,容易受到光线、角度因素影响,因此时梦丽等[12]采用一种超像素手势识别算法,实现了在较复杂环境下手势识别;宋一凡等[13]利用卷积神经网络对图像数据良好的特征提取能力来提取手势特征,提高了手势识别准确率。

针对目前船舶操纵模拟平台缺乏自然流畅的人机交互模式的问题,本文提出一种多通道融合的手势识别算法,以YOLOv4目标检测算法为基础,实现多视角手势识别,将多个识别结果通过一种多数据融合算法来降低误识率。同时设计一船舶虚拟交互平台,通过手势指令实现对虚拟船舶的操作。

2 系统构成

手势识别船舶虚拟交互平台主要由手势识别部分和虚拟场景搭建2部分构成,如图1所示。手势识别部分在多视角下采集手势图像,经过手势识别算法框架和多数据融合算法后输出最终手势指令,实现对虚拟船舶的各种操作。

图1 手势识别船舶虚拟交互平台构成

2.1 多通道融合手势识别算法研究

手势识别部分又分为多视角手势图像获取、通过YOLOv4手势识别模型识别手势和多识别结果数据融合3个阶段。多通道融合手势识别算法框架如图2所示。

图2 多通道融合手势识别算法框架

2.1.1 YOLOv4目标检测算法

YOLO[14~16]是一种端到端的基于深度神经网络的目标检测和定位算法,具有识别速度快、准确率高的特点。

YOLOv4相较之前的版本在主干网络上引入CSPNet网络结构构成CSPDarknet,这种网络结构可以将梯度信息变化从开始到结束都集成在特征图中,在保证准确率的同时减少了计算负担;YOLOv4在主干网络后引入SPPNet,减少了输入图像在经过图像尺寸变换后造成的信息丢失,增强了网络的鲁棒性;YOLOv4利用PANet结构将网络底层定位信息传递到高层,同时减少了高层到底层信息流通所需经过的卷积层数,进一步提升了YOLOv4网络对特征的提取能力,提升了对小目标检测的准确率。YOLOv4网络结构如图3所示。

图3 YOLOv4网络结构

2.1.2 手势识别通讯方案及多数据融合算法

如图2所示,设计在3个不同设备上分别实现对手势的识别,将3个识别结果发送到主设备的数据库,并通过多数据融合算法得到最终识别结果。在进行手势识别结果的实时发送时,采用多设备同时读写MySQL数据库方式。MySQL是一种关系型数据库管理系统,具有良好的读写文件速度和鲁棒性。多数据融合算法流程如图4所示。

图4 多数据融合算法流程

融合算法采用投票机制和加权机制:如果3端结果一致或者两方结果一致,排除未识别结果(f(x)=0)后,取此时票数最大一方的结果进行输出。若3者结果均不同,此时算法转换为加权比较机制,即将左中右3端设备采集的置信度数据结果乘以各自的权重系数,然后比较三视角的最终置信度大小,输出此时置信度最大的手势识别结果。f1、f2、f3和f4的表达式如下:

f1=f(x1)

(1)

(2)

(3)

f4=f(c4)

(4)

c1=x1

(5)

c2=max(x1,x2,x3)

(6)

c3=max(x1,x2,x3)

(7)

(8)

式中:x1、x2和x3分别是3个手势识别结果的置信度;f(x1)、f(x2)和f(x3)分别是置信度所对应的手势种类;c1、c2、c3和c4分别是输出结果f1、f2、f3和f4对应的最终置信度;w1、w2和w3是3个识别结果置信度的权重系数;wmax是置信度加权比较后最大值的权重系数。

2.2 多通道融合手势识别算法研究

本文基于Unity3D开发引擎搭建船舶虚拟平台,以实现手势识别技术与船舶虚拟平台的交互验证。Unity3D是一个由Unity Technologies开发的用于创建三维游戏、实时三维动画等互动类型的开发工具。使用Unity3D的主要优点是支持平台发布、支持导入多种模型文件格式以及支持外接VR设备。

本文搭建的基于Unity3D的船舶虚拟交互平台如图5所示。该平台主要包括船舶在海浪中航行的虚拟场景和搭载于船舶之上的自由度稳定平台的转动的虚拟场景。

图5 基于Unity3D搭建的船舶虚拟平台

在船舶实体建模时,首先,通过系统自带文件的宏命令输入型值点,再执行宏程序生成船体型线;然后,运用“多界面曲面”命令由船体型线生成曲面,分船首、船中和船尾分别生成;最后,检查曲面是否存在缝隙并对其进行修补。搭建虚拟船舶后通过“凸台拉伸”等命令分别绘制驾驶甲板以及船舶甲板等,并在零件图中绘制自由度稳定平台和锚机、栏杆、导览器以及雷达桅等,完成对其在船舶加拨上的安装。

为增强虚拟场景的真实感和用户沉浸体验以及海浪的复杂性,选择导入Scrawk制作的Ceto Ocean System资源包。该工具包包含了Ocean基本组件、Wave Spectrum波浪组件等。通过对这些组件的参数设置,即可搭建出海浪场景。在天空场景渲染时,使用Unity3D提供的Skybox资源包,包含了各种天空贴图,使用这些贴图即可渲染出一个虚拟的天空。

目前在大型串并混联稳定跟踪系统中,船载自由度稳定平台具有重要的应用价值,该平台的控制主要通过操作传感和按钮等方式。本文研究旨在通过手势实现对虚拟船载稳定平台的智能控制,促进传统控制方式的智能化和多样性。

3 实验验证

3.1 实验条件

本次实验设计的摄像头组包括3个200万像素高清USB摄像头,分别从中间、左边和右边获取手势图像;为保证在3个视角下采集的手势在图像中大小占比一致,要求中间摄像头6 mm焦距,左右摄像头8 mm焦距,3个摄像头处于同一高度且间隔50 cm,左右摄像头与中间摄像头构成120°夹角,手掌距离中间摄像头40 cm到80 cm,左右偏移 40 cm。3个摄像头摆放位置如图6所示。

图6 3个摄像头摆放位置

搭建YOLOv4手势识别框架的3样设备分别为2个JETSON AGX Xavier开发板和1台主控计算机;程序运行环境为Ubuntu18.04、CUDA10.0、PyTorch。

船舶航行面临的恶劣光照环境一般是在夜间航行时受到的光污染[17]。这些光污染源使光照环境明暗交替不定,手势图像受干扰严重。为最大程度还原船舶夜间行驶的光照环境,在实验室条件下利用手机闪光灯直接照射手部来模拟强光环境;阴天室内,在无其他光源情况下仅依靠显示屏亮度来模拟昏暗环境;使手部随机晃动来模拟船舶摇晃环境。

3.2 手势图像采集方案和数据集建立

为了能更全面的获取手势信息,设计了能在3个视角下对手势图像进行采集的摄像头组,分别在左、中、右采集手势图像。因为同一种手势在不同视角下有不同的表现,在建立手势数据集时需采集到每个手势在3个视角下图像。同时考虑到手势与摄像头距离、焦距因素的影响,又分别在距离较远、距离适中、距离较近的情况下对手势进行样本采集。

定义如图7所示21种静态手势。为增强手势识别模型的鲁棒性和采集的手势图像的多样性,每种手势分别对15~20人进行采集,平均每种手势采集400张图片并使用数据增广策略处理手势图像。

图7 21种手势示意图

3.3 手势图像采集方案和数据集建立

将手势数据集的80%作为训练样本,经过训练优化模型参数后,分别在3个设备上搭建手势识别算法框架。在实验室环环境下,模拟摇晃、强光、昏暗3种复杂环境,并用该算法对手势进行实时识别。每种手势随机截取50张图片,分别测试该算法在复杂环境下对21种手势识别的准确率δAcc,并比较在相同条件下单视角的识别效果。选取前5种手势识别结果如表1和表2所示。

表1 单视角下手势识别准确率

表2 多通道融合手势识别准确率

手势识别的准确率定义如下:

(9)

式中:TP表示该手势被正确识别次数;TN表示该手势被误识别次数。

分析表1数据,在单视角下手势出现剧烈摇晃情况对手势识别准确率影响最大。因为在剧烈摇晃时,摄像头捕捉的手势图像会出现残影、模糊现象,手势特征会发生不确定改变,导致对手势的误识别。如图8所示单视角下手势在剧烈摇晃时出现的手势误识别情况。

图8 单视角误识别情况

分析表2数据,在多视角下对5种手势识别的准确率相较单视角得到提升。数据计算得到通道融合手势识别算法在正常、摇晃、强光和昏暗4种情况下对手势识的平均准确率分别为:99.2%、91.6%、97.2%、96.4%,在复杂环境下对手势的平均识别准确率达到95.06%。因为手势被多个相机采集并识别可以更全面的提取手势特征,通过多数据融合算法综合比较多个识别结果,剔除单一视角识别出的置信度较低的手势,输出识别次数最多且置信度较高的手势识别结果,降低误识别次数,提升系统的鲁棒性。

如图9所示多通道融合手势识别算法在手势剧烈晃动情况下的识别结果和置信度。

图9 多通道融合手势识别算法识别剧烈晃动手势

分析图9识别情况,3个摄像头分别对手势进行识别。其中,手势1的右视角、手势4的左视角和手势5的右视角分别出现:“识别出当前手势置信度过低”、“识别错误”、“正确识别当前手势其他较高置信度手势”。但通过多数据融合算法与其他两个视角结果进行比较,剔除识别的错误种类和低置信度手势,最终输出正确识别结果并保留最高置信度。实验结果说明多通道融合手势识别算法具有较高的识别准确率和鲁棒性。

3.4 手势图像采集方案和数据集建立

环境的复杂性与交互的稳定性密切相关。本文基于手势与船舶虚拟平台的交互测试面向室内环境,以船舶自由度稳定平台操作为例,定义顺时针旋转和逆时针旋转2种旋转形态,以60°为最小旋转单位,使用两类不同的手势分别执行顺时针和逆时针旋转指令。使用手势19和手势20分别表示自由度稳定平台的顺时针和逆时针旋转。手势指令实现人与虚拟船舶的人机交互如图10所示。其中对手势识别的置信度达到99%,平均响应时间小于0.1 s,证明该手势识别算法在船舶虚拟交互平台具有优越的识别准确率和响应速度。

图10 使用手势指令实现船舶虚拟交互

4 结 论

为促进船舶虚拟交互平台从传统交互模式向智能化转变,本文提出一种多通道融合下的手势识别算法,同时实现了通过手势对虚拟船舶稳定平台的操作。该手势识别算法在3个设备上搭建基于YOLOv4的手势识别模型,利用多摄像头组采集手势并通过多数据融合算法决策出最终识别结果。结果显示该手势识别方法在复杂环境下仍能保持95%以上的准确率。

实验测试利用手势指令实现对虚拟船舶的自由度稳定平台的操作,自由度稳定平台能根据手势指令迅速做出响应,在整个操作过程中实现了手势识别人机交互模式的自然感和高流畅度。

猜你喜欢

置信度手势摄像头
浙江首试公路非现场执法新型摄像头
置信度辅助特征增强的视差估计网络
一种基于定位置信度预测的二阶段目标检测方法
摄像头连接器可提供360°视角图像
硼铝复合材料硼含量置信度临界安全分析研究
挑战!神秘手势
正负关联规则两级置信度阈值设置方法
胜利的手势
奔驰360°摄像头系统介绍
认手势说数字