详细介绍:计算机视觉(三):特征检测与光流法

文章目录

10.边缘检测与形态学运行

核心围绕“从边缘检测原理到工程实现”展开:最初明确边缘是图像灰度值快速突变的区域,由表面法向量/深度/光照/颜色不连续导致,其数学本质对应图像梯度的极值点(梯度方向为边缘法向,梯度幅值为边缘强度);随后介绍离散边缘算子(Roberts(2×2,定位好但噪声敏感)、Sobel(3×3,抗噪声强但定位稍差)、Laplacian(3×3,线性各向同性但易放大噪声));针对噪声问题,提出LoG(高斯-拉普拉斯)DoG(高斯差分)方案(先平滑再求导,DoG可近似LoG);重点详解Canny边缘检测器(被认为“最优”,四步流程:①高斯平滑(σ控制尺度)→②梯度幅值/方向计算→③非极大值抑制(边缘细化到单像素)→④双阈值滞后(高阈值启动边缘、低阈值连接间隙,比例1:3或2:3));最终介绍形态学操作(基础操作:膨胀(扩张边界)、腐蚀(收缩边界),及其对偶性;组合管理:开运算(先腐后膨,去小凸起)、闭运算(先膨后腐,填小间隙),及应用算法如边界提取、区域填充、连通分量提取),为边缘后处理提供软件。


思维导图

在这里插入图片描述


边缘检测基础:定义与数学原理
1. 边缘的本质与成因
  • 边缘定义:图像中灰度值发生快速、显著变化物体边界、纹理突变的直观体现。就是的像素区域,
  • 核心成因(文档图4-7):
    • 表面法向量不连续(物体表面朝向变化);
    • 深度不连续(前景与背景交界);
    • 光照不连续(阴影、高光);
    • 颜色/反射率不连续(不同材质交界)。
  • 关键特性:理想边缘为“阶跃型”(灰度从B₁突变到B₂),实际边缘受噪声影响呈“平滑阶跃”,需结合平滑操作抑制噪声。
2. 边缘检测的数学理论
  • 梯度(Gradient)
    图像f(x,y)的梯度定义为∇ f = [ ∂ f ∂ x , ∂ f ∂ y ] \nabla f = \left[\frac{\partial f}{\partial x}, \frac{\partial f}{\partial y}\right]f=[xf,yf],是边缘检测的核心工具:
    • 梯度方向:θ=arctan(∂f/∂y / ∂f/∂x),指向灰度增长最快的方向,即边缘的法向
    • 梯度幅值∥ ∇ f ∥ = ( ∂ f / ∂ x ) 2 + ( ∂ f / ∂ y ) 2 \|\nabla f\| = \sqrt{(\partial f/\partial x)^2 + (\partial f/\partial y)^2}∥∇f=(f/x)2+(f/y)2,幅值越大,边缘强度越强。
  • 拉普拉斯(Laplacian)
    二阶导数算子,定义为∇ 2 f = ∂ 2 f ∂ x 2 + ∂ 2 f ∂ y 2 \nabla^2 f = \frac{\partial^2 f}{\partial x^2} + \frac{\partial^2 f}{\partial y^2}2f=x22f+y22f,其零交叉点(灰度从正变负或负变正)对应边缘位置,具有旋转各向同性(对任意方向边缘响应一致)。
离散边缘算子:从理论到离散达成

离散的,需用就是由于数字图像有限差分近似导数,文档介绍三类常用离散算子,对比如下:

算子类型核尺寸核示例(以x方向为例)关键特性优势劣势
Roberts算子2×2[[-1, 0], [0, 1]]一阶导数,用对角线差分近似梯度定位精度高,计算快抗噪声能力弱,对45°边缘敏感
Sobel算子3×3[[-1,0,1], [-2,0,2], [-1,0,1]]一阶导数,邻域加权平均(中心权重2)抗噪声能力强,工程常用定位精度略低于Roberts
Laplacian算子3×3[[0,1,0], [1,-4,1], [0,1,0]]二阶导数,线性各向同性对边缘方向无偏向易放大噪声,无边缘方向信息
  • 操作逻辑:所有算子均通过“核与图像卷积”实现,卷积结果即为边缘响应(幅值/零交叉点)。
抗噪声边缘检测:LoG与DoG

离散算子直接处理含噪声图像时,易将噪声误判为边缘,文档提出“先平滑再求导”的解决方案:

1. LoG(高斯-拉普拉斯,Laplacian of Gaussian)
  • 原理:利用卷积的微分性质,先对图像做高斯平滑(抑制噪声),再做拉普拉斯(提取边缘),即∇ 2 ( G σ ∗ f ) = G σ ∗ ∇ 2 f \nabla^2(G_\sigma * f) = G_\sigma * \nabla^2 f2(Gσf)=Gσ2fG σ G_\sigmaGσ为高斯核,σ \sigmaσ为平滑尺度)。
  • 高斯核公式G σ ( x , y ) = 1 2 π σ 2 e − x 2 + y 2 2 σ 2 G_\sigma(x,y) = \frac{1}{2\pi\sigma^2}e^{-\frac{x^2+y^2}{2\sigma^2}}Gσ(x,y)=2πσ21e2σ2x2+y2σ \sigmaσ越大,平滑越强,边缘越粗。
  • 边缘提取:LoG卷积结果的零交叉点即为边缘,需阈值化去除弱零交叉(噪声导致)。
2. DoG(高斯差分,Difference of Gaussians)
  • 定义:用两个不同尺度的高斯核平滑图像后相减,即D o G = G σ 1 − G σ 2 DoG = G_{\sigma_1} - G_{\sigma_2}DoG=Gσ1Gσ2σ 1 > σ 2 \sigma_1 > \sigma_2σ1>σ2)。
  • 核心优势:计算量远低于LoG(无需二阶导数),且在工程上可近似LoG(当σ 1 = k σ 2 \sigma_1 = k\sigma_2σ1=kσ2,k≈1.6时近似度最高)。
  • 边缘提取:与LoG类似,通过DoG结果的零交叉点或局部极值提取边缘。
Canny边缘检测器:“最优”边缘检测方案

J. Canny于1986年提出的检测器,被认为是“最优边缘检测器”,核心满足三大目标:低误差率(少漏检/误检)、高定位性(检测边缘接近真实边缘)、单边缘响应(一个真实边缘对应一个检测点)。

Canny四步流程
  1. 步骤1:高斯平滑

    • 操作:用高斯核G σ G_\sigmaGσ与图像卷积,得到平滑图像S ( x , y ) = G σ ∗ f ( x , y ) S(x,y) = G_\sigma * f(x,y)S(x,y)=Gσf(x,y)
    • 作用:抑制高斯噪声,σ \sigmaσ决定尺度(σ = 1 \sigma=1σ=1像素检测细边缘,σ = 3 \sigma=3σ=3像素检测粗边缘)。
  2. 步骤2:梯度计算

    • 操作:用有限差分近似x/y方向梯度:
      G x ≈ [ S ( x , y + 1 ) − S ( x , y ) + S ( x + 1 , y + 1 ) − S ( x + 1 , y ) ] / 2 G_x ≈ [S(x,y+1)-S(x,y) + S(x+1,y+1)-S(x+1,y)]/2Gx[S(x,y+1)S(x,y)+S(x+1,y+1)S(x+1,y)]/2G y ≈ [ S ( x , y ) − S ( x + 1 , y ) + S ( x , y + 1 ) − S ( x + 1 , y + 1 ) ] / 2 G_y ≈ [S(x,y)-S(x+1,y) + S(x,y+1)-S(x+1,y+1)]/2Gy[S(x,y)S(x+1,y)+S(x,y+1)S(x+1,y+1)]/2
      计算梯度幅值G = G x 2 + G y 2 G = \sqrt{G_x^2 + G_y^2}G=Gx2+Gy2和方向θ = a r c t a n ( G y / G x ) \theta = arctan(G_y/G_x)θ=arctan(Gy/Gx)(量化为0°、45°、90°、135°四方向);
    • 作用:将边缘转化为“高幅值区域”,保留边缘强度与方向信息。
  3. 步骤3:非极大值抑制(NMS)

    • 操作:沿梯度方向(边缘法向)对比当前像素与邻域像素的梯度幅值,仅保留局部极大值(非极大值像素设为0);
    • 作用:将“宽边缘脊”细化为单像素宽边缘,提升定位精度。
  4. 步骤4:双阈值滞后(Hysteresis Thresholding)

    • 操作:
      • 设高阈值T H T_HTH和低阈值T L T_LTL(推荐比例T H : T L = 1 : 3 T_H:T_L=1:3TH:TL=1:32 : 3 2:32:3);
      • 幅值>T H T_HTH:强边缘(直接保留,作为边缘种子);
      • 幅值在T L T_LTL~ T H T_HTH:弱边缘(仅保留与强边缘连通的部分);
      • 幅值<T L T_LTL:噪声(丢弃);
    • 作用:连接边缘间隙,去除孤立弱边缘(噪声),提升边缘完整性。
形态学执行:边缘后处理工具

针对二值图像(边缘检测输出),文档介绍形态学基本操作及应用算法,核心是“结构元素(B)对图像(A)的变换”。

1. 基础操作定义与性质
操作名称数学定义核心作用关键性质
膨胀(Dilation)$ A⊕B = {z , (\hat{B})_z ∩ A ≠ ∅}(\hat{B}为B反射)$扩张物体边界,填补小间隙1. 交换律:A⊕B=B⊕A;
2. 结合律:(A⊕B)⊕C=A⊕(B⊕C)
腐蚀(Erosion)$ A⊖B = {z , B_z ⊆ A}(B_z为B平移z)$收缩物体边界,去除小凸起1. 对偶性:( A ⊖ B ) c = A c ⊕ B ^ (A⊖B)^c = A^c⊕\hat{B}(AB)c=AcB^
2. 单调性:A⊂C→A⊖B⊂C⊖B
开运算(Opening)A ∘ B = ( A ⊖ B ) ⊕ B A∘B = (A⊖B)⊕BAB=(AB)B先腐蚀再膨胀,去除小凸起、断窄连接1. A∘B⊂A;
2. 对噪声鲁棒
闭运算(Closing)A ⋅ B = ( A ⊕ B ) ⊖ B A·B = (A⊕B)⊖BAB=(AB)B先膨胀再腐蚀,填补小间隙、去除小holes1. A⊂A·B;
2. 平滑物体轮廓
2. 典型应用算法
  • 边界提取β ( A ) = A − ( A ⊖ B ) \beta(A) = A - (A⊖B)β(A)=A(AB),用腐蚀后的图像与原图求差,得到物体边界;
  • 区域填充:已知种子点X₀,迭代X k = ( X k − 1 ⊕ B ) ∩ A c X_k = (X_{k-1}⊕B)∩A^cXk=(Xk1B)Ac,直到X_k收敛,填充A中的空洞;
  • 连通分量提取:已知种子点X₀(属于某连通分量),迭代X k = ( X k − 1 ⊕ B ) ∩ A X_k = (X_{k-1}⊕B)∩AXk=(Xk1B)A,直到X_k收敛,提取A中所有与X₀连通的像素;
  • 击中-击不中变换A ⊛ B = ( A ⊖ B 1 ) ∩ ( A c ⊖ B 2 ) A⊛B = (A⊖B₁)∩(A^c⊖B₂)AB=(AB1)(AcB2)(B₁为目标结构,B₂为背景结构),用于特定形状(如角点、线段)的检测。

