基于光流算法的智慧管廊运动目标检测方法及检测装置与流程

专利2022-05-10  34



1.本发明属于图像和视频处理技术领域,特别涉及一种基于光流算法的智慧管廊运动目标检测方法及检测装置。


背景技术:

2.综合管廊也称“共同沟”,是地下城市管道综合走廊。集电力、通讯,燃气、供热、给排水等各种管线于一体的城市市政公用设施,实施统一规划、统一设计、统一建设和管理,是保障城市运行的重要基础设施和“生命线”。智慧管廊运用物联网、现代传感技术、云计算、计算机通信技术、虚拟现实、人工智能等综合系统集成技术,对综合管廊内管线、环境、设备及运行进行实时监控、运营管理和安全预警。而运动目标检测是智慧管廊的基础功能之一。
3.运动目标检测是视频处理领域的重要研究内容之一,根据摄像机是否运动,运动目标检测可以分为静态背景运动目标检测和动态背景运动目标检测。目前,静态背景运动目标检测方法主要有背景差分法、帧差法、光流法等。背景差分法是使用输入帧图像与背景图像作差,得到前景目标信息,该算法复杂度低,但是对光照敏感。帧差法是使用输入帧图像与前一帧图像作差,从而得到运动目标信息,该方法运行速度快,对光线不太敏感,但是难以提取完整的目标信息。光流法利用图像序列中像素在时间域上的变化以及相临帧之间的相关性,计算两帧图像之间的对应关系,得到运动目标信息,该方法可以避免分割目标不完整,得到了越来越广泛的应用。
4.然而,由于综合管廊中灯光分布不均匀、光源相对复杂(如施工人员头灯等),因此直接使用光流算法进行运动目标检测,会因为光照变化而出现大量误检,而且当运动目标距离较近时,会出现目标粘连问题。


技术实现要素:

5.有鉴于此,本发明提供了一种基于光流算法的智慧管廊运动目标检测方法,包括以下步骤:
6.s1,获取第k帧图像和第k

i帧图像,并根据获取的图像计算第k帧图像的光流图像;其中,i的取值范围为1~4,光流图像中包括光流值大小和光流方向;
7.s2,根据光流图像得到光流值掩码图像,并去除光流值掩码图像中的光流散点和面积小于预设面积阈值的连通域,得到运动区域掩码图像;
8.s3,根据光流图像中的光流信息,更新运动区域掩码图像已跟踪目标的跟踪点信息;
9.s4,根据更新后的已跟踪目标的跟踪点信息,计算已跟踪目标新的连通域,得到目标新的掩码图像区域;
10.s5,在目标新的掩码图像区域中增删跟踪点信息;
11.s6,完成所有已跟踪目标的跟踪信息更新,所有目标的掩码图像取并集得到已跟
踪区域掩码图像,已跟踪区域掩码图像取反与运动目标区域掩码图像取交集,得到未跟踪区域掩码图像;
12.s7,在未跟踪区域掩码图像中增加新的待跟踪目标并进行跟踪;
13.s8,输出已跟踪目标信息和新目标信息。
14.优选地,在上述s2步骤中,所述根据光流图像得到光流值掩码图像,并去除光流值掩码图像中的光流散点和面积小于预设面积阈值的连通域,得到运动区域掩码图像的具体过程为:
15.s21,对光流图像进行二值化处理,得到运动目标的掩码图像;
16.s22,基于光流方向直方图,去除运动目标的掩码图像中的光流散点;
17.s23,计算像素值为255的连通域,并统计每个连通域的面积大小,删除面积小于预设面积阈值的连通域,得到运动区域掩码图像。
18.优选地,在上述s21步骤中,所述对光流图像进行二值化处理,得到运动目标的掩码图像的具体过程为:
19.s211,预设光流值阈值t
v

