Advertisement

Computer Vision(C. Rasche)计算机视觉 论文解读(1 Introduction)

阅读量:

摘要
本摘要概述了计算机视觉领域的核心内容和应用方向。首先介绍了计算机视觉的基本概念及其与人类视觉系统的区别,并强调了其在图像处理和模式识别中的重要性。接着描述了深度学习在该领域中的兴起及其对传统方法的推动作用。随后列举了多个实际应用领域,包括医学成像、自动驾驶安全和监控系统等,并详细说明了从图像采集到最终决策的完整流程。此外,还提到了用于实现这一流程的主要编程语言及其工具包,并提供了进一步学习的资源推荐。最后以两个研究问题为例,引导读者深入理解这一领域的挑战和机遇。
摘要长度:约150字

摘要
本摘要概述了计算机视觉的核心概念和发展历程及其广泛应用领域。首先介绍了该领域的定义及其与传统机器视觉和模式识别的区别;接着探讨了深度学习如何推动该领域的发展;并列举了多个实际应用场景如医学成像、自动驾驶等;最后详细描述了从图像采集到决策的整体流程,并推荐了一些有用的编程工具和资源以供进一步学习。
摘要长度:约150字

摘要
本摘要简要概述了计算机视觉的主要内容和发展趋势。首先介绍了该领域的定义及其与其他相关技术(如机器视觉)的区别;接着讨论了深度学习在其中的作用及带来的创新;并列举了一些典型的应用场景如自动驾驶、医学成像等;最后总结了解决实际问题所需的完整流程及所需的技术工具。
摘要长度:约150字

此摘要涵盖了原文的关键点并保持简洁明了。

目录

Abstract

1 Introduction

1.1 Realted Fields

1.2 Recognition - An Overview

1.3 Areas of Applicaiton(Examples)

1.4 Organization of a Computer Vision System

1.5 Historical Note

1.6 From Development to Implementation

1.7 Reading

1.8 Exercises


Abstract

首先对若干基础的特征提取方法进行了概述随后阐述了那些 infamous 的深度神经网络这些架构在实现各类复杂任务中扮演着关键角色接下来本研究将重点探讨基于梯度直方图的方法及其在目标检测与图像检索方面的应用它们构成了该领域许多核心方案的基础之后本节将介绍一种基于滑动窗口技术的目标检测方法这种方法特别适用于人脸与行人的检测它通过遵循图像处理技术中的分割与形态学操作进一步完善检测效果随后我们将详细探讨一系列针对区域与运动物体的基本跟踪方案这些方案能够有效应对动态场景中的目标追踪问题最后我们将通过Matlab平台对上述各种算法进行深入研究并提供完整的代码实现框架以方便读者直接上手实践其中包含Python版本的具体实现细节并附有详细的代码注释这样读者无需具备专门的技术背景即可顺利掌握相关理论知识但若想充分发挥这些算法的优势则需具备线性代数信号处理与模式识别等基础知识以获得更好的实验效果

先决条件推荐 基本编程技巧; 对于写很多代码的热情

建议 基本统计模式识别,基本线性代数,基本信号处理

1 Introduction

计算机视觉专注于解析图像内容的技术领域。 它主要关注整体图像的分类工作。 例如,在用于识别并分类来自社交媒体平台(如Facebook和Instagram)的照片系统中就体现了这一特点。 此外,在识别图像中的物体方面也有广泛应用。 如在面部识别和车牌号检测方面取得显著进展(包括Google Street View)。 同时,在生物医学成像中用于检测癌症等图像是其重要应用领域之一。

Origin

与之相反的是,计算机视觉领域聚焦于一系列具体的应用场景,在第1.2节中将对其具体内容进行详细阐述。这些应用场景有多种不同的实现方案,并各自都有各自的优缺点。在过去的几十年里,已有大量应用程序在第1.3节进行了介绍,在其中某些系统已经超越了人类观察者的性能——例如人脸识别、字母识别以及基于交通移动能力的开发(如自动驾驶车辆)。尽管如此,计算机视觉系统的目标至今仍未完全实现——这一现象本身就令人深思。可以说这已是计算机视觉领域的中心论点。

Frontier