边缘检测的数学本质是“梯度极值”,请解释梯度与边缘的关系,并对比Roberts、Sobel、Laplacian三种离散算子的核心差异(从核尺寸、抗噪声能力、定位精度角度)。
  1. 梯度与边缘的关系
    边缘是图像灰度快捷突变的区域,数学上对应灰度函数的“一阶导数极值”——梯度幅值∥ ∇ f ∥ \|\nabla f\|∥∇f的峰值位置即为边缘,梯度方向θ \thetaθ与边缘方向垂直(沿边缘法向)。例如,阶跃型边缘的梯度幅值在突变处最大,拉普拉斯(二阶导数)的零交叉点恰好对应该突变位置,二者均为边缘定位的核心依据。

  2. 三种离散算子对比

对比维度Roberts算子(一阶)Sobel算子(一阶)Laplacian算子(二阶)
核尺寸2×23×33×3
抗噪声能力弱(仅用2×2邻域,未加权)强(3×3邻域加权,中心权重2,平滑效果好)弱(二阶导数放大噪声)
定位精度高(对角线差分,对边缘位置敏感)中(加权导致边缘轻微偏移)中(零交叉点定位较准,但受噪声干扰)
边缘方向信息无(仅输出幅值)有(可计算梯度方向)无(仅输出零交叉)
适用场景低噪声、需高精度定位的场景通用场景(如工业检测)需各向同性边缘响应的场景
为何Canny边缘检测器被称为“最优”?其四步流程中“非极大值抑制”和“双阈值滞后”分别解决了传统算子的哪些问题?
  1. Canny“最优”的原因
    Canny检测器通过数学推导,满足边缘检测的三大核心目标(文档46-47页):

    • 低误差率:先高斯平滑抑制噪声,减少“漏检真实边缘”和“误检噪声”;
    • 高定位性:非极大值抑制将边缘细化到单像素,确保检测边缘与真实边缘的距离最小;
    • 单边缘响应:双阈值滞后仅保留与强边缘连通的弱边缘,避免同一真实边缘被多次检测(传统算子常出现“边缘脊宽”问题)。
  2. 关键步骤的作用

    • 非极大值抑制(NMS):解决传统算子(如Sobel)输出“宽边缘脊”的问题——沿梯度方向(边缘法向)对比邻域幅值,仅保留局部极大值,将$边缘从多像素宽细化为1像素宽,显著提升定位精度;
    • 双阈值滞后:解决传统单阈值的“边缘断裂”和“噪声残留”问题——高阈值(如T H T_{H}TH=100)保留强边缘(无噪声),低阈值(如T L T_LTL=33)通过“连通性判断”连接强边缘间隙,同时丢弃孤立弱边缘(噪声),确保边缘的完整性与纯净度。
基础,请定义二者的数学表达式,解释其“对偶性”的含义,并说明开运算(A∘B)和闭运算(A·B)的核心应用场景(各举1个工程实例)。就是形态学操作中“膨胀”与“腐蚀”
  1. 膨胀与腐蚀的定义

    • 膨胀(A⊕B)A ⊕ B = { z ∣ ( B ^ ) z ∩ A ≠ ∅ } A⊕B = \{z | (\hat{B})_z ∩ A ≠ ∅\}AB={z(B^)zA=},其中B ^ \hat{B}B^是结构元素B关于原点的反射,B z B_zBz是B平移z后的集合。本质是“用B扩张A的边界”,例如二值图像中,物体的像素会向周围邻域扩展,填补小间隙。
    • 腐蚀(A⊖B)A ⊖ B = { z ∣ B z ⊆ A } A⊖B = \{z | B_z ⊆ A\}AB={zBzA},本质是“用B收缩A的边界”,例如二值图像中,物体边缘的孤立小像素(噪声)会被移除,小凸起消失。
  2. 对偶性含义
    膨胀与腐蚀关于“集合补运算”对偶,即( A ⊖ B ) c = A c ⊕ B ^ (A⊖B)^c = A^c ⊕ \hat{B}(AB)c=AcB^(A^c是A的补集,B ^ \hat{B}B^是B的反射)。例如,“腐蚀A”的补集等于“膨胀A的补集”,该性质可简化形态学操作的计算(如用膨胀实现腐蚀的补运算)。

  3. 开/闭运算的应用场景

    • 开运算(A∘B=(A⊖B)⊕B):先腐蚀去除小凸起,再膨胀恢复物体主体,核心用于“去除图像中的小噪声块”。例如,工业检测中,金属表面图像的小杂质(小白色块)可借助开运算去除,同时保留金属的整体轮廓。
    • 闭运算(A·B=(A⊕B)⊖B):先膨胀填补小间隙,再腐蚀恢复物体主体,核心用于“连接断裂的边缘或轮廓”。例如,手写文字识别中,笔画断裂的字符(如“0”的缺口)可通过闭运算填补,确保字符完整,提升识别率。

11.图像分割

核心将分割方法分为基于像素的方法基于分组/聚类的方式轮廓基方法深度学习基方法四大类:基于像素的方法包括点检测(用3×3掩码计算响应值∣ R ∣ ≥ T |R|≥TRT)、线检测(4个方向掩码对比响应值)、霍夫变换(直线检测用ρ = x cos ⁡ θ + y sin ⁡ θ \rho=x\cos\theta+y\sin\thetaρ=xcosθ+ysinθ参数空间,圆检测用3D累加器)、直方图分割(自动阈值迭代步骤:初始T→分G₁/G₂→算μ₁/μ₂→更新T至收敛);基于分组/聚类的方法以格式塔原则(邻近性、相似性等7大准则)为基础,涵盖K-means聚类(迭代分配-更新均值至收敛,需预设K)、Mean Shift(凭借核窗口找密度峰值,单参数窗口大小)、图基分割(像素为节点,边权重为相似度)、背景减除(移动平均更新背景,阈值差分提取前景);轮廓基方法包括Snakes(主动轮廓模型)(内/外能量驱动轮廓变形)和Level Set(水平集方程∂ ϕ ∂ t + F ∣ ∇ ϕ ∣ = 0 \frac{\partial \phi}{\partial t}+F|\nabla \phi|=0tϕ+F∣∇ϕ=0);最终提及深度学习基分割(实例分割、语义分割,如OSVOS、RGMP等办法),并利用实例验证各方法效果。


思维导图

在这里插入图片描述


图像分割概述
  1. 核心目标:将图像从像素阵列转化为有意义的区域/轮廓表示,提取关键语义信息(如物体边界、前景目标),实现图像的“紧凑表达”。
  2. 方法分类:文档将分割方法分为四大类——基于像素的方法、基于分组/聚类的方法、轮廓基途径、深度学习基方法,无统一通用理论,需根据场景选择。
  3. 挑战:部分复杂场景(如纹理模糊、遮挡)即使人类也难以准确分割,需结合先验知识或多方法融合。
基于像素的方法(Pixel-based Methods)

该类方法通过单个像素或局部邻域的灰度/响应值实现分割,核心是“像素级特征判断”。

1. 点检测(Point Detection)
  • 原理:用3×3掩码计算像素响应值R = ∑ i = 1 9 w i z i R=\sum_{i=1}^9 w_i z_iR=i=19wiziw i w_iwi为掩码系数,z i z_izi为邻域像素值),当∣ R ∣ ≥ T |R|≥TRT(T为非负阈值,通常取最大绝对响应的90%)时,判定为孤立点。
  • 典型掩码:用于检测孤立亮点/暗点的掩码为[ 1 1 1 1 − 8 1 1 1 1 ] \begin{bmatrix}1&1&1\\1&-8&1\\1&1&1\end{bmatrix}111181111,通过中心像素与邻域的差值放大孤立点响应。
2. 线检测(Line Detection)
  • 原理:设计4个方向(水平、垂直、+45°、-45°)的3×3掩码,计算每个像素在4个方向的响应R 1 R_1R1~R 4 R_4R4,若∣ R i ∣ > ∣ R j ∣ |R_i|>|R_j|Ri>Rj(∀j≠i),则像素属于掩码i对应的线方向。
  • 典型掩码
    线方向掩码示例
    水平[[-1,-1,2],[-1,-1,2],[-1,-1,2]]
    垂直[[-1,-1,-1],[2,2,2],[-1,-1,-1]]
    +45°[[-1,2,-1],[-1,2,-1],[-1,2,-1]]
    -45°[[2,-1,-1],[-1,2,-1],[-1,-1,2]]
  • 实例:对金属线键合图像用-45°掩码处理,阈值化后可提取-45°方向的导线。
3. 霍夫变换(Hough Transform)
  • 核心思想:将图像空间的“点”映射到参数空间的“曲线”,通过“投票”找参数空间的局部极大值,实现直线/圆等几何形状的检测,适用于边缘不连通、部分遮挡的场景。
(1)直线检测
  • 参数空间转换
    • 原始直线方程y = m x + c y=mx+cy=mx+c存在m→±∞的问题(垂直直线),优化为极坐标形式:ρ = x cos ⁡ θ + y sin ⁡ θ \boldsymbol{\rho=x\cos\theta+y\sin\theta}ρ=xcosθ+ysinθ,其中ρ \rhoρ为原点到直线的垂直距离,θ \thetaθ为垂线与X轴的夹角(0 ≤ θ ≤ 2 π 0≤θ≤2π0θ2π0 ≤ ρ ≤ m a x ρ 0≤ρ≤maxρ0ρmaxρ)。
  • 步骤
    1. 初始化H ( θ , ρ ) H(θ,ρ)H(θ,ρ)累加器数组为0;
    2. 对每个边缘点( x , y ) (x,y)(x,y),遍历θ ∈ [ − 90 ° , 180 ° ] θ∈[-90°,180°]θ[90°,180°],计算ρ = x cos ⁡ θ + y sin ⁡ θ ρ=x\cosθ+y\sinθρ=xcosθ+ysinθ,令H ( θ , ρ ) = H ( θ , ρ ) + 1 H(θ,ρ)=H(θ,ρ)+1H(θ,ρ)=H(θ,ρ)+1
    3. 寻找H ( θ , ρ ) H(θ,ρ)H(θ,ρ)的局部极大值,对应图像空间的直线(ρ = x cos ⁡ θ + y sin ⁡ θ ρ=x\cosθ+y\sinθρ=xcosθ+ysinθ)。
  • 难点:累加器单元格大小需平衡精度与计算量(太大合并不同直线,太小漏检)。
