CNN for Visual Recognition (02)
图像分类
参考:http://cs231n.github.io/classification/
图像分类(Image Classification),是给输入图像赋予一个已知类别标签。图像分类是计算机视觉(Computer Vision)问题中一个基本问题,也是很要的一个问题。诸如物体检测、图像分割等可以利用图像分类来解决。
图像分类问题的主要难点在以下几个方面:
- 视角差异(viewpoint variation):拍摄角度
- 比例差异(Scale variation):缩放比例
- 形变(Deformation):主要为非刚性形变(non-rigid deformation)
- 遮挡(Occlusion):局部遮挡
- 光照差异(Illumination condition):光线情况不同
- 背景噪声(Background clutter):背景与前景接近
- 类内差异(intra-class variance):类内差异大于类间差异
(ref: http://cs231n.github.io/assets/challenges.jpeg)
数据驱动的方法(data-driven approach):
从机器学习角度讲,训练数据(training data)为学习过程提供先验知识。
解决图像分类流程(pipeline):
- 输入(input):包括图像和类别标签;
- 学习(learning):学习分类器(classifier)或是模型(model)进而预测输入图像标签;
- 评价(evaluation):比较预测标签和实际标签,评价分类器(模型)的性能。
最邻近分类(Nearest Neighbor Classifier):
(只是为了能够直观了解图像分类问题)
根据已有数据及标签(training data),预测输入图像(input image)为其最邻近图像的标签。进一步扩展可为K邻近方法,K邻接相对更加常用。相对而言,kNN在特征维度较低的时候,能力比较强的。
对于kNN而言有两个问题不好确定:
第一个就是k值的选择。K值较小时,对噪声敏感;k值较大,会削弱对decision boundary附近样本的判别能力。最简单的方法就是交叉验证,在验证集尝试不同取值;还有一些参考文件中使用\sqrt(N),其中N是每一类中样本的平均数(很明显对数据量很大的情况不适用)。
第二个就是对距离量度(distance metric)的选择。比较常用的是L1和L2距离。但是对一些问题,需要进行距离量度学习(distance metric learning)。比较常用的学习方法有LMNN(Large Margin Nearest Neighbor),ITML(Information-Theoretic Metric Learning)
关于使用kNN的一个小节:
- 对特征做正规化(normalization),即零均值、单位方差;
- 特征维数很高时降维,如PCA等;
- 在训练集上划分验证集;
- 交叉验证不同的k值及距离量度;
- 时间开销过大时考虑Approximate Nearest Neighbor (FLANN)代替(以降低准确率为代价)。
延伸阅读:
A Few Useful Things to Know about Machine Learning,英文
机器学习那些事,中文
Recognizing and Learning Object Categories, ICCV2005的一个short course。
CNN for Visual Recognition (02)的更多相关文章
- CNN for Visual Recognition (01)
CS231n: Convolutional Neural Networks for Visual Recognitionhttp://vision.stanford.edu/teaching/cs23 ...
- CNN for Visual Recognition (assignment1_Q1)
参考:http://cs231n.github.io/assignment1/ Q1: k-Nearest Neighbor classifier (30 points) import numpy a ...
- 论文笔记之: Bilinear CNN Models for Fine-grained Visual Recognition
Bilinear CNN Models for Fine-grained Visual Recognition CVPR 2015 本文提出了一种双线性模型( bilinear models),一种识 ...
- 大规模视觉识别挑战赛ILSVRC2015各团队结果和方法 Large Scale Visual Recognition Challenge 2015
Large Scale Visual Recognition Challenge 2015 (ILSVRC2015) Legend: Yellow background = winner in thi ...
- 【论文阅读】Deep Mixture of Diverse Experts for Large-Scale Visual Recognition
导读: 本文为论文<Deep Mixture of Diverse Experts for Large-Scale Visual Recognition>的阅读总结.目的是做大规模图像分类 ...
- 目标检测--Spatial pyramid pooling in deep convolutional networks for visual recognition(PAMI, 2015)
Spatial pyramid pooling in deep convolutional networks for visual recognition 作者: Kaiming He, Xiangy ...
- Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition Kaiming He, Xiangyu Zh ...
- Convolutional Neural Networks for Visual Recognition 1
Introduction 这是斯坦福计算机视觉大牛李菲菲最新开设的一门关于deep learning在计算机视觉领域的相关应用的课程.这个课程重点介绍了deep learning里的一种比较流行的模型 ...
- 【CV论文阅读】+【搬运工】LocNet: Improving Localization Accuracy for Object Detection + A Theoretical analysis of feature pooling in Visual Recognition
论文的关注点在于如何提高bounding box的定位,使用的是概率的预测形式,模型的基础是region proposal.论文提出一个locNet的深度网络,不在依赖于回归方程.论文中提到locne ...
随机推荐
- 再议 js 数字格式之正则表达式
原文:再议 js 数字格式之正则表达式 前面我们提到到了js的数字格式<浅谈 js 数字格式类型>,之前的<js 正则练习之语法高亮>里也提到了优化数字匹配的正则.不过最近落叶 ...
- eclipse打不开data目录解决的方法
1.首先手机必须详细root权限.没有的话,先去root. 2.root过后若还是不能打开,下载一个R.E管理器,然后将须要打开的目录设置为可读.可写.可运行. 附图:
- Redis 上实现的分布式锁
转载Redis 上实现的分布式锁 由于近排很忙,忙各种事情,还有工作上的项目,已经超过一个月没写博客了,确实有点惭愧啊,没能每天或者至少每周坚持写一篇博客.这一个月里面接触到很多新知识,同时也遇到很多 ...
- 深入理解PHP中赋值与引用
原文:深入理解PHP中赋值与引用 先看下面的问题: <?php $a = 10;//将常量值赋给变量,会为a分配内存空间 $b = $a;//变量赋值给变量,是不是copy了一份副本,b也分配了 ...
- 如此高效通用的分页存储过程是带有sql注入漏洞的
原文:如此高效通用的分页存储过程是带有sql注入漏洞的 在google中搜索“分页存储过程”会出来好多结果,是大家常用的分页存储过程,今天我却要说它是有漏洞的,而且漏洞无法通过修改存储过程进行补救,如 ...
- Bash shell 简单的并行任务,并等待
首先启动两个command line对于实验 第一 command line 依次输入: bash$ sleep 10001 & [1] 38272 bash$ job1=$! bash$ s ...
- ionic入门之基本布局
目录: 简介 Hybrid vs. Others ionic CSS框架 基本布局 布局模式 定高条块:.bar .bar : 位置 .bar : 嵌入子元素 .bar : 嵌入input 内容:.c ...
- git上自然框架源码
[自然框架]终于把源码弄到git上吗了 2015-02-02 14:38 by 金色海洋(jyk)阳光男孩, 183 阅读, 6 评论, 收藏, 编辑 好久没写博客了,发现又从左面的排名里掉出去了. ...
- SOA面向服务架构
SOA面向服务架构 风尘浪子 只要肯努力,梦想总有一天会实现 随笔分类 - SOA面向服务架构 结合领域驱动设计的SOA分布式软件架构 摘要: 领域驱动设计DDD的总体结构,Repository层使用 ...
- AutoCAD 2012安装错误,与.net framework (1603错误)以及ms2005vc++的问题。
首先,这是AutoCAD2012的问题.因为,如果一台计算机已经安装了这些软件,AutoCAD是无法识别出来,因此AutoCAD就只能报错.正确的做法是:如果检测到这些软件已经被安装,则需要忽略这些问 ...