CN109325469B - 一种基于深度神经网络的人体姿态识别方法 - Google Patents

一种基于深度神经网络的人体姿态识别方法 Download PDF

Info

Publication number
CN109325469B
CN109325469B CN201811234319.5A CN201811234319A CN109325469B CN 109325469 B CN109325469 B CN 109325469B CN 201811234319 A CN201811234319 A CN 201811234319A CN 109325469 B CN109325469 B CN 109325469B
Authority
CN
China
Prior art keywords
video
video frame
human body
forwarding
joint point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811234319.5A
Other languages
English (en)
Other versions
CN109325469A (zh
Inventor
赵霞
管文华
于重重
李磊
赵松
冯泽骁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Yunxin Networking Technology Co.,Ltd.
Original Assignee
Beijing Technology and Business University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Technology and Business University filed Critical Beijing Technology and Business University
Priority to CN201811234319.5A priority Critical patent/CN109325469B/zh
Publication of CN109325469A publication Critical patent/CN109325469A/zh
Application granted granted Critical
Publication of CN109325469B publication Critical patent/CN109325469B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/103Static body considered as a whole, e.g. static pedestrian or occupant recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/253Fusion techniques of extracted features

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于深度神经网络的人体姿态识别方法,该方法包括:转发服务器从网络视频录像机上接收实时视频流,从实时视频流中抓取视频帧,发送给识别服务器;识别服务器使用深度卷积姿态神经网络模型提取关节点信息特征,合成人体骨架的结构信息,形成特征向量;通过多分类支持向量机进行分类识别,将识别结果返回转发服务器;转发服务器将识别结果与视频帧发送至客户端显示,实现实时的人体姿态识别。本方法可提高智能视频监控系统综合性能,改善用户的实时体验,更实用、可行性更高,有广泛的应用价值和经济效益。

Description

一种基于深度神经网络的人体姿态识别方法
技术领域
本发明涉及人体姿态识别,具体涉及一种基于深度神经网络的人体姿态识别方法,属于智能视频监控和计算机视觉领域。
背景技术
人体姿态识别是指对图像中的人体进行自动分析处理,对人体姿势信息按照预先设计的分类标注。姿态识别是行为识别中的一个基本问题,可靠而准确地识别人体姿态可以用于人体行为分析、人员工作状态或学习状态的判别,从而为各行各业的智能化管理自动提供信息。由于图像中人的衣着,姿态,背景等的多样性以及存在一些自我遮挡和其他人或物体遮挡的情况,准确地预测出图像中的人体姿态非常具有挑战性。目前基于普通光学图像的人体姿态识别算法主要利用人体的表观特征,如人体轮廓特征或图像中人体与其他物体之间的上下文关系,这些特征都与颜色有关,易受到光照等外界条件的影响,当不能够提取到很好的特征,易出现识别准确率低下等问题。
山东大学提出一种基于关节点信息的人体行为识别新方法(机器人,2014.3),使用Kinect采集的关节点数据构造人体结构向量,用人体结构向量间的向量角和向量模比值提取行为来表示特征量,最后使用动态时间规整(DTW)算法计算测试行为模板与参考行为模板之间的相似度。该方法主要目的是识别动态行为,虽然也利用了关节点信息构造人体结构特征,但是利用Kinect专用设备获取人体关节点信息,并且构造出的人体结构特征信息处理方法也跟本专利不同。电子科技大学提出一种基于深度卷积神经网络的人体姿势识别方法(CN105069413A),将姿势估计阐述为分类问题,设计了针对姿势估计的神经网络ILPN来进行关节定位,通过查找坐标映射表,将统一尺度下的人体姿势映射回原图像尺度下从而估计出RGB图像中人体姿势。广东省智能制造研究所提出基于卷积神经网络与支持向量机的人体行为识别方法(CN108052896A),将RGB图像输入至VGG神经网络模型进行特征提取,形成一组卷积特征图;将特征图作为双分支深度卷积神经网络模型的输入,获得关节点和关节关联信息,然后采用二分图匹配算法逐步进行局部寻优,最终获得最佳关节匹配;对骨骼序列数据进行归一化处理,并通过组合多个支持向量机分类器来实现多分类器的构造。以上两种方法虽然利用了深度神经网络,但网络模型提取关节点信息的过程和方法都与本专利不同;同时这些方法都没有涉及如何在网络摄像机中实时获取视频帧,并进行实时分类识别的问题。本发明利用深度卷积姿态神经网络从实时视频帧中提取人体关节点信息,实时分类识别人体姿态,还提出了从网络摄像机视频流实时在线地获取图像帧,返回识别结果用于智能视频监测系统的方法,可以应用于智能视频监控系统中,可提高系统综合性能,改善用户的实时体验,更实用、可行性更高,有广泛的应用价值和经济效益。
发明内容
本发明公开了一种面向智能视频监控的基于深度神经网络的人体姿态识别方法,该方法包括:1)转发服务器从网络视频录像机上接收实时视频流,抓图子线程从实时视频流中抓取视频帧,发送给识别服务器;2)识别服务器使用深度卷积姿态神经网络模型提取关节点信息特征,合成人体骨架的结构信息,形成特征向量;3)通过多分类支持向量机进行分类识别,将识别结果返回转发服务器;4)转发服务器将识别结果与视频帧一并发送至客户端显示,实现实时的智能视频监控系统中的人体姿态识别。
具体来说,本发明的方法包括以下内容:
A.视频转发服务器获取实时视频流,将视频帧送给转发模块和抓图模块,具体实施步骤如下:
A1.视频转发服务器(简称转发服务器)建立面向客户端和网络视频录像机(简称NVR)的控制端口和数据端口;
所述控制端口用于控制信息通信,数据端口用于视频流和人体姿态识别信息通信;
A2.客户端通过控制端口向转发服务器发送请求某路NVR视频的请求;
A3.转发服务器主线程(简称主线程)根据客户端请求,向NVR发送请求该路视频流的请求,为该路视频流建立对应的通道;
A4.主线程为每个通道创建所需的线程和缓冲队列,具体步骤如下:
A4.1创建一个定时器,一个抓图函数,一个抓图子线程和一个抓图环形缓冲队列,用于抓图和姿态识别;
抓图环形缓冲队列包含但不限于以下成员:
-队列头指针head,指向要识别处理的视频帧的视频数据缓冲区,初值为-1;
-队列尾指针tail,指向新获取的视频帧的视频数据缓冲区,初值为-1;
-视频帧数据缓冲区指针pBuf,指向当前正在识别的视频帧,初值为-1;
-视频帧数据大小nSize,为当前正在识别的视频帧的大小,初值为-1;
-上一帧pPre,指向已经识别的视频帧数据缓冲区,初值为-1;
A4.2创建一个转发子线程和一个转发环形缓冲队列,用于转发收到的视频流给客户端;所述的转发环形缓冲队列结构类似于抓图环形缓冲队列;
A5.主线程接收从NVR发来的视频流,将视频流中的视频帧分别处理,具体步骤如下:
A5.1将视频帧直接挂接到转发环形缓冲队列;
A5.2将解码后的视频帧存入播放缓冲区;
B.抓图函数和抓图子线程合作,将视频帧发送给人体姿态识别服务器(简称识别服务器),具体步骤如下:
B1.将定时器的时间间隔设置为M秒,M包括但不限于1;定时器每隔M秒触发给定的抓图函数;
B2.抓图函数从播放缓冲区里抓取视频帧,挂载到抓图环形缓冲队列上,将队列尾指针tail指向该视频帧;
B3.抓图子线程从抓图环形缓冲队列上摘取视频帧,发送至识别服务器,具体步骤如下:
B3.1抓图子线程通过绑定相应的端口与识别服务器连接;
B3.2抓图子线程将抓图环形缓冲队列头指针head的值,赋给视频帧数据缓冲区指针pBuf,读取视频帧大小nSize;
B3.3抓图子线程将pBuf所指的视频帧发送给识别服务器端后,并将pBuf的值赋给pPre;
B3.4将head加1,指向下一个要识别的视频数据缓冲区;循环步骤B3.2与B3.3;
C.识别服务器端接收到视频帧后,识别模块对视频帧进行姿态识别,具体步骤如下:
C1.识别模块接收视频帧,选取图片左上角作为坐标原点;
C2.识别模块利用深度神经网络模型对视频帧中的人体检测并进行关节点定位,得到关节点坐标,写入坐标文本文件中,具体步骤如下:
C2.1所述的深度神经网络模型包括人体检测模型和关节点定位模型;
C2.2利用人体检测模型检测视频帧中各个人体所在位置,输出包围人体的矩形框,具体步骤如下:
C2.2.1加载训练好的模型;
C2.2.2输入待检测的视频帧,得到各个人体所在的大致区域,输出包人体矩形框的位置信息;
所述的人体矩形框位置信息包括但不限于坐标信息(x1,y1,x2,y2),其中(x1,y1)是左上角坐标,(x2,y2)是右下角坐标;
C2.3利用关节点定位模型预测人体关节点的位置,具体步骤如下:
C2.3.1加载训练好的关节点定位模型;
C2.3.2从矩形框所框选范围内,直接生成不同尺度的图像,分别送入关节点定位模型;
C2.3.3基于每个尺度,计算网络预测的各个关节点的响应图,得到不同尺度下各个关节点的响应图;
C2.3.4对于每个关节点,依次累加每个关节点对应的所有尺度的响应图,得到总响应图;
C2.3.5在每个关节点的总响应图上,找出分数最大的点,则该最大值所在位置(x,y)即为预测的关节点位置,选取图片左上角作为坐标原点;
C2.4将视频帧编号及其对应的14个关节点坐标依次写入坐标文本文件中;
所述的关节点具体顺序依次为头部,颈部,右肩,右肘,右腕,左肩,左肘,左腕,右臀,右膝,右脚踝,左臀,左膝,左脚踝;
C3.用矩阵标识关节点之间的连接关系,用人体姿态描述向量来表示四肢角度与方向信息,最终合成人体骨架结构信息,具体步骤如下:
C3.1根据C2.3生成的关节点连接信息,构造一个14*14的关节点连接关系矩阵,标识相邻关节点之间的连接关系,0值表示对应关节点没有连接,非0值表示对应关节点有连接;
C3.2根据关节点连接矩阵,为人体中的三连续关节区域构造人体姿态描述向量
Figure BSA0000172449550000041
具体步骤如下:
C3.2.1所述的三连续关节区域包括左上肢,右上肢,左下肢,右下肢,头部-右肩,头部-左肩;其中,右上肢指右肩、右肘和右腕;右下肢指右臀,右膝,右脚踝;左上肢指左肩、左肘和左腕;左下肢指左臀,左膝,左脚踝;头部-右肩指头部,颈部和右肩;头部-左肩指头部,颈部和左肩;
C3.2.2以右上肢为例,设点A(x1,y1)、B(x2,y2)、C(x3,y3)分别表示右肩、右肘和右腕的关节点坐标,
Figure BSA0000172449550000042
表示右肘到右肩的位姿向量,
Figure BSA0000172449550000043
为右肘到右手腕的位姿向量;右上肢的向量角和模比值计算公式分别如下:
-右上肢关节向量间的向量角p1,计算公式如下:
Figure BSA0000172449550000044
-右上肢关节向量间的模比值r1,计算公式如下:
Figure BSA0000172449550000045
C3.2.3按照C3.2.2的步骤,分别计算左上肢,左下肢,右下肢,头部-右肩,头部-左肩的向量角和模比值,依次记为p2,p3,p4,p5,p6和r2,r3,r4,r5,r6
C3.2.4利用上述向量角和模比值构造一个12维的人体姿态描述向量
Figure BSA0000172449550000046
表示人体姿态,记为
Figure BSA0000172449550000051
C4.利用支持向量机分类器对向量
Figure BSA0000172449550000052
进行分类识别,具体步骤如下:
C4.1加载已训练好的多分类支持向量机分类器模型;
C4.2用所有的子分类器进行测试并计算骨架信息预测类别及概率值;具体步骤如下:
C4.2.1根据决策函数的返回值的符号判断其属于的类别;
C4.2.2统计各类别的投票得分情况,选择得分高的类作为测试数据的类;
C4.2.3由投票情况计算属于该类别的概率值;
D.识别服务器将视频帧的识别结果发送至转发服务器;
所述的识别结果包括但不限于人体矩形框坐标、识别出的姿态类别、概率;
E.转发服务器将视频流以及人体姿态识别结果转发给客户端进行显示,具体步骤如下:
E1.转发服务器上的主线程接收识别服务器发来的识别结果信息,下一个要转发的视频帧的附加数据包中;
E2.转发子线程负责从转发环形缓冲队列摘取视频帧及其附加数据包;
E3.转发子线程将视频帧及其附加数据包一起转发给客户端;
E4.客户端实时显示视频帧以及对应的人体矩形包围框和姿态识别的概率。
本发明与现有技术相比,具有以下优点:实现了一套从网络摄像机视频流实时抓取视频帧机制,将抓取的视频帧发送至识别服务器端,利用深度卷积姿态神经网络的方法从视频帧中提取人体关节点信息,并对人体姿态进行分类识别,实现了视频监控中人体姿态的实时识别,使面向智能视频监控的人体姿态实时识别方法更实用、可行性更高,应用和推广价值更大。
附图说明
附图说明用于提供对本发明技术方案的进一步理解,并构成说明书的一部分,与本方法的实施一起用于解释本发明的技术方案,并不构成本发明技术方案的限制。
附图说明如下:
图1是本发明方法的流程图;
图2是本发明方法所识别的关节点坐标图;
具体实施方式
下面结合附图,对本发明的具体实施方式作进一步描述。
如图1所示,一种基于深度神经网络的人体姿态识别方法,包括如下步骤:
A.转发服务器获取实时视频流,将视频帧送给转发模块和抓图模块,具体实施步骤如下:
A1.转发服务器建立面向客户端和NVR的控制端口和数据端口;
A2.客户端通过控制端口向转发服务器端发送请求编号为10的NVR视频;
A3.主线程根据客户端请求,向NVR发送请求,并为该路视频建立对应的通道,通道号为10;
A4.主线程为该通道设定一个定时器,一个抓图函数,并创建一个抓图子线程T1和一个抓图环形缓冲队列,用于抓图和姿态识别;缓冲队列包含:抓图缓冲区头指针m_nHead,初值为-1;抓图缓冲区尾指针m_nTail,初值为-1;视频帧数据缓冲区指针m_npBuf,初值为-1;抓图的视频帧数据大小nSize,初值为0;连接的上一帧m_npPre,初值为-1;一个转发子线程T2和一个转发环形缓冲队列,用于转发收到的视频流给客户端,所述的转发环形缓冲队列结构类似于抓图环形缓冲队列;
A5.主线程接根据客户端的请求,接收从NVR发来的通道号为10的视频流,将视频流中的视频帧直接挂接到转发环形缓冲队列,并将解码后的视频帧存入播放缓冲区;
B.抓图函数和抓图子线程合作,将视频帧发送给识别服务器,具体实施步骤如下:
B1.将定时器的时间间隔m_nCapTime设置为1秒,定时器每隔1秒均会触发给定的抓图函数;
B2.抓图函数将从播放缓冲队列中定时抓取转化为JPG格式的视频帧,编号记为201807081136,并挂载到抓图缓冲队列上,将队列尾指针m_nTail指向该视频帧;
B3.抓图子线程从抓图环形缓冲队列上摘取视频帧,发送给识别服务器,具体步骤如下:
B3.1抓图子线程T1绑定需要监听的端口,端口号为41936,与识别服务器端进行连接;
B3.2T1将抓图缓冲队列头指针m_nHead的值赋给视频帧数据缓冲区m_npBuf,读取视频帧大小nSize;
当m_nHead=-1时,T1将m_nHead的值-1赋给pBuf,此时环形缓冲区上没有可以发送的视频数据缓冲区,则抓图子线程睡眠100秒之后,重新开始循环;
当m_nHead=20时,T1将m_nHead的值20赋给m_npBuf,此时环形缓冲区上有可以发送的视频数据缓冲区,T1将m_npBuf所指的视频数据缓冲区发送给至识别服务器端;
B3.3T1将m_npBuf所指的视频帧发送给识别服务器端后,并将m_npBuf的值20赋给m_nPre;
B3.4将m_nHead的值加1变为21,指向下一个要识别的视频数据缓冲区,循环步骤B3.2与B3.3;
C.识别服务器端接收到视频帧201807081136后,识别模块对视频帧进行姿态识别,具体实施步骤如下:
C1.识别模块接收视频帧,选取图片左上角作为坐标原点;
C2.识别模块利用深度卷积神经网络模型对视频帧中的人体检测并进行关节点定位,得到关节点坐标,写入坐标文本文件中,具体实施步骤如下:
C2.1所述的深度神经网络模型包括人体检测模型和关节点定位模型;
C2.2利用人体检测模型检测视频帧中各个人体所在位置,输出若干包围人体的矩形框,具体步骤如下:
C2.2.1加载训练好的人体检测模型;
C2.2.2输入待检测的视频帧,得到一个人体所在的大致区域,输出人体矩形框的位置信息l1=(22,124,251,629);
C2.3利用关节点定位模型预测人体关节点的位置,具体步骤如下:
C2.3.1加载训练好的关节点定位模型;
C2.3.2从矩形框所框选范围内l1=(22,124,251,629),直接生成不同尺度的图像,分别送入关节点定位模型,
C2.3.3基于每个尺度,计算网络预测的各个关节点的响应图,得到不同尺度下各个关节点的响应图;
C2.3.4对于每个关节点,依次累加每个关节点对应的所有尺度的响应图,得到总响应图;
C2.3.5在每个关节点的总响应图上,找出分数最大的点,则该最大值所在位置(x,y)即为预测的关节点位置;
C2.4将视频帧编号201807081136及其对应的14个关节点坐标依次写入坐标文本文件中,(179,126):头部,(179,217):颈部,(103,249):右肩,(103,339):右肘,(105,412):右腕,(231,251):左肩,(247,347):左肘,(216,410):左腕,(176,414):右臀,(130,464):右膝,(77,610):右脚踝,(197,426):左臀,(188,426):左膝,(112,625):左脚踝;
C3.用矩阵标识相邻关节点之间的连接关系,四肢角度与方向信息由特征向量人体姿态描述向量来表示,最终合成人体骨架结构信息;具体实施步骤如下:
C3.1根据C2.3生成的关节点连接信息,初始化一个14*14,元素值均为0的矩阵,其中把之间有连线的关节点在矩阵里标识出来,是否为非零值标识关节点间是否存在联系;
C3.2根据关节点连接矩阵,为人体中的三连续关节区域构造人体姿态描述向量
Figure BSA0000172449550000071
以右上肢为例,设右肩(103,249)为节点A,右肘(103,339)为节点B,右腕(105,412)为节点C,则右肩-右肘的结构向量
Figure BSA0000172449550000072
右肘-右腕的结构向量
Figure BSA0000172449550000073
计算右上肢关节间的角度p=180及向量间的模比值r=1.23,以此类推,依次计算四肢的角度值及模比值并记录在人体姿态描述向量
Figure BSA0000172449550000081
共12维;
C4.利用多分类支持向量机分类器进行分类识别,加载已训练好的多分类支持向量机分类器模型(多个二分类器,采用一对一的方式构造);进行预测时,用所有的子分类器进行测试,根据决策函数的返回值的符号判断其属于的类别,并统计各类别的投票得分情况,选择得分高的类作为测试数据的类,计算骨架信息预测类别及概率值,输入测试骨架信息得到预测类别为sit及概率值83.67%;
D.识别服务器端将视频帧编号信息与识别结果人体矩形框坐标、姿态所属类别sit,及其概率为83.67%发送至转发服务器;
E.转发服务器将视频流以及人体姿态识别结果转发给客户端进行显示,具体实施步骤如下:
E1.转发服务器上的主线程接收识别服务器发来的识别结果信息,写入转发环形缓冲队列中,下一个要转发的视频帧的附加数据包中;
E3.转发子线程T2负责从转发环形缓冲队列摘取视频帧及其附加数据包;
E4.转发子线程T2将视频帧及其附加数据包一起转发给客户端;
E5.客户端实时显示视频帧以及对应的人体矩形包围框和姿态识别的类别和概率。
最后需要注意的是,公布实施的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

