CN114419480A - 一种多人身份和动作关联识别方法、装置及可读介质 - Google Patents
一种多人身份和动作关联识别方法、装置及可读介质 Download PDFInfo
- Publication number
- CN114419480A CN114419480A CN202111537222.3A CN202111537222A CN114419480A CN 114419480 A CN114419480 A CN 114419480A CN 202111537222 A CN202111537222 A CN 202111537222A CN 114419480 A CN114419480 A CN 114419480A
- Authority
- CN
- China
- Prior art keywords
- person
- detection
- tracking
- frame
- action
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种多人身份和动作关联识别方法、装置及可读介质,通过获取视频流数据,并对视频流数据进行实时多人目标检测和跟踪,得到视频流数据中每个人的检测框和每个检测框对应的唯一的跟踪ID号;采用人脸识别算法对每个人的检测框进行人脸检测与识别,得到每个人的身份,并将每个人的身份与其检测框和跟踪ID号进行绑定关联;基于检测框获得视频流数据的每个人的动作帧序列,并动作帧序列使用滑动窗口划分成多个滑动窗口组;将滑动窗口组输入动作识别模型进行动作识别,获得动作识别结果,将动作识别结果与其对应的跟踪ID号和身份进行关联,生成每个人的身份与动作关联结果。
Description
技术领域
本发明涉及视频图像处理领域,具体涉及一种多人身份和动作关联识别方法、装置及可读介质。
背景技术
近年来人工智能技术在视频分析领域逐步兴起,人体动作识别在行为识别相关的智能监控应用中得到了广泛的普及。智能监控可以满足车站、机场等公共场所的突发事件预警,智慧家居场景下的异常行为检测等需求。人体动作识别技术随着深度学习的繁荣得到了越来越多研究者的研究与探索。
人体动作识别的方法大致分为两类:基于人体骨架的方法和基于图像的方法。而基于图像的方法又可分为三类:基于单张图片的方法,基于多帧视频的方法和基于光流的方法。
目前的动作识别技术注重如何更准确高效地识别出动作类别,而对于如何将动作产生者的身份信息和动作类别进行实时关联这个问题还有很大的研究空间。同时,大多数关于人类动作检测的工作都假设了预先分割的视频片段,然后通过模型识别来解决这个动作。但在实际应用场景中输入的是一个连续的视频流,其包含了若干连续动作序列,因此如何确定一个连续动作序列的开始和结束时间从而识别动作类别也是需要解决的关键问题。
发明内容
鉴于上述现有技术中缺乏身份与动作的关联识别方法,本发明要解决的问题是提供一种室内场景视频中的实时多人身份和动作关联识别方法,即在一个室内场景中识别出“谁”在“做什么”。
第一方面,本申请的实施例提供了一种多人身份和动作关联识别方法,包括以下步骤:
S1,获取视频流数据,并对视频流数据进行实时多人目标检测和跟踪,得到视频流数据中每个人的检测框和每个检测框对应的唯一的跟踪ID号;
S2,采用人脸识别算法对每个人的检测框进行人脸检测与识别,得到每个人的身份,并将每个人的身份与其检测框和跟踪ID号进行绑定关联;
S3,基于检测框获得视频流数据的每个人的动作帧序列,并动作帧序列使用滑动窗口划分成多个滑动窗口组;
S4,将滑动窗口组输入动作识别模型进行动作识别,获得动作识别结果,将动作识别结果与其对应的跟踪ID号和身份进行关联,生成每个人的身份与动作关联结果。
在一些实施例中,步骤S1具体包括:
S11,通过OpenCV从摄像头中获取到视频流数据,通过YOLOv3对视频流数据中的每一帧图像进行多人目标检测,获得每个人的检测框;
S12,将视频流数据和检测框输入DeepSORT模型,得到与每个检测框相对应的唯一的跟踪ID号。
在一些实施例中,步骤S12具体包括:
S121,对视频流数据使用卡尔曼滤波预测目标在下一帧的位置得到跟踪框,对跟踪框与检测框进行级联匹配,若级联匹配成功则用检测框替换跟踪框,并为检测框分配一个唯一的跟踪ID号;
S122,若级联匹配失败,将跟踪框与级联匹配失败的检测框进行IOU匹配,若IOU匹配成功则用检测框替换跟踪框,并为检测框分配一个唯一的跟踪ID号;
S123,若IOU匹配失败则对检测框分配一个唯一的跟踪ID号,并使用新的跟踪框和跟踪特征更新特征矩阵。
在一些实施例中,级联匹配包括同时对视频流数据中的运动信息和目标外观信息进行匹配,运动信息为检测状态与轨迹之间的运动匹配度。
在一些实施例中,步骤S2具体包括:
S21,采用FaceNet将待识别的人的人脸嵌入成第一人脸特征向量,并根据第一人脸特征向量与待识别的人的身份建立人脸数据库,并在人脸数据库中创建跟踪ID号与待识别的人的身份的关联表单;
S22,判断步骤S1中得到的检测框所对应的跟踪ID号是否在关联表单中,若是则在关联表单中查询得到跟踪ID号对应的身份,否则对每个人的检测框使用人脸检测器MTCNN进行人脸检测并裁剪出人脸图像;
S23,将人脸图像送入FaceNet生成第二人脸特征向量,计算第二人脸特征向量与第一人脸特征向量的欧式距离,基于欧式距离进行身份匹配,若匹配成功,则从人脸数据库中获得每个人的身份;
S24,判断在关联表单中是否存在检测框所对应的跟踪ID号,若不存在则将检测框所对应的跟踪ID号及其对应的身份插入关联表单中。
在一些实施例中,步骤S3具体包括:
S31,根据检测框对视频流数据的视频帧进行预处理,获得每个人的以检测框为中心的运动帧序列;
S32,等间隔地对每个人的运动帧序列进行采样,以构建一个滑动窗口sliding_window={ft1,ft2,…,ftn},ftn表示滑动窗口中时间点为tn时的帧,tn表示运动帧序列中第tn个帧序号且tn=t1+(n-1)m,n表示滑动窗口的长度,m表示间隔的帧数,n,m∈N*,N*为正整数,再等间隔地生成一个滑动窗口组sw_group={wt1,wt2,…,wti},wti表示从时间点ti开始构建的滑动窗口,ti表示视频帧序列中第ti个帧序号且ti=t1+(i-1)j,i表示滑动窗口的个数,j表示间隔的帧数,i,j∈N*。
在一些实施例中,步骤S4具体包括:
S41,将滑动窗口组sw_group输入R(2+1)D模型进行动作识别,得到S33中表示的i个动作类别和相应的置信度;
S42,将置信度最大的动作类别作为动作识别结果,并根据跟踪ID号将动作识别结果与步骤S2中的检测框和和身份进行关联,生成每个人的身份与动作关联结果。
第二方面,本申请的实施例提供了一种多人身份和动作关联识别装置,包括:
目标检测跟踪模块,被配置为获取视频流数据,并对视频流数据进行实时多人目标检测和跟踪,得到视频流数据中每个人的检测框和每个检测框对应的唯一的跟踪ID号;
人脸检测识别模块,被配置为采用人脸识别算法对每个人的检测框进行人脸检测与识别,得到每个人的身份,并将每个人的身份与其检测框和跟踪ID号进行绑定关联;
窗口划分模块,被配置为基于检测框获得视频流数据的每个人的动作帧序列,并动作帧序列使用滑动窗口划分成多个滑动窗口组;
关联模块,被配置为将滑动窗口组输入动作识别模型进行动作识别,获得动作识别结果,将动作识别结果与其对应的跟踪ID号和身份进行关联,生成每个人的身份与动作关联结果。
第三方面,本申请的实施例提供了一种电子设备,包括一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。
第四方面,本申请的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
相比于现有技术,本发明具有以下有益效果:
(1)本发明通过建立唯一的跟踪ID号对目标检测和跟踪结果与人脸识别的结果相关联,并且最终与动作识别结果相关联实现实时多人动作和身份的关联识别。
(2)本发明采用滑动窗口组来确定一个连续动作序列的开始和结束时间从而识别动作类别,解决确定一个连续动作序列的开始和结束时间难度大的问题。
(3)本发明改变了现有技术中缺乏将动作产生者的身份信息和动作类别进行关联的现状,通过实时高效的身份动作识别方法,能够为智慧家居、老年人护理等需求场景提供智能监控的技术支撑。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的一个实施例可以应用于其中的示例性装置架构图;
图2为本发明的实施例的多人身份和动作关联识别方法的流程示意图;
图3为本发明的实施例的多人身份和动作关联识别方法的关联表单的示意图;
图4为本发明的实施例的多人身份和动作关联识别方法的人脸识别的流程示意图;
图5为本发明的实施例的多人身份和动作关联识别装置的示意图;
图6是适于用来实现本申请实施例的电子设备的计算机装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1示出了可以应用本申请实施例的多人身份和动作关联识别方法或多人身份和动作关联识别装置的示例性装置架构100。
如图1所示,装置架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种应用,例如数据处理类应用、文件处理类应用等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上传的文件或数据进行处理的后台数据处理服务器。后台数据处理服务器可以对获取的文件或数据进行处理,生成处理结果。
需要说明的是,本申请实施例所提供的多人身份和动作关联识别方法可以由服务器105执行,也可以由终端设备101、102、103执行,相应地,多人身份和动作关联识别装置可以设置于服务器105中,也可以设置于终端设备101、102、103中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。在所处理的数据不需要从远程获取的情况下,上述装置架构可以不包括网络,而只需服务器或终端设备。
图2示出了本申请的实施例提供的一种多人身份和动作关联识别方法,包括以下步骤:
S1,获取视频流数据,并对视频流数据进行实时多人目标检测和跟踪,得到视频流数据中每个人的检测框和每个检测框对应的唯一的跟踪ID号。
在具体的实施例中,对获取到的视频流数据使用YOLOv3和DeepSORT进行实时多人目标检测和跟踪,得到一个室内场景下每个人的边界框(bounding box)以及相对应的唯一的跟踪ID号,该边界框具体为具有对应跟踪ID号的检测框。为了同时识别并跟踪一个场景下的多人目标,本申请同时使用了目标检测模型YOLOv3(You Only Look Once v3),多目标实时跟踪模型DeepSROT(Deep Simple Online and Real-time Tracking)和人脸识别模型FaceNet三种神经网络模型。YOLOv3是一个以除去全连接层的Darknet-53为骨干网络的一阶段目标检测算法,它具有识别速度快、准确率高、能同时检测多个目标等优点。DeepSORT模型由Wojke等人与2017年提出,是实时多目标跟踪方法SORT的一个改进版本。SORT是一种基于目标检测结果的跟踪算法,它通过测量被检测物体的速度来根据当前帧的位置预测下一帧的物体位置。DeepSORT在SORT的基础上添加了一个额外的卷积神经网络用来提取额外的特征。Deep SORT在大规模数据集MARS上预训练后,比SORT可减少45%的跟踪错误。FaceNet是Google于2015年提出的人脸识别模型,它采用了InceptionResNet网络架构并且使用了基于MS-Celeb-1M数据集的预训练模型。在预训练阶段,首先经过L2归一化和嵌入过程来生成128维的特征向量,然后特征向量被映射到一个特征空间以计算特征之间的欧氏距离,最后在训练时使用三重损失算法进行训练。在FaceNet的处理中,人脸匹配的相似度取决于输入的人脸图像特征与数据库中存储的人脸图像特征之间的欧氏距离。只要给出每个匹配对的相似度,就会应用SVM分类器来做出最终的匹配决定。
在具体的实施例中,步骤S1具体包括:
S11,通过OpenCV从摄像头中获取到视频流数据,通过YOLOv3对视频流数据中的每一帧图像进行多人目标检测,获得每个人的检测框。
在此步骤得到的目标检测的检测框不包含跟踪ID号。从摄像头获取到视频流数据后,将视频流数据中的原始视频帧(1440×1080)的大小重新调整为640×480,然后送入YOLOv3模型进行目标检测。YOLOv3模型总共会输出3个不同尺寸的特征图(feature map),并在上面进行融合预测物体的边界框。具体地,第一个特征图大小为输入图像下采样32倍,第二个特征图大小为为输入图像下采样16倍,第三个特征图大小为输入图像下采样8倍。输入图像经过无全连接层的Darknet-53和5个连续的卷积+批标准化+leakyrelu组成的卷积块后生成的特征图被当做两个用途,第一用途为经过3×3卷积层、1×1卷积层之后生成第一特征图,第二用途为经过1×1卷积层加上采样层,与Darknet-53网络的中间层输出进行拼接,产生第二特征图。经过同样的循环之后产生第三特征图。三张特征图就是整个YOLOv3输出的检测结果,检测框位置(4维,检测框左上角点坐标(x,y)和检测框的宽度w,高度h)、检测置信度(1维)、类别(1维,只检测人体)都在其中,总包含共6维的检测信息。本申请的实施例使用了基于先验框变化值的回归方法将这些检测信息进行解码,并且使用k-means对数据集中的标签框进行聚类,得到类别中心点的9个框作为先验框。然后,基于先验框和输出特征图,可以使用如下公式解码得到检测框的左上角点坐标(bx,by)和检测框的宽bw和高bh。
bw=σ(tx)+cx;
by=σ(ty)+cy;
其中,σ(tx),σ(ty)是基于矩形框中心点左上角格点坐标的偏移量,σ是sigmoid激活函数,pw,ph是先验框的宽和高。
置信度在输出6维中占固定一维,由sigmoid激活函数解码即可,解码之后数值区间在[0,1]中。推理时,选取一个置信度阈值,优选为0.7,过滤掉低阈值box,再经过NMS(非极大值抑制),最后输出整个网络的预测结果,即检测框的位置信息。
S12,将视频流数据和检测框输入DeepSORT模型,得到与每个检测框相对应的唯一的跟踪ID号。
具体地,在步骤S12中产生跟踪框及其对应的跟踪ID号,步骤S12通过对视频流数据执行以下步骤获得与每个检测框相对应的唯一的跟踪ID号:
S121,使用一个8维向量去刻画运动轨迹在某时刻的状态(u,v,r,h,x*,y*,r*,h*),u表示检测框中心点的横坐标,v表示检测框中心点的纵坐标,r表示检测框的纵横比,h表示检测框的高度,x*,y*,r*,h*表示在图像坐标中对应的速度信息。
S122,对检测框使用卡尔曼滤波预测得到更新轨迹的状态(u,v,r,h),然后使用匈牙利算法解决卡尔曼预测状态和新来的检测状态之间的关联性指派问题,这一过程中融合目标运动度量d(1)(i,j)和表面外观特征信息d(2)(i,j)得到一个新的度量尺度ci,j。
本申请使用马氏距离来度量卡尔曼预测状态和新来的检测状态:
其中,d(1)(i,j)表示第j个检测状态和第i条轨迹之间的运动匹配度,Si是轨迹由卡尔曼滤波预测得到的在当前时刻观测空间的协方差矩阵,yi是轨迹在当前时刻的预测观测量,dj是第j个检测的状态。通过此处的d(1)(i,j)来描述运动信息,运动信息为检测状态与轨迹之间的运动匹配度。
考虑到运动的连续性,可以通过该马氏距离对检测状态进行筛选,可以定义如下的门限函数:
其中,使用χ2分布的0.95分位点作为阈值t(1)=0.4877。
当目标运动不确定性较高(如快速移动)时会造成马氏距离大量不能匹配,就会使目标运动度量d(1)(i,j)失效,因此使用第二种目标外观度量来解决这一问题。对每一个检测框dj计算一个表面特征描述子rj,|rj|=1,并存储最新的Lk=100个轨迹的描述子,即然后我们使用第i个轨迹和第j个轨迹的最小余弦距离作为目标外观度量d(2)(i,j),公式如下:
同样地定义一个门限函数以对检测状态进行筛选:
最后将运动度量和目标外观度量相融合,得到一个新的度量尺度ci,j和门限值,计算公式如下:
ci,j=λd(1)(i,j)+(1-λ)d(2)(i,j) (5)
其中,每个度量对综合关联代价可以通过超参数λ控制。
使用下面的级联算法进行匹配,若级联匹配成功则用检测框替换跟踪框,并为检测框分配一个唯一的跟踪ID号;
S123,若级联匹配失败,将跟踪框与级联匹配失败的检测框进行IOU匹配,若IOU匹配成功则用检测框替换跟踪框,并为检测框分配一个唯一的跟踪ID号;
S124,若IOU匹配失败则对检测框分配一个唯一的跟踪ID号,并使用新的跟踪框和跟踪特征更新特征矩阵。
在具体的实施例中,步骤S122中的级联匹配包括同时对视频流数据中的运动信息和目标外观信息进行匹配,运动信息为检测状态与轨迹之间的运动匹配度,初步得到跟踪ID号并将其与对应的检测框绑定。步骤S122中的IoU匹配是基于IoU距离使用匈牙利算法匹配跟踪框和上一步未被匹配到的检测框,得到相应的跟踪ID号并与检测框绑定。若IoU匹配失败,则说明目标可能是新目标或被长时间遮挡的目标,需要使用新的跟踪框进行跟踪,便于下一帧计算。经过步骤S12检测框与跟踪框进行匹配后给检测框分配一个唯一的跟踪ID号。
S2,采用人脸识别算法对每个人的检测框进行人脸检测与识别,得到每个人的身份,并将每个人的身份与其检测框和跟踪ID号进行绑定关联。
在具体的实施例中,步骤S2具体包括:
S21,采用FaceNet将待识别的人的人脸嵌入成第一人脸特征向量,并根据第一人脸特征向量与待识别的人的身份建立人脸数据库,并在人脸数据库中创建跟踪ID号与待识别的人的身份的关联表单;
S22,判断步骤S1中得到的检测框所对应的跟踪ID号是否在关联表单中,若是则在关联表单中查询得到跟踪ID号对应的身份,否则对每个人的检测框使用人脸检测器MTCNN进行人脸检测并裁剪出人脸图像;
S23,将人脸图像送入FaceNet生成第二人脸特征向量,计算第二人脸特征向量与第一人脸特征向量的欧式距离,基于欧式距离进行身份匹配,若匹配成功,则从人脸数据库中获得每个人的身份;
S24,判断在关联表单中是否存在检测框所对应的跟踪ID号,若不存在则将检测框所对应的跟踪ID号及其对应的身份插入关联表单中。
在进行人脸识别前,需要建立一个人脸数据库。利用FaceNet对各人脸图像嵌入编码为128维的人脸特征向量,把得到的人脸特征向量和对应的人名存入数据文件保存,该数据文件构成一个人脸数据库,同时在数据库中创建关联表单people_info,表结构如图3所示。
参考图4,为了提高人脸识别阶段的效率,当从Deep SORT获得每个人的边界框和对应的跟踪ID号后,会检查数据库表people_info中是否存在该跟踪ID号以避免人脸识别的重复执行。如果people_info表中存在某一跟踪ID号,则与该跟踪ID号相关的身份信息(名字)将直接从人脸数据库中获得。否则利用人脸检测器MTCNN模型根据每个人的边界框图像,判断是否可以检测到人脸。如果无法检测到人脸,FaceNet将不被执行,而在人物边界框的顶部显示“未知”。若检测到人脸则按照检测出人脸框裁剪出人脸图像并送入FaceNet,通过与上一步存储在人脸数据库中的人脸特征对比,当两者的欧氏距离小于1时则人脸匹配,反之则不匹配。当剪下的人脸图像的特征与数据文件中存储的特征相似时,则用跟踪ID号和从人脸数据库中检索到的相应名称更新数据库表,以显示在视频帧中边界框的顶部。至此,身份信息与检测框及跟踪ID号的绑定完成。
S3,基于检测框获得视频流数据的每个人的动作帧序列,并且动作帧序列使用滑动窗口划分成多个滑动窗口组。
其中,由于动作帧序列是基于检测框中获取得到,因此动作帧序列的每一帧都包含检测框和跟踪ID号。对于在一个视频流数据中如何确定一个动作帧序列的开始和结束时间的问题,本申请使用了滑动窗口技术将输入的视频流数据划分成一组重叠的动作帧序列,再将动作帧序列输入到动作识别模型以此来提供一个令人满意的识别结果。在具体的实施例中,步骤S3具体包括:
S31,根据检测框对视频流数据的视频帧进行预处理,获得以检测框为中心以每个人为单位的运动帧序列;
S32,等间隔地对每个人的运动帧序列进行采样,以构建一个滑动窗口sliding_window={ft1,ft2,…,ftn},ftn表示滑动窗口中时间点为tn时的帧,tn表示运动帧序列中第tn个帧序号且tn=t1+(n-1)m,n表示滑动窗口的长度,m表示间隔的帧数,n,m∈N*,N*为正整数,再等间隔地生成一个滑动窗口组sw_group={wt1,wt2,…,wti},wti表示从时间点ti开始构建的滑动窗口,ti表示视频帧序列中第ti个帧序号且ti=t1+(i-1)j,i表示滑动窗口的个数,j表示间隔的帧数,i,j∈N*。
具体地,由于在步骤S1所有的视频帧的大小都被缩小为640×480,而当人站在远离摄像头的位置,目标检测出的检测框大小就会变得过小而不能准确地识别人物动作。为此,利用原始的大小为1440×1080的视频帧来放大那些高度小于160像素的边界框。在原始的1440×1080的视频帧中找到检测框的中心,然后以检测框为中心裁剪出一张640×480的新图像。
具体地,先判断检测框的高度是否小于160,若是,则在原始的视频流数据的视频帧中找到检测框的中心,并以检测框为中心裁剪出新图像,再对视频帧中的每个人使用高斯滤波器对除边界框以外的整个图像进行模糊处理,否则直接对视频帧中的每个人使用高斯滤波器对除边界框以外的整个图像进行模糊处理。若一帧中有多人,则每个人的检测框都需要处理。然后,每个人的预处理图像被进一步缩小成224×224的小图像,从而形成以个人为单位的动作帧序列。由于运动帧序列是以个人为单位的目标检测框序列。
S4,将滑动窗口组输入动作识别模型进行动作识别,获得动作识别结果,将动作识别结果与其所属的检测框的跟踪ID号和身份进行关联,生成每个人的身份与动作关联结果。
具体地,每隔5帧(m=5)对每个人的动作帧序列进行采样,用以构建一个大小为16帧的滑动窗口sliding_window={ft1,ft2,…,ft16}。然后间隔5帧(j=5)构建一个滑动窗口来生成一个滑动窗口组并将其送入动作识别模型。
在具体的实施例中,步骤S4具体包括:
S41,将滑动窗口组sw_group输入R(2+1)D模型进行动作识别,得到S33中表示的i个动作类别和相应的置信度;
S42,将置信度最大的动作类别作为动作识别结果,并根据跟踪ID号将动作识别结果与步骤S2中的检测框和和身份进行关联,生成每个人的身份与动作关联结果。
具体地,动作识别模型R(2+1)D对滑动窗口组sw_group进行动作识别,得到5个置信度识别结果,最后选择置信度最高的动作类别作为最终的识别结果,并将该结果显示在视频帧对应检测框的顶部。由于滑动窗口组来源于动作帧序列,动作帧序列中已经包含有检测框和跟踪ID号,因此在动作识别后,其识别结果自然就同检测框及跟踪ID号关联起来,同时由于身份信息和检测框及跟踪ID号是一一对应的,那么动作类别与身份信息也就关联起来。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种多人身份和动作关联识别装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
本申请实施例提供了一种多人身份和动作关联识别装置,如图5所示,包括:
目标检测跟踪模块1,被配置为获取视频流数据,并对视频流数据进行实时多人目标检测和跟踪,得到视频流数据中每个人的检测框和每个检测框对应的唯一的跟踪ID号;
人脸检测识别模块2,被配置为采用人脸识别算法对每个人的检测框进行人脸检测与识别,得到每个人的身份,并将每个人的身份与其检测框和跟踪ID号进行绑定关联;
窗口划分模块3,被配置为基于检测框获得视频流数据的每个人的动作帧序列,并动作帧序列使用滑动窗口划分成多个滑动窗口组,动作帧序列包含检测框和跟踪ID号;
关联模块4,被配置为将滑动窗口组输入动作识别模型进行动作识别,获得动作识别结果,将动作识别结果与其对应的跟踪ID号和身份进行关联,生成每个人的身份与动作关联结果。
下面参考图6,其示出了适于用来实现本申请实施例的电子设备(例如图1所示的服务器或终端设备)的计算机装置600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机装置600包括中央处理单元(CPU)601和图形处理器(GPU)602,其可以根据存储在只读存储器(ROM)603中的程序或者从存储部分609加载到随机访问存储器(RAM)604中的程序而执行各种适当的动作和处理。在RAM 604中,还存储有装置600操作所需的各种程序和数据。CPU 601、GPU602、ROM 603以及RAM604通过总线605彼此相连。输入/输出(I/O)接口606也连接至总线605。
以下部件连接至I/O接口606:包括键盘、鼠标等的输入部分607;包括诸如、液晶显示器(LCD)等以及扬声器等的输出部分608;包括硬盘等的存储部分609;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分610。通信部分610经由诸如因特网的网络执行通信处理。驱动器611也可以根据需要连接至I/O接口606。可拆卸介质612,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器611上,以便于从其上读出的计算机程序根据需要被安装入存储部分609。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分610从网络上被下载和安装,和/或从可拆卸介质612被安装。在该计算机程序被中央处理单元(CPU)601和图形处理器(GPU)602执行时,执行本申请的方法中限定的上述功能。
需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读介质或者是上述两者的任意组合。计算机可读介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的装置、装置或器件,或者任意以上的组合。计算机可读介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行装置、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行装置、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的装置来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取视频流数据,并对视频流数据进行实时多人目标检测和跟踪,得到视频流数据中每个人的检测框和每个检测框对应的唯一的跟踪ID号;采用人脸识别算法对每个人的检测框进行人脸检测与识别,得到每个人的身份,并将每个人的身份与其检测框和跟踪ID号进行绑定关联;基于检测框获得视频流数据的每个人的动作帧序列,并动作帧序列使用滑动窗口划分成多个滑动窗口组;将滑动窗口组输入动作识别模型进行动作识别,获得动作识别结果,将动作识别结果与其对应的跟踪ID号和身份进行关联,生成每个人的身份与动作关联结果。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种多人身份和动作关联识别方法,其特征在于,包括以下步骤:
S1,获取视频流数据,并对所述视频流数据进行实时多人目标检测和跟踪,得到所述视频流数据中每个人的检测框和每个检测框对应的唯一的跟踪ID号;
S2,采用人脸识别算法对每个人的检测框进行人脸检测与识别,得到每个人的身份,并将每个人的身份与其检测框和跟踪ID号进行绑定关联;
S3,基于检测框获得所述视频流数据的每个人的动作帧序列,并所述动作帧序列使用滑动窗口划分成多个滑动窗口组;
S4,将所述滑动窗口组输入动作识别模型进行动作识别,获得动作识别结果,将所述动作识别结果与其对应的所述跟踪ID号和身份进行关联,生成每个人的身份与动作关联结果。
2.根据权利要求1所述的多人身份和动作关联识别方法,其特征在于,所述步骤S1具体包括:
S11,通过OpenCV从摄像头中获取到所述视频流数据,通过YOLOv3对所述视频流数据中的每一帧图像进行多人目标检测,获得每个人的检测框;
S12,将所述视频流数据和所述检测框输入DeepSORT模型,得到与每个检测框相对应的唯一的跟踪ID号。
3.根据权利要求1所述的多人身份和动作关联识别方法,其特征在于,所述步骤S12具体包括:
S121,对所述视频流数据使用卡尔曼滤波预测目标在下一帧的位置得到跟踪框,对所述跟踪框与所述检测框进行级联匹配,若级联匹配成功则用所述检测框替换所述跟踪框,并为所述检测框分配一个唯一的跟踪ID号;
S122,若级联匹配失败,将所述跟踪框与级联匹配失败的检测框进行IOU匹配,若IOU匹配成功则用所述检测框替换所述跟踪框,并为所述检测框分配一个唯一的跟踪ID号;
S123,若IOU匹配失败则对所述检测框分配一个唯一的跟踪ID号,并使用新的跟踪框和跟踪特征更新特征矩阵。
4.根据权利要求3所述的多人身份和动作关联识别方法,其特征在于,所述级联匹配包括同时对所述视频流数据中的运动信息和目标外观信息进行匹配,所述运动信息为检测状态与轨迹之间的运动匹配度。
5.根据权利要求1所述的多人身份和动作关联识别方法,其特征在于,所述步骤S2具体包括:
S21,采用FaceNet将待识别的人的人脸嵌入成第一人脸特征向量,并根据所述第一人脸特征向量与所述待识别的人的身份建立人脸数据库,并在所述人脸数据库中创建所述跟踪ID号与所述待识别的人的身份的关联表单;
S22,判断步骤S1中得到的所述检测框所对应的跟踪ID号是否在所述关联表单中,若是则在所述关联表单中查询得到所述跟踪ID号对应的身份,否则对每个人的检测框使用人脸检测器MTCNN进行人脸检测并裁剪出人脸图像;
S23,将所述人脸图像送入所述FaceNet生成第二人脸特征向量,计算所述第二人脸特征向量与所述第一人脸特征向量的欧式距离,基于所述欧式距离进行身份匹配,若匹配成功,则从所述人脸数据库中获得每个人的身份;
S24,判断在所述关联表单中是否存在所述检测框所对应的跟踪ID号,若不存在则将所述检测框所对应的跟踪ID号及其对应的身份插入所述关联表单中。
6.根据权利要求1所述的多人身份和动作关联识别方法,其特征在于,所述步骤S3具体包括:
S31,根据所述检测框对所述视频流数据的视频帧进行预处理,获得每个人的以所述检测框为中心的所述运动帧序列;
7.根据权利要求6所述的多人身份和动作关联识别方法,其特征在于,所述步骤S4具体包括:
S41,将所述滑动窗口组sw_group输入R(2+1)D模型进行动作识别,得到S33中表示的i个动作类别和相应的置信度;
S42,将所述置信度最大的动作类别作为所述动作识别结果,并根据所述跟踪ID号将所述动作识别结果与所述步骤S2中的所述检测框和和身份进行关联,生成每个人的身份与动作关联结果。
8.一种多人身份和动作关联识别装置,其特征在于,包括:
目标检测跟踪模块,被配置为获取视频流数据,并对所述视频流数据进行实时多人目标检测和跟踪,得到所述视频流数据中每个人的检测框和每个检测框对应的唯一的跟踪ID号;
人脸检测识别模块,被配置为采用人脸识别算法对每个人的检测框进行人脸检测与识别,得到每个人的身份,并将每个人的身份与其检测框和跟踪ID号进行绑定关联;
窗口划分模块,被配置为基于检测框获得所述视频流数据的每个人的动作帧序列,并所述动作帧序列使用滑动窗口划分成多个滑动窗口组;
关联模块,被配置为将所述滑动窗口组输入动作识别模型进行动作识别,获得动作识别结果,将所述动作识别结果与其对应的所述跟踪ID号和身份进行关联,生成每个人的身份与动作关联结果。
9.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111537222.3A CN114419480A (zh) | 2021-12-15 | 2021-12-15 | 一种多人身份和动作关联识别方法、装置及可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111537222.3A CN114419480A (zh) | 2021-12-15 | 2021-12-15 | 一种多人身份和动作关联识别方法、装置及可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114419480A true CN114419480A (zh) | 2022-04-29 |
Family
ID=81268086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111537222.3A Pending CN114419480A (zh) | 2021-12-15 | 2021-12-15 | 一种多人身份和动作关联识别方法、装置及可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114419480A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117457193A (zh) * | 2023-12-22 | 2024-01-26 | 之江实验室 | 一种基于人体关键点检测的体态健康监测方法及系统 |
-
2021
- 2021-12-15 CN CN202111537222.3A patent/CN114419480A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117457193A (zh) * | 2023-12-22 | 2024-01-26 | 之江实验室 | 一种基于人体关键点检测的体态健康监测方法及系统 |
CN117457193B (zh) * | 2023-12-22 | 2024-04-02 | 之江实验室 | 一种基于人体关键点检测的体态健康监测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7331171B2 (ja) | 画像認識モデルをトレーニングするための方法および装置、画像を認識するための方法および装置、電子機器、記憶媒体、並びにコンピュータプログラム | |
CN112396613B (zh) | 图像分割方法、装置、计算机设备及存储介质 | |
Hashmi et al. | An exploratory analysis on visual counterfeits using conv-lstm hybrid architecture | |
CN110363220B (zh) | 行为类别检测方法、装置、电子设备和计算机可读介质 | |
CN113971751A (zh) | 训练特征提取模型、检测相似图像的方法和装置 | |
WO2023273628A1 (zh) | 一种视频循环识别方法、装置、计算机设备及存储介质 | |
CN111327949B (zh) | 一种视频的时序动作检测方法、装置、设备及存储介质 | |
CN112200081A (zh) | 异常行为识别方法、装置、电子设备及存储介质 | |
CN112861575A (zh) | 一种行人结构化方法、装置、设备和存储介质 | |
CN112270246B (zh) | 视频行为识别方法及装置、存储介质、电子设备 | |
CN112149637A (zh) | 用于生成目标再识别模型和用于目标再识别的方法和装置 | |
KR20210037632A (ko) | 생체 검출 방법 및 장치 | |
CN111914676A (zh) | 人体摔倒检测方法、装置、电子设备和存储介质 | |
CN111881777A (zh) | 一种视频处理方法和装置 | |
CN114943937A (zh) | 行人重识别方法、装置、存储介质及电子设备 | |
CN114898266B (zh) | 训练方法、图像处理方法、装置、电子设备以及存储介质 | |
CN114495916B (zh) | 背景音乐的插入时间点确定方法、装置、设备和存储介质 | |
CN116611491A (zh) | 目标检测模型的训练方法、装置、电子设备和存储介质 | |
CN114169425B (zh) | 训练目标跟踪模型和目标跟踪的方法和装置 | |
CN115759748A (zh) | 风险检测模型生成方法和装置、风险个体识别方法和装置 | |
CN114419480A (zh) | 一种多人身份和动作关联识别方法、装置及可读介质 | |
CN113705293A (zh) | 图像场景的识别方法、装置、设备及可读存储介质 | |
CN114627556B (zh) | 动作检测方法、动作检测装置、电子设备以及存储介质 | |
CN111753618A (zh) | 图像识别方法、装置、计算机设备及计算机可读存储介质 | |
CN113269125B (zh) | 一种人脸识别方法、装置、设备及存储介质 |
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 |