一种确定视频图像中被测对象间位置关系的方法及装置的制造方法_2

文档序号:9547925阅读:来源:国知局
[0066] 其中,camera_param. resolution_X、camera_param. resolution_Y 分别为所述视 频画面水平方向、垂直方向的像素数(或者分辨率),例如640*480的视频画面,camera_ param. resolution_X 为 640、camera_param. resolution_Y 为 480。
[0067] 通过(Ximage/camera_param. resolution_X_0. 5)可以计算得到水平方向上偏离画 面中心点的距离,再与深度值depth_value相乘;
[0068] 通过(0· 5-yimage/camera_param. resolution_Y)可以计算得到垂直方向上偏离画 面中心点的距离,再与深度值depth_value相乘;
[0069] 最后,由于各个摄像机或摄像头在出厂时内部结构会导致微小的差别,本申请实 施例可以通过camera_param. xzFactor、camera_param. yzFactor对上述乘积的结果进行 修正。
[0070] 在具体实施中,可能由于修正因子等导致的不同,上述公式中0.5可能也会适量 调整为其他数值,例如:〇. 3等,应当理解,本领域技术人员的这种变形、修改均应当包括在 本申请的保护范围之内。
[0071] 实施中,所述camera坐标系转换为所述floor坐标系,具体可以为:
[0072] 确定至少包括camera坐标系中三点坐标的第一矩阵,以及至少包括floor坐标系 中三点坐标的第二矩阵;所述camera坐标系中点的坐标与所述floor坐标系中点的坐标为 物理世界中同一点在camera坐标系和floor坐标系下的表示;
[0073] 将所述第一矩阵和所述第二矩阵分别减去各自矩阵内坐标的平均值,得到S矩阵 和D矩阵;
[0074] 对所述S矩阵与所述D矩阵的转置的乘积做奇异值分解,得到S*Dt= u*w*v %
[0075] 根据以下转换公式确定所述camera坐标系与所述floor坐标系的转换关系:
[0078] 其中,
R、T分别为camera坐标系到floor坐标系的 旋转矩阵。
[0079] 具体实施时,物理世界中某个点的位置在camera坐标系下的坐标表示与在floor 坐标系下的坐标表示可能是不相同,本申请实施例可以以三轴的基座标(也即单位向量) 为例进行上述计算。例如:S矩阵可以为camera坐标系的三个单位向量在camera坐标系 下的坐标减去均值后的结果,D矩阵可以为floor坐标系的三个单位向量在camera坐标系 下的坐标减去均值后的结果。
[0080] 对S矩阵和D矩阵的转置进行乘积,也即H = S^Dt;
[0081] 再利用现有技术中的奇异值分解技术,对H做分解:H = u*w*vt;
[0082] 在这里,本申请实施例可以得到一个矩阵C,
[0083] 最终,可以得到camera坐标系到floor坐标系的旋转矩阵R、T分别可以为:
[0084] R = V=I=Out;
[0086] 相应的,通过公式计算可以得到floor坐标系到camera坐标系的旋转矩阵RtJ t, 分别为:
[0087] Rt= R 1J
[0088] Tt=-RVT0
[0089] 本申请实施例既得到了 image坐标系和camera坐标系的转换关系、又得到了 camera坐标系和floor坐标系的转换关系,因此,可以计算视频中任意像素在真实物理世 界(floor坐标系)中的坐标;也可以将真实世界中任意一点计算出该点在视频(image坐 标系)中的位置。
[0090] 实施中,所述第一被测对象可以为人,所述第二被测对象可以为在所述视频图像 中预先选定的监测区域。
[0091] 本申请实施例中,用户可以首先在视频图像中通过鼠标点击或其他方式,选定一 块监测区域。此时,系统自动根据选定的监测区域确定所述监测区域在视频图像中的坐标 位置。
[0092] 现有技术在视频画面中选择区域,选择的区域和真实物理世界的区域没有完全对 应,本申请实施例通过对深度数据的解析,建立了像素和物理世界位置的对应关系,可以实 现准确的标注。
[0093] 其次,现有技术在不准确标注的基础上进行统计,统计的依据是像素变化,而像素 变化不一定是物体或人进入区域产生的,也可能由于该区域被遮挡,或者该区域后面的像 素发生变化,还可能是由于光线或环境变化导致的像素变化,因此统计结果并不准确。本申 请实施例增加了景深(或者称深度数据),通过使用RGBD数据还原了真实世界各事物的几 何结构,可以准确的计算出视频图像中出现的人和用户真正要选择的监测区域之间的空间 位置关系,排除真实场景中监测区域前面或后面的物体导致误判的情况,从而确保检测得 到的结果更加精准,彻底解决了错误检测和统计的问题。
[0094] 实施中,所述根据所述第一被测对象与所述第二被测对象的三维坐标,确定所述 第一被测对象与所述第二被测对象之间的位置关系,具体可以为:
[0095] 将所述人的坐标投影到所述floor坐标系的XoY平面;
[0096] 计算以所述人的投影位置为起点的射线与所述监测区域的交点个数;
[0097] 根据所述交点个数确定所述人是否在所述监测区域内。
[0098] 在具体实施时,可以在视频画面中选定一块监测区域,如果该监测区域是平贴于 地面的,例如:一块地毯的所在位置、在地面设定的圆圈/多边形等等。
[0099] 本申请实施例可以将人的坐标投影到所述floor坐标系的XoY平面,也即将人投 影到地面上,如果以人为起点、向任意方向无穷远处发射的射线,与该监测区域交点个数为 奇数,则认为这个人在所述监测区域内,如果交点个数为偶数,则说明这个人在所述监测区 域外部。
[0100] 通过本申请实施例所提供的方案,可以很精确地计算出人与监测区域在真实场景 中的位置关系,从而可以更好的实时监测是否有被测对象进入监测区域,还可以进一步统 计出一段时间内一共有多少个人在所述监测区域内。
[0101] 实施中,所述根据所述第一被测对象与所述第二被测对象的三维坐标,确定所述 第一被测对象与所述第二被测对象的位置关系,具体可以为:
[0102] 将所述人和所述监测区域的坐标均投影到所述floor坐标系的XoY平面;
[0103] 若所述人的投影与所述监测区域的投影有交集,则确定所述监测区域被触摸。
[0104] 在具体实施中,监测区域可以是垂直于地面的一块区域,例如:墙壁、货架等等。
[0105] 本申请实施例可以将人和监测区域的坐标均投影到floor坐标系的XoY平面,也 即投影到真实场景的地面。其中,由于不同被测对象的体积、形状不同,在具体实施时,人的 投影可能是一块不规则形状的区域;由于监测区域是垂直于地面的一块区域,监测区域的 投影可能是一条直线。
[0106] 本申请实施例通过比较人的投影(不规则形状的区域)与监测区域的投影(一条 直线)是否有交集,来判断人是否与监测区域相碰触。如果二者有交集,则说明人触摸到了 所述监测区域;如果没有交集,则说明监测区域没有被触摸。
[0107] 在具体实施时,为了减少监测、计算的工作量,还可以仅将视频图像内导致监测区 域的像素发生变化的人与监测区域进行上述操作。例如:仅有两个人站立在超市的货架前, 也即,两个人所在位置的像素在视频图像中发生了变化,那么本申请实施例可以计算这两 个人到地面的投影与货架的投影之间的位置关系,对于超市内其他位置的人员则不做上述 计算操作。
[0108] 在现有技术中,对于上述举例的情况,可能导致监测结果为这两个人均与货架相 碰触;而本申请实施例通过还原出真实场景的坐标后再进行计算,如果其中一个人只是站 立在货架前但并没有拿货架上的物品,则这个人的投影与货架的投影没有交集,监测结果 为没有与货架碰触;如果另一个人站立在货架前并伸出手去拿货架上的物品,则这个人的 投影与货架的投影就存在了交集,此时,监测结果则为货架被触碰。
[0109] 通过对比可以看出,本申请实施例可以避免现有技术的误判情况,确保监测结果 更为准确。
[0110] 在具体实施中,还有部分场景在确定人和监测区域的位置关系时,除了要比较人 的投影与监测区域的投影是否有交集,还需要判断人的高度和监测区域的高度是否有重合 部分,也即,XoY平面投影有交集是监测区域被人触摸的必要条件。例如:监测区域是墙面 上的一扇窗户,当人触摸到窗户所在墙面时,虽然人在XoY平面的投影和窗户在XoY平面的 投影有交集,但人并没有触摸窗户、只是触摸到墙面,对于这种场景,本申请实施例还可以 进一步判断人的高度与窗户的高度是否有重合,如果二者高度有交集/重合,则可以确定 人触摸到了窗户。
[0111] 实施中,所述根据所述第一被测对象与所述第二被测对象的三维坐标,确定所述 第一被测对象与所述第二被测对象的位置关系,具体可以为:
[0112] 将所述人和所述监测区域的坐标均投影到所述floor坐标系的XoY平面;其中,所 述监测区域的投影线段所在直线为Ax+By+C = 0 ;
[0113] 确定位于所述监测区域的投影线段两端且与所述投影线段垂直的两条直线 AiX+Bj+Ci= 0 和 A 2x+B2y+C2= 0 ;
[0114] 若所述人的投影坐标变化戈
且同时满足以下条件时,则确 定所述人穿过所述监测区域:
[0115] AXi+Byi+C < 0 ;
[0116] Ax2+By2+C > 0 ;
[0117] (A^i+Biyi+Ci) * (A2x1+B2y1+C2) < 0 ;
[0118] (A1XjB1YdC1) * (A2x2+B2y2+C2) < 0。
[0119] 在具体实施时,监测区域垂直于地面时,还可能是门、窗、栏杆等可以穿越过去的 区域。此时,本申请实施例可以通过将人和监测区域均投影到所述floor坐标系的XoY平 面(也即真实场景中的地面),判断人的投影在不同时间发生的变化与监测区域的投影之 间的位置关系。
[0120] 以一扇门为例,门的投影为一段线段,本申请实施例可以首先得到人在第一时刻 的投影、以及人在第二时刻的投影,然后分别将两个时刻的投影坐标代入到判断门的投影 所在的直线方程、位于门的两端且垂直于门的直线方程,来判断这个人是否穿过了这扇门。
[0121] 除此之外,还可以采用其他方式进行判断。例如:判断两个时刻的人的投影之间的 连线是否与监测区域的投影(线段)相交,如果相交,则说明这个人穿过了这扇门,否则就 没有穿过这扇门。
[0122] 实施中,所述第一被测对象和/或所述第二被测对象为多个,所述根据所述第一 被测对象和所述第二被测对象的三维坐标,确定所述第一被测对象和所述第二被测对象之 间的位置关系,具体可以为:
[0123] 根据所述多个第一被测对象和/或所述第二被测对象的三维坐标,拟合出将所述 多个第一被测对象和/或所述第二被测对象连接起来的空间曲线;
[0124] 根据所述空间曲线确定所述多个第一被测对象和/或所述第二被测对象的队列 关系。
[0125] 在具体实施时,可以检测到多个第一被测对象和/或第二被测对象,将这多个第 一被测对象和/或第二被测对象的坐标依次连接起来,可以得到一条空间曲线,利用这条 空间曲线则可以确定出这多个第一被测对象和/或第二被测对象的队列关系。
[0126] 例如:在超市结账时,一条收银台通道内有1个人正在结账、3个人在排队等待,本 申请实施例则可以将这四个人拟合出一条直线。对每个收银通道均拟合出队列的直线后, 则可以看出每个收银通道的排队人数,还可以进一步估算出每个队列所需要的等待时间等 等。
[0127] 上述举例,如果现有技术进行监测,当视频画面内队列中后面的人遮挡住前面的 人时,则系统监测不到前面的那个人,导致监测出的人数少于实际人数;而采用本申请实施 例所提供的方案,由于采用坐标系转换后得到真实世界的三维坐标,其中包括了深度信息, 也即z轴,虽然有人被遮挡,但是根据深度信息即可还原现实场景,准确的监测出实际的人 数,避免了现有技术中监测失误的情况,准确性更高。
[0128] 综上可以看出,本申请实施例可以理解为是将人的肢体在三维空间中构成一个点 云,判断这个点云和设定的热点区域hotspot点云之间是否在真实的物理世界有交集。本 申请实施例利用坐标转换可以实现图像像素到物理世界坐标的转换,从而可以实现各种热 点的统计。
[0129] 在具体实施时,由于在不同场景下人和监测区域是否接触/碰触可能会有所不 同,因此,判断方式还可能有区别,本领域技术人员可以根据实际需要来确定人和监测区域 的位置关系,应当认为,本领域技术人员确定人和监测区域的位置关系的其他判断方式也 在本申请的保护范围之内。
[0130] 为了便于本申请的实施,下面以实例进行说明。
[0131] 本申请实
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1