本申请涉及行为监测技术领域,尤其涉及一种行为分析方法及装置。
背景技术:
现有技术中进行行为监控基本采用摄像装置进行,但是,摄像装置采集的图像数据会将人们的日常行为进行详细记录,极其容易侵犯用户的隐私,如果发生外泄更会造成诸多隐患。
雷达作为一种电磁波探测设备,由于其具备的灵敏度高、无需直接接触、可穿透性强的特点越来越受到研究者的重视,其应用范围从最初用于军事到现在很多领域都用到了雷达技术,例如机场安检仪器中使用太赫兹雷达成像技术、机械振动测量、人类生命体征检测等。随着人工智能技术的发展,其与雷达技术相结合的研究成为一个重要的发展方向。
但是,现有技术中尚未出现如何将雷达技术应用到家庭等特定环境的监测中来的相关技术。
技术实现要素:
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种行为分析方法及装置。
第一方面,本申请提供了一种行为分析方法,包括:
获取监控区域的雷达检测信号;
根据所述雷达检测信号得到运动目标;
对所述运动目标进行跟踪得到所述运动目标的轨迹;
根据所述运动目标的轨迹,以及预先采集的第一部分区域的常规停滞时间信息,判断所述运动目标在所述第一部分区域的行为是否正常;其中,所述监控区域至少包括所述第一部分区域。
进一步的,如前述的行为分析方法,所述根据所述雷达检测信号得到运动目标,包括:
根据所述雷达检测信号得到所述监控区域的点云数据;
根据所述点云数据得到运动点;
对各个所述运动点进行聚类得到所述运动目标。
进一步的,如前述的行为分析方法,所述根据所述雷达检测信号得到所述监控区域的点云数据,包括:
根据所述雷达检测信号得到离散数字信号;
根据所述离散数字信号得到所述点云数据。
进一步的,如前述的行为分析方法,所述根据所述离散数字信号得到所述点云数据,包括:
通过离散快速傅里叶变换对所述离散数字信号进行频域分析得到所述监控区域中各个点的距离、方位角和仰角;
根据所述各个点的距离、方位角和仰角得到各个点的坐标信息;
根据前后帧的所述离散数字信号得到各个点的径向速度;
根据各个点的距离、方位角、仰角、径向速度和坐标信息得到包括所有点的信息的所述点云数据。
进一步的,如前述的行为分析方法,所述根据所述点云数据得到运动点,包括:
获取所述点云数据中各个点的径向速度;
将径向速度不为0的点记为所述运动点。
进一步的,如前述的行为分析方法,所述对各个所述运动点进行聚类得到所述运动目标,包括:
选择任一未聚类的运动点作为中心点;
根据各个所述运动点的坐标信息,在剩余运动点中选取一个与所述中心点之间距离小于预设的距离阈值的第一运动点,并进行保存;根据所述第一运动点与所述中心点得到更新后的中心点,并按此对所有所述运动点进行遍历,直至得到所有所述第一运动点以及最终的中心点;
根据所述最终的中心点以及所有第一运动点聚类得到所述运动目标。
进一步的,如前述的行为分析方法,对所述运动目标进行跟踪得到所述运动目标的轨迹,包括:
根据所述运动目标的对应的运动点,得到所述运动目标的第一点云数据;
根据所述第一点云数据判断所述运动目标是否是人;
若所述运动目标是人,则对所述运动目标进行跟踪得到所述运动目标的轨迹。
进一步的,如前述的行为分析方法,根据所述第一点云数据判断所述运动目标是否是人,包括:
根据所述第一点云数据提取所述运动目标的微多普勒特征:
将所述运动目标的微多普勒特征输入预先训练好的模型进行分类,并根据所述分类的结果判断所述模型是否是人;其中,所述模型为采用支持向量机对人运动时的微多普勒特征和一些会动的物体的微多普勒特征进行训练得到。
进一步的,如前述的行为分析方法,所述根据所述第一点云数据提取所述运动目标的微多普勒特征,包括:
根据所述运动目标在连续n帧的离散数字信号中的第一点云数据,计算得到最大径向速度,最小径向速度以及平均径向速度;其中,n为大于等于2的整数。
进一步的,如前述的行为分析方法,所述根据所述运动目标的轨迹,以及预先采集的第一部分区域的常规停滞时间信息,判断所述运动目标的行为是否正常,包括:
根据所述运动目标的轨迹,得到所述运动目标在第一部分区域的停滞时间信息;
将所述停滞时间信息输入预设的模型中得到对应的概率值;其中,所述预设的模型为通过将常规停滞时间信息作为训练样本,采用基于混合高斯模型的隐马尔科夫模型进行建模得到;
根据所述概率值以及预先设置的阈值判断所述运动目标的行为是否正常,并在所述概率值低于所述阈值时,判定所述运动目标的行为是异常行为。
进一步的,如前述的行为分析方法,所述预设的模型的建立方法为:
将采集的常规停滞时间信息进行分类得到至少一个行为组信息;其中,每个所述行为组信息中包括一个或多个所述常规停滞时间信息;
通过混合高斯模型以及各个所述行为组信息分别对不同的隐马尔可夫模型进行训练得到所述预设的模型;其中所述预设的模型的个数与所述行为组信息的个数相同。
进一步的,如前述的行为分析方法,
所述将所述停滞时间信息输入预设的模型中得到对应的概率值,包括:
将所述停滞时间信息输入到各个所述预设的模型中,得到每个所述预设的模型输出的概率值;其中,每个所述预设的模型都对应有一个阈值;
根据所述概率值以及预先设置的阈值判断所述运动目标的行为是否正常,包括:
若每个所述预设的模型输出的概率值都小于对应的阈值,则停滞时间信息为异常行为;反之则为正常行为。
第二方面,本申请提供了一种行为分析装置,包括:分布式雷达、信息处理模块、数据存储模块和网络设备;
所述分布式雷达,用于获取监控区域的雷达检测信号;
所述信息处理模块,用于根据所述雷达检测信号得到运动目标;以及
对所述运动目标进行跟踪得到所述运动目标的轨迹;以及
根据所述运动目标的轨迹,以及预先采集的第一部分区域的常规停滞时间信息,判断所述运动目标在所述第一部分区域的行为是否正常;其中,所述监控区域至少包括所述第一部分区域;
数据存储模块,至少存储有第一部分区域的常规停滞时间信息;
网络设备,用于将所述分布式雷达、信息处理模块以及数据存储模块相互通信连接。
本申请实施例提供了一种行为分析方法及装置,包括:获取监控区域的雷达检测信号;根据所述雷达检测信号得到运动目标;对所述运动目标进行跟踪得到所述运动目标的轨迹;根据所述运动目标的轨迹,以及预先采集的第一部分区域的常规停滞时间信息,判断所述运动目标在所述第一部分区域的行为是否正常;其中,所述监控区域至少包括所述第一部分区域。提供的上述技术方案与现有技术相比具有如下优点:采用雷达检测信号只会用户获取用户的位置信息,根据位置信息进行行为分析不会造成通过图像采集引起的侵犯用户隐私的情况;将其用于家庭等特定环境中的人的监护,可以有效提升生活和工作中的便利性和安全性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种行为分析方法的流程示意图;
图2为如图1所示步骤s2的一种实施例的方法流程示意图;
图3为如图1所示步骤s3的一种实施例的方法流程示意图;
图4为如图3所示步骤s32的一种实施例的方法流程示意图;
图5为如图1所示步骤s4的一种实施例的方法流程示意图;
图6为本申请一种实施例中分布式雷达所测区域示意图;
图7为本申请实施例提供的一种行为分析装置的模块结构示意图;
图8为本申请实施例提供的一种模型训练方法示意图;
图9为本申请实施例提供的一种异常行为判断方法示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,为本申请实施例提供的一种行为分析方法,包括如下所示步骤s1至s5:
s1.获取监控区域的雷达检测信号;
优选的,通过毫米波雷达信号对监控区域进行检测并获得雷达监测信号;
s2.根据雷达检测信号得到运动目标;
也就是说,通过雷达的检测,得到在监控区域内运动的物体,并将该物体认定为运动目标;且同一时刻中,监控区域中的运动目标的数量可以为0个,也可以为一个或多个;
s3.对运动目标进行跟踪得到运动目标的轨迹;
具体的,运动目标的跟踪使用扩展卡尔曼滤波跟踪算法,用于对前一时刻已有的运动目标进行跟踪;并且通过对运动目标进行持续跟踪,即可得到运动目标的轨迹;一般的,该轨迹为运动目标在监控区域内的轨迹;
s4.根据所述运动目标的轨迹,以及预先采集的第一部分区域的常规停滞时间信息,判断所述运动目标在所述第一部分区域的行为是否正常;其中,所述监控区域至少包括所述第一部分区域;进一步的,所述第一部分区域中包括一个或多个位置,所述常规停滞时间信息包括在每个位置的停滞时间信息;
具体的,如图6所示,第一部分区域为包含在监控区域中的一块区域;且第一部分区域可以是图中1至16中任意一个区域,同时,判断运动目标在任一区域的行为是否正常,均可按照本实施例中的方法进行;本步骤中的常规停滞时间信息,包括:起始时间、终止时间以及持续时间;一般的,不同区域的常规性质时间信息是各不相同的,举例来说:由于餐桌区域(即图中所示的区域15)一般是用于就餐使用的,因此对应的常规停滞时间信息(此处以起始时间、终止时间为例)为:6点-7点,11点-12点以及17点-18点之间;而床(即图中所示的区域9)是用于休息使用,因此其对应的常规停滞时间信息为:9点至次日6点,12点至13点。此外,常规停滞时间信息还会根据用户不同而存在差异性;因此,还可通过获取不同用户身份信息,并根据其身份信息获取其对应的常规停滞时间信息,然后针对性地判断该用户的行为是否正常。
如图2所示,在一些实施例中,如前述的行为分析方法,步骤s2.根据雷达检测信号得到运动目标,包括:
s21.根据雷达检测信号得到监控区域的点云数据;
具体的,雷达检测信号即为雷达的回波信号,根据雷达检测信号对监控区域内进行扫描,得到具有几何位置信息的点云数据;点云是在和目标表面特性的海量点集合;点云数据中的各个点都有对应的三维坐标;
s22.根据点云数据得到运动点;
具体的,由于雷达检测装置每发射一次雷达检测信号,都能够得到一帧对应的点云数据,因此,对比不同帧的点云数据即可得到点云数据中静止的点和运动的点(即为运动点);
s23.对各个运动点进行聚类得到运动目标;
具体的,一个运动目标(如:人)一般雷达会获取多个运动点来表示这个运动目标,因此需要通过聚类算法将同一个运动目标的各个运动点聚类到一起。
在一些实施例中,如前述的行为分析方法,根据雷达检测信号得到监控区域的点云数据,包括:
根据雷达检测信号得到离散数字信号;
也就是说,雷达检测信号是模拟信号,如要对其进行分析处理,先要将其转换为数字信号,即得到对应的离散数字信号;
根据离散数字信号得到点云数据,并包括:
通过离散快速傅里叶变换对离散数字信号进行频域分析得到监控区域中各个点的距离、方位角和仰角;
具体的,在其中一种应用中,各个点的距离、方位角和仰角以雷达设置的所在位置为原点进行测量得到;其中,距离为各个点与原点之间的距离,方位角为以原点建立的坐标系中的方位,仰角为原点至各个点的仰视角度;
根据各个点的距离、方位角和仰角得到各个点的坐标信息;
具体的,根据上一步骤中的方法,在确定原点即坐标系之后可以根据距离和方位得到各个点的平面坐标;根据距离及仰视角可以得到各个点对应的高度坐标;
根据前后帧的离散数字信号得到各个点的径向速度;
也就是说,在快速傅里叶变换的基础上,利用多普勒效应,根据前后帧不同的相位差来估计目标的径向速度;具体的,雷达是以固定频率(时间间隔)进行雷达波的发出,以及雷达检测信号的接收;因此,在确定前后帧(即当前帧与在其之前的任一帧,举例的:可以是当前帧与前一帧,也可以是当前帧与前5帧等等)离散数字信号中各个点的相位差之后,根据相位差以及时间间隔即可得到各个点的径向速度;
根据各个点的距离、方位角、仰角、径向速度和坐标信息得到包括所有点的信息的点云数据;
具体的,点云数据中的各个点的信息包括:各个点相对于原点的距离、方位角和仰角,以及径向速度、坐标信息。
在一些实施例中,如前述的行为分析方法,根据点云数据得到运动点,包括:
获取点云数据中各个点的径向速度;
具体的,为了防止因为点云数据采集的时间间隔过短造成同一点的相位差过小或没有相位差的情况,可以取间隔为n的两帧离散数字信号进行计算得到各个点的径向速度,其中n值可以根据具体的情况进行调整;举例的,当存在某个点的径向速度快的时候,可以取较小的n值进行计算;
将径向速度不为0的点记为运动点;
也就是说,根据各个点的径向速度判断其是否为运动点;当某一点的径向速度为0时,为静止点;当某一点的径向速度不为0,则说明其位置发生过移动,则记为运动点;此外,静止点会被滤掉。
在一些实施例中,如前述的行为分析方法,步骤s23.对各个运动点进行聚类得到运动目标,包括:
选择任一未聚类的运动点作为中心点;其中,未聚类的运动点为未聚类得到与其对应的运动目标的运动点;
也就是说,在所有未聚类的运动点中,任意选择其中一点,并作为中心点,用于进行聚类;由于监控区域中可能存在多个运动目标,因此聚类得到的运动目标也可能会存在多个,当未聚类得到运动目标时,则在所有运动点中进行聚类行为;当已经聚类得到一个运动目标之后,如果还需进行其它运动目标的聚类,则需将已经聚类得到的运动目标所对应的运动点进行删除,并在剩余的运动点中进行聚类;
根据各个运动点的坐标信息,在剩余运动点(未聚类的运动点中除去中心点之外剩余的运动点)中选取一个与中心点之间距离小于预设的距离阈值的第一运动点,并进行保存;根据第一运动点与中心点得到更新后的中心点,并按此对所有运动点进行遍历,直至得到所有第一运动点以及最终的中心点;此外,在聚类之前,可以对各个运动点进行标号,以便于聚类时运动点的选择;
根据最终的中心点以及所有第一运动点聚类得到运动目标;
本实施例中以得到一个运动目标为例,当执行本步骤之后若还存在其他未聚类的运动点,则还可对其它运动点按照本实施例中的方法进行聚类,直至各个运动点都有对应的运动目标;
具体的:1)获取当前没有聚类的运动点,随机选取一个运动点,以此运动点为中心点,在剩下的运动点中依次选取一个计算选取的两个运动点之间的距离;2)若距离大于距离阈值,则舍弃该运动点,在剩下的运动点中依次选取下一个计算选取的两个运动点之间的距离;若距离小于距离阈值,则将选取的运动点保存下来,与之前保存的运动点求平均,并得到更新后的中心点,继续在剩下的运动点中依次选取下一个计算与更新后的中心点之间的距离;3)重复上述过程,直到将点云数据中的所有运动点遍历一遍,每个聚类就是一个新目标。
由于当前场景中根据目标的聚类和跟踪能够统计出当前区域中有多少个运动目标,但并不知道目标是否是人,因此需要将每个目标进行分类。
因此,如图3所示,在一些实施例中,如前述的行为分析方法,步骤s3中记载的对运动目标进行跟踪得到运动目标的轨迹,包括:
s31.根据运动目标的对应的运动点,得到运动目标的第一点云数据;
也就是说,确定各个运动目标上的点云数据,进而可以根据点云数据进行特征提取,以判断该目标是否是人;
s32.根据第一点云数据判断运动目标是否是人;
具体的,不同的运动目标所对应的点云数据各不相同,其中一种判断方法可以是:当运动目标是人的时候,其对应的点云数据则显示是两条腿,而当运动目标是狗的时候,其对应的点云数据则显示为四条腿;
s33.若运动目标是人,则对运动目标进行跟踪得到运动目标的轨迹;
也就是说,只在运动目标是人的时候,才会对其进行跟踪并得到轨迹;举例的:当运动目标是扫地机器人时,其常常穿梭在各种家具底下,经常会出现跟踪失败的情况;若获得此类运动目标,并以此获得进出口区域的话,会将各种家具附近的区域也判定为进出口区域,造成数据不准确,因此只采用人作为运动目标,可以有效避免相应的问题出现。
如图4所示,在一些实施例中,如前述的行为分析方法,步骤s32中记载的根据第一点云数据判断运动目标是否是人,包括:
s321.根据第一点云数据提取运动目标的微多普勒特征:
也就是说,根据第一点云数据提取运动目标的微多普勒特征,并通过微多普勒特征中的各种速度特征对运动目标进行分类判断;
s322.将运动目标的微多普勒特征输入预先训练好的模型进行分类,并根据分类的结果判断模型是否是人;其中,模型为采用支持向量机对人运动时的微多普勒特征和一些会动的物体的微多普勒特征进行训练得到;
也就是说,预先训练好一个用于对运动目标进行实时分类的模型,且该模型是采用支持向量机对采集得到的人运动时的微多普勒特征和一些在具体场景中会动的物体的微多普勒特征(即两个类别)进行训练得到的,使其能够根据微多普勒特征分类得到运动目标是人还是其他会动的物体;进一步的,若根据其他某些会动的物体的轨迹也能够得到准确的进出口区域的话,也可根据其微多普勒特征进行训练,用于后期能够识别得到该会动的物体的种类。
在一些实施例中,如前述的行为分析方法,步骤s321中记载的根据第一点云数据提取运动目标的微多普勒特征,具体包括:
根据运动目标在连续n帧的离散数字信号中的第一点云数据,计算得到最大径向速度,最小径向速度以及平均径向速度;其中,n为大于等于2的整数;优选的,n为30;其中,最大径向速度以及最小径向速度可以分别根据相邻两帧之间的最大位移以及最小位移计算得到,平均径向速度可以根据n帧中的位移距离以及时长计算得到。
如图5所示,在一些实施例中,如前述的行为分析方法,步骤s4中根据所述运动目标的轨迹,以及预先采集的第一部分区域的常规停滞时长,判断所述运动目标的行为是否正常,包括:
s41.根据运动目标的轨迹,得到运动目标在第一部分区域的停滞时间信息;
具体的,根据运动目标的轨迹,可以得到运动目标在监控区域中各个位置的停滞时间信息;进而也就可以得到在第一部分区域中的停滞时间信息;具体的,第一部分区域中可以包括一个或多个地点,停滞时间信息可以为:记录在各个位置的起始时间(时间-起始),终止时间(时间-终止)和持续时间(时间-持续)。例如,一个停滞时间信息可以如下所示:则该样本序列为:
{{位置1,时间-起始,时间-终止,时间-持续},{位置2,时间-起始,时间-终止,时间-持续},{位置3,时间-起始,时间-终止,时间-持续},…};
进一步的,上述的位置1、位置2、位置3、位置4、位置5对应的实际地点可以是:床、卫生间、厨房、饭桌、门等等;此外,停滞时间信息也可以是仅仅在一个位置的相关信息,例如:{位置1,时间-起始,时间-终止,时间-持续};具体的设置可以根据实际情况进行选定;
s42.将停滞时间信息输入预设的模型中得到对应的概率值;其中,预设的模型为通过将常规停滞时间信息作为训练样本,采用基于混合高斯模型的隐马尔科夫模型(即:gmm-hmm模型)进行建模得到;
s43.根据概率值以及预先设置的阈值判断运动目标的行为是否正常,并在概率值低于阈值时,判定运动目标的行为是异常行为;
也就是说,所述预设的模型对应有阈值,并且是通过阈值与概率值之间的大小比对得到判断结果的。
在一些实施例中,如前述的行为分析方法,预设的模型的建立方法为:
将采集的常规停滞时间信息进行分类得到至少一个行为组信息;其中,每个行为组信息中包括一个或多个常规停滞时间信息;
一般的,分类标准为将比较相似的行为对应的常规停滞时间信息分到一个行为组信息中,例如:{饭桌,时间-起始(7:30),时间-(8:00),时间-持续(30分钟)}与{饭桌,时间-起始(7:20),时间-(7:45),时间-持续(25分钟)}相似,将其分到同一个行为组信息中;分类的数目根据实际情况而定;
通过混合高斯模型以及各个行为组信息分别对不同的隐马尔可夫模型进行训练得到预设的模型;其中预设的模型的个数与行为组信息的个数相同;
也就是说,如图8所示,根据上一步骤中得到的不同行为组信息,共用一个gmm模型(混合高斯模型),一类训练一个hmm模型(隐马尔可夫模型)。
在一些实施例中,如图9所示,如前述的行为分析方法,
将停滞时间信息输入预设的模型中得到对应的概率值,包括:
将停滞时间信息输入到各个预设的模型中,得到每个预设的模型输出的概率值;其中,每个预设的模型都对应有一个阈值;
具体的,每个模型的阈值的获得方法可以为:将正常行为与异常行为的正常停滞时间信息与异常停止时间信息都输入模型中,并得到对应的概率值,由于在输入前已经知道行为是正常或异常的,因此可以判断什么样的概率值对应的行为是正常的,什么样的概率值对应的行为是异常的,因而在一定量数据的基础上据此得到每个预设的模型对应的阈值;
由于每类行为都进行了划分,并得到了对应的预设的模型,因此,停滞时间信息需要输入各个预设的模型中以获得概率值;只要符合正常行为中的一种即可判定为正常;
根据概率值以及预先设置的阈值判断运动目标的行为是否正常,包括:
若每个预设的模型输出的概率值都小于对应的阈值,则停滞时间信息为异常行为;反之则为正常行为;
也就是说,需要将各个预设的模型中获得的概率值与其对应的阈值做比较,只要其中一个预设的模型下的概率值大于或等于对应的阈值,则说明该停止时间信息代表的行为是能够与其中一个正常行为对应上的,则其为正常行为;反之,都对应不上,则为异常行为。
如图7所示,根据本申请的另一个实施例,还提供了一种行为分析装置,包括:分布式雷达1、信息处理模块2、数据存储模块3和网络设备4;
所述分布式雷达1,用于获取监控区域的雷达检测信号;
所述信息处理模块2,用于根据所述雷达检测信号得到运动目标;以及
对所述运动目标进行跟踪得到所述运动目标的轨迹;以及
根据所述运动目标的轨迹,以及预先采集的第一部分区域的常规停滞时间信息,判断所述运动目标在所述第一部分区域的行为是否正常;其中,所述监控区域至少包括所述第一部分区域。
数据存储模块3,用于至少存储第一部分区域的常规停滞时间信息;
网络设备4,所述网络设备用于将分布式雷达、信息处理模块以及数据存储模块相互通信连接。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。