一种基于人体姿态的无人车控制指挥方法

文档序号:26008031发布日期:2021-07-23 21:27阅读:109来源:国知局
一种基于人体姿态的无人车控制指挥方法
本发明属于无人车
技术领域
,具体涉及一种基于人体姿态的无人车控制指挥方法。
背景技术
:无人车是一种利用无线电遥控设备和自备的程序控制装置操纵的不载人车。车上无驾驶舱,但安装有自动驾驶仪和程序控制装置等设备,地面控制站人员通过雷达和数传电台等设备对其进行跟踪、控制和数字传输等。首先,随着各种电子设备的应用,势必会增加通信的干扰,为了保证遥控无人车通信的可靠性和安全性,对通信系统的设计和测试提出了严格的挑战;其次,遥控无人车与地面计算机和遥控设备存在着大量数据交换,这些数据通过一定的方式和规则进行传输,获取状态信息和传感器信息,在遥控无人车系统中扮演非常重要的作用,因遥控无人车数据链的重要性,许多研究单位一些技术成熟的通信模块作为遥控无人车的数据链,各通信链路采用的技术传输方式存在一些差异,这使得存在一些新机型的设备不兼容问题的存在;另一方面,目前遥控无人车产品种类繁多,操作方式也各有不同,为了实现安全行驶,需要给遥控无人车和控制台之间的通信链路划分频率,在同一片非隔离区域中,控制台的指挥人员可能需要多次切换不同频段进行指挥控制,在控制指挥多台无人车装备时,容易使得指挥控制困难。因此,这种依赖无线电控制指挥的方式控制准确度极大依赖于通讯信号,容易出现指挥控制困难、设备不兼容和数据传输容易被干扰等情况。综上所述,单纯依靠无线电的通信方式在实现遥控无人车的交互是远远不够的,需要寻找一种更高效、兼容性更好和更安全的指挥控制方式。技术实现要素:本发明的目的是为了解决单纯依靠无线电通讯方式实现无人车的人机交互过程中存在的控制指挥困难、设备不兼容以及传输容易被干扰的问题,提出了一种基于人体姿态的无人车控制指挥方法。本发明的技术方案是:一种基于人体姿态的无人车控制指挥方法包括以下步骤:s1:利用摄像头采集视频,转化为图片帧并进行预处理;s2:对预处理后的图片帧进行目标检测分析,得到人体区域框;s3:对人体区域框进行姿态检测,得到人体姿态特征信息;s4:对人体姿态特征信息进行匹配,得到完整动作;s5:对完整动作进行分类,并映射至无人车控制指令,完成无人车指令自动识别。本发明的有益效果是:本发明基于人体姿态实现无人车指令自动识别,创新以计算机视觉的方法来实现对无人车的交互式控制,对于控制指挥中心来说是一种高效的指挥控制方式,对无人车智能化的发展有着极大的促进作用。进一步地,步骤s1中,利用摄像头采集视频数据,将视频数据按帧存储转化为图片帧,并进行预处理;其中,若图片帧的采集场景为雾天或阴天,则对图片帧进行去噪处理;若图片帧的亮度或暗度超过阈值,则调整图片帧的亮度或暗度;若图片帧中人物大小超过阈值,则对图片帧进行缩放和裁剪处理;若图片帧中人物站立角度超过阈值,则对图片帧进行旋转处理。上述进一步方案的有益效果是:在本发明中,利用摄像头收集视频数据,将收集到的实时图片帧传递给后序模块进行处理。因为后序目标检测和姿态估计等神经网络的输入是图片,需要将收集到的视频数据按帧存储,将视频转化为图片序列。考虑到真实场景采集到的图片可能存在光照和角度等偏差,从而给模型预测带来影响,故先对图片进行统一处理,避免光照和角度等偏差给模型预测带来影响。进一步地,步骤s2中,进行目标检测分析的方法为:利用卷积神经网络检测预处理后的图片帧中人体所在区域并输出坐标,根据输出坐标进行区域裁剪,得到人体区域框。上述进一步方案的有益效果是:在本发明中,目标检测分析可以将人体区域从包含复杂环境信息的图像中抽取出来,目标检测分析包括输入、目标检测算法和输出三部分,输入模块接收预处理完毕的数据并传入目标检测算法,目标检测算法检测出图片(即帧)中的人体区域框,人体区域框采用矩形区域框的左下和右上顶点的坐标表示,将帧图片和人体区域框一同通过输出模块输出给姿态估计分析,便于计算等。进一步地,步骤s3包括以下子步骤:s31:利用空间变换网络接收人体区域框,并提取人体检测框,其计算公式为:其中,表示转换之前的横坐标,表示转换之前的纵坐标,θ1表示空间变换网络的第一转换参数,θ2表示空间变换网络的第二转换参数,θ3表示空间变换网络的第三转换参数,表示转换之后的横坐标,表示转换之后的纵坐标;s32:利用单人姿态检测算法对人体检测框进行姿态估计,得到人体姿态特征信息,并利用空间逆变换网络将人体姿态特征信息反映射至人体检测框中,其反映射公式为:其中,γ1表示空间逆变换网络的第一转换参数,γ2表示空间逆变换网络的第二转换参数,γ3表示空间逆变换网络的第三转换参数;s33:利用参数化姿态极大抑制法消除人体姿态特征信息中的重复姿态,完成姿态检测。上述进一步方案的有益效果是:在本发明中,姿态检测分析采用自顶向下的方法,将目标检分析得到的人体区域框作为输入,能够在不准确的人体区域框中经过神经网络处理之后得到高质量的人体姿态特征信息,其中包含18个人体骨骼关键点的空间位置和置信度。姿态检测分析采用的是人体关键点检测算,人体关键点检测算法是在单人姿态检测算法上做的改进,单人姿态检测算法是训练在单人图像上并且对于定位错误十分敏感,单人姿态检测算法通过微小变换和修剪的方式可以有效的提高单人姿态检测算法的效果。人体关键点检测算法主要分为两个分支,第一个分支由空间变换网络、单人姿态检测算法和空间逆变换网络组成。其中,空间变换网络接收上一步目标检测分析产生的人体区域框,空间变换网络能很好的提取出一个高质量的人体区域框;在单人姿态检测结束的时候,姿态结果会被映射到原始的人体区域框中。因此,该分支应该将估计的人体姿态反映射回原图坐标中。在得到高质量的人体检测框后,可以使用现成的单人姿态检测算法来继续高精度的人体姿态检测,在训练过程中这一分支的网络一起进行微调。第二个分支是一个平行的单人姿态检测算法。进一步地,步骤s32中,采用平行的空间变换网络和单人姿态检测算法对人体姿态特征信息进行正则化。上述进一步方案的有益效果是:在本发明中,为了进一步帮助空间变换网络去提取更好的人体区域位置,这个平行的单人姿态检测算法也需要经过空间变换网络,然后和单人姿态检测算法并行处理,但是空间逆变换网络被忽略掉。网络输出直接和人体姿态标签的真实值进行对比,如果空间变换网络提取的姿态位置不是中心位置,那么这个平行的单人姿态检测算法会返回一个较大误差。通过这种方式,来帮助空间变换网络聚焦在正确的中心位置并提取出高质量的区域位置。这个分支可以看做是训练阶段的正则化过程。进一步地,步骤s33中,消除人体姿态特征信息中的重复姿态的计算公式为:f(pi,pj|∧,η)=1(d(pi,pj|∧,λ)≤η)其中,f(·)表示重复姿态函数运算,pi表示人体冗余姿态,pj表示人体姿态,∧表示d(·)的参数集合,η表示消除标准的阈值,d(·)表示姿态距离度量运算,λ表示权重系数。上述进一步方案的有益效果是:在本发明中,人体定位不可避免的会产生冗余的检测框,同时也会产生冗余的姿态检测。对于一个人的姿态pi,有m个关节点记做{(k1i,c1i),...,(kmi,cmi)}。这个过程中采用参数化姿态非极大值抑制的方法来对重复姿态进行消除。定义了一种姿态距离度量d(pi,pj|∧)来衡量姿态之间的相似度,定义η作为消除标准的阈值,在这里∧表示函数d(·)的一个参数集合。定义的消除标准为:如果d(·)小于阈值η,那么f(pi,pj|∧,η)的输出是1,表示姿态pi应该被消除,因为对pj来说pi是冗余的。进一步地,步骤s4包括以下子步骤:s41:截取采集的视频中所有开始模板和结束模板;s42:将开始模板和结束模板与人体姿态特征信息进行匹配,将最后一次匹配到的开始动作记为am,将第一次匹配到的结束动作记为e1,并标记第一次匹配到的结束状态前的开始动作;s43:将标准动作指令的持续时间换算为帧数,得到最低帧数和最高帧数;s44:判断最后一次匹配到的开始动作am和第一次匹配到的结束动作e1之间的帧数是否大于等于最低帧数且小于等于最高帧数,若是则进入步骤s45,否则进入步骤s46;s45:将最后一次匹配到的开始动作am和第一次匹配到的结束动作e1之间的所有帧作为完整动作帧序列,完成匹配;s46:依次判断标记的第一次匹配到的结束状态前的开始动作和第一次匹配到的结束动作e1之间的帧数,直至大于等于最低帧数且小于等于最高帧数,将其之间的所有帧作为完整动作帧序列,完成匹配。上述进一步方案的有益效果是:在本发明中,匹配控制从连续视频流中截取出一个完整动作的时序帧,这是自动识别顺利进行的关键步骤。姿态检测分析处理的是连续视频流中的每一帧图像信息,处理之后转换为连续的人体姿态信息,匹配分析的功能就是从连续的人体姿态信息中将完整动作的帧分离出来,做动作分类的判断。这里将所有动作的开始状态抽取出来制作成开始模板,将手臂下垂状态作为结束模板,用这两个模板来和连续不断的人体骨骼数据做匹配,匹配成功就切割出一个完整动作的所有时序帧。在姿态检测分析获得每一帧的特征信息之后,跟开始状态做匹配,判断一个动作是否开始,开始之后再寻找结束动作。取中间的所有视频帧为一个完整语义动作,作为后面网络的输入,便于匹配。进一步地,步骤s41中,将视频中人体所有动作的开始状态作为开始模板,将视频中人体所有动作的手臂下垂状态作为结束模板;步骤s42中,利用动作相似度对进行匹配,具体为:若动作相似度大于阈值,则将该人体姿态特征信息对应的动作标记为开始动作或结束动作,动作相似度k的计算公式为:其中,xi表示预测的第i个关键点的横坐标,yi表示预测的第i个关键点的纵坐标,表示模板帧的第i个关键点的横坐标,表示模板帧的第i个关键点的纵坐标,m表示关键点个数;步骤s43中,动作持续时间为2-4s的动作指令为标准动作指令。上述进一步方案的有益效果是:在本发明中,先定义各个动作开始状态模板和结束状态模板。由于考虑到所采集的动作指令的关键部位集中在手臂附近,故取手臂附近的m个主要关键点坐标作为特征,并进行数据归一化来保证实验数据和测试数据维度和大小一致。在处理过程中还定义了一个相似度函数来对输入的空间坐标和模板坐标进行相似度计算。在匹配开始动作帧的时候,用动作帧和所有开始状态模板以及结束状态模板进行相似度计算,返回一个相似度最大的动作匹配值,若该相似度超过一定阈值,则标记该动作帧可能是某个动作的开始位置或者结束位置,最后再结合标准动作应该包含的帧数范围确定该时间片段所捕获的时序帧是否确实可能包含一个完整动作。这样进行判断之后不仅能截取到动作可能的发生位置,而且确定动作发生之后再进行后序动作预测的话大大减少了动作预测的次数,降低了计算资源的消耗,对模型的实时性预测有很大帮助。每一个手势动作与无人车控制命令之间建立一一对应的映射关系,且在执行指挥手势的过程中,应遵循:每个动作持续时间约2-4秒,并且每个动作完毕之后应该有一个手臂完全下垂状态表示结束。进一步地,步骤s5中,利用人体姿态特征信息中的骨骼数据作为节点,构建时空图结构;将时空图结构输入至时空图卷积网络,利用时空图卷积网络对完整动作进行分类,并映射至无人车控制指令,完成无人车指令自动识别。上述进一步方案的有益效果是:在本发明中,动作分类使用已经收集到了的一个表示完整动作的所有时序帧的骨骼数据作为输入,动作分类不仅要能捕获关节之间的空间特征,还要能够捕获整个时序的动态关系。在这一步里输入的特征数据不仅要能捕获关节之间的空间特征,还要能够捕获整个时序的动态关系。故在动作识别进行处理之前,先将这一时序的骨骼数据构建出一个时空图结构,即将骨骼关键点作为节点,在每一帧中将符合关节的自然连接的空间边连接起来,在连续时间中相同关节之间连接起来得到时序边,这样对于匹配控制得到的一个表示完整动作所有时序帧的骨骼数据,就转换成了一个时空图结构,将此结构作为输入送入到时空图卷积网络,时空图卷积网络通过多层时空图卷积层做进一步特征提取,使得人体时空图结构上的信息沿着空间和时间两个维度进行整合,最终获得了有更强语义表达能力的高维特征向量,最后使用机器学习的方式得到最终的动作分类结果,映射到无人车的控制命令,以此来控制无人车的状态。附图说明图1为无人车指令自动识别方法的流程图;图2为目标检测模块的过程示意图;图3为姿态检测模块的示意图;图4为定义的标准化引导和指挥手势的示意图;图5为匹配控制模块的原理示意图;图6为动作识别模块的示意图。具体实施方式下面结合附图对本发明的实施例作进一步的说明。如图1所示,本发明提供了一种基于人体姿态的无人车控制指挥方法,包括以下步骤:s1:利用摄像头采集视频,转化为图片帧并进行预处理;s2:对预处理后的图片帧进行目标检测分析,得到人体区域框;s3:对人体区域框进行姿态检测,得到人体姿态特征信息;s4:对人体姿态特征信息进行匹配,得到完整动作;s5:对完整动作进行分类,并映射至无人车控制指令,完成无人车指令自动识别。在本发明实施例中,定义了无人车指令自动识别的装置,其中,图像采集和预处理模块获取实时帧信息;目标检测模块处理图像帧信息,得到图像上人体区域所在位置;姿态检测模块处理图像上的人体区域位置,得到当前图像上的人体骨骼信息;匹配控制模块从连续视频流中截取出一个完整动作的时序帧;动作识别模块做进一步的特征抽取,并对这一阶段的动作做准确识别。这一装置包含系统运行的软件环境、图像采集设备以及显卡处理器等硬件设备。软件环境为了能够兼容运行目标检测、姿态检测以及动作分类模块中涉及到的深度学习算法,选择了在ubunt16.04lts或ubuntu18.04lts系统下用python语言实现;图像采集设备为了满足真实场景下在线指令识别的需求,需要能够捕获连续不断的视频流信息,并且将采集到的视频帧信息实时传递给后序处理模块,故应选择一台具备联网功能的高清网络摄像头,并将处理器的ip地址修改为和网络摄像头在同一局域网下;在显卡处理器方面,选择型号为nvidiagtx1080及以上的显卡来满足深度学习模型在实时处理时候的计算成本需求。在本发明实施例中,如图1所示,步骤s1中,利用摄像头采集视频数据,将视频数据按帧存储转化为图片帧,并进行预处理;其中,若图片帧的采集场景为雾天或阴天,则对图片帧进行去噪处理;若图片帧的亮度或暗度超过阈值,则调整图片帧的亮度或暗度;若图片帧中人物大小超过阈值,则对图片帧进行缩放和裁剪处理;若图片帧中人物站立角度超过阈值,则对图片帧进行旋转处理。在本发明中,利用摄像头收集视频数据,将收集到的实时图片帧传递给后序模块进行处理。因为后序目标检测和姿态估计等神经网络的输入是图片,需要将收集到的视频数据按帧存储,将视频转化为图片序列。考虑到真实场景采集到的图片可能存在光照和角度等偏差,从而给模型预测带来影响,故先对图片进行统一处理。在本发明实施例中,如图1所示,步骤s2中,进行目标检测分析的方法为:利用卷积神经网络检测预处理后的图片帧中人体所在区域并输出坐标,根据输出坐标进行区域裁剪,得到人体区域框。在本发明中,目标检测分析可以将人体区域从包含复杂环境信息的图像中抽取出来,目标检测分析包括输入、目标检测算法和输出三部分,输入模块接收预处理完毕的数据并传入目标检测算法,目标检测算法检测出图片(即帧)中的人体区域框,人体区域框采用矩形区域框的左下和右上顶点的坐标表示,将帧图片和人体区域框一同通过输出模块输出给姿态估计分析。如图2所示,目标检测模块检测出图片(即帧)中的人体区域框,人体区域框采用矩形区域框左上角的坐标和宽高表示,将预测得到的人体区域输出到下一模块。输入的视频帧信息进入目标检测模块进行处理,处理分为图像预处理和神经网络的处理,最后神经网络检测出图像中人体所在区域并输出坐标,最后进行区域裁剪,将包含人体区域部分的像素裁剪出来。其中,在神经网络处理过程中,输入图片通过主干网络之后得到3个尺度的特征图,分别在3种尺度上进行检测;3个特征图经过5层卷积后,分别进入不同的分支,一条分支进行卷积+上采样,得到的特征图与上层的特征图进行通道合并,另一条分支通过两层卷积直接输出预测结果;最后一个卷积层为1*1卷积,卷积核尺寸为(b*(5+c))*1*1,b表示一个网格可以预测边界框的数目,c代表c个类别概率,5表示了4个坐标值(tx,ty,tw,th)和1个物体置信度,这里的4个坐标是相对物体中心所处网格的左上角而言的,物体置信度表示该预测框包含物体的概率,包含物体则置信度为1,否则为0。在本发明实施例中,如图1所示,步骤s3包括以下子步骤:s31:利用空间变换网络接收人体区域框,并提取人体检测框,其计算公式为:其中,表示转换之前的横坐标,表示转换之前的纵坐标,θ1表示空间变换网络的第一转换参数,θ2表示空间变换网络的第二转换参数,θ3表示空间变换网络的第三转换参数,表示转换之后的横坐标,表示转换之后的纵坐标;步骤s2的目标检测过程会不可避免的产生定位不精确(没法将人体所有部位检测出来)的人体区域框问题。为此,这一步利用空间变换网络接收这些定位不精准的人体区域框,通过空间变换网络生成定位更精确的人体检测框(能将人体所有部位检测出来)。s32:利用单人姿态检测算法对人体检测框进行姿态估计,得到人体姿态特征信息,并利用空间逆变换网络将人体姿态特征信息反映射至人体检测框中,其反映射公式为:其中,γ1表示空间逆变换网络的第一转换参数,γ2表示空间逆变换网络的第二转换参数,γ3表示空间逆变换网络的第三转换参数;均是二维空间的参数向量,由网络反向传播计算所得;s33:利用参数化姿态极大抑制法消除人体姿态特征信息中的重复姿态,完成姿态检测。在本发明中,姿态检测分析采用自顶向下的方法,将目标检分析得到的人体区域框作为输入,能够在不准确的人体区域框中经过神经网络处理之后得到高质量的人体姿态特征信息,其中包含18个人体骨骼关键点的空间位置和置信度。姿态检测分析采用的是人体关键点检测算,人体关键点检测算法是在单人姿态检测算法上做的改进,单人姿态检测算法是训练在单人图像上并且对于定位错误十分敏感,单人姿态检测算法通过微小变换和修剪的方式可以有效的提高单人姿态检测算法的效果。人体关键点检测算法主要分为两个分支,第一个分支由空间变换网络、单人姿态检测算法和空间逆变换网络组成。其中,空间变换网络接收上一步目标检测分析产生的人体区域框,空间变换网络能很好的提取出一个高质量的人体区域框;在单人姿态检测结束的时候,姿态结果会被映射到原始的人体区域框中。因此,该分支应该将估计的人体姿态反映射回原图坐标中。在得到高质量的人体检测框后,可以使用现成的单人姿态检测算法来继续高精度的人体姿态检测,在训练过程中这一分支的网络一起进行微调。第二个分支是一个平行的单人姿态检测算法。在本发明实施例中,如图3所示,姿态检测模块以人体区域框作为输入,算法检测出图像上的18个人体骨骼关键点作为输出。人体骨骼关键点检测算法目前还没有达到比较完美的效果,在较为复杂的场景下依然会出现一些错误检测问题。不过总体而言,使用自上而下的关键点检测算法在效果上要明显好于自下而上的关键点检测算法,因为自上而下的检测方法加入了整个人体的一个空间先验。自下而上的关键点定位算法没有显式的去建模整个人体的空间关系,而只是建模了局部的空间关系,以至于在效果上目前还远低于自上而下的关键点检测方法。该模块所能识别的所有人体骨骼关键点情况如表1所示。表1在本发明实施例中,如图1所示,步骤s32中,采用平行的空间变换网络和单人姿态检测算法对人体姿态特征信息进行正则化。在本发明中,为了进一步帮助空间变换网络去提取更好的人体区域位置,这个平行的单人姿态检测算法也需要经过空间变换网络,然后和单人姿态检测算法并行处理,但是空间逆变换网络被忽略掉。网络输出直接和人体姿态标签的真实值进行对比,如果空间变换网络提取的姿态位置不是中心位置,那么这个平行的单人姿态检测算法会返回一个较大误差。通过这种方式,来帮助空间变换网络聚焦在正确的中心位置并提取出高质量的区域位置。这个分支可以看做是训练阶段的正则化过程。在本发明实施例中,如图1所示,步骤s33中,消除人体姿态特征信息中的重复姿态的计算公式为:f(pi,pj|∧,η)=1(d(pi,pj|∧,λ)≤η)其中,f(·)表示重复姿态函数运算,pi表示人体冗余姿态,pj表示人体姿态,∧表示d(·)的参数集合,η表示消除标准的阈值,d(·)表示姿态距离度量运算,λ表示权重系数,用来平衡d(·)中的多个姿态距离度量值。在本发明中,人体定位不可避免的会产生冗余的检测框,同时也会产生冗余的姿态检测。对于一个人的姿态pi,有m个关节点记做{(k1i,c1i),...,(kmi,cmi)}。这个过程中采用参数化姿态非极大值抑制的方法来对重复姿态进行消除。定义了一种姿态距离度量d(pi,pj|∧)来衡量姿态之间的相似度,定义η作为消除标准的阈值,在这里∧表示函数d(·)的一个参数集合。定义的消除标准为:如果d(·)小于阈值η,那么f(pi,pj|∧,η)的输出是1,表示姿态pi应该被消除,因为对pj来说pi是冗余的。在本发明实施例中,如图1所示,步骤s4包括以下子步骤:s41:截取采集的视频中所有开始模板和结束模板;s42:将开始模板和结束模板与人体姿态特征信息进行匹配,将最后一次匹配到的开始动作记为am,将第一次匹配到的结束动作记为e1,并标记第一次匹配到的结束状态前的开始动作;s43:将标准动作指令的持续时间换算为帧数,得到最低帧数和最高帧数;s44:判断最后一次匹配到的开始动作am和第一次匹配到的结束动作e1之间的帧数是否大于等于最低帧数且小于等于最高帧数,若是则进入步骤s45,否则进入步骤s46;s45:将最后一次匹配到的开始动作am和第一次匹配到的结束动作e1之间的所有帧作为完整动作帧序列,完成匹配;s46:依次判断标记的第一次匹配到的结束状态前的开始动作和第一次匹配到的结束动作e1之间的帧数,直至大于等于最低帧数且小于等于最高帧数,将其之间的所有帧作为完整动作帧序列,完成匹配。在本发明中,匹配控制从连续视频流中截取出一个完整动作的时序帧,这是自动识别顺利进行的关键步骤。姿态检测分析处理的是连续视频流中的每一帧图像信息,处理之后转换为连续的人体姿态信息,匹配分析的功能就是从连续的人体姿态信息中将完整动作的帧分离出来,做动作分类的判断。这里将所有动作的开始状态抽取出来制作成开始模板,将手臂下垂状态作为结束模板,用这两个模板来和连续不断的人体骨骼数据做匹配,匹配成功就切割出一个完整动作的所有时序帧。在姿态检测分析获得每一帧的特征信息之后,跟开始状态做匹配,判断一个动作是否开始,开始之后再寻找结束动作。取中间的所有视频帧为一个完整语义动作,作为后面网络的输入。在本发明实施例中,如图1所示,步骤s41中,将视频中人体所有动作的开始状态作为开始模板,将视频中人体所有动作的手臂下垂状态作为结束模板;步骤s42中,利用动作相似度对进行匹配,具体为:若动作相似度大于阈值,则将该人体姿态特征信息对应的动作标记为开始动作或结束动作,动作相似度k的计算公式为:其中,xi表示预测的第i个关键点的横坐标,yi表示预测的第i个关键点的纵坐标,表示模板帧的第i个关键点的横坐标,表示模板帧的第i个关键点的纵坐标,m表示关键点个数;步骤s43中,动作持续时间为2-4s的动作指令为标准动作指令。在本发明中,先定义各个动作开始状态模板和结束状态模板。由于考虑到所采集的动作指令的关键部位集中在手臂附近,故取手臂附近的m个主要关键点坐标作为特征,并进行数据归一化来保证实验数据和测试数据维度和大小一致。在处理过程中还定义了一个相似度函数来对输入的空间坐标和模板坐标进行相似度计算。在匹配开始动作帧的时候,用动作帧和所有开始状态模板以及结束状态模板进行相似度计算,返回一个相似度最大的动作匹配值,若该相似度超过一定阈值,则标记该动作帧可能是某个动作的开始位置或者结束位置,最后再结合标准动作应该包含的帧数范围确定该时间片段所捕获的时序帧是否确实可能包含一个完整动作。这样进行判断之后不仅能截取到动作可能的发生位置,而且确定动作发生之后再进行后序动作预测的话大大减少了动作预测的次数,降低了计算资源的消耗,对模型的实时性预测有很大帮助。每一个手势动作与无人车控制命令之间建立一一对应的映射关系,且在执行指挥手势的过程中,应遵循:每个动作持续时间约2-4秒,并且每个动作完毕之后应该有一个手臂完全下垂状态表示结束。在本发明实施例中,如图4所示,自定义了一套标准化引导和指挥手势;标准化引导和指挥手势应遵循:每一个手势动作与无人车控制命令之间建立一一对应的映射关系,标准动作持续时间约2-4秒,并且每个动作完毕之后应有一个手臂完全下垂状态表示动作结束,例如通过如下几种方式建立默认手势动作与无人车控制命令之间的对应关系:(1)将双手半举起,从外到内挥动3次左右之后双手正常下垂,这个手势动作对应于无人车的直行控制命令;(2)将双手展开到半悬空状态,再由半悬空状态到交叉胸前,之后双手正常下垂,这个动作对应于无人车的刹车指令;(3)分别将右手和左手半举起,从外向内重复挥动3次左右之后双手正常下垂,这个手势动作分别对应于无人车的右转和左转指令;(4)伸出左手呈直立状态,右手与之呈正交状态,右手顺时针画圆3次左右之后双手正常下垂,这个手势动作对应于无人车的自检控制命令;(5)将两只手臂垂直放在胸前,两只手同时向外画圆三次左右,之后双手正常下垂,这个手势动作对应于无人车发动机启动命令;(6)手掌展开,右手挥过颈部,做刎颈动作(从里向外拉一次),之后手臂正常下垂,这个手势对应于无人车的发动机关火指令。在训练数据的采集过程中,首先要调整摄像头采集图像的分辨率为1280*720,且按照正常30fps的相机帧率进行采集,然后对得到的数据进行丢帧处理,因为最后模型在nvidiagtx1080显卡上的实时处理速度在12fps,因此在训练的时候也等间隔保留大约三分之一的数据帧进行训练。对拍摄环境及指挥动作也进行一系列标准化定义:(1)拍摄环境:摄像头端正,单个人体端正完整位于镜头正中央,背景干净,光线明暗适中;(2)动作要求:每个动作持续2-4s,动作之间间隔一个手臂下垂状态。其中,在每个动作之间间隔一个手臂下垂状态表示该动作结束,这个结束动作也保证了匹配控制模块能顺利切割完整动作。在实验过程中定义了14类动作,共计1818个完整动作,这些手势动作与无人车控制命令建立起来一一映射关系,每类数据的具体个数如表2所示。表2序号动作类别训练个数测试个数总个数0前进(come_ahead)111281391刹车(hot_brakes)107271342右转(turn_right)107271343左转(turn_left)97251224自检(self_check)111281395发动机启动(start_engine)83211046发动机关火(lock_engine)10827135总计724183907在本发明实施例中,如图1所示,步骤s5中,利用人体姿态特征信息中的骨骼数据作为节点,构建时空图结构;将时空图结构输入至时空图卷积网络,利用时空图卷积网络对完整动作进行分类,并映射至无人车控制指令,完成无人车指令自动识别。在本发明中,动作分类使用已经收集到了的一个表示完整动作的所有时序帧的骨骼数据作为输入,动作分类不仅要能捕获关节之间的空间特征,还要能够捕获整个时序的动态关系。在这一步里输入的特征数据不仅要能捕获关节之间的空间特征,还要能够捕获整个时序的动态关系。故在动作识别进行处理之前,先将这一时序的骨骼数据构建出一个时空图结构,即将骨骼关键点作为节点,在每一帧中将符合关节的自然连接的空间边连接起来,在连续时间中相同关节之间连接起来得到时序边,这样对于匹配控制得到的一个表示完整动作所有时序帧的骨骼数据,就转换成了一个时空图结构,将此结构作为输入送入到时空图卷积网络,时空图卷积网络通过多层时空图卷积层做进一步特征提取,使得人体时空图结构上的信息沿着空间和时间两个维度进行整合,最终获得了有更强语义表达能力的高维特征向量,最后使用机器学习的方式得到最终的动作分类结果,映射到无人车的控制命令,以此来控制无人车的状态。在本发明实施例中,如图5所示,匹配控制模板已经收集到了一个表示完整动作的所有时序帧的骨骼数据,但这些描述空间位置的特征点还不足以作为动作特征信息。原因主要有两点,第一:人的运动是由各个部位协调完成的,大部分将人体关键点直接连接成特征向量,直接输入到循环神经网络里处理,这样是很难学到人体结构的空间特征;第二:现有的方法利用循环神经网络直接对整个骨架序列进行时序建模,然后利用最后一个时刻的状态作为时序的表示,这样对短时序是有效的,但是对于长时序,最后一个时刻的状态很难表示整个时序的时序特征,也不能包含详细的动态特征。在本发明实施例中,如图6所示,使用rgb图像序列或者深度学习图像序列进行特征提取,会产生更多的计算消耗,且在面对复杂背景以及人体尺度变化、视角变化和运动速度变化时鲁棒性不足。和其他模态的数据相比,骨架序列有如下三个主要特点:第一,相邻关节之间存在很强的相关性,因此帧内可以获取丰富的人体空间结构信息;第二,相邻帧之间的相同关节点有时序上的相关信息;第三,同一帧关键点之间的边和相邻帧之间的时序边存在很强的关联性。由于骨架序列数据具有这些特点,出于满足对真实场景下预测实时性和准确性的考虑,所以也将骨骼数据作为动作识别模块的输入数据。本发明的工作原理及过程为:利用摄像头接收实时图像信息,通过目标检测模块检测出图像中的人体区域,再通过姿态检测算法得到人体姿态,在实现过程中匹配控制模块截取出包含完整动作的人体姿态序列送入动作识别模块,动作识别模块分析处理后得到无人车控制指令,以此控制无人车飞行状态。其中,无人车指令自动识别的方法包含一套自定义的标准化引导和指挥手势,通过输入设备采集得到指挥人员的实时动作指令,提取出高层次的特征信息,识别出当前指挥人员的动作指令,查找预先配置并保存的手势动作与无人车控制命令间的对应关系,将控制命令发送至无人车控制端。本发明的有益效果为:本发明基于人体姿态实现无人车指令自动识别,创新以计算机视觉的方法来实现对无人车的交互式控制,对于控制指挥中心来说是一种高效的指挥控制方式,对无人车智能化的发展有着极大的促进作用。本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1