计算机视觉入门 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扔掉。

时间: 2024-12-20 01:06:53

计算机视觉入门 Intorduction To Computer Vision的相关文章

Intorduction To Computer Vision

本文将主要介绍图像分类问题,即给定一张图片,我们来给这张图片打一个标签,标签来自于预先设定的集合,比如{people,cat,dog...}等,这是CV的核心问题,图像分类在实际应用中也有许多变形,而且许多看似无关的问题(比如 object detection, segmentation)最终也可划分为图像分类问题. 彩色图像通常有RGB三个通道,每个通道都是一个二维数组,比如下图即为一张200*150的图像,该图像分为RGB三个通道,所以该图像可用200*150*3 = 90000的一维数组表

Computer vision:algorithm and application 计算机视觉算法与应用

最近在看Computer vision:algorithm and application计算机视觉算法与应用这本书,感觉对机器视觉学习很好的一本书,下面对书本知识和网上的资源作个总结. 先从后面的附录开始看,其中包括数据集站点,相关机器视觉软件和参考文献,对今后算法学习与实现有用. 下面是学长整理的一些资料,现在搬过来学习学习: 以下是computer vision:algorithm and application计算机视觉算法与应用这本书中附录里的关于计算机视觉的一些测试数据集和源码站点,

AI-Azure上的认知服务之Computer Vision(计算机视觉)

使用 Azure 的计算机视觉服务,开发人员可以访问用于处理图像并返回信息的高级算法. 主要包含如下高级算法: 标记视觉特性Tag visual features 检测对象Detect objects 图像分类Categorize an image 描述图像Describe an image 检测人脸Detect faces 检测图像类型Detect image types 检测特定领域的内容Detect domain-specific content 检测颜色方案Detect the colo

计算机视觉和人工智能的状态:我们已经走得很远了 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 outlook for AI and for Computer Vision. What would it take for a computer to understand this image as you or I do? I challenge you to think explicitly

Graph Cut and Its Application in Computer Vision

Graph Cut and Its Application in Computer Vision 原文出处: http://lincccc.blogspot.tw/2011/04/graph-cut-and-its-application-in.html 网络流算法最初用于解决流网络的优化问题,比如水管网络.通信传输和城市的车流等.Graph cut作为其中一类最常见的算法,用于求解流网络的最小割,即寻找一个总容量最小的边集合,去掉这个集合中的所有边将阻断这个网络.图像和视频也能被视作网络(或者

Deep Learning for Computer Vision with MATLAB and cuDNN(译文)

翻译水平有限,欢迎阅读原文 一.深度学习 当前,深度学习已经成为一个热门话题.随着深度学习算法和GPU技术的发展,我们已经能够解决许多领域(计算机视觉.自然语言处理和机器人学)曾经认为不可能的事情. 深度学习是建立在传统的深度神经网络之上的.最近几年的热点是大数据集和强大的GPUs的使用.神经网络本质上是一种并行算法,因此多核GPUs的使用能够明显的减少用于训练深度神经网络的时间.以下,我将会讨论如何使用MATLAB以及深度卷积神经网络和GPUs开发一个对象识别系统 二.为什么将深度学习用于计算

Computer vision labs

积累记录一些视觉实验室,方便查找 1.  多伦多大学计算机科学系 2.  普林斯顿大学计算机视觉和机器人实验室 3.  牛津大学Torr Vision Group 4.  伯克利视觉和学习中心 Prof. Trevor Darrell CS280 Computer Vision Object Detection and Segmentation for RGB-D Images 5. Carnegie Mellon University(CMU) Compoter Vision Group Kr

Computer Science - Computer Vision - Intro

Computer Vision - Intro 初探计算机视觉 CV在AI领域的地位 视觉相当于人脑的大门,是人类感知外界世界的最主要途径.该生理构造决定真实世界中的信息主要以视觉为主.所以,如果不能处理视觉信息的话,整个AI领域就几乎无法研究真实的世界.而作为AI领域中的子领域,CV就承担着处理视觉信息的任务.其地位不言而喻. 视觉,它相当于说芝麻开门.大门就在这里面,这个门打不开, 就没法研究真实世界的人工智能. CV与ML的关系 CV是一个领域,下辖很多子问题,就像物理学.而ML基本是一个

计算机视觉入门

 第一节课: 计算机视觉整体概述 这学期正在上一节计算机视觉课程,有些不懂的知识上百度搜索发现关于计算机视觉的文章寥寥无几. 这节课主要讲解的是计算机视觉里面的图片识别,不会讲到识别一些正在运动的物体. 希望可以把自己学到的东西分享给大家.因为版权等问题,我无法将lecture notes放在这里,但是我会把自己所理解的东西写下来. 1. 什么是计算机视觉(Computer Vision)? 老师给出的定义:  Enable machines to "see" the visual w