20.s212,判断光流图像在坐标(x,y)处的光流值v(x,y)是否小于光流值阈值t
v
;如果v(x,y)小于t
v
,则将光流值掩码图像在坐标(x,y)处的值m
o
(x,y)置为0;否则,将光流值掩码图像在坐标(x,y)处的值m
o
(x,y)置为255。
21.优选地,在上述s22步骤中,所述基于光流方向直方图,去除运动目标的掩码图像中的光流散点的具体过程为:
22.s221,预设光流方向直方图阈值t;
23.s222,根据光流方向直方图判断光流值掩码图像中各光流方向的光流点数是否小于光流方向直方图阈值t;如果某光流方向的光流点数小于光流方向直方图阈值t,则移除该光流方向的光流点信息。
24.优选地,在上述s3步骤中,所述根据光流图像中的光流信息,更新运动区域掩码图像已跟踪目标的跟踪点信息的具体过程为:
25.s31,基于目标的所有跟踪点信息和当前帧图像的光流信息,计算得到目标运动方向直方图和目标光流方向直方图;
26.s32,根据目标运动方向直方图和目标光流方向直方图,统计各跟踪点的光流方向得到光流主方向,统计各跟踪点的整体运动方向得到目标主运动方向;
27.s33,将光流方向与光流主方向不一致的跟踪点或者运动方向与目标主运动方向不一致的跟踪点均置为低置信度跟踪点,如果一个跟踪点连续n帧均为低置信度跟踪点,则移除该跟踪点。
28.优选地,在上述s4步骤中,所述根据更新后的已跟踪目标的跟踪点信息,计算已跟踪目标新的连通域,得到目标新的掩码图像区域的具体过程为:
29.s41,基于有效目标的掩码图像中去除低置信度跟踪点目标后的有效跟踪点信息,生成目标跟踪区域掩码图像m
t

30.s42,基于目标光流方向,计算目标跟踪区域掩码图像m
t
中与目标光流主方向o
f
一致的区域掩码图像m
a
,并使区域掩码图像m
a
与运动区域掩码图像m
o1
取交集得到目标可能区域掩码图像m
p

[0031][0032]
m
p
=m
a
∩m
o1
[0033]
式中,t表示用户预设的方向阈值,f(x,y)表示光流在坐标(x,y)处的方向;
[0034]
s43,以目标跟踪区域掩码图像m
t
上的一点为种子点,在目标可能区域掩码图像m
p
上找连通域,得到目标新的掩码图像区域m
n

[0035]
优选地,在上述s5步骤中,所述在目标新的掩码图像区域中增删跟踪点信息的具体过程为:
[0036]
s51,遍历目标的所有跟踪点,假设跟踪点坐标为(x
t
,y
t
),如果m
n
(x
t
,y
t
)为0,则将该点标记为隐藏的跟踪点;如果该跟踪点连续n帧均为隐藏的跟踪点,则删除该跟踪点;
[0037]
s52,将目标跟踪区域掩码图像m
t
取反,然后与目标新的掩码图像区域m
n
相与,得到目标未跟踪区域掩码图像m
nt

[0038][0039]
s53,在目标未跟踪区域掩码图像m
nt
的连通域中,均匀取跟踪点,加入目标跟踪点集中。
[0040]
优选地,在上述s7步骤中,所述在未跟踪区域掩码图像中增加新的待跟踪目标并进行跟踪的具体过程为:
[0041]
s71,对未跟踪区域掩码图像m
new
进行形态学处理,并计算连通域,剔除连通区域面积小于预设面积阈值的目标,得到新的未跟踪区域掩码图像m
new1

[0042]
s72,计算新的未跟踪区域掩码图像m
new1
的连通域,并为每个连通域分配一个新的目标id;
[0043]
s73,遍历每个新目标,在该目标掩码图像上均匀取跟踪点并进行跟踪。
[0044]
优选地,所述输出已跟踪目标信息和新目标信息的具体过程为:
[0045]
遍历所有跟踪目标,基于跟踪信息,统计目标信息,并输出目标坐标和id信息,得到该帧图像的运动目标检测结果。
[0046]
基于上述目的,本发明还提供了一种基于光流算法的智慧管廊运动目标检测装置,包括存储器以及处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行上述的基于光流算法的智慧管廊运动目标检测方法。
[0047]
与现有技术相比,采用本发明基于光流算法的智慧管廊运动目标检测方法有效地利用光流的方向和大小信息去除光流散点并删除面积小于预设面积阈值的连通域,并利用光流进行目标跟踪;结合目标跟踪信息,能够有效分割不同目标,有效地提高目标检测率,提高粘连目标的识别率。
[0048]
本发明通过设置合理的二值化阈值、移除光流散点,能够提高光流算法对光照、阴影的鲁棒性;通过移除光流散点和目标跟踪信息能够降低目标的粘连率,提高运动目标检出率。本发明提供的基于光流算法的智慧管廊运动目标检测方法可以用于各种智慧管廊场景的运动目标侦测项目中。
附图说明
[0049]
为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
[0050]
图1为本发明实施例1的基于光流算法的智慧管廊运动目标检测方法流程图;
[0051]
图2为本发明实施例2的基于光流算法的智慧管廊运动目标检测方法流程图;
[0052]
图3为本发明实施例的基于光流算法的智慧管廊运动目标检测方法的输入的两帧图像,其中,图3(a)为第k

