计算机视觉入门 Intorduction To Computer Vision
本文将主要介绍图像分类问题,即给定一张图片,我们来给这张图片打一个标签,标签来自于预先设定的集合,比如{people,cat,dog...}等,这是CV的核心问题,图像分类在实际应用中也有许多变形,而且许多看似无关的问题(比如 object detection, segmentation)最终也可划分为图像分类问题。
彩色图像通常有RGB三个通道,每个通道都是一个二维数组,比如下图即为一张200*150的图像,该图像分为RGB三个通道,所以该图像可用200*150*3 = 90000的一维数组表示,数组每个点的取值为0(黑色)到255(白色)。图像分类即将这个90000维的数组打上标签,比如 dog。
目前图像识别面临的挑战有:
- Viewpoint variation. 视角的变化
- Scale variation. 大小缩放
- Deformation. 一些物体可以随意变形,比如人伸展
- Occlusion. 目标只有一小部分出现在图像里
- Illumination conditions. 光线的变化
- Background clutter. 背景干扰
- Intra-class variation. 类内的差异,比如各种鸟类大小不一,颜色不一
图像分类的方法,目前主要是机器学习中的监督学习的方法,给定训练数据 {x(i),y(i)} 来训练一个分类器来进行分类,比如KNN算法
KNN算法中有超参数(hyperparameters )需要选个K的取值以及距离的度量(L1还是L2 距离),所以需要对数据进行划分,分别训练集与测试集,这里的测试集是十分宝贵的,用来测试模型的泛化性,而我们又要训练一个准确的模型,这时可以把训练数据进一步切分来进行Cross-validation.以下便是5折交叉验证,通过交叉验证的方法找到最优的模型,进而用测试集来测试模型的泛化能力。
KNN是非常慢的,因为每一次预测都要计算与训练数据集中所有图像的距离,找出 top k,实践KNN时需要注意一下几个问题:
1)预处理数据为0均值与单位方差(图像数据各个维度通常方差与均值都相等,因为像素介于0-255,所以图像可以省去此步骤)
2)高维数据可用PCA
3)若有很多参数,要保证测试集数据足够多,训练数据少得话就交叉验证之,交叉验证的 fold 越多,计算复杂度越高。
4)交叉验证时比如以上的图分了5折,其中用fold1 fold2 fold3 fold5 来训练,fold4 测试得到了最好的模型,这时在测试集测试时,可以不用fold4,把fold4当成burden扔掉。
计算机视觉入门 Intorduction To Computer Vision的更多相关文章
- Intorduction To Computer Vision
本文将主要介绍图像分类问题,即给定一张图片,我们来给这张图片打一个标签,标签来自于预先设定的集合,比如{people,cat,dog...}等,这是CV的核心问题,图像分类在实际应用中也有许多变形,而 ...
- 计算机视觉中的边缘检测Edge Detection in Computer Vision
计算机视觉中的边缘检测 边缘检测是计算机视觉中最重要的概念之一.这是一个很直观的概念,在一个图像上运行图像检测应该只输出边缘,与素描比较相似.我的目标不仅是清晰地解释边缘检测是怎样工作的,同时也提 ...
- AI-Azure上的认知服务之Computer Vision(计算机视觉)
使用 Azure 的计算机视觉服务,开发人员可以访问用于处理图像并返回信息的高级算法. 主要包含如下高级算法: 标记视觉特性Tag visual features 检测对象Detect objects ...
- 如何创建Azure Face API和计算机视觉Computer Vision API
在人工智能技术飞速发展的当前,利用技术手段实现人脸识别.图片识别已经不是什么难事.目前,百度.微软等云计算厂商均推出了人脸识别和计算机视觉的API,其优势在于不需要搭建本地环境,只需要通过网络交互,就 ...
- paper 156:专家主页汇总-计算机视觉-computer vision
持续更新ing~ all *.files come from the author:http://www.cnblogs.com/findumars/p/5009003.html 1 牛人Homepa ...
- 【29】带你了解计算机视觉(Computer vision)
计算机视觉(Computer vision) 计算机视觉是一个飞速发展的一个领域,这多亏了深度学习. 深度学习与计算机视觉可以帮助汽车,查明周围的行人和汽车,并帮助汽车避开它们. 还使得人脸识别技术变 ...
- 计算机视觉和人工智能的状态:我们已经走得很远了 The state of Computer Vision and AI: we are really, really far away.
The picture above is funny. But for me it is also one of those examples that make me sad about the o ...
- Computer vision labs
积累记录一些视觉实验室,方便查找 1. 多伦多大学计算机科学系 2. 普林斯顿大学计算机视觉和机器人实验室 3. 牛津大学Torr Vision Group 4. 伯克利视觉和学习中心 Pro ...
- Graph Cut and Its Application in Computer Vision
Graph Cut and Its Application in Computer Vision 原文出处: http://lincccc.blogspot.tw/2011/04/graph-cut- ...
随机推荐
- dom对象详解--document对象(三)
form对象 form对象代表一个HTML表单,在HTML文档中<form>每出现一次,form对象就会被创建.从dom对象层次图看,document.forms对象是当前文档所有for ...
- JS面向(基于)对象编程--构造方法(函数)
构造函数(方法)介绍 什么是构造函数呢?在回答这个问题之前,我们来看一个需求:前面我们在创建人类的对象时,是先把一个对象创建好后,再给他的年龄和姓名属性赋值,如果现在我要求,在创建人类的对象时,就直接 ...
- C和C++中结构体(struct)、联合体(union)、枚举(enum)的区别
C++对C语言的结构.联合.枚举 这3种数据类型进行了扩展. 1.C++定义的结构名.联合名.枚举名 都是 类型名,可以直接用于变量的声明或定义.即在C++中定义变量时不必在结构名.联合名.枚举名 前 ...
- 一个tomcat上放多个webapp问题,那这多个webapp会不会竞争端口呢?不会!安全两码事
1.一个tomcat上放多个webapp问题,那这多个webapp会不会竞争端口呢?不会!安全两码事
- Python模块包中__init__.py文件的作用
转载自:http://hi.baidu.com/tjuer/item/ba37ac4ce7482a0f6dc2f08b 模块包: 包通常总是一个目录,目录下为首的一个文件便是 __init__.py. ...
- Delphi操作XML的几个博客
http://www.cnblogs.com/acuier 整整十几篇,省得我自己研究,学一下就可以了. http://www.cnblogs.com/del/category/113561.htm ...
- [iOS]ios archives 出现的是other items而不是iOS Apps的解决方案
百度了一上午, 总是这样子. (利用cocoapods上传项目的时候, 总是这样无法点击UpLoad to App Store) 然后. 这样做. 就可以了!
- 284. Peeking Iterator
题目: Given an Iterator class interface with methods: next() and hasNext(), design and implement a Pee ...
- 【Netty学习】Netty 4.0.x版本和Flex 4.6配合
笔者的男装网店:http://shop101289731.taobao.com .冬装,在寒冷的冬季温暖你.新品上市,环境选购 =================================不华丽 ...
- Oracle ->> ENABLE VALIDATE & DISABLE VALIDATE
这里找到一篇博文对这两个用法的解释:http://www.cnblogs.com/rootq/archive/2008/09/23/1297400.html 启用约束: enable( validat ...