当前位置: 首页 > news >正文

目标检测: R-CNN原理

论文地址:

1 selective search:    https://arxiv.org/pdf/1502.05082.pdf

2  r-cnn:                    https://arxiv.org/pdf/1311.2524.pdf

1 概述:
为了降低滑动窗口导致的时间消耗, 采用selective search 方法来定位含有目标的候选框, 大约2k个, 然后再原图上按照这2k个框去切出来, 依次进行CNN训练

[selective search]解释: 预先找出图中目标可能出现的位置,即候选区域(Region Proposal)。利用图像中的纹理、边缘、颜色等信息,可以保证在选取较少窗口(几千甚至几百)的情况下保持较高的召回率(Recall)

 

2 步骤:
2.1 在imagenet上预训练一个分类CNN
2.2 使用selective search方法切出图像上所有图片
2.3 将切出来的图片resize到统一尺寸
2.4 采用预训练出来的CNN进行fine-tune, 总输出类别为N+1, 1表示背景, 此时需要用较小的lr(0.001), 训练好保存此CNN(IoU>=0.5作为正例, 其他为负例)
2.5 去掉2.4步训练出来的CNN的最后一个分类层, 将中间的一维特征向量作为输出, 将每一个候选区域图片经过此CNN, 输出特征向量存储到磁盘
2.5 将特征向量作为输入样本, 依次为每一个类别训练一个线性核SVM(正例为候选区域和真实区域的IoU>=0.3的候选区域, 其他作为负例)
2.6 使用线性回归损失训练目标的box的位置参数

 

box回归损失解释:

假设预测模型输出di(p), 其中p=(px,py,pw,ph)为候选区域的中心点坐标宽高, g=(gx,gy,gw,gh)为真实目标的中心点坐标宽高

 

1 其中L2正则化超参的值是交叉验证确定的.

2 只有IoU>=0.6的候选区域才参与计算回归损失

 

3 缺点
3.1 selective search过程很慢
3.2 2k个区域里有很大重复, 信息冗余
3.3 4个模块(selective search, CNN, SVM, Regression)各自分离

转载于:https://www.cnblogs.com/dxscode/p/11443374.html

相关文章:

  • win10下cmake 编译tensorflow1.11.0
  • 目标检测: Fast R-CNN原理
  • webserver SVN / Subversion
  • VS开发C++控制台应用程序(示例)
  • WPF调用C++生成的dll文件(示例)
  • ffmpeg命令参数详解
  • Spring 注入多列和单列
  • 网络书籍
  • Java 深Clone 和 浅Clone
  • .net core控制台应用程序初识
  • ANR日志分析
  • 使用trace文件分析ANR
  • javacv获取视频第一帧
  • Android ANR log trace日志文件分析
  • ffmpeg开发文档
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • Javascript Math对象和Date对象常用方法详解
  • k8s如何管理Pod
  • mac修复ab及siege安装
  • react-native 安卓真机环境搭建
  • REST架构的思考
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 基于遗传算法的优化问题求解
  • 检测对象或数组
  • 简单基于spring的redis配置(单机和集群模式)
  • 前端性能优化——回流与重绘
  • 手机端车牌号码键盘的vue组件
  • 为什么要用IPython/Jupyter?
  • 移动端解决方案学习记录
  • 正则学习笔记
  • scrapy中间件源码分析及常用中间件大全
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #大学#套接字
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (六)Hibernate的二级缓存
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (算法二)滑动窗口
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (一)UDP基本编程步骤
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .net Stream篇(六)
  • .NET关于 跳过SSL中遇到的问题
  • .NET中GET与SET的用法
  • @Transient注解
  • []sim300 GPRS数据收发程序
  • [ai笔记3] ai春晚观后感-谈谈ai与艺术
  • [Android] Android ActivityManager
  • [BZOJ1010] [HNOI2008] 玩具装箱toy (斜率优化)
  • [C++]类和对象【上篇】
  • [CF703D]Mishka and Interesting sum/[BZOJ5476]位运算
  • [GYCTF2020]Ez_Express
  • [HNOI2015]实验比较