Faster R-CNN : end2end 和 alternative 训练

简介: Faster R-CNN 实际上就是由 Fast R-CNN 和 RPN 两个网络结合的,可以使用 end2end 和 alternative 两种方式来训练,两种方法训练出来的网络准确度基本没有多大的区别,但是使用 end2end 训练,即端到端训练可以节省很多时间。这篇文章参考 Ross' Girshick 在 ICCV15 上的演讲报告,主要讲 end2end 方法。

Faster R-CNN 实际上就是由 Fast R-CNN 和 RPN 两个网络结合的,可以使用 end2end 和 alternative 两种方式来训练,两种方法训练出来的网络准确度基本没有多大的区别,但是使用 end2end 训练,即端到端训练可以节省很多时间。这篇文章参考 Ross' Girshick 在 ICCV15 上的演讲报告,主要讲 end2end 方法。


一、alternative 训练

在 Faster RCNN 中论文使用了 alternative optimization 。分为四步进行:
(1)首先训练 RPN。这个网络使用一个 ImageNet 预训练模型来初始化,然后端到端地 fine-tune,来进行区域建议。
(2)第二步,使用第一步 RPN 生成的建议通过 Fast R-CNN 训练另外一个检测网络。这个检测网络同样也使用 ImageNet 预训练模型来初始化。在这一步两个网络还没有共享卷积层。
(3)第三步,使用检测网络来初始化 RPN 训练,完成共享卷积层,且只 fine-tune RPN 特有的层。这一步两个网 络共享卷积层了。
(4)最后,保持共享卷积层, fine-tune Fast R-CNN 的全卷积层。

二、end2end 训练

在 Ross' Girshick 在 ICCV15 上的演讲报告上,介绍了一种近似联合优化,Approx. joint optimization。与论文中 的方法不一样,近似联合优化把 Fast R-CNN 和 RPN 网络写在了同一个网络中去,同时地训练两个网络。这种方法 训练的网络终 mAP 与 alternative 训练的相差无几,但是训练时间花费却大大的缩减了。

(一)训练时间花费

slow R-CNN 和 SPP-net 的训练时间:

  • Fine-tuning (backprop, SGD): 18 hours / 16 hours
  • Feature extraction: 63 hours / 5.5 hours

    • Forward pass time (SPP-net helps here)
    • Disk I/O is costly (it dominates SPP-net extraction time)
  • SVM and bounding-box regressor training: 3 hours / 4 hours
  • Total: 84 hours / 25.5 hours

slow R-CNN 训练花费了太多的时间。

Fast R-CNN 训练只有一个阶段,训练网络中所有的层。

(二)端到端训练 Fast R-CNN

  • 在一个网络中有两个 Loss 分支

    • Branch 1: softmax classifier
    • Branch 2: linear bounding-box regressors
    • 全局的 Loss 就是两个 Loss 的和
  • 使用 SGD 来联合 Fine-tune 网络

    • 优化两个任务的特征
  • 错误后向传播至卷积层

目录
相关文章
|
7月前
|
机器学习/深度学习 算法 安全
FRCNN来袭 | Faster RCNN与FCN永不遗忘,联邦学习+边缘数据既保护隐私也提升性能
FRCNN来袭 | Faster RCNN与FCN永不遗忘,联邦学习+边缘数据既保护隐私也提升性能
313 0
|
7月前
|
机器学习/深度学习 算法 TensorFlow
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
126 0
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
深度学习实践:构建并训练卷积神经网络(CNN)对CIFAR-10数据集进行分类
本文详细介绍如何使用PyTorch构建并训练卷积神经网络(CNN)对CIFAR-10数据集进行图像分类。从数据预处理、模型定义到训练过程及结果可视化,文章全面展示了深度学习项目的全流程。通过实际操作,读者可以深入了解CNN在图像分类任务中的应用,并掌握PyTorch的基本使用方法。希望本文为您的深度学习项目提供有价值的参考与启示。
|
4月前
|
机器学习/深度学习
CNN网络编译和训练
【8月更文挑战第10天】CNN网络编译和训练。
95 20
|
7月前
|
机器学习/深度学习 数据可视化 数据挖掘
R语言深度学习卷积神经网络 (CNN)对 CIFAR 图像进行分类:训练与结果评估可视化
R语言深度学习卷积神经网络 (CNN)对 CIFAR 图像进行分类:训练与结果评估可视化
|
7月前
|
机器学习/深度学习 数据可视化 定位技术
PrObeD方法开源 | 主动方法助力YOLOv5/Faster RCNN/DETR在COCO/GOD涨点
PrObeD方法开源 | 主动方法助力YOLOv5/Faster RCNN/DETR在COCO/GOD涨点
83 0
|
7月前
|
机器学习/深度学习 监控 算法
【Keras计算机视觉】Faster R-CNN神经网络实现目标检测实战(附源码和数据集 超详细)
【Keras计算机视觉】Faster R-CNN神经网络实现目标检测实战(附源码和数据集 超详细)
145 0
|
7月前
|
机器学习/深度学习 算法 固态存储
【计算机视觉】目标检测中Faster R-CNN、R-FCN、YOLO、SSD等算法的讲解(图文解释 超详细必看)
【计算机视觉】目标检测中Faster R-CNN、R-FCN、YOLO、SSD等算法的讲解(图文解释 超详细必看)
469 0
|
机器学习/深度学习 算法 计算机视觉
m基于Faster R-CNN网络的火灾识别系统matlab仿真,带GUI界面
m基于Faster R-CNN网络的火灾识别系统matlab仿真,带GUI界面
112 0
|
机器学习/深度学习 数据采集 人工智能
头疼!卷积神经网络是什么?CNN结构、训练与优化一文全解
头疼!卷积神经网络是什么?CNN结构、训练与优化一文全解
108 0

热门文章

最新文章