机器视觉基础笔记(L1&2)
- 计算机视觉(本科) 北京邮电大学 鲁鹏
- 官方参考网站
- 作业参考cs131
Lecture1
- 机器视觉/cv,是一门交叉学科,涉及到了生物学,认知心理学,计算机科学,数学,工程学和物理学等。
- 什么是机器视觉?通过建立image和意义之间的桥梁。
- 我们发现人的视觉能力非常强,能够快速找到图片中的人,150ms就可以快速分开动物/非动物。
- 并且我们的视觉能力有一些长期进化形成的特点,例如“一起来找茬”的困难,因为我们视觉一般都是通过整体来感知,而忽略其中的一些细节。
- 以及我们对图像的常识会让我们认为同一个图片不可能出现两个同样的人。
- 会受到场景的影响来判断颜色的深浅/会讲静止的物体看成运动。动/没动
- 从图像中我们可以得到两种信息:1. 3D尺寸信息 2.语义信息
- 测量:应用场景非常丰富,包括无人驾驶,3D重构,
- 语义:场景中出现的事物,天空,摩天轮,人等。
- 为什么学习CV? 一图胜千言。
- 应用有如下:3D动画,3D城市建模,面部识别,虹膜识别,指纹识别,OCR,地图标记,机器人视觉,图片搜索,自动驾驶,自动识别和追踪,AR,VR,医学图像识别,测量,
- 参考如下内容:
CS131 Computer Vision: Foundations and Applications
CS231A: Computer Vision, From 3D Reconstruction to Recognition
[CS 543/ECE 549: Computer Vision http://slazebni.cs.illinois.edu/spring19/](CS 376: Computer Vision http://vision.cs.utexas.edu/376 spring2018/)
Lecture 2
鲁鹏老师在这堂课中讲解的内容清晰易懂,只需要简单的线性代数知识,即可进入该科的学习。
- 图像的分类:2值图,灰度图,彩色图
- 二值图,0黑,1白
- 灰度图,0黑,255白
- 彩色图,常规3通道,RGB
- 图像去噪:噪声给人感觉就是图像上有麻麻点点,图像上就是图片中的一些点和周围的指差异比较大。而去噪就是如果使得突兀的点变得平滑,那么有如下一些方法:
- 方框滤波:把下面的权重叫做filter kernel. 简单说:用如下的矩阵乘以图像中的(0-255),然后再除以总数。1a+1b+1c+1d…/9 = 中间的这个值。重复到整个图像,这个过程其实就叫在卷积。
- 卷积一些性质:线性,Shift invariance,任何线程变化都可以转化为卷积。
- 通过卷积有个麻烦在于,图像的边缘部分怎么处理,因为图像外一圈没有值,所以对最外圈实际上无法做卷积。所以才会有一些列的补偿方法。
- 通过上面的1/9(1,1,1,1,1,1,1,1,1)这种线性的filters,卷积之后,图像变得blur。因为出来的图像所有突出的点都被平均了,或者说原来”消失的那个边“。
- 那么假设原图为Original,经过平均的图叫Blur, Original - Blur = 消失的那个边。
- 那么用 (0,0,0,0,2,0,0,0,0) - 1/9 (1,1,1,1,1,1,1,1,1) = 2 - Blur = 1 + 1 - Blur = 1 + 消失的那个边 = 锐利增强
- box filter 有一个缺陷,因为本身是方形,经过过滤之后图像中形成一些横竖的条纹。
- To eliminate edge effects, weight contribution of neighborhood pixels according to their closeness to the center。简单说就是把盒子变成一个球就解决了。
- 那么在球这件事情上,二维的高斯图像肯定是没得跑。
- 高斯Kernel需要归一化,确保图像值整体不会变。
- STDEV.P 的值越小,数据就越集中。越大,就越smoothing。
- 同样对于固定的sigma,分割的各自越多,也会出现数据没有代表性/数据会更加分散。
- 所以一般情况下,设定filter的半宽度为3 sigma.// 统计学需要复习的内容
- 高斯过滤可以去掉一些高频的信息(高噪点)
- 连续两次高斯处理可以写成一次根号2*sigma;
- 把x,y的高斯处理分解成,x,y一维的处理,可以节省算力。
- Noise 一般有 Salt and pepper : 盐和黑胡椒(黑白都有),脉冲噪声(白色),高斯噪声(高斯normal distribution);
- 在处理高斯噪声的时候,大的σ可以抑制高斯,但是同时也使得图像变得模糊;
- 高斯filter解决不了前两种Noise;
- ** Median filtering** 成为更好的方法,取中位数,而不是平均数作为权重后的值。
- 中位数去噪声对于,SP,脉冲噪声都非常有用,同样数量大了,也会变得模糊。