具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例的盗窃事件检测方法包括以下步骤:
S1,获取单帧图像。
在本发明的一个实施例中,所获取的单帧图像可为监控画面,可来自于有盗窃事件检测需求的场景中摄像机实时拍摄到的监控视频。其中,有盗窃事件检测需求的场景可以为公交车站、公交车内等。
在本发明的一个实施例中,可采用多线程机制实时读取视频流,并轮询读取各个摄像机的单帧画面以实施后续步骤。
S2,通过目标检测算法检测出单帧图像中的人和物。
在本发明的一个实施例中,目标检测算法可采用FASTER-RCNN,主干网络为RESNET50,将上述单帧图像输入FASTER-RCNN,输出人和物的边界框及其置信度Sh(结果是人)So(结果是物)。
S3,通过对单帧图像中的人和物进行过滤分析以判断是否满足盗窃条件。
在本发明的一个实施例中,可将上述目标检测算法的输出结果输入过滤器,过滤器的作用是剔除明显不可能发生偷盗的画面,以节省算力提高效率。
具体地,如图2所示,过滤器可判断单帧图像中的人和物的总数量是否大于等于3、人的数量是否大于等于2以及是否存在盗窃相关物品,其中,盗窃相关物品为常发生失窃的物品,例如背包、手包、手机等。如果单帧图像中的人和物的总数量大于等于3,且人的数量大于等于2,且存在盗窃相关物品,则过滤器可判定满足盗窃条件,否则判定不满足盗窃条件,并输出判断结果。
如果满足盗窃条件,则实施后续步骤;如果不满足盗窃条件,则不对当前单帧图像作进一步处理,返回步骤S1获取新的单帧图像。
S4,如果满足盗窃条件,则推理出单帧图像中人与物的关系。
在本发明的一个实施例中,可将上述过滤器输出的满足盗窃条件的判断结果和包含人和物目标检测结果的单帧图像输入推理网络,或者将上述过滤器输出的满足盗窃条件的判断结果和原始的单帧图像输入推理网络。推理网络的作用是推理出单帧图像中人与物的关系。推理网络结构是多流网络,包括人表观分析流、物表观分析流和空间分析流。
具体地,如果输入的是原始的单帧图像,则再次进行目标检测以检测出单帧图像
中的人和物,进而,如图3所示,首先选定单帧图像中的一个结果是“人”的目标检测结果,对
该“人”进行人表观分析,得到人表观分析结果向量S
a h;然后对于上述选定目标检测结果之
外的其他目标检测结果,均进行物表观分析,得到物表观分析结果向量S
a o,换言之,如果上
述选定目标检测结果之外的其他目标检测结果还是“人”,则将该“人”相对于上述选定目标
检测结果的“人”看作是“物”。另外,对于“人”和“物”,即所有目标检测结果,均进行空间分
析,得到空间分析结果向量S
a sp。最后,融合上述的人表观分析结果向量、物表观分析结果向
量和空间分析结果向量,得到单帧图像中人与物关系的结果向量
。
单帧图像中人与物关系的结果向量
的每个维度对应一种预定义好的关
系,例如人背着背包、人拿着手机、人偷背包、人偷手机、人偷钱包等。
在本发明的实施例中,对于单帧图像中的每一个人均执行图3所示的步骤,以得到每一个人与单帧图像中的物或其他人之间的关系。
下面详细描述人/物表观分析及空间分析的过程。
人/物表观分析流根据人或物的表观信息进行特征抽取、整合从而给出人与周围的物之间的关系,此处需要说明的是,人和物的表观分析模块结构大体相同,所以放在一起说明,不同之处在于人表观分析流在第五残差模块后全局平均池化结果会作为输入传入空间分析流进行进一步分析,而物表观分析流则不需要此步骤。如图4所示,人/物表观分析具体过程如下:
a.原始单帧图像经过RESNET50主干网络后得到特征图,即图4中的图像卷积结果,给出人/物边界框坐标,此二者共为表观分析流的输入。
b.首先对输入进行感兴趣区域池化操作,得到形如7x7x1024的张量。
c.将步骤b所得张量传入RESNET50的第五个残差模块,即图4中的第五残差模块,得到形如7x7x2048的张量。
d.对步骤c中的结果张量进行全局平均池化操作得到2048维特征向量,此向量称为实例表观特征向量。
e.将步骤d中得到的实例表观特征向量传入一个全连接层,将其嵌入至512维向量空间,得到一个512维向量。
f.对输入的图像卷积结果进行卷积操作,卷积核尺寸为1x1、数量为512,得到形如HxWx512的张量。
g.对e、f两步结果进行向量点积操作,则基于点积与余弦相似度的关系,此点积结果可表征二者相似性。
h.对上步结果应用softmax所得结果,称为注意力图,此注意力图可指示基于输入中的人/物的表观信息所应注意的图像中的预定义关系区分(不同关系所应注意的部位是不同的)的部分。
i.与f同时,进行另一组相同的卷积操作得到相同形状的张量。
j.将上步结果与h得到的注意力图进行向量点积操作,并对此点积结果进行一次全局平均池化操作,得到512维向量。
k.将上步结果传入一个全连接层得到1024维的结果向量,此向量中封装了原始图像中的语境特征,称之为语境特征向量。
l.对上步结果的语境特征向量和d步结果的实例表观特征向量进行向量连接操作,得到的结果向量中同时封装了原始图像中的语境特征与输入中人/物的表观信息。
m.将上步的结果向量传入两个全连接层,将特征整合至与预定义关系数相同维度,即得到本分析流输出的人/物表观分析结果向量。
空间分析流抽取了原始图像中人和物的空间布局特征,是对人/物表观分析流的必要辅助。如图5所示,空间分析具体过程如下:
A.人表观分析流中d步骤中的实例表观特征向量与目标检测结果中的人边界框和物边界框共同构成本分析流的输入。由于盗窃检测以人为主体,人检测结果的重要性要高于物检测结果的重要性,因此,本发明实施例将实例表观特征向量,即人表观分析流的中间结果作为空间分析流的输入,一方面可用以区分人与物,另一方面能够在结果向量Sa h,o的融合之前在空间分析流中对人的检测和分析结果进行初步融合,提高人检测结果在结果向量中的占比。
B.将输入中的人边界框与物边界框取并集,得到新的边界框,此边界框称为参考边界框。
C.基于上步结果,在参考边界框内构建双通道二值图,具体为,第一通道中人边界框内部取值全部为1,其余部分全部取值为0,第二通道中物边界框内部取值全部为1,其余部分全部取值为0。
D.将上步结果通过一个卷积神经网络,该网络具体结构为:依次5x5卷积核x64通道的卷基层、最大池化层、5x5卷积核x32通道的卷基层、最大池化层、flatten层。
E.将上步结果与实例表观特征向量做向量连接操作,将得到的结果通过两个全连接层,进行特征整合之后输出一个维度与预定义关系数相同的向量,此向量即为本分析流输出的空间分析结果向量。
S5,根据单帧图像中人与物的关系判断是否发生盗窃事件。
解析上述推理网络输出的单帧图像中人与物关系的结果向量,即可得到是否发生盗窃事件的判断结果。
进一步地,在本发明的一个实施例中,如图6所示,盗窃事件检测方法还可包括:
S6,如果发生盗窃事件,则发出报警,并保存图像证据或视频证据。
具体地,在检测出盗窃事件时,可通过现场报警器发出报警,或将报警信息发送至控制管理中心的云端服务器。
同时,在检测出盗窃事件时,可获取图像证据或视频证据,并将图像证据或视频证据上传至云端服务器进行保存。其中,图像证据为包含人与物的关系的单帧图像,视频证据为在判定发生盗窃事件时录制的视频。应当理解的是,对于图像证据,可直接上传至云端服务器,而对于视频证据,可在录制完成后存储于本地硬盘后,再尝试上传至云端服务器。
如果未发生盗窃事件,则返回步骤S1,继续获取并处理分析下一帧单帧图像。
根据本发明实施例的盗窃事件检测方法,首先获取单帧图像并通过目标检测算法检测出单帧图像中的人和物,再通过对单帧图像中的人和物进行过滤分析以判断是否满足盗窃条件,如果满足盗窃条件,则推理出单帧图像中人与物的关系,然后根据单帧图像中人与物的关系判断是否发生盗窃事件,由此,能够方便、准确地自动检测出盗窃事件,从而有助于挽回盗窃受害者的损失,并有助于减少或杜绝盗窃事件的发生。
对应上述实施例的盗窃事件检测方法,本发明还提出一种盗窃事件检测装置。
如图7所示,本发明实施例的盗窃事件检测装置包括:获取模块10、检测模块20、过滤模块30、推理模块40和判断模块50。其中,获取模块10用于获取单帧图像;检测模块20用于通过目标检测算法检测出单帧图像中的人和物;过滤模块30用于通过对单帧图像中的人和物进行过滤分析以判断是否满足盗窃条件;推理模块40用于在满足盗窃条件时,推理出单帧图像中人与物的关系;判断模块50用于根据单帧图像中人与物的关系判断是否发生盗窃事件。
在本发明的一个实施例中,获取模块10所获取的单帧图像可为监控画面,可来自于有盗窃事件检测需求的场景中摄像机实时拍摄到的监控视频。其中,有盗窃事件检测需求的场景可以为公交车站、公交车内等。
在本发明的一个实施例中,获取模块10可采用多线程机制实时读取视频流,并轮询读取各个摄像机的单帧画面以输出给其他模块。
在本发明的一个实施例中,目标检测算法可采用FASTER-RCNN,主干网络为RESNET50,检测模块20将上述单帧图像输入FASTER-RCNN,输出人和物的边界框及其置信度Sh(结果是人)So(结果是物)。
在本发明的一个实施例中,过滤模块30可将上述目标检测算法的输出结果输入过滤器,过滤器的作用是剔除明显不可能发生偷盗的画面,以节省算力提高效率。
具体地,过滤器可判断单帧图像中的人和物的总数量是否大于等于3、人的数量是否大于等于2以及是否存在盗窃相关物品,其中,盗窃相关物品为常发生失窃的物品,例如背包、手包、手机等。如果单帧图像中的人和物的总数量大于等于3,且人的数量大于等于2,且存在盗窃相关物品,则过滤器可判定满足盗窃条件,否则判定不满足盗窃条件,并输出判断结果。
如果满足盗窃条件,则由推理模块40模块进行单帧图像中人与物关系的推理;如果不满足盗窃条件,则不对当前单帧图像作进一步处理,由获取模块10获取新的单帧图像。
在本发明的一个实施例中,推理模块40可将上述过滤器输出的满足盗窃条件的判断结果和包含人和物目标检测结果的单帧图像输入推理网络,或者将上述过滤器输出的满足盗窃条件的判断结果和原始的单帧图像输入推理网络。推理网络的作用是推理出单帧图像中人与物的关系。推理网络结构是多流网络,包括人表观分析流、物表观分析流和空间分析流。
具体地,如果输入的是原始的单帧图像,则再次进行目标检测以检测出单帧图像
中的人和物,进而,首先选定单帧图像中的一个结果是“人”的目标检测结果,对该“人”进行
人表观分析,得到人表观分析结果向量S
a h;然后对于上述选定目标检测结果之外的其他目
标检测结果,均进行物表观分析,得到物表观分析结果向量S
a o,换言之,如果上述选定目标
检测结果之外的其他目标检测结果还是“人”,则将该“人”相对于上述选定目标检测结果的
“人”看作是“物”。另外,对于“人”和“物”,即所有目标检测结果,均进行空间分析,得到空间
分析结果向量S
a sp。最后,融合上述的人表观分析结果向量、物表观分析结果向量和空间分
析结果向量,得到单帧图像中人与物关系的结果向量
。
单帧图像中人与物关系的结果向量
的每个维度对应一种预定义好的关
系,例如人背着背包、人拿着手机、人偷背包、人偷手机、人偷钱包等。
在本发明的实施例中,对于单帧图像中的每一个人,可逐一选定,进行人表观分析,然后对其他目标检测结果进行物表观分析,再进行空间分析,最终得到每一个人与单帧图像中的物或其他人之间的关系。
判断模块50解析上述推理网络输出的单帧图像中人与物关系的结果向量,即可得到是否发生盗窃事件的判断结果。
进一步地,如图8所示,本发明实施例的盗窃事件检测装置还可包括应对模块60,应对模块60用于在发生盗窃事件时,发出报警,并保存图像证据或视频证据。
具体地,在检测出盗窃事件时,应对模块60可通过现场报警器发出报警,或将报警信息发送至控制管理中心的云端服务器。
同时,在检测出盗窃事件时,应对模块60可获取图像证据或视频证据,并将图像证据或视频证据上传至云端服务器进行保存。其中,图像证据为包含人与物的关系的单帧图像,视频证据为在判定发生盗窃事件时录制的视频。应当理解的是,对于图像证据,可直接上传至云端服务器,而对于视频证据,可在录制完成后存储于本地硬盘后,再尝试上传至云端服务器。
根据本发明实施例的盗窃事件检测装置,首先获取单帧图像并通过目标检测算法检测出单帧图像中的人和物,再通过对单帧图像中的人和物进行过滤分析以判断是否满足盗窃条件,如果满足盗窃条件,则推理出单帧图像中人与物的关系,然后根据单帧图像中人与物的关系判断是否发生盗窃事件,由此,能够方便、准确地自动检测出盗窃事件,从而有助于挽回盗窃受害者的损失,并有助于减少或杜绝盗窃事件的发生。
对应上述实施例,本发明还提出一种计算机设备。
本发明实施例的计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该计算机程序时,可实现根据本发明上述实施例所述的盗窃事件检测方法。
根据本发明实施例的计算机设备,处理器执行存储在存储器上的计算机程序时,首先获取单帧图像并通过目标检测算法检测出单帧图像中的人和物,再通过对单帧图像中的人和物进行过滤分析以判断是否满足盗窃条件,如果满足盗窃条件,则推理出单帧图像中人与物的关系,然后根据单帧图像中人与物的关系判断是否发生盗窃事件,由此,能够方便、准确地自动检测出盗窃事件,从而有助于挽回盗窃受害者的损失,并有助于减少或杜绝盗窃事件的发生。
对应上述实施例,本发明还提出一种非临时性计算机可读存储介质。
本发明实施例的非临时性计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可实现根据本发明上述实施例所述的盗窃事件检测方法。
根据本发明实施例的非临时性计算机可读存储介质,处理器执行存储在其上的计算机程序时,首先获取单帧图像并通过目标检测算法检测出单帧图像中的人和物,再通过对单帧图像中的人和物进行过滤分析以判断是否满足盗窃条件,如果满足盗窃条件,则推理出单帧图像中人与物的关系,然后根据单帧图像中人与物的关系判断是否发生盗窃事件,由此,能够方便、准确地自动检测出盗窃事件,从而有助于挽回盗窃受害者的损失,并有助于减少或杜绝盗窃事件的发生。
在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。