一种基于机器视觉的高空抛物监测定位方法

文档序号:26596083发布日期:2021-09-10 22:30阅读:131来源:国知局
一种基于机器视觉的高空抛物监测定位方法

1.本发明属于机器视觉领域,具体涉及双目机器视觉、图像处理和高空抛物监测,尤其涉及一种基于机器视觉的高空抛物监测定位方法。


背景技术:

2.近年来,随着城市高层建筑明显增多,高空坠物给公众安全带来的危害也随之大大增加,高空坠物危害成为社会关注的热点,并在2020年底被写入刑法。
3.目前市面上现有的高空抛物监测系统大多基于单个摄像头仰视建筑物监测高空坠物。但该方法将摄像机直接对准建筑物拍摄的方法存在妨害个人隐私、给居民生活带来不便等问题;另一方面,从原理上单目视觉上无法获取深度信息,不能准确定位坠落物的空间位置和轨迹,难以作为坠物监测的证据使用。


技术实现要素:

4.本发提供了一种对高空抛物的监测定位方法。可以对静态背景下的动态物体进行有效的监测并计算高空抛物的轨迹,为判断高空抛物方位提供依据。
5.一种基于机器视觉的高空抛物监测定位方法,包括以下步骤:
6.s1,双目相机同步;
7.s2,相机标定,获取左右相机的内外参数;
8.s3,采集图像并对左右图像进行校正;
9.s4,对左右相机分别进行基于混合高斯建模和背景差分法的运动物体检测;
10.s5,在左连续图像序列中进行基于sort算法的目标跟踪;
11.s6,在左右同步图像中进行基于sad算法的目标特征匹配。
12.s7,根据左右图像的匹配结果对目标进行三维定位,获得目标运动过程中的空间坐标集合;
13.s8,根据左相机的外参数将坐标从相机坐标系变换至世界坐标系;
14.s9,根据世界坐标系下的空间坐标集合计算物体轨迹方程,判断物体是否为高空抛物。
15.进一步的,所述步骤s1中,通过相机的输入同步信号对双目相机进行同步,获取同一时刻的双目同步图像。
16.进一步的,所述步骤s2包括以下子步骤:
17.s21,分别对左右两个相机进行标定,获取两相机的焦距、主点坐标、畸变映射矩阵的参数;
18.s22,利用s21中的结果进行立体标定,获得右相机的内外参数和左相机的内参数;
19.s23,根据左相机坐标系相对于世界坐标系的旋转和位移,确定左相机坐标系相对于世界坐标系的旋转矩阵r和位移矩阵t,r和t称为左相机的外参数;其中,选取的世界坐标系的z轴正方向应竖直向上。
20.进一步的,所述步骤s3包括以下子步骤:
21.s31,基于左右相机的内外参数和畸变映射矩阵,计算左校正矩阵和右校正矩阵;
22.s32,分别用左右校正矩阵对左右相机输入的每一幅图像进行校正,使左右图像处于行对准状态,即左右相机中的匹配点有相同的纵坐标。
23.进一步的,所述步骤s4包括以下子步骤:
24.s41,建立高斯混合背景模型;取100帧背景视频图像作为样本,对图像中每个像素一个混合高斯模型,每个混合高斯模型包含多个子高斯模型,每个子高斯模型的参数包括均值、方差和权重;
25.s42,将当前图像与背景进行差分;对于新输入图像的每一个像素,将其与子模型进行匹配,匹配条件为:
[0026][0027]
其中i
b
(u,v)为输出差分二值图像中位置为(u,v)的像素的索引值;i(u,v)为输入图像中坐标为(u,v)的像素的索引值;mean
m
为子高斯模型参数中的均值;var
m
为子高斯模型参数中的方差;vt为预设的阈值系数,var
m
×
vt称为匹配阈值;
[0028]
通过匹配可以获得差分二值图像,二值图像索引值为1表示该像素属于前景;索引值0为表示该像素属于背景。
[0029]
s43,处理差分二值图像;对差分二值图像进行滤波和闭运算;其中滤波采用中值滤波;闭运算将属于同一目标的多块小连通区域连通成一块大的连通区域;
[0030]
s44,寻找最大连通区域;在滤波后的二值图中寻找最大的连通区域,并统计其像素个数,如果大于设定的阈值,则判定为存在运动物体;对所有大于设定阈值的连通区域,取其外接矩形作为特征区域s;
[0031]
s45,计算特征区域s的质心,计算方法如下:
[0032][0033][0034][0035]
其中m称为特征区域的质量;(u
mass
,v
mass
)为特征区域质心的位置,将其作为特征区域的特征点;
[0036]
s46,对当前帧的同步左右图像分别进行步骤s41至s45所述的目标检测,记录特征区域的数量,并对特征区域编号、记录其覆盖的范围和特征点坐标。
[0037]
进一步的,所述步骤s5包括以下子步骤:
[0038]
s51,对每一个移动物体建立加速运动模型:
[0039][0040]
x
k
称为模型的状态向量,其中u和v分别代表目标特征点的水平和垂直像素位置;s和r表示目标特征区域的尺寸大小和比例;和表示目标特征点在水平和垂直方向上的移
动速度;表示目标特征区域的尺寸的变化量;和表示目标特征点在水平和垂直方向上的加速度;同时初始化该运动模型的误差矩阵p;
[0041]
s52,通过卡尔曼滤波预测目标特征区域和特征点在下一帧的位置;目标特征区域和特征点在图像中的位置记为:
[0042]
z=[u v s r]
t
ꢀꢀꢀꢀꢀ
(6)
[0043]
定义状态转移矩阵a:
[0044][0045]
其中t表示相邻帧之间的时间差。
[0046]
定义观测矩阵h:
[0047][0048]
预测步骤如下;
[0049]
x'
k+1
=ax
k
ꢀꢀꢀ
(9)
[0050]
z'
k+1
=hx'
k+1
ꢀꢀꢀꢀ
(10)
[0051]
p'
k+1
=ap
k
a
t
+q
ꢀꢀꢀꢀ
(11)
[0052]
其中x'
k+1
表示预测的目标在下一帧中的状态;q为4
×
4预测噪声协方差矩阵;通过式(10)得到预测的目标特征区域和特征点在下一帧中的位置z'
k+1

