发明内容
本发明要解决的技术问题是提供一种单摄像机下的场景建模方法及系统,无须人工辅助标定,可自动建模,能自适应场景的变化,可同时处理不同场景的多段视频。
为了解决上述问题,本发明提供了一种单摄像机下的场景自动建模系统,包括:
运动目标检测子系统,用于从视频帧中检测出运动目标;
运动目标跟踪子系统,用于对检测到的运动目标进行跟踪,得到所述运动目标的运动轨迹;
确定标定物目标子系统,用于从所有运动目标的运动轨迹中筛选出满足以下条件的运动目标作为标定物目标:所述运动目标的特征值与预设的特征值匹配、该运动目标的运动轨迹中包括至少三个位置点,且这些位置点不共线、无重合而且两两之间的距离大于一个预设的距离阈值;筛选成功则启动所述场景建模子系统,不成功则指示所述运动目标检测子系统读入下一视频帧;
场景建模子系统,用于从所筛选出的标定物目标的运动轨迹中选取至少三个位置作为标定点位置,提取所述标定物目标成像的最高点和最低点在这些标定点位置上的图像坐标,由这些坐标计算出垂直消失点和水平消失线的位置,以及摄像机的安装高度,建立高度模型。
进一步地,所述场景建模子系统包括:
选取模块,用于从所述标定物目标的运动轨迹中,选出满足以下条件的至少三个标定点:标定点两两之间的位置距离均大于所述距离阈值、标定物目标在被选出来的标定点位置处的成像面积与上一帧相比没有发生突变、标定点不在一条直线上;
定位模块,用于分别根据各所述标定点的图像坐标,定位在该标定点位置上的标定物目标的最高点和最低点的图像坐标;
建立矩阵模块,用于根据各所述最高点和最低点的图像坐标计算垂直消失点位置、水平消失线位置和摄像机的安装高度三个信息,根据这三个信息建立投影矩阵作为高度模型。
进一步地,所述建立矩阵模块根据各所述最高点和最低点的图像坐标计算垂直消失点位置是指根据下式获得垂直消失点VY:
其中N为标定点个数;h
i为最高点坐标,f
i为最低点坐标,
和
是最高点和最低点的协方差矩阵,(w
i,b
i)是经过m
i和V
Y的直线,且||w
i||=1,m
i是h
i和f
i的中点;i=1,2,…,N。
进一步地,所述建立矩阵模块根据各所述最高点和最低点的图像坐标计算水平消失线位置是指根据下式获得水平消失线:
其中
且
是由2对最高点和最低点(h
j,f
j)和(h
k,f
k)所组成的线段h
jh
k和f
jf
k相交而成;i=1,2,…,N,j≠k;
的协方差矩阵由下式计算得到:
其中
进一步地,所述建立矩阵模块根据各所述最高点和最低点的图像坐标计算摄像机的安装高度是指根据下式获得摄像机的安装高度:
其中,x是标定物目标的最低点坐标、x’是标定物的最高点坐标,c是所述垂直消失点与所述最低点或最高点的连线,和所述水平消失线之间的交点的坐标;若所述垂直消失点与所述最低点之间的连线、所述垂直消失点与所述最高点之间的连线分别与水平消失线交于不同的两个点,则取这两个点的中点的坐标作为c,Zc是摄像机的安装高度,Z是预定的标定物目标的高度,d(x,y)是图像上任意两点x和y之间的图像距离。
本发明还提供了一种单摄像机下的场景自动建模方法,包括:
A、根据视频帧图像检测出运动目标;
B、对每个被检测到的运动目标进行跟踪,得到所述运动目标的运动轨迹;
C、从所有运动目标的运动轨迹中筛选出满足以下条件的运动目标作为标定物目标,所述运动目标的特征值与预设的特征值匹配,且该运动目标的运动轨迹中包括至少三个位置点,这些位置点不共线,无重合且两两之间的距离大于一个预设的距离阈值;
筛选成功则进行步骤D,如果筛选不成功,则读取下一帧的视频帧,然后返回步骤A;
D、从所筛选出的标定物目标的运动轨迹中选取至少三个位置作为标定点位置,提取所述标定物目标成像的最高点和最低点在这些标定点位置上的图像坐标,由这些坐标计算出当前场景下垂直消失点和水平消失线的位置,以及摄像机的安装高度,建立高度模型。
进一步地,所述步骤D包括:
D1、用于从所述标定物目标的运动轨迹中,选出满足以下条件的至少三个标定点:标定点两两之间的位置距离均大于所述距离阈值、标定物目标在被选出来的标定点位置处的成像面积与上一帧相比没有发生突变、标定点不在一条直线上;
D2、定位出所述标定物目标在这些标定点位置处的最高点和最低点的图像坐标;
D3、使用所述最高点和最低点的图像坐标计算得到垂直消失点位置、水平消失线位置和摄像机的安装高度,建立投影矩阵作为高度模型。
进一步地,步骤D3中,根据下式获得垂直消失点VY位置:
其中N为标定点个数;h
i为最高点坐标,f
i为最低点坐标,
和
是最高点和最低点的协方差矩阵,(w
i,b
i)是经过m
i和V
Y的直线,且||w
i||=1,m
i是h
i和f
i的中点;i=1,2,…,N。
进一步地,步骤D3中,根据下式获得水平消失线位置:
其中
且
是由2对最高点和最低点(h
j,f
j)和(h
k,f
k)所组成的线段h
jh
k和f
jf
k相交而成;i=1,2,…,N,j≠k;
的协方差矩阵由下式计算得到:
其中
进一步地,步骤D3中,根据下式获得摄像机的安装高度:
其中,x是标定物目标的最低点坐标、x’是标定物的最高点坐标,c是所述垂直消失点与所述最低点或最高点的连线,和所述水平消失线之间的交点的坐标;若所述垂直消失点与所述最低点之间的连线、所述垂直消失点与所述最高点之间的连线分别与水平消失线交于不同的两个点,则取这两个点的中点的坐标作为c,Zc是摄像机的安装高度,Z是预定的标定物目标的高度,d(x,y)是图像上任意两点x和y之间的图像距离。
本发明的技术方案利用场景的视频帧的2D信息,提取出有用的特征,通过一系列几何学和投影变换,自动建立对应的3D模型,从而达到对该场景中任意位置上的任意目标计算其真实高度的目的;本发明计算准确,原理简单,且不需要计算出摄像机的内外参数;能够很好的满足视频监控、重建等的要求,同时无需标定板,整个过程无人工干预,能自适应场景的变化,可同时处理不同场景的多段视频,更智能地适应了现场实时操作的需要,克服了传统的手动场景建模中一些固有的缺点,更好的满足了实际应用的要求。
具体实施方式
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
若无特殊说明,本文中所说的建模都是对目标的3D高度进行的建模。因为运动目标的形状等特征是难于精确描述的,因此,本文中“运动目标”是用视频帧图像中的运动目标区域来描述的,即本文中的运动目标就是运动目标的外接矩形,当然也可以采用其他的描述方式来描述运动目标。
实施例一,一种单摄像机下的场景自动建模系统,如图1所示,包括:
运动目标检测子系统,用于从当前场景下拍摄的视频帧图像中检测出运动目标;
运动目标跟踪子系统,用于对检测到的运动目标进行跟踪,得到所述运动目标的运动轨迹;
确定标定物目标子系统,用于从所有运动目标的运动轨迹中筛选出标定物目标,筛选成功则启动所述场景建模子系统;筛选出的标定物目标是指满足以下条件的运动目标:所述运动目标的特征值与预设的特征值匹配,且该运动目标的运动轨迹中包括至少三个位置点,这些位置点不共线,无重合且两两之间的距离大于一个预设的距离阈值;
场景建模子系统,用于从所筛选出的标定物目标的运动轨迹中选取至少三个位置作为标定点位置,提取在这些标定点位置上所述标定物目标的图像坐标,由这些图像坐标计算出当前场景下垂直消失点和水平消失线的位置,以及此时摄像机的安装高度,从而得到全部的高度模型信息,建立高度模型。
其中,如果确定标定物目标子系统未能成功筛选出标定物目标,则指示运动目标检测子系统读入新的视频帧,继续检测运动目标,并对运动轨迹进行更新,然后重新进行筛选,直到成功。
本实施例中,所述确定标定物目标子系统筛选出标定物目标时所用的预设的特征值根据该标定物的特征设置;考虑到监控场景中,直立单人是频繁出现的运动目标,因此本实施例中选择了单人作为标定物目标;单人与非单人(这里的非单人主要是指人群和机动车)之间有着一些明显的特征,可以很好的将之区别开。
根据实验经验,满足下面条件的标定物目标可以让重建的结果更准确:在真实世界中,该标定物目标在场景中各个标定点位置都是相互平行或近似平行的,且多个不同标定物目标之间的真实高度差异不会过大。
本实施例中,所述确定标定物目标子系统所用的预设的特征值可以是单一特征也可以是组合特征。本实施例中采用了组合特征并预设了苛刻的阈值,具体包括:高宽比特征及头肩特征;两种特征均为选用,选用的依据是:单人有明显高于人群和机动车的高宽比特征,且具有明显的头肩特征;而且这两个特征计算较简单,能比较好的描述出单人与非单人之间的区别。
另外,如果标定物目标选择了除单人外的其他运动目标,则标定物的特征的选择和提取根据该标定物目标特点的不同而不同。
本实施例中,所述运动目标检测子系统可以是通过对输入的每个视频帧进行学习,建立一个背景模型,可以但不限于为GMM(混合高斯分布)模型,当学习时间到达预定的时间阈值Tt后,用背景差分法得到当前帧中包含运动目标的区域(即大致的运动目标),对这些区域进行去噪和连通处理,最终检测出当前帧中的运动目标,包括运动目标的个数、每个运动目标的图像数据信息、外接矩形的中心点坐标、长、宽等特征信息。
本实施例中,所述运动目标检测子系统具体可以包括:
学习模块、更新模块、获取模块以及后处理模块;
所述学习模块用于通过对输入的每帧视频进行学习,建立一个GMM背景模型;当学习时间到达预定的时间阈值Tt后启动所述更新模块;
本实施例中,设用来描述每个像素点Zuv的颜色的高斯分布共K个,则该像素点的概率表示为:
其中,K是混合模型中描述像素颜色特征的高斯分布的模型个数,K值越大,则计算量越大,一般K取值3到5;ωj,uv是第j个高斯分布的权值,K个高斯模型的权重和为1;μj,uv,∑j,uv分别为第j个高斯分布的均值和协方差矩阵;N为高斯概率密度函数;n是特征向量的维数。本实施例中,取K=4。
实际应用时也可以用其他背景模型建立算法代替。
所述更新模块用于将所述学习模块所建立的背景模型作为背景帧输出;
所述获取模块用于将当前帧与背景帧差分,获得当前帧中包含运动目标的区域;这里获得的包含运动目标的区域是一个可能的区域,不一定是运动目标,即使是运动目标也可能不是精确的运动目标;
所述后处理模块用于将当前帧中的所有运动目标,通过多次的膨胀和腐蚀,滤掉小面积区域,连通断开的大面积区域,并对得到的运动目标区域进行标注,最终得到当前帧中可能的运动目标个数,以及每个运动目标,发送给所述运动目标跟踪子系统;每个运动目标以图像数据、外接矩形的中心点坐标和长、宽等特征值描述。
实际应用时可以用其他运动目标检测算法代替本运动目标检测子系统中涉及到的全部模块的算法。
本实施例中,所述运动目标跟踪子系统具体可以包括:
匹配模块、分类模块、定位更新模块以及预测模块;
所述匹配模块用于使用预测模块输入的运动目标的特征值,与当前帧中检测到的运动目标的特征值两两进行匹配,建立各运动目标的特征匹配矩阵;由该特征匹配矩阵的值找到上一帧运动目标在当前帧的匹配目标;可以但不限于按照匹配时取值“1”、不匹配时取值“0”设置所述特征匹配矩阵中各元素的值;也可以用具体的匹配值作为所述特征匹配矩阵中各元素的值;具体匹配的实现不限于以上例子;
所述分类模块用于根据所述特征匹配矩阵的值判断各运动目标的状态;所述运动目标状态包括正常、产生、消失、分裂、融合;
所述定位更新模块用于分别根据各运动目标在当前帧的状态进行该运动目标的主色等特征数据及运动轨迹的更新,输出各运动目标的运动轨迹,以及当前的运动状态,如正常,产生、融合、消失、分裂等状态;
所述预测模块用于根据当前运动目标的特征值预测出该运动目标在下一帧的运动轨迹,根据预测的运动轨迹获取该运动目标在下一帧的某些特征值如外接矩形的坐标等,输入给所述匹配模块;
本实施例中,所述匹配模块当两个运动目标同时满足以下两个条件时判断其匹配,否则判断其不匹配:
(1)两个运动目标重叠的面积超过一预定的面积阈值;
(2)两个运动目标的主色相同或两主色的像素值之差的绝对值小于一预定的色差阈值;所述主色是指:将运动目标的颜色值进行量化后,量化值像素点足够多的那些颜色。
本实施例中,所述分类模块根据特征匹配矩阵的值判断运动目标的运动状态具体可以是指:
设所述特征匹配矩阵Match第i行的和为rowN(i),第j列的和为colN(j),所述分类模块当rowN(i)=1且colN(j)=1且Matchij=1时判断运动目标的运动状态为a类;rowN(j)=0时判断运动目标的运动状态为b类;colN(i)=0时判断运动目标的运动状态为c类;colN(i)>1时判断运动目标的运动状态为d类;rowN(j)>1时判断运动目标的运动状态为e类;
所述a类是指运动目标持续在场景内运动且未与任何其它目标相互干扰(正常);所述b类是指产生的新目标(产生);所述c类是指运动目标消失(消失,比如被遮挡,或运动目标出了场景);所述d类是指运动目标发生分裂(分裂);所述e类是指运动目标发生融合(融合)。
本实施例中所述预测模块可以但不限于通过Kalman滤波器来进行运动状态的预测。Kalman滤波器利用反馈控制的原理实现对运动状态的估计。滤波器估计每一时刻的运动状态,且以观测的方式获得相应的反馈值,对估计的运动状态进行修正,更新状态参数,并被反馈到滤波器的下一步迭代中;在进入下一次迭代之前,执行预测和参数修正。
滤波器主要依赖两个方程:一个是关于状态过程的状态方程,一个是关于观测过程的观测方程,分别如下:
状态方程:
观测方程:Zk=HXk+Vk (2.2)
本实施例中令状态矢量Xk=[x(k),y(k),vx(k),vy(k)]T,观测矢量Zk=[x(k),y(k)]T,(x(k),y(k))对应运动目标外接矩形的中心点坐标,(vx(k),vy(k))对应该中心点在x方向和y方向上的速度分量。A和H分别是状态转移矩阵和观测矩阵,表达式如下:
这里Δt是指连续两帧的时间间隔。
Wk、Vk分别是状态噪声和观测噪声,为简化处理,通常假设它们是常量,本实施例中设定Q=I1,R=I2,I1为4×4的单位矩阵,I2为2×2的单位矩阵。
实际应用中也可用其他滤波器和运动状态预测算法替代,而且可以用其他运动目标跟踪算法代替本运动目标跟踪子系统涉及到的全部算法。
本实施例中,所述场景建模子系统具体可以包括:
选取模块、定位模块以及建立矩阵模块;
所述选取模块用于选取标定点,通过分析标定物目标的运动轨迹,从中选出几个标定点(通常是3个以上);所述标定点要满足以下条件:(1)标定点两两之间的位置距离均大于预先设置的距离阈值;(2)与上一帧相比,标定物目标在被选出来的标定点位置处成像面积没有发生突变;(3)所有被选出来的标定点位置不在一条直线上;本实施例中选取4个标定点。
所述位置阈值可以根据仿真或实验选取,比如使用能使最后结果尽量接近实际情况时所采用的位置阈值。
所述定位模块用于分别根据各所述标定点的图像坐标,定位在该标定点位置上的标定物目标的最高点和最低点的图像坐标;比如对于直立单人的标定物目标,最高点和最低点分别就是人的头顶点和脚底点。
所述建立矩阵模块用于根据各所述最高点和最低点的图像坐标建立投影矩阵作为最终得到的高度模型;该投影矩阵主要包括了垂直消失点位置、水平消失线位置和摄像机的安装高度三个关键信息。实际应用时也可用其他方法建立投影矩阵。
本实施例中,满足上述标定点条件的标定点可能会有一到多组,此时,可以选择两两标定点之间的位置距离(或总距离)最大的一组,或者是标定点分布最广的一组,也可以选择多组,然后得到多个计算结果,加权平均得到最终的结果,权值可以根据实验或仿真确定。
下面用一个具体的例子说明所述建立矩阵模块如何根据各所述最高点和最低点计算垂直消失点位置、水平消失线位置和摄像机的安装高度;该例子中以直立单人作为标定物目标作为说明,但实际应用时用其它标定物目标也可以按照下列算式计算:
通常,人身体的各部分占身高的比例是一定的,如图2所示,头颈部约占身体的上部18%的部分,膝盖以下(即小腿和脚)约占下部30%的部分,根据这一比例再结合实际实验的结果,对标定物目标对应的灰度图做竖直加权投影直方图。本实施例假设该目标区域就是标定物目标的外接矩形区域。
具体的做法为:对标定物目标的上0.18和下0.3区域分别做竖直加权投影直方图,选出直方图中大于阈值T的点对应的横坐标,取均值,即得到头顶点和脚底点的横坐标,纵坐标直接取标定物外接矩形上下边的纵坐标即可;可以但不限于取加权投影直方图的均值作为阈值T。直方图的加权系数是结合了标定物目标的形状而确定的。若选取了其他类型的目标作为标定物目标,需要根据该目标类型的形状特点,改变定位对象“最高点和最低点”的方法。实际应用时也可以用其它方式定位最高点和最低点的图像坐标。
图3所示是单人在摄像机视场中站立的任意3个不共线的位置(即三个标定点的位置),线段的两个端点分别表示作为标定物目标的单人的脚底点和头顶点。某个方向的消失点就是该方向两条以上的平行线在无穷远处的交点于成像平面的像点,或者可以理解为该方向平行线的像在成像平面的交点。这样,垂直方向的消失点就是标定物目标的各对最高点(头顶点)和最低点(脚底点)连线的交点。在实际应用中,由于噪声的影响,垂直消失点往往都不会交于一点。对于这种情况,本实施例中采用非线性最小二乘法来拟合垂直消失点位置,具体方法如下:
假设共有N个标定点,则有N对最高点和最低点,每对最高点和最低点之间有一连线,共得到N条垂直方向上的参考线段,其最高点(头顶点)和最低点(脚底点)坐标分别为h
i和f
i(i=1,...,N),
和
是最高点(头顶点)和最低点(脚底点)的协方差矩阵,一般情况下最高点(头顶点)和最低点(脚底点)的噪声是独立同分布的,因此可以认为
和
相等;(w
i,b
i)是经过m
i和V
Y的直线,且||w
i||=1,m
i是h
i和f
i的中点,V
Y是垂直消失点。使下式最小的点,即为所求的垂直消失点的位置。
实际应用时也可用其他拟合方法替代。
如图3所示,最高点(头顶点)之间的连线和最低点(脚底点)之间的连线相交可以确定一个水平方向消失点。当存在2个以上的水平方向消失点时,就可以确定水平消失线。在实际应用中往往会得到2个以上的水平消失点,且由于噪声的影响,这些点并不共线。对于这种情况,本实施例中采用了非线性最小二乘法来拟合水平消失线的位置,具体方法如下:
假设
(i=1,...,N),是由2对最高点(头顶点)和最低点(脚底点)(h
j,f
j)和(h
k,f
k)所组成的线段h
jh
k和f
jf
k相交而成,j≠k。
的协方差矩阵由下式计算得到:
其中
那么水平消失线的位置可以通过使下式最小得到:
其中 且
实际应用时也可用其他拟合方法替代。
本实施例中由交比法计算出摄像机的安装高度。原理如图4所示,用下式表示:
其中,x是标定物目标的最低点(脚底点)的坐标、x’是标定物的最高点(头顶点)的坐标,v是垂直消失点的坐标,c是所述垂直消失点与所述最低点及最高点的连线,和所述水平消失线之间的交点的坐标;若所述垂直消失点与所述最低点之间的连线,与所述垂直消失点与所述最高点之间的连线分别与水平消失线交于不同的两个点,则取这两个点的中点的坐标作为c,大多数实际场景的计算都是属于这种情况;Zc是摄像机的安装高度,Z是预定的标定物目标的高度,可根据该标定物目标的真实的平均高度或一般高度等来设定;d(x,y)是图像上任意两点x和y之间的图像距离。该式不用考虑x、x’、c和v之间的顺序问题。在本例子中,令Z为一个定值170cm,该值约等于成年亚洲人的平均身高。
实际应用时,可以采用其它拟合方法;选择交比法的原因在于:交比法是一个重要的射影定理,原理简单,计算结果准确,不需要任何摄像机的参数信息就可以计算出场景图像上任意位置处目标的真实高度。
实施例二,一种单摄像机下的场景自动建模方法,包括:
首先对进入场景中的运动目标进行检测和跟踪,记录下它们在场景中的运动轨迹;对这些运动轨迹进行分析,筛选出满足条件的最佳目标作为标定物,若选择标定物不成功,则继续处理下一帧,否则进入建模阶段;建模时,需确定出标定物轨迹中分布最均匀的几个位置,提取出标定物在这些位置上的头脚点图像坐标,结合投影学和几何学的知识便可以建立场景建模了。
所述方法如图5所示,具体包括以下步骤:
A、根据当前场景中拍摄的视频帧图像,检测出运动目标;
B、对每个被检测到的运动目标进行跟踪,得到所述运动目标的运动轨迹;
C、从所有运动目标的运动轨迹中筛选出标定物目标,筛选成功则进行步骤D,如果筛选不成功,则读取下一帧的视频帧,然后返回步骤A,以更新运动目标检测结果和运动轨迹;筛选出的标定物目标是指满足以下条件的运动目标:所述运动目标的特征值与预设的特征值匹配,且该运动目标的运动轨迹中包括至少三个位置点,这些位置点不共线,无重合且两两之间的距离大于一个预设的距离阈值;
D、从所筛选出的标定物目标的运动轨迹中选取至少三个位置作为标定点位置,提取所述标定物目标在这些标定点位置上成像的最高点和最低点的图像坐标,由这些坐标计算出当前场景下垂直消失点和水平消失线的位置,以及摄像机的安装高度,从而得到全部的高度模型信息,建立高度模型。
本实施例中,所述步骤A如图6所示,具体可以包括:
A1、读入视频图像;通过对输入的视频图像进行学习,建立一个GMM背景模型;
A2、更新当前时刻的背景帧;
A3、通过判断当前时刻与开始学习的时刻之间的时间间隔是否到达时间阈值Tt,来判断是否超过学习时间;没有则返回步骤A1继续处理下一帧,否则进行步骤A4;
A4、将当前视频帧与背景帧做差分,得到当前帧中包含运动目标的区域;
A5、进行连通性分析,对当前帧中包含运动目标的区域做形态学变化,滤掉面积小的噪声区域,连通距离较近的目标区域,最终得到当前帧中运动目标的信息,包括运动目标的个数、每个运动目标的图像数据信息、外接矩形的中心点坐标、长、宽等特征信息。
本实施例中,所述步骤B如图7所示,具体可以包括:
B1、用预测得到的所有运动目标的特征值,和当前帧中所有运动目标的特征值进行匹配,建立一个特征匹配矩阵,由该特征匹配矩阵的值找到上一帧运动目标在当前帧的匹配目标;
B2、根据步骤A的结果,得到各个运动目标在当前时刻的轨迹点(在本实施例中为外接矩形);并判断出各个运动目标的运动状态;所述运动目标状态包括正常、产生、消失、分裂、融合;判断方式可同实施例一;将所有轨迹点连接起来便可输出各个运动目标在视频中的运动轨迹;
B3、分别根据各运动目标的状态进行该运动目标的主色等特征数据及运动轨迹的更新;
B4、根据此刻这些运动目标的特征值,对运动目标在下一帧的运动状态进行预测。
本实施例中,所述步骤D如图8所示,具体可以包括:
D1、首先从标定物目标的运动轨迹中选出分布均匀的多个位置(3个或3个以上)作为标定点;选择方式同实施例一;
D2、然后定位出标定物目标在这些标定点位置处的最高点和最低点的图像坐标;
D3、使用所述最高点和最低点的图像坐标,根据实施例一中的3.1~3.4式计算得到垂直消失点位置、水平消失线位置和摄像机的安装高度,建立投影矩阵作为高度模型。
其它实现细节可同实施例一中的一致。
模型建立成功后,马上就可以应用于当前视频场景下的高度重建计算了。
场景模型建立成功后,立即被保存,一旦有需要就被运用到实际的实时视频监控中了。实际视频监控中的应用如图9所示,工作流程为:用相位相关法判断当前的视频场景是否发生了改变,若无改变,则用已有模型对场景中的目标进行高度重建,高度重建同样采用交比法,见等式(3.4)。否则,场景发生变化,系统按照上述步骤自动重建新的场景模型。实际应用中也可用其它方法来判断当前视频场景是否发生了改变。本实施例中采用了相位相关法,该方法计算快速准确,灵敏度高。
另外,需说明的是,为了适应鱼眼镜等有较大畸变的摄像机的拍摄场景,在摄像机开始监控工作之前可以先做一个畸变判断,若视频发生了严重畸变则需要对以后的每帧视频先进行一个矫正。由于畸变因子是由摄像机的工艺等造成的,只与焦距有关,对焦距固定的摄像机来说是一个恒定值,只需计算一次,因此,最方便的办法是在实验室环境下计算得到一个比较准确的值后再架设使用,当然也可以在架设完成后再计算畸变因子。当系统自动检测到焦距发生明显变化时,重新计算。利用得到的畸变因子就可以对任意畸变场景进行畸变矫正了。
本发明采用拍摄的素材进行测试,素材包括了不同场景,不同拍摄角度,不同身高和不同走路姿势的人,为了对比结果,截取了同一场景在两个不同拍摄角度下的重建结果,第一个角度下被测试对象的真实身高是157cm,计算值是155.88cm;第二个角度下被测试对象的真实身高是164cm,计算值是163.69cm。可见,本发明的结果是比较准确且适合实际应用的。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的权利要求的保护范围。