目标检测part1

1*1卷积
GoogleNet/Inception
可看作全连接
1、增加非线性
2、特征降维
空洞卷积
在相同的感受野的情况下,使用空洞卷积得到更大的特征图,获得更密集的数据,而更大的特征图有助于目标检测和目标分割任务中对小物体的识别分割效果
转置卷积
不是真正意义上的反卷积,是一种上采样的方式,让小图片变成大图片

目标识别——目标检测——多目标检测
传统目标检测方法:
滑动窗口+传统机器学习分类器:采用不同尺寸的窗口

滑动窗口+卷积神经网络CNN:提升识别的准确率
全卷积神经网络FCN
让一个设计好的网络可以输入任意大小的图片,
缺点:窗口时固定的
指标:
交并比IoU = Detection Result ∩ GroundTruth / Detection Result ∪ GroundTruth
一般设置阈值为大于等于0.5
mAP平均准确率均值
每一个类别都可以根据recall和precision绘制一条曲线,AP就是该曲线下的面积,mAP就是多个类别AP的平均值,介于0~1之间,且越大越好
mAP
知道top-1到top-N的recall和precision,样本数越多,recall呈上升,precision可能下降,绘制precision-recall曲线图
Pascal VOC Challenge

Non-max supression非极大值抑制
选出置信度最高的候选框(如果和得分最高的候选框重叠面积IoU大于一定的阈值,则删除)
RCNN

  • R-CNN
    2014年提出;
    selective search:计算区域集R里每个相邻区域的相似度S
    step1:选择 一个分类模型(AlexNet、VggNet)
    step2:去掉最后一个全连接层;将分类数从1000改为N+1;对该模型fine-tuning(优化卷积层和池化层参数)
    step3:论文中用到的pool5后面的一层时fc6全连接层
    对每一个候选区域进行特征提取;Resize区域大小,然后做一次前向运算,将第五个池化层的输出保存到硬盘
    step4:使用pool5输出的图像特征训练SVM分类器(二分类),判断候选框里面的物体类别
    test:每个类别对应一个SVM,判断是不是属于这个类别
    step5:使用pool5输出的图像特征训练一个回归器(dx,dy,dw,dh)私用回归器调整候选框的位置

SPP-Net:提升检测速度
改进:只需要将原图做一次卷积操作,就可以得到每个候选区的特征
image——crop/warp——conv layer——fc layer——output
image——conv layer——spatial pyramid pooling ——fc layer——output
spatial pyramid pooling*
特征映射:输入图片的某个位置的特征方应在特征图上也是相同位置
将ss算法提取的2000个区域位置记录下来,通过比例映射到conv5输出feature map上,提取出候选区域的特征图m,然后将m送人到金字塔池化层进行计算
缺点:得到的特征图的大小不一样。无法训练SVM
金字塔池化层:使用三种固定输出大小的max-pooling

fast R-CNN
改进:
share computation of conv layers between proposals and image
SVM-softmax
ROI-Pooling:SPP-Net的简化版;只使用一种固定输出大小的max-pooling:将每个区域均匀分成M*N块,对每一块进行max-pooling,将特征图大小不一的候选区域转变为统一的数据,送人下一层
将bbox regression放进来神经网络内部,与region分类合并成为一个multi-task模型

faster R-CNN
问题:SS算法只能运行在CPU
改进:区域生成网络RPN+fast R-CNN
RPN
输入:最后一个卷积层的输出
Loss:4个部分(2分类+2回归)
RPN_loss
训练流程:

你可能感兴趣的:(日常学习)