请留神,本文所表现的信息、用途及使用完整是Video-Touch客座作者的概念。
你能够看过一些科幻电影,片子中的人可以用身体举措去节制机器人。现在,借助古代计算机视觉跟机器人方式,咱们可能把这类体验酿成理想,并且跟片子一样出色奇奥。
受新冠病毒影响,正在如斯艰苦的期间,为了让近程节制跟近程操纵变得切实可用,咱们开启了VideoTouch名目。
Video-Touch是第一个人机交互体系。它容许多名用户,正在世界任何处所经由过程视频通话使用(例如GoogleMeet、Zoom、Skype)对其停止节制。
咱们思量过,是不是有能够只用本人的手来近程节制机器人,而没有借助手套、操纵杆等任何额定的设备,同时没有发生较着的耽误。因而,咱们决意利用计算机视觉去及时辨认举措,并及时传送给机器人。正在MediaPipe的资助下,咱们将其变成了理想。
操作系统大抵以下:
1.经由过程视频会议使用,正在用户设备上获得收集摄像头视频,然后将其发送至机器人计算机;
2.用户的收集摄像头视频串流经由过程OBS虚构摄像头对象被捕捉到机器人的计算机显示器上;
3.辨认模块正在MediaPipe的资助下读取用户的举措跟手势,并经由过程ZeroMQ发送给下一个模块;
4.正在举措捕获数据的根底上,机器臂及其抓手由Python节制。
从计划中可以清晰天看出,用户正在操纵机器人时只需不变的互联网毗邻跟一个视频会议使用。一切的如屏幕捕获、手部追踪、手势辨认跟机器人节制等计较,皆可以正在Wi-Fi与机器人毗邻的零丁设备上停止。接下来,咱们将对流水线的各个环节停止具体解释。
物流分拣机器人是怎么工作的分拣机器人分析用户可以利用任何一台可能实现跨设备传输视频的软件。正在试验中,咱们利用的是视频会议的桌面使用。用户正在其设备上呼唤一台显示器与机器人相连的计算机。如许,机器人便可以看到来自用户收集摄像头的视频串流。
此刻,咱们须要某种机制去把用户的视频从视频会议传送到辨认模块。咱们利用的是OpenBroadcasterSoftware及其虚构摄像头对象去捕获翻开视频会议的窗口。如许咱们便取得了一个虚构摄像头,它此刻有来自用户收集摄像头的帧及其怪异的设备索引,可以正在辨认模块中进一步利用。
辨认模块
辨认模块的作用是捕获用户的举措并将其传送给机器人节制模块。MediaPipe会正在此发挥作用。咱们为捕获手部举措探求了最无效、最正确的计算机视觉软件。咱们发明了许多令人兴奋的解决方案,但事实证明,关于如斯存在挑战性的使命,MediaPipe是独一得当的对象。
咱们对MediaPipe手部追踪模块停止了两项要害点窜:增长了手势辨认计算器并集成了ZeroMQ消息传递机制。
两项要害点窜
正在前次发表文章的时间,咱们有两个版本的手势辨认实现。第一个版本以下图3所示,一切的计较均正在手部姿式辨认计算器内停止。计算器将特点面作为输入停止缩放,也就是说,这些特点面依据脚的鸿沟框巨细停止标准化。接下来,它会辨认4种手势:“挪动”、“倾斜”、“抓取”跟“无手势”(论文中的“手指距离”手势是实验性内容,不包罗正在终极演示版中),并输出手势类称号。只管这个版本非常稳重实用,但它只是基于简略的启发式划定规矩,如:“若是此特点面[i].x《特点面[j].x,那么它是一个‘挪动’手势”,并且关于手部扭转那类现实生活中的环境,此版本没法辨认。
发表文章
为了减缓泛化不良的问题,咱们实行了第二个版本。咱们正在手动网络跟加标签的1000个关键点的数据集上锻炼了来自scikit-learn的梯度晋升分类器:“挪动”、“倾斜”跟“抓取”类各有200个,而“无手势”类有400个。趁便道一下,现在可以经由过程比来宣布的JestureAISDKrepo(注:咱们团队部门成员的另一个名目)轻松获得此类数据散。
JestureAISDK
咱们利用缩放的特点面、枢纽间的角度和成对的特点面距离作为模子的输入,去猜测手势类。接下来,咱们测验考试只传送缩放的特点面,而没有传送任何角度跟距离,成果正在200个关键点的当地验证集上取得了91%的近似多类准确率。关于这个版本的手势分类器,另有一点是咱们没法间接正在C++中运转scikit-learn模子,以是咱们用Python停止实现,作为机器人节制模块的一部分。
高速分拣机器人价格多少颁发后,咱们立刻推出了一个正在Keras中锻炼的齐毗邻神经网络,它采取的数据散与梯度晋升模子不异,而失掉的成果更好,准确率到达93%。咱们将这个模子转换为TensorFlowLite格局,此刻咱们可以正在手部姿式辨认计算器中间接运转手势辨认ML模子。
失掉以后手部地位跟以后手势类后,咱们须要将其传送给机器人节制模块。停止那一步时,咱们借助了高性能的异步动静功用库ZeroMQ。为了正在C++中实现那一点,咱们利用了libzmq库跟cppzmq标头。应用要求-复兴计划:辨认模块C++代码中的REP跟机器人节制模块Python代码中的REQ。
libzmq
cppzmq
要求-复兴
是以,借助咱们点窜过的手部追踪模块,此刻可能将运动捕获信息及时传送给机器人。
机器人节制模块
物流分拣机器人原理机器人节制模块是一个Python剧本,它将手部特点面跟手势类作为输入,并输出机器人挪动下令。运转该剧本的计算机经由过程Wi-Fi与机器人毗邻。咱们的试验中利用了搭载NvidiaGTX1050TiGPU的MSI笔记本电脑。同时测验考试正在IntelCorei7CPU上运转全部体系,因为有高度优化的MediaPipe计较图实现,该运转也是及时的,耽误可以忽略不计。
正在现阶段的流水线中,咱们利用了UniversalRobotics的6DoFUR10机器人。因为利用的抓手是双指的,咱们没有须要每一个特点面与机器人手指关键点的完全映射,只须要脚中间的地位。借助此中间坐标跟python-urx软件包,咱们此刻可能正在所需的方位跟标的目的上转变机器人的速率:正在每一帧上,咱们计较以后手中心坐标与前一帧坐标之差,从而得出速率变更矢量或角度。最初,此机制看起来与人们用操纵杆节制机器人的方法十分类似。
python-urx
高密度触觉传感器的触觉感知
灵活的支配要求存在较下的空间分辨率跟对物体跟情况的高保真触觉感知。最新的传感器数组非常适合机器人支配,由于它们可以很简单地挂接到任何机器人末尾执行器上,并顺应任何接触面。
源宣布文章
Video-Touch嵌入了一种高密度的触觉传感器数组。它们装置正在双指机器人抓手中。每一个指尖上皆挂接一个传感器数组。单个电极数组可以感到5.8平方厘米的帧面积,每帧分辨率为100面。感到频次即是120赫兹。每一个面的力检测规模为1至9牛顿。是以,机器人以200面的分辨率检测施加正在机器人手指抓取的固体或柔性物体上的压力。
从传感器数组处网络的数据颠末处置惩罚后,以静态手指打仗映射图的情势向用户显现。压力传感器数组让用户可能感知被抓物体的顺应性、硬度、粗糙度、外形、标的目的等物理特性。
图8:多用户机器臂节制功用。用户可能正在通例的视频通话进程中履行COVID-19检测[源视频]
尾注
如此一来,借助MediaPipe跟机器人,咱们树立了一个无效的多用户机器人近程操作系统。正在将来,近程操作系统的潜伏用途将包罗医疗检测,和正在难以进入的情况中停止的试验。该体系的多用户功用办理了无效近程协作的实际问题,容许正在多人小组中停止须要手动近程节制的名目事情。
咱们流水线的另一个劣势特色是,人们可以利用任何带有摄像头的设备,例如手机,去节制机器人。除机器臂,人们借可以操纵其他如,边缘设备、移动机器人或无人机等硬件设备。当然,现阶段的解决方案存在必然的局限性:延迟时间、z坐标的应用,和手势类型的便利性皆有改善的空间。咱们非常等候试用MediaPipe团队的更新,并等候着测验考试新类型的抓手、双手节制,以至是全身节制。
愿望那篇文章对你跟你的事情有所资助。珍重身体,保持编码。十分感谢您的存眷!
中国分拣机器人在外国打工广州分拣机器人码垛智能视觉分拣机器人设计思路