[0053]
s53,计算在下一帧预测的特征区域与实际检测到的各移动物体特征区域的交并比iou:
[0054][0055]
其中i表示预测的特征区域与检测到的特征区域重叠部分的像素数;u表示表示预测的特征区域与检测到的特征区域在图像中共同覆盖的像素数;
[0056]
s54,以iou为权重,将iou小于阈值iou
min
的路径权重设为0;用km算法对相邻帧的移动物体进行匹配;
[0057]
s55,对于成功匹配的两个移动物体,认为它们是同一物体,统一它们的编号;
[0058]
s56,对于未能成功匹配的移动物体,认为当前帧中的移动物体消失,下一帧中的移动物体为新物体;
[0059]
s57,对于消失的物体,停止对它的追踪;对于新物体,建立s51所述的运动模型等参数,开始对它的追踪;
[0060]
s58,校正模型状态;将匹配结果作为观测值z
k+1

[0061]
z
k+1
=[u' v' s' r']
t
ꢀꢀꢀꢀ
(13)
[0062]
其中u'和v'表示下一帧中匹配到的移动物体特征点的水平和垂直像素位置;s'和r'表示匹配到的移动物体特征区域的尺寸大小和比例;
[0063]
对系统状态x和误差矩阵p进行校正:
[0064]
k
k+1
=p'
k+1
h
t
(hp'
k+1
h
t
+r)
‑1ꢀꢀꢀ
(14)
[0065]
x
k+1
=x'
k+1
+k
k+1
(z
k+1

z'
k+1
)
ꢀꢀ
(15)
[0066]
p
k+1
=(e

k
k+1
h)p'
k+1
ꢀꢀꢀꢀ
(16)
[0067]
其中k
k
称为卡尔曼增益;h
t
为h的转置矩阵;e为单位矩阵;r为预设的4
×
4测量噪声协方差矩阵;
[0068]
s59,在连续图像中逐帧对物体进行追踪,记录各个物体的特征点轨迹。
[0069]
进一步的,所述步骤s6包括以下子步骤:
[0070]
s61,将左右图像转换为灰度图或转换为hsv图像后提取h分量分布图;
[0071]
s62,按编号选定目标进行匹配;记录目标的特征区域s
l
的特征点纵坐标y;
[0072]
s63,以s
l
尺寸为搜索窗尺寸,将特征点在s
l
中的位置作为为搜索中心c在搜索窗中的位置,构建滑动搜索窗w,c相对于w的位置不变;
[0073]
s64,在右图像中检测并记录由纵坐标为y的直线和其穿过的特征区域所确定的线段,将其作为搜索中心c自左向右滑动的范围,计算sad:
[0074][0075]
其中(x,y)为某像素在区域内的坐标;s
l
(x,y)为s
l
中坐标为(x,y)的像素的索引值;w(x,y)为w所覆盖的区域中坐标为(x,y)的像素的索引值;将搜索中心c在线段上滑动过程中sad最小的点作为匹配点p
r
;左图像中的特征点与其在同步右图像中的匹配点称为移动物体在左右图像中的目标点。
[0076]
进一步的,所述步骤s7包括以下子步骤:
[0077]
s71,对当前帧的同步左右图像分别进行s4和s6所述的检测、追踪与匹配,获取目标点在左右图像中的像素坐标;将目标点的像素坐标转换至以相机主点为原点的图像坐标系:
[0078][0079]
其中(x,y)为目标点在图像坐标系下的坐标;(u,v)为目标点在像素坐标系下的坐标;(u0,v0)为相机主点在像素坐标系下的坐标;
[0080]
s72,根据目标点当前帧左右图像中的坐标,计算目标点的视差d:
[0081]
d=x
l