特别是在过去几年里, 计算机视觉借助深度学习这一先进的技术手段, 展开了快速发展的新阶段, 这一技术能够有效地处理大量图像数据, 推动了相关领域的技术发展。 这也是为何我们在深入学习前先回顾传统方法的原因, 也就是因为我们想通过回顾经典方法为后续的学习打下坚实的基础。 接着我们采用了在深度学习兴起之前就已经流行的特征提取与匹配技术, 即特征提取和匹配(第六章至第七章)。 随后我们回归到传统的图像处理手段, 即传统技术(第九章)。 我们还提到了计算机视觉领域中最神秘而具有挑战性的领域之一——形状识别(第十章),这个挑战主要体现在如何从原始数据中自动解析物体的形状信息。

1.1 Realted Fields

有一些领域与计算机视觉相关联,在其中两个领域的紧密关联下形成了独特的研究方向——图像处理与机器视觉;然而这些领域在某种程度上存在重合其名称有时被用作同义词。 尽管缺乏明确的定义以及清晰的区别但在此处我们还是尝试进行了区分:

图像处理 涵盖图像的操作包括其变换和其他调整(manipulations),其目的是为了突出显示图像的关键特性(key aspects)。例如,在提升对比度方面,在识别边缘的同时还包括对细节纹理和图案等基础元素进行提取(enhancement)。相比之下更为注重更高层次的信息解析及其在识别中的应用(interpretation)。

机器视觉 专注于集成多种先进技术,在工业生产中实现图像分析与理解、过程监控以及机器人辅助操作。该系统一般包含以下关键特性:

1)能够在均匀背景中观察到物体,并将其视为"受控情形"。
2)目标通常具有有限的结构变化性,在某些情况下仅需识别单一的目标对象。
3)在三维空间中确定的具体方向是值得关注的重点。

在收费站进行汽车牌照的检测与读取是一种较为受限的情况。相比之下,在GoogleStreetView中进行汽车牌照检测是一种在较低程度的变化中识别目标对象的情况。

还有两个与Computer Vision重叠的领域:

作为机器学习领域的重要组成部分,模式识别主要专注于通过算法实现对数据进行有效分析与理解的任务。构建高效准确的计算机视觉系统需要深厚的分类方法基础。其中,在图像分类问题上往往占据核心地位。目前深度神经网络在模式识别领域依然表现出色(第5节)。本课程将仅限于概述几种基本的分类器及其应用方法。

计算机图形学有时被视为属于计算机视觉的重要组成部分之一。
这一学科的主要目标是尽可能紧凑而有效地呈现对象和场景; 然而目前这一领域尚未获得任何形式的正式认可。

1.2 Recognition - An Overview

我们首先阐述了三个关键的识别环节及其所面临的挑战。接着我们探讨了其他可能的识别目标。

分类(Classification) 是一种方法学概念,在机器学习领域被广泛应用。它通过建立特征与标签之间的映射关系实现对新样本的分类判定过程。具体而言,在实际应用中我们通常会为每个类别建立特定的判别标准和识别规则,并基于这些标准对未知样本进行归类处理。然而,在实际应用中由于类别间的固有属性存在差异以及外部环境条件的变化等因素的影响使得单纯依据类别来进行区分可能会导致分类效果不理想因此我们需要设计更加灵活多样化的分类策略以提高模型的泛化能力

识别(Identification) :单个实例的对象识别过程本质上是一种分类技术(如前所述),其主要困难在于区分数值极小的结构差异。具体案例包括但不限于:人脸识别系统、指纹认证装置以及特定车辆的独特标识系统。

检测(Detection): 通过搜索图像来识别特定对象类别、特定对象实例或根据特定条件进行测试;计算目标出现次数。 挑战在于设计一个高效的搜索方案(无论其规模如何),确保能够找到目标:无论其规模如何(无论其覆盖整个图像还是仅一小部分),都可以找到目标:目标是否覆盖了整个图像? 或者它很小且难以检测? 例如,在人脸识别系统中进行应用;在智能交通管理系统中用于检测车辆;在医学成像中识别异常细胞或组织。

在文献中,术语对象识别一般指这些不同组合形式 - 有时候它仅涉及这三个过程中的一个.

以下是一些其他常见的识别任务:

运动分析(Motion Analysis) 是一种涉及研究物体运动的技术。对于检测目标而言,人们通常对其运动表现感兴趣这被称为跟踪过程。另一方面也可以通过这一技术来进行特定类型的目标识别工作在这种情况下它被视作识别任务的基础方法。

在检索过程中(Retrieval),我们基于特定的标准对图像进行排序。举例来说,在输入白玫瑰后(image input),系统会返回20张最相似的图片(similar images)。排序依据是通过某种(comparative mechanism)来确定的(sorted based on)。这个过程类似于分类或识别过程中的比较方法(comparative methods in classification or identification processes)。

姿态估计(Pose Estimation):识别物体或目标相对于摄像机的具体姿态或朝向。例如:使机器人手臂通过生产线上的传送带抓取物品或从箱子中取出部件。

1.3 Areas of Applicaiton(Examples)

以下列表涵盖了迄今为止应用计算机视觉技术的所有地方;此外, 该列表还包括图像处理和机器视觉的应用内容, 因为这些领域的相关性。

医学成像(Medical Imaging):

在自动驾驶领域中实现安全(Automative safety)的过程中,主要关注的是通过交通标志识别技术,在雷达或激光雷达等主动视觉技术出现故障时对街道上行人及其他潜在威胁进行检测和识别。

监控(Surveillance): 监测入侵者,分析公路交通,监测溺水受害者的水池。

手势识别(Gesture recognition) :解析符号级语音中的手勢标记,并提供适用于人机交互及电话会议的应用场景。

指纹识别和生物识别(Fingerprint analysis system and biometric authentication technology) :支持自动身份验证和证据采集程序的应用。

可视身份验证(Visual authentication) 是一种技术手段,在家庭成员使用网络摄像头时会被用来自动识别其信息特征并将其数据上传至家庭计算机。

机器人(Robotics)系统:识别并解析环境中的具体物体。通过基于视觉的反馈机制精确控制机器人的运动以实现预定动作。

制图(Cartography) :从照片制作地图,合成天气图。

**雷达成像(Radar Imaging)**作为现代雷达技术的核心理论基础,在航空领域发挥着关键作用。它不仅为直升机与飞机着陆提供精确导航支持,在遥控飞行器(RPV)操控方面也展现出显著优势;此外在军事领域,则通过提供导弹及卫星的视觉辅助信息而发挥战略侦察作用。

遥感(Remote sensing):利用多光谱成像技术获取卫星影像,并结合气象要素预测模型对天气状况进行评估;同时用于城镇规划、农业生产以及生态区域的分类与监测研究。

机器检查(Machine Inspection) :用于检测零件缺陷及故障的技术:通过立体视觉技术实现对零件的快速质量检验;采用专用照明设备对飞机机身和车身零部件进行尺寸测量;或者借助X射线成像技术识别钢制部件中的缺陷;在装配线上完成对各零部件的身份确认。

以下是一些常规的图像处理技术和模式识别方法能够应对的具体任务案例,其原因在于这些技术在现有技术框架下具有一定的局限性:

光学字符识别(OCR):通过辨识打印文本或手写图像中的字符实现编码功能,在便于编辑或索引(如ASCII编码)方面具有显著优势。 例如,在邮件处理中可识别信封上的邮政编码,在自动车牌识别系统(ANPR)中可读取车辆号牌,在零售业可执行条码读取以完成价码清点,在金融领域则主要用于支票分拣等操作。

二维码读取(2D Code Reading) :读取二维码,如数据矩阵和二维码。

1.4 Organization of a Computer Vision System

计算机视觉系统架构的构成往往受到具体应用场景的影响,在这种情况下,并不存在一种普适性的识别方案。为此,在相关文献中通常会列举一组用于描述识别过程各阶段的术语;这些术语并非严格按照上述顺序排列,并且有时难以明确区分它们之间的界限。值得注意的是,在前两个阶段明显属于图像处理相关领域;随后三个阶段(编号3至5)则构成了计算机视觉的核心内容——通常被形象地称为"核心部分"或"关键环节"。最后一个阶段(编号6)基本上对应于模式识别技术的发展方向。

1) 图像采集(Image Acquisition):通过一系列传感器获取外部信号并生成相应的数值图像(一种代表该信号的空间分布)。文中涉及多种相机及相应的测量技术(参见附录A)。

2)图像处理(Image Processing):对原始图像进行前期处理是为了便于后续特征提取。这可以通过提升对比度来实现;同时构建多尺度的空间表示以在适当局部尺度上增强图像结构信息。

3)特征提取(Feature Extraction) 是通过图像获取特定信息(特征)的过程,在后续分类中发挥重要作用。 这些典型特征包括线条、边缘、斑点和角落等;更为复杂的特征则可能涉及纹理、形状或运动。

4)检测/分割(Detection/Segmentation)

5)高级处理(High-level Processing):在这一阶段中作为输入的一组数据通常是点或其他特定对象的图像区域等信息集合。其中还包括以下内容:

  • 检查数据是否符合基于模型及特定应用场景的假设。
  • 估算程序中关键参数值(如物体姿态与尺寸)。
  • 在图像识别过程中将检测到的对象被分类至不同的类别。
  • 对于图像配准任务而言,则需要对两个不同视角下的同一目标进行配对处理。

6)决策(Decision Making) :做出应用程序所需的最终决定,例如:

- 执行程序对应用程序状态进行评估
- 辨识程序在应用内部识别匹配项或非匹配项
- 设置人体审查标志以确保在多个领域如医疗、军事、安全及身份验证应用中执行 thorough inspections.

1.5 Historical Note

在计算机视觉的初期阶段, 认知框架被视为一个系统工程, 主要从二维图像逐步构建空间三维布局的过程, 这一过程经过精心设计以反映认知规律. 这些分类在相关章节中得到详细阐述(见第1.4节). 显然这一传统体系存在明显局限性, 因此近年来研究者们已开始转向更为有效的解决方案, 如深度学习模型及其基于图像块匹配的方法代表了当前的主要研究方向. 在这些新方法中, 经典的技术如边缘检测与图像分割虽然仍具重要价值, 但在实际应用中表现欠佳. 另一方面, 相关领域的教材普遍采用了传统的层级划分方式: 比如Forsyth与Ponce所著教材仍然沿袭低/中/高级认知层次的划分框架; 而Szeliski等人的著作则集中于基于特征匹配的新一代方法, 但其理论体系仍包含大量经典的图像分割相关内容. 不过值得注意的是, 目前还没有一本系统性著作全面介绍最新的深度学习分类方法. 因此我们将首先介绍这一主题(第5节)

1.6 From Development to Implementation

一般情况下,在软件开发中采用更高效率的编程工具。
开发系统的流程通常由更高效的语言主导。
当进入测试阶段后(即完成验证与调试),项目团队需要将系统转换为底层兼容的语言。
为了提高性能需求的响应速度和数据处理效率,在编译阶段可选择使用如Cython、C++甚至C等高效语言。

Matlab (http://www.mathworks.com/)非常适合用于原型设计研究(prototyping),这是因为其设置(configuration)极为紧凑——这可能是实现最丰富功能与指令集合的最佳选择之一。 Matlab还提供了功能极为丰富的图像处理工具包(toolbox),然而即使不依赖现有工具包也能进行有效管理——我们的代码库提供了大量参考代码。 过去几年中 Matlab还不断扩展其计算机视觉相关的产品线——目前我们拥有一个日益壮大的计算机视觉相关产品组合。 通过查看官方文档或使用帮助指令(help)能快速获取该软件的功能与指令详情信息。 建议以官方文档中的图像处理模块开始学习会事半功倍

Octave 和 Rhttps://www.gnu.org/software/octave/https://www.r-project.org/)基于这些资源。 为了训练目的,并非唯一的选择——同时还可以使用 Octave 和 R 这些软件包。 其中大多数功能与 MATLAB 的名称一致。

Pythonhttps://www.python.org/)以其地位而言,在当今编程语言中占据主导地位。相较于MATLAB,在语法复杂程度上有所提升的同时,在图像显示功能上却略逊一筹。其优势在于能够较为便捷地与那些适用于移动设备应用开发的其他编程语言无缝对接;而MATLAB则面临着这一挑战的巨大困难。在初始化流程上,《《》》其系统性更为完善;而数据类型(整数、浮点数等)的操作相对来说更为繁琐,《《》》这也导致整个程序代码量较MATLAB版本有所增加。

Python确实让人感觉有些复杂的地方在于它有各种各样的发行版之间存在显著的功能差异。 如果希望从Matlab无缝转向Python的话, Anaconda/Spyder版本通常被认为是相对容易上手的一种, 它能够实现我们在该脚本中所引入的各种功能。

我强烈推荐安装Python 3.5.1版本。该版本还包含名为TensorFlow和Keras的软件包及其相关工具包。TensorFlow被广泛用于训练深度神经网络(见第5节)。Keras则是相应的高级接口。 newer versions of Python 3.6未包含TensorFlow(截至2017年8月)。

您若需在各种高级编程语言间转移,则可获取该指南:http://mathesaurus.sourceforge.net/matlab-python-xref.pdf。

在文中所述内容中涉及到被视为低层次的一种程序设计语言,并且在变量初始化与维护操作上需特别谨慎处理。 当您涉及视频处理工作时,请考虑将那些耗时较长的任务程序采用其中一种语言进行开发。

Cython:本质上与Python具有高度相似性,并提供了一种类似于C或C++的简洁方式来指定某些变量和过程以提高代码效率。通过几个关键因素能够进一步提升代码执行效率,并且它被包含在Anaconda发行版中(请勿将其与CPython混淆,后者是规范的标准Python实现)。

C++ 和 C:为了开发 C 或其扩展版(即 C++),我们只是指出在Web上存在许多基于计算机视觉的 C 库实例。其中最著名的例子之一是 wiki OpenCV(请参阅 https://opencv.org/)。这些库包含的许多函数程序通常可以通过导入它们轻松访问。安装时通常需要单独配置。

1.7 Reading

该教材由Sonka, M., Hlavac, V.,和Boyle R三位学者合著而成(Sonka et al., 2008)。全书内容涵盖计算机视觉领域的多个关键领域与概念(包括图像处理、分析以及机器视觉技术)。然而,在具体方法论部分的阐述较为简洁(见第3章至第5章)。尽管如此,在每章中均提供了深入的技术解析与应用实例(如图像增强与边缘检测等)。在纹理表示方面进行了详尽探讨,并通过大量实例展示了其在不同场景下的应用效果(本章重点讨论基于区域特征的方法)。微 dotenv虽然采用了略显偏向于经典的处理方式(即以统计学习理论为基础),但仍保留了传统方法的核心要素,并通过优化提升了计算效率(如采用稀疏表征技术以减少计算复杂度)。此外,三人合著却呈现出单著般的流畅度——读起来流畅自然而不显突兀。

Szeliski, R. (2011).Computer Vision: Algorithms and Applications. Springer.对图形与图像处理等多方面的内容进行了详尽且具有视觉吸引力的展示; 其中强大的阐述基于特征识别与配准,并采用仅依靠基本方程实现复杂的图像分割技术。附录部分简洁明了地阐述了矩阵运算与优化方法。

By Forsyth, D. and Ponce, J., published in 2010 in Computer Vision - A Modern Approach, Pearson Education, second edition.] The book provides a comprehensive exploration of key themes related to target objects, image features, texture classification and retrieval. It also includes numerous practical techniques for classifier handling. In tracking aspects, the text is equally thorough. The work emphasizes strong explanations of object detection methodology while adopting simpler image segmentation approaches. Compared to Szeliski's work, this text leans more towards practical application. It focuses solely on the use of feature extraction methods for image retrieval and classification descriptions.

该研究专著**Davies, E. R. (2012)**中主要关注于机器视觉领域(而非传统的计算机视觉领域),并提供了对各种方法优缺点的详细分析。本书不仅涵盖了不同兴趣点检测器的归纳总结,在这一方面具有超越其他著作的优势,并且特别深入探讨了视频监控技术和自动驾驶相关的视觉技术。

Prince, S. (2012). Computer Vision: Models, Learning, and Inference provides a comprehensive exploration of the topic. It is a highly statistics-focused book that originated from the foundational concepts of pattern recognition. The text includes recent commentaries on various computer vision themes.

Wikipedia 始终擅长检索定义、表达方式以及不同观点。 教科书有时也会引用维基百科页面。 然而维基百科的丰富性——源自不同作者的贡献——也是它的不足之处:难以仅凭单独一篇文章或网站全面理解整个主题。 尽管如此,维基百科毕竟是按照百科全书写作目的编写出来的。 因此,在这方面上仍无 substitute 替代者。

此外,在编写维基百科内容时, 不同的人可能会用不太直观的方式取代原本直观且清晰的插图. 因此最好直接复制高质量图像并粘贴到软件如Word中.

1.8 Exercises

以下两个研究问题应有助于加深我们对1.2节中介绍的识别过程的理解。

  1. 谷歌推出了独立软件"Google Goggles"这一实例来说明其在对象识别方面的应用。
  2. 它模拟了哪些具体的识别步骤?

现有某类零售场所采用了一种能自动识别购物篮中商品并完成结算的通道。 对于这类自动结账系统的应用范围和操作流程,请问您认为如何优化其中的个人身份识别环节?

3.自动驾驶汽车(例如特斯拉汽车)特别使用哪种类型的过程?

希望本文能帮助你在计算机视觉领域走得更远,学习得更加深入!

全部评论 (0)

还没有任何评论哟~