返回技术验证
05 · 图像处理算法

从环形图到地质报告:5 阶段流水线

不同处理目标对应完全不同的算法族。先把"处理目标"和"算法"的关系理清楚,再看每一层用什么算法。

第一步:处理目标的层级

每一层的输出是下一层的输入,算法的选择在每层都不同。

  1. STAGE 01 【目标一】几何校正 → 得到正确的矩形展开图
  2. STAGE 02 【目标二】图像增强 → 让人/机器看得更清楚
  3. STAGE 03 【目标三】特征检测 → 找到裂缝、地层界面、溶洞
  4. STAGE 04 【目标四】特征量化 → 输出倾角、倾向、开度、频率等地质参数
  5. STAGE 05 【目标五】岩性分类 → 识别岩石类型(可选,依赖多光谱)

目标一:几何校正(最基础,必须最先做)

环形图像的极坐标变换 + 畸变校正

锥形镜成像后,CCD 拍到的是环形图像(角度方向 = 方位角,径向方向 = 深度)。但这个映射不是线性的——锥面的几何特性导致方位角方向均匀,但径向方向的深度映射是非线性的。

经典算法:极坐标变换(Polar-to-Cartesian Remapping)

  1. 中心检测:在原始环形图中定位光学锥镜投影的几何中心 (cx, cy),通常用 Hough 圆变换或灰度重心法
  2. 掩膜提取有效环区:根据 r_in / r_out 生成环形 mask,把中心盲区与外圈无效区裁掉,只保留有效环区参与后续展开
  3. 确定环形内径 r_in、外径 r_out(标定得到)
  4. 对每个目标像素 (x, y):θ = x / W × 2π,r = r_in + y/H × (r_out − r_in)
  5. 反向映射到源图坐标:u = cx + r·cos(θ),v = cy + r·sin(θ)
  6. 用双线性插值(Bilinear Interpolation)取像素值

畸变校正

标定靶标法

在已知几何尺寸的标定筒内成像,建立畸变查找表(LUT),实测坐标与理论坐标之差即为畸变场,后续图像逐像素查表修正。

Brown-Conrady 多项式拟合

将径向畸变拟合为多项式:Δr = k1·r + k2·r³ + k3·r⁵,参数由标定得到。这是 OTV 软件普遍使用的畸变模型。

切向畸变(Tangential Distortion)

当光学组件(镜片/传感器)未严格共轴时,径向畸变之外还会引入切向分量。完整模型需同时估计径向 (k1, k2, k3) 与切向 (p1, p2) 系数。锥镜 OTV 系统中切向畸变通常较小,但高分辨率成像或大孔径物镜下不可忽略。

OCamCalib 物理光线追迹

把相机抽象为多项式函数而非经典针孔模型——直接从标定靶标学习"入射光线方向 ↔ 成像平面坐标"的映射,跳过中间几何参数。该模型对鱼眼、广角、锥镜等大视场成像的统一表达能力优于 Brown-Conrady。

Brown-Conrady 径向畸变模型 畸变
Δr = k1·r + k2·r³ + k3·r⁵

参数 k1, k2, k3 由标定得到。OTV 软件普遍使用此模型。Eq.5.13

目标二:图像增强

钻孔环境的两类主要图像质量问题:照明不均匀 + 对比度不足

钻孔环境导致两类主要图像质量问题:① 照明不均匀(孔壁不同方位亮度差、深度方向渐变)② 对比度不足(岩石颜色接近,裂缝与基质灰度差小)。

算法1:平场校正(Flat-Field Correction)

针对照明不均匀

平场校正(Flat-Field Correction) 公式
I_corrected = (I_raw − I_dark) / (I_flat − I_dark)

I_dark 是遮光时的暗电流图像(传感器本底噪声),I_flat 是均匀白板的参考图像(照明不均匀的基准)。这个算法来自天文 CCD 成像,在 OTV 中被直接移植,是预处理的标准步骤。

