深度学习(主要是CNN)用于图片的分类和检测总结

2014-12-4阅读920 评论0

前言: 主要总结一下自己最近看文章和代码的心得。

1. CNN用于分类:具体的过程大家都知道,无非是卷积,下采样,激活函数,全连接等。CNN用于分类要求它的输入图片的大小是固定的(其实不单单是CNN,很多其它的方法也是这样的),这是它的一个不足之处之一。目前的大部分CNN都是用来做分类比较多。

2. CNN用于检测:主要的方法有两种,细分一下有三种,

第一种最为简单和暴力的,通过滑动窗口的方法,提取一个固定大小的图像patch输入到CNN网络中,得到该patch的一个类别,这样得到一个图片密集的类别得分图。显然,这种方法的一个弊端就是运算量太大,如果图片的分辨率比较的大,就根本无法进行下去,更何况,这还是在没有考虑图片多尺度检测的情况。

第二种方法,在第一种方法的基础之上,采用了动态规划的思想,避免了重复计算问题。对于CNN来说,直到第一个全连接层之前,它的输入图片大小是可以不固定的,但是有了全连接层之后,就要求输入大小保持一致,第二种方法是先把任意大小的图片进行输入CNN直到第一个全连接层,然后再在它的基础上进行固定大小的滑动窗口输入到全连接层中,由于第一个全连接层之前进行了大量的下采样操作,所以这时候的滑动窗口的数目就大大的减少了,而且前面的卷积操作就要计算一次,没有重复计算的问题。CNN里面有一个trick就是把训练好了的用于分类的网络,把它的全连接层参数转化为卷积层参数。这样改造后的CNN就成了全卷积CNN,它的输入是可以任意的,而它的输出是patch 的类别得分。这个在Caffe里面有一个例子说明怎么转换。网址在这里:http://nbviewer.ipython.org/github/BVLC/caffe/blob/master/examples/net_surgery.ipynb

第三种方法,跟前两种不同的是,它不是采用滑动窗口的方法,而是采用提取子窗口的方法,这种方法最典型的是今年的CVPR2014的R-CNN方法,它先采用一个方法来进行生成1000-2000左右的窗口区域(类似于目标显著性检测,但又不同,英文的说法叫Objectness,不好翻译),然后再把这些窗口归一化到相同的大小放到CNN里面去做分类。(当然RCNN的方法只是用训练好了的CNN进行提特征,它还需要进行对每一个类别进行训练SVM分类器)。显然这种方法的优点的是比前两种快,因为分类的窗口少,但是它也有不足就是,它要保证要检测的目标在这些1000-2000个提取的窗口中的概率要足够的高,也就是要有比较高的召回率。再者,它要保证这1000-2000个窗口的提取要足够的快,(在R-CNN中,由于它采用的方法生成窗口很慢,所以实际上整个检测是比较慢的。)

