图像处理方法、装置和系统与流程

文档序号:15447081发布日期:2018-09-14 23:29阅读:173来源:国知局

本公开涉及图像处理领域,且更具体地涉及一种用于识别移动体身份的图像处理方法、装置和系统。



背景技术:

视频监视当前已得到广泛应用。例如,利用监视摄像机来监视特定区域中的人的活动情况,并通过人脸识别等方式来识别特定的人。然而,如此识别的结果的准确度取决于人脸识别算法的准确度,而且,移动中的人的脸的朝向、明暗、颜色等的变化可能很大,而且如果人背对摄像机、或者移动出摄像机再进入摄像机,这样就可能导致不能准确地识别特定的人,或者把同一人识别为不同的人。



技术实现要素:

根据本发明的一个方面,提供一种图像处理方法,包括如下步骤:在一个同步时间窗口中,接收第一移动体所携带的移动设备的惯导数据以及通过全景摄像机拍摄的多个全景图像帧;基于所述第一移动体所携带的移动设备的惯导数据获得与所述移动设备的移动轨迹相关的第一信息,所述第一信息包括所述移动设备的移动轨迹在所述一个同步时间窗中的移动量和转向信息;基于所述全景图像帧获得与所述全景图像帧中检测到的一个或多个待识别移动体的移动轨迹相关的第二信息,所述第二信息包括所述一个或多个待识别移动体的移动轨迹在所述一个同步时间窗中的移动量和转向信息;比较所述第一信息和第二信息的相似性以匹配全景图像帧中的待识别移动体与携带所述移动设备的第一移动体。

根据本发明的另一方面,提供一种移动设备,包括:数据收集器,被配置为搜集来自于移动设备的惯导数据;通信器,被配置为向图像处理装置发送搜集到的惯导数据,其中,所述图像处理装置在一个同步时间窗口中,接收第一移动体所携带的所述移动设备的惯导数据以及通过全景摄像机拍摄的多个全景图像帧;基于所述第一移动体所携带的移动设备的惯导数据获得与所述移动设备的移动轨迹相关的第一信息,所述第一信息包括所述移动设备的移动轨迹在所述一个同步时间窗中的移动量和转向信息;基于所述全景图像帧获得与所述全景图像帧中检测到的一个或多个待识别移动体的移动轨迹相关的第二信息,所述第二信息包括所述一个或多个待识别移动体的移动轨迹在所述一个同步时间窗中的移动量和转向信息;比较所述第一信息和第二信息的相似性以匹配全景图像帧中的待识别移动体与携带所述移动设备的第一移动体。

根据本发明的另一方面,提供一种图像处理装置,包括:接收器,被配置为在一个或多个同步时间窗口中,接收第一移动体所携带的移动设备的惯导数据以及通过全景摄像机拍摄的多个全景图像帧;第一计算器,被配置为基于所述第一移动体所携带的移动设备的惯导数据获得与所述移动设备的移动轨迹相关的第一信息,所述第一信息包括所述移动设备的移动轨迹在所述一个同步时间窗中的移动量和转向信息;第二计算器,被配置为基于所述全景图像帧获得与所述全景图像帧中检测到的一个或多个待识别移动体的移动轨迹相关的第二信息,所述第二信息包括所述一个或多个待识别移动体的移动轨迹在所述一个同步时间窗中的移动量和转向信息;比较器,被配置为比较所述第一信息和第二信息的相似性以匹配全景图像帧中的待识别移动体与携带所述移动设备的第一移动体。

根据本发明的另一方面,提供一种图像处理系统,包括:一个或多个处理器;一个或多个存储器,其中存储了一个或多个计算机可执行程序,其在由所述一个或多个处理器执行时进行如下步骤:在一个或多个同步时间窗口中,接收第一移动体所携带的移动设备的惯导数据以及通过全景摄像机拍摄的多个全景图像帧;基于所述第一移动体所携带的移动设备的惯导数据获得与所述移动设备的移动轨迹相关的第一信息,所述第一信息包括所述移动设备的移动轨迹在所述一个同步时间窗中的移动量和转向信息;基于所述全景图像帧获得与述全景图像帧中检测到的一个或多个待识别移动体的移动轨迹相关的第二信息,所述第二信息包括所述一个或多个待识别移动体的移动轨迹在所述一个同步时间窗中的移动量和转向信息;比较所述第一信息和第二信息的相似性以匹配全景图像帧中的待识别移动体与携带所述移动设备的第一移动体。

附图说明

图1a示出应用根据本发明的实施例的图像处理方案的示例场景图。图1b示出了全景摄像机拍摄的图像帧示例。

图2示出了应用根据本发明的各个实施例的图像处理方案的示例硬件方框图。

图3a-3d示出了根据本发明的多个实施例的图像处理方法的示例流程图。

图4示出了根据本发明的一个实施例的图像处理方法的一个例子的具体流程图。

图5示出了根据本发明的一个实施例的图像处理方法的一个例子的同步过程流程图。

图6示出了根据本发明的一个实施例的图像处理方法的一个例子的同步时间窗口的示意图。

图7示出了根据本发明的一个实施例的图像处理方法的一个例子的基于包括全景图像帧的全景视频流获得移动轨迹的步骤的流程图。

图8示出了如图7所示的步骤中获得的与移动轨迹相关的信息(包括步长和转向)的例子的示意图。

图9示出了如图7所示的步骤中计算全景图像帧中的移动体与区域中心的实际距离的示意图。

图10示出了根据图9所示的距离计算移动量的示意图。

图11示出了如图7所示的步骤中判断移动体的转向的示意图。

图12示出了根据本发明的一个实施例的图像处理方法的一个例子的基于惯导数据来获得移动轨迹的步骤的流程图。

图13a和13b示出了在图12所示的步骤中基于惯导数据判断转向的示意图。

图14示出了根据本发明的一个实施例的图像处理方法中的过滤不可能的移动轨迹以及移动体的身份识别的流程图。

图15示出了根据本发明的一个实施例的图像处理方法中的比较时间窗口的示意图。

图16示出了根据本发明的一个实施例的图像处理装置的方框图。

图17示出了根据本发明的一个实施例的移动设备的方框图。

