目标检测Faster R-CNN+YOLO

简介: 目标检测Faster R-CNN+YOLO

目标检测



当做回归任务:一个框4个值,输出层的节点个数为4k,节点数无法确定,可以准确地具体框的大小


当做分类任务:滑动窗口,对每个窗口的物体分类,则节点数就是分类数,但框的大小是固定的,因此需要设计大小不同的框,计算量大


回归+分类,多任务学习:框出一个区域+分类是object,则回归框

图像金字塔:框大小固定,缩放图片


古典目标识别(没有回归,只有分类)



选择搜索:图像中物体可能存在的区域应该是具有某些相似性或者连续性区域的,ss基于这样想法采用子区域合并的方法进行提取boundingboxes 候选框区域。(将层次聚类的思想应用与区域合并)


①对输入图像进行分割算法产生许多小的子区域

②根据这些子区域之间的相似性(颜色、纹理、大小等)进行区域合并,不断进行区域迭代合并。

③每次迭代过程中对这些合并的子区域做boundingboxes(外切矩形),这些子区域外切矩形就是通常所说的候选框。


Select Search+cls


①训练集构造

负样本:ss提取出来的候选框与gt的重合度(IOU)在20%-50%之间,且与其他的任何一个已经生成的负样本的重合度不大于70%,则为负样本。(正负例均衡,如果负样本太多,将会影响模型偏向学习负样本,模型泛化能力减弱)正样本:gt

②将样本输入分类器svm分类


R-CNN



与古典目标检测相比:①增加了卷积网络提取特征②增加回归校正框的大小和坐标

校正:学习相对于候选框的残差△x,△y,△w,△h,而不是从头开始学习一个从正无穷到负无穷的值,更加容易学习


ss提取候选框约2000,resize成相同大小(svm和回归器需要固定大小),输入卷积网络(每个候选框对应一个卷积网络参数),然后将特征图输入回归器和分类器,分别做框的校正和目标的分类


训练:先在卷积网路连接交叉熵损失训练网络,然后接上回归器和分类器训练(分开训练,svm无法用神经网络表达)


问题:

①不是端到端②提特征的loss和分类回归的loss不同,cnn和分类回归学习目标不同

①resize导致信息丢失②2000次计算,计算量大,信息重复计算③ss秒级时间


SPP-net



空间金字池化(resize作用)SSP



我们知道R-CNN在当时虽然取得了不错的成绩,但是其需要改进的地方也很多,比如算法步骤比较繁琐,需要大量的时间和内存去训练和测试模型等。除此之外,在训练和测试常见的CNN网络时,要求输入的图像有一个固定的大小,比如要求图像的输入为224*224。(网络前面的卷积层不要求输入图像的大小,后面的全连接层的输入特征数是固定的,需要固定的输入)这就要求我们在使用网络前需要对图像进行一些预处理操作,比如:裁剪(crop)、拉伸(warp)等。文章《Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition》提出来一种Spatial Pyramid Pooling(SPP)结构来解决这种问题,将这种结构放在卷积层与全连接层中间,在多个测试中取得了不错的效果。


上面需要加入一些裁剪等操作,才能得到一个固定大小的输入,下面只需要加一个SPP层就可以达到相同作用,并且还有其他优点。


相当于将候选框对应的特征图上的区域平均分成36、9、4、1份,再在每份中取均值或取最大


只有一个卷积网络,将SS提出的候选框映射到卷积之后的特征图上,做空间金字塔池化,每个候选框做回归和分类


Fast R-CNN



backbone使用VGG16

SS+vgg16+ROI Pooling +fcs+softmax,linear

ROI Pooling:只使用SPP layer中的一个尺度池化

softmax替换SVM

log loss + smooth L1 loss


Faster R-CNN



提出候选框,分类,微调边框

通过CNN提取候选框:RPN(注意力机制作用)

RPN做二分类,判断每一个滑动窗口对应的位置是不是物体,是物体,则作为候选框,是候选框则回归校正位置(粗校正)

分类器对9个锚框都做二分类


anchor与任意ground truth的IOU大于0.7则认为是正例

再在特征图上做映射,然后做ROI Pooling然后进行多分类和二次校正细校正

3×3×512×256 1×1×256×(2k+4k=18+36,k=9)