(2)圆检测
  • 方程:圆的一般方程为( x − a ) 2 + ( y − b ) 2 = r 2 \boldsymbol{(x-a)^2+(y-b)^2=r^2}(xa)2+(yb)2=r2( a , b ) (a,b)(a,b)为圆心,r为半径)。
  • 累加器设计
    • 已知r:2D累加器A ( a , b ) A(a,b)A(a,b),边缘点( x , y ) (x,y)(x,y)( a = x ± r 2 − ( y − b ) 2 , b ) (a=x±\sqrt{r²-(y-b)²},b)(a=x±r2(yb)2,b)投票;
    • 未知r:3D累加器A ( a , b , r ) A(a,b,r)A(a,b,r),遍历可能的r值,计算对应( a , b ) (a,b)(a,b)并投票。
  • 实例:检测硬币图像,需为不同尺寸的硬币(便士、25美分)设计单独累加器。
4. 直方图相关方法
  • 直方图定义:灰度直方图h ( r k ) = n k h(r_k)=n_kh(rk)=nkr k ∈ [ 0 , L − 1 ] r_k∈[0,L-1]rk[0,L1]为灰度级,n k n_knk为该灰度级的像素数),归一化直方图p ( r k ) = n k / n p(r_k)=n_k/np(rk)=nk/n(n为总像素数,∑ p ( r k ) = 1 \sum p(r_k)=1p(rk)=1)。
  • 常见操作
    操作类型目的关键步骤
    直方图均衡化拉伸灰度范围,提升对比度计算累积分布函数s k = ∑ j = 0 k p ( r j ) s_k=\sum_{j=0}^k p(r_j)sk=j=0kp(rj),映射灰度级
    直方图规定化使输入图直方图匹配参考图计算输入与参考图的累积分布,建立灰度映射关系
    直方图分割用阈值T分割前景与背景自动阈值迭代:
    1. 初始T;
    2.分G₁(>T)/G₂(≤T);
    3.算μ₁/μ₂;
    4. 更新T = ( μ 1 + μ 2 ) / 2 T=(μ₁+μ₂)/2T=(μ1+μ2)/2
    5.收敛(abs( T n e w − T o l d ) < T 0 (T_{new}-T_{old})<T₀(TnewTold)<T0
基于分组/聚类的方法(Grouping/Clustering-based Methods)

该类办法基于“像素相似性”或“人类视觉分组准则”,将像素聚为有意义的簇,核心是“全局/局部相似性聚类”。

1. 格式塔(Gestalt)原则
  • 核心思想:人类视觉框架会根据“整体大于部分之和”的原则分组,文档提出7大准则:
    准则名称描述示例
    邻近性距离近的像素倾向于分组电梯按钮与标签的邻近分组
    相似性灰度/颜色/纹理相似的像素倾向于分组同色像素聚为同一区域
    共同命运运动一致的像素倾向于分组同一物体的像素同步移动
    共同区域同一闭合区域内的像素倾向于分组矩形框内的像素聚为一组
    平行性平行的曲线/像素倾向于分组平行的导线聚为一组
    对称性对称的像素/曲线倾向于分组对称的物体轮廓聚为一组
    连续性连续的曲线/像素倾向于分组断裂但连续的边缘聚为一条线
2. K-means聚类
  • 原理:通过迭代最小化“簇内误差平方和”,将像素分为K个簇。
  • 步骤
    1. 初始化K个簇中心μ 1 , μ 2 , . . . , μ K \mu_1,\mu_2,...,\mu_Kμ1,μ2,...,μK(随机或按距离选择);
    2. 分配:将每个像素x j x_jxj分配到最近的簇中心μ i \mu_iμi(距离用欧氏距离);
    3. 更新:重新计算每个簇的均值μ i = 1 ∣ S i ∣ ∑ x j ∈ S i x j \mu_i=\frac{1}{|S_i|}\sum_{x_j∈S_i}x_jμi=Si1xjSixjS i S_iSi为第i个簇的像素集);
    4. 收敛:若所有簇中心的变化量<ε,停止;否则重复步骤2-3。
  • 优缺点
    优点缺点
    简单快速,收敛到局部最小值需预设K值,对初始化敏感
    适用于球形簇数据对离群点敏感,仅处理球形簇
3. Mean Shift(均值漂移)
  • 原理:通过核窗口(如高斯核)计算“均值漂移向量”,将窗口移动到密度峰值处,实现自适应聚类(无需预设簇数)。
  • 关键公式:Mean Shift向量
    m ( x ) = ∑ i = 1 n x i g ( ∥ x − x i ∥ 2 h ) ∑ i = 1 n g ( ∥ x − x i ∥ 2 h ) − x \boldsymbol{m(x)=\frac{\sum_{i=1}^n x_i g\left(\frac{\|x-x_i\|^2}{h}\right)}{\sum_{i=1}^n g\left(\frac{\|x-x_i\|^2}{h}\right)}-x}m(x)=i=1ng(hxxi2)i=1nxig(hxxi2)x
    其中g ( x ) = − k ′ ( x ) g(x)=-k'(x)g(x)=k(x)(k为核函数),h为窗口大小(唯一参数)。
  • 步骤
    1. 对每个像素初始化核窗口;
    2. 计算Mean Shift向量,移动窗口至新中心;
    3. 重复步骤2至窗口中心收敛;
    4. 合并距离<窗口大小的簇。
  • 优缺点
    优点缺点
    无需预设簇数,对离群点鲁棒计算量大,随特征维度增加性能下降
    可处理非球形簇窗口大小影响结果,需手动调整
4. 图基分割(Graph-based Segmentation)
  • 模型:将图像视为无向图G = ( V , E ) G=(V,E)G=(V,E),其中:
    • 节点V:每个像素为一个节点;
    • 边E:任意两像素间有边,权重为“相似度(Affinity)”。
  • 相似度计算
    • 距离相似度:a f f ( x , y ) = e x p ( − ( x − y ) T ( x − y ) 2 σ d 2 ) aff(x,y)=exp\left(-\frac{(x-y)^T(x-y)}{2\sigma_d^2}\right)aff(x,y)=exp(2σd2(xy)T(xy))
    • 灰度相似度:a f f ( x , y ) = e x p ( − ( I ( x ) − I ( y ) ) T ( I ( x ) − I ( y ) ) 2 σ I 2 ) aff(x,y)=exp\left(-\frac{(I(x)-I(y))^T(I(x)-I(y))}{2\sigma_I^2}\right)aff(x,y)=exp(2σI2(I(x)I(y))T(I(x)I(y)))
    • 颜色/纹理相似度:类似灰度,替换特征为RGB值或纹理特征。
  • 核心:利用图分区算法(如最小割/最大流)将图分为多个子图,使子图内相似度高、子图间相似度低。
5. 背景减除(Background Subtraction)
  • 应用场景:静态背景下提取前景(如监控中的行人、道路上的车辆)。
  • 步骤
    1. 初始化背景模型B ( 0 ) B^{(0)}B(0)(如第一帧图像);
    2. 帧更新:用移动平均更新背景B ( t ) = w a B ( t − 1 ) + w c F ( t ) B^{(t)}=w_a B^{(t-1)} + w_c F^{(t)}B(t)=waB(t1)+wcF(t)w a w_awa为背景权重,w c w_cwc为当前帧权重);
    3. 前景提取:计算帧差∣ F ( t ) − B ( t ) ∣ |F^{(t)}-B^{(t)}|F(t)B(t),大于阈值的像素为前景;
    4. 后处理:用形态学操作(膨胀/腐蚀)去除噪声。
  • 实例:对儿童在沙发上玩耍的序列帧,用平均背景法提取儿童(前景),阈值越大,前景越纯净但可能丢失细节。
轮廓基方法(Contour-based Methods)

“能量驱动轮廓变形”。就是该类方法利用“动态轮廓”演化逼近物体边界,核心

1. Snakes(主动轮廓模型)
  • 定义:又称“可变形轮廓”,借助能量函数最小化驱动轮廓贴合物体边界。
  • 能量函数
    E s n a k e = ∫ 0 1 E i n t ( V ( s ) ) + E i m a g e ( V ( s ) ) + E c o n ( V ( s ) ) d s \boldsymbol{E_{snake}=\int_0^1 E_{int}(V(s)) + E_{image}(V(s)) + E_{con}(V(s)) ds}Esnake=01Eint(V(s))+Eimage(V(s))+Econ(V(s))ds
    • E i n t E_{int}Eint:内能量,控制轮廓平滑度(如长度能量∑ ( ∂ x / ∂ s ) 2 + ( ∂ y / ∂ s ) 2 \sum(\partial x/\partial s)^2+(\partial y/\partial s)^2(x/s)2+(y/s)2、弯曲能量);
    • E i m a g e E_{image}Eimage:图像能量,由图像梯度/边缘信息驱动(梯度大处能量小,吸引轮廓);
    • E c o n E_{con}Econ:约束能量,手动引导轮廓(如外力吸引至目标区域)。
  • 优势:抗噪声、处理边界间隙,适用于医学图像分割(如CT/MRI图像)。
2. Level Set(水平集)
  • 原理:将2D轮廓嵌入3D水平集函数ϕ ( x , y , t ) \phi(x,y,t)ϕ(x,y,t),通过水平集方程控制轮廓演化。
  • 核心方程∂ ϕ ∂ t + F ∣ ∇ ϕ ∣ = 0 \boldsymbol{\frac{\partial \phi}{\partial t}+F|\nabla \phi|=0}tϕ+F∣∇ϕ=0,其中F为速度函数(控制轮廓膨胀/收缩),∣ ∇ ϕ ∣ |\nabla \phi|∣∇ϕ为梯度模(保持轮廓平滑)。
  • 优势:可处理轮廓拓扑变化(如合并/分裂),适用于动态物体分割。
深度学习基分割(Deep Learning-based Segmentation)
  • 类型
    • 语义分割:将每个像素分类为语义类别(如“人”“车”“背景”);
    • 实例分割:在语义分割基础上区分同一类别的不同个体。
  • 方法对比:文档给出实时性对比,RGMP(7.70 FPS)和Ours(6.25 FPS)实时性优于OSVOS(0.11 FPS)和PReMVOS(0.03 FPS)。

霍夫变换检测直线时,为何要将参数空间从“y=mx+c”改为“ρ=xcosθ+ysinθ”?请结合参数范围与计算复杂度说明。

选择“ρ-θ空间”而非“m-c空间”的核心原因是解决“垂直直线参数发散”和“计算复杂度过高”的问题,具体如下:

  1. 参数范围问题
    • 原方程y = m x + c y=mx+cy=mx+c中,斜率m的范围是[ − ∞ , + ∞ ] [-∞,+∞][,+](垂直直线时m→±∞),导致参数空间无限大,无法构建有限大小的累加器数组;
    • 极坐标方程ρ = x cos ⁡ θ + y sin ⁡ θ \rho=x\cosθ+y\sinθρ=xcosθ+ysinθ中,ρ为原点到直线的垂直距离(范围[ 0 , m a x ρ ] [0,maxρ][0,maxρ],maxρ为图像对角线长度),θ为垂线与X轴的夹角(范围[ 0 , 2 π ] [0,2π][0,2π]),参数空间有限,可构建固定大小的累加器(如θ取180个档位,ρ取200个档位),计算可控。
  2. 计算复杂度问题
    • m-c空间的无限性导致累加器无法初始化,需处理“无限大”参数,工程上不可行;
    • ρ-θ空间的有限性使累加器大小固定(如180×200=36000个单元格),每个边缘点仅需遍历θ的180个档位计算ρ,投票过程复杂度为O(N×180)(N为边缘点数),工程上易实现。
      综上,ρ-θ空间通过“有限参数范围”解决了垂直直线的参数发散难题,同时降低了计算复杂度,是霍夫直线检测的工程首选。