x
r (19)
[0082]
其中x
l
和x
r
为目标点在左、右图像的图像坐标系下的横坐标;
[0083]
s73,根据三角形相似原理:
[0084][0085]
其中l为左相机和右相机的光心距离;f为左相机和右相机的焦距;z为目标点的深度值;
[0086]
利用式(20)可以计算目标点的在左相机坐标系下的z坐标:
[0087][0088]
对于横坐标x与深度z有如下关系:
[0089][0090]
利用式(22)可以计算目标点的在左相机坐标系下的x坐标:
[0091][0092]
对于横坐标y与深度z有如下关系:
[0093][0094]
利用式(24)可以计算目标点的在左相机坐标系下的y坐标:
[0095][0096]
其中y
l
为左图像中目标点在图像坐标系下的纵坐标;则(x
l
,y
l
,z
l
)
t
即为目标点在左相机坐标系下的三维空间坐标;
[0097]
s74,对同步相机视频流的每一帧图像依序进行s71~s73操作,获取物体运动过程中的三维空间坐标集合。
[0098]
进一步的,所述步骤s8中,由相机坐标系至世界坐标系的变换为:
[0099][0100]
其中(x
w
,y
w
,z
w
)为目标点在世界坐标系下的坐标;r与t为左相机的外参数;r为旋转矩阵,r
‑1为r的逆矩阵;t为平移矩阵。
[0101]
进一步的,所述步骤s9包括以下子步骤:
[0102]
s91,以视频流相邻帧之间的时间差t为自变量,以目标点的三维坐标值(x
w
,y
w
,z
w
)为因变量,预设的多项式次数分别为1,1和2,用最小二乘法进行多项式拟合;拟合结果为:
[0103][0104]
其中p为方程的系数;
[0105]
s92,如果方程z=k(t)的二次项系数,即物体在竖直方向的加速度大于设定的阈
值,则判定物体为高空抛物;参数方程(27)即为运动物体在世界坐标系下的轨迹方程。
[0106]
本发明的有益效果为:本发明结合双目立体视觉和图像处理技术,实现对下落物体的跟踪,并计算其图像质心的三维坐标,进而计算下落物体的轨迹曲线;可以有效地对高速物体进行检测并进行多目标跟踪;同时对左右相机中的下落物体进行检测,仅在检测到的目标区域内进行匹配,避免了传统匹配方法由于背景与目标特征相似造成的误判,有比较高的匹配精度。
附图说明
[0107]
图1为本发明实施例中基于双目视觉的高空抛物监测定位方法的流程图。
[0108]
图2为本发明实施例中高空抛物监测定位系统示意图。
[0109]
图3为本发明实施例中基于双目立体视觉视差法计算深度信息示意图。
[0110]
图4为本发明实施例中三维重建立体成像模型。
具体实施方式
[0111]
下面结合说明书附图对本发明的技术方案做进一步的详细说明。
[0112]
本发明采用的几何模型如图4所示,其中o
l
为左相机的光心,o
r
为右相机的光心,l为o
l
与o
r
之间的距离。p为空间中任意一点。p
l
和p
r
分别为p在左右图像中的像点。
[0113]
请参考图1和图2,一种基于双目视觉的高空抛物监测定位方法,包括如下步骤:
[0114]
s1,双目相机同步。
[0115]
所述步骤s1包括以下子步骤:
[0116]
通过相机的输入同步信号对双目相机进行同步,获取同一时刻的双目同步图像。
[0117]
s2,相机标定,获取左右相机的内外参数。
[0118]
所述步骤s2包括以下子步骤:
[0119]
s21,分别对左右两个相机进行标定,获取两相机的焦距、主点坐标、畸变映射矩阵等参数。
[0120]
s22,利用s21中的结果进行立体标定,获得右相机的内外参数和左相机的内参数。
[0121]
s23,根据左相机坐标系相对于世界坐标系的旋转和位移,确定左相机坐标系相对于世界坐标系的旋转矩阵r和位移矩阵t,r和t称为左相机的外参数。其中,选取的世界坐标系的z轴正方向应竖直向上。
[0122]
s3,采集图像并对左右图像进行校正。
[0123]
所述步骤s3包括以下子步骤:
[0124]
s31,基于左右相机的内外参数和畸变映射矩阵,计算左校正矩阵和右校正矩阵。
[0125]
s32,分别用左右校正矩阵对左右相机输入的每一幅图像进行校正,使左右图像处于行对准状态,即左右相机中的匹配点有相同的纵坐标。
[0126]
s4,对左右相机分别进行基于混合高斯建模和背景差分法的运动物体检测与跟踪。
[0127]
所述步骤s4包括以下子步骤:
[0128]
s41,建立高斯混合背景模型。取100帧背景视频图像作为样本,对图像中每个像素一个混合高斯模型,每个混合高斯模型包含多个子高斯模型,每个子高斯模型的参数包括
均值、方差和权重。
[0129]
s42,将当前图像与背景进行差分。对于新输入图像的每一个像素,将其与子模型进行匹配,匹配条件为:
[0130][0131]
其中i
b
(u,v)为输出差分二值图像中位置为(u,v)的像素的索引值;i(u,v)为输入图像中坐标为(u,v)的像素的索引值;mean
m
为子高斯模型参数中的均值;var
m
为子高斯模型参数中的方差;vt为预设的阈值系数,var
m
×
vt称为匹配阈值。
[0132]
通过匹配可以获得差分二值图像,二值图像索引值为1表示该像素属于前景;索引值0为表示该像素属于背景。
[0133]
s43,处理差分二值图像。对差分二值图像进行滤波和闭运算。本方案采用中值滤波。闭运算将属于同一目标的多块小连通区域连通成一块大的连通区域。
[0134]
s44,寻找最大连通区域。在滤波后的二值图中寻找最大的连通区域,并统计其像素个数,如果大于设定的阈值,则判定为存在运动物体。对所有大于设定阈值的连通区域,取其外接矩形作为特征区域s。
[0135]
s45,计算特征区域s的质心。质心计算方法如下:
[0136][0137][0138][0139]
其中m称为特征区域的质量;(u
mass
,v
mass
)为特征区域质心的位置,将其作为特征区域的特征点。
[0140]
s46,对当前帧的同步左右图像分别进行s41~s45所述的检测,记录特征区域的数量,并对特征区域编号、记录其覆盖的范围和特征点坐标。
[0141]
s5,在左相机拍摄的连续图像中进行基于sort算法的目标跟踪。
[0142]
所述步骤s5包括以下子步骤:
[0143]
s51,对每一个移动物体建立加速运动模型:
[0144][0145]
x
k
称为模型的状态向量,其中u和v分别代表目标特征点的水平和垂直像素位置;s和r表示目标特征区域的尺寸大小和比例;和表示目标特征点在水平和垂直方向上的移动速度;表示目标特征区域的尺寸的变化量;和表示目标特征点在水平和垂直方向上的加速度。同时初始化该运动模型的误差矩阵p。
[0146]
s52,通过卡尔曼滤波预测目标特征区域和特征点在下一帧的位置。目标特征区域和特征点在图像中的位置记为:
[0147]
z=[u v s r]
t
ꢀꢀ
(6)
[0148]
定义状态转移矩阵a:
[0149][0150]
其中t表示相邻帧之间的时间差。
[0151]
定义观测矩阵h:
[0152][0153]
预测步骤如下:
[0154]
x'
k+1
=ax
k
ꢀꢀꢀ
(9)
[0155]
z'
k+1
=hx'
k+1
ꢀꢀ
(10)
[0156]
p'
k+1
=ap
k
a
t
+q
ꢀꢀꢀꢀ
(11)
[0157]
其中x'
k+1
表示预测的目标在下一帧中的状态;q为4
×
4预测噪声协方差矩阵。通过式(10)可得到预测的目标特征区域和特征点在下一帧中的位置z'
k+1

