vlambda博客
学习文章列表

图像识别问题的挑战及数据驱动过程


图像识别任务面临着诸多挑战, 这使得它自计算机视觉领域1966年诞生以来就成为一个十分活跃的子领域. 本文将简要讨论图像识别问题的挑战以及为了应对这些挑战而使用的数据驱动过程.


1. 图像分类问题的挑战

虽然从图像中识别一个对象对人类来说非常的简单, 但图像识别对计算机来说是一项极具挑战性的工作. 在计算机内, 图像是由一个很大三维数组表示的. 比如一张 1024 * 768 的图像, 它拥有R, G, B三个分量,  因此, 这张图像有 1024 * 768 * 3 = 2,359,296 个像素, 每个像素是一个0(黑)到255(白)之间的整数. 


这种现象, 称为语义鸿沟. 图像分类的任务是将这两百万个数字映射到一个标记, 比如``猫''.

除了语义鸿沟之外, 图像识别还有其他的一些挑战, 见上图: 

- 视角变化. 一个相同的目标相对摄像机可以有不同的朝向.
- 尺度变化. 不仅是占据图像的相对大小, 目标在真实世界的大小也会发生变化.
- 形变. 许多目标并不是刚体, 有时会有很极端的形变.
- 遮挡. 目标可能被遮挡, 因此只有一小部分是可见的.
- 光照改变. 光照会对像素值的大小产生巨大的变化.
- 背景融合. 目标可能会和背景混为一体, 使得它非常难以被认出.
- 类内变化. 相同类的不同个体之间可能会变的完全不同.

2. 数据驱动过程

我们该怎样写出一个算法对图像进行分类呢? 和写出一个排序算法不同, 我们不知道如果通过指定一系列识别规则的方法来识别图像中的目标并且能应对上述的这些挑战. 回想我们人类能对图像内容进行有效的识别, 是因为我们之前已经积累了许多经验, 通过对经验的利用, 从而对新情况做出判断.

在计算机系统中, 经验通常是以数据的形式存在. 我们将提供给计算机每个类别的许多实例(examples), 它们组成了训练集(training set), 利用学习算法(learning algorithms)从训练集中产生分类器(classifier)}或模型(model). 在面对新情况时(例如看到一张以前未出现的图像), 模型会提供相应的判断. 这个过程, 叫做数据驱动过程.

声明:部分内容来源于网络,仅供读者学术交流之目的。文章版权归原作者所有。如有不妥,请联系删除。