K-means与Mean Shift作为两种常用聚类方法,在“簇数预设”“簇形状适应性”“离群点鲁棒性”三个维度有何核心差异?这些差异如何影响它们的分割场景选择?

两种办法在核心维度的差异及场景选择如下表所示:

对比维度K-means聚类Mean Shift聚类
簇数预设需手动预设K值(如K=3表示分3类)无需预设簇数,经过窗口大小h自适应聚类
簇形状适应性仅适用于球形簇(基于欧氏距离,假设簇内内容呈球形分布)适用于任意形状簇(基于密度峰值,可处理非球形、非凸簇)
离群点鲁棒性弱(离群点会显著拉偏簇中心,影响聚类结果)强(离群点所在区域密度低,不会形成独立簇,自动被忽略)

场景选择影响

  1. K-means适用于“簇形状规则、离群点少、已知大致簇数”的场景,如:
    • 简单图像的前景-背景-中间调分割(K=3);
    • 工业产品的表面缺陷分割(缺陷与背景呈球形分布)。
  2. Mean Shift适用于“簇形状不规则、离群点多、未知簇数”的场景,如:
    • 自然图像的纹理分割(如森林中树木、草地、天空的非球形簇);
    • 医学图像的器官分割(器官轮廓不规则,含噪声离群点)。
格式塔原则中的“邻近性”和“相似性”在图像分割中如何具体应用?请结合文档中的电梯按钮案例和灰度图像分割案例说明。

格式塔的“邻近性”和“相似性”原则是人类视觉分组的核心,在分割中通过“像素距离”和“特征相似性”实现分组,具体应用如下:

  1. 邻近性原则的应用

    • 核心逻辑:距离越近的像素/区域,越倾向于被分为同一组,解决“模糊分组”难题;
    • 文档案例(电梯按钮):
      原电梯按钮布局中,按钮与标签的距离相近且无明确分隔,导致用户易按错(如按钮“3”与标签“4”误分组);
      当在按钮与标签间添加分隔线后,邻近性被明确:按钮与同一分隔线内的标签距离更近,被正确分组,误按率降低。
    • 分割应用:在交通标志图像中,标志内部的像素距离近,被分为同一组,与背景(距离远)区分开。
  2. 相似性原则的应用

    • 核心逻辑:灰度/颜色/纹理相似的像素,越倾向于被分为同一组,解除“特征一致区域的提取”问题;
    • 灰度图像案例:
      对含“白墙-灰桌-黑椅”的室内图像,相似性原则通过灰度值分组:
      • 灰度值∈[200,255]的像素(白墙)聚为一组;
      • 灰度值∈[100,150]的像素(灰桌)聚为一组;
      • 灰度值∈[0,50]的像素(黑椅)聚为一组;
        最终实现墙、桌、椅的分割。
    • 彩色图像扩展:在RGB图像中,相似性原则利用RGB值的欧氏距离分组(如红色苹果的RGB值相似,被分为同一组)。

综上,邻近性原则解决“空间位置关联”的分组,相似性原则解决“特征属性关联”的分组,二者结合可实现更符合人类视觉的分割结果。


12.彩色视觉

首先介绍彩色成像手艺的四种构建方式(场时序多芯片色彩滤镜阵列如Bayer模式、Foveon X3传感器,其中Foveon X3借助三层CMOS建立每个像素捕捉RGB三通道);其次阐述颜色基础,包括电磁波光谱(可见光400-700nm)、加性颜色混合(RGB混合成白光,适用于显示器)与减性颜色混合(CMY混合成黑色,适用于印刷);接着讲解颜色匹配实验(通过调整三原色权重匹配测试光,推导颜色匹配函数)及标准颜色空间(线性空间如RGB、CIE XYZ,非线性空间如CIE LAB(感知均匀)、HSV(直观调色));最后介绍环境对颜色感知的影响(色适应、同化作用、后像)及颜色的实际应用(基于颜色的图像检索(CBIR)、皮肤检测、目标跟踪),并布置作业要求用C/C++实现皮肤检测算法。


思维导图

在这里插入图片描述


彩色成像科技

彩色成像通过不同硬件方案达成RGB三通道信息捕捉,四种核心技术对比如下:

技术类型核心原理关键特点应用场景
场时序(Field Sequential)按时间顺序切换RGB光源/滤镜,单传感器分时捕捉结构简单,易出现色彩串扰早期彩色相机
多芯片(Multi-chip)镜头→棱镜分光(按波长)→RGB三个CCD分别接收色彩还原准,无插值,体积大、成本高专业摄影设备(如单反)
色彩滤镜阵列(CFA)单芯片表面覆盖RGB滤镜马赛克(如Bayer模式)常用Bayer模式(2G:1R:1B),仅25%R/B、50%G消费级相机、手机摄像头
Foveon X3传感器三层CMOS传感器,不同波长光穿透深度不同(红深、绿中、蓝浅)每个像素直接捕捉RGB三通道,无插值损失专业级相机(如Sigma相机)
光谱与颜色混合
  1. 光谱基础

    • 电磁波光谱中可见光范围400-700nm,测量工具为分光辐射度计(分离波长并测量各波长能量);
    • 光源光谱示例:红宝石激光(单波长)、钨丝灯(连续光谱)、日光(宽光谱)。
  2. 颜色混合类型

混合类型核心原理原色组合混合结果应用场景
加性混合不同波长光叠加,能量相加R(红)、G(绿)、B(蓝)RGB=白光,R+G=黄,G+B=青,R+B=品红显示器、投影仪、LED屏幕
减性混合颜料吸收特定波长,反射剩余波长,能量相减C(青)、M(品红)、Y(黄)CMY=黑色(理论),实际需加K(黑)弥补色彩偏差印刷、胶片、颜料调色
颜色匹配
  1. 颜色匹配实验

    • 目标:确定三原色( primaries )的权重,使与测试光的视觉效果一致;
    • 实验设计:双分区屏幕,一侧为测试光,另一侧为可调强度的三原色,观察者调整权重至视觉匹配;
    • 关键现象:部分测试光需“负权重”(将某原色加入测试光侧才能匹配)。
  2. 颜色匹配计算

    • 步骤1:选择三原色(如645.2nm红、525.3nm绿、444.4nm蓝);
    • 步骤2:测量颜色匹配函数c 1 ( λ i ) , c 2 ( λ i ) , c 3 ( λ i ) c_1(\lambda_i),c_2(\lambda_i),c_3(\lambda_i)c1(λi),c2(λi),c3(λi)(单位波长测试光的三原色权重);
    • 步骤3:对任意光谱信号t ( λ ) t(\lambda)t(λ),通过矩阵运算求权重:[ e 1 e 2 e 3 ] = [ c 1 ( λ 1 ) ⋯ c 1 ( λ N ) c 2 ( λ 1 ) ⋯ c 2 ( λ N ) c 3 ( λ 1 ) ⋯ c 3 ( λ N ) ] [ t ( λ 1 ) ⋮ t ( λ N ) ] \begin{bmatrix}e_1\\e_2\\e_3\end{bmatrix}=\begin{bmatrix}c_1(\lambda_1)&\cdots&c_1(\lambda_N)\\c_2(\lambda_1)&\cdots&c_2(\lambda_N)\\c_3(\lambda_1)&\cdots&c_3(\lambda_N)\end{bmatrix}\begin{bmatrix}t(\lambda_1)\\\vdots\\t(\lambda_N)\end{bmatrix}e1e2e3=c1(λ1)c2(λ1)c3(λ1)c1(λN)c2(λN)c3(λN)t(λ1)t(λN),即e = C t e=Cte=Ct
标准颜色空间

颜色空间用于数值化表示颜色,分为线性与非线性两类,核心参数对比如下:

颜色空间类型核心特点关键参数/标准应用场景
RGB线性设备友好,基于单波长原色,感知非均匀R(0-255)、G(0-255)、B(0-255)显示器、相机、数字图像存储
CIE XYZ线性1931年CIE制定,基于人眼视觉,国际标准X、Y、Z(三刺激值),投影(x=X/(X+Y+Z),y=Y/(X+Y+Z))颜色标准化、跨设备转换
CIE LAB非线性1976年制定,感知均匀(相同距离对应相同视觉差异)L(亮度)、a(红绿)、b(黄蓝)颜色差异评估、印刷调色
HSV非线性直观符合人类调色习惯,H编码为角度H(0-360°)、S(0-1)、V(0-1)图像编辑(如PS调色)
YIQ非线性NTSC电视标准,分离亮度(Y)与色度(I/Q)Y(亮度)、I(橙蓝)、Q(绿紫)电视广播、视频压缩
  • 关键补充:CIE XYZ存在感知非均匀问题(相同坐标距离≠相同视觉差异),通过McAdam椭圆验证,因此需CIE LAB等均匀空间优化。
环境对颜色感知的影响
  1. 色适应(Chromatic Adaptation):长期暴露于某光源(如暖光、冷光),视觉系统会适应该光源的色度与亮度,导致相同物体在不同光源下感知颜色不同;
  2. 同化作用与对比效应:周围颜色影响当前感知(如灰色块在红色背景下偏绿,在绿色背景下偏红);
  3. 后像(Afterimage):强光刺激后,感光细胞产生负响应,出现与刺激色互补的残留图像(如长时间看红色后,看白色背景出现绿色后像)。
颜色的实际应用
  1. 基于颜色的图像检索(CBIR)

    • 原理:提取图像颜色直方图(无空间信息,抗平移/旋转/尺度),计算查询图与数据库图的直方图交集,按相似度排序;
    • 示例:Google图片搜索、Spylight时尚检索。
  2. 颜色基皮肤检测

    • 核心:利用皮肤在特定颜色空间(如YCbCr、RGB)的阈值范围,区分皮肤与非皮肤区域;
    • 应用:人脸检测、视频监控中的目标分割。
  3. 颜色基目标跟踪

    • 原理:为每个目标建立颜色模型(如聚类模型),凭借颜色匹配跟踪目标(如跟踪不同人物);
    • 参考算法:D.Ramanan等人的“Tracking People by Learning their Appearance”。
作业任务
  • 要求:用C/C++编写皮肤检测算法,提交代码+实验报告;
  • 额外 credit:基于皮肤颜色在视频中实现人脸检测。

彩色成像手艺中,色彩滤镜阵列(如Bayer模式)与Foveon X3传感器在RGB信息捕捉方式上有何核心差异?这些差异导致二者在图像质量与应用场景上有何不同?