[0158]
s53,计算在下一帧预测的特征区域与实际检测到的各移动物体特征区域的交并比iou:
[0159][0160]
其中i表示预测的特征区域与检测到的特征区域重叠部分的像素数;u表示表示预测的特征区域与检测到的特征区域在图像中共同覆盖的像素数。
[0161]
s54,以iou为权重,将iou小于阈值iou
min
的路径权重设为0。用km算法对相邻帧的移动物体进行匹配。
[0162]
s55,对于成功匹配的两个移动物体,认为它们是同一物体,统一它们的编号;
[0163]
s56,对于未能成功匹配的移动物体,认为当前帧中的移动物体消失,下一帧中的移动物体为新物体。
[0164]
s57,对于消失的物体,停止对它的追踪;对于新物体,建立s51所述的运动模型等参数,开始对它的追踪。
[0165]
s58,校正模型状态。将匹配结果作为观测值z
k+1

[0166]
z
k+1
=[u' v' s' r']
t
ꢀꢀꢀꢀ
(13)
[0167]
其中u'和v'表示下一帧中匹配到的移动物体特征点的水平和垂直像素位置;s'和r'表示匹配到的移动物体特征区域的尺寸大小和比例。
[0168]
对系统状态x和误差矩阵p进行校正:
[0169]
k
k+1
=p'
k+1
h
t
(hp'
k+1
h
t
+r)
‑1ꢀꢀꢀꢀꢀ
(14)
[0170]
x
k+1
=x'
k+1
+k
k+1
(z
k+1

z'
k+1
)
ꢀꢀꢀꢀ
(15)
[0171]
p
k+1
=(e

k
k+1
h)p'
k+1 (16)
[0172]
其中k
k
称为卡尔曼增益;h
t
为h的转置矩阵;e为单位矩阵;r为预设的4
×
4测量噪声协方差矩阵。
[0173]
s59,在连续图像中逐帧对物体进行追踪,记录各个物体的特征点轨迹。
[0174]
s6,在左右同步图像中进行基于sad算法的目标特征匹配。
[0175]
所述步骤s6包括以下子步骤:
[0176]
s61,将左右图像转换为灰度图或转换为hsv图像后提取h分量分布图。
[0177]
s62,按编号选定目标进行匹配。记录目标的特征区域s
l
的特征点纵坐标y。
[0178]
s63,以s
l
尺寸为搜索窗尺寸,将特征点在s
l
中的位置作为为搜索中心c在搜索窗中的位置,构建滑动搜索窗w,c相对于w的位置不变。
[0179]
s64,在右图像中检测并记录由纵坐标为y的直线和其穿过的特征区域所确定的线段,将其作为搜索中心c自左向右滑动的范围,计算sad:
[0180][0181]
其中(x,y)为某像素在区域内的坐标;s
l
(x,y)为s
l
中坐标为(x,y)的像素的索引值;w(x,y)为w所覆盖的区域中坐标为(x,y)的像素的索引值;将搜索中心c在线段上滑动过程中sad最小的点作为匹配点p
r
;左图像中的特征点与其在同步右图像中的匹配点称为移动物体在左右图像中的目标点。
[0182]
s7,根据左右图像的匹配结果对目标进行三维定位,获得目标运动过程中的空间坐标集合。
[0183]
所述步骤s7包括以下子步骤:
[0184]
s71,对当前帧的同步左右图像分别进行s4和s6所述的检测、追踪与匹配,获取目标点在左右图像中的像素坐标。将目标点的像素坐标转换至以相机主点为原点的图像坐标系:
[0185][0186]
其中(x,y)为目标点在图像坐标系下的坐标;(u,v)为目标点在像素坐标系下的坐标;(u0,v0)为相机主点在像素坐标系下的坐标。
[0187]
s72,根据目标点当前帧左右图像中的坐标,计算目标点的视差d:
[0188]
d=x
l

