seo可以提升企业网站的,互联网营销方式有哪些,易观数据app排行,推广app赚钱YOLO-9000论文详解 – 潘登同学的目标检测笔记 文章目录 YOLO-9000论文详解 -- 潘登同学的目标检测笔记 YOLO-9000介绍TOLO-v2的10个改进YOLO-9000的思想Hierarchical classificationYOLO-9000 YOLO-9000介绍
YOLO-9000是YOLO-v2 9000分类
TOLO-v2的10个改进 Batch Normaliz…YOLO-9000论文详解 – 潘登同学的目标检测笔记 文章目录 YOLO-9000论文详解 -- 潘登同学的目标检测笔记 YOLO-9000介绍TOLO-v2的10个改进YOLO-9000的思想Hierarchical classificationYOLO-9000 YOLO-9000介绍
YOLO-9000是YOLO-v2 9000分类
TOLO-v2的10个改进 Batch Normalization: 对mAP有2%的提升, 同时有了BN层就可以不用Dropout了High Resolution Classifier: 对mAP有4%的提升,预训练网络的时候就用448*448的图片来在ImageNet上训练10轮而不是像之前一样先训练224*224的然后输入的是448*448的Convolutional With Anchor Boxes: 对Recall有7%的提升,移除了对框位置的全连接层取而代之的是类似于Faster R-CNN的Anchor boxes,最终预测的不再是相对每个cell的偏移量而是预设Anchor boxes的偏移量 最后训练网络的时候的输入图片是416*416的因为主干网络有5个池化最后的feature map是13*13的奇数是因为YOLO团队发现大部分的图片的obj是在图片中间的奇数feature map的图片中心的网格能更好的负责要预测的物体; 而13*13的feature map相对于YOLO-v1的7*7的更细粒度能预测更小的obj;Dimension Clusters: 既然Anchor boxes是从Faster R-CNN中借鉴的那么框的数量应该是9但是YOLO-9000的框的数量不是拍脑袋想出来的而是通过对GT(x,y,w,h)四个维度采用K-means聚类得到的,但是如果采用欧式距离对于高大宽小与高小宽大的大框会比高大宽小与高小宽大的小框距离大很多不适合于是作者团队提出了IOU的距离度量 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) 最后用elbow原则选择了k5 Direct location prediction: 在预测框的中心点的位置的时候采用了类似于Faster R-CNN的计算公式 t x , t y t_x,t_y tx,ty是中心点偏移量 t x x − x α w α t y y − y α h α t w log ( w w α ) t h log ( h h α ) t_x \frac{x-x_{\alpha}}{w_{\alpha}} \\ t_y \frac{y-y_{\alpha}}{h_{\alpha}} \\ t_w \log(\frac{w}{w_{\alpha}}) \\ t_h \log(\frac{h}{h_{\alpha}}) \\ txwαx−xαtyhαy−yαtwlog(wαw)thlog(hαh) 但YOLO团队发现难以收敛于是又用回了YOLO-v1的相对坐标的概念将 t x , t y t_x,t_y tx,ty通过sigmoid激活函数转化到0-1对中心点偏移量做预测( c x , c y c_x,c_y cx,cy是cell的绝对坐标, p w , p h p_w,p_h pw,ph是预测的宽高, t o t_o to是v1的confidence) b x σ ( t x ) c x b y σ ( t y ) c y b w p w e t w b h p h e t h P r ( o b j e c t ) ∗ I O U ( b , o b j e c t ) σ ( t o ) b_x \sigma(t_x) c_x \\ b_y \sigma(t_y) c_y \\ b_w p_we^{t_w} \\ b_h p_he^{t_h} \\ Pr(object) * IOU(b,object) \sigma(t_o) \\ bxσ(tx)cxbyσ(ty)cybwpwetwbhphethPr(object)∗IOU(b,object)σ(to) 那差别就很明显了v1是迁就分类将所有回归结果限制在0-1之间而现在放开了限制通过sigmoid来将结果变换到0-1之间Fine-Grained Features: 对top-of有1%的提升,在卷积最后一部分(26*26-13*13)将高阶特征与低阶特征相融合这是ResNet的思想但是要将两个大小不一的feature map堆叠采用了passthrough layer的方式进行堆叠,将26*26的特征切成四份13*13的与26*26卷积池化后的进行堆叠26*26*512 - 13*13*2048Multi-Scale Training: 数据增强与一般的数据增强不同他们还会对输入的维度做增强以32为倍数从320*320到608*608的输入图片尺寸(因为remove了全连接,用的是全卷积所以可以改输入)这是一个trade-off的过程当输入尺寸小的时候FPS就会高而mAP就会低当输入尺寸大的时候FPS就会低而mAP就会高Darknet-19预训练主干网络
再迁移到目标检测任务将最后一层卷积去掉替换成3*3*1024的卷积再接1*1*425(5*(580))
YOLO-9000的思想
因为CoCo数据集中只有80个类别, 所以网络只能预测80个类别YOLO-9000将ImageNet的没有打框但是有label标签的数据也能拿来用主要思想如下
当数据来自于YOLO-v2的训练数据(有框的图像)那么网络就会计算所有loss(框位置loss,confidence loss,分类loss)当数据没有框的时候(来自ImageNet的数据), 那么网络只会计算分类的loss
CoCo数据中80类别是比较粗粒度的而imageNet大赛则是细粒度的, 对于dog来说CoCo可能只会将其分类为dog而ImageNet会将它分类成Norfolk terrier, Yorkshire terrier等等如果将两个数据集的分类用并集弄在一起那么就会违反softmax的多项式分布假设因为dog与其子类是层次关系的不是互斥的 于是YOLO团队提出了层次分类的模式
Hierarchical classification
根据分类的思想构建了一个多叉树来描述这种分类标签的层次结构在整合了CoCo数据集与ImageNet数据集后将1000的label数量增加至1369个label(因为增加了父类或者中间类)。而怎么计算这个图像属于哪一类呢通过YOLO-v2得到1369类别的value值根据树结构用从根节点到叶节点的概率之积来计算属于某一类的概率在同一层级中所有同一级的子节点做softmax将回归所得属于某一大类的概率对每一层都做softmax分别得到条件概率连乘即可得到叶节点的最终概率 YOLO-9000
YOLO-9000把所有imageNet数据的类别(9000)与CoCo数据集合并起来总共有9418个class(包括父类)然后将这个思想用在目标检测任务下最终结果如下