Jetson 上做 BEV 四路鱼眼环视拼接:从粗标定到接缝精修 做机器人或低速车辆的周边感知时单目前视往往不够——倒车、侧方障碍、近处地面纹理都容易“看不见”。BEVBirds Eye View鸟瞰俯视图环视把车身四周的鱼眼画面投到同一块地面平面上操作员一眼就能看到“车在哪、周围有什么”标定与拼接质量直接决定观感是否可用。本文记录一套在Jetson Orin 四路 GMSL 鱼眼上跑通的实践路径内参 → 外参 →可选接缝精修 → GPU 实时 BEV并对比粗外参与精修后的实时效果。为什么是四路鱼眼超广角单路鱼眼就能覆盖很大视场四路前后左右即可围成近 360°。近地信息丰富地面线、地砖、车位线在俯视图里最直观适合泊车/巡检类场景。硬件成熟车载/机器人常用 GMSL 鱼眼 同步采集和 Jetson 边缘推理平台很搭。代价也很明确畸变大、重叠区几何敏感。外参差一点俯视图里接缝就会“开裂”、地砖对不齐。流水线总览整条链路可以概括为四步内参标定Intrinsics用棋盘格标定每路鱼眼的K、畸变系数常见为 Kannala-Brandt / OpenCV fisheye 模型为后续去畸变与投影打底。外参标定Extrinsics估计各相机相对车体/地面的位姿把四路图像投到统一的地面 BEV 坐标系。这一步做完就能出“能看”的实时环视但接缝处常有错位。接缝精修Seam Refine可选但强烈建议在重叠区用地砖/标定板等纹理锁定参考相机的单应H只微调从相机的H把接缝对齐。GPU 实时 BEV预计算 remap / warp 表运行时走 CUDA 路径做投影与融合浏览器侧可用 WebRTC 看实时流本 demo 常见端口:8787。硬件侧简述开发板为Jetson Orin视频源为GMSL 四路鱼眼标定道具为标准棋盘格摆位固定后尽量不要再碰镜头支架否则外参会“漂”。对比粗外参 vs 接缝精修后的实时 BEV图 A粗略外参标定后的实时 BEV完成内参 粗外参后已经可以进「实时 BEV」看环视。此时画面能围成一周但接缝处往往很明显地面纹理如地砖在左右/前后重叠区容易错位观感上像“拼了四块布”。图 A粗略外参标定后的实时 BEV——接缝明显地砖错位。图 B接缝精修后的实时 BEV在重叠区做完接缝精修后同一套实时路径下接缝对齐明显改善地面连续性更好更接近“一张俯视图”而不是四路硬拼。图 B接缝精修后的实时 BEV。说明标定完成后摄像头曾被轻微挪动过因此图 B 里仍有一部分接缝未完全重合——这是摆位变化导致的并不代表接缝精修无效。实车/实机部署时应固定支架精修完尽量不要再动相机。接缝精修在做什么粗外参给出的是“全局大致正确”的地面投影接缝精修则在此基础上做局部几何对齐典型做法是选重叠区在相邻相机视野重叠的地面区域放棋盘格/利用地砖纹理保证两侧都能看到同一物理平面特征。锁定参考相机的H选定一路为 reference其地面单应矩阵不再动避免整体“漂移”。只精修从相机的H对 slave 相机在重叠区做特征匹配或角点对齐微调其投影到 BEV 的单应使接缝两侧像素落在同一地面坐标。写回外参/单应并用于实时路径精修结果进入后续 GPU remap/warp在线预览立刻反映对齐效果。直观理解外参解决“相机大概在哪”精修解决“接缝那几厘米怎么对齐”。重叠区纹理越清晰、摆位越稳精修越有效。实时 GPU 路径与演示标定与精修完成后在线路径通常是每路鱼眼 →GPU remap去畸变 投到 BEV 网格多路结果 →warp / 按 mask 融合blend输出合成俯视图可通过WebRTC在浏览器查看整条链路都在边缘端跑延迟和带宽都可控适合机器人现场调试和演示。小结阶段作用典型现象内参纠正鱼眼畸变线条仍弯 → 先查内参粗外参投到统一地面平面能环视但接缝开裂接缝精修锁 refH调 slaveH地砖/板格对齐改善GPU 实时remap / warp / blend WebRTC:8787看实时四路鱼眼 BEV 的关键不在“能不能拼出一张图”而在接缝是否可信。粗外参够演示量产/实机观感则建议把接缝精修做进标定流程并固定相机摆位避免“精修好了又被碰歪”。

今日更新