i帧图像,图3(b)为第k帧图像;
[0053]
图4为本发明实施例的基于光流算法的智慧管廊运动目标检测方法的图像,图4(a)为光流图像,图4(b)为光流值掩码图像;
[0054]
图5为本发明实施例的基于光流算法的智慧管廊运动目标检测方法的图像,图5(a)为光流方向直方图,图5(b)为去除光流散点后的光流掩码图像;
[0055]
图6为本发明实施例的基于光流算法的智慧管廊运动目标检测方法的图像,图6(a)为有效目标掩码图像,图6(b)为目标运动方向直方图和目标光流方向直方图;
[0056]
图7为本发明实施例的基于光流算法的智慧管廊运动目标检测方法的图像,图7(a)为目标跟踪点图像,图7(b)为目标跟踪点掩码图像;
[0057]
图8为本发明实施例的基于光流算法的智慧管廊运动目标检测方法的图像,图8(a)为目标掩码图像,图8(b)为有效跟踪点掩码图像;
[0058]
图9为本发明实施例的基于光流算法的智慧管廊运动目标检测方法的图像,图9(a)为目标跟踪信息展示图,图9(b)为目标精准掩码图像;
[0059]
图10为本发明实施例的基于光流算法的智慧管廊运动目标检测方法的图像,图10(a)为目标的有效跟踪点、低置信度跟踪点和无效跟踪点图像,图10(b)为目标未跟踪的区域图像;
[0060]
图11为本发明实施例的基于光流算法的智慧管廊运动目标检测方法的图像,图11(a)为目标未跟踪区域做形态学处理后的图像,图11(b)为目标新跟踪点图,图中每一个亮点均为一个跟踪点;
[0061]
图12为本发明实施例的基于光流算法的智慧管廊运动目标检测方法的图像,图12(a)为移除已跟踪目标后的目标掩码图,图12(b)为新目标的连通域图像;
[0062]
图13为本发明实施例的基于光流算法的智慧管廊运动目标检测方法的运动目标检测结果示意图,图中每个矩形框为一个目标,举行框左上角的数字为该目标的id。
具体实施方式
[0063]
为使本技术实施例的目的、技术方案和优点更加清楚明白,下面将以附图及详细叙述清楚说明本技术所揭示内容的精神,任何所属技术领域技术人员在了解本技术内容的实施例后,当可由本技术内容所教示的技术,加以改变及修饰,其并不脱离本技术内容的精神与范围。
[0064]
本技术的示意性实施例及其说明用于解释本技术,但并不作为对本技术的限定。另外,在附图及实施方式中所使用相同或类似标号的元件/构件是用来代表相同或类似部分。
[0065]
关于本文中所使用的“第一”、“第二”、

等,并非特别指称次序或顺位的意思,也
非用以限定本技术,其仅为了区别以相同技术用语描述的元件或操作。
[0066]
关于本文中所使用的方向用语,例如:上、下、左、右、前或后等,仅是参考附图的方向。因此,使用的方向用语是用来说明并非用来限制本创作。
[0067]
关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均为开放性的用语,即意指包含但不限于。
[0068]
关于本文中所使用的“及/或”,包括所述事物的任一或全部组合。
[0069]
关于本文中的“多个”包括“两个”及“两个以上”;关于本文中的“多组”包括“两组”及“两组以上”。
[0070]
关于本文中所使用的用语“大致”、“约”等,用以修饰任何可以细微变化的数量或误差,但这些微变化或误差并不会改变其本质。一般而言,此类用语所修饰的细微变化或误差的范围在部分实施例中可为20%,在部分实施例中可为10%,在部分实施例中可为5%或是其他数值。本领域技术人员应当了解,前述提及的数值可依实际需求而调整,并不以此为限。
[0071]
某些用以描述本技术的用词将于下或在此说明书的别处讨论,以提供本领域技术人员在有关本技术的描述上额外的引导。
[0072]
图1为本发明实施例1的一种基于光流算法的智慧管廊运动目标检测方法的流程图,本方法包括以下步骤:
[0073]
s1、获取第k帧图像和第k

