
100、人像模式的"深度估计三兄弟"——双目视差/ToF/单目深度估计的精度与鲁棒性对比,以及抠图边缘的"发丝级"难题去年秋天,我们团队在给一款中端机型调人像模式,客户反馈说"背景虚化像贴纸,头发边缘全是白边"。我拿到样张一看,心里就凉了半截——那是个逆光场景,模特侧脸对着夕阳,发丝边缘的羽化区域直接糊成一片,背景里的路灯杆子倒是虚得挺圆,可发梢和背景之间那条分界线,活像用美工刀裁出来的。更头疼的是,同一台机器,室内暖光下拍人像效果还行,一到户外树荫下就翻车,背景里的树叶缝隙全被错误地归到前景,虚化出来一片"蜂窝煤"。当时我们用的方案是单目深度估计,跑的是轻量级CNN模型,帧率倒是够,但深度图的边缘质量完全看天吃饭。这类问题,说白了就是人像模式里"深度估计三兄弟"——双目视差、ToF、单目深度估计——各自的精度和鲁棒性在真实场景下的博弈。我调了这么多年影像,这三条路都走过,今天把踩过的坑和摸出来的门道摊开讲。先说双目视差。这玩意儿原理不复杂,左右两颗摄像头同时拍,通过匹配同名点算出视差,再反推深度。听起来很物理,很可靠,但真上了产线你就知道,它最怕的是"没纹理"和"重复纹理"。白墙面前,左右眼看到的都是白茫茫一片,匹配算法直接抓瞎,深度图上一块一块的洞,补都补不回来。还有那种百叶窗、格子衬衫,纹理周期性强,匹配时左右眼各认各的,视差跳变能让你怀疑人生。我们之前在一款双目方案上做过统计,室内正常光照下,深度误差能控制在1%以内,但一到低照度或者强反光场景,误差能飙到5%以上,边缘更是重灾区。而且双目有个硬伤——基线距离。手机那么薄,两颗摄像头之间撑死十几毫米,基线太短,近距离还行,一到1.5米开外,视差分辨率就急剧下降,深度值跟猜差不多。所以现在手机上的双目,基本都用来做