一种单机运行的特征建筑目标检测方法和系统与流程

文档序号:17223570发布日期:2019-03-27 12:18阅读:163来源:国知局
一种单机运行的特征建筑目标检测方法和系统与流程

本申请涉及目标检测领域,特别涉及一种单机运行的特征建筑目标检测方法和系统。



背景技术:

人类生活中存在着大量的图像和视频数据,随着互联网,人工智能技术,智能硬件的迅猛发展,这使得计算机视觉技术在人类生活中起到的作用越来越大,对计算机视觉的研究也越来越火热。本发明中的特征建筑目标检测系统是基于计算机视觉技术对特定建筑进行特征提取,识别,对于识别背景、军事识别、无人机探测等具有重要意义。

目标检测是计算机视觉领域中一个非常重要的研究方向。目标检测是指从一幅场景(图片)中找出目标,包括检测和识别两个过程。而目标基于深度学习的目标检测方法取得了巨大的成功。算法主要分为两类:一类是两阶段算法,生成一系列作为样本的候选框,再通过卷积神经网络进行样本分类;第二类不用产生候选框,直接将目标边框定位的问题转化为回归问题处理。第一类算法中包括r-cnn(regionswithconvolutionneuralnetwork,区域卷积神经网络)系列算法,其中最新的faster-rcnn在检测准确率和定位精度很高,但达不到实时的目标检测,对每个候选区域分类计算量比较大,无法处理视频流数据。而第二类算法包括yolo系列(youonlylookonce,“你只看一眼”实时目标检测算法)和ssd(singleshotmultiboxdetector,单发多框检测器)等算法。yolo算法是基于图像的全局信息进行预测的,整体结构简单,速度能达到每秒45帧,但是存在定位不准以及召回率不如基于区域提名方法的问题,且对距离很近的物体和很小的物体检测效果不好,泛化能力相对较弱。ssd算法采用在整幅图像上各个位置用多尺度区域的局部特征图边框回归,保持yolo算法快速特性的同时,也保证了边框定位效果和fasterr-cnn类似。但因其利用多层次特征分类,导致其对于小目标检测困难。yolov2(youonlylookonceversion2,第二代“你只看一眼”实时目标检测算法)重点解决了yolo中召回率和定位精度方面的误差,取得了很好的效果。现有的算法方案都是在通用目标检测图像库的基础上建立的,对特殊建筑的识别有偏差,不能直接应用在特征建筑目标检测当中。



技术实现要素:

在军事领域中对于实时性和准确性要求较高,针对面向复杂场景的目标检测问题,需要在保证能够处理低速图像和高速的视频流数据的前提下,保障较高的准确性,但是现有的目标检测算法没有针对军事建筑等数据集实现的检测系统。现有的目标检测算法存在的问题:(1)对于建筑检测中,大量的相似建筑,清晰度、光照等问题造成的图片质量问题,以及不同的视角下建筑差异性等,是本项目要解决的第一个重要问题。(2)另外,考虑到此任务数据量较小,使用与yolov2模型不同的网络结构,减少模型参数以降低训练难度,同时保证实时性和准确性。

为解决上述问题之一,本申请提供了一种单机运行的特征建筑目标检测方法和系统。

根据本申请实施例的第一个方面,提供了一种单机运行的特征建筑目标检测方法,该方法的步骤包括:

对获取的图像数据进行预处理,获得数据集;

利用基于yolov2模型和快速区域卷积神经网络fasterrcnn算法确定的预测边界框,预测目标的种类和位置;

根据利用目标的种类和位置确定的损失函数,经训练获得检测结果。

根据本申请实施例的第二个方面,提供了一种单机运行的特征建筑目标检测系统,该系统包括

预处理模块,对获取的图像数据进行预处理,获得数据集;

预测模块,利用基于yolov2模型和快速区域卷积神经网络fasterrcnn算法确定的预测边界框,预测目标的种类和位置;

训练模块,根据利用目标的种类和位置确定的损失函数,经训练获得检测结果。

本申请所述技术方案在原有的yolo模型基础上,重新构建网络结构、训练方法、图片预处理方法,以及损失函数类型后,得到最终的目标检测模型,利用该模型在目标建筑数据集以及视频数据集中,能够保持平均正确率和召回率在99%以上。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1示出本方案所述锚定框预测坐标的示意图;

图2示出本方案所述特征建筑目标检测系统的工作流程图;

图3示出本方案所述损失下降趋势的示意图;

图4示出本方案所述特征建筑目标检测方法的示意图。

具体实施方式

为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