i帧图像,并根据获取的图像计算第k帧图像的光流图像。
[0074]
其中,i的取值范围为1~4。光流图像中包括光流值大小和光流方向。
[0075]
s2、根据光流图像得到光流值掩码图像,并去除光流值掩码图像中的光流散点和面积小于预设面积阈值的连通域,得到运动区域掩码图像m
o1
,其具体过程为:
[0076]
s21、对光流图像进行二值化处理,得到光流值掩码图像,即运动目标的掩码图像m
o

[0077]
具体地,对第k帧图像的光流图像进行二值化处理,得到光流值掩码图像。
[0078]
其中,对光流图像进行二值化处理的具体过程为:
[0079]
s211、预设光流值阈值t
v

[0080]
s212、判断光流图像在坐标(x,y)处的光流值v(x,y)是否小于光流值阈值t
v
;如果v(x,y)小于t
v
,则将光流值掩码图像在坐标(x,y)处的值m
o
(x,y)置为0;否则,将光流值掩码图像在坐标(x,y)处的值m
o
(x,y)置为255,即光流值掩码图像在坐标(x,y)处的值m
o
(x,y)为:
[0081][0082]
s22、基于光流方向直方图,去除运动目标的掩码图像m
o
中的光流散点,即将光流散点所在处的掩码图像置0,其具体过程为:
[0083]
s221、预设光流方向直方图阈值t;
[0084]
s222、根据光流方向直方图判断光流值掩码图像中各光流方向的光流点数是否小于光流方向直方图阈值t;如果某光流方向的光流点数小于光流方向直方图阈值t,则移除
该光流方向的光流点信息,从而有效去除光流散点,有效分离粘连的目标。
[0085]
具体地,采用以下光流散点去除公式对光流散点进行处理。
[0086][0087]
式中,m(x,y)表示去除光流散点后的光流掩码图像在坐标(x,y)处的取值;i=f(x,y),f(x,y)表示光流在坐标(x,y)处的方向;h(i)表示光流方向直方图在方向i处的取值。
[0088]
s23、计算像素值为255的连通域,并统计每个连通域的面积大小,删除面积小于预设面积阈值的连通域,得到有效目标的掩码图像,即运动区域掩码图像m
o1

[0089]
删除去除光流散点后的光流掩码图像中连通域面积小于预设面积阈值的连通域,得到有效目标的掩码图像。
[0090]
有效目标的掩码图像是包含多个目标的掩码图像。每一个连通域是一个待选目标。
[0091]
需要说明的是,删除面积小于预设面积阈值的连通域通过将该连通域的像素全部置0来实现。
[0092]
s3、根据步骤s1得到的光流图像中的光流信息,更新运动区域掩码图像中已跟踪目标的跟踪点信息,其具体过程为:
[0093]
s31、基于目标的所有跟踪点信息和当前帧图像的光流信息,计算得到目标运动方向直方图和目标光流方向直方图。
[0094]
s32、根据目标运动方向直方图和目标光流方向直方图,统计各跟踪点的光流方向得到光流主方向o
f
,统计各跟踪点的整体运动方向得到目标主运动方向o
m

[0095]
s33、将光流方向与光流主方向o
f
不一致的跟踪点或者运动方向与目标主运动方向o
m
不一致的跟踪点均置为低置信度跟踪点,如果一个跟踪点连续n帧均为低置信度跟踪点,则移除该跟踪点。
[0096]
s4、根据更新后的已跟踪目标的跟踪点信息,计算已跟踪目标新的连通域,得到目标新的掩码图像区域,其具体过程为:
[0097]
s41、基于有效目标的掩码图像中去除低置信度跟踪点目标后的有效跟踪点信息,生成目标跟踪区域掩码图像m
t

