感觉一句话概括就是 :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博客
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