核心差异体现在“RGB信息的像素级捕捉方式”:

  1. 色彩滤镜阵列(Bayer模式)

    • 捕捉方式:单芯片表面覆盖RGB滤镜马赛克,常用2G:1R:1B比例(人眼对绿光更敏感),每个像素仅捕捉1个通道(如R或G或B),缺失通道需通过插值(如双线性插值)补充;
    • 图像质量:存在插值误差,易产生伪色或细节损失;
    • 应用场景:消费级设备(手机、普通相机),成本低、体积小。
  2. Foveon X3传感器

    • 捕捉方式:三层CMOS传感器,利用“不同波长光穿透硅的深度不同”(蓝光穿透浅、绿光中、红光深),每个像素直接捕捉RGB三通道信息,无需插值;
    • 图像质量:无插值损失,色彩还原更准、细节更丰富;
    • 应用场景:专业级设备(如Sigma单反相机),对色彩精度要求高的场景(专业摄影、色彩检测)。
加性颜色混合与减性颜色混合的核心原理、原色组合及能量变化规律完全不同,试对比二者差异,并说明各自的典型应用场景为何不同?

二者差异源于“能量作用方式”,具体对比如下:

对比维度加性颜色混合减性颜色混合
核心原理不同波长的光直接叠加,能量相加颜料/滤光片吸收特定波长,反射剩余波长,能量相减
原色组合R(红,650nm)、G(绿,550nm)、B(蓝,~450nm)C(青)、M(品红)、Y(黄)(分别吸收R、G、B)
混合规律原色叠加:RGB=白光,R+G=黄,G+B=青,R+B=品红原色叠加:CMY=黑色(理论),实际因颜料纯度需加K(黑)
能量变化混合后总能量≥单一原色能量(如R+G能量>R)混合后总能量≤单一原色能量(如C+M反射能量<C)
应用场景差异适用于“自发光设备”(显示器、投影仪、LED),因设备可直接发射RGB光叠加;适用于“非自发光介质”(印刷、胶片、颜料),因介质需通过反射环境光呈现颜色,需用颜料吸收特定波长。
CIE XYZ颜色空间作为国际标准,为何还需要CIE LAB颜色空间?二者在“感知均匀性”上有何核心差异?CIE LAB的哪些设计使其能解决XYZ的不足?
  1. 需CIE LAB的原因:CIE XYZ虽为国际标准,但存在感知非均匀性——坐标空间中“相同的欧氏距离”对应“不同的视觉颜色差异”,无法准确量化人眼感知的颜色相似度,而实际场景(如印刷调色、颜色质量检测)需“坐标距离与视觉差异成正比”,因此需CIE LAB优化。

  2. 感知均匀性差异:

    • CIE XYZ:非均匀,通过McAdam椭圆验证——在XYZ的(x,y)投影图中,人眼能分辨的最小颜色差异(Just Noticeable Difference, JND)表现为大小、形状不同的椭圆,椭圆越大,该区域坐标距离与视觉差异的偏差越大(如红色区域椭圆远大于绿色区域);
    • CIE LAB:感知均匀,1976年基于XYZ转换而来,通过非线性变换调整坐标比例,使LAB空间中“相同的欧氏距离”对应“人眼感知的相同颜色差异”,McAdam椭圆近似为大小一致的圆。
  3. CIE LAB的设计优化:

    • 坐标定义:L(亮度,0=黑~100=白)、a(红绿轴,a+为品红、a-为绿)、b(黄蓝轴,b+为黄、b-为蓝);
    • 转换逻辑:基于XYZ与标准白光(如D65)的关系,通过非线性压缩(如对XYZ值取立方根)调整感知比例,确保不同颜色区域的视觉差异与坐标距离一致,满足颜色差异评估、跨设备颜色匹配等需求。

13.计算机视觉中的特征检测

核心聚焦点特征检测:首先定义特征为“不同图像间具有不变性的表示”,说明其在全景拼接等场景中的关键作用(如通过“检测特征点→匹配→图像配准”搭建拼接);随后详细阐述Harris角点检测(基于H矩阵的特征值分类角点/边缘/平坦区域,响应函数R = d e t ( H ) − α t r a c e ( H ) 2 R=det(H)-αtrace(H)^2R=det(H)αtrace(H)2,α=0.06,具有旋转/光照不变性但无尺度不变性);重点讲解SIFT(尺度不变特征变换)(Lowe 2004年提出,通过构建高斯金字塔与DoG尺度空间、极值检测、亚像素关键点定位、方向分配及128维描述子,实现旋转/尺度/光照不变性);最后介绍特征检测的典型应用——全景拼接(完整流程:提取SIFT特征→k-d树匹配→RANSAC求单应→捆绑调整→光度融合),并提及Harris的ANMS改进(解决特征点分布不均问题)。


思维导图

在这里插入图片描述


特征检测基础
  1. 特征的定义与意义

    • 特征:图像中“不同图像间具有不变性的表示”,需满足“外观相似性”,是实现图像配准、拼接、识别的核心。
    • 为什么得特征检测:直接处理像素级数据计算量大,特征可压缩信息(如全景拼接需通过特征点匹配构建图像对齐)。
    • 特征类型:文档聚焦点特征(核心),此外还有边缘、线、曲线等,点特征因“局部性(抗遮挡)、数量多、易区分、效率高”成为主流。
  2. 点特征的评价标准
    优质点特征需满足:窗口沿任意方向平移时,灰度变化显著(如图14所示,角点满足此条件,平坦区域/边缘不满足)。

Harris角点检测(核心点特征算法1)
1. 数学原理
  • 灰度变化度量:设窗口W WW平移( u , v ) (u,v)(u,v),加权平方差(SSD)为:
    E ( u , v ) = ∑ ( x , y ) ∈ W ω ( x , y ) [ I ( x + u , y + v ) − I ( x , y ) ] 2 E(u,v)=\sum_{(x,y)\in W}\omega(x,y)[I(x+u,y+v)-I(x,y)]^2E(u,v)=(x,y)Wω(x,y)[I(x+u,y+v)I(x,y)]2
    其中ω ( x , y ) \omega(x,y)ω(x,y)为高斯窗口(加权邻域),I II为灰度值。
  • H矩阵(相关矩阵):对I ( x + u , y + v ) I(x+u,y+v)I(x+u,y+v)泰勒展开并化简,得E ( u , v ) ≈ [ u v ] H [ u v ] E(u,v)\approx\begin{bmatrix}u&v\end{bmatrix}H\begin{bmatrix}u\\v\end{bmatrix}E(u,v)[uv]H[uv],其中:
    H = ∑ ( x , y ) ∈ W ω ( x , y ) [ I x 2 I x I y I y I x I y 2 ] H=\sum_{(x,y)\in W}\omega(x,y)\begin{bmatrix}I_x^2&I_xI_y\\I_yI_x&I_y^2\end{bmatrix}H=(x,y)Wω(x,y)[Ix2IyIxIxIyIy2]
    I x , I y I_x,I_yIx,Iy为图像x/y方向梯度(Sobel算子计算)。
  • 特征值分类逻辑:通过H的两个特征值λ m a x , λ m i n \lambda_{max},\lambda_{min}λmax,λmin判断像素类型:
    像素类型特征值条件灰度变化特性
    角点λ m a x , λ m i n \lambda_{max},\lambda_{min}λmax,λmin均大且接近任意方向平移均有显著变化
    边缘一特征值大,一特征值小沿边缘方向平移无变化
    平坦区域两者均小任意方向平移均无显著变化
2. 检测步骤(6步)
  1. 高斯卷积平滑图像,计算x/y方向梯度I x , I y I_x,I_yIx,Iy
  2. 对每个像素计算H矩阵;
  3. 计算梯度乘积的加权和:S x 2 = ω ∗ I x 2 S_{x^2}=\omega*I_x^2Sx2=ωIx2S y 2 = ω ∗ I y 2 S_{y^2}=\omega*I_y^2Sy2=ωIy2S x y = ω ∗ I x I y S_{xy}=\omega*I_xI_ySxy=ωIxIy
  4. 构建每个像素的H矩阵:H ( x , y ) = [ S x 2 S x y S x y S y 2 ] H(x,y)=\begin{bmatrix}S_{x^2}&S_{xy}\\S_{xy}&S_{y^2}\end{bmatrix}H(x,y)=[Sx2SxySxySy2]
  5. 计算角点响应值:R = d e t ( H ) − α t r a c e ( H ) 2 R=det(H)-αtrace(H)^2R=det(H)αtrace(H)2d e t ( H ) = λ 1 λ 2 det(H)=\lambda_1\lambda_2det(H)=λ1λ2t r a c e ( H ) = λ 1 + λ 2 trace(H)=\lambda_1+\lambda_2trace(H)=λ1+λ2,α=0.06);
  6. 筛选角点:R>阈值且为局部极大值。
3. 特性与改进
  • 核心特性
    • 不变性:旋转不变(H矩阵特征值旋转后不变)、光照不变(梯度对线性光照变化不敏感);
    • 变异性:尺度不变性缺失(不同尺度下角点可能变为边缘/平坦区域)。
  • 改进方案
    • 问题:Harris检测的角点在高对比度区域分布密集,低对比度区域稀疏;
    • 解决:ANMS(自适应非极大值抑制)(Brown et al. 2005),筛选“局部极大值且响应值比半径r内邻居高10%”的点,完成均匀分布(如图40,ANMS后特征点空间分布更均匀)。
SIFT(尺度不变特征变换,核心点特征算法2)
1. 基础信息
  • 提出:David Lowe(1999 ICCV,2004 IJCV精炼),引用超23000次;
  • 核心优势:相比Harris,新增尺度不变性,且具有旋转/光照不变性,抗噪声、仿射变换、3D视角变化;
  • 应用场景:图像检索、目标识别、视频跟踪、手势识别。
