A realtime HumanRobot interaction framework with robust background invariant hand gesture detection

Abstract

  • 鉴于未来的工厂,为了确保机器人与人类同事之间的高效安全互动,机器人必须提取同事的基本信息。我们通过设计一个可靠的实时安全的人体机器人协作框架来解决这个问题,该框架使用静态手势和提取3D骨骼。
  • Open Pose库与Microsoft Kinect V2集成,以获得人体骨骼的3D估计。在10名志愿者的帮助下,我们记录了一组来自美国手语的字母数字静态手势图像。我们将数据集命名为OpenSign,并将其发布给社区进行基准测试。利用Inception V3卷积神经网络适配并训练以检测手势。
  • 为了增加用于训练手势检测器的数据,我们使用OpenPose来定位数据集图像中的手部并通过利用KinectV2深度图来分割手部图像的背景。然后,用随机图案和室内建筑模板代替背景。 Inception V3的微调分三个阶段进行,验证准确度达到99.1%,测试精度达到98.9%。执行图像采集和手势检测的异步集成以确保手势的实时检测。
  • 建议的框架集成在我们的物理人机交互库OpenPHRI中。 该集成通过成功实施I SO / TS15066“安全额定监控停止”和“速度和间隔监控”协作模式的安全标准,对OpenPHRI进行了补充。通过机器人操作手的演示实验,验证了该框架的性能。

Introduction

  • 工业4.0的出现,作为制造业自动化和数据交换的现代趋势,提出了未来智能工厂的概念。这一不断发展的行业要求在人类和机器人之间进行更有效、更具参与性的合作,每个合作伙伴都可以建设性地利用其他合作伙伴的优势来提高生产力和工作质量。
  • 人类同事的安全以及人类与机器人之间的有效互动是在这样一个工业环境中取得成功的关键因素。为了确保安全,机器人检测外力、区分预期力和意外力以及适应人类同事的快速性的能力至关重要。然而,对于现代协作机器人来说,视觉也是必不可少的,它可以监控其人类同事的行为和行为,以进行通信或防止事故发生。
  • 一般来说,机器人的设计和编程是为了执行特定的任务。因此,一个不熟练的工人很难为机器人重新编程来完成一项新的任务。多模式界面包括基于视觉的手势检测框架,构成自然和有形用户界面(NUIS和TUIS)的实例。Nuis利用用户已有的与日常实践相关的知识和行动,提供自然和现实的互动。
  • 在许多工业环境中,由于机器操作产生的干扰,人们不喜欢通过语音进行交流。传统的教学挂件的使用本身就是为了让新用户学习。便携式设备几乎每天都需要充电,在交互软件中也可能有复杂的菜单树或网络问题。
  • 用手操纵机器人到特定的目标位置,在实际的人机交互中,如演示应用程序中的教学,是最直观的交互方式。为了减轻人类同事在用手操纵机器人时携带任何额外设备的负担,手势被认为是与机器人进行交流/互动的自然和直观的方式。

Related Work

  • 通过对检测到的物体的质心估计来检测人类同事,正如作者所说,这取决于腿的运动、衣服的移动和传感器的噪声。作者强调了安全摄像头和机器人传感硬件的技术进步,以便在非结构化环境中实现速度和分离监控。
  • 在[20]中,作者介绍了他们对无传感器无线电人体定位的初步研究结果,以实现速度和分离监测。采用无线无线无线定位方法,将多个节点连接成网格状,不规则地分布在大的室内区域,使被定位的人不需要携带有源无线设备。
  • 为了实现动态速度和分离监测,在[22]中提出了与轨道相关的安全距离的思想,该方法避免了固定的额外安全间隙,并针对手头的功能任务进行了优化。
  • 正如所有这些工作所强调的,与其他传感器相比,视觉的一个优点是不需要对环境和/或操作员进行构造。此外,它通常更富、更轻便(一笔资金是移动机器人的一项精神功能),而且成本较低,即使深度也由传感器测量。虽然目前Kinect还远不能保证安全,但我们相信在不久的将来,类似的RGB+D传感器也能做到。出于所有这些原因,在本工作中,我们决定使用rgb+d视觉来处理安全等级的监控停车和速度和分离监控。
  • 他们比较了三款深度摄像头的性能,分别是Microsoft Kinect v1、Microsoft Kinect v2[29]和Intel Realsense R200[30]。Kinect v1使用结构化光方法来估计深度图,Kinect v2是飞行时间传感器,而Realsense R200具有立体红外设置来产生深度。
  • [5]的作者提出了一项研究,用于测量工业机器人应用中无围栏机器人协作中人类同事的信任度。为了保证人类同事的安全,必须为机器人配备视觉传感器,使其能够了解环境并适应工人的行为。文中还讨论了使用RGB+D摄像机检测指向姿态和使用深度信息进行近距离安全监控。在[36]中,作者使用人的手势通过指向地板的手势来操纵轮式机器人。交互方案还包括检测面部表情,如作者所述,其中有10种会失败,因为未经培训的用户会巧妙地做出这些表情。
  • 手势检测技术主要分为两类:基于电子/手套的系统和基于视觉的方法。一些研究人员更喜欢使用可穿戴的传感器来处理闭塞或不同的光线条件。这些传感器价格昂贵,违反直觉,限制了操作员在日常任务中的灵活性。基于视觉的方法可以分为两类:(a)使用标记的方法和(b)基于视觉的方法。
  • 深度照相机的使用在手势检测或手语翻译等应用中越来越流行。在[49]中,对三维手势识别进行了全面的调查。通过设置深度阈值,来自此类传感器的深度信息可用于在杂乱的背景中分割手,而手的标准化深度图像则添加了正确分类手势的信息[50]。这种技术的准确性取决于深度传感器的范围和分辨率。然而,使用深度传感器是有益的,因为它有助于检测精细的手势[51]。最新的深入学习工作已经允许从传统的RGB图像中提取二维手骨[52,53]。