I_dark 是遮光时的暗电流图像(传感器本底噪声),I_flat 是均匀白板的参考图像(照明不均匀的基准)。这个算法来自天文 CCD 成像,在 OTV 中被直接移植,是预处理的标准步骤。

算法2:CLAHE(自适应直方图均衡化)

局部对比度增强

  1. 把图像分成小块(tile),每块独立做直方图均衡
  2. 对每块的对比度增益设上限(Clip Limit),防止噪声被过度放大
  3. 块与块之间用双线性插值过渡,消除块边界

全局直方图均衡会把整张图的对比度拉均,但钻孔图像中不同深度段岩性差异大,全局处理会过度增强某些区域同时压制另一些区域。CLAHE 是增强裂缝可见性最常用的预处理步骤之一。

算法3:各向异性扩散滤波(Anisotropic Diffusion)

降噪保边

各向异性扩散滤波(Anisotropic Diffusion) 公式
∂I/∂t = div(c(|∇I|) · ∇I)

Perona-Malik 扩散方程(1990)

普通高斯模糊在降噪的同时会模糊裂缝边缘。各向异性扩散的思想:在梯度小的区域(均质岩石)强扩散(强降噪),在梯度大的区域(裂缝边缘)弱扩散(保留边缘)。其中 c(|∇I|) 是梯度幅值的单调递减函数——梯度越大,扩散系数越小。这对 OTV 图像特别有价值:岩石基质区域被平滑,裂缝的细线被保留甚至增强。

算法4:去模糊(Deblurring)

恢复运动模糊与失焦模糊

井下提升 / 下放过程中探管振动、水体扰动、LED 同步误差都会引入运动模糊。算法层面:维纳滤波(Wiener Filter)处理已知 PSF,盲去卷积(Blind Deconvolution)同时估计 PSF 与清晰图;近年基于深度学习的 DeblurGAN 类方法对未知模糊核的去除效果显著。

算法5:超分辨率(Super-Resolution)

从单帧或多帧低分辨率图重建高分辨率细节

受井下空间限制,探管传感器物理分辨率受限。算法层面:传统插值(双三次)保形但生硬;基于学习的方法(ESRGAN、Real-ESRGAN)能重建更真实的岩石纹理与裂缝细节,是当前研究热点。

算法6:色差校正(Chromatic Aberration Correction)

消除 RGB 通道的横向 / 纵向偏移

锥镜 OTV 系统中不同波长光线折射率不同,会导致 R/G/B 通道在边缘区域出现横向偏移(紫边/绿边)。校正方法:在标定靶标上分别拟合各通道畸变模型,展开时按通道独立映射。

目标三:特征检测(核心,算法最丰富)

整个处理流程中算法种类最多、研究最活跃的层级。

检测对象一:裂缝(线性特征)

裂缝在展开图上的理论形态是正弦曲线:z(θ) = z₀ + r·tan(δ)·cos(θ − φ),其中 z₀ = 中心深度,δ = 倾角,φ = 倾向方位角,r = 钻孔半径。

Hough 变换(正弦参数空间)

对每个边缘像素点 (θᵢ, zᵢ),在参数空间 (z₀, A, φ) 中对所有满足 z₀ + A·cos(θᵢ − φ) = zᵢ 的参数投票。参数空间中的峰值 = 一条裂缝的参数。

优点:对噪声和裂缝不连续(局部遮挡)鲁棒。缺点:参数空间是三维的,计算量大;多条裂缝接近时峰值混叠。

Radon 变换

Radon 变换 公式
R(z₀, δ, φ) = ∫ I(θ, z₀ + r·tan(δ)·cos(θ−φ)) dθ

本质上与 Hough 变换同族,但直接在图像上沿特定曲线积分。积分值大的参数组合对应一条真实裂缝。在 OTV 图像处理软件中,Radon 变换是自动拾取的主流基础算法。

Canny + RANSAC 拟合

第一步:Canny 算子(高斯平滑 + 梯度计算 + 非极大值抑制 + 双阈值)得到边缘像素图。第二步:对边缘像素用 RANSAC(随机采样一致性)拟合正弦参数。RANSAC 对离群点(噪声、其他裂缝的边缘)鲁棒——随机选少量点拟合参数,检验其余点是否符合,重复多次取最大内点集——有效分离同一图像中多条相交裂缝。