本方案的核心思路是以yolov2模型为基础,针对建筑数据集,构建满足高精度、快速检测的目标检测模型,该目标检测模型对于数据集中出现大量的相似建筑,清晰度、光照等问题造成的图片质量问题,以及不同的视角下建筑差异性等,具有较好的鲁棒性。同时,通过配以合适的接口,能够适应不同数据来源;进而保证视频检测过程中,预测选框平稳变化,实现高精确度快速定位目标建筑。

如图1、图2和图4所示,本方案公开了一种单机运行的特征建筑目标检测方法,该方法可以分为三个阶段:(1)首先基于图像预处理方法扩充数据集;(2)然后改进原始yolov2算法网络结构设计适用于建筑数据集的卷积神经网络;(3)改进原有损失函数加速训练过程,在测试集上运行训练模型,得到检测结果。具体的,该方法的实施步骤如下:

对于扩充数据集

本方案所述数据主要包括两类,一类是含目标建筑的图片与标注数据,约为几百到上千张,另一类是背景数据集用来增加模型的识别正确率,避免模型轻易将没有见过的物体错认为是目标建筑。针对实际问题,同时结合代码的可行性,主要采取了以下预处理方式对数据进行预处理:补全,平移,旋转变换,放射变化,通道噪声。缩放图片到448×448后作为输入。

对于yolov2模型的网络结构的改进

本方案所述目标检测模型是基于yolov2模型的网络结构进行改进设计,其中模型包括6层卷积层,同时在每层卷积层后面加入批标准化(batchnormalization),对中间层数据做归一化处理。之后通过带泄漏整流函数leakyrelu(leakyrectifiedlinearunit)增加数据的非线性,公式如下:

在最后一层卷积层之后加入9层残差网络resnet(residualnetwork),解决深度网络不容易训练问题,增强网络表达能力,并减少了一些通道,保证参数始终维持在4m左右,使得输入卷积网络的448×448图片最终得到14×14的卷积特征图

若模型如果使用全连接层进行边界框预测,会丢失较多的空间信息,导致定位不准确。因此,如图1所示,本本方案所述目标检测模型借鉴了快速区域卷积神经网络fasterrcnn(fasterregionswithconvolutionneuralnetwork)中的锚定框思想,在卷积特征图上每个中心预测4种不同大小和比例的建议框。由于模型应用卷积操作所以不需要对特征图进行重新整合,很好的保留了空间信息。预测相对偏移量取代直接预测坐标简化了问题,便于网络学习。加入锚定框之后,目标检测的召回率上升,准确率下降。

本方案所述目标检测模型使用锚定框获取预测边界框,具体做法如下:a)去掉最后的池化层确保输出的卷积特征图有更高的分辨率;b)把预测类别的机制从空间位置中解耦(不让类别的预测与某个网格绑定一起),由锚定框同时预测类别和坐标。

目标检测模型的输出结果为n×n×i×j的张量。其中n代表图片经过卷积以后最终得到的尺寸。也可以理解为将原来的图片分成n×n块,每一块通过卷积成为i×j的张量,记录着原图块对应位置的信息。i代表着i个边界框,j代表着4个位置信息x,y,w,h;置信值;类别的分量。(x,y)代表与格子相关的box的中心(w,h)为目标建筑选框的宽和高。置信值的定义如下:

其中confidence为置信值,p表示是否有物体(有时取1,没有时取0),表示预测的和真实的边框的交并比。置信值用于衡量目标检测时所预测边框中含有目标的概率和这个边框预测准确性。

基于目标的种类和位置,确定损失函数

损失函数对目标检测模型识别结果有较大的影响,损失函数的设计主要采取了以下集中原则:(x,y)代表与格子相关的box的中心,(w,h)为与全图信息相关的box的宽和高,表示有物体时为1,否则为0,表示超参数。在最小化类别的loss时使用交叉熵,使用交叉熵收敛得更快。

其中,λcoord为坐标预测的损失权重,s2为yolo算法中网格数量,b为每个网格中的boundingbox(标识物体的边框)数量,表示第i个网格的第j个boundingbox是否负责预测某个物体(预测某个物体时,为1,为0;不预测时取值相反),(xi,yi)和分别表示预测的和真实的目标位置,(wi,hi)和分别表示预测的和真实的目标框大小,ci和分别表示预测的和真实的目标置信度,λnoobj为物体类别预测的损失权重,表示第i个单元中是否有物体,c表示物体类别,pi(c)和分别表示物体类别为c的概率的预测值和真实值。

随着阈值的提高,faster-rcnn在建筑数据集上测试,存在大量误检,表1中所给的阈值已经很高(接近1),为了提升正确率继续增加阈值的话,会导致召回率迅速下降。然而,本方案基于yolov2模型改进的目标检测模型在目标建筑数据集以及视频数据集中,能够保持平均正确率和召回率在99%以上,如表6.1,表6.2,表6.3所示,均表现出了良好的检测效果。

表1fasterrcnn在测试集表现

表2yolov2改进算法国家会展中心建筑数据集的表现buildingzhan

下面通过实例对本方案作进一步说明。

本实施例公开了一种单机运行的特征建筑目标检测方法和系统;其中,该系统的工作流程如图2所示,

步骤一、获取数据集

数据主要包括两类,一类是含目标建筑的图片与标注数据,第一类图片的数据集,将其分为训练集和验证集,四类建筑的训练集分别有200,200,1000,900张,剩下的为验证集,分别有105,136,265,249张。另一类则是voc2007(visualobjectclasses,由牛津大学等创建的图像分类数据库)数据集中的数据作为背景数据集,共5011张。

国家会展中心建筑数据集的照片是通过无人机拍摄获得的,然后通过图像标注工具对建筑目标进行画框标注,获得样本数为305的建筑数据集。建筑数据集的照片是基于gta获得的,然后通过图像标注工具对建筑目标进行画框标注,获得样本数为1265的建筑数据集。

步骤二.对训练数据集进行标注

标注数据集的工具采用目标检测标注工具labelimg,每一个图像对应一个标签文件,文件格式为可扩展标记语言xml,其内容包括图片长、宽、通道数以及待检测目标在图像中的坐标位置。

步骤三、数据预处理

针对不同的任务背景下,可以通过图像的几何变换,使用以下一种或多种组合数据增强变换来增加输入数据的量。采取了以下预处理方式:平移:对于图片的中心做适当的平移;旋转变化:以目标建筑的中心为中心,对图片做小角度(正负5度)的旋转;放射变化:以目标建筑的中心为中心,对图片做小幅度的仿射变化;通道噪声:对于图片的红绿蓝通道rgb,增加一定的噪声,使图片更接近不同的光照下得到的图片;补全:利用填充空白,让图片的长宽变到相同大小,然后再缩放到指定大小。

步骤四、对于目标检测算法的训练

(1)模型训练并没有利用预训练模型进行初始化,而是直接随机初始化后训练。

(2)优化算法使用自适应矩估计adam(adaptivemomentestimation)算法,并在训练过程中减小步长。

(3)随机固定网络层参数的方式,让网络层得到充分的训练。

训练时损失函数的变化情况如附图3所示。

步骤五、预测

图片是缩放到448*448后作为输入带残差块的卷积神经网络,这样大小的输入有助于识别图片中相对较小的物体。输入大小的增加,会加大gpu(graphicprocessingunit,图形处理器)的占用,在权衡gpu使用以及准确率这两者之后,最终采用使用上面所说的尺寸作为输入。模型的输出结果为14×14×4×7的张量。

模型使用锚定框获取预测边界框,具体做法如下:a)去掉最后的池化层确保输出的卷积特征图有更高的分辨率;b)图片输入尺寸为448*448,使用卷积层降采样,使得输入卷积网络的448*448图片最终得到14*14的卷积特征图;c)把预测类别的机制从空间位置中解耦(不让类别的预测与某个网格绑定一起),由锚定框同时预测类别和坐标。

通过上述分析能够看出,本方案基于yolov2模型的目标检测模型,性能更好,因此给出阈值跨度更大的输出结果,结果如表4。

表4yolov2改进算法国家会展中心建筑数据集的表现

为了能够满足本方案所述特征建筑目标检测系统的应用,本方案还配以合适接口,分别检测图片、视频、以及摄像头中物体,并通过参数调整,保证模型在视频检测过程中,预测选框平稳变化,实现在保证高精确度条件下快速实时定位目标建筑的系统。

本方案中,所述特征建筑目标检测方法也可以通过电子设备实现其检测功能,所述电子设备包括:存储器,一个或多个处理器;存储器与处理器通过通信总线相连;处理器被配置为执行存储器中的指令;所述存储介质中存储有用于执行如上所述方法中各个步骤的指令。

本方案中,所述特征建筑目标检测方法也可以记载于计算机可读存储介质中,通过计算机可读存储介质上存储有计算机程序实现检测功能,该程序被处理器执行时实现如上所述方法的步骤。

综上所述,本方案针对建筑数据集,以yolov2模型为基础,设计一种性能更加的目标检测模型;通过该模型能够减少原有神经网络结构参数量,同时增加网络结构,实现更新层卷积网络,增强算法的表现力,加快训练速度。同时,利用目标检测中标准数据集标注方法,通过改变图像饱和度、色度等方法扩充数据集,改进原有目标函数,提升训练速度和运行效率。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上仅为本发明的实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均包含在申请待批的本发明的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1