一种基于YOLO-V3的人体体态识别方法与流程

文档序号:17645380发布日期:2019-05-11 00:57阅读:4144来源:国知局
一种基于YOLO-V3的人体体态识别方法与流程

本发明涉及姿态识别领域,特别是一种基于yolo-v3的人体体态识别方法。



背景技术:

人体体态识别本质上是一个人工智能问题,在智能监控、虚拟现实以及感知用户接口等领域具有广泛的应用前景,人体体态识别是计算机视觉研究领域中最具挑战的研究方向,是当前的研究热点。对人体动作姿态进行自动识别将带来一种全新的交互方式,通过身体语言即人体的姿态和动作来传达用户的意思,如在机场、工厂等喧闹的环境下,采用手势、动作姿态识别等人机交互技术能够提供比语音识别更加准确的信息输入。总之,在智能监控、虚拟现实、感知用户接口以及基于内容的视频检索等领域,人体动作姿态的识别均具有广泛的应用前景。

体态估计的目标是在rgb图像或视频中描绘出人体的形状,这是一种多方面任务,其中包含了目标检测、姿态估计、分割等等,有些需要在非水平表面进行定位的应用可能也会用到姿态估计,例如人机交互。同样基于无线传感器的人体体态识别,采用多链路联合识别手段,能够实现对目标人体的坐标定位以及该位置的人体基本姿态识别,其在识别准确度上具有一定的局限性,用户需要专门配合人体数据采集设备,具有佩戴数据手套、标记传感器等设备的麻烦,且用户需要直接和设备接触,具有一定的非简易性。基于传感器所带来的弊端,相对机器视觉给人们带来了极大的方便,深度学习在图像上的处理技术,促进了人体体态识别的发展,只要人出现在视频的监控范围内就能识别出姿态,免去穿戴给用户带来的不便。时域差分法和光流法是常用于提取图像的运动目标的方法,时域差分运动检测方法对于动态环境具有较强的的自适应性,但不能完全提取出所有相关的特征像素点,容易产生空洞现象。大多数的光流法计算相当的复杂,且抗噪声性能差,如果没有特别的硬件装置则不能被应用于全帧的视频流实时处理。



技术实现要素:

本发明的目的在于,提供一种基于yolo-v3的人体体态识别方法。本发明能够提高了识别的精度和速度,降低了姿态识别算法的复杂度。

本发明的技术方案:一种基于yolo-v3的人体体态识别方法,按下述步骤进行:

a.制作体态数据集;

b.体态数据集制作完成后根据需要识别的体态类别修改网络参数并开始模型的训练;

c.训练完模型后进行实时视频流的采集并输入模型中进行测试,实现人体体态识别。

前述的基于yolo-v3的人体体态识别方法所述的步骤a中,体态数据集的格式为voc格式;体态数据集按下述方法制作:按照需要识别的体态采集含有体态特征的图片数据,利用标签制作工具将图片数据中的体态特征依类别进行标记,进而制得体态数据集。

前述的基于yolo-v3的人体体态识别方法中,所述的标签制作工具为labelimg标签制作工具;所述的体态数据集包括图片数据文件夹、存放xml标签文件的文件夹和保存图片路径的txt文件。

前述的基于yolo-v3的人体体态识别方法中,所述的模型的训练和人体体态识别是基于yolo-v3的darknet框架进行;具体是,首先检测图像中的人体目标,将图片分成s*s个格子,使用人体groundtruth中心位置坐标落入的格子负责检测该人体,每个格子预测b个boundingbox及置信度以及所属体态的类别概率,其中boundingbox的预测采用logistic的方式:

bx=σ(tx)+cx(1)by=σ(ty)+cy(2)

其中,cx、cy是网格的坐标偏移量;pw、ph是预设的anchorbox的边长;bx,by,bw,bh为最终得到的边框坐标值;tx,ty,tw,th为网络学习目标;x,y为人体groundtruth的中心位置的坐标;w,h为人体的中心位置相对格子位置偏移的宽度和高度;所述的x,y,w,h均归一化处理。

前述的基于yolo-v3的人体体态识别方法中,所述的darknet框架的0~74层中,共有53个卷积层,其余为res层;res层用于解决网络的梯度弥散或者梯度爆炸的现象;darknet框架中的53个卷积层作为yolo-v3的特征提取主要网络结构;darknet框架中的53个卷积层通过各主流网络结构中性能优异的卷积层整合得到。

前述的基于yolo-v3的人体体态识别方法中,所述的darknet框架的75-105层为yolo-v3的特征交互层;所述的特征交互层分为三个尺度,每个尺度内,通过卷积核的方式实现局部的特征交互,通过卷积核3*3和1*1的方式实现featuremap之间的局部特征交互。

前述的基于yolo-v3的人体体态识别方法中,所述的三个尺度具体如下:

尺度1:在基础网络之后添加一些卷积层再输出box信息;

尺度2:从尺度1中的倒数第二层的卷积层上采样再与最后一个16*16大小的特征图相加,再次通过多个卷积后输出box信息,相比尺度1变大2倍;

尺度3:使用32*32大小的特征图,在此基础上进行分类和回归。

有益效果

与现有技术相比,本发明基于yolo-v3结合神经网络层的人体体态识别方法能快速的将人体的多种体态识别,在对实时的视频流进行处理时达到与人体体态变换同步,达到了检测精度与速度的提升,检测速度比r-cnn快1000倍,比fastr-cnn快100倍,yolov3-608检测准确率比dssd更高,接近fpn(featurepyramidnetworks),但是检测时间却只用了后面两者的三分之一不到。且本发明简化了其他姿态识别算法的复杂度,且无需特别的硬件装置也能用于全帧的视频流实时处理。

综上,本发明旨在提出一种人体体态识别的方法,避免了其他姿态识别算法的复杂度,利用检测准确率极高的yolo-v3算法和神经网络在darknet框架上的实现,darknet-53网络提取特征加上yolo-v3的局部特征交互,能够快速有效的达到在视频画面中与人体体态变化的同步识别以及动作变换的精准对应。在工程实践方面也利用此方法实现了对老人的监护,实时观察老人的体态变化,当跌倒等危险动作发生时能够得到及时救治,整个工程的实际运作展现出其方法的有效性。另外,该方法的提出还可以应用于用体态来进行人机交互的各个领域。

附图说明

图1(a)~(c)是为制作的站、坐、跌倒的体态数据集截图;

图2是darknet-53的网络框架图;

图3(a)是整个网络训练过程的loss值可视化图;

图3(b)是iou值在不同尺度上的动态变化曲线图;

图4(a)~(h)是人体体态实测效果展示图。

具体实施方式

下面结合附图和实施例对本发明作进一步的说明,但并不作为对本发明限制的依据。

实施例1。一种基于yolo-v3的人体体态识别方法,参见图1,按下述步骤进行:

a.制作体态数据集;

b.体态数据集制作完成后根据需要识别的体态类别修改网络参数并开始模型的训练;

c.训练完模型后进行实时视频流的采集并输入模型中进行测试,实现人体体态识别。

前述的步骤a中,体态数据集的格式为voc格式;体态数据集按下述方法制作:按照需要识别的体态采集含有体态特征的图片数据,利用标签制作工具将图片数据中的体态特征依类别进行标记,进而制得体态数据集。数据集参见图1。

前述的标签制作工具为labelimg标签制作工具;所述的体态数据集包括图片数据文件夹、存放xml标签文件的文件夹和保存图片路径的txt文件。

前述的模型的训练和人体体态识别是基于yolo-v3的darknet框架进行;具体是,首先检测图像中的人体目标,将图片分成s*s个格子,使用人体groundtruth中心位置坐标落入的格子负责检测该人体,每个格子预测b个boundingbox及置信度以及所属体态的类别概率,其中boundingbox的预测采用logistic的方式:

bx=σ(tx)+cx(1)by=σ(ty)+cy(2)

其中,cx、cy是网格的坐标偏移量;pw、ph是预设的anchorbox的边长;bx,by,bw,bh为最终得到的边框坐标值;tx,ty,tw,th为网络学习目标;x,y为人体groundtruth的中心位置的坐标;w,h为人体的中心位置相对格子位置偏移的宽度和高度;w,h为人体的中心位置相对格子位置偏移的宽度和高度;所述的x,y,w,h均归一化处理。

前述的darknet框架的0~74层中,共有53个卷积层,其余为res层;res层用于解决网络的梯度弥散或者梯度爆炸的现象;darknet框架中的53个卷积层(darknet-53)作为yolo-v3的特征提取主要网络结构;darknet框架中的53个卷积层通过各主流网络结构中性能优异的卷积层整合得到。darknet-53的网络框架如图2所示,右侧的yolo支路的作用为特征融合和预测。

前述的darknet框架的75-105层为yolo-v3的特征交互层;所述的特征交互层分为三个尺度,每个尺度内,通过卷积核的方式实现局部的特征交互,通过卷积核3*3和1*1的方式实现featuremap之间的局部特征交互。

前述的三个尺度具体如下:

尺度1:在基础网络之后添加一些卷积层再输出box信息;

尺度2:从尺度1中的倒数第二层的卷积层上采样再与最后一个16*16大小的特征图相加,再次通过多个卷积后输出box信息,相比尺度1变大2倍;

尺度3:使用32*32大小的特征图,在此基础上进行分类和回归。

具体地,尺度1:输入13*13的featuremap,一共1024个通道,输出13*13大小的featuremap,75个通道,在此基础上进行分类和位置回归。

尺度2:将79层的13*13、512通道的featuremap进行卷积操作,生成13*13、256通道的featuremap,然后进行上采样,生成26*26、256通道的featuremap,同时于61层的26*26、512通道的中尺度的featuremap合并。再进行一系列卷积操作。输出26*26大小的featuremap,75个通道,然后在此进行分类和位置回归。

尺度3:将91层的26*26、256通道的featuremap进行卷积操作,生成26*26、128通道的featuremap,然后进行上采样生成52*52、128通道的featuremap,同时于36层的52*52、256通道的中尺度的featuremap合并。再进行一系列卷积操作,输出52*52大小的featuremap,75个通道,然后在此进行分类和位置回归。

图3(a)是整个网络训练过程的loss值可视化图,由于采用的是监督学习的方式,loss值即为预测值和实际值的偏差,这个值越接近0说明模型的预测能力越好,从曲线的走势可以看出随着训练次数的增加,loss值不断减少接近0,图3(b)是iou值在不同尺度上的动态变化曲线图,iou值表达了实际物体框与预测框面积的交际与并集的比值,iou值越接近1说明预测的准确率越高。

图4(a)~(f)为实际测试的系列结果截图,一共进行了跌倒、坐、走、弯腰、踢腿、拍手、欢呼等体态的测试,实际测试时当人体变换动作能进行同步识别。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1