Marr的视觉计算理论
Marr的视觉计算理论立足于计算机科学,系统地概括了心理物理学、神经生理学、临床神经病理学等方面已取得的所有重要成果,是迄今为止最为系统的视觉理论。Marr 的视觉计算理论虽然在细节甚至在主导思想方面尚存在大量不完备的方面,许多方面还存有许多争议,但至今为止仍是广大计算视觉研究人员接受的基本框架。计算机视觉这门学科的形成,应该说与这一理论框架有密切的关系,下面我们从几个方面来描述这一理论框架。
Marr 从信息处理系统的角度出发,认为视觉系统的研究应分为三个层次,即计算理论层次、表达(representation)与算法层次、硬件实现层次。
计算理论层次要回答系统各个部分的计算目的与计算策略,亦即各部分的输入输出是什么,之间的关系是什么变换或者具有何种约束。Marr 对视觉系统的总的输入输出关系规定了一个总的目标,即输入二维图像,输出是由二维图像"重建"(reconstruction)出来的三维物体的位置与形状。Marr 认为,视觉系统的任务是对环境中三维物体进行识别、定位与运动分析,但这仅仅是一种对视觉行为(behavior)目的性定义,而非计算理论层次上的目的性定义。三维物体千差万别,应存在一种计算层次上的一般性"目的"描述,达到了这一"目的",则不管是什么具体的物体,视觉任务均可完成。Marr 认为,这一"目的",就是通过视觉系统,重建三维物体的形状和位置。而且若每个时刻都能做到这一点,那么运动分析也可以做到。对视觉系统的各个层次与模块,Marr 也初步给出了计算理论层次上的目标。
对于表达与算法层次,视觉系统的研究应给出各部分(模块)的输入、输出和内部的信息表达,以及实现计算理论所规定的目标的算法。算法与表达有关,不同的表达方式,完成同一计算的算法会不同,但 Marr 认为,算法与表达是比计算理论低一层次的问题,不同的表达与算法,在计算理论层次是可以相同的。最后一个硬件层次,是要回答"如何用硬件实现以上的算法"。
区分上述三个不同层次,对于深刻理解计算机视觉与生物视觉系统,以及它们之间的关系是大有裨益的,例如,人的视觉系统与目前的计算机视觉系统在"硬件实现"层次上是截然不同的,前者是极为复杂的神经网络,而后者是目前使用的计算机,但它们可能在计算理论层次上具有完全相同的功能。
目前的计算机视觉的研究工作主要集中在前两个层次上,即计算理论,表达于算法层次,对于硬件实现,目前只有比较成熟的部分,如低层次处理中的噪声去除,边缘抽取;对于简单二维物体识别及简单场景下的视觉方法,已有专门芯片或其它并行处理体系结构方面的研究与试验产品;从系统上构造一般的视觉系统,虽有一些尝试,但一般并不成功。
Marr 认为视觉是一个信息处理过程。这个过程根据外部世界的图像产生对观察者有用的描述。这些描述依次由许多不同但固定的、每个都记录了外界的某方面特征的表象(representation)所构成或组合而成。一种新的表象之所以提高了一步是因为新的表象表达了某种信息,而这种信息将便于对信息作进一步解释。按这种逻辑来思考可得到这样的结论:即在对数据作进一步解释以前我们需要关于被观察物体的某些信息,这就是所谓的本征图像。
然而,数据进入我们的眼睛是要以光线为媒介的。灰度图像中至少包含关于照明情况、观察者相对于物体位置的信息。因此,按 Marr 的方法首先要解决的问题是如何把这些因素分解开。他认为低层视觉(即视觉处理的第一阶段)的目的就是要分清哪些变化是由哪些因素引起的。大体上来说这个过程要经过两个步骤来完成:第一步是获得表示图像中变化和结构的表象。这包括检测灰度的变化、表示和分析局部的几何结构、以及检测照明的效应等处理。第一步得到的结果被称为初始简图(primal sketch)的表象;第二步对初始简图进行一系列运算得到能反映可见表面几何特征的表象,这种表象被称为二维半(2.5 Dimension,意味着部分的,不完整的三维信息描述)简图或本征图像。"计算"的语言讲,就是重建三维物体在观察者为中心的坐标系下的三维形状和位置,当人眼或摄像机观察周围环境时,观察者对环境中的三维物体最初是以自身的坐标系来描述的。另外,我们只能观察到周围环境物体的一部分(另一部分是物体的背面或被其它的物体所遮挡的部分)。这样,重建的结果是以观察者坐标系下描述的部分三维物体形状,称为二维半描述。这一阶段包括由立体视觉运算提取深度信息,根据灰度影调、纹理等信息恢复表面方向,由运动视觉运算获取表面形状和空间关系信息等。
这些运算的结果都集成到本征图像这个中间表象层次。因为这个中间表象已经从原始的图像中去除了许多的多义性,是纯粹地表示了物体表面的特征,其中包括光照、反射率、方向、距离等。根据本征图像表示的这些信息可以可靠地把图像分成有明确含义的区域(这称为分割),从而可得到比线条、区域、形状等更为高层的描述。这个层次的处理称为中层视觉处理(intermediate processing)。
二维半描述是不够的,事实上,从各种不同角度去观察物体,观察到的形状都是不完整的。人脑中不可能存有同一物体的从所有可能的观察角度看到的物体形象,以用来与所谓的物体的二维半描述进行匹配与比较。因此,二维半描述必须进一步处理以得到物体的完整的三维描述,而且必须是物体本身某一固定坐标系下的描述,这一阶段称为第三阶段,即三维阶段。Marr 视觉理论中的这一阶段的表象层次是三维模型,它适用于物体的识别。这个层次的处理涉及物体,并且要依靠和应用与领域有关的先验知识来构成对景物的描述,因此被称为高层视觉处理。
Marr的视觉计算理论的更多相关文章
- 计算理论:NFA转DFA的两种方法
本文将以两种方法实现NFA转DFA,并利用C语言实现. 方法二已利用HNU OJ系统验证,方法一迷之WA,但思路应该是对的,自试方案,测试均通过. (主要是思路,AC均浮云,大概又有什么奇怪的Case ...
- 深度学习变革视觉计算总结(CCF-GAIR)
孙剑博士分享的是<深度学习变革视觉计算>,分别从视觉智能.计算机摄影学和AI计算三个方面去介绍. 他首先回顾了深度学习发展历史,深度学习发展到今天并不容易,过程中遇到了两个主要障碍: 第一 ...
- CV/PR:模式识别与图像处理笔试题
汉王高级研究人员(模式识别.图像处理类)招聘试题 原文链接:http://www.cnblogs.com/dongsheng/articles/2793142.html 说明: 可能您的专业并不完 ...
- 【综述】(MIT博士)林达华老师-"概率模型与计算机视觉”
[综述](MIT博士)林达华老师-"概率模型与计算机视觉” 距上一次邀请中国科学院的樊彬老师为我们撰写图像特征描述符方面的综述(http://www.sigvc.org/bbs/thread ...
- 概率图模型(PGM)综述-by MIT 林达华博士
声明:本文转载自http://www.sigvc.org/bbs/thread-728-1-1.html,个人感觉是很好的PGM理论综述,高屋建瓴的总结了PGM的主要分支和发展趋势,特收藏于此. “概 ...
- 深度学习:又一次推动AI梦想(Marr理论、语义鸿沟、视觉神经网络、神经形态学)
几乎每一次神经网络的再流行,都会出现:推进人工智能的梦想之说. 前言: Marr视觉分层理论 Marr视觉分层理论(百度百科):理论框架主要由视觉所建立.保持.并予以解释的三级表象结构组成,这就是: ...
- 自动机理论、语言和计算导论 by John E. Hopcroft
计算理论是计算机应用的基础,理论和应用缺一而不可. ---- 目录 ---- C01 自动机 C02 有穷自动机 C03 正则表达式与正则语言 C04 正则语言的性质 C05 上下文无关文法及上下文无 ...
- 超计算(Hyper computation)模型
超计算(Hyper computation)模型 作者:Xyan Xcllet链接:https://www.zhihu.com/question/21579465/answer/106995708来源 ...
- Linux快速计算MD5和Sha1命令
Linux计算MD5和Sha1的命令 MD5 MD5即Message-Digest Algorithm 5(信息-摘要算法 5),用于确保信息传输完整一致.是计算机广泛使用的杂凑算法之一(又译摘要算法 ...
随机推荐
- HDU - 3949 :XOR(线性基,所有集合的不同异或和中,求从小到大第K个)
XOR is a kind of bit operator, we define that as follow: for two binary base number A and B, let C=A ...
- DataTable / DataSet 与 xml 的相互转换
之前做DataTable和DataSet转xml一直使用XmlSerializer 序列化完成.今天发现新方法,哇咔咔方便了很多.还不用担心Name为空时报错 static void Main(str ...
- 【spring源码学习】spring的IOC容器之BeanFactoryPostProcessor接口学习
[一]org.springframework.beans.factory.config.BeanFactoryPostProcessor接口==>该接口实现方法的执行时机:该接口void pos ...
- ACM学习历程—51NOD 1770数数字(循环节)
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1770 这是这次BSG白山极客挑战赛的A题.由于数字全部相同,乘上b必然会 ...
- linux用netstat查看服务及监听端口
[root@localhost ~]# netstat -nlp netstat命令各个参数说明如下: -t : 指明显示TCP端口 -u : 指明显示UDP端口 -l : 仅显示监听套接字(所谓套接 ...
- JavaWeb中验证码的实现
在Web程序中,验证码是经常使用的技术之一.Web程序永远面临未知用户和未知程序的探测.为了防止恶意脚本的执行,验证码技术无疑是首选方案之一.本文将讨论如何在JSP和Servlet中使用验证码技术. ...
- gen_server模块
转自http://www.xuebuyuan.com/2132233.html
- 【转】性能测试工具JMeter的使用技巧
在这此对新版本jmeter的学习+温习的过程,发现了一些以前不知道的功能,所以,整理出来与大分享.本文内容如下. 1.如何使用英文界面的jmeter 2.如何使用镜像服务器 3.Jmeter分布式测试 ...
- 1009 Product of Polynomials
题意:模拟多项式相乘 思路:略.有一个注意点,题目中说指数最大为1000,当两个多项式相乘后,指数最大就为2000,这一点不注意会出现段错误. 代码: #include <cstdio> ...
- U-boot分析与移植(2)----U-boot stage1分析
我们要生成u-boot.bin文件,它首先依赖于很多.o文件和.lds链接脚本文件 我们只要找到对应的.lds链接脚本文件就可以分析u-boot的启动流程. 1.打开u-boot-1.1.6\u-bo ...