监控摄像头远距离建筑物变化检测的方法
技术领域
本发明涉及自然资源调查监测监管中的建筑物变化检测领域,尤其涉及一种监控摄像头远距离建筑物变化检测的方法。
背景技术
目前建筑物变化检测采用较多的是基于卫星遥感数据开展变化检测。但是,由于遥感卫星通常形成的是类似正射影像影,数据分辨率不高,卫星回返周期长,导致发现建筑物变化预警周期长。
与遥感影像的俯视角度而言,监控摄像头通常部署在高塔或者高楼上,能够监控5-10公里的自然资源变化,但是利用监控摄像头观测建筑物变化时,监控摄像头下建筑图片较小、分辨率较低导致变化区域检测不到。
发明内容
本发明的目的在于提供一种监控摄像头远距离建筑物变化检测的方法,旨在解决现有技术中利用监控摄像头观测建筑物变化时,监控摄像头下建筑图片较小、分辨率较低导致变化区域检测不到的技术问题。
为实现上述目的,本发明采用的一种监控摄像头远距离建筑物变化检测的方法,包括如下步骤,
使用监控摄像头采集同一地点、不同时相的建筑物图像数据,建立建筑物低分辨率图像数据集;
将前时相影像和后时相影像进行双线性插值处理,得到两个分辨率相同的影像;
通过特征点匹配的方式将前时相影像和后时相影像进行配准,得到建筑物位置对应的两幅图像;
使用生成对抗网络对前后时相影像进行超分重建,生成高分辨率前时相影像和高分辨率后时相影像;
针对生成的高分辨率前时相影像和高分辨率后时相影像,采用影像差值法,生成低分辨率变化影像;
对生成的低分辨率变化影像,进行超分重建,将含有建筑物信息区域的像素进行二次增强,生成高分辨率变化影像;
利用faster-rcnn目标检测网络检测高分辨率变化图像中的建筑物,得到高分辨率建筑物变化影像;
将高分辨率前时相影像二值化,并对其进行形态学后处理去除斑点噪声,得到高分辨率前时相影像二值图;
将高分辨率前时相影像二值图与高分辨率建筑物变化影像进行一比一的像素加权融合,得到建筑物变化区域结果图。
其中,在“使用监控摄像头采集同一地点、不同时相的建筑物图像数据,建立建筑物低分辨率图像数据集”中,所述方法还包括,
针对安装的监控摄像头设置N个巡航点,每个巡航点每隔一段时间采集一次图像,将图像命名为易于读取的文件格式,建立建筑物低分辨率图像数据集。
其中,在“将前时相影像和后时相影像进行双线性插值处理,得到两个分辨率相同的影像”中,所述方法还包括,
所述双线性插值采用python中resize函数,其中选取的插值方式为双线性插值,即在两个方向上分别进行一次线性插值。
其中,在“通过特征点匹配的方式将前时相影像和后时相影像进行配准,得到建筑物位置对应的两幅图像”中,所述方法还包括,
所述特征点匹配的方式为使用sift算法提取图像中的不随外界环境变化而变化的关键点。
其中,在“所述特征点匹配的方式为使用sift算法提取图像中的不随外界环境变化而变化的关键点”中,所述方法还包括,
两幅图像中有相同的景物,提取各自的稳定点,并且这些稳定点之间会有相互对应的匹配点。
其中,在“使用生成对抗网络对前后时相影像进行超分重建,生成高分辨率前时相影像和高分辨率后时相影像”中,所述方法还包括,
将输入的前时相影像双线性插值处理为(128,128,3)维的图片,经过卷积、上采样、标准化、反卷积生成(512,512,3)维的图像;
将生成的(512,512,3)维的图像与原始高分辨率图片分别输入至VGG19网络,提取两个图片的特征向量,进行loss1值的计算;
将生成的(512,512,3)维的图像输入至判别网络,输出为32x32x1的向量,对每个像素点进行逐个判断,最终用sigmoid函数将输出映射为0至1之间的概率值;
将输出的概率值与1进行比较,进行loss2值的计算。
其中,在“利用faster-rcnn目标检测网络检测高分辨率变化图像中的建筑物,得到高分辨率建筑物变化影像”中,所述方法还包括,
将输入的高分辨率前时相影像的长和宽均双线性插值为600;
利用区域候选网络提取高分辨率变化影像中的建筑物,形成多个建议框,并对建议框进行筛选,计算建议框和真实框的重合程度;
最终对筛选后的建议框进行回归分类,最终得到预测结果和种类。
其中,在“利用区域候选网络提取高分辨率变化影像中的建筑物,形成多个建议框,并对建议框进行筛选,计算建议框和真实框的重合程度”中,所述方法还包括,
若重合程度大于0.5,则建议框可调整为真实框,因此对建议框进行保留,将其视为正样本;若重合程度在0.1至0.5之间,将其视为负样本;若重合程度小于0.1,则忽略建议框。
其中,在“将高分辨率前时相影像二值化,并对其进行形态学后处理去除斑点噪声,得到高分辨率前时相影像二值图”中,所述方法还包括,
将高分辨率前时相影像二值化,并对其进行形态学后处理,先进行形态学闭运算填充高分辨率前时相影像二值图区域内部的孔洞,后进行形态学开运算,去除高分辨率前时相影像二值图斑点噪声,得到高分辨率前时相影像二值图。
本发明的一种监控摄像头远距离建筑物变化检测的方法,通过将前时相影像和后时相影像进行双线性插值处理,将前时相影像和后时相影像进行配准,生成高分辨率前时相影像和高分辨率后时相影像,检测高分辨率变化图像中的建筑物,得到高分辨率建筑物变化影像,将高分辨率前时相影像二值化,并对其进行形态学后处理去除斑点噪声,得到高分辨率前时相影像二值图,将其与高分辨率建筑物变化影像进行一比一的像素加权融合,得到建筑物变化区域结果图,通过将低分辨率的影像转为高分辨率的影像,提高目标建筑物的大小,再进行建筑物的变化检测,实现监控摄像头下建筑物的变化检测。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的监控摄像头远距离建筑物变化检测的方法流程图。
图2是本发明的使用生成对抗网络对前后时相影像进行超分重建,得到最优的高分辨率图片的流程图。
图3是本发明的利用faster-rcnn目标检测网络检测高分辨率变化图像中的建筑物的流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
请参阅图1至图3,本发明提供了一种监控摄像头远距离建筑物变化检测的方法,包括如下步骤,
S101:针对安装的监控摄像头设置N个巡航点,每个巡航点每隔一段时间采集一次图像,将图像命名为易于读取的文件格式,建立建筑物低分辨率图像数据集;
S102:将前时相影像和后时相影像进行双线性插值处理,所述双线性插值采用python中resize函数,其中选取的插值方式为双线性插值,即在两个方向上分别进行一次线性插值,得到两个分辨率相同的影像;
S103:通过特征点匹配的方式将前时相影像和后时相影像进行配准,所述特征点匹配的方式为使用sift算法提取图像中的不随外界环境变化而变化的关键点,得到建筑物位置对应的两幅图像,两幅图像中有相同的景物,提取各自的稳定点,并且这些稳定点之间会有相互对应的匹配点;
S104:使用生成对抗网络对前后时相影像进行超分重建,生成高分辨率前时相影像和高分辨率后时相影像;
S1041:将输入的前时相影像双线性插值处理为(128,128,3)维的图片,经过卷积、上采样、标准化、反卷积生成(512,512,3)维的图像;
S1042:将生成的(512,512,3)维的图像与原始高分辨率图片分别输入至VGG19网络,提取两个图片的特征向量,进行loss1值的计算;
S1043:将生成的(512,512,3)维的图像输入至判别网络,输出为32x32x1的向量,对每个像素点进行逐个判断,最终用sigmoid函数将输出映射为0至1之间的概率值;
S1044:将输出的概率值与1进行比较,进行loss2值的计算;
S1045:对两个loss值进行训练,最终得到最优的高分辨率图片;
S105:针对生成的高分辨率前时相影像和高分辨率后时相影像,采用影像差值法,生成低分辨率变化影像;
S106:对生成的低分辨率变化影像,进行超分重建,将含有建筑物信息区域的像素进行二次增强,生成高分辨率变化影像;
S107:利用faster-rcnn目标检测网络检测高分辨率变化图像中的建筑物,得到高分辨率建筑物变化影像;
S1071:将输入的高分辨率前时相影像的长和宽均双线性插值为600;
S1072:利用区域候选网络提取高分辨率变化影像中的建筑物,形成多个建议框,并对建议框进行筛选,计算建议框和真实框的重合程度,若重合程度大于0.5,则建议框可调整为真实框,因此对建议框进行保留,将其视为正样本;若重合程度在0.1至0.5之间,将其视为负样本;若重合程度小于0.1,则忽略建议框;
S1073:最终对筛选后的建议框进行回归分类,最终得到预测结果和种类;
S108:将高分辨率前时相影像二值化,并对其进行形态学后处理,先进行形态学闭运算填充高分辨率前时相影像二值图区域内部的孔洞,后进行形态学开运算,去除高分辨率前时相影像二值图斑点噪声,得到高分辨率前时相影像二值图;
S109:将高分辨率前时相影像二值图与高分辨率建筑物变化影像进行一比一的像素加权融合,得到建筑物变化区域结果图。
在本实施方式中,(1)针对安装的监控摄像头设置N个巡航点,每个巡航点每隔一段时间采集一次图像,将图像命名为易于读取的文件格式,建立建筑物低分辨率图像数据集;
(2)对前时相影像和后时相影像进行双线性插值处理,使两张影像的分辨率保持一致;
此处双线性插值处理用了python中resize函数,其中选取的插值方式为双线性插值,即在两个方向上分别进行一次线性插值。用的是现有技术。
(3)使用尺度不变特征变换方法分别提取高分辨率前时相影像和高分辨率后时相影像的特征点,对其含有建筑物的位置进行对应;
尺度不变特征变换方法即使用sift算子提取图像中的不随光照、亮度等外界环境变化而变化的关键点,两幅图像中有相同的景物,那么提取各自的稳定点,这些点之间会有相互对应的匹配点。Sift为一个算法。
(4)使用生成对抗网络对前后时相影像进行超分重建,提高图片的分辨率,生成高分辨率前时相影像和高分辨率后时相影像;
其中生成对抗网络,生成高分辨率的图像,按如下步骤进行:
4a)将输入的前时相影像双线性插值处理为(128,128,3)维的图片,经过卷积、上采样、标准化、反卷积生成(512,512,3)维的图像;
4b)将生成的(512,512,3)维的图像与原始高分辨率图片分别输入至VGG19网络,提取两个图片的特征向量,进行loss1值的计算,loss1具体如下(4)式所示:
VGG/Ij,表示VGG19网络的第I层第J个卷积核;
ILR是低分辨率图片;
IHR是高分辨率图片;
W,H为图片宽和高;
Wi;j和Hi;j描述VGG网络内各个特征图的尺寸。
其中,VGG19是一个深度学习框架,经卷积,池化,激活函数、全连接得到一个一维的特征向量。
4c)将生成的(512,512,3)维的图像输入至判别网络,输出为32x32x1的向量,对每个像素点进行逐个判断,最终用sigmoid函数将输出映射为0至1之间的概率值;
相当于有32*32=1024个评委对每个像素做评价(具体怎么评价是算法内部的内容,这里我也不太清楚),然后对评价结果进行融合。
其中,sigmoid函数为:
4d)将输出的概率值与1进行比较,进行loss2值的计算,以下为loss2计算公式;
是重建图像是真实高分辨率图像的概率
ILR是低分辨率图片
4e)对两个loss值进行训练,最终得到最优的高分辨率图片。
训练方法为得到的loss值逐次迭代,使其收敛,越来越小。
针对生成的高分辨率前时相影像和高分辨率后时相影像,采用影像像素差值法,生成低分辨率变化影像;
用python将图像转为数组,然后数组做差,再将其转为图片形式
(6)对生成的低分辨率变化影像,采用超分重建的方法,将含有建筑物信息区域的像素进行二次增强,生成高分辨率变化影像;
(7)利用faster-rcnn目标检测网络检测高分辨率变化图像中的建筑物,得到高分辨率建筑物变化影像;其中,faster-rcnn目标检测网络检测建筑物,按如下步骤进行:
7a)将输入的高分辨率前时相影像的长和宽均双线性插值为600;
7b)利用区域候选网络提取高分辨率变化影像中的建筑物,形成多个建议框,并对建议框进行筛选。计算建议框和真实框的重合程度,若重合程度大于0.5,则建议框可调整为真实框,因此对建议框进行保留,将其视为正样本;若重合程度在0.1至0.5之间,将其视为负样本;若重合程度小于0.1,则忽略建议框。
7c)最终对筛选后的建议框进行回归分类,最终得到预测结果和种类。
将高分辨率前时相影像二值化,并对其进行形态学后处理,先进行形态学闭运算填充高分辨率前时相影像二值图区域内部的孔洞,后进行形态学开运算,去除高分辨率前时相影像二值图斑点噪声,得到高分辨率前时相影像二值图。
其中,开运算=先腐蚀运算,再膨胀运算,闭运算=先膨胀运算,再腐蚀运算,膨胀(dilate)是对图像高亮部分进行“领域扩张”,领域扩张,效果图拥有比原图更大的高亮区域;腐蚀(erode)是原图中的高亮区域被蚕食,领域缩减,效果图拥有比原图更小的高亮区域。
通常建筑物变化检测采用较多的是基于卫星遥感数据开展变化检测。但是,由于遥感卫星通常形成的是类似正射影像影,数据分辨率不高(国际上分辨率最高的是0.10米,我国分辨率最高的是0.80米),卫星回返周期长,导致发现建筑物变化预警周期长。同时,现有的建筑物变化检测多采用对遥感影像的语义分割方法对变化区域进行像素级二分类,但由于建筑物目标太小,因此会出现漏检错检现象。同时由于网络层数过深,会出现过拟合的现象。
与遥感影像的俯视角度而言,监控摄像头通常部署在高塔或者高楼上,能够监控5-10公里的自然资源变化。同时,监控摄像头可以从建筑物侧面更清晰的观测到建筑物高度的变化。因此利用监控摄像头开展建筑物的变化具有实际意义。
但是,当前利用监控摄像头开展建筑物变化,主要还是利用人工实时观看的方式进行,智能化程度不高。且监控摄像头下建筑图片较小、分辨率较低导致变化区域检测不到。
对以上问题,我们采用超分重建的方法,将低分辨率的影像转为高分辨率的影像,提高目标建筑物的大小,再进行建筑物的变化检测,实现监控摄像头下建筑物的变化检测。
本发明具有以下优点:
1、与传统遥感建筑物影像形成的类似正射影像影相比,监控摄像头可以从建筑物侧面更清晰的观测到建筑物高度的变化,并且相较于遥感卫星回返周期长,城市监控的监控摄像头近于实时监控,发现建筑物变化预警周期短,更容易发现高度上的变化。
2、由于基于语义分割的建筑物变化检测方法需要大量的训练数据,数据量小会限制模型的效果,本发明将深度学习和机器学习方法结合,减轻了数据量对模型效果的局限性。
3、由于监控摄像头下建筑图片较小、分辨率较低导致变化区域检测不到。本发明基于超分重建的方法,将低分辨率的影像转为高分辨率的影像,提高建筑物影像的分辨率,实现监控摄像头下建筑物的变化检测。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。