映射:14×14一个点对应原图16×16

感受野:228×288(做分类)


yolov1



在图片中划分cell,目标中心位置落在那个cell,就由哪个cell预测该物体

原图片中的一个cell与特征图的每个点一一对应

S ×S ×(B ∗5 + C)

网络架构受GoogLeNet模型的启发,网络有24个卷积层,其后是2个全连接的层。我们没用GoogLeNet使用的inception模块,只使用3×3和1×1卷积层。


yolov2



引入了anchor

使用kmeans聚类聚类出5个初始化anchor

bx = σ(tx) + cx by = σ(ty) + cy bw = pwetw bh = pheth

Pr(object)∗IOU(b,object) = σ(to)


yolov3



使用多个二分类代替softmax,如此以来,每个类别的概率相加就不需要等于1,类别概率之间不需相关。


加入颈部,相当于特征金字塔FPN

Darknet-53 has some short cut connections as well and is significantly larger


目录
相关文章
|
7月前
|
机器学习/深度学习 算法 安全
FRCNN来袭 | Faster RCNN与FCN永不遗忘,联邦学习+边缘数据既保护隐私也提升性能
FRCNN来袭 | Faster RCNN与FCN永不遗忘,联邦学习+边缘数据既保护隐私也提升性能
305 0
|
7月前
|
机器学习/深度学习 数据可视化 定位技术
PrObeD方法开源 | 主动方法助力YOLOv5/Faster RCNN/DETR在COCO/GOD涨点
PrObeD方法开源 | 主动方法助力YOLOv5/Faster RCNN/DETR在COCO/GOD涨点
83 0
|
7月前
|
机器学习/深度学习 编解码 算法
助力目标检测涨点 | 可以这样把Vision Transformer知识蒸馏到CNN模型之中
助力目标检测涨点 | 可以这样把Vision Transformer知识蒸馏到CNN模型之中
269 0
|
7月前
|
机器学习/深度学习 编解码 数据可视化
RecursiveDet | 超越Sparse RCNN,完全端到端目标检测的新曙光
RecursiveDet | 超越Sparse RCNN,完全端到端目标检测的新曙光
126 0
|
7月前
|
机器学习/深度学习 监控 算法
【Keras计算机视觉】Faster R-CNN神经网络实现目标检测实战(附源码和数据集 超详细)
【Keras计算机视觉】Faster R-CNN神经网络实现目标检测实战(附源码和数据集 超详细)
140 0
|
7月前
|
机器学习/深度学习 算法 固态存储
【计算机视觉】目标检测中Faster R-CNN、R-FCN、YOLO、SSD等算法的讲解(图文解释 超详细必看)
【计算机视觉】目标检测中Faster R-CNN、R-FCN、YOLO、SSD等算法的讲解(图文解释 超详细必看)
467 0
|
15天前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解深度学习中的卷积神经网络(CNN)##
在当今的人工智能领域,深度学习已成为推动技术革新的核心力量之一。其中,卷积神经网络(CNN)作为深度学习的一个重要分支,因其在图像和视频处理方面的卓越性能而备受关注。本文旨在深入探讨CNN的基本原理、结构及其在实际应用中的表现,为读者提供一个全面了解CNN的窗口。 ##
|
25天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN): 从理论到实践
本文将深入浅出地介绍卷积神经网络(CNN)的工作原理,并带领读者通过一个简单的图像分类项目,实现从理论到代码的转变。我们将探索CNN如何识别和处理图像数据,并通过实例展示如何训练一个有效的CNN模型。无论你是深度学习领域的新手还是希望扩展你的技术栈,这篇文章都将为你提供宝贵的知识和技能。
78 7
|
22天前
|
机器学习/深度学习 自然语言处理 算法
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)
31 1
|
28天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
本文旨在通过深入浅出的方式,为读者揭示卷积神经网络(CNN)的神秘面纱,并展示其在图像识别领域的实际应用。我们将从CNN的基本概念出发,逐步深入到网络结构、工作原理以及训练过程,最后通过一个实际的代码示例,带领读者体验CNN的强大功能。无论你是深度学习的初学者,还是希望进一步了解CNN的专业人士,这篇文章都将为你提供有价值的信息和启发。

热门文章

最新文章

相关实验场景

更多
下一篇
DataWorks