华盛顿大学计算机视觉课程笔记(一)
课程的第一节,是一个综述性的课。对于这节课,我总结为以下几个问题:
(一)什么是计算机视觉;
(二)怎样实现计算机视觉(怎么让机器看懂图像)
(三)计算机视觉的应用有哪些。
那么首先解决第一个问题:什么是计算机视觉。
Computer vision is a field that includes methods for acquiring, processing, analyzing, and understanding images. ------------------------ Wikipidia
计算机视觉是一个包含图像获取、处理、分析和理解的一个学科。
那么计算机视觉的目的是什么呢?
The goal of computer vision is to make useful decisions about real physical objects and scenes based on sensed images.
计算机视觉是对图像进行处理、分析和理解,以此来对现实中的物体或场景得出有用的信息并且做出决断。
那么为了对现实物体和场景做出决断,那就必须要对图像中含有的信息进行建立描述体(descriptor)和建模(model),因此很多专家认为计算机视觉的目的是为了从图像(image)中提取出对场景(scene)的一个描述体(descriptor)。
所以这就得出了我们的第二个问题:怎么实现计算机视觉(怎么让机器看懂图像)
首先我得说一个题外话,计算机视觉这个学科是属于人工智能领域的,而人工智能的目的是让机器拥有和人类一样的能力,人工智能的一个典型的方法就是模拟人类的工作方式。计算机视觉也是如此,仔细思考一下,你的眼睛和大脑是如何理解图像,这对你理解计算机视觉的实现很有帮助。比如说在你的面前摆放着一台电脑,你是如何得出“这是一台电脑”的这个决断的呢?好好剖析一下你的思维,我想最明显的特征那就是键盘和屏幕,如果拥有这两个特征的物体就可以判断为电脑了,那么如何判断这个是键盘呢,那么很明显的就是它拥有如此排布方式的方格和上面的字母,所以识别一个键盘就是第一步要先识别出方格型(shape),然后在判断方格之间的排布方式(relationship),这大概就是键盘的排布方式,然后也可以通过识别方格里面的字母,这就是文字识别了(text recognition)那么屏幕呢,首先仍然应该是方格形状,但是要大的多,然后呢就是玻璃材质也就是纹理(texture)了。
以上的例子是我为了解释如何理解图像而想的一个例子,我并没有实际实现,而且实际实现多半也不是这样的,所以别太在意。
总结一下,由以上的例子可以说明,实现计算机视觉是可以划分成很多的子问题的,那么有哪些子问题呢,在文档中由如下总结:
Sensing:How do sensors obtain images of the world? How do the images encode properties of the world, such as material, shape, illumination and spatial relationships?
Encoded Information: How do images yield information for understanding the 3D world,including the geometry, texture, motion, and identity of objects in it?
Representations: What representations should be used for stored descriptions of objects,their parts, properties and relationships?
Algorithms:What methods are there to process image information and construct descriptions of the world and its objects?
以下是我自己翻译的:(仅供参考)
成像原理:光学传感器是怎样形成图片的,图片是怎样编码世界的一些属性,如材料,形状,光强和空间关系。
编码的信息:怎么从图像中推出用于理解三维世界的信息,包含几何信息,纹理信息,空间移动以及物体识别。
表示形式:如何来表示对物体以及它的局部特征,属性和相互关系(数据结构)
算法:处理图像信息和构建描述世界和物体特征的算法
但我认为维基百科里讲的对图像获取,处理,分析,理解这四个层次的划分更加准确。
讲完了计算机视觉的内容以后,接下来就是第三个问题计算机视觉的应用,应用全部来自课件。
应用一:数洞洞(hole counting)
如上述这个图,如何计算出图中有多少个洞(就是白色区域的个数)。这是一个工程师做出来的算法用来计算汽车横杆的螺栓洞的数量。他采用的方法是计算角点的数量,分为外角点(external Corner)和内角点(internel Corner)两种,下图是外角点和内角点的像素特征
然后使用公式(E-I)/4就可计算出洞洞的数量。至于原因就不解释,当然我认为在某些特殊情况下这是有问题的。
比如说这个图,交接点就成为这种形式,就不是角点,所以这图总共有六个外角点和零个内角点,但是有两个洞洞,不符合上述公式。当然这个问题有更好的答案,或者说我的答案是错的,请告诉我。
应用二:核磁共振成像分析
用到了二值化分析,将像素亮点强度高于某个阀值的设置为亮点,低于某个阀值设置为暗点,这样图像的对比度和纹理结构就可以很清晰的显示出来了。
应用三:扫描文字识别
比如说上述的手写体,自动的识别转成机器体。
应用四:通过卫星图像计算雪覆盖面积
通过计算卫星图像里面白色像素点的数量就可以计算出地上被雪覆盖的面积
应用五:理解三维结构和相对关系
通过理解三个部件的几何机构和相对位置关系,就可以把被遮蔽的信息给恢复出来,因为人是可以做到的,那么计算机就也可以做到。
应用六:基于内容的图片搜索
这个其实谷歌图片搜索很早就有了,之前的图片搜索都是用关键字去搜索,而更准确你可以输入一张图片,然后搜索出具有这个内容的图片。
找出还有树的图片
应用七:脸部检测和识别
转载于:https://www.cnblogs.com/cgjdemo/p/4101597.html
华盛顿大学计算机视觉课程笔记(一)相关推荐
- cs231n计算机视觉课程笔记
P2 目标识别 PASCAL 数据集 一个ImageNet(1500w-4000w.22000类) P3 2012: AlexNet 7-8 层 2014:VGG网络 19层 2015:残差网络152 ...
- 斯坦福大学计算机视觉课程cs231n——第一课:课程介绍 计算机视觉概述
什么是计算机视觉?计算机视觉,顾名思义,就是针对视觉数据的研究.在我们的世界,过去短短几年里视觉数据爆炸式增长到夸张的地步.基于一项2015年的研究,预计到2017年,互联网上80%的数据都是视频 ...
- Coursera华盛顿大学机器学习课程总结
一.基础导入课程 1.回归:房价预测 2.分类:亚马逊商品评价分类 3.检索:wikipedia文章检索 二.回归 模型:线性回归.L1/L2正则化回归.最近邻回归和核回归 算法:梯度下降.坐标下降 ...
- (计算机视觉课程-笔记1)图像边缘检测
图像边缘检测 1. sobel 算子 Sobel算子是一种常用于图像处理和计算机视觉中的边缘检测算法.它用于识别图像中的边缘区域,即图像中灰度值发生剧烈变化的地方.Sobel算子基于图像的灰度梯度,通 ...
- 大学操作系统课程笔记
第一章 操作系统引论 1.什么是操作系统? 操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他 ...
- 机器学习入门的绝佳材料:斯坦福大学机器学习课程原始讲义(含公开课视频)
斯坦福大学机器学习课程原始讲义 本资源为斯坦福大学机器学习课程原始讲义,为 Andrew Ng 所讲,共计20个PDF,基本涵盖了机器学习中一些重要的模型.算法.概念,此次一并压缩上传分享给大家,朋 ...
- 斯坦福大学机器学习课程原始讲义 + 公开课视频
斯坦福大学机器学习课程原始讲义 + 公开课视频 斯坦福大学机器学习课程原始讲义 本资源为斯坦福大学机器学习课程原始讲义,为 Andrew Ng 所讲,共计20个PDF,基本涵盖了机器学习中一些重要的 ...
- 斯坦福大学李飞飞团队图像分类课程笔记
斯坦福大学李飞飞团队图像分类课程笔记 Stanford image classification course notes 这是斯坦福CS231n课程图像分类基础知识. 目标:这一节先介绍图像分类基本 ...
- Yann Lecun纽约大学《深度学习》2020课程笔记中文版,干货满满!
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! [导读]Yann Lecun在纽约大学开设的2020春季<深度学习>课 ...
最新文章
- javascript图片浏览器的核心——图片预加载
- 9月29日,访问量4200,留个脚印
- SAP制造业解决方案
- 【机器学习基础】一文看透多任务学习
- ITK:计算梯度各向异性扩散
- 简述ajax的优缺点
- 2021年高考成绩查询贵州分数线,2021年贵州省高考分数线
- NDK 开发实战 - 封装 java 层 sdk 模型
- [机器学习笔记] Note3--多变量线性回归
- C语言中float,double类型,在内存中的结构(存储方式).
- python 生成器装饰器_对Python生成器、装饰器、递归的使用详解
- Atitit 图像处理知识点体系知识图谱 路线图attilax总结 v4 qcb.xlsx
- java小数正负数据类型_Java - day001 - 8种基本数据类型
- win10下安装numpy
- 半导体芯片产业链公司大全
- 组装台式计算机的部件,组装台式电脑的配置清单
- 如何将Nios II硬件和软件合成一个文件(NIOS II)烧进EPCS falsh
- aspcms首页content内容html代码过滤,ASPCMS用百度编辑器JS/html代码(script标签)被过滤的解决办法...
- 如何编译 cm12 (for 一加手机)
- 腾讯词向量下载链接(Tencent_AILab_ChineseEmbedding.txt)