图18示出了适于用来实现本发明实施方式的示例性图像处理系统的方框图。

具体实施方式

现在将详细参照本发明的具体实施例,在附图中例示了本发明的例子。尽管将结合具体实施例描述本发明,但将理解,不是想要将本发明限于描述的实施例。相反,想要覆盖由所附权利要求限定的在本发明的精神和范围内包括的变更、修改和等价物。应注意,这里描述的方法步骤都可以由任何功能块或功能布置来实现,且任何功能块或功能布置可被实现为物理实体或逻辑实体、或者两者的组合。

为了使本领域技术人员更好地理解本发明,下面结合附图和具体实施方式对本发明作进一步详细说明。

注意,接下来要介绍的示例仅是一个具体的例子,而不作为限制本发明的实施例必须为示出和描述的具体的外形、硬件、连接关系、步骤、数值、条件、数据、顺序等等。本领域技术人员可以通过阅读本说明书来运用本发明的构思来构造本说明书中未提到的更多实施例。

图1a示出应用根据本发明的实施例的图像处理方案的示例场景图。图1b示出了全景摄像机拍摄的图像帧示例。

本发明的实施例主要利用部署在区域(如图1中的类半圆形区域)中心的全景摄像机(如图1中的theta1、theta2,一种区域传感器)拍摄的全景视频流(全景图像帧序列)和移动体(如作为人的用户)携带的移动设备(如图1a中的用户移动设备客户端1、2、3,一种用户传感器)所传感的惯导数据来用于移动体的身份认证。全景摄像机的可视范围例如可覆盖其对应的区域,在该区域中,可能存在多个携带移动设备的移动体或可能有其他移动体(干扰因素)。例如以后用具体的用户例子来阐述移动体,但实际上移动体不限于人,而可以是其他移动体,例如动物,机器等。每个用户携带的移动设备中存储了可标识该用户的身份信息。移动设备和全景摄像机可以在无线或有线网络中相互通信,并发送数据给服务器。服务器可以通过无线或有线方式接收来自全景摄像机的全景图像帧以及来自移动设备的惯导数据,通过根据本发明的各个实施例的算法来处理和比较来自于全景视频流和惯导数据的轨迹的相似度将最相近的轨迹进行用户身份认证和绑定,得到身份信息认证结果。

图2示出了应用根据本发明的各个实施例的图像处理方案的示例硬件方框图。

图2所示的硬件方框图包括:1)数据服务器u1和设备客户端u2;2)在数据服务器中,有算法模块u11,用于处理全景视频流和惯导数据;数据中心模块u12,用于数据管理;通信模块u13,用于无线或者有线网络通信,接收和发送数据;3)有两种不同的设备客户端,用户传感器u22和区域传感器u21:用户传感器u22可以是用户携带的移动设备,区域传感器u21可以是布置在天花板处的全景摄像机。每一个设备客户端都有两个功能模块:数据收集模块u221、u211和通信模块u222、u212。数据搜集模块u221、u211用于数据采样和预处理,通信模块u222、u212用于数据的发送和接收。

图3a-3d示出了根据本发明的多个实施例的图像处理方法30的示例流程图。

图3a所示的图像处理方法30包括:步骤s31,在一个或多个同步时间窗口中,接收第一移动体所携带的移动设备的惯导数据以及通过全景摄像机拍摄的多个全景图像帧;步骤s32,基于所述第一移动体所携带的移动设备的惯导数据获得与所述移动设备的移动轨迹相关的第一信息,所述第一信息包括所述移动设备的移动轨迹在所述一个同步时间窗中的移动量和转向信息;步骤s33,基于所述全景图像帧获得与所述全景图像帧中检测到的一个或多个待识别移动体的移动轨迹相关的第二信息,所述第二信息包括所述一个或多个待识别移动体的移动轨迹在所述一个同步时间窗中的移动量和转向信息;步骤s34,比较所述第一信息和第二信息的相似性以匹配全景图像帧中的待识别移动体与携带所述移动设备的第一移动体。

在此,在一个实施例中,同步时间窗口可以是移动体、具体地例如人迈步一次的时间,如此可以遵循人迈步的规则来判断人的移动轨迹。

如此,可以处理和比较来自于全景视频流中检测到的多个待识别移动体和携带生成惯导数据的移动设备的第一移动体的轨迹的相似度将最相近的轨迹进行移动体(例如用户)身份认证和绑定,得到身份信息认证结果。例如,如果来自于全景视频流中检测到的多个待识别移动体的多个移动轨迹中有一个待识别移动体的移动轨迹与携带生成惯导数据的移动设备的某移动体的轨迹的相似度最大,则可以认为该待识别移动体就是携带该移动设备的该第一移动体。

注意,在本说明书中提到的全景图像帧并不限定于该全景图像帧的全部,而是可以包括全景图像帧的至少一部分,例如全景图像帧的全部(360度视角)、和全景图像帧的一部分(例如180度视角、90度视角、任意视角等等)。例如,虽然用全景摄像机拍摄了360度的全景图像帧,但是可能仅关注某一个区域(视角)处的移动体,因此可以仅提取全景图像帧中的该一个区域(视角)来进行本公开中提到的图像处理,如此可以节省计算量和存储量等成本。

在一个实施例中,如图3b所示,所述基于所述第一移动体所携带的移动设备的惯导数据获得与所述移动设备的移动轨迹相关的第一信息的步骤s32可以包括:步骤s321,基于所述惯导数据来获得行人航位推算(pdr)数据,其指示所述移动设备的移动轨迹的步态、步长和转向信息。

如此,可以得到移动设备的移动轨迹的步态、步长和转向信息作为与所述移动设备的移动轨迹相关的第一信息,作为第一移动体的移动轨迹信息。

在一个实施例中,如图3b所示,基于所述惯导数据来分析第一移动体的行为以获得行人航位推算(pdr)数据,其指示所述移动设备的移动轨迹的步态、步长和转向信息的步骤s321包括:步骤s3211,基于所述惯导数据来分析第一移动体的步态;s3212,基于所述惯导数据中的加速度值、陀螺仪值以及加速度值阈值、陀螺仪值阈值和所述第一移动体的步态,过滤掉一部分不可能的加速度值和陀螺仪值以获得备选加速度值和备选陀螺仪值;s3213,在一个同步时间窗口中,基于所述备选加速度值和在该同步时间窗口中的开始时的速度获得步长;s3214,基于步长阈值,过滤掉不可能的步长以获得备选移动量;s3215,基于所述备选陀螺仪值获得旋转向量值作为转向信息。

