看到"绿色的草的形状 "和判断"它离我多远 ",是两套不同的解码:形状靠视网膜上光的空间分布(对比/边缘) ,距离靠大脑从一堆深度线索 (尤其是双眼视差)推断。两者都依赖光——没有光子就没有图像,也就没有形状与距离 。注意:看到形状不是因为"边缘是白光",恰恰相反,全白的均匀视野(白化 whiteout)里你什么形状都看不到 。Form comes from spatial contrast in the retinal image; depth is inferred, mostly from binocular disparity.
🎯 学习目标 Learning Objectives
说明眼睛如何成像:角膜+晶状体把场景投影成视网膜上的倒立实像。
解释形状来自对比/边缘 ,而非"白边";侧抑制与 V1 边缘检测;无差异即无形。
推导角大小 \(\theta\approx h/d\) 与双眼视差 \(\Delta\theta\approx b(1/d_{\text{近}}-1/d_{\text{远}})\)。
列举深度线索:双眼视差(stereopsis)+ 单眼线索(遮挡、大小、运动视差、透视、纹理、空气透视、光影、调焦、辐辏)。
理解距离是大脑推断 的,不是直接"测"的。
📖 一、怎么看到"形状"
① 透镜成像:把世界投影到视网膜
角膜与晶状体组成一组会聚透镜,把外界每个方向来的光聚焦到视网膜上对应的点,形成一个倒立的实像 (real, inverted image) 。所以草的形状,被投影成了视网膜上一个二维的光强/颜色分布 。眼睛就像一台相机:瞳孔=光圈,晶状体=镜头,视网膜=感光底片。
\[ \frac{1}{f}=\frac{1}{d_o}+\frac{1}{d_i},\qquad \text{像高}\;\propto\;\frac{\text{物高}}{d_o}\;\;(\text{角大小}\;\theta\approx h/d_o) \]
② 形状来自对比 / 边缘,不是"白边"
草和旁边的土、路反射的光不同 → 视网膜上相邻区域有亮度或颜色的突变 ,这就是边缘 (edge) 。视网膜神经节细胞和初级视皮层 (V1) 的神经元靠侧抑制 (lateral inhibition) 专门对边缘响应最强(一个细胞被照亮时抑制邻居,使边界处信号被放大)。大脑把这些边缘连起来 → 认出形状。
关键纠正: 看到形状不是因为边缘是"白光"。有差异才有形状 ——全黑(无光子)看不到,全白且均匀(无差异,如浓雾"白化 whiteout")也看不到。你之所以看到草的轮廓,是因为草与背景之间存在亮度/颜色差异 ;这个差异越大,边缘越清晰。差异为零时,形状消失。
③ 光怎么从物体到达眼睛:直线传播 + 漫反射
看到形状还差最后一环——光如何从物体"运"到视网膜。两点:(1) 在均匀空气中光沿直线传播 (rays) ;(2) 草这类粗糙表面做漫反射 (diffuse / Lambertian) :每个小面元把入射光向整个半球散射(强度 \(\propto\cos\theta\),朗伯余弦定律),所以无论你站在哪个角度、只要有视线 (line-of-sight) 通到该点,都能收到它朝你方向散射的一束光——这便是你从四面八方都能看见草、且各角度颜色一致的原因(对照镜面反射 specular :光滑镜面只朝一个方向反射,入射角=反射角,只有恰在该方向才看到眩光,且镜面显示的是光源的像而非"自己的颜色")。
照明来自四面八方。 草不只被太阳直射照亮——整个天空穹顶 都是光源(瑞利散射把阳光撒满全天,附录 H),还有地面与周围物体的反射光。所以阴天或树荫下草仍被照亮、没有死黑阴影(天光填充了阳光照不到处)。你的瞳孔只占极小立体角 (solid angle) ,只接到每点散射光中沿直线射来的极小一束 ,经晶状体聚焦成视网膜上一个点;被遮挡的点没有直线通到瞳孔 → 不成像 → 这就是遮挡/形状的来源。同一片叶子散射的总功率铺满 \(4\pi d^{2}\) 的球面,固定的瞳孔只接到 \(\propto1/d^{2}\) → 越远越暗(平方反比) 。一句话:草不发光,它向四面八方漫反射,你的眼睛沿直线接到其中一束、聚焦成像。
real image (实像), contrast (对比度), edge (边缘), lateral inhibition (侧抑制), V1 (初级视皮层), whiteout (白化), diffuse/Lambertian reflection (漫反射), specular reflection (镜面反射), solid angle (立体角)
📖 二、怎么判断"距离 / 深度"
距离不是直接测量的,是大脑从两类线索推断 出来的:
双眼线索 — 双眼视差 (binocular disparity / stereopsis)
两眼相距约 \(b\approx6.5\,\unit{cm}\),看到的两幅图略有不同。大脑融合它们,由视差 解出深度。对一近一远两个物体,相对视差
\[ \Delta\theta \approx b\!\left(\frac{1}{d_{\text{近}}}-\frac{1}{d_{\text{远}}}\right)\quad(\text{弧度}) \]
近物在左右眼视网膜上的相对位置会反转 (见下方仿真)——这正是大脑最强的深度信号。人眼视差检测阈值约 \(10''\)(10 角秒),超过几百米视差低于阈值,就难以靠它判距。3D 电影/VR 就是给两眼喂两幅视差图。
单眼线索 — 一只眼也能判距
遮挡 (occlusion) :挡住别人的更近。
相对大小 (relative size) :已知大小的物体,看起来越小越远。
运动视差 (motion parallax) :走动/摇头时,近物反向移动、远物同向移动。
线性透视 (linear perspective) :铁轨、道路向远方汇聚。
纹理梯度 (texture gradient) :远处纹理更密更细。
空气透视 (aerial perspective) :远处因散射发灰发蓝(附录 H 的散射!)。
光影 (shading/shadow) :明暗分布给出立体感。
调焦 (accommodation) 与 辐辏 (convergence) :晶状体对焦距离、两眼向内会聚角——仅近距离有效。
没有光就判不了距: 所有线索都依赖视网膜上的图像;黑暗中无图像 → 无视差、无遮挡、无大小、无透视 → 无法判距。
🔭 推导 Derivation
角大小。 高 \(h\) 的物体在距离 \(d\) 处的张角 \(\theta\approx h/d\)(小角近似)。故同高物体越远越小——这是"相对大小"线索的来源。
双眼视差。 两眼基线 \(b\)。一个正前方、距离 \(d\) 的物体,每只眼需向内会聚 \(\alpha\approx(b/2)/d\)。两个不同距离 \(d_1,d_2\) 物体的相对视差 \(\Delta\theta=\alpha_1-\alpha_2\approx(b/2)(1/d_1-1/d_2)\),或以两眼计 \(\approx b(1/d_1-1/d_2)\)。\(\Delta\theta\) 越大,深度感越强;低于阈值 \(\sim10''\) 则无立体感。
✏️ 典型例题 Worked Examples
例 1 草的角大小
高 \(h=10\,\unit{cm}\) 的草叶,在 \(d=2\,\unit{m}\) 处。张角多大?
解: \(\theta\approx h/d=0.10/2=0.05\,\unit{rad}=2.9^{\circ}\)。
\(\theta\approx0.05\,\unit{rad}\approx2.9^{\circ}\)。
例 2 近物 vs 远物的视差
\(b=6.5\,\unit{cm}\)。近物 \(d_1=50\,\unit{cm}\)、远物 \(d_2=500\,\unit{cm}\)。相对视差多少角秒?能否被察觉(阈值 \(10''\))?
解: \(\Delta\theta=b(1/d_1-1/d_2)=0.065\,(1/0.50-1/5.00)=0.065\,(2.00-0.20)=0.065\times1.80=0.117\,\unit{rad}\)。
换算角秒:\(0.117\times(180/\pi)\times3600=0.117\times206265\approx24100''\approx6.7^{\circ}\)。
\(\Delta\theta\approx2.4\times10^{4}''\),远超阈值 → 立体感极强(近物明显"跳出")。
⚠️ 常见误区 Common Pitfalls
误区: "看到形状是因为边缘是白光。" 纠正:是对比/差异 ,不是白。全白均匀(白化)反而看不到任何形状。
误区: "距离是眼睛直接测出来的。" 纠正:距离是大脑从视差等线索推断 的;没有直接"测距仪"。
误区: "闭一只眼就看不出远近。" 纠正:单眼线索(遮挡、大小、透视、运动视差…)仍可判距;只是精度不如双眼视差。
误区: "越亮看得越清。" 纠正:看清形状靠对比度 ,不是绝对亮度;暗但高对比(如夜空中的月亮)仍清晰,亮但无对比(白化)则看不见。
误区: "视网膜上的像是正立的。" 纠正:是倒立 实像;大脑在后天处理中把它"正"过来。
🧮 练习题 Practice Problems
1. 一物高 \(2\,\unit{m}\)、距离 \(100\,\unit{m}\),角大小多少?若距离加倍,像在视网膜上多大?
\(\theta\approx h/d\);像高 \(\propto\theta\)。
\(\theta=2/100=0.02\,\unit{rad}=1.15^{\circ}\)。距离加倍 → 角大小减半 → 视网膜像减半。\(\theta\approx0.02\,\unit{rad}\);像减半。
2. 为什么伸手够近处物体时双眼视差最有用,而望远处山峦主要靠单眼线索?
近物视差大(\(\Delta\theta\propto1/d\))→ stereopsis 精度高;远物视差低于阈值 \(\sim10''\) → 双眼线索失效,转而靠透视、空气透视、遮挡等单眼线索。近靠视差,远靠单眼线索。
3. (概念)为什么浓雾"白化"里人会完全失去方向、看不出形状?
雾使各方向光均匀散射、充满视野,视网膜上各处亮度近乎相同 → 对比度为零 → 无边缘 → 无形状;同时空气透视饱和、遮挡线索失效 → 失去距离感。对比归零 → 无边缘无形;深度线索失效。
🎛️ 互动仿真 Interactive Simulation:形状 & 距离
上半(形状): 一片绿叶在土色背景上。拖 对比度 contrast → 当差异归零,叶子"消失"(无形)。下半(距离): 双眼 + 左右两条视网膜条。绿色=近物、灰色=远物;注意左眼 条里近点在远点之右 ,而右眼 条里近点在远点之左 ——这个反转 就是视差。拖 近物距离 :越近,两条里近-远分得越开(视差越大)。
📝 本附录小结 Summary
形状 = 视网膜图像中光的空间对比/边缘 (透镜成像 + 侧抑制/V1 边缘检测);无差异即无形(白化里看不到形状)。
距离是大脑推断 的:双眼视差 \(\Delta\theta\approx b(1/d_1-1/d_2)\) 是最强线索(阈值 \(\sim10''\));单眼线索(遮挡/大小/视差/透视/纹理/空气/光影/调焦/辐辏)补充。
没有光 → 无图像 → 无形状、无距离。
\[ \boxed{\;\theta\approx\frac{h}{d},\quad \Delta\theta_{\text{视差}}\approx b\!\left(\frac{1}{d_1}-\frac{1}{d_2}\right),\quad \text{形状}\propto\text{对比}\;} \]
← 目录 Index