深度学习(主要是CNN)用于图片的分类和检测总结相关推荐

  1. 深度学习用于图片的分类和检测总结

    1. CNN用于分类:具体的过程大家都知道,无非是卷积,下采样,激活函数,全连接等.CNN用于分类要求它的输入图片的大小是固定的(其实不单单是CNN,很多其它的方法也是这样的),这是它的一个不足之处之 ...

  2. 1 图片channels_深度学习中各种图像库的图片读取方式

    深度学习中各种图像库的图片读取方式总结 在数据预处理过程中,经常需要写python代码搭建深度学习模型,不同的深度学习框架会有不同的读取数据方式(eg:Caffe的python接口默认BGR格式,Te ...

  3. (转)深度学习中各种图像库的图片读取方式

    https://blog.csdn.net/u013841196/article/details/81194310 深度学习中各种图像库的图片读取方式总结 在数据预处理过程中,经常需要写python代 ...

  4. 深度学习中各种图像库的图片读取方式

    深度学习中各种图像库的图片读取方式总结 在数据预处理过程中,经常需要写python代码搭建深度学习模型,不同的深度学习框架会有不同的读取数据方式(eg:Caffe的python接口默认BGR格式,Te ...

  5. 机器学习与深度学习——通过奇异值分解算法压缩图片

    机器学习与深度学习--通过奇异值分解算法压缩图片 什么是奇异值分解? 奇异值分解(Singular Value Decomposition,SVD)是一种重要的线性代数方法,用于将一个矩阵分解成三个部 ...

  6. 基于深度学习的恶意样本行为检测(含源码) ----采用CNN深度学习算法对Cuckoo沙箱的动态行为日志进行检测和分类...

    from:http://www.freebuf.com/articles/system/182566.html 0×01 前言 目前的恶意样本检测方法可以分为两大类:静态检测和动态检测.静态检测是指并 ...

  7. 深度学习主题月:飞桨三大系列锦标赛奖金翻倍,快来报名!

    10月深度学习主题月,飞桨PaddlePaddle.AI Studio.EasyDL各具匠心,不仅全方位向大家展示完整的信息和教程,更是鼓励大家在实践中应用,为大家准备了翻倍奖金.算力支持.AI代金券 ...

  8. 深度学习-第T2周——彩色图片分类

    深度学习-第T2周--彩色图片分类 深度学习-第P1周--实现mnist手写数字识别 一.前言 二.我的环境 三.前期工作 1.导入依赖项并设置GPU 2.导入数据集 3.归一化 4.可视化图片 四. ...

  9. 深度学习之数据处理——如何将图片和标签打乱并划分为训练集和测试集

    深度学习之数据处理--如何将图片和标签打乱并划分为训练集和测试集 记录我的第一篇CSDN博客 最近我在网上找到Office31数据集,这个数据集中包含了三个子数据集,分别为:Amazon.dslr.w ...

最新文章

  1. 企业运维——机房建设的一些建议
  2. qpushbutton 设置字体大小_怎样设置Qpushbutton 的大小
  3. aspx网页背景图片设置代码_python 30行代码自动填写问卷(单选题和多选题)
  4. Python中如何修改字符串的值
  5. Topic交换器-编写生产者
  6. 为自己而活,这很难吗?
  7. vue 字符串分割_嗯哼vue组件taginput包教不包会
  8. php角色权限安全,php – 安全的chmod权限?
  9. 小型团队快速开发方法
  10. BTA 常问的 Java基础40道常见面试题及详细答案,java初级面试笔试题
  11. Hibernate事务
  12. 杭电 -- 2553 N皇后问题
  13. Java宠物管理系统(运用接口简易版)
  14. matlab 小波分析实例,小波分析MATLAB实例
  15. candence的图纸大小设置_标准制图图纸尺寸大小
  16. 黑科技之中文计算机语言,双语 - 小巧玲珑的计算机语言 - Red
  17. c语言算术转换例子,关于C语言算术表达式中“寻常算术转换”的问题
  18. ClickHouse原理及使用
  19. Solr实现京东搜索
  20. 动态规划入门及规则分析(典型)

热门文章

  1. iis占用服务器内存,W3wp.exe 进程占用内存高消耗CPU近100%导致网站反应速度缓慢的解决方案...
  2. ProgressBar(圆形、水平进度条)的基本使用(点击Button1按钮,显示或消失圆形ProgressBar)(每点击一次Button2按钮,水平进度条增加10%)
  3. cifar-10 cnn 分类
  4. python elif 用法_Python入门高级教程--Python 条件语句
  5. 指令流水 一个时钟周期 出一个结果_以SM3算法为例,构建一个软硬协作算法加速器:性能分析与优化...
  6. Leetcode 144. 二叉树的前序遍历 (每日一题 20210820)
  7. Leetcode 455.分发饼干 (每日一题 20210708 同类型题)
  8. 文巾解题 1. 两数之和
  9. Linux疑难杂症解决方案100篇(十)-uptime命令查看linux系统负载
  10. xss绕过字符过滤_XSS过滤器绕过总结