ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

无人机避障相机怎么选?从双目到ToF的选型与避坑指南

无人机避障相机怎么选?从双目到ToF的选型与避坑指南 避障相机选了不合适烧掉的不只是那一块相机板子的钱还有整个机架、桨叶和飞行控制板。我这两年帮人和自己前前后后搭过十几套无人机视觉避障系统从几十克的微型穿越机到几公斤的测绘机都试过这套“无人机避障相机怎么选”的路数基本固定下来了。今天把选择的核心逻辑一次性讲清楚从相机类型、硬件参数、场景匹配到装机实操和避坑排查把能踩的坑提前给你标出来。1. 避障相机有哪些类型各自是怎么工作的1.1 双目视觉避障相机里的绝对主流先说结论目前消费级和大部分行业级无人机上的“避障相机”绝大多数是双目视觉相机。原理不复杂就是用两个固定距离的摄像头从不同角度拍同一片场景通过视差算出深度图。这有点像人的两只眼睛闭上任意一只你判断距离的能力会明显下降单眼玩家伸手接羽毛球时经常差那么一点点就是这个道理。双目避障相机输出的是一张带着深度信息的灰度图或者彩色点云飞控拿到这张图后会把它切成一个个体素格或者障碍物描述再用路径规划算法绕着走。它在硬件成本上比激光雷达便宜得多而且不需要发射主动信号白天户外表现相当稳定所以被大量使用。但双目有个天然软肋它们依赖场景纹理。纯白墙壁、干净路面、强逆光、夜晚这些地方的视差匹配质量会断崖式下跌。你拿两块白板放在相机前面算法很难分辨出哪块近哪块远因为它本质上是在找左右两张图里的特征点没有特征就无从谈起。所以很多高端无人机会给双目配一个补光或者结构光发射器这个时候相机就变成“主动双目结构光”方案了。1.2 单目、ToF、毫米波和激光雷达什么时候用它们单目避障依赖的是运动视差和先验语义本质上靠识别“这个物体像障碍物”来避让不直接测精确距离。因为便宜、体积小不少轻量级穿越机用它来做简单的前向避让但它的可靠性在复杂背景下很成问题。经验是单目更适合做“辅助避障”和“围绕避让”不适合做“急停刹停”的核心依据。ToF相机靠发射红外光并测量反射光飞行时间来造深度图对纹理不敏感弱光下表现比双目好。缺点是分辨率通常比双目低不少视野窄强光下容易被环境红外干扰而且镜片成本和功耗相对高。毫米波雷达能穿透烟雾和尘土全天候能力很强但数据稀疏横向分辨能力差只能告诉你“这个方向有东西”很难精确告诉你“东西长什么样”。激光雷达精度最高但重量、功耗、价格和计算开销对多数消费级无人机来说都是不可能三角。这里有个容易混淆的点无人机上经常有人说“多传感器避障”其实主流就是“双目相机ToF/超声波辅助”的融合。把不同类型传感器的数据做卡尔曼滤波或者概率栅格融合各家跟各家算法联动紧密才会有越飞越稳的效果。1.3 传感器融合到底融合的是什么我自己理解传感器融合不只是“多个传感器数据加在一起”而是用概率方法处理不确定性。双目相机测距在近处很准远处误差成比例放大ToF在正前方测距稳定但视野小毫米波对运动目标敏感但信噪比差。把这些数据通过一个占据栅格地图Occupancy Grid Map投影到空间坐标系里才得到每帧的障碍概率分布。选购相机时脑子里要有这条逻辑链相机的原始输出——深度点云/灰度图——空间坐标投影——栅格更新——路径规划。任何一个环节的短板都会让避障失灵。比如你买了一个分辨率很高的双目相机但飞控算力只有0.6T到1T算力深度图根本跑不到实时最后要么降采样用得憋屈要么直接卡死这就是典型的选型倒挂。2. 选避障相机要盯住哪些硬件参数2.1 分辨率、帧率和全局快门很多人上来就问分辨率我理解但避障相机和航拍相机选型的优先级完全不同。航拍追求画质细节避障追求的是“实时、同步、抗运动模糊”。在避障这个用途上分辨率够用就行VGA640×480到720P是黄金区间更高分辨率虽然看的细节多但是深度计算量成平方级上涨很多飞控根本吃不下。真正的分水岭是快门类型。避障相机必须优先选全局快门Global Shutter千万避开卷帘快门Rolling Shutter。卷帘快门拍高速旋转的桨叶或者无人机快速前倾的时候画面会出果冻效应左右两帧特征点对不准输出深度图全是碎渣避障算法看到的就是一片混乱等于没避。我自己早期贪便宜买过卷帘快门的模块飞起来之后直接放弃治疗。帧率方面至少要30fps以上的能力才考虑避障我自己是能上60fps就上60fps。道理很朴素无人机飞得越快相同时间内场景变化越大30fps在每秒十几米的飞行速度下是够用的底线但在快速穿越或者急转身时容易漏检60fps就能留出更多的路径规划余量。2.2 基线宽度、视场角和同步性基线宽度就是两个镜头之间的距离。基线越宽远距离测距精度越好基线越窄近处的立体测量盲区越小。这是几何约束决定的改不了算法。大尺寸无人机装双目基线一般做到8厘米以上适合看几十米外的障碍。小穿越机装双目基线条只有2到4厘米它主要管近处避让。视场角也要结合应用看。水平视场角越宽单帧能覆盖的避障范围越大但边缘畸变也越明显对镜头标定要求更高。如果飞控算力有限普通130度水平视场角的镜头就够用能覆盖主要的正前方和侧向盲区畸变修正负担也小。超广角镜头虽然看着爽但标定不好边缘会飘在近距绕桩飞行时常常误报。双目同步性是个常被忽略的硬指标。左右两个摄像头必须用同一个时钟去触发曝光时间差要小于一帧的曝光时间最好做到微秒级同步。如果左右相机各拍各的运动状态下两幅画面相差几毫秒算出来的视差就是扭曲的深度图里会出现“纸片重叠”般的假障碍。正规双目模组都会做硬件同步选购模块时务必确认触发方式是硬件同步而不是软件“约等于同步”。2.3 接口、算力与供电三个容易被忽略的隐性指标避障相机最终要接到飞控或者计算单元上。常见的接口有MIPI CSI延迟低、走专用通道适合把深度计算放在本地SoC上但接入非官方平台时驱动适配麻烦。USB 3.0/USB 3.1插上就用兼容性最好适合开发者。不过要留意USB线材和带宽同时跑多路相机时容易顶到带宽瓶颈。GMSL适合长距离、抗干扰的工业场景用同轴线缆视频传十几米都没事但必须配解串器成本偏高。算力上要明白相机本身出的是“原始图”真正耗费算力的是视差计算。以中端双目模组在1T算力的平台跑VGA分辨率30fps为例算力占用通常在50%以上如果你的飞控还要跑光流、视觉里程计和路径规划就会明显不够用。所以选相机之前先把自己平台上能调用的算力摸清楚再去决定分辨率和帧率。供电同样关键。不少双目模组标称功耗2到4瓦看着不多但你的无人机电池在动态负载下瞬时电压波动常有相机和飞控共用一路BEC容易互相干扰。我给一台六轴机换避障相机时就因为共地干扰导致图传画面带横纹后续单独加了一路独立降压模块才解决。3. 按场景选型室内穿越机、户外远航和工业巡检的配置方案3.1 室内小型机型轻、小、近距避害室内飞行的限制传感器主要是体积和重量。小型穿越机机头空间也就几十克可分配一根标准的粗版本双目模组都装不下。这种场合我会优先选具备窄基线、全局快门、轻量化设计同时不要带外壳和主控板的“裸感”双目模组比如把两颗OV9282单板自己拼基线。拼装的点在于镜头的相对角度要变很少风扇吹动或者摔机震动都会让标定失效反而比一体模组更容易出问题所以新手还是直接用厂家做过基线固定的模组比较好。在这种小机型上避障策略不追求“看清楚50米外的树”而是“在近处5米内能停住”所以分辨率低一点没关系帧率要高避免运动模糊。此外由于室内光线条件复杂如果预算允许优先选带主动红外补光的版本它在光线不足的机库里才不会变瞎。3.2 户外远航与测绘看得远、算得动、稳得住户外大疆无人机风格的主流选择是“大基线高分辨率带同步输出的双目”。基线宽到8厘米以上加上帧同步几十米开外的线缆和树枝都能提前出深度。同时要选能承受较大温差和轻微进水的防护设计户外湿度大镜头起雾会严重影响测距。续航和算力在这个场景下也要一起算。想用40米外深度数据做减速你至少需要50ms到100ms的决策周期。算力平台上建议用带GPU的SoC至少2T算力起同时给双目跑深度图预留较大内存带宽。否则数据都挤在内存交换上帧率会掉得很难看。户外光线剧烈变化的时段最怕逆光和过曝。选购时一定要看相机有没有宽的曝光范围和自动曝光控制调节能力最好能通过上位机锁死两组曝光参数在日出日落时段手动切换而不是让自动曝光反复跳。3.3 工业巡检怕丢定位的场合要冗余工业巡检无人机经常接近钢架、高压线、塔筒这些场景纹理弱、金属反光强烈非常考验避障系统。单独的可见光双目在光滑金属表面和可以单独反射的圆弧面上经常出深度空洞。这种场景我有两个路线要折腾得彻底就上“双目自组激光雷达单点测距”融合方案密集深度交给双目金属反光空洞部分让激光雷达去填充。在靠近障碍的十几米范围内激光雷达的单点距离数据足够当好救火队员。要点是上位机同时接双目和雷达数据做好时间戳对齐。要少折腾就找自带结构光投射器的双目相机模块。主动光能解决一部分无纹理区域价格通常在几百到一千五元区间比整套激光雷达便宜太多。不过它工作时会肉眼可见地发光在夜间巡检时要注意对向人员看到后是否刺眼有些人机协同场景反而要关掉结构光再工作。4. 实操记录一套双目避障系统的选择和装机细节4.1 从无人机角度评估尺寸、重量、功耗有一次调度一台四轴机目标是在植被茂密的山坡附近做低空飞行测试前向避障距离要求至少25米。我当时按这个思路选型摄像头模组裸机重量控制在12克以内双镜头间距约6厘米工作功耗2.5瓦以下能接受外部5V±10%输入接口走MIPI CSI接到机载计算板输出方式选择模组自带的深度MCU方案机载板直接读深度图和灰度图不跑原始视差计算省出大量算力给路径规划。这一套做下来整机重量只增加了不到60克含线材和支架电池续航损失在5%以内还是划算的。关键是前期把尺寸重量功耗这些跟飞行性能绑在一起算避免买回来的时候发现超重或者把续航砍掉太多。4.2 硬件接线、同步触发与视差计算配置接线方面要注意几点相机电源线尽量用短而粗的杜邦线或者XH2.54线避免压降波动造成画面亮度来回跳。MIPI CSI排线要选带屏蔽的规范软排线不要随意拉长超过5厘米后信号质量会明显下降。接地必须跟飞控主电源共地否则主控收到的数据容易因电位差产生轻微毛刺。同步触发上我更倾向用模组自带的硬件同步引脚把他接到飞控的PWM输出口用飞控在每次曝光前给一个低电平到高电平的跳变这样左右曝光时刻严格对齐。不用PWM也行很多新平台用的是外部触发晶振同步总之要确认模组支持外触发千万别买左右镜头内部分开曝光的“伪双目”。视差计算配置基本就是选参数的过程。我习惯把最大视差范围限制在一定区间比如15到40像素之间大于40像素的视差按无效处理这样可以剔除近景的尖峰误差。匹配窗口不要开太大7×7到9×9就够了开大会让边缘变胖障碍物周围多一圈“假障碍”导致无人机过早绕飞。4.3 标定与快速验证跑通的步骤双目模组装好后第一件事不是起飞而是标定。标定用的棋盘格至少拍20组不同角度、不同距离的图像覆盖画面的中心和边角。我每次都会用一个不透光的平整纸板垫着棋盘格防止反光干扰角点提取。标定完先跑一段静态验证把无人机放在地面朝一个方向摆放几个已知距离的障碍物对比深度图上的距离测量值和实测距离值。误差在3%以内、10米处误差不超过0.3米这个系统才算合格。再跑动态验证时我会把避障阈值设得保守一点先让无人机以较小速度2米/秒直飞向障碍物看它刹停的距离是否在预期区间。如果提前过多就是匹配窗口太大或视差阈值太保守如果太近才识别就要查标定质量和曝光参数。切忌一上来就把速度和阈值推到极限第一轮测试的安全概率会低得吓人。5. 常见问题与排查技巧实录5.1 逆光和反光场景下避障相机的失效避障相机在逆光时出现深度图大范围空洞常见原因有两个进光量不足导致暗部信噪比太低或者过曝区域高光溢出左右图像出现差异无法匹配。排查步骤是先把自动曝光关闭改为手动固定曝光再分别测顺光和逆光下的时间差。如果逆光下深度图恢复说明是曝光策略问题。一个长期有效的技巧是装上遮光罩。很多人觉得无人机上装遮阳帽很傻但实测在低空逆光飞行时遮光罩能把进入镜头的直射杂散光挡掉大半深度空洞面积能缩小30%到50%。另外镜头的防反光镀膜等级也要注意廉价镜头在强逆光下出现鬼影时避障数据基本不可用。5.2 运动模糊和视差抖动运动模糊是一种“高速下接近失效”的状态。排除方法很直接提高曝光时间不可行高速下曝光时间超过2毫秒就会拉出明显拖影。解决方案是提高帧率或者用卷帘快门改全局快门二是减少飞控震动传递。电机转速升高后机架的高频抖动会让双目相机两个镜头产生微小相对位移这种抖动无法靠标定修正深度图会随转速变化出现周期性波动。我处理过一架轴臂模态不合理的四轴机电机到中板的振动传递峰值在80Hz左右导致双目相机在悬停时深度图都会抖动。后来装了减震球并把相机支架改成碳板夹持结构抖动才明显收敛。结论是避障相机的安装刚度跟光学标定同等重要软接不等于稳有些减震措施反而引入了低频晃动。5.3 误判与漏判的排查思路最常见的误判是细小障碍的过度避让。比如一根直径2毫米的线缆在5米外可能还没有一个完整像素大但算法为了安全把它当成一堵墙无人机不敢靠近航线效率直接打折。这种问题要靠视差置信度阈值和DBSCAN聚类去处理单独把细碎深度点聚成不连续障碍物连续性不够就降低避障优先级。漏判则多半因为目标体积小且纹理稀疏深度图里根本没形成有效点云。发现这个情况后我通常换成更高分辨率传感器同时把匹配窗口调小提高对小目标的分辨能力。另外要检查水下温度千万不要让镜头玻璃结雾或者粘上水滴那比什么都致命。5.4 避障相机选购避坑速查表检查项正确做法常见坑快门类型全局快门卷帘快门在高速下果冻帧率60fps起30fps在高速场景偏紧双目同步硬件外触发软件同步不等于真同步基线按使用距离选基线过短远处不准镜头镀膜防反光镀膜逆光鬼影算力匹配先算好再买分辨率堆太高跑不动接口提前确认兼容买回来驱动适配不了安装强度刚性固定兼顾减震震动导致标定漂移供电独立降压供电共地干扰和压降标定多标、常标一次标定用到底另外有一条容易被忽略的命理镜头的质心和安装平面是否垂直于机身轴。装机时如果装歪了几度初期不觉得飞高速时避障偏差点数会被几何误差放大遇到斜穿障碍时经常出现误判。所以装完一定要做一次旋转台上的姿态标定把左右相机的外参误差尽量修正到亚像素量级。结尾踩过几次坑之后我养成了一个习惯不管买什么避障相机拿到手先不装机直接放在桌面用大棋盘格标定一遍然后运行官方的深度例程看看斑点噪声和空洞率。至少留一个晚上给这些验证再上机架能省掉后面飞行调试的数倍时间。最后再分享一个小技巧遇到预算有限又想提升避障可靠性的情况与其花大价钱买一个旗舰双目不如买两块做工稳定的中端模组一份用来做前向一份用来做下向和侧向的辅助避障覆盖盲区的收益往往比单路高分辨率大得多。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进