[0098]
s42、基于目标光流方向,计算目标跟踪区域掩码图像m
t
中与目标光流主方向o
f
一致的区域掩码图像m
a
,并使区域掩码图像m
a
与运动区域掩码图像m
o1
取交集得到目标可能区域掩码图像m
p

[0099][0100]
m
p
=m
a
∩m
o1

[0101]
式中,t表示用户预设的方向阈值。
[0102]
s43、以目标跟踪区域掩码图像m
t
上的一点为种子点,在目标可能区域掩码图像m
p
上找连通域,得到目标新的掩码图像区域m
n

[0103]
s5、在目标新的掩码图像区域中m
n
增删跟踪点信息,其具体过程为:
[0104]
s51、遍历目标的所有跟踪点,假设跟踪点坐标为(x
t
,y
t
),如果m
n
(x
t
,y
t
)为0,则将该点标记为隐藏的跟踪点;如果该跟踪点连续n帧均为隐藏的跟踪点,则删除该跟踪点。
[0105]
s52、将目标跟踪区域掩码图像m
t
取反,然后与目标新的掩码图像区域m
n
相与,得到目标未跟踪区域掩码图像m
nt

[0106][0107]
s53、在目标未跟踪区域掩码图像m
nt
的连通域中,均匀取跟踪点,加入目标跟踪点集中。
[0108]
s6、重复步骤s3~s5,完成所有已跟踪目标的跟踪信息更新,所有目标的掩码图像取并集得到已跟踪区域掩码图像m
at
,m
at
取反与运动目标区域掩码图像m
o1
取交集,得到未跟踪区域掩码图像m
new

[0109]
s7、在未跟踪区域掩码图像中增加新的待跟踪目标并进行跟踪,其具体过程为:
[0110]
s71、对未跟踪区域掩码图像m
new
进行形态学处理,并计算连通域,使用步骤s23的方法剔除连通域面积过小的目标,得到新的未跟踪区域掩码图像m
new1

[0111]
s72、计算新的未跟踪区域掩码图像m
new1
的连通域,并为每个连通域分配一个新的目标id。
[0112]
s73、遍历每个新目标,在该目标掩码图像上均匀取跟踪点并进行跟踪。
[0113]
s8、输出已跟踪目标信息和新目标信息。
[0114]
遍历所有跟踪目标,基于跟踪信息,统计目标信息,并输出目标坐标和id信息,得到该帧图像的运动目标检测结果。
[0115]
下面采用如图2所示的本发明实施例2的基于光流算法的智慧管廊运动目标检测方法流程图,以及图3~图13的图像对本技术提供的基于光流算法的智慧管廊运动目标检测方法的过程进行具体说明。
[0116]
获取图像,并计算光流信息,其中,光流信息包括光流值和光流方向。
[0117]
根据光流方向去除光流散点。
[0118]
移除连通域面积小于预设面积阈值的目标。
[0119]
判断当前帧图像是否为第一帧图像,如果是,则获取每一个连通区域,并标记为新目标进行跟踪,输出跟踪目标;否则,根据光流信息更新跟踪目标的跟踪点信息。
[0120]
对跟踪点进行一致性验证。
[0121]
剔除不一致的跟踪点,生成有效的跟踪掩码图。
[0122]
根据光流方向,计算目标连通域,将未跟踪区域加入跟踪点。
[0123]
根据跟踪信息,计算已跟踪目标的跟踪信息。
[0124]
将所有有效跟踪掩码图与光流值掩码图作差,生成未跟踪区域。
[0125]
最后输入所有跟踪目标。
[0126]
获取如图3(a)所示的第k