如此,具体地得到了移动设备的步态、步长和转向信息。

在一个实施例中,如图3c所示,在存在多个待识别移动体的情况下,所述基于所述全景图像帧获得与所述全景图像帧中的待识别移动体的移动轨迹相关的第二信息的步骤s33可以包括:步骤s331,在所述一个同步时间窗口中,获得检测到的多个待识别移动体在所述多个全景图像帧中的所有坐标位置;步骤s332,连接所述一个同步时间窗口中的开始和结束时的两个全景图像帧中的所述多个待识别移动体在所述全景图像帧中的所有坐标位置以获得所有可能的轨迹;步骤s333,基于待识别移动体的在预定时间长度内的位移阈值,从所述所有可能的轨迹中滤掉不可能的轨迹以获得备选轨迹。

在此,一个同步时间窗口中(比如一步),可能有多个全景图像帧,取开始时的第一全景图像帧和结束时的最后一全景图像帧进行坐标位置检测和轨迹计算,以降低计算量。当然计算其他两全景图像帧也可以。一般来说,如果系统实时性要求高,且同步时间窗口又小(比如一步之内),可以适当跳帧,甚至只处理多个连续的同步时间窗口中的每个的第一帧和最后一帧;如果系统处理能力强,要求精度高,或者同步时间窗口大(例如,多步),那可以在一个同步时间窗口内间隔地取多个全景图像帧来计算。但是在本公开中,通常用一步作为同步时间窗口,而一般一步是1秒,作为1秒的同步时间窗口内人的移动量不大,所以可以直接用一个同步时间窗口中的开始和结束时的两个全景图像帧计算。

在此,可以不进行人脸识别,只需要进行待识别移动体的位置识别,得到每个全景图像帧中的一个或多个待识别移动体的一个或多个位置,通过按多个全景图像帧的时间顺序一一连接这些位置,穷举一个或多个待识别移动体的可能的所有移动轨迹。由于全景图像帧的拍摄有已知的时间间隔,则可以比较所有移动轨迹在人的一次迈步的时间长度之间的移动量和通常的人的一步的长度(作为在预定时间长度内的位移阈值),再滤掉一次迈步的时间长度之间的移动量超过该在预定时间长度内的位移阈值的那种轨迹,则可以得到更符合人行走规律的备选轨迹。

当然,在此仅举例了人的迈步的位移阈值和迈步的时间长度,然而,本方案不限于此,还可以是其他类型的位移阈值和时间长度,例如人在跑步时的在预定时间长度内的位移阈值,某种动物在预定时间长度内运动的位移阈值等等。

在一个实施例中,如图3c所示,基于所述全景图像帧获得与所述全景图像帧中的待识别移动体的移动轨迹相关的第二信息的步骤s33还可以包括:步骤s334,基于所述全景图像,获得所述多个待识别移动体离全景图像帧的中心的实际距离;步骤s335,基于所述备选轨迹,获得所述多个待识别移动体相对于所述全景摄像机的旋转角度;步骤s336,基于所述距离和所述旋转角度,获得所述多个待识别移动体的备选移动量。

在此,由于全景图像帧是类似于鱼眼相机拍出的照片一样,在两个全景图像帧中的两个移动体之间的距离并非实际移动的距离。鱼眼成像的特点是越靠近中心,畸变越小,图像与实际越相符;越远离中心,畸变越大,图像与实际越不相符(比如图1b中左侧的黑色弧线,其实是实际中办公室隔板边线,应该是直线的,图像畸变成了曲线)。因此为了将全景图像帧中表示的距离换算为实际移动的距离,可以通过两个全景图像帧中识别出的两个待识别移动体的位置与全景图像帧中心(例如代表全景摄像机的安装位置附近)的各自的距离、以及两个待识别移动体相对于所述全景摄像机的旋转角度,通过三角形几何原理来计算两个全景图像帧中识别出的两个待识别移动体之间的备选移动量作为实际移动量。

在一个实施例中,如图3c所示,所述基于所述全景图像帧获得与所述全景图像帧中的待识别移动体的移动轨迹相关的第二信息的步骤s33还可以包括:步骤s337,基于所述待识别移动体离全景图像帧的中心的实际距离在一个同步时间窗口的开始和结束时的两个全景图像帧中的大小差异,判断所述待识别移动体的转向信息;步骤s338,如果所述大小差异为零,则基于所述待识别移动体的位置坐标在所述同步时间窗口的开始和结束时的两个全景图像帧中的大小差异,判断所述待识别移动体在所述同步时间窗口中的转向信息。

这是一种简单高效的判断移动体的转向信息的方式。通过一次到两次简单的比较判断,则可以获得转向信息,以得知移动体是向顺时针方向移动还是逆时针方向移动,或者移动体是向左移动还是向右移动等等。

在一个实施例中,如图3d所示,所述比较所述第一信息和第二信息的相似性以匹配全景图像帧中的待识别移动体与携带所述移动设备的第一移动体的步骤s34可以包括:步骤s341,确定比较时间窗口,所述比较时间窗口的长度是所述同步时间窗口的长度的倍数;步骤s342,在所述比较时间窗口中,比较所述第一信息中的移动量和所述第二信息中的所有备选移动量以得到距离相似度;步骤s343,在所述比较时间窗口中,比较所述第一信息中的转向信息和所述第二信息中的转向信息以得到转向相似度;步骤s344,基于所述距离相似度和所述转向相似度,判断所述一个或多个待识别移动体中哪个与携带所述移动设备的第一移动体相匹配。

如此,分别对移动量和转向信息比较其相似度,能够判断待识别移动体中哪个与携带移动设备的第一移动体相匹配,从而利用移动设备中存储的标识第一移动体的身份信息等的信息来识别出从全景摄像机拍摄到的该待识别移动体。比较相似度的方式可以包括最小方差、分类和聚类算法,如k最近邻(knn)和k均值(k-means)等等,在此不详细阐述。

