课件为本人上计算机视觉这门课的时候进行的翻译 因为翻译水平有限可能会有部分翻译错误 如需原始课件请联系博主
下载地址:
ppt :https://download.csdn.net/download/baidu_31657889/11057200
笔记和课后作业: https://download.csdn.net/download/baidu_31657889/11057207
计算机视觉可以定义为从数字图像中提取信息的科学领域。从图像中获得的信息类型可能与识别、导航空间测量或增强现实应用程序不同。
另一种定义计算机视觉的方法是通过它的应用。计算机视觉正在构建能够理解图像内容并将其用于其他应用程序的算法。我们将在第4节中详细介绍应用计算机视觉的不同领域。
计算机视觉的起源可以追溯到麻省理工学院的一个本科生暑期项目,在1966年[4]。当时人们认为计算机视觉可以在一个夏天解决,但是我们现在有一个50年历史的科学领域,这个领域还远未得到解决。
图一:(外黑) 物理学 生物学 心理学 计算机科学 数学 工程学
(内红) 光学 图像处理 语音,神经语言学 机器人 机器学习 信息检索 系统,建筑学 算法,理论 认知 神经系统科学
计算机视觉处于多学科交叉领域
计算机视觉集合了大量的学科。神经科学可以通过首先理解人类视觉来帮助计算机视觉,我们将在第2节中看到这一点。计算机视觉可以看作是计算机科学的一部分,算法理论或机器学习对于开发计算机视觉算法是必不可少的。
在本课程中,我们将展示图1中的所有字段是如何连接的,以及计算机视觉如何从这些字段中获得灵感和技术。
计算机视觉已经有50年没有得到解决,并且它仍然是一个非常困难的问题。这是我们人类无意识地做的事情,但这对电脑来说真的很难。
作诗比下棋难 1997年,IBM超级计算机“深蓝”首次击败世界象棋冠军加里·卡斯帕罗夫。今天,我们仍在努力创造出能输出结构良好的句子的算法,更不用说诗歌了。这两个领域之间的差距表明,人类所谓的智力通常不是评估计算机任务难度的好标准。深蓝通过暴力搜索在数百万种可能性中获胜,并不比卡斯帕罗夫更聪明。
视觉比三维建模困难 今天,要建立一个精确到毫米的物体三维模型比建立一个能识别椅子的算法要容易得多。目标识别是一个非常困难的问题,虽然我们正在接近人类的准确性。
为什么如此之难? 计算机视觉是困难的,因为像素和意义之间有很大的差距。计算机所看到的200×200 RGB图像是一组120,000的值。从这些数字到有意义的信息是非常困难的。可以说,人类大脑的视觉皮层解决了一个同样困难的问题:理解投射在视网膜上并转化为神经元信号的图像。下一节将展示研究大脑如何帮助计算机视觉。
解决计算机视觉的第一个想法是理解人类视觉是如何工作的,并将这些知识转移到计算机上。
无论是电脑还是动物,视觉可以归结为两个部分。
首先,传感设备从图像中获取尽可能多的细节。眼睛会捕捉来自虹膜的光线,投射到视网膜上,视网膜上的特殊细胞会通过神经元将信息传递给大脑。摄像机以类似的方式捕获图像并将像素传输到计算机。在这一部分,相机比人类更好,因为他们可以看到红外线,看得更远或更精确。
第二,口译工具必须处理信息并从中提取意义。人类的大脑在大脑的不同区域用不同的步骤来解决这个问题。计算机视觉在这一领域仍然落后于人类。
1962年,Hubel & Wiesel[3]试图通过记录神经元,同时给猫看明亮的线条来理解猫的视觉系统。他们发现,只有当这条线位于视网膜上的某个特定位置,或者它有特定的方向时,一些特定的神经元才会被激活。
他们的研究开启了理解人类视觉系统的科学之旅,这个系统至今仍然活跃。
由于他们的工作,他们在1981年被授予诺贝尔生理学和医学奖。宣布之后,Hubel博士说:
有传言说大脑无法理解自己。这就好比一个人试图靠自己的力量提升自己。我们认为这是无稽之谈。我们可以像研究肾脏一样研究大脑。
速度:人类的视觉系统是非常有效的。由于识别威胁并迅速作出反应对生存至关重要,数百万年来进化完善了哺乳动物的视觉系统。
人类视觉系统的速度已经被测量到[7]到150ms左右,从一个正常的自然场景中识别出一个动物。图2显示了大约150ms后,大脑对动物和非动物图像的反应是如何分化的。
愚弄人类 然而,这种速度是以一些缺点为代价的。改变图像中不相关的小部分,如水的反射或背景,可能会被忽略,因为人类的大脑关注的是图像[5]的重要部分。如果信号非常接近背景,就很难检测和分割图像的相关部分。
上下文 人类总是使用上下文来推断图像的线索。先前的知识是最难融入计算机视觉的工具之一。人类使用上下文来知道在哪里聚焦图像,知道在特定位置会发生什么。环境也能帮助大脑补偿阴影中的颜色。然而,语境可以用来愚弄人的大脑
模仿鸟类并不会导致人类登上飞机。简单地模仿自然并不是学习飞行的最好方法,也不是最有效的方法。但是研究鸟类让我们理解空气动力学,理解升力这样的概念让我们能够建造飞机。(我们现在的飞机并不是像鸟那样可以煽动翅膀进行飞行的 而是学习鸟类飞行习惯之后进行改良出来的)
智力也是如此。即使在今天的技术下,模拟整个人类大脑来创造智能是不可能的,但这仍然不是达到这一目标的最佳途径。然而,神经科学家希望对视觉、语言和其他智力形式背后的概念有所了解。
我们可以把从计算机视觉图像中获得的信息分为两类:测量信息和语义信息。
在未知位置导航的机器人需要能够扫描周围环境来计算最佳路径。利用计算机视觉,我们可以测量机器人周围的空间,并绘制出它所处环境的地图。
立体相机像我们的两只眼睛一样,通过三角测量提供深度信息。立体视觉是计算机视觉的一个大领域,目前有很多研究试图在给定立体图像的情况下创建一个精确的深度图。
如果我们增加视点的数量以覆盖对象的所有边,我们可以创建一个表示对象[2]的3D表面。一个更具挑战性的想法可能是通过搜索这个纪念碑[1]的谷歌图像的所有结果来重建一个纪念碑的3D模型。
在抓取方面也有研究,计算机视觉可以帮助理解物体的三维几何形状,从而帮助机器人抓取物体。通过机器人的摄像头,我们可以识别并找到物体的手柄,推断出它的形状,从而使机器人找到一个好的抓取位置[6]。
在测量信息之上,图像包含大量的语义信息。我们可以给图像中的物体加上标签,给整个场景加上标签,识别人,识别动作,手势,脸。
医学图像还包含大量的语义信息。计算机视觉有助于根据皮肤细胞的图像进行诊断,例如判断它们是否癌变。
摄像头无处不在,上传到互联网上的图片数量呈指数级增长。我们在Instagram上有图片,在YouTube上有视频,有安全摄像头,有医学和科学图片……计算机视觉是必不可少的,因为我们需要对这些图像进行分类,使计算机能够理解它们的内容。以下是计算机视觉的一些非详尽的应用。
特效 形状和动作捕捉是像《阿凡达》这样的电影中使用的新技术,通过记录人类演员的动作使数字角色动起来。为了做到这一点,我们必须在3D空间中找到演员面部标记的准确位置,然后在数字化身上重新创建它们。
三维城市建模 用无人机在城市上空拍照可以用来渲染城市的3D模型。计算机视觉是用来将所有的照片组合成一个三维模型。
场景识别 有可能认出照片是在什么地方拍的。例如,地标的一张照片可以与谷歌上的数十亿张照片进行比较,以找到最佳匹配。然后我们可以确定最佳匹配并推断照片的位置。
人脸检测 多年来,人脸检测一直被用于照相机中,以获得更好的照片和对人脸的聚焦。微笑检测可以让相机在拍摄对象微笑时自动拍照。人脸识别比人脸检测更困难,但是以今天的数据规模,像Facebook这样的公司能够取得非常好的业绩。最后,我们还可以利用计算机视觉进行生物识别,使用独特的虹膜模式识别或指纹。
光学字符识别 计算机视觉最古老的成功应用之一是识别字符和数字。这可以用来读取邮政编码或车牌。
移动可视搜索 使用计算机视觉,我们可以使用图像作为查询在谷歌上进行搜索。
自动驾驶汽车 自动驾驶是计算机视觉最热门的应用之一。特斯拉(Tesla)、谷歌或通用汽车(General Motors)等公司竞相成为第一家生产全自动汽车的公司。
自动收银 Amazon Go是一种没有收银台的新型商店。通过计算机视觉,算法可以准确地检测出你买了什么产品,并在你走出商店时向你收费。
应用交互 微软的Kinect可以实时捕捉动作,允许玩家通过动作直接与游戏互动。
增强现实 目前AR也是一个非常热门的领域,多家公司都在竞争提供最好的移动AR平台。苹果在6月份发布了ARKit,它已经拥有了令人印象深刻的应用程序。
虚拟现实 VR使用的是与AR类似的计算机视觉技术,算法需要知道用户的位置,以及周围所有物体的位置。随着用户的移动,所有内容都需要以一种现实而流畅的方式进行更新。