|||
摄影测量与计算机视觉
(3)双目视觉与怪兽
1. 波吕斐摩斯
在荷马史诗《奥德赛》中,波吕斐摩斯是一个独眼巨人(Cyclops),住在西西里岛的巢穴中,残暴食人。主人翁奥德修斯误入其中,损失了几个伙伴后,巧计刺瞎了波吕斐摩斯的眼睛并成功登船逃走。波吕斐摩斯求助其父波塞冬,波塞冬刮起狂风,令航线偏离,奥德修斯因此经受了更多艰险。
图1 (a)剑水蚤。触须中间的黑色为中眼(b)剑水蚤的动画形象。海绵宝宝中的plankton
无论神话还是自然现实,单眼都是非常罕见的特征。事实上,地球上的能够感知阳光的高级动物,都有一对以上的眼睛;极少数低等动物,如草履虫、水螅等确实只有一只。图1b中的形象是《海绵宝宝》中的剑水蚤,英文名也叫Cyclops。作为一个Cyclops,有什么麻烦呢?我们有这样的常识:单眼很难区分远近。所谓单目视觉,指根据小孔成像,三维世界被压缩到二维表面(像片或视网膜),损失的正是深度。在图2中,A点的兔子可能出现在虚线的任何一个地方,B点的树也类似;因为A、B在虚线上移动不会影响眼睛里的像a、b。独眼巨人能够分清A、B的左右位置,但无法确定物体的远近,以及他们间的相对距离,猎食的难度大大增加。(实际生活中可能没有特别糟糕。他可以根据常识来判断远近(近大远小);很少有兔子能长到牛那么大)。
图2 独眼巨人、普通人和兔子
再看看正常人。A、B在左右双眼分别成像。人能分清两者的远近,实际上靠的是“生理视差”Q,Q = a1b1 – a2b2。Q值的正负和大小决定了两者的相对远近。我们把左右双眼的连线叫做眼基线(大概65mm)。生理视差,也可看作眼基线对物体的张角(ra、rb)之差。在物体距离我们非常远时,两个角度将非常相近;A、B间的相对距离就很难分辨了。经验表明,人眼能分辨远近点目标的最大距离大概是500m,线目标的最大距离是1km;在更远的距离上深度已经失去意义。在大海上看日出,你其实分不清海平线和太阳哪个更遥远。
当我们理解了必须要生理视差才能分辨远近时,“两小儿辩日”之类的诘难就简单许多。“孔子东游,见两小儿辩斗。一儿曰:日初出大如车盖,及日中则如盘盂,此不为远者小而近者大乎?一儿曰:……(和我们无关,故省略)?孔子不能决。”事实上,日初出时,周边满是参照物,地平线、树木、远山。在有参照物时,生理视差倾向于留给你一个比较大的映象;而到日中之时,天上没有任何参照体。此时生理视觉倾向于认为太阳比较小。这是大脑解译产生的视觉欺骗现象。与此类似,西方也有类似的争论,但目标是月亮。至于哪个大小更接近真实?不妨举起你的照相机,试一试吧?(眼焦距约17mm)
并非两只眼睛的动物都有立体视觉。那些善良的被捕食者,为时刻保持警惕,眼睛一般长在两侧,倾向于覆盖360°的场景,比如牛,羊,兔子等。而大多数捕食者,人类、老虎、鹰等,眼睛长在前面,便于重建深度和掠食。而一些食物链中端的小怪兽两者兼备。比如变蛇龙和椋鸟,根据不同的场景需要,转动眼球,形成宽广视野或立体视觉。
人眼的单目视觉和立体视觉行为连接着视神经和脑神经,且深受经验影响,非常复杂,至今仍在不断的研究中。目前火热的深度学习方法,也是部分源于对猫的视神经系统的解剖。我们这里浅尝则止。
我们完全可以把两只前视双眼用两个相机代替,从而组成立体相机。在图3b中,两个焦距相同的水平相机分别对兔子成像。根据三角相似,其几何关系可以表示为:
d/(d+f) = Q/(Q + p2 – p1) (1)
这里Q是基线,d是物距,f为焦距,p2– p1同样称之为视差。(1)建立了视差与深度的一一对应关系。因此,在摄影测量和计算机视觉中谈论深度时,有时也转化为视差表述。在测量学中,根据已知的同名光线o1A与o2A,来交会求得A的位置,叫做三角测量(triangulation)。此外,注意到o1A与o2A,以及基线o1o2共面,将他们看作射线(矢量),我们得到另外一个方程:
(o1A·o2A)×o1o2 = 0 (2)
这里·是点乘,×是叉积,这个方程叫做共面条件方程(Coplanarity),由此可导出核线方程(epipolar);这是双目视觉的几何基础。再回到可怜的独眼巨人,我们列出单视成像的方程(称为共线条件方程Collinearity,取左边的光线):
p1/x1 = f/d (3)
由于不存在交会的约束,x1和d都是任意的(d可在竖直方向滑动)。
虽然公式2和3简单之至(我们后面将其推广至三维空间,并配备坐标系的转换),但整个专业的几何基础,基本就在这里了。
图3 (a)简易立体相机 (b)立体相机的几何关系
一般认为是法国测量学家和摄影测量学的先驱Fourcade(1865-1948),首先发现了用立体照片可重建立体视觉,从而促进了摄影测量的诞生。并非对同一物体拍摄的两张图片都能形成立体视觉。它们一般需要满足三个条件:左眼看左片、右眼看右片(即分光条件,可通过镜筒、红绿光、偏振光等方法保证。看3D电影带的红绿眼镜或闪闭式眼镜亦属此列);眼基线平行于同名像点连线(因此笔者倾向于认为二郎神或者马二爷的额前竖眼不能与普通的双眼形成立体视觉);左右像片比例尺接近。
至于立体视觉的交会精度,取决于交会角r的大小。在r = 90°时,精度最高;相反,如果越接近0(或180°)精度越差。在为测图而进行航拍时,保证足够的交会角是一项重要指标。
2. 阿尔戈斯
同样是希腊神话中的阿尔戈斯,有一百只眼睛,睡觉时也总有一些睁着。于是被赫拉派去看守宙斯的情人伊俄。可怜的伊俄已经变成母牛,被拴在树上。忠诚的赫尔墨斯受风流的父亲宙斯之命,唱着悦耳的歌,哄着阿尔戈斯陷入沉睡,并杀死了它,救出伊俄。
理论上说,长100只眼睛,看上去比一对眼睛更好。事实上,大多数爬行动物,甚至包括人类的祖先,以前都有第三只眼睛(一般在额头上)。但在漫长的进化过程中,三只眼睛似乎是累赘,现存的三眼小怪兽已经所剩无几。例如图4(a)中的楔齿蜥,是唯一现存的三眼生物,但中年之后顶眼也会退化。真正厉害的角色是图4(b)中的海洋小怪兽虾蛄。跟它相比,人眼可算相当低配。除了可见光,它还能看到红外线、紫外线和偏振光;更为神奇的是,它具有三目视觉的能力。相当可惜的是,进化的主攻方向不在大脑上,所以沦为了盘中餐。
图4 (a)楔齿蜥 (b)虾蛄
三目视觉和双目视觉原理是一致的,只不过交会的光线多了一条。但数学上的表达却有所区别。上面我们介绍了,立体视觉可以用两条光线的共面来表达,面是一个二维的空间,基本的代数元素是向量或矩阵。而三目视觉(以及多目视觉)就不太一样了。由于矩阵无法表达具有3个分量的实体,我们必须借助新的数学名词:张量。标量是0维,矢量是1维,矩阵是2维,那么张量就是3维或更高维度的推广。想象一下小时候玩过的魔方,它可以看成一个3×3×3的单元立方体。为表达立方体内的27个元素,具有2个指标的矩阵M = {mij}明显不够用了。最直接的方法就是加入一个指标指向第三个方向:T = { Tijk }。我们将T称作为三维张量。在我们讲完“数学基础”小节后,再详细介绍新角色“三焦点张量”,它表达了三目视觉的几何关系。
和虾蛄一样,很多昆虫都有复眼。这些复眼比人眼的光学分辨率要差一些;但其时间分辨率更高。人的眼睛每秒能分辨24幅图画,而昆虫的复眼则可达240。如果让昆虫欣赏每秒24帧的电影,那就是看连环画的效果。
3. 恢复深度的其他方法
即使在自然界,深度的重要性也不言而喻。除了利用双目(多目)视觉来恢复深度信息外,超声波是常见的定位和测距系统。和视觉的被动接收光不同,蝙蝠通过口中主动发射超声波(比人能听到的声波频率更高,人类听不到),碰到物体后返回,由耳廓接收回音,以确定目标的大小、距离和方位。蝙蝠利用超声波的反射特性来测量距离;类似的,同为机械波的声波、水波,乃至电磁波,在特定情况下都具有反射特性,而广泛使用的雷达正是利用电磁波。雷达同样是主动式系统,从它的英文名Radio Detection and Ranging(RADAR),可看出它的作业方式:发射无线电波,检测回波,确定物体的距离,其原理即:S = ct/2。S为距离,c为光速,t为电磁波的往返时间。雷达在二战中催生,当时英国人希望能够检测到空中的金属飞机。此前,争议性人物特斯拉曾在1917提出过雷达的设想;无线电先驱马可尼也在1922年提出过利用无线电检测船只。
我们知道,电磁波在三维空间的场强随着距离的平方而衰减;而碰到物体再返回,衰减就是距离的四次方了。为了克服这个缺点,科学家们发展了多种多样的雷达技术。比如相控阵雷达,类似蜻蜓的复眼,由波束方位可调的辐射单元和接收单元组成阵列;常用于军事,如美国的“爱国者”防空系统和“宙斯盾”控制系统。合成孔径雷达(SAR),利用雷达在每个不同位置上接收到的目标回波信号进行相干处理,相当于合成一个“大雷达”。在SAR基础上发展的干涉合成孔径雷达(Interferometric syntheticaperture radar,INSAR),在地形测绘中得到重要应用。2000年,美国的“奋进”号航天飞机上搭载SRTM (Shuttle Radar Topography Mission)系统,历时11天,完成了对全球80%陆地的高程采集,后花费2年时间处理,于2003年发布了全球数字高程模型(DEM),分辨率可达到30m。目前是摄影测量、遥感等诸多测绘学科不可或缺的基础地理数据。
激光雷达(Light Detection And Ranging,LiDAR)一般工作在红外至紫外波段。激光(Light amplification by stimulated emission of radiation,Laser)即受激辐射,港台也称“镭射”,电影字幕上常见到;在大陆,激光的中文名是由钱学森命名的,十分确切。其原理由爱因斯坦1917年提出:用某个特定能量的光子去轰击位于高能态的粒子,粒子可能受激辐射出两个相位、偏振态、方向一致光子(一个来源于入射光子的能量、另一个是高能级到低能级的跃迁)。这两个光子再去激发其余的高能粒子,二二得四,二四得八。由激光制成的雷达系统,分辨率高,抗干扰性强,目前在航空摄影测量、地面移动测图系统、无人车自动驾驶中得到广泛的应用。(目前自动驾驶汽车受到来自雷达技术的双重制约:设备太贵;毫米波雷达和激光雷达在雨天很难作业)
除了蝙蝠外,海豚和鲸鱼也利用超声波捕食和闪避障碍。这些生物进化出超声波系统都是出于对视觉的补偿:蝙蝠在黄昏和夜间捕食;海中光线较暗,尤其是深海。
(1995年正月初二,炮竹不断。扬州南郊,长江支流,登上二十米高的防洪堤,对岸是隐约的瓜州。蓦然之间,江面上千头涌动,无数江豚越出波光粼粼的水面,用豚类特有的游泳方式波浪前进,十分震撼。 才短短20年,船只、水污染、食物匮乏,有着百万族群的长江江豚竟频临灭绝!少一点人类沙文主义和急功近利,多一点爱护我们美丽、脆弱、唯一的家园)
图5 这笑容(以及类似儿童的智商)却是在控诉罪孽。
除了雷达之外,计算机学科和摄影测量专业有时也用干涉成像的方式得到深度信息(事实上,干涉成像与InSAR非常相似,其原理都可追溯到杨氏双缝干涉实验,只是所用的波段一般是可见光,故称为干涉成像光谱仪)。干涉成像也是主动成像模式,通过发射两束可见光波段的激光(选择激光是因其相干性最好),一束射直接向全息成像面,另一束射向物体并反射回成像面,形成干涉条纹。干涉条纹记录相位信息以恢复物体的深度;结合物体的反射光,就能恢复真实的3D场景。摄影测量中的干涉成像仪常用来获取缺乏纹理的三维物体表面,该表面很难通过图像匹配技术(后面我们再详细讨论)来完成。
此外,还有一种直接从单张二维图像恢复三维形状的方法,称为“从明暗恢复形状”(Shape from shading),一般用于已知反射率的均匀材质成像(请回顾上一节中的公式1)。
虽然从单张普通二维像片来恢复三维景观属于不适定问题(ill-posed problem),但从理论上说,高维事物似乎能够完全由低一维的事物表达。首先回顾量子力学中的“全息原理”:一个系统可以由它的边界信息(自由度)完全描述。全息原理不仅适用于光学,同样适用于X光、微波、声波,甚至引力。特别是引力全息成像原理,意味着只要研究黑洞表面,就可获知黑洞的内部构造——后者可能永远无法直接观测。1997年马尔达西那(Maldacena)提出了AdS/CFT对偶(四维时空的量子场论,对偶于十维反德西特空间中的弦),这是全息原理的最成功的实践。再回顾微积分中的格林定理:平面闭区域上的“面”积分可由其边界“曲线”积分表达;有复变函数分析背景的朋友也会联想到柯西积分公式:任何一个闭合区域上的全纯函数在区域内部的取值完全取决于它在区域边界上的值。可谓异曲同工、数理同源。
后记:本节写得辛苦,却很不满意。要把一门工科从头至尾写成科普,超出了我贫瘠的想象力。千里之行,始于足下,无知者无畏。先这样吧。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-24 15:02
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社