如此,可以处理和比较来自于全景视频流中检测到的多个待识别移动体和携带生成惯导数据的移动设备的第一移动体的轨迹的相似度将最相近的轨迹进行移动体(例如用户)身份认证和绑定,得到身份信息认证结果。

下面结合附图4-15说明根据本发明的一个实施例的图像处理方法的一个例子的具体流程的细节,其中使用人作为移动体的例子,且使用人迈步一步的时间长度作为同步时间窗口的例子,当然,这仅是例子而非限制,而本发明不限于此。

图4示出了根据本发明的一个实施例的图像处理方法的一个例子的具体流程图。

该图像处理方法的一个例子的工作流程图包括:1)步骤s1,图像处理系统(以下称系统)的平台初始化;步骤s11,获得通过全景摄像机拍摄的包括全景图像帧的全景视频流,和步骤s12,获得来自第一人所携带的移动设备的惯导传感器的惯导数据;2)步骤s211,当系统收到绑定触发条件时,系统开始运动检测以从全景视频流中检测运动的人,并且步骤s212,基于运动的人的坐标点(位置),估计轨迹信息;3)步骤s221,同时或并行地,系统开始从惯导数据进行pdr分析,来分析人的行为,并且步骤s222,在每一步中(作为一个同步时间窗口的一个例子)计算步长(作为移动量的一个例子)和转向(信息);4)步骤s3,在一个比较时间窗口(等于同步时间窗口的倍数)中,系统对来自于全景视频流和来自移动设备的轨迹信息进行比较,滤去不可能的轨迹;5)步骤s4,基于轨迹的相似度,将移动设备中存储的第一人的身份信息绑定到轨迹相似度高的检测到的某个人身上,完成身份认证过程。

可以处理和比较来自于全景视频流中检测到的多个待识别身份的人和携带生成惯导数据的移动设备的第一人的轨迹的相似度将最相近的(相似度高的)轨迹进行人的身份认证和绑定,得到身份信息认证结果。

另外,在此提到的绑定触发条件是一种开启同步和识别过程的信号,可以是基于无线信号的接近来判断,例如通过低功耗蓝牙(bluetoothlowenergy,ble)接近来判断,通过视频接近判断处理,通过pdr分析接近来判断等。如此,基于绑定触发条件来开启根据本发明的实施例的图像处理的机制,图像处理系统无需在整个时间段内同步,而可以降低功耗。

图5示出了根据本发明的一个实施例的图像处理方法的一个例子的利用绑定触发条件来进行同步过程的流程图。

该同步过程流程图包括:1)先决条件:步骤s11,全景摄像机得到包括全景图像帧的全景视频流,步骤s12,获得来自第一人所携带的移动设备的惯导传感器的惯导数据;2)步骤s221-a,当绑定触发条件(例如用户接近、无线接近判断、视频接近判断等)到来时,处理惯导数据,通过pdr分析得到步数,进一步得到一步之中的步长和转向;并且步骤s221-b,设置同步时间窗口为一步或者几步;3)步骤s211,在同步时间窗口中,识别人,并且步骤s212在同步时间窗口中跟踪人;4)同时或并行地,步骤s222,基于pdr数据进行人的跟踪。

利用惯导数据来得到得到步数、且进一步得到一步之中的步长和转向是本领域技术人员公知的,在此不详细赘述。

如此,基于绑定触发条件来开启根据本发明的实施例的图像处理的机制,图像处理系统无需在整个时间段内同步,而可以降低功耗。

图6示出了根据本发明的一个实施例的图像处理方法的一个例子的同步时间窗口的示意图。

在此,以人迈步一步作为同步时间窗口的例子,因此,如图6所示的“新的一步”和另一个“新的一步”之间的一个同步时间窗口中可能搜集了全景视频流数据中的3帧全景图像帧以及惯导数据i2-i6。

而该作为一步的同步时间窗口的长度可以采用多种方式获得。例如,通过对惯导数据进行pdr分析来进行步数探测以获得一步的时间长度作为该同步时间窗口,或者根据步数传感器的步数传感数据来获得一步的时间长度作为该同步时间窗口,或者还可以通过预先设置通常人们迈步一步的预定时间长度来作为该同步时间窗口。

在此,利用同步时间窗口来同步对全景视频流的全景图像帧的轨迹处理和对惯导数据的轨迹处理,如此可以使得比较轨迹的相似度的起始时间点和终止时间点是相同的,如此能够更准确地进行轨迹的相似度的比较,从而更准确地判断两个轨迹是否相同或相似。

图7示出了根据本发明的一个实施例的图像处理方法的一个例子的基于包括全景图像帧的全景视频流获得移动轨迹的步骤的流程图。

基于全景视频流来获得轨迹的流程图包括:1)步骤s212-a,根据一个同步时间窗口内的全景图像帧中检测到的人的位置坐标点,按时间顺序连接它们,从而得到所有人的所有可能的路径轨迹;2)步骤s212-b,在每一个同步时间窗口中,假设人在一步内移动,得到人在每步内的每个移动路径的起始点和最终点,滤去长度长于通常人的一步长度阈值的路径,以减少计算量;3)步骤s212-c,计算检测的人与区域中心(通常为全景摄像机的安装位置投影到地面的点,具体的计算方法例如通过全景摄像机的安装位置点和投影点之间的距离,也就是全景摄像机的安装高度)的实际距离;4)步骤s212-d,基于步骤s212-c的结果,计算与轨迹相关的信息,包括实际的步长(作为移动量的例子)和转向。

图8示出了如图7所示的步骤中获得的与移动轨迹相关的信息(包括步长和转向)的例子的示意图。

在此与移动轨迹相关的信息是从全景视频流的轨迹处理中得到的,由以下步骤组成,如图8所示:

c-1)在每一个同步时间窗口中,得到检测到的所有人的所有位置坐标点;

c-2)基于这些位置坐标点,等到所有可能的轨迹,轨迹数量如公式(1):

numpath=∏length(pti)(1)

其中,pti表示检测到的所有人的所有位置坐标点。

