4. 图像预处理
在无人机降落标志识别任务中,机载相机采集到的原始图像往往受到光照变化、运动模糊、传感器噪声以及复杂背景的干扰。如果直接把彩色原图送入检测或跟踪算法,不仅计算量大,而且特征稳定性差。图像预处理的目标,就是在保留降落标志关键结构的前提下,抑制干扰、增强对比、突出轮廓,为后续的角点检测、轮廓拟合与位姿解算提供更“干净”的输入。
一、核心原理:六类预处理手段的作用
灰度化是把三通道彩色图像压缩为单通道亮度图。常用加权公式为 Y = 0.299R + 0.587G + 0.114B,它符合人眼对绿色更敏感的视觉特性。灰度化后数据量降为原来的三分之一,后续滤波、边缘检测的计算速度显著提升。对于以黑白棋盘、H 形、T 形为主的降落标志,灰度图已经足够表达结构信息。
滤波去噪用于抑制高斯噪声、椒盐噪声和压缩伪影。高斯滤波适合平滑随机噪声;中值滤波对椒盐噪声和细小纹理特别有效,且能较好保留边缘;双边滤波在平滑的同时保留强边缘,适合标志边界清晰的场景。无人机在悬停时画面较稳,可选用较小核;高速下降时运动模糊明显,应避免过度平滑。
直方图均衡通过重新分配灰度分布提升整体对比度。全局均衡在逆光或阴影下容易放大背景噪声,因此实际中更常用 CLAHE(限制对比度自适应直方图均衡),它分块处理并限制对比度拉伸,能在保留局部细节的同时避免噪声爆炸。
边缘检测用于提取标志的几何轮廓。Sobel 计算简单、方向性强;Canny 通过双阈值和滞后连接得到细且连续的边缘,是降落标志轮廓提取的首选。阈值设置需结合图像梯度分布,过高会断边,过低会引入大量背景纹理。
形态学操作包括腐蚀、膨胀、开运算和闭运算。开运算先腐蚀后膨胀,可去除小噪点、断开细连接;闭运算先膨胀后腐蚀,可填补轮廓空洞、连接断裂边缘。对二值化后的标志区域,闭运算常用于把虚线轮廓补成闭合区域,便于轮廓面积和中心点计算。
颜色空间选择决定后续分割的稳定性。RGB 对光照敏感;HSV 将色调、饱和度、明度分离,适合按颜色提取红色或蓝色标志;YCrCb 在肤色和亮度分离上表现好,也常用于嵌入式视觉;Lab 接近人眼感知,适合色差明显的场景。若标志为黑白,则灰度空间即可;若标志含彩色环,则优先 HSV。
二、方法流程:一条可落地的预处理链
下面给出面向降落标志的典型预处理流水线,适用于机载算力有限的嵌入式平台:
输入:BGR 原图 frame
1. 灰度化:gray = cvtColor(frame, COLOR_BGR2GRAY)
2. 去噪:blur = medianBlur(gray, 5) 或 GaussianBlur(gray, (5,5), 0)
3. 增强:clahe = createCLAHE(2.0, (8,8)); eq = clahe.apply(blur)
4. 边缘:edges = Canny(eq, 60, 150)
5. 形态学:kernel = getStructuringElement(MORPH_RECT, (3,3))
closed = morphologyEx(edges, MORPH_CLOSE, kernel, iterations=1)
6. 颜色辅助:hsv = cvtColor(frame, COLOR_BGR2HSV)
mask = inRange(hsv, lower_red, upper_red)
输出:closed 与 mask 融合后的候选区域
该流程的关键在于顺序:先灰度化再滤波,可减少计算量;先增强再边缘,可让弱边缘更易被 Canny 捕获;先边缘再闭运算,可把断裂轮廓连接成完整区域。若标志为纯色,可把第 6 步的颜色掩膜与边缘图做按位与,快速锁定候选区域。
三、案例场景:不同光照下的参数取舍
场景一:正午强光、标志反光。此时灰度图高光区域饱和,Canny 容易在反光边缘产生伪轮廓。建议先做 CLAHE 压缩高光,再用较小的高斯核去噪,Canny 高阈值适当提高,形态学闭运算核缩小到 3×3,避免把相邻噪点连成假区域。
场景二:傍晚弱光、草地背景。图像整体偏暗,标志与草地灰度接近。此时应优先使用 HSV 空间提取标志颜色,若标志为白色,则改用 Lab 的 L 通道做自适应阈值。直方图均衡可显著拉开标志与背景的差距,但要注意噪声同步放大,需在中值滤波后再增强。
场景三:高速下降、运动模糊。模糊会使边缘变宽、Canny 边缘不连续。可先做一次轻度锐化或使用双边滤波保留边缘,再以闭运算连接断裂轮廓。若仍不稳定,应降低跟踪帧率或改用光流预测补偿,而不是一味加大形态学核。
四、常见误区与复盘清单
| 误区 | 后果 | 修正建议 |
|---|---|---|
| 先边缘检测再滤波 | 噪声被当成边缘,轮廓杂乱 | 先滤波去噪,再做 Canny |
| 全局直方图均衡用于逆光 | 背景噪声被放大,标志反而模糊 | 改用 CLAHE,限制对比度 |
| Canny 阈值固定不变 | 不同光照下断边或过检 | 按梯度中位数自适应设定双阈值 |
| 形态学核过大 | 标志与背景粘连,中心点偏移 | 核不超过 5×5,优先闭运算 1 次 |
| 始终使用 RGB 分割颜色 | 光照变化时颜色漂移严重 | 改用 HSV 或 YCrCb,固定色调范围 |
综上,灰度化负责降维,滤波负责去噪,直方图均衡负责增强,边缘检测负责提轮廓,形态学负责整形,颜色空间负责按色锁定目标。六者按“先降维、再去噪、后增强、再提边、最后整形与选色”的顺序组合,才能让降落标志在复杂光照和运动条件下依然稳定可辨,为后续的识别与跟踪打下可靠基础。