检测对象二:地层界面(水平/近水平线性特征)

地层界面在展开图上是接近水平的窄带过渡区(倾角小时退化为近直线)。

梯度方向直方图(HOG)+ 水平方向聚合

计算每列像素的垂向梯度 → 水平方向累加(一整圈孔壁同一深度的梯度求和)→ 峰值位置 = 地层界面深度。这本质上是把 360° 方向的信息折叠成 1D 深度信号,利用地层界面"全周连续"的特性来增强信噪比。

检测对象三:溶洞/孔隙(区域特征)

溶洞在展开图上表现为局部暗区(低反射率)+ 旅行时突变(ATV 数据),形态不规则。

区域生长(Region Growing)+ 形态学处理

  1. 选取种子点(低灰度区域中心)
  2. 向四邻域扩展,条件:灰度差 < 阈值
  3. 得到初始区域 mask
  4. 形态学闭运算(填补小孔洞)+ 开运算(去除毛刺)
  5. 面积/形状过滤(排除噪声小区域)

目标四:特征量化

检测到裂缝的正弦参数后,直接反算地质参数

检测到裂缝的正弦参数后,直接反算地质参数。

倾角计算 几何
δ = arctan(A / r)

倾角计算(图中 α = arctan(h/D))

正弦参数 (z₀, A, φ) → 倾角 δ = arctan(A / r),倾向方位角 = φ(需加磁偏角校正),视开度 = 正弦曲线的线宽 × 比例因子。

目标五:岩性分类(多光谱时可做)

可选层级,依赖多光谱成像能力

在 RGB 或多光谱空间中,不同岩性的像素集群分布不同。

算法:k-means / 高斯混合模型(GMM)聚类

  1. 每个像素 → 颜色特征向量 [R, G, B, NIR, ...]
  2. k-means 聚类(k = 预估岩性数)
  3. 各类别 → 与岩心样本比对 → 贴岩性标签

整体算法流水线总结

预处理
  • 平场校正 → 暗电流去除
  • 极坐标变换 + 双线性插值 → 矩形展开图
  • 畸变查找表校正
增强
  • CLAHE → 局部对比度增强
  • 各向异性扩散 → 降噪保边
检测
  • Canny + RANSAC 正弦拟合(裂缝)
  • Radon / Hough(裂缝全局搜索)
  • 水平梯度聚合(地层界面)
  • 区域生长 + 形态学(溶洞)
量化
  • 正弦参数 → 倾角/倾向
  • 磁力仪校正 → 地质北向
  • 线宽 → 裂缝开度
分类(可选)
  • 多光谱 k-means → 岩性分区

命名实体

本页出现的所有算法、模型、人名

Canny 经典边缘检测算子:高斯平滑 + 梯度 + 非极大值抑制 + 双阈值
RANSAC Random Sample Consensus,随机采样一致性,用于鲁棒曲线拟合
Hough Hough 变换,从图像空间到参数空间的投票机制
Radon Radon 变换,沿特定曲线在图像上积分
CLAHE Contrast Limited Adaptive Histogram Equalization
Perona-Malik 各向异性扩散滤波方程的提出者(1990)
k-means 基于距离的聚类算法
GMM Gaussian Mixture Model,高斯混合模型
Brown-Conrady 经典径向畸变多项式模型:Δr = k1·r + k2·r³ + k3·r⁵
OCamCalib 基于多项式光线追迹的相机标定模型,直接学习"光线方向 ↔ 图像坐标"映射,对锥镜 / 鱼眼 / 广角大视场成像统一表达
切向畸变 Tangential Distortion,由光学组件未严格共轴引起,与径向畸变共同构成完整镜头畸变模型
Wiener Filter 维纳滤波,已知 PSF 的去模糊经典方法
ESRGAN Enhanced SRGAN,基于 GAN 的超分辨率重建网络,能从低分辨率图重建真实纹理