x
r (19)
[0189]
其中x
l
和x
r
为目标点在左、右图像的图像坐标系下的横坐标。
[0190]
s73,根据三角形相似原理:
[0191][0192]
其中l为左相机和右相机的光心距离;f为左相机和右相机的焦距;z为目标点的深度值。
[0193]
利用式(20)可以计算目标点的在左相机坐标系下的z坐标:
[0194][0195]
对于横坐标x与深度z有如下关系:
[0196][0197]
利用式(22)可以计算目标点的在左相机坐标系下的x坐标:
[0198][0199]
对于横坐标y与深度z有如下关系:
[0200][0201]
利用式(24)可以计算目标点的在左相机坐标系下的y坐标:
[0202][0203]
其中y
l
为左图像中目标点在图像坐标系下的纵坐标;则
[0204]
(x
l
,y
l
,z
l
)
t
即为目标点在左相机坐标系下的三维空间坐标。
[0205]
s74,对同步相机视频流的每一帧图像依序进行s71~s73操作,获取物体运动过程中的三维空间坐标集合。
[0206]
在本实施例中,左右相机均水平放置,则y坐标记录目标点的高度信息,z坐标记录深度信息。
[0207]
s8,根据左相机的外参数将坐标从相机坐标系变换至世界坐标系;
[0208]
所述步骤s8包括以下子步骤:
[0209]
由相机坐标系至世界坐标系的变换为:
[0210][0211]
其中r与t为左相机的外参数;r为旋转矩阵,r
‑1为r的逆矩阵;t为平移矩阵。则(x
w
,y
w
,z
w
)
t
为目标点在世界坐标系下的坐标;
[0212]
s9,根据世界坐标系下的空间坐标集合拟合抛物轨迹方程,判断物体是否为高空抛物。
[0213]
所述步骤s9包括以下子步骤:
[0214]
s91,以视频流相邻帧之间的时间差t为自变量,以目标点的三维坐标值(x
w
,y
w
,z
w
)为因变量,预设的多项式次数分别为1,1和2,用最小二乘法进行多项式拟合。拟合结果为:
[0215][0216]
其中p为方程的系数。
[0217]
s92,如果方程z=k(t)的二次项系数即物体在竖直方向的加速度大于设定的阈值,则判定物体为高空抛物;参数方程(27)即为运动物体在世界坐标系下的轨迹方程。
[0218]
本方法采用双目立体视觉融合两台相机的图像信息,根据两图像之间“视差”来获得深度信息。采用背景差分法将输入图像与背景图像进行差分运算,获取坠落物在同步帧中的两个图像坐标,并根据射影变换关系计算该时刻坠物的空间坐标,根据抛物体的运动学规律利用多个时刻的坠物空间坐标拟合坠物的空间轨迹,进而推定坠物方位。
[0219]
以上所述仅为本发明的较佳实施方式,本发明的保护范围并不以上述实施方式为限,但凡本领域普通技术人员根据本发明所揭示内容所作的等效修饰或变化,皆应纳入权利要求书中记载的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1