赞
踩
YOLO图像检测技术综述
YOLOv3取消YOLOv2的池化层可以提高运算速度
YOLOv3的改进
根據上表可以得出,對於代碼層面的layers數量一共有252層,包括add層23層(主要用於res_block的構成,每個res_unit需要一個add層,一共有1+2+8+8+4=23層)。除此之外,BN層和LeakyReLU層數量完全一樣(72層),在網絡結構中的表現爲:每一層BN後面都會接一層LeakyReLU。卷積層一共有75層,其中有72層後面都會接BN+LeakyReLU的組合構成基本組件DBL。看結構圖,可以發現上採樣和concat都有2次,和表格分析中對應上。每個res_block都會用上一個零填充,一共有5個res_block。
作者並沒有像SSD那樣直接採用backbone中間層的處理結果作爲feature map的輸出,而是和後面網絡層的上採樣結果進行一個拼接之後的處理結果作爲feature map。爲什麼這麼做呢? 我感覺是有點玄學在裏面,一方面避免和其他算法做法重合,另一方面這也許是試驗之後並且結果證明更好的選擇,再者有可能就是因爲這麼做比較節省模型size的。
Darknet53由5个残差块组成借鉴了残差神经网络的思想。每个残差块由多个残差单元组成,残差单元由输入与两个DBL单元进行残差操作组成,DBL单元包括卷积、批归一化、leaky RELU函数。
YOLO V3对输人图片进行了5次降采样,并分别在最后3次降采样中对目标进行预测。最后3次降采样中包含了3个尺度目标检测的特征图。小特征图提供深层次的语义信息,大特征图则提供目标的位置信息,小特征图经过上采样后与大特征图融合.因此该模型既可以检测大目标.也可以检测小目标。
改进的 YOLOV3算法及其在小目标检测中的应用
利用原网络4倍降采样特征图进行检测的原因:它含有更多小目标的位置信息。原始网络利用8倍降采样的特征图,当目标小于8*8时,网络对目标的预测出现困难,并且检测能力有限。
改进的YOLOv3网络结构
采用分辨率512*512的图片,改进的网络不对图像进行压缩和裁剪处理,保持输入图像的分辨率不变,对数据集中的9类目标检测
对YOLOV3和改进的YOU) V3分别进行练,训练阶段初始学习率为0.001.衰减系数为0.0005,当训练迭代次数为20000次和25000次时,分别将学习率降低为0.0001和0.00001,使损失函数进一步收敛。利用旋转图像、增加对比度等方法对数据集中的图像进行增强和扩充。
大约经过30000次迭代之后,各参数基本趋于稳定,最后的损失值下降到0.2左右,Avg IOU逐渐接近1,最终稳定在0.85左右。从此参数的收敛情况分析可知,改进的YOU) V3网络的训练结果比较理想。
改进后的YOLO模型包含5个卷积层.4个最大值池化层和I个全连接层,卷积层和池化层中,s表示移动步长,P表示填零尺寸。在最后一层池化层输出与全连接层之间插入了一个Dropout层,从而提高模型的泛化能力,防止模型过拟合。经全连接层后,模型输出一个大小为637x1=(7x7x(2x5+3))的向量,表示舰船目标所在位置((x,y,二,h)、置信度分数:core及目标所属类别Class, (i= 1,2,3)。
检测目标图像的大小,如果宽高均大于448,则将原图像平均分割为4个小图像,分别归一化处理后输入改进的YOLO模型;否则直接对原图像进行归一化处理,输入模型中。
首先在PASCAL VOC数据上进行预训练得到权重文件,并对网络初始化,再利用扩增的数据集对网络参数进行微调fine-tune完成神经网络的训练。
结果:查准率=93%和查全率90%,时间t=0.26s
tiny-yolo的检测速度:
两个方面:
yolo存在的问题:
改进:NMS改进
基于线性衰减的NMS算法
动态阈值改进:
基础:空间金字塔池化SPP
利用多尺度卷积神经网络检测图像的密集程度,获得图像的稀疏程度矩阵(MM),利用SPP空间金字塔池化转成YOLO运算过程中所需要的动态阈值矩阵(SS)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。