Our Contributions

  • 本文是对我们在[55]中提出的工作的一个扩展,该工作通过静态手势在机器人和人类同事之间提出了一个工具移交任务。主要受Lenet[47]启发,开发了一种卷积神经网络,用于对四个手势进行分类。先前的工作的目的是建立一个强健的手势检测系统。然而,数据集很小,手部图像只由一个人记录。这不能保证正确检测到其他人的手势以及背景纹理丰富的手势。
  • 我们通过在10个手势上训练手势检测器来扩展我们的工作,而不是[55]中的4个手势。此外,现在的背景被随机模式/室内建筑图像所取代,以使检测更可靠和背景不变。视觉管道随后与OpenPHRL[12]集成,以使用两种ISO/TS 15066安全标准的协作模式来补充库。第6节详细介绍了这种集成。我们提出了一种交互设置,通过手势,人类同事可以安全地向机器人指令。总之,本文的贡献如下:
  1. 开发了一个实时手势检测框架,该框架通过开放式二维骨架探测器的异步集成对手进行定位,并以大约20fps的帧速率对手势进行分类。
  2. 将Kinect V2深度图与获得的二维骨架相结合,得到一个伪三维骨架,用于“速度和分离监测”,以保证人体工友的安全。
  3. 从Inception V3卷积神经网络出发,通过传递学习训练背景不变手势检测系统。
  4. 在线发布Kinect第2版手势记录数据库,用于基准测试和比较。
  5. 将已开发的手势检测模块与我们安全的人体机器人交互框架(即openphri)集成在一起。
  6. 验证了Kuka LWR4+手臂机器人检测手势的教学和控制框架。