c-3)在每一个同步时间窗口中,以最初和最后的点作为轨迹路径,滤去重复的轨迹,得到可能的轨迹,例如图8的左侧的从第2同步时间窗口的两个点2(分别为[pt21.x,pt21.y]、[pt22.x.,pt22.y])到第3同步时间窗口的一个点3([pt3.x,pt3.y]),再到第4同步时间窗口的三个点4([pt41.x.,pt41.y]、[pt42.x.,pt42.y]、[pt43.x.,pt43.y])的所有可能的轨迹(如图8的下侧所列出的每一行代表一个可能的轨迹);

c-4)在不同的同步时间窗口之间,结合步骤c-3中得到的可能的轨迹,滤去跳变大的轨迹(即轨迹路径的长度大于通常的人的一步的步长阈值的轨迹),得到备选轨迹;

c-5)基于全景图像的特性,计算在区域中的人的离区域中心(全景摄像机位置)的实际距离,如公式(2)所示:

其中,h是全景摄像机距离地面的高度,h是人的身高(在多人的情况下可以估计一个均值,比如1.7m),p是图像传感器的一个像素点尺寸大小,f是全景摄像机的鱼眼镜头的焦距。

c-6)基于c-5的结果,在同步时间窗口中,计算人的步长和转向。

图9示出了如图7所示的步骤中计算全景图像帧中的移动体与区域中心的实际距离的示意图。

见图9,通常位于天花板处的全景摄像机的光轴线与地面的交点可以作为区域中心,而假设检测到的人的像素尺寸为p,人的实际高度为h,检测到的人的位置坐标点与区域中心的像素距离为r,该位置坐标点的像素高度为n,像素宽度为m。

如此,可以通过如下公式来计算人的坐标位置与区域中心的实际距离d。

图10示出了根据图9所示的距离计算人的实际移动量的示意图。

人的实际移动量在此指的是在某一同步时间窗口内的步长,可以由公式(3)计算得出,如图10所示。

d12+d22+2×d1×d2×cosα1=sl2(3)

在此,d1为前一全景图像帧中检测的人与区域中心的实际距离,d2为接下来的后一全景图像帧中检测的人与区域中心的实际距离,sl表示人从前一全景图像帧到后一全景图像帧的实际移动量,α1表示检测的人从前一全景图像帧到后一全景图像帧的相对于所述全景摄像机的旋转角度。x1、y1和x2、y2分别是同一同步时间窗口内的两个全景图像帧中检测到的人在全景图像帧上的坐标。因为对于全景图像帧来说,虽然距离和移动量会发生畸变,但是对于角度,尤其是基于区域中心的夹角,全景图像和实际是相对应的,所以这里用全景图像帧上的夹角α1作为实际中的夹角。

图11示出了如图7所示的步骤中判断移动体的转向的示意图。

转向是指在某一同步时间窗口内的旋转方向,可以通过以下步骤来得到:

c-6-1)得到历史的转动方向;

c-6-2)在当前同步时间窗口中,比较检测到的人离区域中心的实际距离(比较在该同步实际窗口的最初的检测的坐标点离区域中心的实际距离、和在该同步实际窗口的最后的检测的坐标点离区域中心的实际距离),基于实际距离比较结果,判断可能的转动方式;

c-6-3)在当前同步时间窗口中,比较检测到的人的位置坐标,基于坐标比较,判断可能的转动方式;

c-6-4)基于前两项的判断结果,得到每一条轨迹的转向。

具体地,参考图11所示来详细说明比较的具体过程。

在转向计算中,已知量是:每个全景图像帧中检测到的人的坐标点(xi,yi),检测到的人与区域中心的实际距离di,其中i是全景图像帧的编号。

进行如下步骤:

1,通过全景图像帧之间的di比较,先判断人是远离中心还是靠近中心:

例如,如果d2大于d1,则说明第二个全景图像帧中人与中心的实际距离远于第一个全景图像帧中人与中心的实际距离,则可以认为人是远离中心的。

那么,该人的可能的运动范围左下的细实线段表示的范围。

2,通过xi、yi的比较,更具体地判断人可能的运动范围:

例如,如果x2大于x1,y1大于y2,则人的可能的运动范围是下方的粗实线段表示的范围。

3.通过历史值(x0,y0)(即前一同步时间窗口中的检测到的人的坐标值)或者未来值(x3,y3)(例如,后一同步时间窗口中的检测到的人的坐标值)判断可能的转向。

例如,如果x0<x1,y0>y1或者x3<x2,y3<y2,则可以判断人是顺时针旋转,如图11中箭头表示。

4,通过xi,yi计算人转动的幅度(具体的角度值)。该幅度或角度值的计算是根据图像上的坐标进行的。鱼眼图像带来的畸变会导致一定误差,但是由于根据前两项定性比较确定了转动的大致范围,加上人在短时间移动幅度有限,可以用图像中的转向角度大致估计实际的转向角度。

首先,进行(x0,y0)与(x1,y1)直线方程:

其次,进行(x2,y2)与(x1,y1)圆方程:

(x′-x1)2+(y′-y1)2=(x2-x1)2+(y2-y1)2(6)

然后,二者求解加上前面的定向判断,得到(x’,y’)。

然后,求解(x’,y’),(x2,y2)与(x1,y1)三角方程,其中得到转向角度α:

注意,在精度要求不高,需要快速响应的系统中,前三步的大致判断能满足要求的情况下,不必进行第4步计算,或者可以在第4步中直接通过先验证估计一个转向角度,以达到快速响应的实时效果。

图12示出了根据本发明的一个实施例的图像处理方法的一个例子的基于惯导数据来获得移动轨迹的步骤的流程图。

基于惯导数据的轨迹处理流程图,包括:1)步骤,s221-a得到惯导数据:加速度,陀螺仪和磁传感器;2)步骤s221-b,基于惯导数据,pdr分析过程得到进一步信息:步数,步长,转向;3)步骤s222-a,基于用户行为,加速度值和转向值有反函数关系,基于这种关系,过滤掉不合理的惯导数据;4)在每一步时间窗口中,步骤s222-b,得到步长,和步骤s222-c,得到转向。

pdr数据是基于移动设备的惯导数据,是结合pdr分析得到的。惯导数据包括加速度计、陀螺仪、磁传感器的结果数据。pdr分析包括步态检测、步长分析、和转向分析。

