[发明专利]一种基于深度神经网络的人体姿态识别方法有效
申请号: | 201811234319.5 | 申请日: | 2018-10-23 |
公开(公告)号: | CN109325469B | 公开(公告)日: | 2022-06-14 |
发明(设计)人: | 赵霞;管文华;于重重;李磊;赵松;冯泽骁 | 申请(专利权)人: | 北京工商大学 |
主分类号: | G06V40/10 | 分类号: | G06V40/10;G06V10/774;G06V10/764;G06V10/80;G06K9/62 |
代理公司: | 北京万象新悦知识产权代理有限公司 11360 | 代理人: | 苏爱华 |
地址: | 100048*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 深度 神经网络 人体 姿态 识别 方法 | ||
1.一种基于深度神经网络的人体姿态识别方法,其步骤包括:
A.视频转发服务器主线程从网络视频录像机的实时视频流中获取视频帧,分别送给转发模块和抓图模块,网络视频录像机简称NVR,具体实施步骤如下:
A1.视频转发服务器主线程分别建立面向客户端和NVR的控制端口和数据端口;视频转发服务器主线程简称主线程;
所述控制端口用于控制信息通信,数据端口用于视频流和人体姿态识别信息通信;
A2.客户端通过控制端口向转发服务器发送请求某路NVR视频的请求;
A3.主线程根据客户端请求,向NVR发送请求某路视频流的请求;一路视频流称为一个通道;
A4.主线程为每个通道创建所需的线程和缓冲队列;
A5.主线程接收从NVR发来的视频流,将视频流中的视频帧分别处理;
B.抓图函数和抓图子线程合作,将视频帧发送给人体姿态识别服务器,人体姿态识别服务器简称识别服务器,具体步骤如下:
B1.将定时器的时间间隔设置为M秒,M包括但不限于1;每隔特定的时间间隔M秒,定时器会触发给定的抓图函数;
B2.抓图函数将从播放缓冲区里抓取的视频帧挂载到抓图缓冲队列上;
B3.抓图子线程从抓图环形缓冲队列上摘取视频帧,发送至识别服务器;
C.识别服务器端接收到视频帧后,识别模块对视频帧进行姿态识别,具体步骤如下:
C1.识别模块接收视频帧;
C2.识别模块利用深度卷积姿态神经网络模型对视频帧中的人体关节点定位,得到关节点坐标,写入坐标文本文件中;
C3.用矩阵标识关节点之间的连接关系,用人体姿态描述向量来表示四肢角度与方向信息,最终合成人体骨架结构信息;
C4.利用支持向量机分类器对向量进行分类识别;
D.识别服务器端将视频帧信息与识别结果发送至转发服务器;
所述的识别结果包括但不限于人体矩形框坐标、识别出的姿态类别、概率;
E.转发服务器将视频流以及人体姿态识别结果转发给客户端进行显示,具体步骤如下:
E1.转发服务器上的抓图子线程接收识别服务器发来的识别结果信息,写入转发环形缓冲队列中,下一个要转发的视频帧的附加数据包中;
E2.转发子线程负责从转发环形缓冲队列摘取视频帧及其附加数据包;
E3.转发子线程将视频帧及其附加数据包一起转发给客户端;
E4.客户端实时显示视频帧以及对应的人体矩形包围框和姿态识别的概率。
2.如权利要求1所述的一种基于深度神经网络的人体姿态识别方法,主线程为每个通道创建所需的线程和缓冲队列,具体步骤如下:
A4.1创建一个定时器,一个抓图函数,一个抓图子线程和一个抓图环形缓冲队列,用于抓图和姿态识别;
抓图环形缓冲队列包含但不限于以下成员:
-队列头指针head,指向要识别处理的视频帧的视频数据缓冲区,初值为-1;
-队列尾指针tail,指向新获取的视频帧的视频数据缓冲区,初值为-1;
-视频帧数据缓冲区指针pBuf,指向当前正在识别的视频帧,初值为-1;
-视频帧数据大小nSize,为当前正在识别的视频帧的大小,初值为-1;
-上一帧pPre,指向已经识别的视频帧数据缓冲区,初值为-1;
A4.2创建一个转发子线程和一个转发环形缓冲队列,用于转发收到的视频流给客户端;所述的转发环形缓冲队列结构类似于抓图环形缓冲队列。
3.如权利要求1所述的一种基于深度神经网络的人体姿态识别方法,主线程接收从NVR发来的视频流,将视频流中的视频帧分别处理,具体步骤如下:
A5.1将视频帧直接挂接到转发环形缓冲队列;
A5.2将解码后的视频帧存入播放缓冲区。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工商大学,未经北京工商大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811234319.5/1.html,转载请声明来源钻瓜专利网。