当前位置: 首页 > news >正文

利用网站宣传腐倡廉建设工作报道22 wordpress 模板

利用网站宣传腐倡廉建设工作报道,22 wordpress 模板,网站建设发言材料,电商网站模板下载经典目标检测YOLO系列(二)YOLOv2算法详解 YOLO-V1以完全端到端的模式实现达到实时水平的目标检测。但是#xff0c;YOLO-V1为追求速度而牺牲了部分检测精度#xff0c;在检测速度广受赞誉的同时#xff0c;其检测精度也饱受诟病。正是由于这个原因#xff0c;YOLO团队在20…经典目标检测YOLO系列(二)YOLOv2算法详解 YOLO-V1以完全端到端的模式实现达到实时水平的目标检测。但是YOLO-V1为追求速度而牺牲了部分检测精度在检测速度广受赞誉的同时其检测精度也饱受诟病。正是由于这个原因YOLO团队在2016年提出了YOLO的第一个改进版本—YOLO-V2。 该论文题目直接指出了该模型的存在三大特点——更好better、更快faster、更强stronger。 更好better就是YOLO-V1通过使用批归一化Batch Normalization, BN、基于卷积的锚点机制等一系列技术手段使得目标检测精度较YOLO-V1有了大幅度提高 更快faster就是YOLO-V2通过改进网络结构在小幅降低精度的情况下大幅减少浮点运算次数以提高模型速度针对224×224尺寸图像输入的单趟前向传播由VGG16网络的300亿次浮点运算降低至80亿次 更强stronger就是基于YOLO-V2构建YOLO-9000模型通过采用联合训练jointly training机制综合发挥目标检测任务数据集和图像分类任务数据集的综合优势目标检测数据集图像数量少、目标类别少但提供精确的目标位置信息而分类数据集无目标位置信息但类别数多且图像数量庞大使得支持的检测目标类别数从原来的20类大幅扩展至9000类大大提高了模型的适用性。 “更好”和“更快”主要是说YOLO-V2“更强”是说YOLO-9000。我们主要讲解YOLO-V2。 1 YOLOv2的改进之处 1.1 添加BN层 在最初的YOLOv1网络中每一层卷积的结构都是线性卷积和激活函数并没有使用当前十分流行的诸如批归一化batch normalizationBN、层归一化layer normalizationLN、实例归一化instance normalizationIN等归一化层。 到了YOLOv2的研究时代BN层已经广泛应用于cv领域成为了标准配置因此YOLO作者团队便在原先使用的卷积层中添加了BN层。 在加入了BN层后网络在训练阶段可以回传更稳定的梯度流因而理所当然地提升了YOLOv1的性能。在VOC2007测试集上YOLOv1的mAP指标从原本的63.4% 提升至65.8%超过2%的提升。 关于常见的归一化操作可以参考: Pytorch常用的函数(六)常见的归一化总结(BatchNorm/LayerNorm/InsNorm/GroupNorm) 1.2 高分辨率主干网络 YOLOv1中将YOLOv1的Backbone网络放到ImageNet数据集中使用224×224的图像去做预训练然后再将训练好的权重作为目标检测任务的Backbone部分的初始化权重移除最后的全局平均池化层和分类层。这就是常见的ImageNet pretraining。使用224×224的图像做预训练却用448×448的图像做检测作者认为图像尺寸的前后差异会造成一些负面影响。 Backbone从较小的224×224的图像所学到的信息远不如448x448的图像丰富这可能使得Backbone无法学习到更充分的信息。因此在完成了224x224的图像的预训练后作者接着又将Backbone网络在448x448的图像上做进一步的“微调”总共训练10个epoch。完成了这两步的预训练后再将预训练权重用作Backbone网络的初始化权重。 经过这种改进的预训练策略所训练出来的Backbone权重使得YOLOv1网络获得了第二次的性能提升在VOC2007测试集上的mAP从65.8% 提升到69.5%提升很大。不过这一技巧并未成为主流训练技巧。 一个可能的原因就是这个问题可能确实不是很严重稍微延长训练时间便可以了。如今视觉的预训练已经从早先的ImageNet pretraining迈入到了MAE pretraining新纪元。 图像分类任务通常不会需要太多的细节信息对于一个类别“猫”我们不需要知道这只猫都有哪些细节信息只需要学到猫这一类动物的通用特征即可这可能会使得Backbone忽略掉很多对下游任务反而很重要的信息。基于Masked Image ModelingMIM思想的MAE pretraining策略则大大强化了Backbone对于图像细节信息以及通过mask所学到的图像的high-level结构信息从而为下游任务提供了更好的初始化权重。 尽管目前的新版本的YOLO已经全面采用了train from scratch(从零开始训练)策略但Backbone部分的pretrain研究仍旧是当前视觉领域的最为重要的基础任务之一因为一个好的预训练权重可以同步提升多个下游任务的性能上限。 1.3 引入Anchor Box机制 锚框(anchor box)的意思便是将一堆边界框预先放置在特征图网格的每一处位置通常每个位置都放置相同数量的相同尺寸的锚框。如下图所示每两个网格绘制一次仅是出于观赏性的考虑实际上每一个网格都有相同数量的锚框。 Faster R-CNN提出了anchor box在RPN中每个网格处设定了k个具有不同尺寸、不同宽高比的anchor box在训练阶段RPN网络会为每一个anchor box学习若干偏移量中心点的偏移量和宽高的偏移量。这些偏移量可以将预先设定好的anchor box尺寸调整至所检测的目标的真实框的尺寸。 由此可见Faster RCNN提出的anchor box的本质是提供边界框的尺寸先验。因此anchor box有时也被称为“先验框”。使用先验框的目标检测网络被称为Anchor-base模型。 很显然设计先验框的一个难点在于设计多少个先验框且每个先验框的尺寸宽高比和面积又是多少。 一类解决方案是以RetinaNet为代表的手动设置比如使用1 : 1、1 : 3、3 : 1三种宽高比设置和32、64、128、256以及512五种面积设置从而一共可以确定出15个先验框尺寸另一类则是以YOLO为代表的基于k-means聚类方法自适应调整先验框的尺寸。 YOLOv2中在COCO数据集上使用聚类可以得出5组先验框参数如下 [ [17, 25],[55, 75],[92, 206],[202, 21],[289, 311] ]我们可以用下面代码可视化下这5组先验框: #!/usr/bin/env python # -*- coding:utf-8 -*- import os import cv2def show_anchor_box(picture_path):# 输入图片尺寸INPUT_SIZE 416mask [0, 1, 2, 3, 4]# 在coco数据集上利用kmeans聚类出来的5组不同宽高的anchor boxanchors [17, 25,55, 75,90, 206,202, 21,289, 311]FEATURE_MAP_SIZE 13GRID_SHOW_FLAG Trueimg cv2.imread(picture_path)print(原始图片的shape: , img.shape)img cv2.resize(img, (INPUT_SIZE, INPUT_SIZE))# 显示网格颜色为黑色if GRID_SHOW_FLAG:height, width, channels img.shapeGRID_SIZEX int(INPUT_SIZE / FEATURE_MAP_SIZE)for x in range(0, width - 1, GRID_SIZEX):cv2.line(img, pt1 (x, 0), pt2 (x, height), color (0, 0, 0), thickness 1, lineType 1) # x gridGRID_SIZEY int(INPUT_SIZE / FEATURE_MAP_SIZE)for y in range(0, height - 1, GRID_SIZEY):cv2.line(img, pt1 (0, y), pt2 (width, y), color (0, 0, 0), thickness 1, lineType 1) # y gridfor ele in mask:# 画出图像中心点聚类出来不同宽高的5组anchor box颜色为红色# 需要告诉函数的左上角顶点pt1和右下角顶点的坐标pt2cv2.rectangle(img,pt1 ((int(INPUT_SIZE * 0.5 - 0.5 * anchors[ele * 2]), int(INPUT_SIZE * 0.5 - 0.5 * anchors[ele * 2 1]))),pt2 ((int(INPUT_SIZE * 0.5 0.5 * anchors[ele * 2]), int(INPUT_SIZE * 0.5 0.5 * anchors[ele * 2 1]))),color (0, 0, 255),thickness 2)cv2.imshow(img, img)while cv2.waitKey(1000) ! 27: # loop if not get ESC.if cv2.getWindowProperty(img, cv2.WND_PROP_VISIBLE) 0:breakcv2.destroyAllWindows()if __name__ __main__:directory ./imgsfor filename in os.listdir(directory):picture_path os.path.join(directory, filename)show_anchor_box(picture_path) 1.4 使用全卷积网络结构 在YOLOv1中一个显著的弊病就是网络在最后阶段使用了全连接层。具体来说YOLOv1先将[B, C, H, W]格式的特征图拉平成[B, N]格式的向量然后交给全连接层去处理。这一操作通常会破坏特征图的空间结构。为了解决这一问题作者便将其改成了全卷积结构并且添加了Faster R-CNN工作所提出的anchor box机制。 首先去掉了YOLOv1网络中的最后一个池化层和所有的全连接层使得降采样倍数从64变成32最终得到的也从原先的7x7对应448x448的图像变为了13×13对应416x416的图像。另外还在每个网格处都预设了k个具有不同尺寸的anchor box。 对于目标的中心点其学习目标还是中心点偏移量对于目标的宽高网络只需要学习偏移量去调整anchor box的尺寸即可无需再将整个边界框的尺寸作为学习标签。 YOLOv1漏检现象的降低 YOLOv1会在每个网格处预测2个边界框每个边界框都有自己的置信度但他们却都共享一组类别的置信度因此每个网格处最终只会输出一个物体倘若一个网格包含了两个以上的物体那就会漏检YOLOv2改为每一个先验框都预测一个边界框置信度和一组类别置信度即每个边界框都是独立的。因此改进后的YOLOv1的输出张量大小就从原先的SxSx(5BC)变成了现在的S×S×k×(14C)。引入anchor box后每个网格就最多可以检测K个物体了相对YOLOv1漏检现象会少。 尽管网络结构变成了全卷积网络并使用了anchor box机制但YOLOv1的性能却没有表现出预料中的提升反而从69.5% mAP降至69.2% mAP有了轻微的下降但召回率却从81%提升到88%。召回率的提升意味着YOLO可以找出更多的目标了尽管精度下降了一点点。由此可见每个网格输出多个检测结果确实有助于网络检测更多的物体。 1.5 新的主干网络DarkNet19 DarkNet19名字中的19是因为该网络共包含19个卷积层。 作者首先将DarkNet19在ImageNet上进行预训练在验证集上获得了72.9%的top1准确率和91.2%的top5准确率。就预训练的精度而言DarkNet19网络以更少的参数量达到了当时的VGG网络的水平。 预训练完毕后去掉网络中用于分类任务的全局平均池化层和分类层后用作Backbone网络的初始化权重随后将YOLO网络放到检测任务中去做训练和测试。再使用了新的Backbone网络后YOLOv1的性能从上一次的69.2% mAP提升到69.6% mAP。 Convolutional为前面所提到的卷积三件套线性卷积BN层LeakyReLU激活函数。 1.6 基于k-means聚类方法自适应调整先验框 以RetinaNet为代表的先验框的尺寸参数依赖于人工设计。 YOLO作者认为人工设定的尺寸不一定够好并且人工设定的做法又有着一定的局限性。为了去人工化作者采用kmeans聚类方法去自动地在指定的数据集如VOC或者COCO上获取适用于该数据集的k个先验框。 聚类的过程中作者将先验框与目标框的IoU作为优化指标。如下图聚类出5个先验框。 距离公式如下 : d ( b o x , c e n t r o i d ) 1 − I O U ( b o x , c e n t r o i d ) 距离公式如下:\\ d(box,centroid)1-IOU(box,centroid) 距离公式如下:d(box,centroid)1−IOU(box,centroid) 不过以现在的观点看基于kmeans聚类思想计算先验框的方法和人工设计并没有差别仅仅是将确定先验框的尺寸的计算过程自动化了。模型依旧还是要依赖于这些超参数从而在一定程度上削弱了自身的泛化性。因此才有后来的anchor-free架构。 改进边界框预测方法。 下图展示了改进后边界框中心点及宽、高预测的公式。 对于边界框中心点预测YOLO仍旧去学习中心点偏移量tx和 ty 。并使用sigmoid函数限定其数值范围处在01之间这一点是修正了存在于YOLOv1中的预测值无上下界的问题。 对于边界框宽高预测由于有了边界框的尺寸先验信息YOLOv1只需要学习一些偏移量去调整先验框的尺寸即可。 先验框的宽和高也都是相对于网格的尺度因此计算出来的 cx,cy,w,h 也都是相对于网格尺度的值最后我们还需要将其乘以32才能将其映射到输入图像的尺度上。不过我们后面自己实现的YOLOv2的先验框的宽高是基于原始图像大小不需要乘以32。 使用kmeans聚类方法获得先验框再配合改进后的边界框预测方法YOLOv1的性能得到了显著的提升从69.6% mAP提升到74.4% mAP。 不难想到性能提升的主要来源在于kmeans聚类更好的先验信息自然会有效提升网络的检测性能。只不过这种先验信息是依赖于数据集的这是一个潜在问题。 1.7 passthrough层的引入 YOLOv1仅在网络输出的最后一个feature map上去检查输入图像中的所有目标 最后一张feature map的低分辨率就意味着网格划分的很粗糙不够精细这不仅对于密集物体检测的效果会较差小物体的检测效果也不够理想。特征图的分辨率越高所划分的网格也就越精细能够更好地捕捉目标的细节信息。相较于YOLOv1只在一张7×7的过于粗糙的网格上做检测2016年的SSD使用多种不同分辨率的特征图自然会更好。 YOLO作者借鉴了SSD的这一思想。 将Backbone的第17层卷积输出的26×26×512特征图拿出来做一次特殊的降采样操作得到一个13×13×2048特征图然后将二者在通道的维度上进行拼接得到更厚的13×13×3072的特征图最后在这张融合了更多信息的特征图上去做检测。这里需要注意的是实际上在作者代码中在特殊的降采样之前先做了降维由26×26×512降维至26×26×64然后做特殊的降采样变为13×13×256然后拼接得到13×13×1280的特征图。 了解passthrough层后原版YOLOv2的整体架构也就知道了。 特殊的降采样操作(reorg)如下图所示: 特征图在经过reorg操作的处理后特征图的宽高会减半而通道则扩充至4倍这种特殊降采样操作的好处就在于降低分辨率的同时没丢掉任何细节信息信息总量保持不变。加上该操作后在VOC 2007测试集上的mAP从74.4%再次涨到了75.4%。以今天的眼光看最终的检测还是在13×13的网格中进行检测并不是真正的类似SSD的多级检测。 1.8 多尺度训练技巧 多尺度训练的好处就在于可以改变数据集中各类物体的大小占比 比如说一个物体在608的图像中占据较多的像素面积较大而在320图像中就会变少了就所占的像素数量而言相当于从一个较大的物体变成了较小物体。不断地对数据集里的图片做多尺度操作可以有效地增加不同尺度的目标数量进而丰富数据因此多尺度训练也算是一种“数据增强”操作。多尺度训练就是在训练网络时每训练迭代10次就从{320352384416448480512576608}选择一个新的图像尺寸用作后续10次训练的图像尺寸。注意这些尺寸都是32的整数倍因为网络的最大降采样倍数就是32。 配合多尺寸训练YOLOv1的性能再一次获得了提升从上一次的75.4% mAP提升到了76.8% mAP。 2 复现YOLOV2 事实上YOLOv2最大的变化就在于有效地引入了anchor box机制。因此后续复现YOLOv2的主要就是引入anchor box机制(不引入reorg操作)。引入anchor box机制后一个网格中有多个anchor box那么正样本的选择就发生了很大的变化其他诸如数据读取、数据预处理、数据增强等与之前实现的YOLOv1几乎一致。
http://www.pierceye.com/news/188127/

