具体实施中,获取检测区块的颜色信息和深度信息可以通过RGBD传感器获取。
其中,RGBD传感器可以同时获取检测场景中的RGB信息(也即颜色信息)和深度信息(Depth),相对于传统只利用颜色信息的2D图像分析技术,深度信息的加入使得待检测的门的分析更加准确。
在具体实施中,还可以采用其他深度传感器,本申请对此不做限制。
采用本申请实施例所提供的门的开关状态变化检测方法,只需要对待检测的门配置检测区块,不会对待检测的门这一实体进行侵入式改进,也即无需对待检测的门进行物理改装;本申请实施例所提供的检测方法可以在一个场景下同时检测多个待检测的门,只要检测场景内可以获得检测区块的颜色信息和深度信息即可,相对于现有技术中需要对每一个待检测的门进行物理改装来说,本申请实施例所提供的检测方法扩展性较好;且本申请实施例是基于计算机视觉的检测方法,无需安排专门的人员时刻查看监控录像,可以自动检测出门的开关状态变化,极大地降低了人力成本;除此之外,本申请实施例同时利用颜色信息和深度信息,相对于现有技术中仅依赖颜色信息进行检测的方式,具有更高的准确性。
实施中,配置背景模型中待检测的门的第一检测区块和当前场景中待检测的门的第二检测区块,可以包括:
配置待检测的门的检测位置;
根据检测位置的第一深度信息生成第一检测半径,所述第一检测半径为预设固定系数与第一深度信息的商;
根据检测位置的第二深度信息生成第二检测半径,所述第二检测半径为预设固定系数与第二深度信息的商;
根据检测位置和第一检测半径确定待检测的门的第一检测区块,根据检测位置和第二检测半径确定第二检测区块。
本申请实施例中可以先配置检测位置(或者称采样点),可以通过采样等方式进行确定,然后根据检测位置的深度信息生成检测半径r。其中,检测半径r=α/d,α为固定系数,d为采样中心点的深度值。最后,根据检测位置(或采样中心点的坐标)和检测半径确定待检测的门的检测区块。以配置背景模型中第一检测区块为例,假设配置检测位置为(100,200),背景模型中该检测位置的深度为4000,预设固定系数为16000,则检测半径4(也即16000/4000),那么第一检测区块则为以(100,200)为中心4个像素点为半径的圆;以配置当前场景中第二检测区块为例,假设检测位置为(100,200)的深度变化为4010,则检测半径为3.99(也即16000/4010),那么第二检测区块为以(100,200)为中心,3.99个像素点为半径的圆。
本申请实施例首先配置待检测的门的检测位置,然后根据该位置的深度信息生成检测半径r,最终根据检测位置和检测半径确定检测区块,使得检测区块的大小可以根据深度信息的不同而适应变化,提高检测区块的准确性,以便进一步提高检测精度。
实施中,根据第一颜色信息和第一深度信息以及第二颜色信息和第二深度信息,检测所述待检测的门的开关状态变化,可以包括:
将第一检测区块和第二检测区块调整为固定尺寸;
根据第一颜色信息和第一深度信息计算第一检测区块的平均亮度、平均深度值以及HOG(方向梯度直方图,Histogram of Oriented Gradient)特征;根据第二颜色信息和第二深度信息计算第二检测区块的平均亮度、平均深度值和HOG特征;
根据第一检测区块的平均亮度、平均深度值以及HOG特征以及第二检测区块的平均亮度、平均深度值和HOG特征,确定所述待检测的门的开关状态是否发生变化。
本申请实施例中首先分别将第一检测区块和第二检测区块resize到固定尺寸,以避免由于深度信息的不同(距离镜头的远近变化)导致检测区块内像素数量的差异,为后续进行计算等操作步骤提供较为准确的数据;例如,假设第一检测区块为以(100,200)为中心4个像素点为半径的圆,第二检测区块为以(100,200)为中心,4个像素点为半径的圆,将这两个块的大小调整为4×4尺寸。然后对获取到的颜色信息和深度信息进行进一步的计算,计算得到分别第一检测区块和第二检测区块的平均亮度L、平均深度值D,计算检测区块的HOG特征等,通过比较这些参数来检测出待检测的门的开关状态变化。
实施中,根据第一检测区块的平均亮度、平均深度值和HOG特征以及第二检测区块的平均亮度、平均深度值和HOG特征,确定所述待检测的门的开关状态是否发生变化,可以包括:
如果第一检测区块的平均深度值与第二检测区块的平均深度值的差值大于预设第一阈值,则确定待检测的门的开关状态发生变化。
假设第一检测区块的平均深度值为4000,第二检测区块的平均深度值为6000,预设第一阈值为50,由于第一检测区块的平均深度值与第二检测区块的平均深度值的差值为2000,大于预设第一阈值50,因此,可以确定待检测的门的开关状态发生了变化。
本申请实施例中通过比较平均深度值来检测门的开关状态变化,如果平均深度值发生变化后其差值大于预设第一阈值,说明该检测区块已经向镜头前或后有较大移动,由于检测区块为门的一部分,可以确定出待检测的门被打开或被关闭的状态变化。
实施中,根据第一检测区块的平均亮度、平均深度值和HOG特征以及第二检测区块的平均亮度、平均深度值和HOG特征,确定所述待检测的门的开关状态是否发生变化,可以包括:
如果第一检测区块的平均深度值与第二检测区块的平均深度值的差值小于预设第一阈值,比较第一检测区块的HOG特征与第二检测区块的HOG特征,当第一检测区块的HOG特征与第二检测区块的HOG特征的差值大于预设第二阈值时,确定待检测的门的开关状态发生变化。
假设第一检测区块的平均深度值为4000,第二检测区块的平均深度值为4014,则二者的差值14小于预设第一阈值52,这时则继续比较HOG特征;假设预设第二阈值为0.2,第一检测区块的HOG特征与第二检测区块的HOG特征的差值为0.3,大于预设第二阈值0.2,因此,可以确定待检测的门的开关状态发生了变化。
本申请实施例中在比较平均深度值的基础上增加了颜色信息的检测,如果第一检测区块的平均深度值与第二检测区块的平均深度值的差值小于预设第一阈值,则继续比较第一检测区块的HOG特征与第二检测区块的HOG特征,由于HOG特征可以体现出光照变化和阴影等颜色信息的变化,当第一检测区块的HOG特征与第二检测区块的HOG特征的差值大于预设第二阈值时,说明检测区块的亮度等颜色信息发生了变化,进一步可以确定出待检测的门的开关状态可能发生了变化。
深度信息发生变化通常可以确定检测区块被前后移动,而颜色信息发生变化则可能是由于光照等变化引起的,并不一定是检测区块被前后移动。因此,由于本申请实施例是增加了平均深度变化的比较,可以在一定程度上消除光照等颜色变化所带来的错误判断,提高了检测的准确性。
实施中,分别在多个检测位置配置第一检测区块和第二检测区块,所述根据第一颜色信息和第一深度信息以及第二颜色信息和第二深度信息,检测所述待检测的门的开关状态变化,可以具体为:
根据第一颜色信息和第一深度信息以及第二颜色信息和深度信息,分别确定出每个检测位置的开关状态变化;
根据每个检测位置的开关状态变化,确定所述待检测的门的开关状态变化。
本申请实施例通过在多个检测位置配置第一检测区块和第二检测区块,分别得到每个检测位置的开关状态变化后,可以通过对每个检测位置的开关状态变化进行统计,当大多数检测位置的开关状态发生变化时,那么就确定待检测的门的开关状态发生变化;反之,当大多数检测位置的开关状态没有发生变化时,那么就确定待检测的门的开关状态没有发生变化。当然,也可以采用设置阈值的方式,例如当开关状态发生变化的检测位置的数量大于预设的阈值时,则确定待检测的门的开关状态发生变化,反之,待检测的门的开关状态没有发生变化。
本申请实施例通过在多个检测位置配置检测区块来得到待检测的门的最终状态变化,可以防止门的其中一部分发生前后变化而门这一整体并未发生变化的情况,使得准确性进一步提高,降低误检率。
在具体实施中,门的开关状态变化检测方法可以进一步包括:
当待检测的门的位置发生变化时,动态确定待检测的门的检测区块。
在具体实施过程中,可能存在待检测的门被移动的情况,在这种情况下,本申请实施例提出可以通过动态目标跟踪方式。可以首先对待检测的门进行边缘提取、特征提取等操作,在识别待检测的门后,对待检测的门进行跟踪。
其中,目标跟踪定位可以采用现有的运动目标跟踪定位方式,例如,对待检测的门进行特征匹配和邻域线性搜索等检测跟踪算法,动态确定待检测的门的检测区块。
本申请实施例可以在待检测的门的位置发生变化时,动态确定待检测的门的检测区块,以达到更好的实时检测效果。
实施中,门的开关状态变化检测方法可以进一步包括:
当检测到所述待检测的门的开关状态发生变化时,可以通过有线网络或无线网络等发送报警信息。
在实际使用过程中,根据检测区块的颜色信息和深度信息的变化确定待检测的门的开关状态发生变化时,本申请实施例还可以进一步发送报警信息,以及时提醒达到安全防范的目的。
为了便于本申请的实施,下面以实例进行说明。
当需要对资料室的资料存储柜进行安全防范时,可以在资料室内设置RGBD传感器,使得所要检测的资料存储柜的柜门处于RGBD传感器的检测场景内。
其中,RGBD传感器可以设置于资料室屋顶上方,也可以设置于资料存储柜的正对墙面上,本申请对于RGBD传感器的具体安装位置不作限制。
图2示出了资料室检测场景的示意图,左图是柜门处于关闭状态时的场景示意图(背景模型示意),右图是柜门处于打开状态时的场景示意图(当前场景示意)。
首先在柜门处于关闭状态时,用户可以通过鼠标或键盘等方式在RGB场景中点击采样,这些点即构成了柜门的采样点。在图2中,假设门把手的位置为用户点击确定的第一采样点,Z1表示第一采样点与RGBD传感器的距离;柜门右下角的位置为用户点击确定的第二采样点,Z2表示第二采样点与RGBD传感器的距离,Z1和Z2均为本申请实施例中所说的深度信息。也即,在本申请实施例中配置了两个检测位置(第一采样点和第二采样点)。
对每一个采样点,根据每个采样点的深度信息分别生成一个检测区块patch,patch可以包括两部分:patch的中心点(或称检测位置)和patch的半径(或称检测半径),patch的中心点是采样的坐标,patch的半径可以通过以下方式计算得到:
r=α/d,其中r是半径,α是固定系数,d是patch中心点的深度值。
例如,对于门把手位置(检测位置1),用户通过鼠标点击确定了该门把手采样点,采样的坐标(检测位置)为(320,240),采样中心点的深度值为5,假设固定系数为45,那么门把手这一检测区块(第一检测区块1)的检测半径则为9(固定系数45/深度值5)个像素点;进一步的,第一检测区块1则是以坐标(320,240)为中心点、以9个像素点为半径的检测范围。
在显示屏幕上可以通过红色圆圈等方式来标示柜门的检测区块,当然,也可以采用其他方式进行标识,本申请对此不作限制。
在图2的左图和右图中,分别以内部带×的圆形作为示例,标示出第一采样点的第一检测区块1和第二检测区块1以及第二采样点的第一检测区块2和第二检测区块2。
所有采样点生成的patch构成一个检测单元patch unit,将patch unit中的每个patch信息保存到文件中,该文件即为柜门的配置文件。
在进行柜门的开关状态变化检测时,首先加载柜门的配置文件;根据配置文件中patchunit中的每个patch的位置、分别对当前场景和背景模型获取检测区块的颜色信息和深度信息。其中,可以利用RGBD传感器获取柜门检测区块的颜色信息和深度信息。
对于不同的检测区块来说,由于检测区块的深度值不同,可能会导致检测区块内的像素数不同,例如:在左图中第一检测区块1离镜头较远,第一检测区块1的大小为2×2,在右图中第二检测区块1离镜头较近,第二检测区块1的大小为8*8。本申请实施例在实际计算平均亮度、平均深度值等参数之前,可以先将背景模型和当前场景的patch resize到固定大小,例如,将第一检测区块1和第二检测区块1分别resize为4*4,以确保后续的计算结果更为准确、可靠。将固定大小的patch进行高斯平滑,遍历patch的点计算平均亮度L、平均深度值D;计算patch区块的HOG特征,并对HOG特征进行L2归一化。
对HOG特征进行归一化的目的主要是为了使HOG特征对光照、阴影和边缘变化等具有鲁棒性。对HOG特征进行归一化还可以采用其他方式,本申请实施例仅以L2为例进行说明,但并不意味着仅限于这种方式,本领域技术人员可以根据实际需要采用相应的归一化方式,本申请对此不作限制。
根据配置文件中的patch unit的每个patch的位置计算其颜色特征和深度特征G(F)和G(B),其中颜色特征包括平均亮度L、HOG特征,深度特征可以包括平均深度值D。
对于每个patch的G(F)和G(B),如果背景模型中patch的平均深度值与当前场景中patch的平均深度值的差的绝对值大于预设的第一阈值,则确定该patch的开关状态发生变化,由于本申请实施例假设初始状态柜门为关闭状态,因此,可以确定出该patch的开关状态为开;
如果背景模型中patch的平均深度值与当前场景中patch的平均深度值的差的绝对值小于预设的第一阈值,则继续比较HOG特征;如果背景模型中HOG特征与当前场景中HOG特征的差值大于预设的第二阈值,则确定该patch被打开。
最终,再通过比较patch unit包含的所有patch的开关状态统计得到门的最终状态,例如,假设开关状态发生变化的patch数量占比大于80%,则确定柜门被打开。
当有人打开柜门时,RGBD传感器获取到的柜门检测区块内的颜色信息和深度信息发生变化,也即,由于柜门与RGBD传感器的距离发生变化,相应的,深度信息的值也会增大,例如,如图2的右图所示,第二检测区块1和第二检测区块2的平均深度值分别为Z1’、Z2’,与第一检测区块1和第二检测区块2的平均深度值Z1、Z2相比均发生变化,此外,颜色信息也可能会相应发生改变。据此,本申请实施例可以根据颜色信息和深度信息的变化分别检测出门把手位置、门右下角位置的状态均为开,最终确定柜门被打开。
进一步的,还可以立即发送报警信息给监控管理人员,例如:可以发送短信或弹出提示框等形式,发送“有人打开资料存储柜门”等类似的报警信息,以达到实时监控的目的;同时,还可以将场景检测视频/图像传输给监控管理人员,以便协助监控管理人员进行后续分析。
基于同一发明构思,本申请实施例中还提供了一种门的开关状态变化检测装置,由于这些设备解块问题的原理与一种门的开关状态变化检测方法相似,因此这些设备的实施可以参见方法的实施,重复之处不再赘述。
图3示出了本申请实施例中门的开关状态变化检测装置的结构示意图,如图所示,门的开关状态变化检测装置,可以包括:
配置模块301,用于配置背景模型中待检测的门的第一检测区块和当前场景中待检测的门的第二检测区块;其中,所述第一检测区块和第二检测区块的检测位置相同;
获取模块302,用于获取第一检测区块的第一颜色信息和第一深度信息,以及第二检测区块的第二颜色信息和第二深度信息;
检测模块303,用于根据第一颜色信息和第一深度信息以及第二颜色信息和第二深度信息,检测所述待检测的门的开关状态变化。
实施中,配置模块301可以包括:
配置单元3011,用于配置待检测的门的检测位置;
生成单元3012,用于根据所述检测位置的第一深度信息生成第一检测半径,所述第一检测半径为预设固定系数与第一深度信息的商;根据所述检测位置的第二深度信息生成第二检测半径,所述第二检测半径为预设固定系数与第二深度信息的商;
第一确定单元3013,用于根据检测位置和第一检测半径确定待检测的门的第一检测区块,并根据所述检测位置和第二检测半径确定第二检测区块。
实施中,检测模块303可以包括:
调整单元3031,用于将第一检测区块和第二检测区块调整为固定尺寸;
计算单元3032,用于根据第一颜色信息和第一深度信息计算第一检测区块的平均亮度、平均深度值以及HOG特征;根据第二颜色信息和第二深度信息计算所述第二检测区块的平均亮度、平均深度值和HOG特征;
第二确定单元3033,用于根据第一检测区块的平均亮度、平均深度值以及HOG特征以及第二检测区块的平均亮度、平均深度值和HOG特征,确定所述待检测的门的开关状态是否发生变化。
实施中,第二确定单元3033可以具体用于如果第一检测区块的平均深度值与所述第二检测区块的平均深度值的差值大于预设第一阈值,则确定待检测的门的开关状态发生变化。
实施中,第二确定单元3033可以具体用于如果第一检测区块的平均深度值与第二检测区块的平均深度值的差值小于预设第一阈值,比较第一检测区块的HOG特征与第二检测区块的HOG特征,当第一检测区块的HOG特征与第二检测区块的HOG特征的差值大于预设第二阈值时,确定待检测的门的开关状态发生变化。
实施中,配置模块301可以用于在多个检测位置分别配置第一检测区块和第二检测区块;检测模块303用于根据第一颜色信息和第一深度信息以及第二颜色信息和第二深度信息,分别确定出每个检测位置的开关状态变化,根据每个检测位置的开关状态变化,确定待检测的门的开关状态变化。
上述实施例中,均可以采用现有的功能元器件模块来实施。例如,确定模块可以是任意一个具备确定检测区块功能的设备都具备的元器件;至于获取模块则可以是现有的获取颜色信息和深度信息的设备都具备的元器件,至少,现有视频分析技术中采用的RGBD传感器上便具备实现该功能元器件;同时,检测模块进行检测的具体步骤都可以采用现有的技术手段,本领域技术人员经过相应的设计开发即可实现。
为了描述的方便,以上所述装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本申请时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。