直方图、金字塔与多尺度

核心01-图像与基础处理预计 20 分钟直方图金字塔多尺度Otsu

前置知识点

kp-002 滤波与卷积

一句话定义

直方图统计像素亮度分布并支撑均衡化与自动阈值,图像金字塔用逐级降采样构成同一场景的多尺度表示,为不同大小的目标提供统一处理框架。

为什么重要

光照不均会毁掉固定阈值的分割,直方图均衡与 Otsu 是最便宜的对症药;而物体在图像里的尺寸不可预知,「在多个尺度上找东西」从模板匹配、SIFT 到 YOLO 的多尺度检测头一脉相承,金字塔正是这条主线的起点。

直观类比

直方图像人口普查:不关心谁住哪,只关心各收入段有多少人;均衡化就是重新分配「户口」让每个亮度段人数均等。金字塔像一套缩略图文件夹:原图、二分之一、四分之一……小目标在大图里找,大目标在缩略图里看全貌。

前置知识

kp-002(卷积与降采样前的平滑)。

核心概念

原理与机制

均衡化把亮度 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 类间方差)

图示

G0 原图 G1 二分之一 G2 G3 每级 = 上级高斯平滑后隔行隔列抽取 拉普拉斯层 = 相邻两级之差 多尺度框架从模板匹配 延伸到 SIFT 与检测网络

实例与案例

证件照光照不均:全局均衡化把阴影区拉得过亮,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)          # 高斯金字塔降一级

常见误区

与其他知识点的关系

高斯金字塔是 kp-007 SIFT 尺度空间的高效实现骨架;多尺度思想在 kp-018 以检测头形式重现;均衡化与 CLAHE 是 kp-026 训练增强里光度扰动的经典成员。

自测题

  1. 均衡化为什么能提升对比度?副作用是什么?

答案要点:CDF 重映射使亮度分布趋匀、动态范围拉开;副作用是噪声与纹理被同步放大、局部过曝。

  1. Otsu 在什么前提失效?

答案要点:直方图无前景/背景双峰(如弱对比或单峰噪声图)时类间方差无极值可依。

  1. 为什么金字塔每级抽取前必须高斯平滑?

答案要点:满足奈奎斯特采样条件,避免高频混叠成低频伪影。

延伸阅读

相关知识点

kp-007 尺度空间与 SIFTkp-018 YOLO 系与单阶段检测