一句话定义
直方图统计像素亮度分布并支撑均衡化与自动阈值,图像金字塔用逐级降采样构成同一场景的多尺度表示,为不同大小的目标提供统一处理框架。
为什么重要
光照不均会毁掉固定阈值的分割,直方图均衡与 Otsu 是最便宜的对症药;而物体在图像里的尺寸不可预知,「在多个尺度上找东西」从模板匹配、SIFT 到 YOLO 的多尺度检测头一脉相承,金字塔正是这条主线的起点。
直观类比
直方图像人口普查:不关心谁住哪,只关心各收入段有多少人;均衡化就是重新分配「户口」让每个亮度段人数均等。金字塔像一套缩略图文件夹:原图、二分之一、四分之一……小目标在大图里找,大目标在缩略图里看全貌。
前置知识
kp-002(卷积与降采样前的平滑)。
核心概念
- 灰度直方图:每个亮度级的像素计数,忽略空间位置。
- 直方图均衡化(Histogram Equalization):用累积分布函数重映射亮度,使分布趋于均匀。
- CLAHE:限对比度自适应均衡,分块均衡并裁剪放大倍数,治「过度增强」。
- Otsu 阈值:遍历阈值取类间方差最大者,实现自动二值化。
- 高斯金字塔(reduce):每级先高斯平滑再隔行隔列抽取,尺寸减半。
- 拉普拉斯金字塔:相邻两级之差,编码高频细节,是图像融合与重建的基础。
原理与机制
均衡化把亮度 r 经累积分布 CDF 映射到新亮度 s:像素多的段被拉开,像素少的段被压缩,整体对比度提升。Otsu 把像素分为前景/背景两类,遍历阈值 t 使两类的「权重 × 均值差²」最大,等价于最大化类间方差,因此对双峰直方图效果最好。金字塔的每级由上一级平滑 + 抽取得到;平滑这一步不可省,否则降采样违反奈奎斯特条件产生混叠(摩尔纹)。拉普拉斯金字塔 L_l = G_l − expand(G_{l+1}),逐级只保留「降采样丢掉的信息」,因此可无损重建且带宽紧凑。
公式与模型
s_k = (L − 1) · Σ_{j=0}^{k} n_j / MN (均衡化:n_j 为第 j 级像素数,MN 为总像素)
σ_B²(t) = w0(t) · w1(t) · [ μ0(t) − μ1(t) ]² (Otsu 类间方差)图示
实例与案例
证件照光照不均:全局均衡化把阴影区拉得过亮,CLAHE(clipLimit≈2、8×8 网格)是标准解。票据二值化:直方图双峰明显时 Otsu 一步到位。图像融合:拉普拉斯金字塔在多频段分别混合,接缝几乎不可见。目标检测:YOLO 的三个检测头分别负责大、中、小目标,思想与金字塔同源——特征金字塔网络(FPN)把这一思想搬进深度网络。
import cv2
eq = cv2.equalizeHist(gray)
clahe = cv2.createCLAHE(2.0, (8, 8)).apply(gray)
_, bw = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
G1 = cv2.pyrDown(gray) # 高斯金字塔降一级常见误区
- 全局均衡化治一切光照问题:强噪声会被同步放大,医学与监控场景首选 CLAHE。
- Otsu 用在单峰直方图上:无前景/背景双峰时类间方差无意义,应改自适应阈值。
- 降采样不做平滑:直接抽像素等于欠采样,摩尔纹与锯齿随之而来。
- 金字塔层数越多越好:每级损失一倍分辨率,层数超过 log2(min(H, W)) 就没有意义。
与其他知识点的关系
高斯金字塔是 kp-007 SIFT 尺度空间的高效实现骨架;多尺度思想在 kp-018 以检测头形式重现;均衡化与 CLAHE 是 kp-026 训练增强里光度扰动的经典成员。
自测题
- 均衡化为什么能提升对比度?副作用是什么?
答案要点:CDF 重映射使亮度分布趋匀、动态范围拉开;副作用是噪声与纹理被同步放大、局部过曝。
- Otsu 在什么前提失效?
答案要点:直方图无前景/背景双峰(如弱对比或单峰噪声图)时类间方差无极值可依。
- 为什么金字塔每级抽取前必须高斯平滑?
答案要点:满足奈奎斯特采样条件,避免高频混叠成低频伪影。
延伸阅读
- Burt 与 Adelson 1983《The Laplacian Pyramid as a Compact Image Code》
- kp-007 看金字塔如何长成完整的尺度空间理论