相关文章:

  • wordpress 网站实例中国纪检监察报app下载
  • 网站链接dw怎么做营销推广方法
  • 觅知网 大而全的高质量素材站开发手机网站用什么好
  • 建设一个广告联盟的网站医院网站设计与实现
  • 公司网站备案必须是企业信息么网站搭建好有什么内容可以修改
  • 弄网站赚钱吗电影网站怎么做要多少钱
  • 做优化网站能以量取胜么好素材网站
  • wordpress主题网站江苏建设工程教育网
  • 网站制作 客户刁难做宠物网站赚钱吗
  • 网站突然不收录了如何形容一个网站做的好
  • 怎么建网站教程视频做网站跟推广哪家公司好
  • 怎么做网站报告四平网站公司
  • 飞扬动力网站建设支付网站建设要求
  • 达美网站建设廊坊seo扣费
  • 好享购物官方网站购物网页制作与网站开发从入门到精通
  • 坪山网站建设哪家便宜系部网站建设研究方案
  • 如何备份网站上海的招聘网站有哪些
  • 企业门户网站建设流程蝶恋花直播app下载安装
  • 株洲网站建设推广报价seo基础知识培训视频
  • 漳州网站建设选博大不错php网站开发经理招聘
  • 分类网站建设黄陌陌网站怎么做
  • 做网站大概多钱互联网广告投放
  • 信通网站开发中心qq说说赞在线自助下单网站
  • 搭建网站步骤做电影网站需要什么条件
  • 您网站建设动漫设计与制作 学校
  • 利用模板如何制作网站泰安整站优化
  • 网站开发与网站建设网站上的聊天框怎么做的
  • 任务网站(做任务学技能的)开发公司宣传册
  • 织梦搭建商城网站高端网站建设深圳
  • 做网站排名优化的公司无需下载直接登录qq手机版