CN113792746B - 基于Yolo V3的探地雷达图像目标检测方法 - Google Patents
基于Yolo V3的探地雷达图像目标检测方法 Download PDFInfo
- Publication number
- CN113792746B CN113792746B CN202111103026.5A CN202111103026A CN113792746B CN 113792746 B CN113792746 B CN 113792746B CN 202111103026 A CN202111103026 A CN 202111103026A CN 113792746 B CN113792746 B CN 113792746B
- Authority
- CN
- China
- Prior art keywords
- image
- boxes
- convolution
- yolo
- feature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000000149 penetrating effect Effects 0.000 title claims abstract description 20
- 238000001514 detection method Methods 0.000 title claims abstract description 15
- 238000000034 method Methods 0.000 claims abstract description 54
- 230000000694 effects Effects 0.000 claims abstract description 8
- 238000007781 pre-processing Methods 0.000 claims abstract description 8
- 238000003672 processing method Methods 0.000 claims abstract description 8
- 238000002360 preparation method Methods 0.000 claims abstract description 6
- 230000009466 transformation Effects 0.000 claims description 11
- 238000012549 training Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000002708 enhancing effect Effects 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 230000009897 systematic effect Effects 0.000 claims description 3
- 238000013519 translation Methods 0.000 claims description 3
- 230000017105 transposition Effects 0.000 claims description 3
- 230000000007 visual effect Effects 0.000 claims description 3
- 238000003064 k means clustering Methods 0.000 claims description 2
- 239000000284 extract Substances 0.000 abstract description 4
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 3
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 230000008034 disappearance Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000009933 burial Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Molecular Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于Yolo V3的探地雷达图像目标检测方法,包括如下步骤:采用探地雷达设备采集相关的地质图像,并进行数据准备;对采集到的图像进行预处理;使用网络Darknet‑53来提取特征;图像处理方法为数据先经过preprocess_true_boxes()函数处理,然后输入到模型,损失函数是yolo_loss(),网络最后一个卷积层的输出作为函数yolo_head()的输入,然后再使用函数yolo_eval()得到目标检测结果。所述方法可以更好的提取出特征,提高了检测效果。
Description
技术领域
本发明涉及雷达图像处理方法技术领域,尤其涉及一种基于Yolo V3的探地雷达图像目标检测方法。
背景技术
探地雷达作为一种基于高频电磁波的无损探测设备,当电磁波在地下介质传播时,遇到地下目标的电性差异分界面时会产生双曲线形状的反射线,称为双曲波。通过双曲波的波形、振幅强度和时间变化等特性可以推断出地下目标的空间位置、结构、形态和埋藏深度等重要信息。因此这对于理解地下目标的特点具有重要的指示作用。但是由于系统噪声和地下介质的不均匀性,会导致生成的图像非常复杂。
发明内容
本发明所要解决的技术问题是如何提供一种可以更好的提取出特征,提高检测效果的基于Yolo V3的探地雷达图像目标检测方法。
为解决上述技术问题,本发明所采取的技术方案是:一种基于Yolo V3的探地雷达图像目标检测方法,其特征在于包括如下步骤:
采用探地雷达设备采集相关的地质图像,并进行数据准备;
对采集到的图像进行预处理;
使用网络Darknet-53来提取特征;
图像处理方法为数据先经过preprocess_true_boxes()函数处理,然后输入到模型,损失函数是yolo_loss(),网络最后一个卷积层的输出作为函数yolo_head()的输入,然后再使用函数yolo_eval()得到目标检测结果。
进一步的技术方案在于,进行数据准备的方法如下:
预测特征图的anchor框集合:3个尺度的特征图,每个特征图3个anchor框,共9个框,从小到大排列;框1-3在大尺度52x52特征图中使用,框4-6是中尺度26x26,框7-9是小尺度13x13;大尺度特征图用于检测小物体,小尺度检测大物体;9个anchor来源于边界框的K-Means聚类;
图片输入尺寸:默认为416x416,选择416的原因是:图片尺寸满足32的倍数,在DarkNet网络中,执行5次步长为2卷积,降采样;
在最底层时,特征图尺寸需要满足为奇数,以保证中心点落在唯一框中。
进一步的技术方案在于,对采集到的图像进行预处理的方法如下:
灰度化:灰度化,在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫灰度值,因此,灰度图像每个像素只需一个字节存放灰度值灰度范围为0-255;采用分量法、最大值法、平均值法或加权平均法对彩色图像进行灰度化;
几何变换:图像几何变换又称为图像空间变换,通过平移、转置、镜像、旋转、缩放对采集的图像进行处理,用于改正图像采集系统的系统误差和仪器位置的随机误差;使用最近邻插值、双线性插值或双三次插值算法,使得输出图像的像素被映射到输入图像的整数坐标上;
图像增强:增强图像中的有用信息,它可以是一个失真的过程,其目的是要改善图像的视觉效果,针对给定图像的应用场合,有目的地强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征,使之改善图像质量、丰富信息量,加强图像判读和识别效果,满足某些特殊分析的需要。
进一步的技术方案在于,所述YoloV3所使用的主干特征提取网络为Darknet-53,Darknet-53包括连续的3×3和1×1卷积层,一共有53个卷积层,所以称它为Darknet-53,
Darknet53具有一个重要特点是使用了残差网络Residual,Darknet53中的残差卷积就是首先进行一次卷积核大小为3x3、步长为2的卷积,该卷积会压缩输入进来的特征层的宽和高,此时可以获得一个特征层,将该特征层命名为layer;之后我们再对该特征层进行一次1x1的卷积和一次3x3的卷积,并把这个结果加上layer,此时便构成了残差结构;通过不断的1x1卷积和3x3卷积以及残差边的叠加,大幅度的加深网络;
Darknet-53的每一个卷积部分使用DarknetConv2D结构,每一次卷积时进行l2正则化,完成卷积后进行BatchNormalization标准化与LeakyReLU;Leaky ReLU则是给所有负值赋予一个非零斜率,以数学的方式可以表示为:
进一步的技术方案在于,YoloV3的解码过程分为两步:
先将每个网格点加上它对应的x_offset和y_offset,加完后的结果就是预测框的中心;
然后再利用先验框和h、w结合计算出预测框的宽高,得到整个预测框的位置。
进一步的技术方案在于,所述Darknet-53网络进行训练的方法如下:
1)计算loss所需参数;
2)对于Yolo V3的模型来说,网络最后输出的内容就是三个特征层每个网格点对应的预测框及其种类,即三个特征层分别对应着图片被分为不同size的网格后,每个网格点上三个先验框对应的位置、置信度及其种类;
输出层的shape分别为(13,13,75),(26,26,75),(52,52,75),最后一个维度为75是因为是基于voc数据集的,它的类为20种,Yolo V3只有针对每一个特征层存在3个先验框,所以最后维度为3x25;
如果使用的是coco训练集,类则为80种,最后的维度应该为255=3x85,三个特征层的shape为(13,13,255),(26,26,255),(52,52,255)
3)loss的计算过程:
得到pred和target后,进行如下步骤:
3-1)判断真实框在图片中的位置,判断其属于哪一个网格点去检测;
3-2)判断真实框和哪个先验框重合程度最高;
3-3)计算该网格点应该有怎么样的预测结果才能获得真实框;
3-4)对所有真实框进行处理;
3-5)获得网络应该有的预测结果,将其与实际的预测结果对比。
进一步的技术方案在于,preprocess_true_boxes()函数包括如下参数:
true_boxes:实际框的位置和类别,维度为boxes_num×5,boxes_num表示一张图片中有几个实际框,第二个维度[x1,y1,x2,y2,class],class是绝对数字值;
input_shape:网络的输入的图片的尺寸;
anchors:通过generate_anchors.py,利用k-means聚类,统计出这个数据集中的大部分目标的宽高,统计出的anchors类似于下面这样的6个元素的list,每个元素中的两个数值代表box的宽,高.anchors=[an0,an1,an2,an3,an4,an5]=[[81.112.],[114.158.],[146.202.],[187.259.],[255.349.],[486.670.]]。
进一步的技术方案在于,preprocess_true_boxes()函数的处理方法如下:
Step1:构造标注数据true_boxes.维度为[batch_size,4,5];
Step2:构造boxes_xy,boxes_wh;
计算每个box的中心点boxes_xy和宽高boxes_wh,计算原则为:cent_x=(x1+x2)/2,w=x2-x1;
Step3:根据boxes_xy,boxes_wh更新true_boxes中的值,并做归一化;
Step4:构造网络回归目标y_true,shape=[[y_true1],[y_true2]],y_true1的维度为[batch_size,13,13,3,4+1+num_classes],y_true2的维度为[batch_size,26,26,3,8];
Step5:遍历同一个batch_size中的每张图片。
采用上述技术方案所产生的有益效果在于:所述方法首先采用探地雷达设备采集到相关的地质图像,并进行数据准备;然后对采集到的图像进行预处理;再次搭建一个新的网络Darknet-53用来提取特征;最后经过preprocess_true_boxes()函数处理,再使用函数yolo_eval()得到结果;所述方法可以更好的提取出特征,提高检测效果。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1是本发明实施例所述方法的流程图;
图2是本发明实施例所述方法中Darknet-53的网络结构示意图;
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
如图1所示,本发明实施例公开了一种基于Yolo V3的探地雷达图像目标检测方法,包括如下步骤:
S1:采用探地雷达设备采集相关的地质图像,并进行数据准备;
S2:对采集到的地质图像进行预处理;
S3:搭建一个新的网络模型Darknet-53来于地质图像提取特征;
S4:图像处理方法为数据先经过preprocess_true_boxes()函数处理,然后做一些处理输入到模型,模型的损失函数是yolo_loss(),网络最后一个卷积层的输出作为函数yolo_head()的输入,然后再使用函数yolo_eval()得到处理后的结果。
Yolo V3网络模型具有如下特点:
使用残差网络Residual,残差卷积就是进行一次3x3、步长为2的卷积,然后保存该卷积layer,再进行一次1x1的卷积和一次3x3的卷积,并把这个结果加上layer作为最后的结果,残差网络的特点是容易优化,并且能够通过增加相当的深度来提高准确率。其内部的残差块使用跳跃连接,缓解了在深度神经网络中增加深度带来的梯度消失问题。
提取多特征层进行目标检测,一共提取三个特征层,特征层的shape分别为(13,13,75),(26,26,75),(52,52,75),最后一个维度为75是因为该图是基于voc数据集的,它的类为20种,Yolo V3只有针对每一个特征层存在3个先验框,所以最后维度为3x25;
如果使用的是coco训练集,类则为80种,最后的维度应该为255=3x85,三个特征层的shape为(13,13,255),(26,26,255),(52,52,255);
其采用反卷积UmSampling2d设计,逆卷积相对于卷积在神经网络结构的正向和反向传播中做相反的运算,其可以更多更好的提取出特征。
进一步的,采用探地雷达设备采集到相关的地质图像,并进行数据准备的具体方法为:
1)数据准备:预测特征图的anchor框集合:3个尺度的特征图,每个特征图3个anchor框,共9个框,从小到大排列;框1-3在大尺度52x52特征图中使用,框4-6是中尺度26x26,框7-9是小尺度13x13;大尺度特征图用于检测小物体,小尺度检测大物体;9个anchor来源于边界框的K-Means聚类。
2)图片输入尺寸,默认为416x416,选择416的原因是:图片尺寸满足32的倍数,在DarkNet网络中,执行5次步长为2卷积,降采样。在最底层时,特征图尺寸需要满足为奇数,如13,以保证中心点落在唯一框中。如果为偶数时,则中心点落在中心的4个框中,导致歧义。
进一步的,对采集到的图像进行预处理具体为:
灰度化:
在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫灰度值,因此,灰度图像每个像素只需一个字节存放灰度值(又称强度值、亮度值),灰度范围为0-255。一般有分量法、最大值法、平均值法和加权平均法四种方法对彩色图像进行灰度化。
几何变换:
图像几何变换又称为图像空间变换,通过平移、转置、镜像、旋转、缩放等几何变换对采集的图像进行处理,用于改正图像采集系统的系统误差和仪器位置(成像角度、透视关系乃至镜头自身原因)等随机误差。此外,还需要使用灰度插值算法,因为按照这种变换关系进行计算,输出图像的像素可能被映射到输入图像的非整数坐标上。通常采用的方法有最近邻插值、双线性插值和双三次插值。
图像增强:
增强图像中的有用信息,可以是一个失真的过程,其目的是要改善图像的视觉效果,针对给定图像的应用场合,有目的地强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征,使之改善图像质量、丰富信息量,加强图像判读和识别效果,满足某些特殊分析的需要。图像增强算法可分成两大类:空间域法和频率域法。
进一步的,模型搭建用了一个新的网络来提取特征,融合了Yolo V2、Darknet-19以及其他新型残差网络,包括连续的3×3和1×1卷积层,当然,其中也添加了一些shortcutconnection,整体体量也更大。因为一共有53个卷积层,所以称它为Darknet-53,如图2所示。具体为:
YoloV3所使用的主干特征提取网络为Darknet-53,具有两个重要特点:
1)Darknet53具有一个重要特点是使用了残差网络Residual,Darknet53中的残差卷积就是首先进行一次卷积核大小为3x3、步长为2的卷积,该卷积会压缩输入进来的特征层的宽和高,此时可以获得一个特征层,将该特征层命名为layer。之后再对该特征层进行一次1x1的卷积和一次3x3的卷积,并把这个结果加上layer,此时便构成了残差结构。通过不断的1x1卷积和3x3卷积以及残差边的叠加,便大幅度的加深了网络。残差网络的特点是容易优化,并且能够通过增加相当的深度来提高准确率。其内部的残差块使用了跳跃连接,缓解了在深度神经网络中增加深度带来的梯度消失问题。
2)Darknet-53的每一个卷积部分使用了DarknetConv2D结构,每一次卷积时进行l2正则化,完成卷积后进行BatchNormalization标准化与LeakyReLU。普通的ReLU是将所有的负值都设为零,Leaky ReLU则是给所有负值赋予一个非零斜率。以数学的方式我们可以表示为:
从特征获取预测结果的过程可以分为两个部分,分别是:
构建FPN特征金字塔进行加强特征提取。
利用Yolo Head对三个有效特征层进行预测。
a、构建FPN特征金字塔进行加强特征提取
在特征利用部分,YoloV3提取多特征层进行目标检测,一共提取三个特征层。
三个特征层位于主干部分Darknet53的不同位置,分别位于中间层,中下层,底层,三个特征层的shape分别为(52,52,256)、(26,26,512)、(13,13,1024)。
在获得三个有效特征层后,利用这三个有效特征层进行FPN层的构建,构建方式为:
13x13x1024的特征层进行5次卷积处理,处理完后利用YoloHead获得预测结果,一部分用于进行上采样UmSampling2d后与26x26x512特征层进行结合,结合特征层的shape为(26,26,768)。
结合特征层再次进行5次卷积处理,处理完后利用YoloHead获得预测结果,一部分用于进行上采样UmSampling2d后与52x52x256特征层进行结合,结合特征层的shape为(52,52,384)。
结合特征层再次进行5次卷积处理,处理完后利用YoloHead获得预测结果。
特征金字塔可以将不同shape的特征层进行特征融合,有利于提取出更好的特征。
b、利用Yolo Head获得预测结果
利用FPN特征金字塔,可以获得三个加强特征,这三个加强特征的shape分别为(13,13,512)、(26,26,256)、(52,52,128),然后我们利用这三个shape的特征层传入YoloHead获得预测结果。
Yolo Head本质上是一次3x3卷积加上一次1x1卷积,3x3卷积的作用是特征整合,1x1卷积的作用是调整通道数。
对三个特征层分别进行处理,假设我们预测是的VOC数据集,我们的输出层的shape分别为(13,13,75),(26,26,75),(52,52,75),最后一个维度为75是因为该图是基于voc数据集的,它的类为20种,YoloV3针对每一个特征层的每一个特征点存在3个先验框,所以预测结果的通道数为3x25;
如果使用的是coco训练集,类则为80种,最后的维度应该为255=3x85,三个特征层的shape为(13,13,255),(26,26,255),(52,52,255)
其实际情况就是,输入N张416x416的图片,在经过多层的运算后,会输出三个shape分别为(N,13,13,255),(N,26,26,255),(N,52,52,255)的数据,对应每个图分为13x13、26x26、52x52的网格上3个先验框的位置。
预测结果的解码:
通过上述步骤可以获得三个特征层的预测结果,shape分别为:
(N,13,13,255);
(N,26,26,255);
(N,52,52,255);
每一个有效特征层将整个图片分成与其长宽对应的网格,如(N,13,13,255)的特征层就是将整个图像分成13x13个网格;然后从每个网格中心建立多个先验框,这些框是网络预先设定好的框,网络的预测结果会判断这些框内是否包含物体,以及这个物体的种类。
由于每一个网格点都具有三个先验框,所以上述的预测结果可以reshape为:
(N,13,13,3,85);
(N,26,26,3,85);
(N,52,52,3,85);
其中的85可以拆分为4+1+80,其中的4代表先验框的调整参数,1代表先验框内是否包含物体,80代表的是这个先验框的种类,由于coco分了80类,所以这里是80。如果YoloV3只检测两类物体,那么这个85就变为了4+1+2=7。即85包含了4+1+80,分别代表x_offset、y_offset、h和w、置信度、分类结果。但是这个预测结果并不对应着最终的预测框在图片上的位置,还需要解码才可以完成。
YoloV3的解码过程分为两步:
第一步:先将每个网格点加上它对应的x_offset和y_offset,加完后的结果就是预测框的中心。
第二步:然后再利用先验框和h、w结合计算出预测框的宽高,这样就能得到整个预测框的位置。
得到最终的预测结果后还要进行得分排序与非极大抑制筛选。
这一部分基本上是所有目标检测通用的部分。其对于每一个类进行判别:
1)取出每一类得分大于self.obj_threshold的框和得分。
2)利用框的位置和得分进行非极大抑制。
进一步的,在原图上进行绘制,获得预测框在原图上的位置,这些预测框都是经过筛选的,这些筛选后的框可以直接绘制在图片上,获得结果。
训练部分主要包括如下步骤:
1)计算loss所需参数;
2)对于Yolo V3的模型来说,网络最后输出的内容就是三个特征层每个网格点对应的预测框及其种类,即三个特征层分别对应着图片被分为不同size的网格后,每个网格点上三个先验框对应的位置、置信度及其种类。
输出层的shape分别为(13,13,75),(26,26,75),(52,52,75),最后一个维度为75是因为是基于voc数据集的,它的类为20种,Yolo V3只有针对每一个特征层存在3个先验框,所以最后维度为3x25;
如果使用的是coco训练集,类则为80种,最后的维度应该为255=3x85,三个特征层的shape为(13,13,255),(26,26,255),(52,52,255)
3)loss的计算过程,
得到pred和target后,需要进行如下步骤。
3-1)判断真实框在图片中的位置,判断其属于哪一个网格点去检测。
3-2)判断真实框和哪个先验框重合程度最高。
3-3)计算该网格点应该有怎么样的预测结果才能获得真实框
3-4)对所有真实框进行处理。
3-5)获得网络应该有的预测结果,将其与实际的预测结果对比。
进一步的,步骤S4中图像处理方法具体为:
数据先经过preprocess_true_boxes()函数处理,然后做一些处理输入到模型,损失函数是yolo_loss(),网络最后一个卷积层的输出作为函数yolo_head()的输入,然后再使用函数yolo_eval()得到结果。
1)preprocess_true_boxes(true_boxes,input_shape,anchors,num_classes),这个函数得到detectors_mask(最佳预测的anchor boxes,每一个true boxes都对应一个anchorboxes)
参数:
true_boxes:实际框的位置和类别,维度为boxes_num×5,boxes_num表示一张图片中有几个实际框,第二个维度[x1,y1,x2,y2,class],class是绝对数字值,比如person:0,dog:1,horse:2;
input_shape:网络的输入的图片的尺寸,一般选择为[416,416];
anchors:通过generate_anchors.py,利用k-means聚类,统计出这个数据集中的大部分目标的宽高,也就是说我现在的训练数据集合中,大部分的检测目标的宽和高,我这里主要看的tiny_yolo,统计出的anchors类似于下面这样的6个元素的list,每个元素中的两个数值代表box的宽,高.anchors=[an0,an1,an2,an3,an4,an5]=[[81.112.],[114.158.],[146.202.],[187.259.],[255.349.],[486.670.]];
具体过程:
Step1:构造标注数据true_boxes.维度为[batch_size,4,5]
Step2:构造boxes_xy,boxes_wh
计算每个box的中心点boxes_xy和宽高boxes_wh,计算原则为:cent_x=(x1+x2)/2,w=x2-x1;
Step3:根据boxes_xy,boxes_wh更新true_boxes中的值,并做归一化;
Step4:构造网络回归目标y_true,shape=[[y_true1],[y_true2]],y_true1的维度为[batch_size,13,13,3,4+1+num_classes],y_true2的维度为[batch_size,26,26,3,8];
Step5:遍历同一个batch_size中的每张图片,假设现在咱们先遍历图片1.jpg;
可以看出y_true的构造过程,其基础元素的构成为[x,y,w,h,class,score]的形式,共有batch_size*N*N*anchornum=4*[13×13×3+26×26×3]=10140个这样的基础元素,其大部分元素的值都是0,若一个batch 4张图片中有8个目标,则y_true的18252个基本元素中,只有8个不为0,剩下的18252-8=18244个基本元素都是0;对单独一张图片来说,y_true共有batch_size*N*N*anchornum=13×13×3+26×26×3=2535个box,也就是说网络会预测出2535个box与其对应,相对于retinanet或其他的one-stage网络预测出几万个box,yolo的计算量会小很多,所以会比较快。
Claims (6)
1.一种基于Yolo V3的探地雷达图像目标检测方法,其特征在于包括如下步骤:
采用探地雷达设备采集相关的地质图像,并进行数据准备;
对采集到的图像进行预处理;
使用网络Darknet-53来提取特征;
图像处理方法为数据先经过preprocess_true_boxes()函数处理,然后输入到模型,损失函数是yolo_loss(),网络最后一个卷积层的输出作为函数yolo_head()的输入,然后再使用函数yolo_eval()得到目标检测结果;
所述YoloV3所使用的主干特征提取网络为Darknet-53,Darknet-53包括连续的3×3和1×1卷积层,一共有53个卷积层,所以称它为Darknet-53,Darknet53具有一个重要特点是使用了残差网络Residual,Darknet53中的残差卷积就是首先进行一次卷积核大小为3x3、步长为2的卷积,该卷积会压缩输入进来的特征层的宽和高,此时可以获得一个特征层,将该特征层命名为layer;之后我们再对该特征层进行一次1x1的卷积和一次3x3的卷积,并把这个结果加上layer,此时便构成了残差结构;通过不断的1x1卷积和3x3卷积以及残差边的叠加,大幅度的加深网络;
Darknet-53的每一个卷积部分使用DarknetConv2D结构,每一次卷积时进行l2正则化,完成卷积后进行BatchNormalization标准化与LeakyReLU;Leaky ReLU则是给所有负值赋予一个非零斜率,以数学的方式可以表示为:
YoloV3的解码过程分为两步:
先将每个网格点加上它对应的x_offset和y_offset,加完后的结果就是预测框的中心;
然后再利用先验框和h、w结合计算出预测框的宽高,得到整个预测框的位置。
2.如权利要求1所述的基于Yolo V3的探地雷达图像目标检测方法,其特征在于,进行数据准备的方法如下:
预测特征图的anchor框集合:3个尺度的特征图,每个特征图3个anchor框,共9个框,从小到大排列;框1-3在大尺度52x52特征图中使用,框4-6是中尺度26x26,框7-9是小尺度13x13;大尺度特征图用于检测小物体,小尺度检测大物体;9个anchor来源于边界框的K-Means聚类;
图片输入尺寸:默认为416x416,选择416的原因是:图片尺寸满足32的倍数,在DarkNet网络中,执行5次步长为2卷积,降采样;
在最底层时,特征图尺寸需要满足为奇数,以保证中心点落在唯一框中。
3.如权利要求1所述的基于Yolo V3的探地雷达图像目标检测方法,其特征在于,对采集到的图像进行预处理的方法如下:
灰度化:灰度化,在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫灰度值,因此,灰度图像每个像素只需一个字节存放灰度值灰度范围为0-255;采用分量法、最大值法、平均值法或加权平均法对彩色图像进行灰度化;
几何变换:图像几何变换又称为图像空间变换,通过平移、转置、镜像、旋转、缩放对采集的图像进行处理,用于改正图像采集系统的系统误差和仪器位置的随机误差;使用最近邻插值、双线性插值或双三次插值算法,使得输出图像的像素被映射到输入图像的整数坐标上;
图像增强:增强图像中的有用信息,它可以是一个失真的过程,其目的是要改善图像的视觉效果,针对给定图像的应用场合,有目的地强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征,使之改善图像质量、丰富信息量,加强图像判读和识别效果,满足某些特殊分析的需要。
4.如权利要求1所述的基于Yolo V3的探地雷达图像目标检测方法,其特征在于,所述Darknet-53网络进行训练的方法如下:
1)计算loss所需参数;
2)对于Yolo V3的模型来说,网络最后输出的内容就是三个特征层每个网格点对应的预测框及其种类,即三个特征层分别对应着图片被分为不同size的网格后,每个网格点上三个先验框对应的位置、置信度及其种类;
输出层的shape分别为(13,13,75),(26,26,75),(52,52,75),最后一个维度为75是因为是基于voc数据集的,它的类为20种,Yolo V3只有针对每一个特征层存在3个先验框,所以最后维度为3x25;
如果使用的是coco训练集,类则为80种,最后的维度应该为255=3x85,三个特征层的shape为(13,13,255),(26,26,255),(52,52,255)
3)loss的计算过程:
得到pred和target后,进行如下步骤:
3-1)判断真实框在图片中的位置,判断其属于哪一个网格点去检测;
3-2)判断真实框和哪个先验框重合程度最高;
3-3)计算该网格点应该有怎么样的预测结果才能获得真实框;
3-4)对所有真实框进行处理;
3-5)获得网络应该有的预测结果,将其与实际的预测结果对比。
5.如权利要求1所述的基于Yolo V3的探地雷达图像目标检测方法,其特征在于,preprocess_true_boxes()函数包括如下参数:
true_boxes:实际框的位置和类别,维度为boxes_num×5,boxes_num表示一张图片中有几个实际框,第二个维度[x1,y1,x2,y2,class],class是绝对数字值;
input_shape:网络的输入的图片的尺寸;
anchors:通过generate_anchors.py,利用k-means聚类,统计出这个数据集中的大部分目标的宽高,统计出的anchors类似于下面这样的6个元素的list,每个元素中的两个数值代表box的宽,高.anchors=[an0,an1,an2,an3,an4,an5]=[[81.112.],[114.158.],[146.202.],[187.259.],[255.349.],[486.670.]]。
6.如权利要求5所述的基于Yolo V3的探地雷达图像目标检测方法,其特征在于,preprocess_true_boxes()函数的处理方法如下:
Step1:构造标注数据true_boxes.维度为[batch_size,4,5];
Step2:构造boxes_xy,boxes_wh;
计算每个box的中心点boxes_xy和宽高boxes_wh,计算原则为:cent_x=(x1+x2)/2,w=x2-x1;
Step3:根据boxes_xy,boxes_wh更新true_boxes中的值,并做归一化;
Step4:构造网络回归目标y_true,shape=[[y_true1],[y_true2]],y_true1的维度为[batch_size,13,13,3,4+1+num_classes],y_true2的维度为[batch_size,26,26,3,8];
Step5:遍历同一个batch_size中的每张图片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111103026.5A CN113792746B (zh) | 2021-09-18 | 2021-09-18 | 基于Yolo V3的探地雷达图像目标检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111103026.5A CN113792746B (zh) | 2021-09-18 | 2021-09-18 | 基于Yolo V3的探地雷达图像目标检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113792746A CN113792746A (zh) | 2021-12-14 |
CN113792746B true CN113792746B (zh) | 2024-03-12 |
Family
ID=79183973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111103026.5A Active CN113792746B (zh) | 2021-09-18 | 2021-09-18 | 基于Yolo V3的探地雷达图像目标检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113792746B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114897852A (zh) * | 2022-05-20 | 2022-08-12 | 华能宁南风力发电有限公司 | 一种电场计量采集方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020206861A1 (zh) * | 2019-04-08 | 2020-10-15 | 江西理工大学 | 基于YOLO v3的针对交通枢纽关键物体的检测方法 |
JP2021039748A (ja) * | 2019-08-30 | 2021-03-11 | キヤノン株式会社 | 情報処理装置、情報処理方法、情報処理システム及びプログラム |
CN113052006A (zh) * | 2021-02-19 | 2021-06-29 | 中南大学 | 一种基于卷积神经网络的图像目标检测方法,系统及可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3503025B1 (en) * | 2017-12-19 | 2021-11-10 | Accenture Global Solutions Limited | Utilizing artificial intelligence with captured images to detect agricultural failure |
-
2021
- 2021-09-18 CN CN202111103026.5A patent/CN113792746B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020206861A1 (zh) * | 2019-04-08 | 2020-10-15 | 江西理工大学 | 基于YOLO v3的针对交通枢纽关键物体的检测方法 |
JP2021039748A (ja) * | 2019-08-30 | 2021-03-11 | キヤノン株式会社 | 情報処理装置、情報処理方法、情報処理システム及びプログラム |
CN113052006A (zh) * | 2021-02-19 | 2021-06-29 | 中南大学 | 一种基于卷积神经网络的图像目标检测方法,系统及可读存储介质 |
Non-Patent Citations (3)
Title |
---|
基于S4-YOLO的海上目标检测识别方法;赵文强;孙巍;;光学与光电技术(04);全文 * |
基于改进Mask R-CNN模型的电力场景目标检测方法;孔英会;王维维;张珂;戚银城;;科学技术与工程(08);全文 * |
基于改进的三向流Faster R-CNN的篡改图像识别;徐代;岳璋;杨文霞;任潇;;计算机应用(05);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113792746A (zh) | 2021-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111985329B (zh) | 基于FCN-8s和改进Canny边缘检测的遥感图像信息提取方法 | |
CN109767439B (zh) | 一种自适应窗口的多尺度差异与双边滤波的目标检测方法 | |
CN108921799B (zh) | 基于多尺度协同学习卷积神经网络的遥感图像薄云去除方法 | |
Tu et al. | SWCGAN: Generative adversarial network combining swin transformer and CNN for remote sensing image super-resolution | |
CN108399625B (zh) | 一种基于深度卷积生成对抗网络的sar图像定向生成方法 | |
CN112686935A (zh) | 基于特征融合的机载测深雷达与多光谱卫星影像配准方法 | |
CN105405138B (zh) | 基于显著性检测的水面目标跟踪方法 | |
Kasem et al. | Spatial transformer generative adversarial network for robust image super-resolution | |
CN108062575A (zh) | 一种高相似度图像识别与分类方法 | |
CN117475145B (zh) | 融合多重注意力机制的多尺度遥感影像语义分割方法及系统 | |
CN111583113A (zh) | 一种基于生成对抗网络的红外图像超分辨率重建方法 | |
CN113792746B (zh) | 基于Yolo V3的探地雷达图像目标检测方法 | |
CN114897728A (zh) | 图像增强方法、装置、终端设备以及存储介质 | |
CN112070717A (zh) | 基于图像处理的输电线路覆冰厚度检测方法 | |
CN105913451B (zh) | 一种基于图模型的自然图像超像素分割方法 | |
CN113781311A (zh) | 一种基于生成对抗网络的图像超分辨率重建方法 | |
CN117314751A (zh) | 一种基于生成式对抗网络的遥感图像超分辨率重建方法 | |
CN107358625B (zh) | 基于SPP Net和感兴趣区域检测的SAR图像变化检测方法 | |
Günen et al. | A novel edge detection approach based on backtracking search optimization algorithm (BSA) clustering | |
CN111340741A (zh) | 基于四元数与l1范数的粒子群优化灰度图像增强方法 | |
CN113554671B (zh) | 基于轮廓增强的sar图像到可见光图像的转换方法及装置 | |
CN116189160A (zh) | 一种基于局部对比度机制的红外弱小目标检测方法 | |
CN114429526A (zh) | 一种遥感视差图的快速、鲁棒生成方法 | |
CN114463379A (zh) | 一种视频关键点的动态捕捉方法及装置 | |
CN114862883A (zh) | 一种目标边缘提取方法、图像分割方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |