Marr的视觉计算理论立足于计算机科学,系统地概括了心理物理学、神经生理学、临床神经病理学等方面已取得的所有重要成果,是迄今为止最为系统的视觉理论。Marr 的视觉计算理论虽然在细节甚至在主导思想方面尚存在大量不完备的方面,许多方面还存有许多争议,但至今为止仍是广大计算视觉研究人员接受的基本框架。计算机视觉这门学科的形成,应该说与这一理论框架有密切的关系,下面我们从几个方面来描述这一理论框架。

  Marr 从信息处理系统的角度出发,认为视觉系统的研究应分为三个层次,即计算理论层次、表达(representation)与算法层次、硬件实现层次。

  计算理论层次要回答系统各个部分的计算目的与计算策略,亦即各部分的输入输出是什么,之间的关系是什么变换或者具有何种约束。Marr 对视觉系统的总的输入输出关系规定了一个总的目标,即输入二维图像,输出是由二维图像"重建"(reconstruction)出来的三维物体的位置与形状。Marr 认为,视觉系统的任务是对环境中三维物体进行识别、定位与运动分析,但这仅仅是一种对视觉行为(behavior)目的性定义,而非计算理论层次上的目的性定义。三维物体千差万别,应存在一种计算层次上的一般性"目的"描述,达到了这一"目的",则不管是什么具体的物体,视觉任务均可完成。Marr 认为,这一"目的",就是通过视觉系统,重建三维物体的形状和位置。而且若每个时刻都能做到这一点,那么运动分析也可以做到。对视觉系统的各个层次与模块,Marr 也初步给出了计算理论层次上的目标。

  对于表达与算法层次,视觉系统的研究应给出各部分(模块)的输入、输出和内部的信息表达,以及实现计算理论所规定的目标的算法。算法与表达有关,不同的表达方式,完成同一计算的算法会不同,但 Marr 认为,算法与表达是比计算理论低一层次的问题,不同的表达与算法,在计算理论层次是可以相同的。最后一个硬件层次,是要回答"如何用硬件实现以上的算法"。

  区分上述三个不同层次,对于深刻理解计算机视觉与生物视觉系统,以及它们之间的关系是大有裨益的,例如,人的视觉系统与目前的计算机视觉系统在"硬件实现"层次上是截然不同的,前者是极为复杂的神经网络,而后者是目前使用的计算机,但它们可能在计算理论层次上具有完全相同的功能。

  目前的计算机视觉的研究工作主要集中在前两个层次上,即计算理论,表达于算法层次,对于硬件实现,目前只有比较成熟的部分,如低层次处理中的噪声去除,边缘抽取;对于简单二维物体识别及简单场景下的视觉方法,已有专门芯片或其它并行处理体系结构方面的研究与试验产品;从系统上构造一般的视觉系统,虽有一些尝试,但一般并不成功。

  Marr 认为视觉是一个信息处理过程。这个过程根据外部世界的图像产生对观察者有用的描述。这些描述依次由许多不同但固定的、每个都记录了外界的某方面特征的表象(representation)所构成或组合而成。一种新的表象之所以提高了一步是因为新的表象表达了某种信息,而这种信息将便于对信息作进一步解释。按这种逻辑来思考可得到这样的结论:即在对数据作进一步解释以前我们需要关于被观察物体的某些信息,这就是所谓的本征图像。

  然而,数据进入我们的眼睛是要以光线为媒介的。灰度图像中至少包含关于照明情况、观察者相对于物体位置的信息。因此,按 Marr 的方法首先要解决的问题是如何把这些因素分解开。他认为低层视觉(即视觉处理的第一阶段)的目的就是要分清哪些变化是由哪些因素引起的。大体上来说这个过程要经过两个步骤来完成:第一步是获得表示图像中变化和结构的表象。这包括检测灰度的变化、表示和分析局部的几何结构、以及检测照明的效应等处理。第一步得到的结果被称为初始简图(primal sketch)的表象;第二步对初始简图进行一系列运算得到能反映可见表面几何特征的表象,这种表象被称为二维半(2.5 Dimension,意味着部分的,不完整的三维信息描述)简图或本征图像。"计算"的语言讲,就是重建三维物体在观察者为中心的坐标系下的三维形状和位置,当人眼或摄像机观察周围环境时,观察者对环境中的三维物体最初是以自身的坐标系来描述的。另外,我们只能观察到周围环境物体的一部分(另一部分是物体的背面或被其它的物体所遮挡的部分)。这样,重建的结果是以观察者坐标系下描述的部分三维物体形状,称为二维半描述。这一阶段包括由立体视觉运算提取深度信息,根据灰度影调、纹理等信息恢复表面方向,由运动视觉运算获取表面形状和空间关系信息等。

  这些运算的结果都集成到本征图像这个中间表象层次。因为这个中间表象已经从原始的图像中去除了许多的多义性,是纯粹地表示了物体表面的特征,其中包括光照、反射率、方向、距离等。根据本征图像表示的这些信息可以可靠地把图像分成有明确含义的区域(这称为分割),从而可得到比线条、区域、形状等更为高层的描述。这个层次的处理称为中层视觉处理(intermediate processing)。

  二维半描述是不够的,事实上,从各种不同角度去观察物体,观察到的形状都是不完整的。人脑中不可能存有同一物体的从所有可能的观察角度看到的物体形象,以用来与所谓的物体的二维半描述进行匹配与比较。因此,二维半描述必须进一步处理以得到物体的完整的三维描述,而且必须是物体本身某一固定坐标系下的描述,这一阶段称为第三阶段,即三维阶段。Marr 视觉理论中的这一阶段的表象层次是三维模型,它适用于物体的识别。这个层次的处理涉及物体,并且要依靠和应用与领域有关的先验知识来构成对景物的描述,因此被称为高层视觉处理。

Marr的视觉计算理论的更多相关文章

  1. 计算理论:NFA转DFA的两种方法

    本文将以两种方法实现NFA转DFA,并利用C语言实现. 方法二已利用HNU OJ系统验证,方法一迷之WA,但思路应该是对的,自试方案,测试均通过. (主要是思路,AC均浮云,大概又有什么奇怪的Case ...

  2. 深度学习变革视觉计算总结(CCF-GAIR)

    孙剑博士分享的是<深度学习变革视觉计算>,分别从视觉智能.计算机摄影学和AI计算三个方面去介绍. 他首先回顾了深度学习发展历史,深度学习发展到今天并不容易,过程中遇到了两个主要障碍: 第一 ...

  3. CV/PR:模式识别与图像处理笔试题

    汉王高级研究人员(模式识别.图像处理类)招聘试题  原文链接:http://www.cnblogs.com/dongsheng/articles/2793142.html 说明:  可能您的专业并不完 ...

  4. 【综述】(MIT博士)林达华老师-"概率模型与计算机视觉”

    [综述](MIT博士)林达华老师-"概率模型与计算机视觉” 距上一次邀请中国科学院的樊彬老师为我们撰写图像特征描述符方面的综述(http://www.sigvc.org/bbs/thread ...

  5. 概率图模型(PGM)综述-by MIT 林达华博士

    声明:本文转载自http://www.sigvc.org/bbs/thread-728-1-1.html,个人感觉是很好的PGM理论综述,高屋建瓴的总结了PGM的主要分支和发展趋势,特收藏于此. “概 ...

  6. 深度学习:又一次推动AI梦想(Marr理论、语义鸿沟、视觉神经网络、神经形态学)

    几乎每一次神经网络的再流行,都会出现:推进人工智能的梦想之说. 前言: Marr视觉分层理论 Marr视觉分层理论(百度百科):理论框架主要由视觉所建立.保持.并予以解释的三级表象结构组成,这就是: ...

  7. 自动机理论、语言和计算导论 by John E. Hopcroft

    计算理论是计算机应用的基础,理论和应用缺一而不可. ---- 目录 ---- C01 自动机 C02 有穷自动机 C03 正则表达式与正则语言 C04 正则语言的性质 C05 上下文无关文法及上下文无 ...

  8. 超计算(Hyper computation)模型

    超计算(Hyper computation)模型 作者:Xyan Xcllet链接:https://www.zhihu.com/question/21579465/answer/106995708来源 ...

  9. Linux快速计算MD5和Sha1命令

    Linux计算MD5和Sha1的命令 MD5 MD5即Message-Digest Algorithm 5(信息-摘要算法 5),用于确保信息传输完整一致.是计算机广泛使用的杂凑算法之一(又译摘要算法 ...

随机推荐

  1. POJ 2029 Palindromes _easy version

    #include<cstdio> #include<cstring> using namespace std; int main() { int n; ]; scanf(&qu ...

  2. MySql必知必会实战练习(三)数据过滤

    在之前的博客MySql必知必会实战练习(一)表创建和数据添加中完成了各表的创建和数据添加,MySql必知必会实战练习(二)数据检索中介绍了所有的数据检索操作,下面对数据过滤操作进行总结. 1. whe ...

  3. RecyclerView 初体验

    网上看了很多 RecyclerView 的教程,也结合学长的代码,终于实现了一个不错看的过去的List 可以通过左滑删除Item 长按Item或者点击按钮,可以对Item进行拖拽 更具体的内容会写在代 ...

  4. ③SpringBoot中Redis的使用

    本文基于前面的springBoot系列文章进行学习,主要介绍redis的使用. SpringBoot对常用的数据库支持外,对NoSQL 数据库也进行了封装自动化. redis介绍 Redis是目前业界 ...

  5. cors,跨域资源共享,Java配置

    一.概念 1. 如果两个页面的协议.域名和端口是完全相同的,那么它们就是同源的,不同则为跨域 2. ajax本身实际上是通过XMLHttpRequest对象来进行数据的交互,而浏览器出于安全考虑,不允 ...

  6. distinct与order by

    不知为啥,当我得查询中出现distinct时,order by 中必须包含要查询的列,否则报错. SELECT DISTINCT a.DetailId, a.OrderId, a.ProductId, ...

  7. 【转】JMeter中对于Json数据的处理方法

    Json 作为一种数据交换格式在网络开发,特别是 Ajax 与 Restful 架构中应用的越来越广泛.而 Apache 的 JMeter 也是较受欢迎的压力测试工具之一,但是它本身没有提供对于 Js ...

  8. 【转】Jmeter在命令行运行技巧

    For non-interactive testing, you may choose to run JMeter without the GUI. To do so, use the followi ...

  9. java代码初学者适用,输入学生成绩,符合要求的过~~~~注意数据范围

    总结:没有基础,我从点滴开始, package com.aaa; import java.util.Scanner; //输入“repate ”次数,输入学生成绩,低于60分,输出fail.否则输入p ...

  10. 银行排队问题之单队列多窗口加VIP服务(30 分)

    银行排队问题之单队列多窗口加VIP服务(30 分) 假设银行有K个窗口提供服务,窗口前设一条黄线,所有顾客按到达时间在黄线后排成一条长龙.当有窗口空闲时,下一位顾客即去该窗口处理事务.当有多个窗口可选 ...