基于F-SSD网络滤波的光学遥感视频目标检测方法与流程

文档序号:16856639发布日期:2019-02-12 23:23阅读:177来源:国知局
基于F-SSD网络滤波的光学遥感视频目标检测方法与流程
本发明属于视频图像处理
技术领域
,特别涉及一种基于f-ssd网络滤波的光学遥感视频目标检测方法,可用于光学遥感视频的目标检测,在城市交通监控、土地测绘、农业估产和生态环境监测等领域具有重大的应用价值。
背景技术
:目标检测是计算机视觉领域的核心任务之一,包括图像目标检测和视频目标检测。近年来,在视频目标检测领域,许多研究学者致力于可见光视频或红外视频的目标检测技术研究,但是没有针对光学遥感视频的目标检测技术。相比于可见光视频或红外视频,光学遥感视频是rgb三通道彩色图像,分辨率较低,目标尺寸较小,而且目标与背景在颜色上具有很大的相似性,将可见光视频或红外视频的目标检测技术应用于光学遥感视频的目标检测无法得到较高的准确率。光学遥感视频是由光学遥感图像序列组成,目前,现有技术中对光学遥感图像最典型的目标检测技术是基于深度学习的方法。深度学习的方法使图像直接作为网络的输入,避免了复杂的特征提取过程,而且其提取的特征更鲁棒、表达能力更强;ssd网络模型是深度学习方法中最常用的目标检测网络模型之一,深度学习方法中常见的用于目标检测的网络模型有fastr-cnn、ssd和yolo等,fastr-cnn模型需要先产生候选区域,然后对候选区域进行分类和位置精修,而ssd和yolo模型不先产生候选区域,可以直接生成物体的类别概率和位置坐标值。现有技术中虽然没有记载光学遥感视频的目标检测技术,但是光学遥感视频是由光学遥感图像序列组成,采用现有技术中对光学遥感图像的目标检测技术对视频的每一帧光学遥感图像分别进行目标检测,仍然可以得到该光学遥感视频的目标检测结果;但是相比于图像数据,视频包含更多的时域信息,视频相邻帧之中的目标是有关联性的,如果在检测光学遥感视频时,将光学遥感视频的每一帧当成独立的光学遥感图像分开检测会损失掉视频帧间的关联性,导致检测准确率降低。技术实现要素:本发明的目的在于克服上述现有技术的不足,提出了一种基于f-ssd网络滤波的光学遥感视频目标检测方法,用于解决现有光学遥感视频目标检测方法中存在的检测准确率较低的技术问题。本发明的技术思路是:首先构建网络模型f-ssd,获取训练该网络模型的样本集并对网络模型进行训练,用训练好的网络模型按一定的帧数间隔检测光学遥感视频的若干帧,依次以这些帧中检测出的目标为跟踪对象,用相关滤波算法对其进行跟踪,跟踪持续一定帧数后修正该跟踪对象的位置,然后继续跟踪,保存该跟踪对象在光学遥感视频各帧中的位置,最后得到所有跟踪对象在光学遥感视频帧中的位置,即为光学遥感视频的目标检测结果。为实现上述目的,本发明采取的技术方案包括如下步骤:(1)获取训练集t和验证集v:(1a)从数据库中获取视频帧图像大小为h×h×3、分辨率为r的m个光学遥感视频,h≥300,m≥5,对包含目标的视频帧图像中的目标进行标注,并将标注过目标的视频帧图像及目标的标签组合成样本集d1,然后从d1中随机选取一半以上的样本作为训练集t1,剩余的样本作为验证集v1;(1b)判断d1中的视频帧图像分辨率r是否大于预设阈值a,若是,从数据库中获取l个包含目标的分辨率小于a、大小为h×h×3的光学遥感图像作为辅助样本e,l≥500,对其中的目标标注后将标注过目标的光学遥感图像及目标的标签组成样本集d2,从d2中随机选取一半以上的样本作为训练集t2,剩余的样本作为验证集v2,并将t1和t2组合成训练集t={t1,t2},将v1和v2验证集v={v1,v2};否则,训练集t=t1,验证集v=v1;(2)构建网络模型f-ssd:在目标检测网络ssd第四组卷积层中的conv4_3、第五组卷积层中的conv7,以及第六组卷积层中的conv6_2、conv7_2、conv8_2和conv9_2中随机选取两对卷积层,每对卷积层后连接一个特征图的融合处理模块,在特征图的融合处理模块后并行连接两个卷积层,构成具有16个输出层的网络模型f-ssd;(3)对网络模型f-ssd进行训练:(3a)判断训练集t是否包含t2,若是,执行步骤(3b),否则,执行步骤(3c);(3b)采用t2对f-ssd进行预训练,并通过预训练过程中每迭代q次后的f-ssd对v2进行检测,q≥1000,当检测结果的准确率达到70%时停止训练,得到预训练模型c1,然后采用t1对c1进行训练,并通过训练过程中每迭代q次后的c1对v1进行检测,当检测结果的准确率超过85%后,停止训练,得到训练好的网络模型c2;(3c)采用t1对f-ssd进行训练,并通过训练过程中每迭代q次后的f-ssd对v1进行检测,q≥1000,当检测结果的准确率超过85%后,停止训练,得到训练好的网络模型c2;(4)对待检测的光学遥感视频f进行检测:(4a)设待检测的光学遥感视频为f,f={f1,f2,...,fi,...,fn},用模型c2对视频f中的第f1,fk+1,...,ft×k+1,...,fm×k+1帧图像进行目标检测,得到目标集合p0,p1,...,pt,...,pm,设定从f(h-1)×k+1帧到fh×k帧对目标进行跟踪的长度,即对目标跟踪的周期为[(h-1)×k+1,h×k],初始化t=0,其中,fi表示第i帧图像,n表示f的帧数,1≤i≤n,k为检测的间隔帧数,20≤k≤50,pt表示第ft×k+1帧图像中检测到的目标组成的集合,0≤t≤m,m是满足m×k+1≤n的最大整数,h表示第h个跟踪周期,1≤h≤m;(4b)从pt中选择目标j作为跟踪对象,取h=t+1;(4c)判断h是否大于m,若是,则执行步骤(4f),否则执行步骤(4d);(4d)采用相关滤波算法对目标j进行跟踪,得到目标j在第h×k帧中的位置,并对目标j在第h×k帧中的位置和灰度特征与ph中的各个目标的位置和灰度特征分别进行匹配,得到目标j与ph中各目标的匹配度,然后选取目标j与ph中各目标匹配度的最大值imax,以及imax在ph中对应的目标p,判断imax是否小于预设阈值b,若是,则删除集合pt中的目标j,并执行步骤(4f),否则,执行步骤(4e);(4e)将目标p的位置作为目标j的新位置,同时删除ph中的目标p,取h=h+1,执行步骤(4c);(4f)判断集合pt是否是空集,若是,则执行步骤(4g),否则,执行步骤(4b);(4g)t=t+1,判断t是否大于m,若是,执行步骤(4h),否则,执行步骤(4f);(4h)将所有跟踪对象在视频帧中的位置保存下来,得到了光学遥感视频f的目标检测结果。本发明与现有技术相比,具有以下优点:第一,本发明采用网络模型f-ssd对光学遥感视频的视频帧图像进行目标检测,然后采用了相关滤波算法来跟踪视频中的目标,并在跟踪过程中用f-ssd的检测结果修正跟踪目标的位置,两者结合,可以很大程度上改善由于光学遥感视频背景变化和目标遮挡造成的视频目标漏检过多的影响,相比于现有技术,本发明能够减少光学遥感视频的目标漏检,提高目标检测的准确率。第二,本发明采用网络模型f-ssd,该模型中的融合处理模块有效融合了多个网络层的特征,充分利用了高层特征图的语义信息与低层特征图的细节信息,提高了特征的表达能力,改善了由于光学遥感视频目标尺寸较小,且目标模糊,很难获得目标精确定位的问题,相比于现有技术,本发明融合多个网络层的特征,使网络模型对目标的类别识别能力更强,能够得到目标的精确定位,提高目标检测的准确率;第三,本发明先采用比光学遥感视频的视频帧图像分辨率高的光学遥感图像来预训练网络模型,然后用光学遥感视频的视频帧图像来精调网络模型,很好的改善了由于光学遥感视频分辨率低,且目标模糊,严重影响网络模型训练的问题,相比于现有技术,本发明使网络模型能够学习到对目标表达能力更强、更鲁棒的特征。附图说明图1为本发明的实现流程图;图2为谷歌地图上获取的光学遥感图像和吉林一号光学遥感视频的视频帧图像;图3为本发明和现有技术对包含飞机或舰船目标的吉林一号光学遥感视频帧图像的检测图;具体实施方式以下结合附图和具体实施例,对本发明作进一步的详细描述。参照图1.基于f-ssd网络滤波的光学遥感视频目标检测方法,包括如下步骤:步骤1)获取训练集t和验证集v:步骤1a)从数据库中获取视频帧图像大小为h×h×3、分辨率为r的m个光学遥感视频,h≥300,m≥5,对包含目标的视频帧图像中的目标进行标注,并将标注过目标的视频帧图像及目标的标签组合成样本集d1,然后从d1中随机选取一半以上的样本作为训练集t1,剩余的样本作为验证集v1,在本发明实施例中,光学遥感视频是从吉林一号卫星拍摄的视频中获取的,r=1.12m,h=500,m=5,将包含飞机和舰船的视频帧图像挑选出来,共有850张,从d1中随机选取80%的样本作为训练集t1;步骤1b)判断d1中的视频帧图像分辨率r是否大于预设阈值a,若是,从数据库中获取l个包含目标的分辨率小于a、大小为h×h×3的光学遥感图像作为辅助样本e,l≥500,对其中的目标标注后将标注过目标的光学遥感图像及目标的标签组成样本集d2,从d2中随机选取一半以上的样本作为训练集t2,剩余的样本作为验证集v2,并将t1和t2组合成训练集t={t1,t2},将v1和v2验证集v={v1,v2};否则,训练集t=t1,验证集v=v1,在本发明实施例中,辅助样本中的光学遥感图像分辨率为0.61m,来源于谷歌地图,预设阈值a=0.8m,l=500,从d2中随机选取80%的样本作为训练集t2;步骤2)构建网络模型f-ssd:目标检测网络ssd,包括输出层和依次层叠的输入层、第一组卷积层、池化层、第二组卷积层、池化层、第三组卷积层、池化层、第四组卷积层、池化层、第五组卷积层、池化层和第六组卷积层,输出层由第四组卷积层中的conv4_3、第五组卷积层中的conv7,以及第六组卷积层中的conv6_2、conv7_2、conv8_2和conv9_2后各并行连接的两个卷积层组成。在目标检测网络ssd第四组卷积层中的conv4_3、第五组卷积层中的conv7,以及第六组卷积层中的conv6_2、conv7_2、conv8_2和conv9_2中随机选取两对卷积层,每对卷积层后连接一个特征图的融合处理模块,在特征图的融合处理模块后并行连接两个卷积层,构成具有16个输出层的网络模型f-ssd,在本发明实施例中,在conv4_3和conv7,conv6和conv6_2两对卷积层后加入特征图的融合处理模块,下面以卷积层conv4_3和conv7为例介绍融合处理模块:选择卷积层conv4_3和conv7,融合处理模块包括4个卷积层conv_10_1_1、conv_10_1_2、conv_10_2_1、conv_10_2_2和1个级联层concat_1,其中其中卷积层conv4_3的特征图大小为38×38,卷积层conv7的特征图大小为19×19,conv4_3和conv7进行融合处理得到的融合层concat_1的特征图大小为29×29;在conv4_3后依次叠加卷积层conv_10_1_1和卷积层conv_10_1_2,其中,conv_10_1_1的特征图个数256,特征图的大小为38×38,卷积核大小为1,步长为1,conv_10_1_2的特征图个数256,特征图的大小为29×29,卷积核大小为2,步长为2;在conv7后依次叠加卷积层conv_10_2_1和卷积层conv_10_2_2,其中,conv_10_2_1的特征图个数256,特征图的大小为19×19,卷积核大小为1,步长为1,conv_10_2_2的特征图个数256,特征图的大小为29×29,卷积核大小为2,步长为1;将conv_10_1_2和conv_10_2_2的特征图级联在一起,得到级联层concat_1,concat_1的特征图的大小为29×29,特征图的个数等于512。步骤3)对网络模型f-ssd进行训练:步骤3a)判断训练集t是否包含t2,若是,执行步骤(3b),否则,执行步骤(3c),在本发明实施例中,训练集t包含t2;步骤3b)采用t2对f-ssd进行预训练,并通过预训练过程中每迭代q次后的f-ssd对v2进行检测,q≥1000,当检测结果的准确率达到70%时停止训练,得到预训练模型c1,然后采用t1对c1进行训练,并通过训练过程中每迭代q次后的c1对v1进行检测,当检测结果的准确率超过85%后,停止训练,得到训练好的网络模型c2,在本发明实施例中,q=3000;步骤3c)采用t1对f-ssd进行训练,并通过训练过程中每迭代q次后的f-ssd对v1进行检测,q≥1000,当检测结果的准确率超过85%后,停止训练,得到训练好的网络模型c2,在本发明实施例中,q=3000;步骤4)对待检测的光学遥感视频f进行检测,在本发明实施例中,将f-ssd与相关滤波算法结合,对包含舰船或飞机的香港港口视频和圣地亚哥机场视频进行检测:步骤4a)设待检测的光学遥感视频为f,f={f1,f2,...,fi,...,fn},用模型c2对视频f中的第f1,fk+1,...,ft×k+1,...,fm×k+1帧图像进行目标检测,得到目标集合p0,p1,...,pt,...,pm,设定从f(h-1)×k+1帧到fh×k帧对目标进行跟踪的长度,即对目标跟踪的周期为[(h-1)×k+1,h×k],初始化t=0,其中,fi表示第i帧图像,n表示f的帧数,1≤i≤n,k为检测的间隔帧数,20≤k≤50,pt表示第ft×k+1帧图像中检测到的目标组成的集合,0≤t≤m,m是满足m×k+1≤n的最大整数,h表示第h个跟踪周期,1≤h≤m,在本发明实施例中,k=50,n=320,m=6;步骤4b)从pt中选择目标j作为跟踪对象,取h=t+1;步骤4c)判断h是否大于m,若是,则执行步骤(4f),否则执行步骤(4d);步骤4d)采用相关滤波算法对目标j进行跟踪,在本发明实施例中,采用eco算法对选择的目标进行跟踪,得到目标j在第h×k帧中的位置,并对目标j在第h×k帧中的位置和灰度特征与ph中的各个目标的位置和灰度特征分别进行匹配,得到目标j与ph中各目标的匹配度,然后选取目标j与ph中各目标匹配度的最大值imax,以及imax在ph中对应的目标p,判断imax是否小于预设阈值b,若是,则删除集合pt中的目标j,并执行步骤(4f),否则,执行步骤(4e),在本发明实施例中,计算目标j与ph中各目标的匹配度所用到的公式为:其中,i表示匹配度,公式等号右侧的前两项是目标j与ph中的目标进行位置匹配,第三项是目标j与ph中的目标进行灰度特征匹配,n表示ph中的目标个数,(x*,y*)、w*、h*表示j在第h×k帧中的位置矩形框的左上角坐标、宽度和高度,(xi,yi)、wi、hi表示ph中第i个目标的位置矩形框左上角坐标、宽度和高度,g*表示第h×k帧中目标j的平均灰度值,gi表示ph中第i个目标的平均灰度值,λ取值0.1。步骤4e)将目标p的位置作为目标j的新位置,同时删除ph中的目标p,取h=h+1,执行步骤(4c);步骤4f)判断集合pt是否是空集,若是,则执行步骤(4g),否则,执行步骤(4b);步骤4g)t=t+1,判断t是否大于m,若是,执行步骤(4h),否则,执行步骤(4f);步骤4h)将所有跟踪对象在视频帧中的位置保存下来,得到了光学遥感视频f的目标检测结果,在本发明实施例中,得到包含舰船或飞机的光学遥感视频的检测结果。以下通过仿真实验,对本发明的技术效果作进一步说明。1、仿真条件:本发明的仿真实验是在主频2.40ghz*16的intel(r)xeon(r)e5-2630cpu、内存64gb,一块gtxtitangpu的硬件环境和matlab2014a、python2.7的软件环境下进行的。卷积神经网络cnn模型在ubuntu14.04的系统环境下的caffe上搭建;2、仿真内容仿真结果分析:本发明的网络模型训练采用的数据是由吉林一号卫星拍摄的光学遥感视频和谷歌地图上下载的光学遥感图像组成,如图2所示,图2(a)和图2(b)是吉林一号卫星拍摄的包含舰船或飞机目标的视频帧图像,图2(c)和图2(d)是谷歌地图上下载的包含舰船或飞机目标的光学遥感图像。本发明对吉林一号卫星拍摄的光学遥感视频进行检测,检测目标有两类:飞机和舰船,仿真实验中将三种方法进行对比,包括本发明的方法、原始的ssd网络模型、以及在conv4_3和conv7,conv6和conv6_2两对卷积层后加入融合处理模块的ssd网络模型;图3是本发明与两种对比方法对香港港口视频和圣地亚哥机场视频的视频帧图像的检测图,其中,图3(a)和图3(b)是原ssd网络模型的检测图,图3(c)和图3(d)是加入融合处理模块的ssd网络模型的检测图,图3(e)和图3(f)是本发明的检测图。参照图3(a)、图3(c)和图3(e)可以看出,原ssd网络模型无法检测出尺寸较小的目标2、14、17、18和模糊目标19,加入融合处理模块的ssd网络模型无法检测出模糊目标19,而本发明可以将其检测出来;参照图3(b)、图3(d)和图3(f)可以看出,原ssd网络模型无法检测出残缺目标7,而其他两种方法可以将其检测出来。综上,本发明对尺寸较小、模糊或者残缺的目标检测效果好,漏检最少,检测准确率最高。为了验证本发明的技术效果,将本发明和两种对比方法在仿真实验中对香港港口视频和圣地亚哥机场视频的平均检测准确率map进行对比,如表1所示,从表1可以看出本发明的map有很明显的优势,其中加入了融合处理模块的ssd网络模型比原ssd网络模型的map提高了4.08%,本发明比原ssd网络模型提高了12.32%,由此可以证明,本发明中的网络模型和滤波算法的加入都是有效的。表1.光学遥感视频目标检测准确率方法准确率mapssd83.34%加入融合处理模块的ssd87.42%本发明95.66%综上所述,本发明提出的基于f-ssd网络滤波的光学遥感视频目标检测方法能够明显地提高光学遥感视频的检测准确率。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1