社区计算机视觉课程文档
视觉
并获得增强的文档体验
开始使用
视觉
我们大多数人都知道阳光是地球生命得以维系的原因,但你是否曾想过这如何塑造了我们的生活?首先,地球上几乎所有生物都有某种方式来感知它(甚至一些细菌和单细胞生物)。人类也拥有这种能力,但我们有一个更复杂的系统来与光线互动。我们通过晶状体捕捉光线,然后光线在我们的眼睛中发出电信号,该信号通过缆线般的结构(我们的神经系统)传递,然后在我们的大脑中重建该信号,告诉我们周围环境的样子。
这个过程就是我们所说的视觉。它是我们进化的一个基本步骤。它如此重要,以至于科学家们提出假说,认为中枢神经系统(最终导致我们拥有大N)的发展紧随视觉的出现。这很有道理,如果没有捕获如此大量信息的传感器,为什么要浪费资源来制造开发它所需的机器呢?
视觉对人类的重要性

如果你曾不假思索地踢过球,你的大脑会在瞬间无意识地执行无数任务。它正确识别球,跟踪其运动,预测其轨迹,计算球到达你所在位置的速度,预测你脚的轨迹,调整击球的力度和角度,并从你的大脑向你的脚发送信号以改变其位置。将图像作为输入(在这种情况下,是视网膜捕捉到的信号)并将其转化为信息(踢球)是计算机视觉的核心。我们将在下一章详细介绍这一点。
令人震惊的是,我们不需要任何正规教育就能做到这一点。我们日常做的大多数决定都不需要上课。没有“心算101”能估计踢球所需的脚力。我们是在成长过程中通过反复试验学到的。而有些人可能根本就没学会。这与我们构建程序的方式形成了鲜明对比。程序大多是基于规则的。
让我们尝试复制我们大脑所做的第一个任务:检测图像中是否存在一个球。一种方法是定义什么是球,然后在图像中穷尽地搜索。定义什么是球实际上很困难。球可以小如网球,也可以大如悠波球,所以尺寸帮不了我们太多。我们可以尝试描述它的形状,但有些球,比如橄榄球,并不总是完美的球形。也不是所有球形的东西都是球,否则泡泡、糖果,甚至我们的星球都会被认为是球。

纯编程方法 vs 机器学习方法
我们可以暂时定义为“球是一种用于运动或玩耍的球形物体”。这看起来很正确,但我们又遇到了另一个问题。你怎么知道他们在进行体育运动?你用什么来检测他们在进行体育运动?如果是一只狗带着一个球呢?那不是球吗?如果是一个球自己在那儿,没有人,也没有运动呢?那羽毛球呢?它是一种我们用来玩的,不完全是球形的物体,但我们不认为它是球。所有这些细微差别加起来,使得人类无意识解决的一个简单问题,已经很难分解成简单的规则了。
我们自己知道这些事情。这种隐含的理解来自于我们多年来构建的关于球是什么样子的心理图像。虽然羽毛球不符合球的心理图像,但很难解释为什么。这不仅仅是因为它的大小或羽毛。有类似大小的球,即使我们用羽毛覆盖一个球,我们仍然会把它识别为球。

所有这一切都是为了向你展示,我们区分物体的能力超越了严格的定义;我们经常从相关概念中进行概括,并依赖于上下文线索。当一个熟悉的概念呈现出不同的形式时,我们仍然可以毫无明显不适地识别它——这种能力对我们来说是自然的。然而,它并非固化在由僵化、硬编码规则所支配的系统中。
这强调了对更强大系统的必要性——这些系统能够适应各种场景。这就是为什么这个领域与人工智能如此密切相关。视觉是情境丰富的,我们需要能够像我们一样利用这些线索的模型。
以印第安纳琼斯被一块巨石追赶为例。有一个球,也有人在跑,但很少有人会称之为一项运动!我们之所以知道这一点,是因为我们依赖一些上下文线索。印第安纳琼斯逃跑的那个球看起来很重,有他两倍大。他的脸上流露出痛苦。空间非常狭窄,看起来像一个洞穴,这对于体育运动来说很不寻常。此外,我们认出了他的服装,那通常不是运动员的穿着方式。
创建能够模拟人类视觉和认知的AI系统的动机
尽管输入和输出相似,但人类视觉和计算机视觉是不同的过程。有时它们会重叠。然而,计算机视觉主要关注开发和理解视觉系统中的算法、模型及其决策。它不限于创建复制人类视觉的系统。它可用于人类来说过于繁琐、耗时、昂贵或容易出错的问题。我们的球的例子仍然很简单,你可能认为它不是很有用。然而,能够跟踪球的模型可用于体育赛事,在比赛中提供更快、更公平的判决。随着图像到文本和文本到语音模型的普及,我们还可以通过自动跟踪球及其球员并实时描述,使视力障碍人士更容易观看体育直播。因此,即使是简单的用例也能对社会产生积极影响。我们将在第3节中详细讨论这一点。
我们正处在人工智能复兴的边缘。这是一个我们可以自由训练、部署和共享模型,并且我们的模型能够检测到我们自己看不到的图像中事物的时刻。
计算机视觉的极限也得到了拓展。我们现在可以从文本生成图像,从图像生成描述性文本。而且我们可以在智能手机上做到这一点。计算机视觉应用无处不在。可能性等待我们探索,这正是我们将在本课程中要做的事情。
我们欢迎您进入计算机视觉领域。请入座。享受这段旅程。它将是令人惊叹的。
< > 在 GitHub 上更新