移动量是在某一同步时间窗口内的人的步长,由以下步骤来获得,如图12所示:

d-1)基于基本的惯导数据,分析用户行为,得到pdr数据;

d-2)基于加速度值、陀螺仪值和用户行为之间的关系,过滤到一部分加速度值和陀螺仪值(作为旋转向量);

d-3)在这一同步时间窗口内,根据公式(8)得到步长sl,并且根据用户行为判断步长的可行性:

其中,a表示加速度值,v_0表示在该同步时间窗口的最初的初始速度值,t表示该同步时间窗口的时间长度。该初始速度值可以通过例如如下三种方法来得到:一种是先验证预设,人的行走速度一般是1-1.5m/s;另一种是在上一步(或上一同步时间窗口)时保留最终的速度,然后将这一速度作为下一步(或下一同步时间窗口)的初速度;最后一种是认为人每一步都是一次短停留,初速度都是0。在此可以采用第一种,较精确,且误差较小。

图13a和13b示出了在图12所示的步骤中基于惯导数据判断转向的示意图。

在某一同步时间窗口内的转向通常是指旋转向量,通过以下步骤来获得,如图13所示:

d-1)基于基本的惯导数据,分析用户行为,得到pdr数据;

d-2)基于加速度值、陀螺仪值和用户行为之间的关系,过滤到一部分加速度值和陀螺仪值(旋转向量);

d-3)在这一同步时间窗口内,得到旋转向量值,如图13a所示。

具体地,在得到转向的步骤中,可以通过惯导数据中的陀螺仪的值得到旋转向量rotationvector(rv)作为转向信息,这是角度的反正切值,范围从-1到1。如果惯导数据中只输出陀螺仪的值,可以通过传统的pdr算法,调用相关的软件模块生成类似的转向向量。具体求解方法可以通过四元数方程对惯导数据进行求解:

其中θ表示绕y轴的旋转角度(相对于系统初始化时的指定的初始方向),δθ表示两次惯导数据采样之间的旋转角度,(x,y,z,w)表示对应旋转的四元数,ψ分别表示绕x轴和y轴的旋转角度(如图13b所示)。

如此,通过惯导数据得到了与移动轨迹相关的步长和转向信息。

注意,虽然以上示例了一些具体的公式,但是这些公式仅是示例,本领域技术人员可以根据本申请的原理来构造其他公式,在此不一一举例。

图14示出了根据本发明的一个实施例的图像处理方法中的过滤不可能的移动轨迹以及移动体的身份识别的流程图。图15示出了根据本发明的一个实施例的图像处理方法中的比较时间窗口的示意图。

通过比较移动轨迹来进行身份识别和身份绑定的过程,其中包括以下步骤,如图14所示:

e-1)步骤s411,在每一个同步时间窗口内,从来自于全景视频流的检测结果中得到移动量(在此为步长)和转向信息;

e-2)步骤s421,在每一个同步时间窗口内,从来自于惯导数据和pdr分析中得到移动量(在此为步长)和转向信息;

e-3)确定比较时间窗口,如图15所示,是同步时间窗口的倍数关系;

e-4-1)步骤s412,在比较时间窗口中,比较来自于全景视频流和惯导数据的移动量信息,得到相似度,如公式(11)所示,定义为滤波器a:

∑sim(dpi,dti)(11)

其中,dpi表示基于惯导数据得到的移动量,而dti表示基于全景视频流得到的移动量。该滤波器a是过滤掉不相似的移动量,例如两个移动量的方差较大的等等。例如,前面求了相似度sim,相似度一般是一个小于1的值,越接近1代表越相似。所以过滤可以是直接去sim值最小者,或者设定一定阈值范围,小于阈值的滤去。

e-4-2)步骤s422,在比较时间窗口中,比较来自于全景视频流和惯导数据的转向信息,得到相似度,如公式(12)所示,定义为滤波器b:

∑sim(tp′i,tti)(12)

其中,tp'i表示基于惯导数据得到的转向信息,而tti表示基于全景视频流得到的转向信息。该滤波器b是过滤掉不相似的转向信息,例如两个转向信息的方差较大的等等。例如,前面求了相似度sim,相似度一般是一个小于1的值,越接近1代表越相似。所以过滤可以是直接去sim值最小者,或者设定一定阈值范围,小于阈值的滤去。

如此,在步骤s43中,结合滤波器a和b,过滤掉不可能的轨迹。

e-4-3)步骤s44,结合历史的比较时间窗口的历史信息,滤去不可能的轨迹,定义为滤波器c:

结合历史的窗口,把同步时间窗口扩展,也就是扩展了比较轨迹的比较时间窗口的长度,比如以前是1s内比较,现在变成了3s内比较,比较的轨迹也增长了。然后还是根据滤波器a和滤波器b作为滤波器c按移动量和转向的比较来进行过滤。

e-5)最后,步骤s45,通过滤波器a、滤波器b、滤波器c,滤去所有不可能的轨迹,得到最有可能的轨迹,和两个轨迹对应的检测到的人,以将在全景视频流中检测到的人标识为与移动设备的惯导数据对应的人的身份。

当然,上述提到的滤波器a、b、c仅是示例,实际上任何可以过滤掉不可能的轨迹的方式都是可行的,被包括在本申请的范围内。

图16示出了根据本发明的一个实施例的图像处理装置1600的方框图。

图像处理装置1600包括:接收器1601,被配置为在一个或多个同步时间窗口中,接收第一移动体所携带的移动设备的惯导数据以及通过全景摄像机拍摄的多个全景图像帧;第一计算器1602,被配置为基于所述第一移动体所携带的移动设备的惯导数据获得与所述移动设备的移动轨迹相关的第一信息,所述第一信息包括所述移动设备的移动轨迹在所述一个同步时间窗中的移动量和转向信息;第二计算器1603,被配置为基于所述全景图像帧获得与所述全景图像帧中检测到的一个或多个待识别移动体的移动轨迹相关的第二信息,所述第二信息包括所述一个或多个待识别移动体的移动轨迹在所述一个同步时间窗中的移动量和转向信息;比较器1604,被配置为比较所述第一信息和第二信息的相似性以匹配全景图像帧中的待识别移动体与携带所述移动设备的第一移动体。

