既然特斯拉、百度/极越已经在一定规模下证明了纯视觉 L2+ (highway/city, FSD) 的可行性,那为什么还要去研究双目呢?双目、LiDAR 相较于 2M 的 30/60/120 和 8M 的 30/120 的区别是什么?我的看法是:
-在线:在数据规模有限的情况下,双目和 LiDAR 一样,能快速提升感知性能上限;
-离线:可用于 auto-label 中的预标注、建图;
-成本:相较于 LiDAR,在成本上有显著优势;
-标定:前向标定在流程上也会更简单;
-架构:双目硬同步 (vision-centeric),来触发、对齐其他相机,相较于 LiDAR-centeric 更精准。
我们的效果和大疆、鉴智释放的图片、视频一样,可以实现稠密、准确的深度估计。但是很可惜,基于 DL-Stereo 的方法需要稠密的深度 GT,而现在的 LiDAR 往往只能提供 150m 内的 GT. Livox Tele 的 FoV 较小,超远处的反射率和点数不足以支撑我们的需求和场景。最终在远距离使用的,还是基于传统特征的稠密/稀疏匹配。
不同于现在流行的前向单目、三目、长短焦双目,同构双目的玩家其实并不多。乘用车领域,国内做得最好的应该是大疆、鉴智,国外是维宁尔、奔驰。我先来分享分享他们的进展和优势。
玩家们
大疆
在宝骏的一系列产品中交付:云朵、KiWi、悦也的高配版本,能够实现城区记忆行车。
和大疆一样,智加也通过双目强化了 Lane, 3D Det, Calib, Depth 等模块。
鉴智
鉴智分享过很多 demo,实现了基于双目的魔毯、智能底盘功能,和蔚来 /奔驰的 4D 底盘异曲同工,也算是近年来把双目作为核心优势的重要玩家。
地平线
地平线 PoC 过双目,也有一些开源的工作,后续再观望观望。
奔驰
老法师奔驰早在13年前就分享过基于 stixel 的双目深度估计、freespace 预测 / 参考。
英伟达
英伟达作为奔驰的重要合作伙伴,优化、实现了不少双目的工作:
-VPI - Vision Programming Interface
-Stereo Disparity Sample
-ACCELERATING OPTICAL FLOW AND STEREO DISPARITY ESTIMATION USING THE NVIDIA A100 OFA ENGINE
维宁尔 (Veoneer)
维宁尔曾是宝马 、斯巴鲁 的双目供应商,在2018年的投资者日上曾分享过双目规划。可以看到,基础方法论还是奔驰分享的 stereo stixel
华为在 ADS 1.0 上规划了前向四目,除了广角和长焦外,还有一对双目。不过从 ADS 2.0 的交付来看,最终还是拥抱了 LiDAR-centeric 而不是双目视觉。
ArgoAI
安霸/VisLab
多组双目系统的想法一开始由安霸/VisLab 的视频启发,他们实现了一个前向两对双目(包括长焦)的系统。还有一个视频,很可惜找不到了,这个视频描述了 VisLab 在 side 和 rear 装了多组双目,实现实时的全向深度估计。这个想法,很类似于 Mobileye 2020年发布的 VIDAR,以及 TRL 的 Full Surround Monodepth. 这些成果,都来源于VisLab 十多年的立体视觉研究积累。
ForeSight
ForeSight 分享过他们的异构双目系统,我曾经去常州实车体验过:
-前向 120 度和 bumper 200 度广角实现的双目 (类似于 TW-SMNet)
-车顶的 30 度 RGB 双目
-车顶的 IR 红外双目
这块可以参考:
-iPhone 15 上的空间视频拍摄 / Tele
-GitHub - ComVisDinh/disparityestimation: Deep Network Exploitation for Disparity Estimation Using Stereo Images with Different Focal Lengths
-视角不平衡立体匹配研究-CSDN博客
蔚来/理想
蔚来/理想的两个 front side 相机 FOV overlap 较小,非光心对齐同构。也不是不能做双目,但可能效果较差。
智加/Plus
无论是 2021 年量产交付的解放 J7+, 还是 2023 年的江淮 K7+、2024 年的柳汽 H7+,长基线双目都是我们最核心的模块。多年前,我们曾发布过 1km 以上的目标感知结果,但那是基于 L4 状态下的超宽基线(双目布置在车侧, 2.8m 基线)。在 L2+ 量产平台下,我们需要将双目摄像头放在挡风玻璃内,能够被雨刮覆盖,并满足法规和稳定性要求。
在感知架构上,最早期,感知方案主要还是 2D 检测为主,通过 2D 检测去抠深度图,或者通过接地点等几何先验去测距。渐渐的,有了很多 Mono3D 检测,Stereo3D 检测的工作。最后,收敛到 BEV 前融合 3D 检测,甚至全稀疏的 Sparse BEV. 但不管何时,在前向远距离感知上,双目都能够持续提升感知的整体上限。例如,我们做过不少事情去探索双目的价值:
第一件事是,通过 SGM/optical flow 这些底层特征,识别非标/超宽障碍物。但实践下来,很难简单地与 3D 表达兼容。我们渐渐地发现,相较于2D 视角,BEV/Occupancy 是一个更优雅的框架去解决这些难题。逻辑上还是相似的,BEV/Occ 仍然需要去表达、解释这些稠密的底层特征和时序特征。
第二件事是,仅对 bbox 内的点去做 match,相同精度下仅有 1/2 latency,并能提升远处 recall. 即使在夜晚,我们也能有 300m 的稳定 trakcing。
第三件事是,在高分辨图下,动态裁剪 2M 原图,通过一个额外的 2D 检测器以及稀疏匹配,实现远距离小目标 2倍 tracking 性能的提升 (cone, 80m->160m), 整体感知 tracking 距离从 300m+ 到近 400m。
第四件事是,实现长焦双目。效果显而易见, Z=fb/d. 焦距 f 的提升能够简单而有效地提升远处距离性能。但简单替换相机,会造成前向盲区过大的问题。在框架上,需要通过广角相机去做车道线等模块。有一定的系统迁移成本。
总结
无论是图森的 LiDAR-centeric 方案,还是智加的 Stereo-centeric, 核心本质还是提升远距离 tracking 的稳定性。就好像王峰提到的 “对于远距离感知的探索不能说是一帆风顺,简直就是满路荆棘。”
上面这些工作,都是在 Xavier 低算力平台下循序渐进的思考和实践。在 Orin 平台下,我们已经渐渐地过渡到视觉 BEV 3D 框架。但正如图森的分享,在卡车领域里,数以亿计的 2D 数据仍然在和 3D 需求互相融合,继续完善。
后续的实践,是将高分辨率 RoI 双目集成到 BEV 框架中。当有充沛的远距离 GT 数据时,不管是 dense-bev 还是 sparse query bev,都能看得更远更稳。等待合适时机再跟大家分享 :-P
最后也是最重要的,要感谢智加/Plus 的同事们 (Tim, Mianwei, Darren, Philip, Andy, Tong, Peidong, Xingjian, Fuyue, Xuyang),我只是起到了个承上启下的作用 。
-- END --
声明:内容源自知乎@黄奇浩,文中观点仅供分享交流,不代表本公众号立场,如涉及版权等问题,请您告知,将及时处理!