2. 完整流程(6步)
步骤核心操作关键参数/数字
尺度空间构建1.高斯金字塔:每组S=5层,σ = 1.52 \sigma=1.52σ=1.52(修正相机初始模糊σ = 0.5 \sigma=0.5σ=0.5);
2.DoG金字塔:相邻高斯层相减(近似LoG,效率更高)
组数O = [ l o g 2 m i n ( M , N ) − 3 ] O=[log_2min(M,N)-3]O=[log2min(M,N)3],DoG层数=S-1=4(S=5)
局部极值检测1.在3D尺度空间(x,y,σ)中,每个点与“同层8邻域+上下层9点”共26点比较,找极大/极小值确保尺度连续性,k=2^(1/n)(n=2,每组内尺度间隔)
关键点定位1.泰勒展开优化亚像素位置(剔除偏移>0.5的点);
2.剔除低对比度点;
3.剔除边缘点(H矩阵T r 2 ( H ) d e t ( H ) ≤ 12.1 \frac{Tr^2(H)}{det(H)}≤12.1det(H)Tr2(H)12.1
边缘剔除阈值γ=10,( γ + 1 ) 2 γ = 12.1 \frac{(γ+1)^2}{γ}=12.1γ(γ+1)2=12.1
方向分配1.以关键点为中心,1.5σ为半径,计算梯度幅值/方向;
2.36°/柱构建梯度直方图,取峰值为主方向
高斯加权(1.5σ),直方图10柱(360°/36°)
描述子生成1.取16×16区域,划分为4×4子块;
2.每子块8方向直方图,生成128维向量
128维描述子(4×4×8),具有独特性
特征匹配1.k-d树搜索最近邻/次近邻;
2.欧式距离度量相似性
匹配阈值:最近邻距离/次近邻距离<0.8(减少误匹配)
3. 核心特性验证
变换类型特性表现
旋转方向分配步骤确保旋转后描述子一致
尺度高斯金字塔+DoG尺度空间,找到特征点的“特征尺度”,确保尺度不变
光照梯度计算对线性光照变化(如I=aI+b)不敏感,描述子鲁棒
视角/仿射变换局部区域描述子(16×16)对局部形变鲁棒
典型应用:全景拼接
1. 完整流程(5步)
  1. 特征提取:提取每幅图像的SIFT特征点;
  2. 特征匹配:k-d树寻找每个特征点的k个最近邻,筛选匹配对;
  3. 图像配准
    • 选择匹配点最多的m幅图像;
    • RANSAC算法计算两幅图像间的单应矩阵H(剔除 outliers);
    • 贝叶斯后验概率验证匹配结果;
  4. 连接集确定:寻找图像匹配的连接集,确定全景图数量;
  5. 全景生成
    • 捆绑调整(Bundle Adjustment)计算相机参数(焦距f、旋转矩阵R);
    • 增益补偿(解决亮度差异)+多频段光度融合(消除拼接缝)。

Harris角点检测与SIFT在“不变性、适用场景、计算复杂度”上的核心差异是什么?请结合文档内容对比说明。

两者核心差异如下表,源于设计目标的不同(Harris聚焦简单角点检测,SIFT聚焦尺度不变的通用特征):

对比维度Harris角点检测SIFT(尺度不变特征变换)
不变性旋转、光照不变;无尺度不变性旋转、尺度、光照不变;抗仿射/视角变化
适用场景低精度、实时性要求高的场景(如简单跟踪)高精度、跨尺度/视角的场景(全景拼接、图像检索)
计算复杂度低(仅需梯度计算+H矩阵,O(MN))高(高斯金字塔+128维描述子,O(MNlogMN))
特征描述无显式描述子(仅角点位置)128维描述子(高独特性)
关键参数α=0.06(响应函数)128维描述子、σ=1.52(高斯初始值)
SIFT算法通过哪两个核心步骤搭建“尺度不变性”?请结合“高斯金字塔”和“DoG尺度空间”的设计逻辑说明。

SIFT依据“构建多尺度空间”和“特征尺度选择”两个核心步骤实现尺度不变性,具体逻辑如下:

  1. 构建多尺度空间(高斯金字塔+DoG金字塔)
    • 高斯金字塔:将图像按组(Octave)和层(Level)缩放,每组图像尺寸减半,层间高斯模糊σ按2 1 / n 2^{1/n}21/n递增(n=2),覆盖不同尺度(如第0组σ=1.52,第1组σ=3.04);
    • DoG金字塔:相邻高斯层相减得到DoG图像,近似LoG(拉普拉斯高斯),LoG空间具有“尺度归一化”特性(Lindeberg 1994),确保不同尺度下的特征点可比较。
  2. 特征尺度选择
    • 在3D DoG尺度空间(x,y,σ)中,通过“同层8邻域+上下层9点”的26点比较,找到局部极值点,该极值点对应的σ即为“特征尺度”;
    • 特征尺度确保:同一物理特征(如角点)在不同图像尺度下,均能被检测到且对应同一特征尺度,完成尺度不变性。

例如,文档中σ=2.5和σ=9.8的DoG图像,分别检测到小尺度和大尺度的特征点,且对应同一物理目标,验证了尺度不变性。

Harris角点检测中,H矩阵的特征值(λ m a x λ_{max}λmax,λ m i n λ_{min}λmin)如何区分“角点、边缘、平坦区域”?响应函数R=det(H)-αtrace(H)²的设计目的是什么?
  1. H矩阵特征值的分类逻辑
    H矩阵反映窗口内灰度梯度的分布,其特征值λ m a x ≥ λ m i n λ_{max}≥λ_{min}λmaxλmin,对应灰度变化的“主方向”和“次方向”,分类规则如下:

    • 角点λ m a x λ_{max}λmaxλ m i n λ_{min}λmin均较大且数值接近(如λ m a x ≈ λ m i n λ_{max}≈λ_{min}λmaxλmin>阈值),说明窗口沿任意方向平移均有显著灰度变化,符合角点的定义;
    • 边缘λ m a x λ_{max}λmax远大于λ m i n λ_{min}λmin(如λ m a x λ_{max}λmax>阈值,λ m i n λ_{min}λmin<阈值),说明窗口仅沿某一方向(边缘垂直方向)有灰度变化,沿边缘方向无变化,符合边缘的定义;
    • 平坦区域λ m a x λ_{max}λmaxλ m i n λ_{min}λmin均较小(<阈值),说明窗口沿任意方向平移均无显著灰度变化,符合平坦区域的定义。
  2. 响应函数R的设计目的
    直接用λ_min判断角点(Shi-Tomasi 1994)虽简单,但对噪声敏感;Harris提出R=det(H)-αtrace(H)²(α=0.06),设计目的如下:

    • det(H)=λ m a x λ m i n λ_{max} λ_{min}λmaxλmin(反映特征值乘积,角点时大,边缘/平坦时小);
    • trace(H)=λ m a x + λ m i n λ_{max}+λ_{min}λmax+λmin(反映特征值和,避免单一特征值大导致R误判);
    • α为权重系数(0.04~0.06),平衡det(H)和trace(H)²,确保:
      • 角点:R>阈值(det(H)大,trace(H)²相对小);
      • 边缘:R<0(λ m i n λ_{min}λmin小,det(H)≈0,trace(H)²大);
      • 平坦区域:|R|小(det(H)和trace(H)²均小);
        最终实现更鲁棒的角点筛选,减少噪声和边缘的误判。

14.光流与运动目标检测

核心内容包括:光流定义为图像中亮度模式的表观运动,需满足亮度一致性、空间连贯性、小运动三大假设,因“孔径问题”(单像素仅1个方程无法解2个未知量u,v)需额外约束;光流计算分两类——Lucas-Kanade局部法(利用空间连贯性,假设窗口内像素运动一致,通过最小二乘求解稀疏光流,适用于纹理丰富区域)和Horn-Schunck全局法(引入全局平滑项,最小化能量函数得到稠密光流,对噪声敏感);针对大运动场景,采用金字塔粗到精策略(从低分辨率估算运动,逐步映射到高分辨率);运动目标检测介绍三种方法——帧差法(相邻帧差分阈值化,简单但易漏检)、背景减法背景更新)、就是(当前帧减背景模型,背景建模用均值/中值,核心光流法(通过光流向量差异提取运动目标,鲁棒但复杂)。


思维导图

在这里插入图片描述


光流基础(Optical Flow Basics)
  1. 光流与运动场的定义

    • 光流:图像中亮度模式的表观运动,描述像素在连续帧间的位移向量(u,v);理想情况下与“运动场”(3D场景运动在图像的投影)一致,但光照变化会导致光流与运动场偏离。
    • 运动场:3D场景中物体/相机运动在图像平面的投影,是真实运动的反映。
  2. 光流计算的三大核心假设

    • 亮度一致性:同一空间点在不同帧的亮度不变,即I ( x , y , t ) = I ( x + u , y + v , t + 1 ) I(x,y,t)=I(x+u,y+v,t+1)I(x,y,t)=I(x+u,y+v,t+1)(核心方程推导基础)。
    • 空间连贯性:相邻像素属于同一表面,运动向量相似(解决“孔径问题”的关键约束)。
    • 小运动:像素位移小,满足泰勒展开的线性近似条件(I ( x + u , y + v , t + 1 ) ≈ I + I x u + I y v + I t I(x+u,y+v,t+1)\approx I + I_x u + I_y v + I_tI(x+u,y+v,t+1)I+Ixu+Iyv+It)。
  3. 孔径问题(Aperture Problem)(文档18-21页)

    • 成因:单像素仅能构建1个光流约束方程I x u + I y v = − I t I_x u + I_y v = -I_tIxu+Iyv=It,但存在2个未知量(u,v),仅能求解“法向流”(垂直于边缘的运动分量),无法求解“切向流”(平行于边缘的运动分量)。
    • 解决策略:扩大孔径(利用更多像素的空间信息)或引入空间连贯性约束(如Lucas-Kanade的窗口假设)。
局部光流方法:Lucas-Kanade(稀疏光流)
  1. 核心思想

    • 利用空间连贯性假设:假设K×K窗口(典型大小15x15~31x31)内所有像素的运动向量(u,v)相同,将单像素的欠定问题转化为超定问题(窗口内K²个方程,2个未知量)。
  2. 数学求解过程

    • 步骤1:计算图像梯度I x I_xIx(x方向)、I y I_yIy(y方向)、I t I_tIt(时间方向)(常用Sobel算子或中心差分)。
    • 步骤2:构建超定方程组A d = b A\mathbf{d} = \mathbf{b}Ad=b
      A = [ I x ( p 1 ) I y ( p 1 ) I x ( p 2 ) I y ( p 2 ) ⋮ ⋮ I x ( p K 2 ) I y ( p K 2 ) ] , d = [ u v ] , b = − [ I t ( p 1 ) I t ( p 2 ) ⋮ I t ( p K 2 ) ] A=\begin{bmatrix}I_x(p_1)&I_y(p_1)\\I_x(p_2)&I_y(p_2)\\\vdots&\vdots\\I_x(p_{K²})&I_y(p_{K²})\end{bmatrix},\quad \mathbf{d}=\begin{bmatrix}u\\v\end{bmatrix},\quad \mathbf{b}=-\begin{bmatrix}I_t(p_1)\\I_t(p_2)\\\vdots\\I_t(p_{K²})\end{bmatrix}A=Ix(p1)Ix(p2)Ix(pK2)Iy(p1)Iy(p2)Iy(pK2),d=[uv],b=It(p1)It(p2)It(pK2)
    • 步骤3:最小二乘求解:通过伪逆得到最优解d = ( A T A ) − 1 A T b \mathbf{d}=(A^T A)^{-1}A^T \mathbf{b}d=(ATA)1ATb,展开为:
      [ ∑ I x 2 ∑ I x I y ∑ I x I y ∑ I y 2 ] [ u v ] = − [ ∑ I x I t ∑ I y I t ] \begin{bmatrix}\sum I_x^2&\sum I_x I_y\\\sum I_x I_y&\sum I_y^2\end{bmatrix}\begin{bmatrix}u\\v\end{bmatrix}=-\begin{bmatrix}\sum I_x I_t\\\sum I_y I_t\end{bmatrix}[Ix2IxIyIxIyIy2][uv]=[IxItIyIt]
    • 步骤4:窗口加权:为降低边缘像素影响,常用高斯权重(窗口中心权重高,边缘低)。
  3. 求解条件与适用场景

    • 求解条件:A T A A^T AATA需可逆且良态,即其两个特征值λ 1 , λ 2 \lambda_1,\lambda_2λ1,λ2均较大(避免低纹理区域),且λ 1 / λ 2 \lambda_1/\lambda_2λ1/λ2适中(避免边缘区域,类似Harris角点检测条件)。
    • 适用场景:纹理丰富区域的稀疏光流(仅跟踪特征点,如角点),实时性高,常用于目标跟踪。
全局光流方法:Horn-Schunck(稠密光流)
  1. 核心思想

    • 引入全局平滑约束:假设光流场整体平滑(相邻像素运动向量差异小),通过最小化“光流约束误差+平滑误差”的全局能量函数,得到稠密光流(每个像素均有u,v)。
  2. 能量函数与迭代求解

    • 能量函数:e = ∑ ∑ ( c i j + λ s i j ) e=\sum\sum\left(c_{ij}+\lambda s_{ij}\right)e=∑∑(cij+λsij),其中:
      • c i j = ( I x u i j + I y v i j + I t ) 2 c_{ij}=(I_x u_{ij}+I_y v_{ij}+I_t)^{2}cij=(Ixuij+Iyvij+It)2(光流约束误差,满足亮度一致性);
      • s i j = 1 4 [ ( u i + 1 , j − u i j ) 2 + ( u i , j + 1 − u i j ) 2 + ( v i + 1 , j − v i j ) 2 + ( v i , j + 1 − v i j ) 2 ] s_{ij}=\frac{1}{4}\left[(u_{i+1,j}-u_{ij})^2+(u_{i,j+1}-u_{ij})^2+(v_{i+1,j}-v_{ij})^2+(v_{i,j+1}-v_{ij})^2\right]sij=41[(ui+1,juij)2+(ui,j+1uij)2+(vi+1,jvij)2+(vi,j+1vij)2](平滑误差);
      • λ \lambdaλ:平滑项权重(平衡约束与平滑,λ越大光流越平滑)。
    • 迭代公式:对能量函数求导并令导数为0,得到更新规则:
      u i j n + 1 = u ‾ i j n − I x ( I x u ‾ i j n + I y v ‾ i j n + I t ) λ + I x 2 + I y 2 , v i j n + 1 = v ‾ i j n − I y ( I x u ‾ i j n + I y v ‾ i j n + I t ) λ + I x 2 + I y 2 u_{ij}^{n+1}=\overline{u}_{ij}^n - \frac{I_x(I_x \overline{u}_{ij}^n + I_y \overline{v}_{ij}^n + I_t)}{\lambda + I_x^2 + I_y^2},\quad v_{ij}^{n+1}=\overline{v}_{ij}^n - \frac{I_y(I_x \overline{u}_{ij}^n + I_y \overline{v}_{ij}^n + I_t)}{\lambda + I_x^2 + I_y^2}uijn+1=uijnλ+Ix2+Iy2Ix(Ixuijn+Iyvijn+It),vijn+1=vijnλ+Ix2+Iy2Iy(Ixuijn+Iyvijn+It)
      u ‾ i j n , v ‾ i j n \overline{u}_{ij}^n,\overline{v}_{ij}^nuijn,vijn为第n次迭代时像素(i,j)的4邻域均值)。
  3. 优缺点对比

    优点缺点
    输出稠密光流(每个像素均有结果)对噪声敏感(全局平滑放大噪声)
    无需手动选择特征点迭代求解,实时性低于Lucas-Kanade
    适用于弱纹理区域边缘区域光流精度较低