在一个实施例中,第一计算器1602可以被配置为:基于所述惯导数据来获得行人航位推算(pdr)数据,其指示所述移动设备的移动轨迹的步态、步长和转向信息。

在一个实施例中,第一计算器1602可以被配置为:基于所述惯导数据来分析第一移动体的步态;基于所述惯导数据中的加速度值、陀螺仪值以及加速度值阈值、陀螺仪值阈值和所述第一移动体的步态,过滤掉一部分不可能的加速度值和陀螺仪值以获得备选加速度值和备选陀螺仪值;在一个同步时间窗口中,基于所述备选加速度值和在该同步时间窗口中的开始时的速度获得步长;基于步长阈值,过滤掉不可能的步长以获得备选移动量;基于所述备选陀螺仪值获得旋转向量值作为转向信息。

在一个实施例中,第二计算器1603可以被配置为:在所述一个同步时间窗口中,获得检测到的多个待识别移动体在所述多个全景图像帧中的所有坐标位置;连接所述一个同步时间窗口中的开始和结束时的两个全景图像帧中的所述多个待识别移动体在所述全景图像帧中的所有坐标位置以获得所有可能的轨迹;基于待识别移动体的在预定时间长度内的位移阈值,从所述所有可能的轨迹中滤掉不可能的轨迹以获得备选轨迹。

在一个实施例中,第二计算器1603可以被配置为:所述基于所述全景图像帧获得与所述全景图像帧中的待识别移动体的移动轨迹相关的第二信息的步骤还包括:基于所述全景图像,获得所述多个待识别移动体离全景图像帧的中心的实际距离;基于所述备选轨迹,获得所述多个待识别移动体相对于所述全景摄像机的旋转角度;基于所述距离和所述旋转角度,获得所述多个待识别移动体的备选移动量。

在一个实施例中,第二计算器1603还可以被配置为:基于所述待识别移动体离全景图像帧的中心的实际距离在一个同步时间窗口的开始和结束时的两个全景图像帧中的大小差异,判断所述待识别移动体的转向信息;如果所述大小差异为零,则基于所述待识别移动体的位置坐标在所述同步时间窗口的开始和结束时的两个全景图像帧中的大小差异,判断所述待识别移动体在所述同步时间窗口中的转向信息。

在一个实施例中,比较器1604可以被配置为:确定比较时间窗口,所述比较时间窗口的长度是所述同步时间窗口的长度的倍数;在所述比较时间窗口中,比较所述第一信息中的移动量和所述第二信息中的所有备选移动量以得到距离相似度;在所述比较时间窗口中,比较所述第一信息中的转向信息和所述第二信息中的转向信息以得到转向相似度;基于所述距离相似度和所述转向相似度,判断所述一个或多个待识别移动体中哪个与携带所述移动设备的第一移动体相匹配。

如此,可以处理和比较来自于全景视频流中检测到的多个待识别移动体和携带生成惯导数据的移动设备的第一移动体的轨迹的相似度将最相近的轨迹进行移动体(例如用户)身份认证和绑定,得到身份信息认证结果。例如,如果来自于全景视频流中检测到的多个待识别移动体的多个移动轨迹中有一个待识别移动体的移动轨迹与携带生成惯导数据的移动设备的某移动体的轨迹的相似度最大,则可以认为该待识别移动体就是携带该移动设备的该第一移动体。

图17示出了根据本发明的一个实施例的移动设备的方框图。

图17所示的一种移动设备1700包括:数据收集器1701,被配置为搜集来自于移动设备的惯导数据;通信器1702,被配置为向图像处理装置1600发送搜集到的惯导数据,其中,所述图像处理装置1600在一个同步时间窗口中,接收第一移动体所携带的所述移动设备的惯导数据以及通过全景摄像机拍摄的多个全景图像帧;基于所述第一移动体所携带的移动设备的惯导数据获得与所述移动设备的移动轨迹相关的第一信息,所述第一信息包括所述移动设备的移动轨迹在所述一个同步时间窗中的移动量和转向信息;基于所述全景图像帧获得与所述全景图像帧中检测到的一个或多个待识别移动体的移动轨迹相关的第二信息,所述第二信息包括所述一个或多个待识别移动体的移动轨迹在所述一个同步时间窗中的移动量和转向信息;比较所述第一信息和第二信息的相似性以匹配全景图像帧中的待识别移动体与携带所述移动设备的第一移动体。

在此,图像处理装置1600还可以具有参考图17描述的结构,在此不赘述。

如此,可以处理和比较来自于全景视频流中检测到的多个待识别移动体和携带生成惯导数据的移动设备的第一移动体的轨迹的相似度将最相近的轨迹进行移动体(例如用户)身份认证和绑定,得到身份信息认证结果。例如,如果来自于全景视频流中检测到的多个待识别移动体的多个移动轨迹中有一个待识别移动体的移动轨迹与携带生成惯导数据的移动设备的某移动体的轨迹的相似度最大,则可以认为该待识别移动体就是携带该移动设备的该第一移动体。

图18示出了适于用来实现本发明实施方式的示例性图像处理系统的方框图。

该图像处理系统可以包括处理器(h1);存储器(h2),耦合于所述处理器(h1),且在其中存储计算机可执行指令,用于在由所述处理器执行时进行如在此描述各个实施例的方法的步骤。

处理器(h1)可以包括但不限于例如一个或者多个处理器或者或微处理器等。

存储器(h2)可以包括但不限于例如,随机存取存储器(ram)、只读存储器(rom)、快闪存储器、eprom存储器、eeprom存储器、寄存器、硬碟、软碟、固态硬盘、可移动碟、cd-rom、dvd-rom、蓝光盘等。

除此之外,该计算机系统还可以包括数据总线(h3)、输入/输出(i/o)总线(h4),显示器(h5)以及输入/输出设备(h6)(例如,键盘、鼠标、扬声器等)等。

处理器(h1)可以通过i/o总线(h4)经由有线或无线网络(未示出)与外部设备(h5、h6等)通信。

