一种基于视频的多人体目标在线测量方法

文档序号:10553635阅读:332来源:国知局
一种基于视频的多人体目标在线测量方法
【专利摘要】本发明公开了一种基于视频的多人体目标高度实时在线测量方法,其包括:步骤1、对相机进行标定,获取相机的内参数矩阵和外参数矩阵,根据所述内参数矩阵和外参数矩阵计算无穷垂直消影点;步骤2、获取待检测视频中运动人体的前景图像;步骤3、对所述前景图像进行形态学处理;步骤4、获取所述前景图像中每一个运动人体位置的矩形包围框;步骤5、从所获取的每一个运动人体位置的矩形包围框中提取头部特征点和脚部特征点;步骤6、根据所提取的头部特征点和脚部特征点求解每一个运动人体的身高。
【专利说明】
一种基于视频的多人体目标在线测量方法
技术领域
[0001] 本发明涉及一种基于视频的多人体目标实时在线测量方法,属于计算机视觉技术 领域。
【背景技术】
[0002] 基于视频的动态目标测量是指利用计算机视觉技术测量视频中动态目标的三维 信息,它是视频分析的一项基本任务,其中对视频中的运动人体的身高进行测量是动态目 标测量的一项重要技术。
[0003] 常用物体高度测量方法有基于立体视觉的方法或者基于RGB-D相机的方法,相比 于只利用单摄像头的目标测量算法,这些算法需要特定的硬件设备,并且加大了硬件的成 本,因此基于单目相机的目标测量算法有较大的优势。一些学者提出了基于单幅图像进行 场景测量的方法,这些方法已经在建筑物测量以及犯罪现场测量中得到了一定的应用。然 而大多数基于单幅图像的测量的方法都是针对外形规则的刚体目标提出的,而对行人或者 其他非刚体目标则无法适用,并且在目前已有的文献当中很少有针对运动人体目标进行测 量的算法。
[0004] 董秋雷等发表的论文"基于视频的实时自动人体高度测量"(自动化学报,2009,35 (2) :137-144)提出了一种基于视频的单人目标高度测量方法,该方法首先通过高斯混合模 型获取运动人体的前景区域图像,然后在前景区域图像中提取人体的头部和脚部特征点, 再根据所提取的特征点建立约束方程求取近似人体的高度。该方法同时在视频中跟踪双脚 区域,根据双脚区域的跟踪结果,引入一条关于特征点所对应空间点的几何约束以进一步 优化测量结果。该方法能够在分辨率较低的镜头下实现人体高度的自动测量。该方法能够 实现对视频中单个人体目标进行测量,但是不能测量视频中多个人体目标的高度信息,并 且由于该方法在对人体脚部区域进行建模时,是通过高斯混合模型对鞋子的颜色进行建 模,因此只能对鞋子颜色与衣服颜色反差较大的人体目标进行测量。
[0005] 针对视频中的多个运动人体目标进行测量的方法,目前鲜有文献提出具体的解决 方法。

【发明内容】