Claims (7)

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.利用支持向量机分类器对向量
Figure FDA0003627210970000011
进行分类识别;
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将解码后的视频帧存入播放缓冲区。
4.如权利要求1所述的一种基于深度神经网络的人体姿态识别方法,抓图子线程从抓图环形缓冲队列上摘取视频帧,发送至识别服务器,具体步骤如下:
B3.1抓图子线程通过绑定相应的端口与识别服务器连接;
B3.2抓图子线程将抓图环形缓冲队列头指针head的值,赋给视频帧数据缓冲区指针pBuf,读取视频帧大小nSize;
B3.3抓图子线程将pBuf所指的视频帧发送给识别服务器端后,并将pBuf的值赋给pPre;
B3.4将head加1,指向下一个要识别的视频数据缓冲区;循环步骤B3.2与B3.3。
5.如权利要求1所述的一种基于深度神经网络的人体姿态识别方法,识别模块利用深度神经网络模型对视频帧中的人体检测并进行关节点定位,得到关节点坐标,写入坐标文本文件中,具体步骤如下:
C2.1所述的深度神经网络模型包括人体检测模型和关节点定位模型;
C2.2利用人体检测模型检测视频帧中各个人体所在位置,输出包围人体的矩形框,具体步骤如下:
C2.2.1加载训练好的模型;
C2.2.2输入待检测的视频帧,得到各个人体所在的大致区域,输出包人体矩形框的位置信息;
所述的人体矩形框位置信息包括但不限于坐标信息(x1,y1,x2,y2),其中(x1,y1)是左上角坐标,(x2,y2)是右下角坐标;
C2.3利用关节点定位模型预测人体关节点的位置,具体步骤如下:
C2.3.1加载训练好的关节点定位模型;
C2.3.2从矩形框所框选范围内,直接生成不同尺度的图像,分别送入关节点定位模型;
C2.3.3基于每个尺度,计算网络预测的各个关节点的响应图,得到不同尺度下各个关节点的响应图;
C2.3.4对于每个关节点,依次累加每个关节点对应的所有尺度的响应图,得到总响应图;
C2.3.5在每个关节点的总响应图上,找出分数最大的点,则该最大值所在位置(x,y)即为预测的关节点位置,选取图片左上角作为坐标原点;
C2.4将视频帧编号及其对应的14个关节点坐标依次写入坐标文本文件中;
所述的关节点具体顺序依次为头部,颈部,右肩,右肘,右腕,左肩,左肘,左腕,右臀,右膝,右脚踝,左臀,左膝,左脚踝。
6.如权利要求1所述的一种基于深度神经网络的人体姿态识别方法,用矩阵标识关节点之间的连接关系,用人体姿态描述向量来表示四肢角度与方向信息,最终合成人体骨架结构信息,具体步骤如下:
C3.1根据C2.3生成的关节点连接信息,构造一个14*14的关节点连接关系矩阵,标识相邻关节点之间的连接关系,0值表示对应关节点没有连接,非0值表示对应关节点有连接;
C3.2根据关节点连接矩阵,为人体中的三连续关节区域构造人体姿态描述向量
Figure FDA0003627210970000031
具体步骤如下:
C3.2.1所述的三连续关节区域包括左上肢,右上肢,左下肢,右下肢,头部-右肩,头部-左肩;其中,右上肢指右肩、右肘和右腕;右下肢指右臀,右膝,右脚踝;左上肢指左肩、左肘和左腕;左下肢指左臀,左膝,左脚踝;头部-右肩指头部,颈部和右肩;头部-左肩指头部,颈部和左肩;
C3.2.2以右上肢为例,设点A(x1,y1)、B(x2,y2)、C(x3,y3)分别表示右肩、右肘和右腕的关节点坐标,
Figure FDA0003627210970000032
表示右肘到右肩的位姿向量,
Figure FDA0003627210970000033
为右肘到右手腕的位姿向量;右上肢的向量角和模比值计算公式分别如下:
-右上肢关节向量间的向量角p1,计算公式如下:
Figure FDA0003627210970000041
-右上肢关节向量间的模比值r1,计算公式如下:
Figure FDA0003627210970000042
C3.2.3按照C3.2.2的步骤,公式同上,分别计算左上肢,左下肢,右下肢,头部-右肩,头部-左肩的向量角和模比值,依次记为p2,p3,p4,p5,p6和r2,r3,r4,r5,r6
C3.2.4利用上述向量角和模比值构造一个12维的人体姿态描述向量
Figure FDA0003627210970000043
表示人体姿态,记为
Figure FDA0003627210970000044
7.如权利要求1所述的一种基于深度神经网络的人体姿态识别方法,利用支持向量机分类器对向量
Figure FDA0003627210970000045
进行分类识别,具体步骤如下:
C4.1加载已训练好的多分类支持向量机分类器模型;
C4.2用所有的子分类器进行测试并计算骨架信息预测类别及概率值;具体步骤如下:
C4.2.1根据决策函数的返回值的符号判断其属于的类别;
C4.2.2统计各类别的投票得分情况,选择得分高的类作为测试数据的类;
C4.2.3由投票情况计算属于该类别的概率值。
CN201811234319.5A 2018-10-23 2018-10-23 一种基于深度神经网络的人体姿态识别方法 Active CN109325469B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811234319.5A CN109325469B (zh) 2018-10-23 2018-10-23 一种基于深度神经网络的人体姿态识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811234319.5A CN109325469B (zh) 2018-10-23 2018-10-23 一种基于深度神经网络的人体姿态识别方法

Publications (2)

Publication Number Publication Date
CN109325469A CN109325469A (zh) 2019-02-12
CN109325469B true CN109325469B (zh) 2022-06-14

Family

ID=65262993

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811234319.5A Active CN109325469B (zh) 2018-10-23 2018-10-23 一种基于深度神经网络的人体姿态识别方法

Country Status (1)

Country Link
CN (1) CN109325469B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110633005A (zh) * 2019-04-02 2019-12-31 北京理工大学 一种光学式无标记的三维人体动作捕捉方法
CN110163116A (zh) * 2019-04-26 2019-08-23 沈阳航空航天大学 通过加速OpenPose推理获取人体姿态的方法
CN110309867B (zh) * 2019-06-21 2021-09-24 北京工商大学 一种基于卷积神经网络的混合气体识别方法
CN110457999B (zh) * 2019-06-27 2022-11-04 广东工业大学 一种基于深度学习和svm的动物姿态行为估计与心情识别方法
CN110390303B (zh) * 2019-07-24 2022-04-08 达闼机器人有限公司 摔倒报警方法、电子设备及计算机可读存储介质
CN110414453A (zh) * 2019-07-31 2019-11-05 电子科技大学成都学院 一种基于机器视觉的多重视角下人体动作状态监测方法
CN112417927A (zh) * 2019-08-22 2021-02-26 北京奇虎科技有限公司 建立人体姿态识别模型的方法、人体姿态识别方法及装置
CN110555417A (zh) * 2019-09-06 2019-12-10 福建中科亚创动漫科技股份有限公司 一种基于深度学习的视频图像识别系统及方法
CN111046848B (zh) * 2019-12-30 2020-12-01 广东省实验动物监测所 一种基于动物跑台的步态监测方法及系统
CN112087672B (zh) * 2020-08-13 2021-11-23 浙江大学 一种使用智能终端及服务器的视频流描述生成方法
US11645874B2 (en) * 2021-06-23 2023-05-09 International Business Machines Corporation Video action recognition and modification
CN113591712A (zh) * 2021-07-30 2021-11-02 天津市府易科技股份有限公司 一种基于ai识别的用户异常行为识别方法及装置
CN116645732B (zh) * 2023-07-19 2023-10-10 厦门工学院 一种基于计算机视觉的场地危险活动预警方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104850846A (zh) * 2015-06-02 2015-08-19 深圳大学 一种基于深度神经网络的人体行为识别方法及识别系统
CN105069413A (zh) * 2015-07-27 2015-11-18 电子科技大学 一种基于深度卷积神经网络的人体姿势识别方法
CN105095866A (zh) * 2015-07-17 2015-11-25 重庆邮电大学 一种快速行为识别方法和系统
CN107169415A (zh) * 2017-04-13 2017-09-15 西安电子科技大学 基于卷积神经网络特征编码的人体动作识别方法
CN107463912A (zh) * 2017-08-10 2017-12-12 武汉大学深圳研究院 基于运动显著性的视频人体行为识别方法
CN107895161A (zh) * 2017-12-22 2018-04-10 北京奇虎科技有限公司 基于视频数据的实时姿态识别方法及装置、计算设备
US10089556B1 (en) * 2017-06-12 2018-10-02 Konica Minolta Laboratory U.S.A., Inc. Self-attention deep neural network for action recognition in surveillance videos

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9317751B2 (en) * 2012-04-18 2016-04-19 Vixs Systems, Inc. Video processing system with video to text description generation, search system and methods for use therewith

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104850846A (zh) * 2015-06-02 2015-08-19 深圳大学 一种基于深度神经网络的人体行为识别方法及识别系统
CN105095866A (zh) * 2015-07-17 2015-11-25 重庆邮电大学 一种快速行为识别方法和系统
CN105069413A (zh) * 2015-07-27 2015-11-18 电子科技大学 一种基于深度卷积神经网络的人体姿势识别方法
CN107169415A (zh) * 2017-04-13 2017-09-15 西安电子科技大学 基于卷积神经网络特征编码的人体动作识别方法
US10089556B1 (en) * 2017-06-12 2018-10-02 Konica Minolta Laboratory U.S.A., Inc. Self-attention deep neural network for action recognition in surveillance videos
CN107463912A (zh) * 2017-08-10 2017-12-12 武汉大学深圳研究院 基于运动显著性的视频人体行为识别方法
CN107895161A (zh) * 2017-12-22 2018-04-10 北京奇虎科技有限公司 基于视频数据的实时姿态识别方法及装置、计算设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Computer vision approaches based on deep learning and neural networks: Deep neural networks for video analysis of human pose estimation;Eralda Nishani 等;《 2017 6th Mediterranean Conference on Embedded Computing (MECO)》;20170713;1-4 *
基于卷积神经网络的人体姿态识别研究;代西果;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180315(第3期);I138-1546 *