存储器(h2)还可以存储至少一个计算机可执行指令,用于在由处理器(h1)执行时本技术所描述的实施例中的各个功能和/或方法的步骤。

当然,上述的具体实施例仅是例子而非限制,且本领域技术人员可以根据本发明的构思从上述分开描述的各个实施例中合并和组合一些步骤和装置来实现本发明的效果,这种合并和组合而成的实施例也被包括在本发明中,在此不一一描述这种合并和组合。

注意,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本发明的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本发明为必须采用上述具体的细节来实现。

本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

本公开中的步骤流程图以及以上方法描述仅作为例示性的例子并且不意图要求或暗示必须按照给出的顺序进行各个实施例的步骤。如本领域技术人员将认识到的,可以按任意顺序进行以上实施例中的步骤的顺序。诸如“其后”、“然后”、“接下来”等等的词语不意图限制步骤的顺序;这些词语仅用于引导读者通读这些方法的描述。此外,例如使用冠词“一个”、“一”或者“该”对于单数的要素的任何引用不被解释为将该要素限制为单数。

另外,本文中的各个实施例中的步骤和装置并非仅限定于某个实施例中实行,事实上,可以根据本发明的概念来结合本文中的各个实施例中相关的部分步骤和部分装置以构思新的实施例,而这些新的实施例也包括在本发明的范围内。

以上描述的方法的各个操作可以通过能够进行相应的功能的任何适当的手段而进行。该手段可以包括各种硬件和/或软件组件和/或模块,包括但不限于硬件的电路、专用集成电路(asic)或处理器。

可以利用被设计用于进行在此描述的功能的通用处理器、数字信号处理器(dsp)、asic、场可编程门阵列信号(fpga)或其他可编程逻辑器件(pld)、离散门或晶体管逻辑、离散的硬件组件或者其任意组合而实现或进行描述的各个例示的逻辑块、模块和电路。通用处理器可以是微处理器,但是作为替换,该处理器可以是任何商业上可获得的处理器、控制器、微控制器或状态机。处理器还可以实现为计算设备的组合,例如dsp和微处理器的组合,多个微处理器、与dsp核协作的一个或多个微处理器或任何其他这样的配置。

结合本公开描述的方法或算法的步骤可以直接嵌入在硬件中、处理器执行的软件模块中或者这两种的组合中。软件模块可以存在于任何形式的有形存储介质中。可以使用的存储介质的一些例子包括随机存取存储器(ram)、只读存储器(rom)、快闪存储器、eprom存储器、eeprom存储器、寄存器、硬碟、可移动碟、cd-rom等。存储介质可以耦接到处理器以便该处理器可以从该存储介质读取信息以及向该存储介质写信息。在替换方式中,存储介质可以与处理器是整体的。软件模块可以是单个指令或者许多指令,并且可以分布在几个不同的代码段上、不同的程序之间以及跨过多个存储介质。

在此公开的方法包括用于实现描述的方法的一个或多个动作。方法和/或动作可以彼此互换而不脱离权利要求的范围。换句话说,除非指定了动作的具体顺序,否则可以修改具体动作的顺序和/或使用而不脱离权利要求的范围。

上述功能可以按硬件、软件、固件或其任意组合而实现。如果以软件实现,功能可以作为一个或多个指令存储在切实的计算机可读介质上。存储介质可以是可以由计算机访问的任何可用的切实介质。通过例子而不是限制,这样的计算机可读介质可以包括ram、rom、eeprom、cd-rom或其他光碟存储、磁碟存储或其他磁存储器件或者可以用于携带或存储指令或数据结构形式的期望的程序代码并且可以由计算机访问的任何其他切实介质。如在此使用的,碟(disk)和盘(disc)包括紧凑盘(cd)、激光盘、光盘、数字通用盘(dvd)、软碟和蓝光盘,其中碟通常磁地再现数据,而盘利用激光光学地再现数据。

因此,计算机程序产品可以进行在此给出的操作。例如,这样的计算机程序产品可以是具有有形存储(和/或编码)在其上的指令的计算机可读的有形介质,该指令可由一个或多个处理器执行以进行在此描述的操作。计算机程序产品可以包括包装的材料。

软件或指令也可以通过传输介质而传输。例如,可以使用诸如同轴电缆、光纤光缆、双绞线、数字订户线(dsl)或诸如红外、无线电或微波的无线技术的传输介质从网站、服务器或者其他远程源传输软件。

此外,用于进行在此描述的方法和技术的模块和/或其他适当的手段可以在适当时由用户终端和/或基站下载和/或其他方式获得。例如,这样的设备可以耦接到服务器以促进用于进行在此描述的方法的手段的传送。或者,在此描述的各种方法可以经由存储部件(例如ram、rom、诸如cd或软碟等的物理存储介质)提供,以便用户终端和/或基站可以在耦接到该设备或者向该设备提供存储部件时获得各种方法。此外,可以利用用于将在此描述的方法和技术提供给设备的任何其他适当的技术。

其他例子和实现方式在本公开和所附权利要求的范围和精神内。例如,由于软件的本质,以上描述的功能可以使用由处理器、硬件、固件、硬连线或这些的任意的组合执行的软件实现。实现功能的特征也可以物理地位于各个位置,包括被分发以便功能的部分在不同的物理位置处实现。而且,如在此使用的,包括在权利要求中使用的,在以“至少一个”开始的项的列举中使用的“或”指示分离的列举,以便例如“a、b或c的至少一个”的列举意味着a或b或c,或ab或ac或bc,或abc(即a和b和c)。此外,措辞“示例的”不意味着描述的例子是优选的或者比其他例子更好。

可以不脱离由所附权利要求定义的教导的技术而进行对在此描述的技术的各种改变、替换和更改。此外,本公开的权利要求的范围不限于以上描述的处理、机器、制造、事件的组成、手段、方法和动作的具体方面。可以利用与在此描述的相应方面进行基本相同的功能或者实现基本相同的结果的当前存在的或者稍后要开发的处理、机器、制造、事件的组成、手段、方法或动作。因而,所附权利要求包括在其范围内的这样的处理、机器、制造、事件的组成、手段、方法或动作。

提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本发明。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本发明的范围。因此,本发明不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。

为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本发明的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1