[0006] 针对现有技术中存在的缺点,本发明的目的在于采用计算机视觉技术,对单个摄 像头拍摄的视频中的一个或者多个人体目标高度进行测量。
[0007] 为了实现上述目的,本发明采用的技术方案如下:
[0008] 根据本发明一方面,其提供了一种基于视频的多人体目标高度实时在线测量方 法,其包括:
[0009] 步骤1、对相机进行标定,获取相机的内参数矩阵和外参数矩阵,根据所述内参数 矩阵和外参数矩阵计算无穷垂直消影点;
[0010]步骤2、获取待检测视频中运动人体的前景图像;
[0011] 步骤3、对所述前景图像进行形态学处理;
[0012] 步骤4、获取所述前景图像中每一个运动人体位置的矩形包围框;
[0013] 步骤5、从所获取的每一个运动人体位置的矩形包围框中提取头部特征点和脚部 特征点;
[0014] 步骤6、根据所提取的头部特征点和脚部特征点求解每一个运动人体的身高。
[0015] 根据本发明另一方面,其提供了一种基于视频的多人体目标高度实时在线测量装 置,其包括:
[0016] 标定模块,用于对相机进行标定,获取相机的内参数矩阵和外参数矩阵,根据所述 内参数矩阵和外参数矩阵计算无穷垂直消影点;
[0017] 前景检测模块,用于获取待检测视频中运动人体的前景图像;
[0018] 预处理模块,用于对所述前景图像进行形态学处理;
[0019] 人体区域获取模块,用于获取所述前景图像中每一个运动人体位置的矩形包围 框;
[0020] 特征点提取模块,用于从所获取的每一个运动人体位置的矩形包围框中提取头部 特征点和脚部特征点;
[0021 ]身高计算模块,用于根据所提取的头部特征点和脚部特征点求解每一个运动人体 的身高。本发明通过获取视频中每一个人体所在的矩形区域,从每一个运动人体目标的矩 形区域中提取出人体的头部和脚部特征点,再建立约束方程求解每一个人体的高度。相比 于以往方法,本发明一种基于视频的多人体目标实时在线测量方法具有以下有益效果:
[0022] (1)能够对视频中的运动人体目标的高度进行实时自动的测量,并且不要求人体 外观(主要是指不要求人体服饰颜色与鞋子)的颜色反差较大,可以根据人体形态特征自动 提取头部和脚部特征点。
[0023] (2)采用的背景建模算法可以只通过一帧图像快速的提取出运动目标区域,即使 出现光照突变或者背景变化的情况,也能快速准确的分割背景和前景。并且,该算法所提取 的运动人体的目标区域团块相对完整,可以更好的进行单个人体区域的提取。
[0024] (3)在人体团块提取过程中,采用了有效的滤波方法,排出了由于背景干扰和图像 噪声带来的影响,并且针对不连通的人体区域,采用了基于距离判断的团块方法,所提取的 运动人体目标区域更加准确。
[0025] (4)在确定单个人体目标区域时,采用基于扩展卡尔曼滤波的目标跟踪算法确定 人体区域的搜索区域。这样做有两个好处:首先可以更加提高算法的效率;再者还能防止由 于分割出的不连通的人体前景区域而导致特征点检测错误。
【附图说明】
[0026] 图1为本发明实施基于视频的人体身高自动测量方法的流程图。
[0027] 图2A-2B为本发明实施基于视频的人体身高自动测量方法中的运动人体的前景区 域分割结果,图2A为原始灰度图像,图2B为前景分割结果。
[0028] 图3A-3B为本发明实施基于视频的人体身高自动测量方法中的多人目标团块检测 和跟踪的效果图,图3A为灰度图像,图3B为多人目标团块效果图。
[0029] 图4为本发明实施基于视频的人体身高自动测量方法中的头部特征点的提取结果 示意图。
[0030] 图5A-5B为本发明实施基于视频的人体身高自动测量方法中的人体目标脚部区域 和脚部特征点的示意图。
[0031] 图6为本发明实施基于视频的人体身高自动测量方法中的单个人体目标高度测量 结果示意图。
[0032] 图7为本发明实施基于视频的人体身高自动测量方法中的多个人体目标高度测量 结果示意图。
[0033]图8为本发明方法时间效率分析及实时性验证图。
[0034]图9A-9B为将本发明方法在部分监控数据上进行测试的结果示意图。
【具体实施方式】
[0035]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照 附图,对本发明作进一步的详细说明。
[0036]为了是本领域普通技术人员更好的理解本发明,首先对其中的一些基本概念和算 法进行解释性说明:
[0037] ①图像坐标系是以图像左上角为原点,以像素为坐标单位的直角坐标系。其中u,v 分别表示像素在数字图像中的列数与行数。
[0038] ②本发明中相机模型是线性相机模型,相机的内参数矩阵A和外参数矩阵[R t]均 事先标定好,相机的投影矩阵为A[R t],Hg是像平面与标定板平面的单应矩阵。在一实施例 中,本发明提到的内参数矩阵H3A是3 X 3的上三角矩阵,R是3 X 3的旋转矩阵,t是3 X 1的 平移向量。
[0039]③直线的消影点(Vanishing point)是指空间中直线上的无穷远点在像平面上的 投影点。本发明中,将空间中垂直于地平面的直线的消影点称为垂直消影点。当内参数A和 外参数[R t]已知时,垂直消影点mv可根据下式确定:
[0040] smv=A(ri Xr2) (1)
[0041] 其中,s是非零尺度因子,在齐次坐标运算中不影响计算结果。rdPrsSR的第一列 和第二列。
[0042] ④卡尔曼滤波(Kalman filter)是一种利用线性系统状态方程,通过系统输入输 出观测数据,对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰 的影响,所以最优估计也可看作是滤波过程。利用卡尔曼滤波进行最优估计时,不需要存储 之前的测量数据。当系统获取新的测量数据后,利用新的测量数据和前一时刻状态变量的 估计值,利用系统本身的状态转移方程,即可按递推的方式计算当前时刻的状态变量的估 计值,且其计算量小,可实时计算。卡尔曼滤波算法是针对线性系统的滤波算法,但是实际 情况下,状态方程和测量方程均可能是非线性系统方程。这种情况下可以采用扩展卡尔曼 滤波(Extended Kalman Fi 1 ter,EKF)算法,其基本思想是:在滤波值附近,应用泰勒展开式 将非线性系统展开,并省去二阶以上的高阶项,从而原非线性系统就变成了一个线性系统, 再用标准卡尔曼滤波算法进行滤波处理。本发明中采用扩展卡尔曼滤波算法对人体目标进 行跟踪。
[0043] ④Vibe背景分割(Visual Background Extractor)算法是一种基于像素的背景建 模或前景检测的算法,该方法与传统的方法最大的不同就在于:传统的方法将图像中每一 个像素进行统计建模,并计算每一个像素的概率分布函数,然后通过统计分布函数的统计 参数(例如平均值和方差)确定该像素是否属于背景;Vibe算法则不用概率分布函数对每一 个像素点进行建模,而是直接为每一个背景像素点建立一个样本集合,样本集合中是由该 像素点过去的像素值和若干其邻域点的像素值组成,然后将每一个新的像素值和样本集合 的像素值进行比较,判断是否属于背景点。在模型的初始化上,Vibe背景分割算法只需要一 张图片就能对模型进行初始化,相比于其他背景分割的算法,有较大优势。此外,其模型的 更新策略也充分考虑到了像素之间的空间相关性,能够应对背景的突然变化。本发明中采 用Vibe算法对运动人体目标进行前景分割。
[0044] 如图1所示,本发明提出的一种基于视频的多人体目标高度实时在线测量方法的 详细步骤如下:
[0045] 1.对相机进行标定,获取相机的内参数和外参数矩阵,并计算无穷消影点的图像 点,在本步骤中,可以直接采用OpenCV的相机标定程序对相机进行标定,得到相机的像平面 与地面之间的单应矩阵H g、内参数A和外参数[R t]。当内参数矩阵和外参数矩阵已知时,垂 直消影点mv可以通过式(1)计算得到;
[0046] 2.利用Vibe算法获取待检测视频中运动人体的前景图像;
[0047] 在本发明的提取前景分割步骤中,采用Vibe算法进行前景分割,在一实施例中,基 本参数可设置为r = 25,巾=20,其中r为以当前像素为中心圆的半径大小,巾为每个像素随 机采样的数目。图2A-2B是利用Vibe算法提取到的运动人体的前景图像,图2A为原始灰度图 像,图2B为前景分割结果。
[0048] 3.对所述前景图像进行形态学处理;
[0049]在本发明的前景图像的形态学处理中,主要对图像进行腐蚀、膨胀和中值模糊三 个操作。首先对前景图像进行腐蚀操作,在一实施例中,窗口大小设置为3 X 3;然后再对前 景图像进行膨胀操作,同样在一实施例中设置窗口大小为3X3;最后对处理后的前景图像 进行中值模糊,在一实施例中,窗口大小为3 X 3。
[0050] 4.获取前景图像中每一个人体位置的矩形包围框;
[0051] 在经过步骤3获取去掉碎片的运动人体的前景图像后,可以通过对前景图像进行 团块检测和扩展卡尔曼滤波算法确定视频中每一个运动人体的矩形区域,该步骤具体的做 法:若运动人体第一次出现在视频中,则采用团块检测的方法检测出该人体目标的矩形包 围盒位置;若运动人体不是第一次出现在视频中,则采用扩展卡尔曼滤波算法跟踪该运动 人体的矩形包围框区域,估计在下一帧时该人体的包围框位置,并在该区域重新进行团块 检测。
[0052]在本步骤中,有两点需要进一步说明:(a)在对前景图像进行团块检测时,由于噪 声的干扰,会检测出一些噪声点,为了提取人体团块区域,剔除前景图像中面积小于500的 团块,。由于背景分割算法将人体目标分割成不连通的区域,需要对不同团块质心之间距离 小于某一个固定阈值的团块进行合并,在本发明方法中,设置该阈值为250; (b)在对人体区 域矩形包围框用扩展卡尔曼滤波进行目标跟踪时,假定经过人体团块检测得到的矩形区域 用对角坐标表示该矩形为(^, 71,^,72),那么在进行跟踪时的矩形区域大小应该设置为 (X1-30, yi-30,X2+30,y2+30)。图3为基于视频的人体身高自动测量方法中的多人目标团块 检测和跟踪的效果图,图3A为多人目标团块灰度图像,图3B为多人目标团块效果图。
[0053] 5.从所获取的每一个人体位置的矩形包围框中提取头部和脚部特征点的图像点;
[0054] 本步骤分为头部特征点提取和脚部特征点提取两个步骤。
[0055]头部特征点Vhead的提取步骤为:
[0056]计算垂直消影点mv与前景图像上所有点的距离,如果mv在图像坐标系下v方向的分 量为正值,则对应距离最大的点为头部顶点的图像特征点;反之,则对应距离最小的点为头 部顶点的图像特征点vhd,如图4所示,其示出了基于视频的人体身高自动测量方法中的头 部特征点的提取结果。
[0057]脚部特征点的提取步骤为:
[0058] ( 1 )提取前景图像V轴方向上的最高点Vmax和头部特征点Vhead,贝可大致得出人体 区域在图像V轴方向上的取值范围。根据人体形态特征,脚部区域不会超过整个人体区域在 图像V轴方向上的1〇%。则可以知道脚部区域在图像V轴方向上的投影范围为[9*(^^_ Vhd),Vmax],其中0为[0.8,0.9 ]之间的常数,图5A示出了基于视频的人体身高自动测量方 法中的人体目标脚部区域图像。
[0059] (2)以头部特征点mh点为原点,mh点到垂直消影点mv的向量方向为纵轴方向建 立临时的平面坐标系,在此坐标系下求脚部区域边缘的灰度梯度,由于人在运动中两脚在 图像中的投影很可能有重叠,因此采取两种情况进行处理:(a)如果两脚在图像上的投影不 重叠,也就是说检测到两块不连通的区域,那么可以检测到两段边缘曲线,将这两段曲线上 灰度梯度方向与心^方向夹角大于90°的边缘点集合分别记为&和&,然后提取每个集合 中纵坐标最大的点,分别记为》^和w /2 Kb)如果两脚在图像上的投影有重叠,也就是说只能 在图像上检测到一块连通的区域,那么可以检测到一段边缘曲线,将此曲线上灰度梯度方 向与 4^,,方向夹角大于90°的边缘点集合记为Tf,然后从集合中提取横坐标最小的点和横坐 标最大的点,分别记为°图5B示出了基于视频的人体身高自动测量方法中的人体 目标脚部特征点,图中实心圆圈是根据此步骤提取的脚部特征点的图像点。
[0060] 6.建立约束方程组求解人体身高
[0061] 根据步骤5提取的两个脚部图像特征点》4和~/.,可以确定在图像坐标系下的一个 直线方程Lf
[0062] aix+biy+ci = 0 (2)
[0063] 其中ai,bi,ci均为常数。
[0064]又由头部顶点的图像特征点mh和垂直消影点mv,在图像坐标系下可以确定另外一 个直线方程Lv
[0065] a2X+b2y+C2 = 0 (3)
[0066] 其中a2,b2,C2均为常数。
[0067] 根据垂直消影点的定义可知,头部顶点与垂直消影点的连线垂直于两个脚部特征 点的连线,也就说直线Lf和直线L v的交点是垂足图像点,记垂足图像点为mP。联立(2)和(3) 即可求得直线Lf和直线L v的交点mP,通常情况下叫不在无穷远处。
[0068]假定在三维空间中人头部顶点的齐次坐标为?11=(乂11,¥11,2 11,1)7,因为地平面是世 界坐标系的XY平面,因此三维空间中人头部顶点在地平面上的投影点的三维齐次坐标为Pp = (Xh,Yh,0,l)T,则有 卜、
[0069] smp^H^ Yh U」 (4)
[0070] 将联系方程(2)和(3)求得的叫坐标代入(4),即可求得Xh,Yh,也就说已经确定了Pp 的空间坐标。
[0071] 在已知&的情况下,可以确定投影矩阵Pro,投影矩阵可以提供关于人头顶点的两 个约束方程
[0072] smh=ProPh (5)
[0073] 将(4)求得的Xh和Yh代入(5),即可求得最小二乘意义下的人头部顶点Z轴坐标Zh, 也就是人的高度。图6为本发明实施基于视频的人体身高自动测量方法中的单个人体目标 高度测量结果,图7为本发明实施基于视频的人体身高自动测量方法中的多个人体目标高 度测量结果。
[0074] 图8是以实验视频数据为自动化所智能化大厦正门东侧监控摄像头所采集的视频 为实验数据,对算法的实时性进行验证的时间消耗图,可以看出每一帧的运行时间在40-55ms之间摆动,其曲线虽偶有波动但是总体情况平稳,平均每帧处理时间48.79ms,即实际 测量的帧率为20.1帧/s,可以满足在线对视频中多个人体目标进行身高测量的运行时间需 求。图9所示是为了验证算法的通用性,将该算法应用在更多的数据集上进行测试,测量结 果如9A-9B所示。
[0075] 以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步说 明,所用理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本 发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范 围之内。
【主权项】
1. 一种基于视频的多人体目标高度实时在线测量方法,其包括: 步骤1、对相机进行标定,获取相机的内参数矩阵和外参数矩阵,根据所述内参数矩阵 和外参数矩阵计算无穷垂直消影点; 步骤2、获取待检测视频中运动人体的前景图像; 步骤3、对所述前景图像进行形态学处理; 步骤4、获取所述前景图像中每一个运动人体位置的矩形包围框; 步骤5、从所获取的每一个运动人体位置的矩形包围框中提取头部特征点和脚部特征 点' ; 步骤6、根据所提取的头部特征点和脚部特征点求解每一个运动人体的身高。2. 如权利要求1所述的方法,其中,步骤6具体包括: 步骤601:根据所提取的两个脚部特征点确定该两个脚部特征点所在直线的方程Lf; 步骤602:根据所述头部特征点和无穷垂直消影点确定所述头部特征点和无穷垂直消 影点所在直线的方程Lv; 步骤603:根据方程Lf和Lv确定垂直交点化; 步骤604:假设头部特征点齐次坐标为扣=(Xh,化,Zh, 1)T,其在地平面上的投影点的齐 次坐标为Pp=(抽,Yh,0,l)T,则根据如下投影方程得到抽,化,进而得到Pp=(抽,Yh,0,l)T:其中,S是非零尺度因子,Hg为根据相机标定得到的像平面与标定板平面的单应矩阵; 步骤605:根据Hg确定投影矩阵Pro,进而根据如下投影方程确定扣=(抽,化,Zh,1 )T,Zh即 为人体身高: Smh = ProPh 其中,mil为头部特征点。3. 如权利要求1所述的方法,其中,步骤2中采用Vibe算法获取运动人体的前景图像。4. 如权利要求1所述的方法,其中,步骤3中对所述前景图像进行形态学处理包括:对所 述前景图像进行腐蚀、膨胀和中值模糊操作。5. 如权利要求1所述的方法,其中,步骤4包括: 若运动人体第一次出现在待检测视频中,则采用团块检测方法检测出运动人体的矩形 包围框;若运动人体不是第一次出现在待检测视频中,则采用扩展卡尔曼滤波算法跟踪该 运动人体的矩形包围框,估计在下一帖时该运动人体的矩形包围框,并在该矩形包围框中 重新进行团块检测。6. 如权利要求5所述的方法,其中,步骤4包括: 在对所述前景图像进行团块检测时,剔除前景图像中面值小于预定值的团块,并设定 团块面积在预定范围内; 将不同团块质屯、之间的距离小于预定阔值的团块进行合并。7. 如权利要求1所述的方法,其中,步骤5中头部特征点的提取包括: 计算无穷垂直消影点mv与前景轮廓上所有点的距离,如果mv在图像坐标下V方向的分量 为正值,则对应距离中最大的点作为头部特征点;反之,如果mv在图像坐标下V方向的分量 为负值,则对应距离最小的点作为头部特征点。8. 如权利要求1所述的方法,其中,步骤5中脚部特征点的提取步骤包括: 提取前景图像V轴方向上的最高点Vmax和头部特征点Vhead,则可大致得出人体区域在图 像V轴方向上的取值范围; W头部特征点皿点为原点,皿点到无穷垂直消影点Hlv的向量方向为纵轴方向建立临 时的平面坐标系;在此坐标系下求脚部区域边缘的灰度梯度;如果检测到两段边缘曲线,将 运两段曲线上灰度梯度方向与方向夹角大于90°的边缘点集合分别记为与和7>,,然后 提取每个集合中纵坐标最大的点,分别记为W.S:和W/:=如果检测到一段边缘曲线,将此边缘 曲线上灰度梯度方向与方向夹角大于90°的边缘点集合记为Tf,然后从集合中提取横坐 标最小的点和横坐标最大的点,分别记为和W.: 日M/。即为脚部特征点。9. 一种基于视频的多人体目标高度实时在线测量装置,其包括: 标定模块,用于对相机进行标定,获取相机的内参数矩阵和外参数矩阵,根据所述内参 数矩阵和外参数矩阵计算无穷垂直消影点; 前景检测模块,用于获取待检测视频中运动人体的前景图像; 预处理模块,用于对所述前景图像进行形态学处理; 人体区域获取模块,用于获取所述前景图像中每一个运动人体位置的矩形包围框; 特征点提取模块,用于从所获取的每一个运动人体位置的矩形包围框中提取头部特征 点和脚部特征点; 身高计算模块,用于根据所提取的头部特征点和脚部特征点求解每一个运动人体的身 局。10. 如权利要求9所述的装置,其中,所述身高计算模块如下计算人体身高: 根据所提取的两个脚部特征点确定该两个脚部特征点所在直线的方程Lf; 根据所述头部特征点和无穷垂直消影点确定所述头部特征点和无穷垂直消影点所在 直线的方程Lv; 根据方程Lf和Lv确定垂直交点Hip; 假设头部特征点齐次坐标为扣=(Xh,化,Zh, 1)T,其在地平面上的投影点的齐次坐标为 Pp =(抽,化,0,1 )T,则根据如下投影方程得到抽,化,进而得到Pp =(抽,化,0,1 )T:其中,S是非零尺度因子,Hg为根据相机标定得到的像平面与标定板平面的单应矩阵; 根据Hg确定投影矩阵Pro,进而根据如下投影方程确定扣=(抽,Yh, Zh, l)T,Zh即为人体身 局: Smh = PrOPh 其中,Hlh为头部特化点D
【文档编号】G06T7/20GK105913464SQ201610204926
【公开日】2016年8月31日
【申请日】2016年4月5日
【发明人】吴毅红, 张亮, 董秋雷
【申请人】中国科学院自动化研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1