CN113361360B - 基于深度学习的多人跟踪方法及系统 - Google Patents
基于深度学习的多人跟踪方法及系统 Download PDFInfo
- Publication number
- CN113361360B CN113361360B CN202110603263.1A CN202110603263A CN113361360B CN 113361360 B CN113361360 B CN 113361360B CN 202110603263 A CN202110603263 A CN 202110603263A CN 113361360 B CN113361360 B CN 113361360B
- Authority
- CN
- China
- Prior art keywords
- video frame
- person
- shadow
- shielding
- people
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本公开提供了一种基于深度学习的多人跟踪方法及系统,所述方案利用预先训练的影子特征模型来识别并追踪被遮挡用户的影子,并根据被遮挡用户的影子求解被遮挡用户的位置,同时,在单Kinect设备下,根据捕获的用户信息对未遮挡用户、遮挡用户进行位置计算,实现对多用户位置的实时跟踪。
Description
技术领域
本公开属于多目标跟踪技术领域,尤其涉及一种基于深度学习的多人跟踪方法及系统。
背景技术
本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
目标跟踪是计算机视觉里的一个重要问题,遮挡是多目标跟踪中常见的情况。目标可能发生自遮挡、被背景中静止物体遮挡和被其他的运动目标遮挡,而且遮挡的程度也不同。如何有效处理遮挡,特别是严重遮挡,一直是多目标跟踪中的难点问题。特别是长期的、完全遮挡是最具挑战性的遮挡形式之一。
目前,目标跟踪方法可分为基于光学的相关滤波方法和基于深度学习的模型方法:
(1)粒子滤波(Particle Filter)算法是一种融合贝叶斯推理和重要采样思想的蒙特卡罗方法(Monte Carlo method),其原理是首先会用均匀分布或者高斯分布等分布方法将粒子播撒到像素图像中,统计粒子的相似度及可能位置,从而估算追踪目标的位置。但由于相关滤波类算法建立的都是运动模型,故常用于估计目标在下一时刻的位置。
(2)神经网络(Neural Network)的跟踪算法,在大数据的背景下,利用卷积神经网络,通过定义不同的卷积核、卷积层数等的学习率以及相关系数,来对目标进行特征提取并形成特征矩阵,最后对于视频的每一帧逐像素与特征矩阵进行比对从而得到目标位置。相比相关滤波算法,深度学习算法牺牲了一定的时间来提高识别的精度。
(3)调幅连续滤波(AWCW)时差测距(ToF)原理。Kinect相机作为一款深度捕捉相机就使用了这个原理,通过发射红外线光波,将近红海(NIR)频谱中的调制光投射到场景之中,并记录光线从相机到场景,再从场景到相机的时间来测算三维距离。
然而,发明人发现,当用户在单相机单一视角下发生长时间、完全遮挡时,会导致观察信息丢失。因此,上述方法在完全、长时间遮挡的情况下存在无法很好地跟踪被遮挡的人的问题;而专利“支持移动虚拟现实应用的单Kinect多人跟踪系统及方法”虽然提供了一种融合多感知数据线索的遮挡目标的检测方法,但需要借助手机陀螺仪传感器数据和Kinect数据共同实现,其实施灵活性较差。
发明内容
本公开为了解决上述问题,提供了一种基于深度学习的多人跟踪方法及系统,所述方案利用预先训练的影子特征模型来识别并追踪被遮挡用户的影子,并根据被遮挡用户的影子求解被遮挡用户的位置,同时,在单Kinect设备下,根据捕获的用户信息对未遮挡用户、遮挡用户进行位置计算,实现对多用户位置的实时跟踪。
根据本公开实施例的第一个方面,提供了一种基于深度学习的多人跟踪方法,包括:
实时采集待追踪的多人视频数据;
从当前视频帧中获取人员数量,并基于遮挡发生开关及相邻帧人数变化,判断当前帧是否存在遮挡;
若当前视频帧与前一视频帧的人数相等,则查询遮挡发生开关状态,若为未遮挡状态,则基于kinect内置算法直接计算人员位置;若为遮挡状态,则基于预先训练的影子特征模型识别被遮挡人员的影子,并通过人员影子求解被遮挡人员位置;若当前视频帧与前一视频帧的人数不等,则对当前视频帧与前一视频帧中的人数进行比较,若当前视频帧小于前一视频帧,则置遮挡发生开关为true,并基于预先训练的影子特征模型识别被遮挡人员的影子,并通过人员影子求解被遮挡人员位置;若不小于前一视频帧,则基于kinect内置算法直接计算人员位置;直至完成最后一帧数据的处理,实现多人跟踪。
进一步的,所述基于遮挡发生开关及相邻帧人数变化,判断当前帧是否存在遮挡,具体为:若当前视频帧与前一视频帧的人员数量相等时,查询遮挡标记的状态,当为遮挡标记为false时,则该视频帧处于未遮挡状态;当遮挡标记为true时,则该视频帧处于遮挡状态;若当前视频帧与前一视频帧的人员数量不等时,比较相邻两帧的人员数量大小,若当前视频帧小于前一视频帧,则该视频帧处于遮挡状态,若不小于前一视频帧,则该视频帧未处于遮挡状态。
进一步的,所述基于kinect内置算法直接计算人员位置,其中,所述内置算法具体采用如下步骤:使用分割策略,将视频帧中的人体从背景图像中分离出来,然后调用Kinect预先训练好的人体模型,对整个人体的不同部位进行评估,确定人体的骨骼和关节坐标信息;此时得到的坐标是在二维像素图像中生成的二维坐标;然后结合红外线成像的深度图,生成二维转三维的矩阵进行坐标转换,来确定骨骼以及关节点的三维空间位置,最后,输出人体双脚关节点的中心位置作为未被遮挡人员的最终位置。
进一步的,基于预先训练的影子特征模型识别被遮挡人员的影子,并通过人员影子求解被遮挡人员位置,具体为:将当前视频帧数据输入预先训练的影子特征模型中,获得全部人员的影子信息;通过影子的位置替代遮挡用户的位置,并融合Kinect的位置信息、未被遮挡用户的影子信息,完成遮挡用户的位置计算。
进一步的,所述从当前视频帧中获取人员数量,具体为使用Kinect自带的人体骨骼捕捉系统捕捉人体骨骼,并通过统计捕捉到的骨骼数量从而统计人员数量。
根据本公开实施例的第二个方面,提供了一种基于深度学习的多人跟踪系统,包括:
数据获取单元,其用于实时采集待追踪的多人视频数据;
遮挡判断单元,其用于从当前视频帧中获取人员数量,并基于遮挡发生开关及相邻帧人数变化,判断当前帧是否存在遮挡;
目标追踪单元,其用于若当前视频帧与前一视频帧的人数相等,则查询遮挡发生开关状态,若为未遮挡状态,则基于kinect内置算法直接计算人员位置;若为遮挡状态,则基于预先训练的影子特征模型识别被遮挡人员的影子,并通过人员影子求解被遮挡人员位置;若当前视频帧与前一视频帧的人数不等,则对当前视频帧与前一视频帧中的人数进行比较,若当前视频帧小于前一视频帧,则置遮挡发生开关为真,并基于预先训练的影子特征模型识别被遮挡人员的影子,并通过人员影子求解被遮挡人员位置;若不小于前一视频帧,则基于kinect内置算法直接计算人员位置;直至完成最后一帧数据的处理,实现多人跟踪。
根据本公开实施例的第三个方面,提供了一种电子设备,包括kinect摄像机、存储器、处理器及存储在存储器上运行的计算机程序,所述处理器执行所述程序时实现所述的一种基于深度学习的多人跟踪方法。
根据本公开实施例的第四个方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的一种基于深度学习的多人跟踪方法。
与现有技术相比,本公开的有益效果是:
(1)本公开所述方案结合了深度学习目标跟踪算法,通过优化的深度学习MaskRCNN神经网络算法得到深度学习模型,在一定的光照下,当用户被遮挡时,通过调用所述深度学习模型与视频帧像素图像进行比较,来实时的对视频的每一帧进行检测,来确定影子的具体位置,相比现在存在的相关滤波法来说极大地提高了精确度,对于部分被遮挡的影子也具有包容度。且深度学习模型计算精度大于运动模型以及方向模型。
(2)本公开所述方案只用到Kinect自身位置信息以及影子信息,在计算的时候不必获取人的位置信息,即便是没有发生遮挡的用户也可以用影子的位置信息来代替使用者的位置信息;这样在计算的时候无需再调用Kinect返回的骨骼位置信息,减少了计算量,优化计算过程,以少量的数据来弥补遮挡造成的数据缺失。
(3)本公开所述方案中,模型预先处理完成,在单Kinect的情况下可以实现多人位置实时跟踪,兼容静止或者运动。这种方法成本低,准确度高,部署简单,保证用户的沉浸式体验。
本公开附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
图1(a)-图1(c)为本公开实施例一中所述构建的部分人体影子数据集示意图;
图2(a)为本公开实施例一中所述的部分原图数据集展示图;
图2(b)为本公开实施例一中所述的部分掩模数据集展示图;
图2(c)为本公开实施例一中所述的图片标签及位置信息;
图3为本公开实施例一中所述的方法流程图;
图4(a)为本公开实施例一中所述的双人未遮挡情况下两个人的骨骼捕捉图;
图4(b)为本公开实施例一中所述的双人遮挡情况下,进入遮挡检测状态时影子捕捉图;
图4(c)为本公开实施例一中所述的为三人未遮挡情况下两个人的骨骼捕捉图;
图4(d)为本公开实施例一中所述的三人遮挡情况下,进入遮挡检测状态时影子捕捉图;
图5(a)为本公开实施例一中所述的双人遮挡情况下输出的第一个人的位置以及被遮挡的人的位置;
图5(b)为本公开实施例一中所述的三人遮挡情况下输出的未遮挡人的位置以及两个被遮挡人的位置。
具体实施方式
下面结合附图与实施例对本公开做进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
实施例一:
本实施例的目的是提供一种基于深度学习的多人跟踪方法。
一种基于深度学习的多人跟踪方法,包括:
实时采集待追踪的多人视频数据;
从当前视频帧中获取人员数量,并基于遮挡发生开关及相邻帧人数变化,判断当前帧是否存在遮挡;
若当前视频帧与前一视频帧的人数相等,则查询遮挡发生开关状态,若为未遮挡状态,则基于kinect内置算法直接计算人员位置;若为遮挡状态,则基于预先训练的影子特征模型识别被遮挡人员的影子,并通过人员影子求解被遮挡人员位置;若当前视频帧与前一视频帧的人数不等,则对当前视频帧与前一视频帧中的人数进行比较,若当前视频帧小于前一视频帧,则置遮挡发生开关为真,并基于预先训练的影子特征模型识别被遮挡人员的影子,并通过人员影子求解被遮挡人员位置;若不小于前一视频帧,则基于kinect内置算法直接计算人员位置;直至完成最后一帧数据的处理,实现多人跟踪。
进一步的,所述kinect内置算法具体为:使用分割策略,将人在背景中分离出来,然后调用Kinect事先训练好的人体模型,对整个人体的不同部位进行评估,从而确定人体的骨骼和关节,此时得到的坐标是在二维像素图像中生成的二维坐标,然后结合红外线成像的深度图,生成二维转三维的矩阵进行坐标转换,来确定骨骼以及关节点的具体三维空间位置。最终,将输出的人体双脚关节点的中心位置作为未被遮挡人员的最终位置。
具体的,为了便于理解,以下结合附图对本公开所述方案进行详细说明:
如图3所示,一种基于深度学习的多目标跟踪方法,具体包括以下步骤:
(1)封装数据集并转入Mask RCNN网络中进行训练从而得到最终用以检测的深度学习模型;
(2)存储模型,根据环境生成模型调用方法,并提供接口;
(3)开启Kinect相机,记录第一帧场景中的人数Nk,令初始帧数k=1;
(3)初始化遮挡标记flag=false,初始时刻不发生遮挡。
(4)读入下一帧视频,视频帧数k=k+1;
(5)统计当前场景中的人数Nk,若Nk=Nk-1,则跳转步骤(6),否则跳转步骤(7)。
(6)判断遮挡标记flag=false?若是,则系统处于未遮挡状态,直接调用Kinect相机直接计算用户位置并输出,否则,系统处于遮挡状态,跳转步骤(8)。
(7)判断相邻两帧视频Nk<Nk-1?是则系统处于遮挡状态,置flag=true,跳转步骤(8);否则,系统未处于遮挡状态,置flag=false,直接调用Kinect相机计算用户位置并输出。
(8)系统处于遮挡状态,调用训练模型进行目标追踪检测,确定目标位置,并调用遮挡检测K-U算法计算被遮挡者的位置。
(9)最终计算结果调用转换矩阵转换二维到三维的位置,最终输出结果为空间中的三维坐标。
(10)判断此时追踪检测是否结束,若未结束,跳转步骤(4),若结束,结束程序。
进一步的,所述步骤(1)的具体步骤为:
(1.1)使用labelme数据集处理软件,手动使用多边形的方式绘制原图中的特征区域,并生成包含数据信息的文件.json文件。
(1.2)提取.json文件中的信息,生成原图,掩模图,信息文件,组合文件等备选文件,选取原图片,掩模图片,信息文件组成一个数据集元素。
(1.3)重复步骤(1.2),直到训练所用的500张图片全部转换为数据集元素。
(1.4)将数据集元素的组成部分分别放入三个文件夹中,将文件夹的路径作为接口传给Mask RCNN算法。
(1.5)Mask RCNN算法处理数据集并生成影子特征数据。
所述步骤(2),使用pytorch框架的内置函数,存储影子的特征数据,最终生成包含数据的model.pt文件。根据pytorch框架以及模型文件架构生成对比函数,函数对外开放并提供接口。函数对图像进行标注,标注影子,并最终返回处理后的图像和影子在像素图像的二维位置。
所述步骤(3)中Kinect内置方法,使用Kinect自带人体骨骼捕捉系统捕捉人体骨骼,并通过统计捕捉到的骨骼数量从而统计捕捉人数。
所述步骤(6)中,遮挡算法共有两个判断依据,一个是遮挡发生开关,一个是相邻帧人数变化。两个开关同时影响系统状态。此步骤通过相邻帧人数变化和遮挡发生开关来判断系统状态,步骤(6)所述未发生遮挡状态指遮挡一直未发生;所述遮挡状态指场景中持续发生遮挡。步骤(6)不改变遮挡发生开关。
所述步骤(7)中,遮挡算法共有两个判断依据,一个是遮挡发生开关,一个是相邻帧人数变化。此步骤只通过相邻帧的人数变化判断系统状态,步骤(7)所述未发生遮挡状态,指发生遮挡后,由于用户移动Kinect相机捕捉到用户出现从而遮挡结束;所述遮挡状态指首次发生遮挡,以及遮挡消除之后再次发生遮挡。所述步骤(7)改变遮挡发生开关。
所述直接计算方法,通过调用Kinect相机捕捉到的骨骼信息,以及Kinect相机捕捉地深度图,生成二维像素坐标到三维坐标的转换方法得到场景
所述步骤(8)中,初始化阶段。根据Kinect SDK提供的骨架捕捉信息,记录数量N,N表示当前时刻用户的人数。根据每个用户的编号信息,实时更新对应用户的数量。
当系统处于遮挡持续状态时所使用的遮挡检测K-U算法用户位置计算方法,从用户影子的角度设计跟踪方法,用影子的位置替代遮挡用户的位置,融合Kinect的位置信息、未被遮挡用户的影子信息,完成遮挡用户的位置计算。具体包括以下步骤:
假设k时刻未被遮挡的某用户为pi,被遮挡用户为集合{p1,p2,...,pi-1,pi+1,...,pM},记为pj,j=1,2,...,i-1,i+1,...,M,其中,M为被遮挡用户的数量,M为不小于1的整数,且M<N。
(8.1)Kinect实时捕获的彩色图像,套用训练的模型,同时追踪pi,pi的影子信息并记录Sk∈{Sk|k=1,2,...,M}。
假设点A(posfxi,posfyi)表示Si的左下角位置,点B(possx,possy)表示pi的位置,则矫正位置为:
poss.x=posfxi+disx
possy=posfyi+disy
其中,(disx,disy)表示点A与B的相对位置关系,disy=0,
disx=-0.023·posfxi+10
根据用户pi距离Kinect的距离不同,disx选择不同的取值,其中(possx,possy)表示用户pi的位置信息。
此外,根据训练模型,搜索矩形框的大小也实时变化,最终大小取决于影子大小。
(8.2)取已存储的被遮挡用户pj的影子位置信息Sj。取Sj存储锚框左下角点LPos(lposx,lposy),与右上角点RPos(rposx,rposy),拟合成一条直线,直线公式如下:
bpj=lposy-k·lposx
y=kpjx+bpj
其中,kpj表示所求直线公式的斜率,bpj表示所求直线公式的截距。
(8.3)由Kinect传输数据,设Kinect自身位置坐标为kPos(kposx,kposy),则由上述点B(possx,possy)即pi的位置可得K-B直线公式为:
bK-B=kposy-k·kposx
y=kK-Bx+bK-B
其中,kK-B表示所求直线公式的斜率,bK-B表示所求直线公式的截距。
(8.4)计算遮挡用户的位置:
其中δ=1920,为x可取值的最大阈值,后期可通过不同显示视频像素坐标修改阈值。最终得到(x,y)的值即为最终计算位置。
所述步骤(9)中,将Kinect相机放置在场景中,根据Kinect相机捕捉画面与相机获取的深度图静态生成二维转三维的转换矩阵,并将计算出的被遮挡人的位置来左乘矩阵从而得到对应的三维坐标。
如图1(a)所示,数据集共包含五类文件,即原图片P30、掩模文件P083_gt、数据文件info.yaml,标签种类信息文件label_names,以及合成效果文件P083_viz。数据集为labelme软件自动生成。在训练过程中输入的是原图片,掩模文件以及数据文件。分别放进如图1(b)所示三个文件夹里,训练过程中代码以这三个文件夹的路径作为接口来调用数据文件进行训练。而在训练过程中算法会统一图片格式故初始数据大小不影响训练结果。图1(c)是掩模文件与源文件、标签文件结合后的数据文件展示,前者三个文件也都是根据此图来剖离出来的信息。
如图2(a)-图2(c)所示,图2(a)是部分原图数据集展示,图2(b)是部分掩模数据集展示,每一张原图片对应一张掩模图片。系统在调入数据集后,会自动按照7:3的比例将全部数据集分为训练集以及测试集两部分。图2(c)所示是图片标签及位置信息。手动标记的多变形的每一个顶点都被保存,且一个位置信息文件对应一张图片。在训练的时候,一个数据集元素datai∈{pici|0≤i<500,i∈R},包含一张图片pici∈{pici|0≤i<500,i∈R},对应包含一个掩模图片mski∈{mski|0≤i<500,i∈R},对应包含一个信息文件infi∈{infi|0≤i<500,i∈R}。系统处理数据集元素datai时,首先读入信息文件infi采集位置信息,再将掩模图片mski与对应原图片pici结合找到特征区域提取特征信息。将数据集数据按照分类放入接口处,之后运行程序开始训练,在运行过程中输出训练统计次数相关信息,主要是对于loss函数的计算,以及训练过程中参数的不断改善。
如图4(a)-图4(d)所示,图4(a)为双人未遮挡情况下两个人的骨骼捕捉图,图4(b)为双人遮挡情况下,进入遮挡检测状态时影子捕捉图。图4(c)为三人未遮挡情况下两个人的骨骼捕捉图,图4(d)为三人遮挡情况下,进入遮挡检测状态时影子捕捉图。
如图5(a)-图5(b)所示,图5(a)为双人遮挡情况下输出的第一个人的位置以及被遮挡的人的位置。图5(b)为三人遮挡情况下输出的未遮挡人的位置以及两个被遮挡人的位置。
进一步的,所述影子特征模型的构建:
(1)训练集准备:
人体影子数据集的构建、影子特征模型的训练和实时跟踪部分。其中:人体影子数据集的构建,考虑到已有人体跟踪系统中几乎很少会将人体的影子作为跟踪的关键信息,此类的数据集较少,需要我们额外构建。构建数据集按照如下方式:
1)数据采集。所有数据在室内,单光源的情况下进行采集。光源固定不动,采集数据采用1920*1080的图片的方式进行存储。其中,每张图片包含一个人以及由固定光源形成的影子。为使影子清晰显示地面采用纯浅色。共邀请十位参与者制作,共计提取46500张影子图片。
2)数据精选及分类。在所有的影子图片中选取500张图像清晰、人影分明的图片进行分类。由于影响影子形状最大的因素为影子距离光源的距离,为了增加系统的鲁棒性,将影子按照与光源的距离分为四个种类,设n∈{1,2,3,4},则种类n为影子与光源距离在(n-1,n)之间时的对应采集数据。
3)数据集标注方法描述:数据在labelme数据集绘制软件中进行绘制,为保证数据准确性,数据集全部为手动标注,且对比四边形coco数据集,我们采用多边形数据集,对影子采用多点描述而并非简单地四个点,来增加追踪准确性。手工标注后每一张图片生成一个.json文件,文件中包含其对应图片的影子信息。信息的形式以多边形的每个顶点在图片中对应的坐标组成。
4)可用于训练的数据集生成。对于算法,在权衡追踪速度与追踪准确度之后。我们选择量级较重的全卷积神经网络模型,具体算法为Torchvision版本的Mask RCNN算法。针对此算法的输入要求,我们将.json文件分离为五个包含基础信息的文件。其中,算法要用到的为原图像,包含影子位置信息的掩模文件(Mask)以及包含标签种类名称的.yaml文件。并将三类文件分别放在三个算法输入接口处,自此训练用数据集基本完成。
5)为了保证系统的鲁棒性,以及降低仅使用我们制作的数据集的狭隘性,我们还将部分已经存在的数据集,按要求进行标注,扩充到人体影子数据集中。这些数据集来源于网上以及生活中收集的影子图片。
(2)模型构建及训练过程
1)输入部分。在算法的训练过程中,输入部分为原图片,掩模图片以及标签信息。其中,原图片是提算法提取特征矩阵的主要依据。掩模图片传递影子位置信息,算法通过掩模图片对原图片的特定区域进行特征提取。最后,算法根据标签信息识别提取的特征信息的具体标签分类。此外,相比于传统神经网络单通道处理灰度图像的方式,更改神经网络同时设立三个卷积核对RGB三通道同时进行卷积,并将最终得到的三个特征矩阵采用求和的形式最终得到特征矩阵。
2)MaskRCNN网络具体概述。选取Mask RCNN的主要原因是在预测部分,该神经网络新增了mask分支来进行预测,使得最后的结果更加精确。首先Mask RCNN算法预测共分为三个主要部分,ResNet-FPN部分,ROIAlign部分以及损失函数计算、预测部分,下面详细阐述每一层实现影子追踪的具体工作。
①ResnNet是一种经典的全卷积神经网络框架,ResNet-FPN是使用FPN框架对特征图像进行采样,从而组合成一种新的方法,来负责对影子特征的提取,包括影子的颜色信息以及形状大小信息,原方法中使用均值卷积核,在本方法中被更改为更贴合读取影子信息的最大值卷积核。ResNet神经网络共有5层卷积层,采用FPN结构,对采集影子所生成的特征矩阵上采样再横向连接,此时卷积完成后生成特征矩阵pk∈{pk|2≤5},pk代表k-1层卷积层所产生的影子特征矩阵,舍弃用来获取建议区域的特征矩阵p6(顶层分辨率过低)。需要用到这些特征矩阵来在原图片上分离出我们所需要的特征区域,即ROI(regionofinterest)后续的分类以及回归预测都是基于ROI。若要切取一个长w宽h的影子区域ROI,采用如下公式:
其中,k0表示w·h的影子ROI应该所在层数。224是预处理图像的标准输入。则最终得到k即为ROI的切割应遵循特征矩阵pk。这种做法的目的是,大尺度的ROI要从低分辨率的特征矩阵上切,有利于检测大目标,小尺度的ROI要从高分辨率的特征矩阵上切,有利于检测小目标。
②ROI Align部分。由于影子在大体上形状相似(都是人型),但其大小以及细节上的形状都有很大的差别。故对于影子特征的在提取就要抛弃传统池化的方法。最终得到的影子特征区域ROI的大小是不一样的,需要对这些特征区域再卷积,采用双线性插值方法计算影子特征提取后的像素点,被称作ROI Align方法。保证每个影子种类得到的特征在预测的时候达到相同的大小。最终得到能用于预测的特征矩阵。
③损失函数计算及预测。在计算损失函数的时候,MaskRCNN与其他网络框架不同的地方就在于他的损失计算函数公式为:
L=Lcls+Lbox+Lmask
其中,Lcls+Lbox和传统神经网络是一样的,新增Lmask来提升预测的准确性。在本方法中,共设有5个类(一个背景类加上四个影子种类)。对于每一个图片上影子的ROI,对于ROI上的每个点mask分支都有5个种类的二值化mask输出,即对每个像素点应用sigmoid函数,整体损失定义为平均二值交叉损失熵。依据种类预测部分输出的结果种类,对应的mask分支输出就是Lmask。最后得到损失函数用来最后的分类与预测。
3)测试集和训练集的选择。设Si∈{S1,S2,S3,S4}为四个不同的种类。分别为影子距离光源(1-i)m时的影子,根据距离的不同,经过实验,在保证准确率且不会发生过拟合的情况下,每个种类选取125张图片,其中每个种类的图片中的训练集与测试集的比例为7∶3。经过多次试验后。每次训练输入为五张图片。共训练15次。
4)Torchvision版本的MaskRCNN卷积神经网络是基于pytorch框架建立起来的,所以最终生成model.pt文件,文件中包含了影子每一个种类pn对应的特征信息数据,后述所有调用模型皆为调用此模型。对比数据也为对比此模型中的数据。
进一步的,在实时跟踪部分,通过Kinect获取当前帧图像的RGB信息以及用户骨骼信息,根据相邻帧用户数量的变化,判断用户是否存在遮挡。如果未发生遮挡,利用Kinect捕获的当前帧深度图像信息进行位置的计算;如果有用户发生遮挡,则未遮挡用户依旧按照前面所述计算位置,被遮挡的用户则调用K-U(Kinect-User)算法计算用户位置。计算方法如下:
将判断视频发生遮挡的帧,转换成像素图像作为训练得到的影子特征模型的输入,根据目标追踪得到图中所有影子的位置,然后根据影子距离Kinect深度相机的距离判断影子的所属用户,将第一个未被遮挡的用户的影子位置作为其位置,利用Kinect位置到第一个未被遮挡用户的位置所形成的直线,与被遮挡用户的影子形成的直线交点即为被遮挡用户的位置,进行用户位置的计算。
实施例二:
本实施例的目的是提供一种基于深度学习的多人跟踪系统。
一种基于深度学习的多人跟踪系统,包括:
数据获取单元,其用于实时采集待追踪的多人视频数据;
遮挡判断单元,其用于从当前视频帧中获取人员数量,并基于遮挡发生开关及相邻帧人数变化,判断当前帧是否存在遮挡;
目标追踪单元,其用于若当前视频帧与前一视频帧的人数相等,则查询遮挡发生开关状态,若为未遮挡状态,则基于kinect内置算法直接计算人员位置;若为遮挡状态,则基于预先训练的影子特征模型识别被遮挡人员的影子,并通过人员影子求解被遮挡人员位置;若当前视频帧与前一视频帧的人数不等,则对当前视频帧与前一视频帧中的人数进行比较,若当前视频帧小于前一视频帧,则置遮挡发生开关为真,并基于预先训练的影子特征模型识别被遮挡人员的影子,并通过人员影子求解被遮挡人员位置;若不小于前一视频帧,则基于kinect内置算法直接计算人员位置;直至完成最后一帧数据的处理,实现多人跟踪。在更多实施例中,还提供:
一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例一中所述的方法。为了简洁,在此不再赘述。
应理解,本实施例中,处理器可以是中央处理单元CPU,处理器还可以是其他通用处理器、数字信号处理器DSP、专用集成电路ASIC,现成可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一中所述的方法。
实施例一中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
上述实施例提供的基于深度学习的多人跟踪方法及系统可以实现,具有广阔的应用前景。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
上述虽然结合附图对本公开的具体实施方式进行了描述,但并非对本公开保护范围的限制,所属领域技术人员应该明白,在本公开的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本公开的保护范围以内。
Claims (7)
1.一种基于深度学习的多人跟踪方法,其特征在于,包括:
实时采集待追踪的多人视频数据;
从当前视频帧中获取人员数量,并基于遮挡发生开关及相邻帧人数变化,判断当前帧是否存在遮挡;
若当前视频帧与前一视频帧的人数相等,则查询遮挡发生开关状态,若为未遮挡状态,则基于kinect内置算法直接计算人员位置;若为遮挡状态,则基于预先训练的影子特征模型识别被遮挡人员的影子,并通过人员影子求解被遮挡人员位置;若当前视频帧与前一视频帧的人数不等,则对当前视频帧与前一视频帧中的人数进行比较,若当前视频帧小于前一视频帧,则置遮挡发生开关为true,并基于预先训练的影子特征模型识别被遮挡人员的影子,并通过人员影子求解被遮挡人员位置;若不小于前一视频帧,则基于kinect内置算法直接计算人员位置;直至完成最后一帧数据的处理,实现多人跟踪;
所述基于kinect内置算法直接计算人员位置,其中,所述内置算法具体采用如下步骤:使用分割策略,将视频帧中的人体从背景图像中分离出来,然后调用Kinect预先训练好的人体模型,对整个人体的不同部位进行评估,确定人体的骨骼和关节坐标信息;此时得到的坐标是在二维像素图像中生成的二维坐标;然后结合红外线成像的深度图,生成二维转三维的矩阵进行坐标转换,来确定骨骼以及关节点的三维空间位置,最后,输出人体双脚关节点的中心位置作为未被遮挡人员的最终位置;所述基于遮挡发生开关及相邻帧人数变化,判断当前帧是否存在遮挡,具体为:若当前视频帧与前一视频帧的人员数量相等时,查询遮挡标记的状态,当遮挡标记为false时,则该视频帧处于未遮挡状态;当遮挡标记为true时,则该视频帧处于遮挡状态;若当前视频帧与前一视频帧的人员数量不等时,比较相邻两帧的人员数量大小,若当前视频帧小于前一视频帧,则该视频帧处于遮挡状态,若不小于前一视频帧,则该视频帧未处于遮挡状态;
所述基于预先训练的影子特征模型识别被遮挡人员的影子,并通过人员影子求解被遮挡人员位置,具体为:将当前视频帧数据输入预先训练的影子特征模型中,获得全部人员的影子信息;通过影子的位置替代遮挡用户的位置,并融合Kinect的位置信息、未遮挡用户的影子信息,完成遮挡用户的位置计算;
所述方法只用到Kinect自身位置信息以及影子信息,在计算的时候不必获取人的位置信息,即便是没有发生遮挡的用户也可以用影子的位置信息来代替使用者的位置信息。
2.如权利要求1所述的一种基于深度学习的多人跟踪方法,其特征在于,所述影子信息为视频帧中包围影子的多边形的顶点坐标组成。
3.如权利要求1所述的一种基于深度学习的多人跟踪方法,其特征在于,所述影子特征模型采用MasKR CNN网络模型,包括ResNet-FPN部分,ROIAlign部分。
4.如权利要求1所述的一种基于深度学习的多人跟踪方法,其特征在于,所述从当前视频帧中获取人员数量,具体为使用Kinect自带的人体骨骼捕捉系统捕捉人体骨骼,并通过统计捕捉到的骨骼数量从而统计人员数量。
5.一种基于深度学习的多人跟踪系统,其特征在于,包括:
数据获取单元,其用于实时采集待追踪的多人视频数据;
遮挡判断单元,其用于从当前视频帧中获取人员数量,并基于遮挡发生开关及相邻帧人数变化,判断当前帧是否存在遮挡;
目标追踪单元,其用于若当前视频帧与前一视频帧的人数相等,则查询遮挡发生开关状态,若为未遮挡状态,则基于kinect内置算法直接计算人员位置;若为遮挡状态,则基于预先训练的影子特征模型识别被遮挡人员的影子,并通过人员影子求解被遮挡人员位置;若当前视频帧与前一视频帧的人数不等,则对当前视频帧与前一视频帧中的人数进行比较,若当前视频帧小于前一视频帧,则置遮挡发生开关为true,并基于预先训练的影子特征模型识别被遮挡人员的影子,并通过人员影子求解被遮挡人员位置;若不小于前一视频帧,则基于kinect内置算法直接计算人员位置;直至完成最后一帧数据的处理,实现多人跟踪;
所述基于kinect内置算法直接计算人员位置,其中,所述内置算法具体采用如下步骤:使用分割策略,将视频帧中的人体从背景图像中分离出来,然后调用Kinect预先训练好的人体模型,对整个人体的不同部位进行评估,确定人体的骨骼和关节坐标信息;此时得到的坐标是在二维像素图像中生成的二维坐标;然后结合红外线成像的深度图,生成二维转三维的矩阵进行坐标转换,来确定骨骼以及关节点的三维空间位置,最后,输出人体双脚关节点的中心位置作为未被遮挡人员的最终位置;所述基于遮挡发生开关及相邻帧人数变化,判断当前帧是否存在遮挡,具体为:若当前视频帧与前一视频帧的人员数量相等时,查询遮挡标记的状态,当遮挡标记为false时,则该视频帧处于未遮挡状态;当遮挡标记为true时,则该视频帧处于遮挡状态;若当前视频帧与前一视频帧的人员数量不等时,比较相邻两帧的人员数量大小,若当前视频帧小于前一视频帧,则该视频帧处于遮挡状态,若不小于前一视频帧,则该视频帧未处于遮挡状态;
所述基于预先训练的影子特征模型识别被遮挡人员的影子,并通过人员影子求解被遮挡人员位置,具体为:将当前视频帧数据输入预先训练的影子特征模型中,获得全部人员的影子信息;通过影子的位置替代遮挡用户的位置,并融合Kinect的位置信息、未遮挡用户的影子信息,完成遮挡用户的位置计算;
所述系统只用到Kinect自身位置信息以及影子信息,在计算的时候不必获取人的位置信息,即便是没有发生遮挡的用户也可以用影子的位置信息来代替使用者的位置信息。
6.一种电子设备,包括kinect摄像机、存储器、处理器及存储在存储器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-4任一项所述的一种基于深度学习的多人跟踪方法。
7.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4任一项所述的一种基于深度学习的多人跟踪方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110603263.1A CN113361360B (zh) | 2021-05-31 | 2021-05-31 | 基于深度学习的多人跟踪方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110603263.1A CN113361360B (zh) | 2021-05-31 | 2021-05-31 | 基于深度学习的多人跟踪方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113361360A CN113361360A (zh) | 2021-09-07 |
CN113361360B true CN113361360B (zh) | 2023-07-25 |
Family
ID=77530669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110603263.1A Active CN113361360B (zh) | 2021-05-31 | 2021-05-31 | 基于深度学习的多人跟踪方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113361360B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117079192B (zh) * | 2023-10-12 | 2024-01-02 | 东莞先知大数据有限公司 | 一种人员被遮挡时跳绳个数估算方法、装置、设备和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530874A (zh) * | 2013-10-09 | 2014-01-22 | 上海大学 | 基于Kinect的人流计数方法 |
CN110276233A (zh) * | 2018-03-15 | 2019-09-24 | 南京大学 | 一种基于深度学习的多相机协同跟踪系统 |
CN110349099A (zh) * | 2019-06-17 | 2019-10-18 | 武汉大学 | 一种复杂场景视频阴影检测与消除方法 |
US10650590B1 (en) * | 2016-09-07 | 2020-05-12 | Fastvdo Llc | Method and system for fully immersive virtual reality |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107274438B (zh) * | 2017-06-28 | 2020-01-17 | 山东大学 | 支持移动虚拟现实应用的单Kinect多人跟踪系统及方法 |
CN109407709B (zh) * | 2018-09-25 | 2022-01-18 | 国网天津市电力公司 | 一种基于Kinect骨骼跟踪算法的会议摄像自动追踪系统 |
CN111105443A (zh) * | 2019-12-26 | 2020-05-05 | 南京邮电大学 | 一种基于特征关联的视频群体人物运动轨迹跟踪方法 |
CN111723697A (zh) * | 2020-06-05 | 2020-09-29 | 广东海洋大学 | 一种基于Mask-RCNN改进的驾驶员背景分割方法 |
-
2021
- 2021-05-31 CN CN202110603263.1A patent/CN113361360B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530874A (zh) * | 2013-10-09 | 2014-01-22 | 上海大学 | 基于Kinect的人流计数方法 |
US10650590B1 (en) * | 2016-09-07 | 2020-05-12 | Fastvdo Llc | Method and system for fully immersive virtual reality |
CN110276233A (zh) * | 2018-03-15 | 2019-09-24 | 南京大学 | 一种基于深度学习的多相机协同跟踪系统 |
CN110349099A (zh) * | 2019-06-17 | 2019-10-18 | 武汉大学 | 一种复杂场景视频阴影检测与消除方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113361360A (zh) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110378838B (zh) | 变视角图像生成方法,装置,存储介质及电子设备 | |
Wan et al. | CoRRN: Cooperative reflection removal network | |
CN110598610B (zh) | 一种基于神经选择注意的目标显著性检测方法 | |
Peng et al. | Robust multiple cameras pedestrian detection with multi-view Bayesian network | |
CN106228507B (zh) | 一种基于光场的深度图像处理方法 | |
US20150146032A1 (en) | Light field processing method | |
CN110381268B (zh) | 生成视频的方法,装置,存储介质及电子设备 | |
Wu et al. | Weighted attentional blocks for probabilistic object tracking | |
CN109360235A (zh) | 一种基于光场数据的混合深度估计方法 | |
US8948533B2 (en) | Increased quality of image objects based on depth in scene | |
EP3072289A1 (en) | A light field processing method | |
CN110276831B (zh) | 三维模型的建构方法和装置、设备、计算机可读存储介质 | |
CN107481267A (zh) | 一种基于双目视觉的摄像投影交互系统及方法 | |
CN110941996A (zh) | 一种基于生成对抗网络的目标及轨迹增强现实方法和系统 | |
Nibali et al. | ASPset: An outdoor sports pose video dataset with 3D keypoint annotations | |
CN110443228B (zh) | 一种行人匹配方法、装置、电子设备及存储介质 | |
CN113361360B (zh) | 基于深度学习的多人跟踪方法及系统 | |
Saini et al. | szoom: A framework for automatic zoom into high resolution surveillance videos | |
Kang et al. | Facial depth and normal estimation using single dual-pixel camera | |
Peng et al. | RGB-D human matting: A real-world benchmark dataset and a baseline method | |
Guo et al. | Monocular 3D multi-person pose estimation via predicting factorized correction factors | |
Chien et al. | Detecting nonexistent pedestrians | |
Khan et al. | A review of benchmark datasets and training loss functions in neural depth estimation | |
Bui et al. | GAC3D: improving monocular 3D object detection with ground-guide model and adaptive convolution | |
CN116051736A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |