CS231n之前零零散散地看过一些,都没有完整地看完过,也没有认真做过笔记。借这次机会好好整体学一遍,并且做好笔记和课后作业。
课程主页:
http://vision.stanford.edu/teaching/cs231n/2017/
可以在Detailed Syllabus找到slides、video、notes和tutorials。
一些与计算机视觉相关的领域,比如psychology学习动物是如何看世界的。
一些相关课程,目前正在听的CS231n这门课更注重于深度学习。
而CS231a更加广泛地介绍了计算机视觉的相关的内容,如图像处理、相机、3D重建、分割、物体识别、场景识别等,以后有机会可以研究一下。
http://web.stanford.edu/class/cs231a/index.html
CS231a课程主页,包含课堂笔记和PPT。找了一圈没找到视频,只能看看课件了。
计算机视觉的历史
生物学的进展
发展到人们开始创造机械视觉(照相机)
探测猫的视觉神经是如何感知物体的
然后到了用计算机去处理、理解图像
用一些几何图形来表示世界上的物体
最开始的一些方法都是低水平low-level的,只能提取出边缘、角、线条等等。
为了能够更好的进行图像识别,人们开始使用图像分割image segementation。使用的是graph theory algorithm。
还有一个广泛的应用是人脸识别face detection。AdaBoost algorithm可以达到实时人脸识别。
2000年左右,大量的机器学习算法开始被应用到这个领域,support vector machine,boosting,graphical models,neural networks。
那时候常用的方法是feature based object recognition,其中有一个叫SIFT的进行特征匹配。特征匹配的难点在于不同的camera angle,occlusion,viewpoint,lighting,intrinsic variation of the object itself。但是某一些部分是不变的,可以将部分匹配起来。
这篇文章可以从图片中提取出特征,告诉我们图片所代表的不同场景:landscape,kitchen,highway等等。这些特征来自图片的不同部分,不同分辨率,将他们一同放进特征描述器feature discriptor中,最上层再加一个support vector machine来进行分类。
这两篇文章可以识别人体组成并进行匹配。
这个HOG在之前经常见到,有空可以研究一下。
之后出现了影响重大的benchmark data set,可以用来评估object recognition算法的发展进程。其中一个叫做PASCAL Visual Object Challenge。
慢慢地,人们想要让计算机去识别更多的物体,去辨认出世界上任何一个东西。
另外,图像数据非常复杂,我们的模型需要有非常高维度的输入,有许多的参数需要进行拟合,如果没有足够大量的训练集,算法很容易过拟合overfitting。
基于以上两点原因,ImageNet出现了。
产生过程:从网上下载图片,使用WordNet字典进行组织,然后使用Amazon Mechanical Turk platform来进行分类sort、清洗clean、标注label。
图像分类算法一直在进步,甚至超越了human-level。值得关注的是2012年错误率突然下降了将近10%,也就是从AlexNet开始正式进入深度神经网络的时代。
Overview of CS231n
下面就是介绍一下课程的梗概。没什么特别的知识点,我就随意记几个地方。
关于图像识别的几个具体应用例子,物体检测、动作分类、image captioning。其中image captioning结合了CNN和RNN,计算机视觉CV和自然语言处理NLP,感觉是个非常有挑战的领域。这样的结合可以让计算机更好地理解这个世界,通过一个画面描述出一个故事。
具体流程可见下图:
从上图可以看出,2012年的AlexNet和1998年的LeNet,结构上有很多相似。那么究竟为什么自2012年以后,深度学习有了爆发性的增长了呢?一是因为计算能力的增长,GPU的出现能够提供学者们训练更复杂结构的模型。二是因为网络时代数字媒体的发展,使训练集和benchmark(比如PASCAL和IMAGENET)足够多的使用到训练当中去。
本节课术语表
里面有一个错误,应该是Linear SVM,翻译为线性支持向量机
领取专属 10元无门槛券
私享最新 技术干货