Also Published As

Publication number Publication date
CN109325469A (zh) 2019-02-12

Similar Documents

Publication Publication Date Title
CN109325469B (zh) 一种基于深度神经网络的人体姿态识别方法
US10198823B1 (en) Segmentation of object image data from background image data
US10719759B2 (en) System for building a map and subsequent localization
US9965865B1 (en) Image data segmentation using depth data
JP6369534B2 (ja) 画像処理装置、画像処理方法、および、画像処理プログラム
Jalal et al. Detecting complex 3D human motions with body model low-rank representation for real-time smart activity monitoring system
Jalal et al. Depth Silhouettes Context: A new robust feature for human tracking and activity recognition based on embedded HMMs
Zhang et al. A novel method for user-defined human posture recognition using Kinect
JP2020503604A (ja) 外観検索のシステムおよび方法
JP4560832B2 (ja) 3次元物体モデルを用いた画像照合システム及び画像照合プログラム
CN109598229B (zh) 基于动作识别的监控系统及其方法
WO2019041519A1 (zh) 目标跟踪装置、方法及计算机可读存储介质
CN111857334B (zh) 人体手势字母的识别方法、装置、计算机设备及存储介质
JP2015095164A (ja) ジェスチャ認識装置およびジェスチャ認識装置の制御方法
TWI438702B (zh) 影像環境邊界之動態設定方法及人員活動內容之即時判定方法
Beg et al. Text writing in the air
JP2007052609A (ja) 手領域検出装置及び手領域検出方法、並びにプログラム
JP7419003B2 (ja) 情報表示装置、情報表示方法及び情報表示システム
JP2020106970A (ja) 人検出装置および人検出方法
Fan et al. SkeletonGait: Gait Recognition Using Skeleton Maps
US20230031390A1 (en) Task and cycle time detection method and system
CN108392207B (zh) 一种基于姿态标签的动作识别方法
JP5552946B2 (ja) 顔画像サンプル採取装置、顔画像サンプル採取方法、プログラム
JP2009123150A (ja) 対象物検出装置及び方法、対象物検出システム、プログラム
Byukusenge et al. Life detection based on uavs-thermal images in search and rescue operation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240927

Address after: Building A1, 2nd Floor, No.1 Huangchang West Road, Dougezhuang, Chaoyang District, Beijing 24685, 100023

Patentee after: Beijing Yunxin Networking Technology Co.,Ltd.

Country or region after: China

Address before: 100048, Fu Cheng Road, Beijing, Haidian District, No. 33

Patentee before: BEIJING TECHNOLOGY AND BUSINESS University

Country or region before: China