本节课主要讲述了cs231n课程的背景和计算机视觉的历史,也主要介绍了目前很重要的一个计算机视觉数据集——IMAGENET。

更多内容参考我的AI学习之路

课程简介

这门课程是由stanford大学计算机视觉李飞飞以及她的学生制作的,也叫做CS231n,是偏专业性的深度学习+计算机视觉课程。

目前计算机视觉越来越火,因为互联网中大量的信息都是通过图像或者视频来传播的,在计算机视觉中也涉及到了各个学科的内容,比如机器学习、信息检索、系统架构、图形学、算法、神经学、图像处理、自然语言处理、机器人等等。

计算机视觉的历史和发展

从微生物进化,到照相机,再到生物学对视觉的研究,1963年计算机视觉发表了第一篇论文《Block world》,其中视觉世界被简化为简单的几何形状。1966年MIT暑期开启了一个视觉项目,之后很多的视觉科学家开始加入到视觉研究中。David Marr在70年代写了一本视觉很有影响的书《VISION》,描述了视觉的抽象过程:构建草图、形成2.5D的分层、构建3D模型。70年代另一个非常重要的工作是提出一个通过简单的方块连接世界的问题。

60年代到70年代,解决物体识别非常困难,因为没有样本。1997年Berkeley的Jitendra Malik和他的学生Jianbo Shi完成了图像的分割Normalized Cut。。2001年Viola&Jones研究了Face Detection,Paul Viola基于AdaBoost进行实时面部检测,后来直接应用到了照相机中。。1999年 David Lowe剔除SIFT算法,用于物体的识别。。2006年Schmid&Ponce剔除空间金字塔 Spatial Pyramid Matching 。2005年Dalal&Triggs剔除HOG,histogram of gradients HoG。2009年Felzenswlb McAllester Ramanan剔除肢体模型

2006年,公开了一个数据集用于专门测试物体识别算法,PASCAL,Visual Object Challenge,有20个物体类别。同时,普林斯顿和斯坦福开始着手做了另一个数据集——IMAGENET,里面包含了22K个类别,14M的图片。每个图片中会包含很多物品,如果输出最大概率的5个物品,其中包含正确物品,就认为是识别成功,以此来衡量准确性。2012年IMAGENET的错误率明显下降,因为使用了卷积神经网络,从此深度学习开始大放光彩。

不过卷积网络实际上是90年代就提出的:

计算机视觉常用的数据集

PASCAL

PASCAL从2005年开始到2012年,每年都会推出一个新的数据集,这些数据除了05和06,其他的都是20个分类。

其中提供了几个方向的数据集:图像分类、图像分割、动作分类、人体主要部位识别等等。

IMAGENET

这个数据集是普林斯顿和斯坦福发起的,每年都会举办一次比赛——超越 ILSVRC,Beyond ImageNet Large Scale Visual Recogition Challenge。不过2017年貌似是最后一届了。

IMAGENET比赛中每年都会公开Top5的错误率,在2015年已经达到了3.57%,这些主要都是由于深度学习的发展,尤其是2012年的卷积网络,也使得深度学习开始流行起来。

也是在这个比赛中,各种深度学习网络模型出现:AlexNet,GoogleNet,ResNet等等。

2017CS231n学习笔记——计算机视觉的概述的更多相关文章

  1. OGG学习笔记01-基础概述

    OGG学习笔记01-基础概述 OGG(Oracle Golden Gate),最近几年在数据同步.容灾领域特别火,甚至比Oracle自己的原生产品DataGuard还要风光,主要是因为其跨平台.跨数据 ...

  2. spring学习笔记(一) Spring概述

    博主Spring学习笔记整理大部分内容来自Spring实战(第四版)这本书.  强烈建议新手购入或者需要电子书的留言. 在学习Spring之前,我们要了解这么几个问题:什么是Spring?Spring ...

  3. Flink学习笔记:Connectors概述

    本文为<Flink大数据项目实战>学习笔记,想通过视频系统学习Flink这个最火爆的大数据计算框架的同学,推荐学习课程: Flink大数据项目实战:http://t.cn/EJtKhaz ...

  4. JDBC学习笔记(1)——JDBC概述

    JDBC JDBC API是一个Java API,可以访问任何类型表列数据,特别是存储在关系数据库中的数据.JDBC代表Java数据库连接. JDBC库中所包含的API任务通常与数据库使用: 连接到数 ...

  5. Python学习笔记 :01概述

    Python基础 首先推荐学习Python基础的教程和书籍 视频教程推荐南京大学张莉老师在cousera上的教程用Python玩转数据 入门教程<Python基础教程> 数据挖掘教程< ...

  6. Spring学习笔记之Spring概述

    概述   Spring是一个java应用最广的开源框架,它是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Deve ...

  7. ASP.NET MVC4学习笔记之总体概述

    断断续续使用ASP.NET MVC框架也有一年多了,也算积累了一些经验,唉,一直想写一些笔记好好总结一下,人太懒不想动笔,今天终于决定开始.希望自己能坚持下去. 这篇文章大体介绍ASP.NET MVC ...

  8. XML学习笔记(1)--XML概述

    XML基本概念 XML—extensible Markup Language(可扩展标记语言) XML最基本的三个概念 1)XML语言---描述事物本身(可扩展) 2)XSL语言---展现事物表现形式 ...

  9. java核心技术学习笔记之一程序设计概述

    Java 核心技术之一程序设计概述 一.   Java语言的特点 简单行 :取经于C++,排除了C++不常用的指针.结构等,增加垃圾回收. 面向对象:与C++不同是单继承,但是可以继承多接口.完全面向 ...

随机推荐

  1. __module__ 和 __class__

    __module__  查看当前方法来之于那个文件 __class__  查看当前方法来之于那个类

  2. JMeter处理返回结果unicode转码为中文

    问题举例: { "ServerCode":"200","ServerMsg":"\u6210\u529f"," ...

  3. 1.Ansible安装以及配置

    本节内容以Centos7为系统环境进行讲解: 1.安装epel源,方便直接yum安装: wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun ...

  4. mysql 表结构

    1.登录数据库>mysql -u root -p 数据库名称 2.查询所有数据表>show tables; 3.查询表的字段信息>desc 表名称; 4.1添加表字段 alter t ...

  5. 对于链表中tada的绝对值相等的点,仅保留第一次出现的结点而删除其余绝对值相等的点

    算法的核心思想是用空间换时间,使用辅助数组记录链表中已出现的数值  从而只需对链表进行一趟扫描 typedef struct node { int data; struct node* next; } ...

  6. servlet中的请求响应与重定向区别

    一.概念 请求响应(转发):将客户端请求转发另一个servlet或者jsp页面------------------------getRequestDispatcher()方法 重定向: 返回一个连接给 ...

  7. 配置Java运行环境

    变量名:JAVA_HOME    变量值:D:\Program Files\Java\jdk1.8.0_151(java安装目录) 变量名:Path                  变量值:.;%J ...

  8. MariaDB ColumnStore初探(1):安装、使用及测试

    相信大家在对接BI数据报表部门有很深刻的体验,高大上的复杂SQL关联JOIN十几张表在InnoDB里跑起来,会让你酸爽到死.它的出现正是解决这个问题,DBA能不能轻松愉快地玩耍,就要靠它了,“神州行我 ...

  9. Curator的监听

    如果要使用类似Wather的监听功能Curator必须依赖一个jar包,Maven依赖, <dependency> <groupId>org.apache.curator< ...

  10. HDU 4780 Candy Factory(拆点费用流)

    Problem Description   A new candy factory opens in pku-town. The factory import M machines to produc ...