Lecture 1 | 计算机视觉的卷积神经网络介绍
本文是《CS231n: Convolutional Neural Networks for Visual Recognition》课程的学习笔记。
课程讲义:http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture1.pdf
计算机视觉的应用领域非常广泛,涉及到物理、生物、心理学、计算机科学、数学、工程等领域。
计算机视觉简史
-
人类开始探索计算机视觉相关的内容是在16世纪,从发明相机开始。
-
到20世纪60年代,Hubel和Wiesel研究了大脑信号与物体方向的关系,得出了简单的细胞对光的方向有反应,而复杂的细胞能对光的方向及运动有反应。
-
1963年,Larry通过寻找特征点来描述真实世界的物体。
-
1970年,David Marr提出对原始图像进行原始素描的处理得到边缘图像,再通过局部表面的方向和深度信息得到2.5D的刻画,最后根据表面和体积等内容来以3D形式展示出物体。
-
在20世纪80年代,Brooks and Binford和Fischer and Elschlager的研究是尽量简化对象,比如将人用抽象的椭圆形或者绘画的结构勾勒出来。
-
对象识别相对比较难,Shi and Malik在1997年就通过对象分割来完成。
-
到2001年,Viola和Jones开始实现了人脸识别,并且也真正将其应用于生产中。
-
在1999年,David Lowe提出了通过SIFT方法利用特征点匹配来进行对象识别。
-
到2006年,Lazebnik, Schmid & Ponce提出了将原始图像划分为不同的部分实现空间金字塔匹配。
-
随后,分别出现了梯度直方图和变形零件模型来进行人体识别。
-
2006-2012年间,Everingham等人弄了PASCAL Visual Object Challenge,其中包含20种不同的对象分类。
-
Fei-Fei Li团队则是从2009年开始来构建IMAGENET,其中共有14M张图像包含了22K类别。并且针对图像分类有一个专门的挑战The Image Classification Challenge,该挑战是共有1,431,167 张图像,包含了1,000 类别。该挑战的结果是越来越来,其中一个里程碑式的年份是在2012年,其中用到的AlexNet是第一次在该挑战中引入卷积神经网络(或者说是深度学习),此后的挑战亦都是基于卷积神经网络来进行的。
cs231n
cs231n这门课最主要是解决计算机视觉中的图像分类问题,涉及到的内容包括物体检测和图像字幕等,其中卷积神经网络(CNN)是最重要的一个方法。
卷积神经网络从1998年就开始有了,当时是Bell实验室用来识别书写字母,下图展示的是AlexNet与手写字母识别的网络的一个对比,他们有比较大的相似度。随着计算性能的提升和数据量的增加,使得网络可以更深、训练可以跟快的进行。
课程用书:
- Deep Learning by Goodfellow, Bengio, and Courville
- Free online
预备知识:
- Proficiency in Python (and use numpy)
- College Calculus
- Linear Algebra
- Equivalent knowledge of CS229 (Machine Learning)