大运动处理:金字塔粗到精策略
  1. 问题背景

    • 光流的“小运动假设”不成立时(像素位移大),泰勒展开误差大,直接求解会出现混叠(Aliasing)(近邻匹配错误)。
  2. 解除策略:高斯金字塔(Coarse-to-Fine)

    • 步骤1:构建图像金字塔:对连续帧I t I_tItI t + 1 I_{t+1}It+1分别构建高斯金字塔(从高分辨率→低分辨率,每层尺寸减半,高斯模糊)。
    • 步骤2:粗分辨率层求解:在最顶层(低分辨率)估算初始光流( u c o a r s e , v c o a r s e ) (u_{coarse},v_{coarse})(ucoarse,vcoarse)(位移被缩小,满足小运动假设)。
    • 步骤3:上采样与精修:将粗层光流上采样(缩放至当前层尺寸),作为当前层的初始值,迭代优化;逐层向下,直至最高分辨率层,得到最终光流。
    • 效果:无金字塔时Lucas-Kanade在大运动区域失效,加金字塔后可准确跟踪。
运动目标检测(Moving Object Detection)
方法名称核心原理关键公式/步骤优缺点适用场景
帧差法相邻帧亮度差分→阈值化→连通区域提取两帧差:D n ( x , y ) = a b s ( f n − f n − 1 ) D_n(x,y)=abs(f_n - f_{n-1})Dn(x,y)=abs(fnfn1)
三帧差:D n ′ = D n + 1 ∩ D n D'_n=D_{n+1} \cap D_nDn=Dn+1Dn(优化漏检)
优点:简单、实时;
缺点:易漏检(慢运动)、边缘不完整
快速运动目标、实时性要求高的场景(如监控)
背景减法当前帧 - 背景模型→阈值化→前景提取背景模型:
1.前n帧均值:B ( x , y ) = 1 n ∑ i = 0 n − 1 I t − i B(x,y)=\frac{1}{n}\sum_{i=0}^{n-1}I_{t-i}B(x,y)=n1i=0n1Iti
2.前n帧中值:B ( x , y ) = m e d i a n { I t − i } B(x,y)=median\{I_{t-i}\}B(x,y)=median{Iti}
优点:目标完整;
缺点:背景更新复杂(动态背景如树叶)
静态背景下的运动目标(如室内监控)
光流法光流向量差异(运动目标与背景光流不同)提取目标计算光流场→聚类光流向量→区分目标与背景光流优点:鲁棒(不受光照/背景动态影响);
缺点:计算复杂、实时性低
动态背景、复杂场景(如交通监控)
作业要求
  • 任务:实现Lucas-Kanade光流算法
  • 输入:图像对或图像序列;
  • 输出:光流场( u , v ) (u,v)(u,v)(每个特征点的位移向量);
  • 参考资源:提供OpenCV/Python等代码链接(如http://opencv-python-tutroals.readthedocs.org)。

Lucas-Kanade(局部光流)与Horn-Schunck(全局光流)在“约束条件、求解方式、光流类型、适用场景”上的核心差异是什么?请结合文档内容对比说明。

两者的核心差异源于“约束条件”的不同,具体对比如下:

对比维度Lucas-Kanade(局部光流)Horn-Schunck(全局光流)
约束条件局部空间连贯性:假设K×K窗口(15x15~31x31)内像素运动一致,将欠定障碍转化为超定问题全局平滑约束:假设光流场整体平滑(相邻像素运动差异小),最小化全局能量函数
求解方式最小二乘直接求解(d = ( A T A ) − 1 A T b \mathbf{d}=(A^T A)^{-1}A^T \mathbf{b}d=(ATA)1ATb),非迭代迭代求解(能量函数求导→更新规则,需多轮迭代收敛)
光流类型稀疏光流:仅求解特征点(如角点)的光流,非特征点无结果稠密光流:每个像素均有光流结果,覆盖全图像
适用场景实时性要求高、纹理丰富的场景(如目标跟踪、视频稳像)需稠密光流、弱纹理区域的场景(如3D结构估计)
对噪声敏感性抗噪声(窗口加权平滑局部噪声)对噪声敏感(全局平滑放大噪声)
光流计算的“三大假设”分别有什么作用?“孔径问题”的本质是什么?如何通过算法设计解决孔径问题?
  1. 三大假设的作用

    • 亮度一致性假设:是光流约束方程的推导基础,将“像素运动”与“亮度变化”关联,得到核心方程I x u + I y v = − I t I_x u + I_y v = -I_tIxu+Iyv=It
    • 空间连贯性假设:解决“孔径问题”的核心,凭借假设相邻像素运动相似,为单像素的欠定方程补充约束(Lucas-Kanade的窗口约束、Horn-Schunck的全局平滑均基于此);
    • 小运动假设:确保泰勒展开的线性近似成立(I ( x + u , y + v , t + 1 ) ≈ I + I x u + I y v + I t I(x+u,y+v,t+1)\approx I + I_x u + I_y v + I_tI(x+u,y+v,t+1)I+Ixu+Iyv+It),是光流线性求解的前提。
  2. 孔径障碍的本质
    单像素仅能提供1个光流约束方程(I x u + I y v = − I t I_x u + I_y v = -I_tIxu+Iyv=It),但存在2个未知量(u:x方向位移,v:y方向位移),属于欠定问题,仅能求解“法向流”(垂直于边缘的运动分量),无法求解“切向流”(平行于边缘的运动分量)。

  3. 解决策略

    • 扩大孔径:增加窗口内像素数量,利用空间连贯性假设(如Lucas-Kanade用15x15窗口,得到225个方程,超定求解);
    • 全局约束:引入全局平滑项(如Horn-Schunck的能量函数),从全局角度约束光流场,补充局部约束不足。
运动目标检测的“帧差法”“背景减法”“光流法”各有什么核心局限?在实际应用中如何选择?
  1. 各方法的核心局限

    • 帧差法:①“小运动失效”(像素位移小于1像素时,差分结果低于阈值,漏检);②“边缘不完整”(差分仅保留目标边缘,内部空洞);③“对光照敏感”(光照突变误判为运动目标);
    • 背景减法:①“动态背景难建模”(如树叶晃动、水面波纹,背景模型易污染);②“背景更新滞后”(缓慢变化的背景如阴影,无法及时更新,导致目标残留);
    • 光流法:①“计算复杂”(尤其是稠密光流,实时性低);②“弱纹理区域精度低”(光流求解依赖梯度,弱纹理区域梯度小,光流误差大)。
  2. 实际应用选择原则

    • 若场景为静态背景、快速运动目标、实时性要求高(如室内监控、工业流水线):选帧差法(优先三帧差优化漏检);
    • 若场景为静态背景、慢运动目标、需完整目标轮廓(如商场人流统计):选背景减法(背景建模用中值法抗噪声,加背景更新策略);
    • 若场景为动态背景、复杂光照、需鲁棒检测(如交通监控、户外场景):选光流法(结合金字塔解除大运动,用稀疏光流平衡实时性与精度)。

15.双目立体视觉与3D重建

核心是通过双相机拍摄的图像恢复场景3D几何,首先介绍图像中3D信息的提取线索(如阴影、纹理、运动等),随后阐述双目立体的核心原理——基于三角测量(Triangulation),通过计算对应点的视差(Disparity)推导深度(公式z = f b d z=\frac{fb}{d}z=dfbf ff为焦距、b bb为基线、d dd为视差);关键步骤包括利用极线约束(Epipolar Constraint)将对应点匹配从2D搜索降为1D,通过图像校正(Rectification)使极线平行以简化匹配,采用窗口匹配(如SSD、相关性)解决对应点问题;还详细讲解双目标定(相对定向需5对对应点、绝对定向需3个非共线点)、基础矩阵(Fundamental Matrix)的8点估计算法(秩2约束),末了补充结构光扫描(单条纹、二进制编码等)作为双目立体的补充,搭建高精度3D扫描与建模。


思维导图

在这里插入图片描述


图像中的3D信息提取线索

文档首先列举了从2D图像恢复3D信息的关键线索,这些是立体视觉的基础支撑:

线索类型具体形式作用
光照相关阴影(Shading)、高光(Highlights)、光度立体(Photometric Stereo)从亮度变化推断表面法向与深度
纹理与聚焦纹理密度变化、聚焦/散焦(Focus/Defocus)纹理稀疏→远,聚焦区域→深度匹配
运动相关运动视差、从运动恢复结构(SfM)多帧运动图像关联3D结构
其他线索轮廓(Silhouettes)、互反射(Inter-reflections)、偏振(Polarization)辅助约束3D形状边界
双目立体视觉基础原理
1. 视差(Disparity)与深度(Depth)的关系
  • 核心依据三角测量原理,假设双相机光轴平行,焦距为f ff,基线(两相机光心距离)为b bb
  • 关键公式推导
    对3D点P ( x , y , z ) P(x,y,z)P(x,y,z),左相机投影点( x l , y l ) (x_l,y_l)(xl,yl)、右相机投影点( x r , y r ) (x_r,y_r)(xr,yr),由相似三角形得:
    z f = x x l = x − b x r \frac{z}{f}=\frac{x}{x_l}=\frac{x-b}{x_r}fz=xlx=xrxb,整理得视差d = x l − x r d=x_l-x_rd=xlxr,深度公式:
    z = f b d \boldsymbol{z=\frac{fb}{d}}z=dfb
    结论:深度与视差成反比,视差越大,物体越近。
  • 关键问题:需解决两个核心问题——①找到左/右图像的对应点( x l , y l ) (x_l,y_l)(xl,yl)( x r , y r ) (x_r,y_r)(xr,yr)(对应点匹配问题);②已知相机内参(f ff)与外参(b bb)(相机标定问题)。
2. 极线约束(Epipolar Constraint)
  • 定义:过左相机光心C l C_lCl、右相机光心C r C_rCr与3D点P PP的平面为极平面,极平面与左/右图像平面的交线为极线,两光心连线与图像平面的交点为极点
  • 作用:将对应点匹配从“2D全图搜索”简化为“1D极线搜索”,大幅降低计算复杂度,是双目匹配的核心约束。
3. 图像校正(Stereo Image Rectification)
  • 目的:通过单应变换将左/右图像重投影到平行于基线的公共平面,使对应极线变为水平且对齐,此时对应点仅在同一行搜索,进一步简化匹配。
  • 关键步骤
    1. 计算新旋转矩阵R RR:以基线方向为r 1 r_1r1r 1 = ( c 1 − c 2 ) / ∥ c 1 − c 2 ∥ r_1=(c_1-c_2)/\Vert c_1-c_2\Vertr1=(c1c2)/∥c1c2),构建正交坐标系r 2 = r 1 × [ 0 , 0 , 1 ] T r_2=r_1×[0,0,1]^Tr2=r1×[0,0,1]Tr 3 = r 1 × r 2 r_3=r_1×r_2r3=r1×r2
    2. 重投影左/右图像,更新相机投影矩阵P ~ 1 = A [ R ∣ t ~ 1 ] \tilde{P}_1=A[R|\tilde{t}_1]P~1=A[Rt~1]P ~ 2 = A [ R ∣ t ~ 2 ] \tilde{P}_2=A[R|\tilde{t}_2]P~2=A[Rt~2]
    3. 优化重采样误差,确保校正后无明显畸变(Good Rectification需避免边缘拉伸)。