1帧图像和如图3(b)所示的第k帧图像,利用金字塔lk光流算法计算得到如图3(a)所示的第k帧图像的光流图像。
[0127]
对如图4(a)所示的第k帧图像的光流图像进行二值化处理,得到如图4(b)所示的光流值掩码图像。
[0128]
根据图5(a)所示的光流方向直方图去除如图4(b)所示的光流值掩码图像中的光流散点,得到如图5(b)所示的去除光流散点后的光流掩码图像。
[0129]
删除如图5(b)所示的去除光流散点后的光流掩码图像中连通域面积小于预设面积阈值的连通域,得到图6(a)所示的有效目标掩码图像。
[0130]
根据目标的所有跟踪点信息和当前帧图像的光流信息得到如图6(b)所示的目标运动方向直方图和目标光流方向直方图。
[0131]
根据如图6(b)所示的目标运动方向直方图和目标光流方向直方图,绘制未隐藏的跟踪点坐标得到如图7(a)所示的目标跟踪点图像。
[0132]
对如图7(a)所示的目标跟踪点图像进行膨胀处理得到如图7(b)所示的目标跟踪点掩码图像。
[0133]
基于目标的光流方向在如图6(a)所示的有效目标掩码图像的基础上去除特定方向的光流点,得到如图8(a)所示的目标掩码图像。
[0134]
如图7(b)所示的目标跟踪点掩码图像和如图8(a)所示的目标掩码图像做与运算得到如图8(b)所示的有效跟踪点掩码图像。
[0135]
如图7(b)所示的目标跟踪点掩码图像中的目标外接矩形加载在如图8(a)所示的目标掩码图像上,其中,白色区域中的灰色区域为目标外接矩形的中心区域,得到如图9(a)所示的目标跟踪信息展示图。
[0136]
使用如图9(a)所示的目标跟踪信息展示图中白色区域中的灰色区域作为种子区域,使用种子填充法得到如图9(b)所示的目标精准掩码图像。
[0137]
如图9(b)所示的目标精准掩码图像与如图7(b)所示的目标跟踪点掩码图像与运算得到如图10(a)所示目标的有效跟踪点、低置信度跟踪点和无效跟踪点图像,其中,白色区域的左侧(即图7(b)中有而图8(a)中没有的区域)为低置信度跟踪点所在区域,白色区域的外围区域(即连续n帧都没有的区域)为无效跟踪点所在区域。
[0138]
如图9(b)所示的目标精准掩码图像与如图8(b)所示的有效跟踪点掩码图像异或,得到如图10(b)所示的目标未跟踪的区域图像。
[0139]
对如图10(b)所示的图像中目标未跟踪的区域做形态学处理,得到如图11(a)所示的目标未跟踪区域做形态学处理后的图像。
[0140]
如图11(a)所示的目标未跟踪区域做形态学处理后的图像中加入跟踪点来跟踪目标,得到如图11(b)所示的目标新跟踪点图。
[0141]
如图9(b)所示的目标精准掩码图像与如图6(a)所示的有效目标掩码图像异或,得到如图12(a)所示的移除已跟踪目标后的目标掩码图。
[0142]
图12(b)显示的是新目标的连通域。
[0143]
如图13所示,图中每一个框表示一个运动目标,目标框左上角的数字为目标id。
[0144]
本技术实施例提供的基于光流算法的智慧管廊运动目标检测方法通过设置合理的二值化阈值、移除光流散点,能够提高光流算法对光照、阴影的鲁棒性;通过移除光流散点和目标跟踪信息能够降低目标的粘连率,提高运动目标检出率。本技术提供的基于光流算法的智慧管廊运动目标检测方法可以用于各种智慧管廊场景的运动目标侦测项目中。
[0145]
在示例性实施例中,本技术实施例还提供了一种基于光流算法的智慧管廊运动目标检测装置,其包括存储器以及耦接至该存储器的处理器,处理器被配置为基于存储在存储器中的指令,执行本技术中任一个实施例中的基于光流算法的智慧管廊运动目标检测方法。
[0146]
其中,存储器可以为系统存储器或固定非易失性存储介质等,系统存储器可以存储有操作系统、应用程序、引导装载程序、数据库以及其他程序等。
[0147]
在示例性实施例中,本技术实施例还提供了一种计算机存储介质,是计算机可读存储介质,例如,包括计算机程序的存储器,上述计算机程序可由处理器执行,以完成本技术中任一个实施例中的基于光流算法的智慧管廊运动目标检测方法。
[0148]
以上所述仅为本技术示意性的具体实施方式,在不脱离本技术的构思和原则的前提下,任何本领域的技术人员所做出的等同变化与修改,均应属于本技术保护的范围。
转载请注明原文地址:https://doc.8miu.com/read-1731945.html

最新回复(0)