计算机视觉基础知识速览
计算机视觉基础知识
一.绪论
图像的定义:外部世界的表观。计算机视角看图片实际上是由像素构成。RGB模型为图像中每一个像素的RGB分量分配一个0~255范围内的值,0代表黑色,255代表白色。像素组合成几何特征,几何特征构成表达语义的信息。
计算机视觉的定义:教计算机学会和人一样看世界,即:使得计算机以人的理解方式去观察世界。
计算机视觉的难点:图片蕴含的信息要如何抽取?
二.计算机视觉发展简史
1958年 |
单层神经网络诞生 |
|
1963年 |
简单的三维物体抽象出边缘信息 |
第一篇CV文章出现 |
1970年 |
计算机视觉三大原则被提出 |
局部性、特征化、几何特征 |
1980年 |
多层神经网络与卷积神经网络被提出 |
|
1986年 |
实现边缘信息抽取 |
|
1989年 |
手写数字应用出现 |
|
1999年 |
特征描述子出现,手工特征设计 |
2004年特征工程技术趋于成熟 |
2009年 |
ImageNet数据集推动深度学习发展 |
得益于互联网的快速发展与智能设备的更替 |
2012年 |
8层神经网络AlexNet出现 |
深度学习网络超越特征工程技术 |
三.计算机视觉的难点
核心难点:深度学习技术具备无法解释性。从计算机视觉观察,计算机本身无法解释为何自己会做出这样的决策,即无法理解人类生活中的常识。举个例子:阿尔法狗下围棋很厉害,但是每一步怎么下的它是无法解释自己为何会这样选择。下面展开来详解:
人与计算机运作机制不同,人眼会产生错觉,看到由些静态图片会感觉在旋转如下图,而计算机不会。
人容易产生联想,专业术语叫空想性错视,而计算机不会。如下图,人类看到可以很容易知道这个垃圾桶上画的是个笑脸表情,而计算机只会识别出这是个垃圾桶,笑脸这个联想并不会触发。
人以3D的方式理解世界,而计算机不会。如下图我们会感觉这是有个洞,大黄蜂要掉下去了。但是从计算机视觉来看,这就是个平面的图片。
以上难点也是计算机与人类的理解差异/语义鸿沟。图像理解最大困难在于捕捉不变性,那么人类是如何解决这些问题的呢?
应对难点——统计学习
统计学习针对不变性,利用概率建模去解决不确定性问题。假设输入数据为x,得到的结果为y,y关于x的概率p(y|x),使得y*=arymax(p(y|x)),y*为y的最好呈现结果,称为最大似然。
四.计算机视觉三大原则:
局部性:比全局更容易复现且采样更好。
层次性:递进、组合
几何特性:分为朝向和空间两大特性
五.计算机视觉两大里程碑:
视觉词袋模型
卷积神经网络
六.传统方法与数据结构
传统方法流程:
局部特征检测(抽取局部特征)
量化为视觉单词(码本的建立)
图像级别的表示(输出)
下面详细展开:
首先是局部特征抽取的重要思想——梯度,即变化率。通过像素差异选择最重要的信息,由此捕捉不变性。
第一步局部特征检测方法有DOG、MSER、Dense Sampling等等,想要了解的小伙伴可以自行百度。
特征提取后就要用向量表示,即特征描述子,一般采用SIFT方法。
特征检测完毕后进入第二步建立码本字典,这里利用Kmeans聚类方法进行分类。
聚类也分以下三种方法:
硬量化,即在聚类中离得最近直接确认唯一特征,这样容易产生量化误差;
采用软量化,离得近的若干个产生联系解决大部分丢失问题。
引入高阶特征
到了第三步图像级别的表示,判断语义信息,通常为分类与检索。
传统方法的局限性在于手工设计太多限制模型进而逐渐被深度学习取代,但其遗留下的思想仍然在深度学习中延续,如局部特征演化为卷积网络,SVM思想延伸出全连接层...对深度学习仍然有很大的借鉴意义。
- 点赞
- 收藏
- 关注作者
评论(0)