对应点匹配算法
1. 基础匹配逻辑
  • 核心思想:对左图像每个像素,在右图像对应极线上(校正后为同一行),经过“窗口匹配”计算相似度,选择最优像素作为对应点。
  • 相似度度量:Sum of Squared Difference(SSD)、归一化互相关(NCC)等。
2. 窗口大小的影响
窗口大小优点缺点适用场景
小窗口(如8×8)对边缘细节保留好,适用于纹理丰富区域对噪声敏感,易匹配错误精细结构场景(如小物体)
大窗口(如20×20)抗噪声能力强,匹配更稳定模糊边缘,易跨物体匹配低纹理场景(如墙面)
自适应窗口平衡细节与抗噪声,动态调整窗口大小计算复杂度高复杂纹理场景(Kanade&Okutomi算法)
双目立体标定

标定是获取相机内参(焦距f ff、主点( u 0 , v 0 ) (u_0,v_0)(u0,v0))与外参(旋转R RR、平移t tt)的关键步骤,分两类:

标定类型目的输入需求关键约束
相对定向求左相机相对于右相机的R RRt tt≥5对图像对应点(无场景3D坐标)旋转矩阵正交性(R T R = I R^TR=IRTR=I),尺度模糊(需固定t tt的模)
绝对定向求立体系统相对于外部坐标系的R RRt tt3个非共线场景点的左/右环境3D坐标无尺度模糊,需场景点真实3D坐标
求解方法最小化重投影误差超定系统(多组对应点)带正交约束的非线性优化(E = ∑ ∥ e i ∥ 2 + λ ( R T R − I ) E=\sum\Vert e_i\Vert^2+\lambda(R^TR-I)E=ei2+λ(RTRI)
基础矩阵(Fundamental Matrix)
1. 定义与作用
  • 核心公式:对未校准相机,对应点x = ( u , v , 1 ) T x=(u,v,1)^Tx=(u,v,1)Tx ′ = ( u ′ , v ′ , 1 ) T x'=(u',v',1)^Tx=(u,v,1)T满足x ′ T F x = 0 \boldsymbol{x'^T F x=0}xTFx=0,其中F = K − T ε K ′ − 1 F=K^{-T}\varepsilon K'^{-1}F=KTεK1ε = [ t ] × R \varepsilon=[t]_\times Rε=[t]×R为本质矩阵,K KK为相机内参)。
  • 性质:3×3矩阵,秩为2,7个自由度(9个元素-1个尺度-1个秩约束)。
2. 8点算法(Estimation)
  • 步骤
    1. 构建线性方程组:每对对应点生成1个方程u u ′ f 11 + v u ′ f 12 + u ′ f 13 + u v ′ f 21 + v v ′ f 22 + v ′ f 23 + u f 31 + v f 32 + f 33 = 0 uu'f_{11}+vu'f_{12}+u'f_{13}+uv'f_{21}+vv'f_{22}+v'f_{23}+uf_{31}+vf_{32}+f_{33}=0uuf11+vuf12+uf13+uvf21+vvf22+vf23+uf31+vf32+f33=0,8对对应点生成8×9矩阵U UU
    2. 求解最小二乘:求U T U U^TUUTU的最小特征值对应的特征向量,即为F FF的初始解;
    3. 秩约束修正:因噪声导致初始F FF可能秩为3,通过SVD分解F = U Σ V T F=U\Sigma V^TF=UΣVT,令Σ ′ = diag ( σ 1 , σ 2 , 0 ) \Sigma'=\text{diag}(\sigma_1,\sigma_2,0)Σ=diag(σ1,σ2,0),得到秩2的F ′ = U Σ ′ V T F'=U\Sigma' V^TF=UΣVT
结构光与3D扫描

作为双目立体的补充,通过投影结构化光解决对应点匹配难题,实现高精度3D扫描:

结构光类型原理优点缺点
单条纹扫描投影激光条纹,沿物体移动扫描精度高(<0.01mm)慢,需多帧图像(Cyberware扫描仪)
二进制编码光投影n nn幅二进制图案,每像素生成n nn位编码快(2 n − 1 2^n-12n1条纹仅需n nn幅图)对遮挡敏感
实时3D重建投影复杂图案(如随机散斑),单帧匹配实时性强(30Hz)精度略低,需复杂匹配算法
应用案例Digital Michelangelo方案、Microsoft Kinect覆盖工业检测、数字文物建模等——

双目立体视觉中,深度与视差的关系是如何推导的?该关系反映了二者怎样的内在联系?

推导依据是平行光轴双相机的相似三角形原理,具体步骤如下:

  1. 假设双相机光轴平行,左相机光心C l C_lCl、右相机光心C r C_rCr,基线长度b = ∥ C l C r ∥ b=\Vert C_lC_r\Vertb=ClCr,焦距均为f ff
  2. 3D点P ( x , y , z ) P(x,y,z)P(x,y,z)在左图像投影为( x l , y l ) (x_l,y_l)(xl,yl),右图像投影为( x r , y r ) (x_r,y_r)(xr,yr),因光轴平行,y l = y r y_l=y_ryl=yr
  3. 对左相机,由相似三角形z f = x x l \frac{z}{f}=\frac{x}{x_l}fz=xlx;对右相机,z f = x − b x r \frac{z}{f}=\frac{x-b}{x_r}fz=xrxb
  4. 联立两式消去x xx,得视差d = x l − x r d=x_l-x_rd=xlxr,整理得深度公式z = f b d \boldsymbol{z=\frac{fb}{d}}z=dfb

内在联系:深度与视差成反比——视差越大(左/右投影点横向距离越远),物体越近;视差越小,物体越远,这是双目立体借助2D视差恢复3D深度的核心依据。

极线约束在双目对应点匹配中起到什么作用?图像校正为何能进一步简化匹配过程?
  1. 极线约束的作用
    极线约束源于“3D点P PP、左光心C l C_lCl、右光心C r C_rCr共面(极平面)”,导致右图像中P PP的对应点必在极线上,左图像对应点同理。该约束将对应点匹配从“2D全图搜索”(复杂度O ( M N ) O(MN)O(MN))降为“1D极线搜索”(复杂度O ( M ) O(M)O(M)O ( N ) O(N)O(N)),大幅降低计算量,避免无效搜索。

  2. 图像校正的目的与简化原理
    图像校正通过单应变换,将左/右图像重投影到平行于基线的公共平面,使校正后的极线满足两个条件:①极线水平;②左/右图像的对应极线位于同一行。
    此时,左图像中任意像素( u , v ) (u,v)(u,v)的对应点必在右图像的第v vv行,匹配仅需在同一行滑动窗口搜索,无需再沿倾斜极线查找,进一步将匹配复杂度从“1D任意方向”简化为“1D水平方向”,且便于硬件加速。

基础矩阵的8点算法为何需要对初始解进行“秩2约束”修正?该约束的物理意义是什么?
  1. 秩2约束修正的原因
    基础矩阵F FF的理论秩为2,源于其定义F = K − T ε K ′ − 1 F=K^{-T}\varepsilon K'^{-1}F=KTεK1——本质矩阵ε = [ t ] × R \varepsilon=[t]_\times Rε=[t]×R是3×3反对称矩阵与旋转矩阵的乘积,秩为2,因此F FF的秩也为2。但在实际计算中,由于图像噪声、对应点匹配误差,通过8点算法得到的初始F FF可能秩为3,违背理论约束,若直接使用会导致极线不相交于极点,产生匹配错误,因此需凭借SVD分解将最小奇异值置0,强制F FF秩为2。

  2. 秩2约束的物理意义
    秩2约束对应双目立体的极线几何一致性——所有极线必须相交于极点(左极点在右图像的极线上,右极点在左图像的极线上)。若F FF秩为3,极线会呈现无规律分布,无法满足“3D点、双光心共面”的物理规律,导致后续3D重建结果失真;秩2约束确保F FF符合双目成像的几何本质,保证极线约束的有效性。

posted on 2025-12-09 11:37  ljbguanli  阅读(39)  评论(0)    收藏  举报