检测学习-记录

感觉一句话概括就是  :Region Proposal是一个区域,bounding box就是这个区域的4条边,而这4条边就是用一个4维向量来表示的。当然,ground truth的4条边也叫bounding box,即bounding box代表了一个区域的相对位置。

0727

Sigmoid、tanh:二分类任务输出层;模型隐藏层

Relu、Leaky Relu:回归任务;卷积神经网络隐藏层

Softmax:多分类任务输出层

0730:何时使用BN

2.BN带来的好处。

(1) 减轻了对参数初始化的依赖,这是利于调参的朋友们的。

(2) 训练更快,可以使用更高的学习率。

(3) BN一定程度上增加了泛化能力,dropout等技术可以去掉。

(4)在神经网络训练时遇到收敛速度很慢,或梯度爆炸等无法训练的状况时可以尝试BN来解决。另外,在一般使用情况下也可以加入BN来加快训练速度,提高模型精度。

(5)数据经过归一化和标准化后可以加快梯度下降的求解速度

缺点:

batch normalization依赖于batch的大小,,当batch值很小时,计算的均值和方差不稳定。研究表明对于ResNet类模型在ImageNet数据集上,batch从16降低到8时开始有非常明显的性能下降,

用在哪:

过处理后的数据符合均值为0,标准差为1的分布;通常BN网络层用在卷积层后,用于重新调整数据分布

具体思路:

 

从某种意义上来说,gamma和beta代表的其实是输入数据分布的方差和偏移。对于没有BN的网络,这两个值与前一层网络带来的非线性性质有关,而经过变换后,就跟前面一层无关,变成了当前层的一个学习参数,这更加有利于优化并且不会降低网络的能力。

对于CNN,BN的操作是在各个特征维度之间单独进行,也就是说各个通道是分别进行Batch Normalization操作的。

卷积核大小计算

池化和卷积

池化层的主要作用有三个:1. 增加CNN特征的平移不变性。2. 池化的降采样使得高层特征具有更大的感受野。 3. 池化的逐点操作相比卷积层的加权和更有利于优化求解。

0801跟踪:

目标跟踪就像你跟踪某个人,一直尾随着他。我们在动画图像(.gif)或者视频中跟踪一个目标是如何移动的,它要到哪里去,以及它的速度。实时锁定一个(一些)特定的移动目标。

0802:recall及precision   AP及MAP

 AP:平均精度,衡量的是学习出来的模型在每个类别上的好坏

Map:算出recall从0到 1时的准确率,计算准确率的平均值,对所有类别求平均,以P,R作为指标都不够全面,所以以PR曲线下的面积当作尺度。

0803:nms学习

Yolo论文里面说NMS算法对Yolo的性能是影响很大的

NMS这个算法不单单是针对Yolo算法的,而是所有的检测算法中都会用到。NMS算法主要解决的是一个目标被多次检测的问题

SOFT-NMS:

置信度:所谓置信度其实包含两个方面,一是这个边界框含有目标的可能性大小Pr(obj), 当该边界框是背景时(即不包含目标),此时 Pr(obj)=0 。而当该边界框包含目标时,Pr(obj)=1 。二是这个边界框的准确度。边界框的准确度可以用预测框与实际框(ground truth)的IOU(intersection over union,交并比)来表征,记为IOU 。因此置信度可以定义为 Pr(obg)IOU。很多人可能将Yolo的置信度看成边界框是否含有目标的概率,但是其实它是两个因子的乘积,预测框的准确度也反映在里面。[x,y,w,h]4个值来表征。这样理论上4个元素的大小应该在 [0-1] 范围?这样,每个边界框的预测值实际上包含5个元素:[x,y,w,h,c] ,其中前4个表征边界框的大小与位置,而最后一个值是置信度。

0806anchor理解:

而窗口滑动的时候,本质就是遍历像素的过程,因此直接为每个像素分配不同的尺度和比例的窗口矩形,它们的中心都是其所属的像素点。对于长度和比例的分配们可以根据标注图像信息通过k-means聚类得到。而每个像素分配几个不同长度和比例的窗口举行就是Anchor。一般模型的anchor非常多,因此可以看这些anchor与给定矩形的IOU是否满足条件来决定是否是所要的框。

IOU=area of overlap/area of union

输出为3个尺度的特征图,分别为13×13、26×26、52×52,对应着9个anchor,每个尺度均分3个anchor。

与ground truth匹配的anchor box计算坐标误差、置信度误差(此时target为1)以及分类误差,而其它的anchor box只计算置信度误差(此时target为0)。

边框回归最简单的想法就是通过平移加尺度缩放进行微调       

  •  多尺度预测(类FPN)
  • 聚类来得到Bbox的先验,选择9个簇以及3个尺度
  • 将这9个簇均匀的分布在这3个尺度上

在这里插入图片描述

 将这9个聚类中心平均的分配到3个尺度上,每个尺度预测3个box,对于每种尺度,作者引入卷积层进一步提取特征,在输出box信息

对整个图片进行划分,S * S 的格子,针对每个网格分别预测当前这个网格为中心的目标区域的位置信息(中上部图),预测出Bounding boxes和置信度

shuchu:最终的输出就对应到了这里的bouding box坐标的位置,以及bouding box置信度和对于每一个格子所对应的类别的概率分布

目标检测基础介绍-----(4)One-stage的目标检测算法综述和One-stage与Two-stage的比较(笔记)_奔跑的小仙女-CSDN博客

          

YOLOv3中Anchor理解_奔跑的小仙女-CSDN博客

0804:过拟合和欠拟合

特征数目过少,我们可能无法精确的分类出来,即我们所说的欠拟合,如果特征数目过多,可能会导致我们在分类过程中过于注重某个特征导致分类错误,即过拟合。

RGB:就好比前面提到的RGB图片,红绿蓝分量叠加起来产生了一张真正意义的美女图

为什么RGB图不使用3D卷积?_404 NOT FOUND-CSDN博客

检测中正负样本“:

遍历所有anchor,若iou<neg_iou_thr[0.3],将其置为0,当成负样本处理;若iou>pos_iou_thr[0.7],将其置为对应gt的索引,当成正样本处理;iou在两者之间的还是置为-1,忽略。总之,正负样本都是针对于程序生成的框框而言,而非GT数据。

模型跑完前向后,feature的每个点都要去判断是正负样本,其他属性信息吗

 nms是后处理的,正负样本是训练阶段用于调整loss函数的。

GIOU 

固定anchor比例缺点

而这种固定尺度的anchor也会有缺陷,不能很好的适应所有数据集。例如coco数据集中就有很多小目标。所以后面也有YOLOv3这一类的目标检测模型使用k-means算法对所有真实框进行筛选。选出最有代表性的几个尺度作为anchor。

补边:

目标检测之letterbox - 灰信网(软件开发博客聚合)

针对遮挡人头修改nms loss

YOLOv5学习总结(持续更新)_dididi的博客-CSDN博客_yolov5

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值