Skeleton extraction and hand location

  • 在我们的工作中,我们利用OpenPose [52,53]来提取骨架关节坐标,如[56,57]中所述。该库返回2D骨架坐标(xi,yi,ci),用于= ... i 1,,18,来自 RGB图像,使用多人场景中的置信度图和部件关联性字段; xi和yi分别是18个COCO身体部位的横坐标和纵坐标[58],而ci代表它们的置信度。 OpenPose的工作原理是[52]中描述的“卷积姿势机”。
  • 人体及其子部件(手或面)主要取决于所选传感器的输出。在[59]中,作者使用传统的RGB相机使用肤色进行手部分割,如[46]所示。在[60]中,使用激光传感器进行人体定位,其子部件通过Kinect和Openni库获得,如[61]所示。在[39]中,作者受Munaro等人的启发,对人体进行了局部定位。[62]通过合并体素过滤和地平面移除后从Kinect v1获得的点云簇。最近,基于红外的传感器(如跳跃运动)被开发出来,用于跟踪靠近传感器(25到600 mm)的手的手指。但是这个范围对于我们的应用程序来说太近了。在[54]中,作者采用了一种最先进的物体检测深度学习技术,即Yolov2,适合于在场景中定位一个人的手和头/脸。作者使用开放式姿势,首先从记录的人类活动视频中提取手和脸图像,然后使用这些图像。图像训练Yolov2实时检测人的手和脸。检测到人脸以区分左手和右手。这是一种实时检测现场手的有效方法,但需要对手和脸分别进行Yolov2的训练/适应。
  • 在这项工作中,通过nanomsg socket library1设计了一个进程间分布式系统,大大提高了视觉管道的帧速率。
  • 当接收到帧请求时,首先通过平缓冲区序列化当前RGB和深度图像,然后传递给骨架提取模块。骨架提取模块将接收到的帧用平缓冲器序列化,然后通过打开姿态的前向传递RGB图像,从而返回2D骨架坐标(XI,YI,CI)的向量。如前一节所述,计算的平均深度值与2D骨架坐标连接,然后将该3D矢量(XI,YI,DI)发送到图像采集和手定位模块。
  • 我们将比较为3:1:1的20,950个图像的数据集分开,即12,570个列车图像和4,190个图像,每个图像用于交叉验证和测试。 训练图像经过广泛的预处理(在第5.2节中解释),而只有选择性预处理操作应用于交叉验证图像,以使它们接近在机器人交互实验中识别期间获得的那些。
  • 这个二进制掩模被广播到三个频道,然后乘以剪切的RGB手图像,得到一个背景减去手。通过简单地对最初计算的掩码应用“not”操作,还可以创建一个倒置的掩码。背景图案图像被剪切成多个224×224大小的图像(因为它是手图像的设置大小),然后再乘以反转的手掩模。在背景替换的最后一步中,将减去背景的手图像和加上反转二值掩模的图案图像相加。
  • Keras实时数据增强被设计为通过模型拟合过程进行迭代,在训练期间以确定的批量大小创建增强的图像数据。这减少了计算机的内存开销,但增加了模型培训期间的额外时间成本。使用Keras库对所有训练图像(在添加噪声和直方图均衡后,如上所述)应用的图像处理操作包括通道移位、缩放、剪切、旋转、轴翻转和位置移位。
  • 在图像分类问题中,输入数据,即图像,由低级边缘,曲线和颜色组合形成,而与图像表示的对象的类型无关。因此,假设预训练的现有技术网络中的早期层已经学会从图像中有效地提取那些特征,因此需要保留它们。初始V3被训练为识别1000类对象在第5部分中进行了解释。仅仅对10个分类进行了分类,这个具有1000个神经元的网络的最大激活层应该用10个神经元的新层替换。正如在Keras中实现的那样,Inception V3具有10个可训练的初始块。我们分三个阶段进行培训。在第一阶段,网络中的所有层(因此都是阻塞的块)都被冻结,新的层被添加,并且CNN仅被训练10个时期。这利用所有预先训练的初始块的知识来微调新层的权重。然后,我们解冻了最后两个阻塞块,并训练了CNN为10个字符,然后我们训练了这些神经网络对我们的数据集进行了正确的网络调整。这种逐渐解冻的初始块可以防止损坏预先训练好的重量和防止过度接合。
  • 为了验证和量化结果,还测试了4190张新图像的准确度。测试结果的准确度为98.9%。图10中的标准化混淆矩阵显示了每种姿势的准确度以及对其他姿势的否定的误解。它可以观察到,尽管“无”手势的准确率为94.3%,但它被错误地解释为“血腥”。造成这种低准确率的原因是,有一个手势定义了所有的手势,而这些手势不像其他9个手势定义的那样是所有的转换性手势。
  • 很难将所有可能被归类为无手势的过渡手势都包括在内。此外,通过对实验结果的仔细观察,我们可以发现,当人持有物体时,CNN能够准确地识别年龄结构。由此推断,如果CNN接受了额外的手势训练,比如“手中的物体”,这个手势将很容易被区分出来。同时,正如第5节所述,这种错误的解释可能会因为添加软件而受到限制,即直到出现在人体的两个最上面的四分之二的区域内,才会调用手势检测器,正如我们在[55]中所做的那样。
  • 考虑到手势检测的帧速率为20赫兹,这在手势的制作和检测之间会有250毫秒的延迟。这种延迟不应影响人类机器人的交互,因为人类的平均反应时间通常在200-250毫秒的范围内。

Conclusion

  • 从智能工厂(也称为未来工厂)的角度来看,我们引入了一个实时的人机交互框架,用于使用手势进行机器人教学。 所提出的框架依赖于我们的新型旋转和背景不变的稳健手势检测器。这是通过使预训练的状态卷积神经网络(即起始V3)适应10个手势的分类来实现的。 CNN在10个手势的图像数据集上训练,在10名志愿者的帮助下记录。 数据集OpenSign是开放的,可供计算机视觉社区用于基准测试。 我们还发布了手势探测器的源代码。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值