计算机视觉(二):光度立体视觉与图像滤波
7.光照与光度立体视觉(I)
先简要回顾张正友标定法的核心(平面模板、单应约束、非线性优化)及OpenCV/Matlab实现,再拓展相机标定方法(含基于Kruppa方程的自标定,需至少3对图像,利用绝对二次曲线约束);重点讲解手眼标定(分eye-in-hand(相机固连机械臂)与eye-to-hand(相机固定),核心方程AX=XB,A为已知的baseHtool,B为相机标定得到的calHcam,X为待求的toolHcam);随后系统介绍光照相关知识(可见光波长400-700nm、机器视觉常用光源特性对比、辐射度学核心概念:立体角(单位球面度,球体为4π)、辐射强度(W/steradian)、辐照度(W/m²)、辐射率(W/(m²·steradian)))及BRDF(双向反射分布函数)(定义表面反射特性,满足能量守恒、互易性、旋转对称性)。
思维导图

详细总结
相机标定方法回顾与拓展
文档先回顾上一章节的张正友标定法,再补充其他标定方法,形成完整的相机标定知识体系。
1. 张正友标定法(回顾)
- 核心逻辑:通过拍摄至少2个不同角度的平面模板(如棋盘格),利用单应矩阵H与内参的约束关系求解参数。
- 关键步骤:
- 图像采集:打印平面模板,拍摄多幅不同角度的模板图像;
- 角点检测:提取模板的2D角点坐标(如OpenCV的
findChessboardCorners); - 解析求解:构建内参约束(h1TBh2=0h_1^T B h_2=0h1TBh2=0、h1TBh1=h2TBh2h_1^T B h_1 = h_2^T B h_2h1TBh1=h2TBh2,B=A−TA−1B=A^{-T}A^{-1}B=A−TA−1),通过SVD求内参矩阵A;
- 非线性优化:用Levenberg-Marquardt算法最小化投影误差,优化内参、外参及畸变系数。
- 工具实现:
工具 核心函数/操作 OpenCV findChessboardCorners(角点检测)、calibrateCamera(标定)、undistort(去畸变)Matlab 运行 calib_gui,加载图像→提取角点→标定→查看结果(内参、外参可视化)
2. 其他相机标定方法分类
文档将相机标定方法按“是否依赖标定物”分为三类,重点介绍自标定方法:
- 分类框架:
标定类型 核心特点 典型方法/工具 基于标定物 依赖已知结构的标定目标 3D标定块、2D棋盘格(张正友法)、1D标定物 自标定 无需标定物,利用多图几何约束 Kruppa方程(基于绝对二次曲线) 主动视觉标定 控制相机/光源运动,获取已知运动参数 相机纯平移、绕轴旋转 - Kruppa方程自标定:
- 核心依据:绝对二次曲线(无穷远平面上的二次曲线,定义为XTX=0,t=0X^T X=0,t=0XTX=0,t=0,X为齐次坐标);
- 投影关系:绝对二次曲线在图像上的投影满足mT(KKT)−1m=0m^T (KK^T)^{-1} m=0mT(KKT)−1m=0(m为图像点齐次坐标,K为内参矩阵);
- 方程推导:对左右相机,结合基础矩阵F和极点e,推导得Kruppa方程:[el]×Tω[el]×=λFTωF[e_l]_\times^T \omega [e_l]_\times = \lambda F^T \omega F[el]×Tω[el]×=λFTωF(ω=KKT\omega=KK^Tω=KKT,含5个独立未知数);
- 约束条件:每对图像提供2个约束,需至少3对图像,且相机内参保持不变。
手眼标定(Hand-eye Calibration)
手眼标定是机器人视觉的核心技术,用于统一“机械臂坐标”与“相机坐标”,文档详细介绍其类型、坐标关系及求解逻辑。
1. 应用场景
机器人通过相机获取环境信息,完成测量、目标跟踪、导航、抓取(Pick and Place) 等任务,需先统一坐标系统。
2. 两种标定类型
| 类型 | 相机安装方式 | 核心待求参数 | 适用场景 |
|---|---|---|---|
| eye-in-hand | 相机固连于机械臂夹具(tool)上 | toolHcam(夹具→相机的变换) | 机器人抓取(需随臂移动) |
| eye-to-hand | 相机固定在环境中(不随机械臂移动) | baseHcam(基坐标→相机的变换) | 固定视角监控、大范围测量 |
3. 坐标转换关系与核心方程
- 关键坐标系定义:
- base:机械臂基坐标系(固定,已知);
- tool:机械臂夹具坐标系(随臂运动,baseHtool可从机器人系统读取,已知);
- cam:相机坐标系(需与其他坐标关联);
- cal:标定板坐标系(固定,calHcam可通过相机标定得到,已知)。
- 核心方程推导:
- 对eye-in-hand:base→tool→cam的变换为baseHtool × toolHcam;base→cal→cam的变换为baseHcal × calHcam;
因baseHcal固定,故baseHtool × toolHcam = baseHcal × calHcam,令A=baseHtool、B=calHcam、X=toolHcam,得AX=XB; - 求解:A和B已知,通过矩阵分解(如SVD)求解X(待求变换矩阵)。
- 对eye-in-hand:base→tool→cam的变换为baseHtool × toolHcam;base→cal→cam的变换为baseHcal × calHcam;
光照与机器视觉(Lighting in Vision)
光照是影响图像质量的关键因素,文档从光谱、光源特性、光照影响三方面展开:
1. 光的光谱分布
- 可见光波长范围:400-700nm(人眼可感知);
- 其他波段:γ射线(<0.01nm)、X射线(0.01-10nm)、红外线(700nm-1mm)、无线电波(>1mm),机器视觉主要利用可见光。
2. 机器视觉常用光源特性对比
| 光源类型 | 光效(lm/W) | 平均寿命(h) | 色温(K) | 核心特点 |
|---|---|---|---|---|
| 卤素灯 | 12~24 | 1000 | 2800~3000 | 发热量大,价格便宜,体积小 |
| 荧光灯 | 50~120 | 1500~3000 | 3000~6000 | 价格便宜,适用于大面积照射 |
| LED灯 | 110~250 | 100000 | 全系列 | 功耗低,发热小,寿命长,价格便宜,应用广 |
| 氙灯 | 150~330 | 1000 | 5500~12000 | 光照强度高,可连续快速点亮 |
| 激光 | 50000 | - | 全系列 | 方向性、单色性、相干性好,强度极高 |
3. 光照对图像质量的影响
- 直接照明:易产生强光反射和阴影,可能导致目标细节丢失;
- 间接照明:光线柔和,阴影弱,目标边缘更清晰,适用于高反光物体(如金属零件)。
辐射度学(Radiometry)
辐射度学是描述光能量传播的科学,文档系统介绍其核心概念及与图像亮度的关系,是理解图像强度的基础。
1. 核心概念定义与单位
| 概念 | 定义 | 公式 | 单位 | 关键说明 |
|---|---|---|---|---|
| 立体角(dω) | 衡量空间中“角度大小”的物理量,类比平面角 | dω=dA′R2=dAcosθiR2d\omega=\frac{dA'}{R^2}=\frac{dA cos\theta_i}{R^2}dω=R2dA′=R2dAcosθi | 球面度(steradian) | 球体的总立体角为4π球面度 |
| 辐射强度(J) | 光源在单位立体角内发射的光通量(能量/时间) | J=dΦdωJ=\frac{d\Phi}{d\omega}J=dωdΦ | W/steradian | 描述光源的“方向性发光强度” |
| 辐照度(E) | 表面单位面积接收的光通量 | E=dΦdAE=\frac{d\Phi}{dA}E=dAdΦ | W/m² | 与光源方向无关,仅关注表面接收的总能量 |
| 辐射率(L) | 表面在单位投影面积(dA cosθ_r)、单位立体角内发射的光通量 | L=d2Φ(dAcosθr)dωL=\frac{d^2\Phi}{(dA cos\theta_r)d\omega}L=(dAcosθr)dωd2Φ | W/(m²·steradian) | 描述表面的“发光/反射能力”,沿光线传播不变 |
2. 关键关系
- 辐射率守恒:辐射率L沿光线传播方向保持不变(由能量守恒推导,是光传输的基础);
- 场景辐射度与图像辐照度:
小视场下(cos⁴α影响可忽略),图像辐照度E与场景辐射度L成正比,即E∝L,线性映射关系为:
E=L⋅π4⋅(df)2⋅cos4αE=L \cdot \frac{\pi}{4} \cdot \left(\frac{d}{f}\right)^2 \cdot cos^4\alphaE=L⋅4π⋅(fd)2⋅cos4α
(d为镜头直径,f为焦距,α为光线与镜头光轴的夹角); - 像素值与辐照度:
相机响应函数g建立辐照度E与像素值I的映射(g:E→Ig:E→Ig:E→I),实际中为非线性映射(如gamma曲线),需通过辐射定标获取逆映射g−1:I→Eg^{-1}:I→Eg−1:I→E。
3. 辐射定标(Radiometric Calibration)
- 目的:消除相机非线性响应的影响,从像素值I反推场景辐照度E;
- 方法:
- 使用已知反射率的色卡(如反射率3.1%、9.0%、19.8%等);
- 拍摄多曝光图像,覆盖完整的响应曲线;
- 假设光照均匀,利用色卡的已知反射率建立E与I的关系。
表面反射特性(BRDF)
BRDF(双向反射分布函数)是描述表面反射行为的核心模型,文档详细介绍其定义与性质。
1. 定义
BRDF表示表面在入射方向(θ_i,φ_i) 接收光照后,在出射方向(θ_r,φ_r) 的反射能力,公式为:
BRDF(θi,ϕi;θr,ϕr)=Lsurface(θr,ϕr)Esurface(θi,ϕi)BRDF(\theta_i,\phi_i;\theta_r,\phi_r)=\frac{L^{surface}(\theta_r,\phi_r)}{E^{surface}(\theta_i,\phi_i)}BRDF(θi,ϕi;θr,ϕr)=Esurface(θi,ϕi)Lsurface(θr,ϕr)
- Lsurface(θr,ϕr)L^{surface}(\theta_r,\phi_r)Lsurface(θr,ϕr):表面在出射方向的辐射率;
- Esurface(θi,ϕi)E^{surface}(\theta_i,\phi_i)Esurface(θi,ϕi):表面在入射方向的辐照度。
2. 关键性质
- 能量守恒:表面反射的总能量不超过入射能量,即∫半球f(θi,ϕi;θr,ϕr)dωi≤1\int_{半球} f(\theta_i,\phi_i;\theta_r,\phi_r) d\omega_i ≤1∫半球f(θi,ϕi;θr,ϕr)dωi≤1;
- 互易性:入射方向与出射方向互换,BRDF值不变,即f(θi,ϕi;θr,ϕr)=f(θr,ϕr;θi,ϕi)f(\theta_i,\phi_i;\theta_r,\phi_r)=f(\theta_r,\phi_r;\theta_i,\phi_i)f(θi,ϕi;θr,ϕr)=f(θr,ϕr;θi,ϕi);
- 旋转对称性:表面绕法向量旋转时,BRDF值不变,可简化为3个变量的函数:f(θi,θr,ϕi−ϕr)f(\theta_i,\theta_r,\phi_i-\phi_r)f(θi,θr,ϕi−ϕr)。
六、作业任务
- 内容:利用给定GitHub代码(https://github.com/QuantuMope/handeye-4dof),实现四轴机器人的eye-to-hand手眼标定;
- 参考文献:Ulrich等人的《Hand-Eye Calibration of SCARA Robots》(Semantic Scholar链接:https://www.semanticscholar.org/paper/Hand-EyeCalibration-of-SCARA-Robots/Ulrich/98a64a83ef8fdcb20dc008a0a0c601f18875d9e2)。
关键问题
手眼标定中eye-in-hand与eye-to-hand在相机安装方式、待求参数及适用场景上有何核心差异?请结合坐标转换方程说明。
两者的核心差异体现在相机安装位置、待求参数及应用场景,具体如下表,且均基于核心方程AX=XB推导:
| 对比维度 | eye-in-hand | eye-to-hand |
|---|---|---|
| 相机安装方式 | 相机固连于机械臂夹具(tool),随机械臂运动 | 相机固定在环境中,不随机械臂运动 |
| 已知参数(A/B) | A=baseHtool(基坐标→夹具的变换,机器人系统读取);B=calHcam(标定板→相机的变换,相机标定得到) | A=baseHtool(同上);B=baseHcal(基坐标→标定板的变换,固定不变) |
| 待求参数(X) | X=toolHcam(夹具→相机的变换,随臂运动时不变) | X=baseHcam(基坐标→相机的变换,固定不变) |
| 适用场景 | 机器人抓取、随臂检测(需相机跟随机械臂移动) | 固定视角监控、大范围场景测量(相机位置固定) |
方程推导逻辑:
- eye-in-hand:base→tool→cam 的变换 = baseHtool × toolHcam;base→cal→cam 的变换 = baseHcal × calHcam;因 baseHcal 固定,故 baseHtool × toolHcam = baseHcal × calHcam → AX=XB(A=baseHtool,B=calHcam,X=toolHcam);
- eye-to-hand:base→cam 的变换 = baseHtool × toolHcam;base→cam 的变换也 = baseHcal × calHcam;因 toolHcam 固定,故 baseHtool × toolHcam = baseHcal × calHcam → AX=XB(A=baseHtool,B=baseHcal,X=toolHcam)。
辐射度学中,辐射强度(J)、辐照度(E)、辐射率(L)的核心区别是什么?请从定义、单位、物理意义三个维度对比,并说明辐射率的关键特性。
三者的核心区别如下表,辐射率的“沿光线不变”特性是光传输的基础:
| 对比维度 | 辐射强度(J) | 辐照度(E) | 辐射率(L) |
|---|---|---|---|
| 定义 | 光源单位立体角内发射的光通量 | 表面单位面积接收的光通量 | 表面单位投影面积、单位立体角内发射的光通量 |
| 公式 | J=dΦdωJ=\frac{d\Phi}{d\omega}J=dωdΦ | E=dΦdAE=\frac{d\Phi}{dA}E=dAdΦ | L=d2Φ(dAcosθr)dωL=\frac{d^2\Phi}{(dA cos\theta_r)d\omega}L=(dAcosθr)dωd2Φ |
| 单位 | W/steradian(瓦特/球面度) | W/m²(瓦特/平方米) | W/(m²·steradian)(瓦特/(平方米·球面度)) |
| 物理意义 | 描述光源的方向性发光能力(如LED的指向性) | 描述表面接收的总能量密度(与光源方向无关) | 描述表面的发光/反射能力(兼顾方向与面积) |
辐射率的关键特性:
辐射率L沿光线传播方向保持不变,由能量守恒推导得出:假设光线从表面dA₁传播到表面dA₂,两表面的辐射率分别为L₁和L₂,因光通量守恒(dΦ₁=dΦ₂),且立体角满足dω₁dA₁=dω₂dA₂(dω₁=dA₂/R²,dω₂=dA₁/R²),故L₁=L₂。该特性是从图像辐照度反推场景辐射度的核心依据。
BRDF(双向反射分布函数)的定义是什么?其关键性质(能量守恒、互易性、旋转对称性)分别有何物理意义?
- BRDF的定义:
BRDF描述表面在入射方向(θ_i,φ_i) 接收光照后,在出射方向(θ_r,φ_r) 的反射能力,是连接表面辐照度(入射)与辐射率(出射)的桥梁,公式为:
BRDF(θi,ϕi;θr,ϕr)=Lsurface(θr,ϕr)Esurface(θi,ϕi)BRDF(\theta_i,\phi_i;\theta_r,\phi_r)=\frac{L^{surface}(\theta_r,\phi_r)}{E^{surface}(\theta_i,\phi_i)}BRDF(θi,ϕi;θr,ϕr)=Esurface(θi,ϕi)Lsurface(θr,ϕr)
- Lsurface(θr,ϕr)L^{surface}(\theta_r,\phi_r)Lsurface(θr,ϕr):表面在出射方向(如相机视角)的辐射率;
- Esurface(θi,ϕi)E^{surface}(\theta_i,\phi_i)Esurface(θi,ϕi):表面在入射方向(如光源方向)的辐照度。
- 关键性质及物理意义:
- 能量守恒:反射总能量不超过入射能量,遵循热力学第一定律,杜绝能量凭空创造。
- 互易性:入射与反射方向互换时反射能力不变,契合光路可逆的物理特性。
- 旋转对称性:表面绕法向量旋转时反射特性不变,将 4 变量简化为 3 变量,适配多数各向同性表面。
8.光照与光度立体视觉II
核心围绕表面反射模型与光度立体视觉(Photometric Stereo) 展开:先详细阐述两种核心反射机制(漫反射(Lambertian BRDF),BRDF公式为f=ρdπf=\frac{\rho_d}{\pi}f=πρd,适用于粗糙表面如纸张;镜面反射(Mirror BRDF),用δ函数描述,适用于光滑表面如金属)及双色反射模型(图像亮度=漫反射分量+镜面反射分量);再推导表面法向量(n) 与梯度(p,q)的关系(n=(p,q,1)p2+q2+1n=\frac{(p,q,1)}{\sqrt{p^2+q^2+1}}n=p2+q2+1(p,q,1)),介绍反射图(Reflectance Map) (建立图像辐照度I与表面朝向(p,q)的映射,含等亮度轮廓);重点讲解光度立体视觉的核心——通过至少3个不同方向的光源拍摄图像,构建矩阵方程[I1I2I3]=ρ[s1Ts2Ts3T]n\begin{bmatrix}I_1\\I_2\\I_3\end{bmatrix}=\rho\begin{bmatrix}s_1^T\\s_2^T\\s_3^T\end{bmatrix}nI1I2I3=ρs1Ts2Ts3Tn,求解表面法向量n与反射率ρ,多光源时用最小二乘(n~=(STS)−1STI\tilde{n}=(S^TS)^{-1}S^TIn~=(STS)−1STI) 优化,彩色图像可分RGB通道求解;还介绍了光源方向计算(利用镀铬球高光位置)、深度恢复(通过法向量积分或线性约束)及阴影处理(加权最小二乘)。
思维导图

详细总结
表面反射模型(视觉亮度的核心来源)
文档首先明确表面反射的两种核心机制及光源类型,是理解图像亮度的基础:
1. 反射机制分类(表格对比)
| 反射类型 | BRDF模型公式 | 视觉效果 | 适用表面 | 关键特性 |
|---|---|---|---|---|
| 漫反射 | Lambertian模型:f(θi,ϕi;θr,ϕr)=ρdπf(\theta_i,\phi_i;\theta_r,\phi_r)=\frac{\rho_d}{\pi}f(θi,ϕi;θr,ϕr)=πρd | 亮度均匀,无高光 | 粗糙表面(纸张、黏土) | 亮度仅与入射角θi\theta_iθi有关,与观测角无关 |
| 镜面反射 | Mirror模型:f=ρs′δ(θi−θv)δ(ϕi+π−ϕv)f=\rho_s'\delta(\theta_i-\theta_v)\delta(\phi_i+\pi-\phi_v)f=ρs′δ(θi−θv)δ(ϕi+π−ϕv) | 仅特定方向有高光 | 光滑表面(金属、镜面) | 高光位置满足观测方向=反射方向(v=rv=rv=r) |
| 双色反射 | Phong模型:E=L(acosδ+bcosnα)E=L(a\cos\delta+b\cos^n\alpha)E=L(acosδ+bcosnα) | 含漫反射底色+镜面高光 | 多数真实物体(塑料、车漆) | a=漫反射权重,b=镜面反射权重,n=高光锐度 |
2. 光源类型(常见分类)
| 光源类型 | 几何特征 | 辐射特性 | 适用场景 |
|---|---|---|---|
| 点光源 | 体积极小(ε<<r\varepsilon<<rε<<r) | 辐射强度均匀 | 简化场景模拟(如手电筒) |
| 线光源 | 线状(如荧光灯管) | 沿长度方向辐射均匀 | 工业检测(如金属焊缝检测) |
| 面光源 | 面状(如阴天天空) | 辐射率均匀,无明显方向性 | 消除硬阴影(如实验室照明) |
表面法向量与反射图(连接亮度与表面朝向)
表面法向量(n)是描述表面朝向的核心参数,反射图则建立其与图像亮度的映射:
1. 表面法向量(n)的推导
- 梯度定义:设表面高度为z=f(x,y)z=f(x,y)z=f(x,y),则x方向梯度p=−∂z∂xp=-\frac{\partial z}{\partial x}p=−∂x∂z,y方向梯度q=−∂z∂yq=-\frac{\partial z}{\partial y}q=−∂y∂z;
- 法向量公式:表面法向量的齐次形式为N=(p,q,1)N=(p,q,1)N=(p,q,1),归一化后为:
n=(p,q,1)p2+q2+1\boldsymbol{n=\frac{(p,q,1)}{\sqrt{p^2+q^2+1}}}n=p2+q2+1(p,q,1) - 光源向量(s):同理,光源方向的归一化向量为s=(ps,qs,1)ps2+qs2+1s=\frac{(p_s,q_s,1)}{\sqrt{p_s^2+q_s^2+1}}s=ps2+qs2+1(ps,qs,1)(ps,qsp_s,q_sps,qs为光源方向的梯度);
- 入射角余弦:表面接收的光照强度与入射角θi\theta_iθi(光源与法向量的夹角)的余弦成正比,即cosθi=n⋅s\cos\theta_i=n\cdot scosθi=n⋅s。
2. 反射图(Reflectance Map)
- 定义:在已知光源方向(s)和表面反射率(ρ)的前提下,描述图像辐照度(I)与表面朝向(p,q)的映射关系;
- Lambertian表面的反射图公式:
I=ρcosθi=ρ(pps+qqs+1)p2+q2+1ps2+qs2+1I=\rho\cos\theta_i=\frac{\rho(p p_s+q q_s+1)}{\sqrt{p^2+q^2+1}\sqrt{p_s^2+q_s^2+1}}I=ρcosθi=p2+q2+1ps2+qs2+1ρ(pps+qqs+1) - 等亮度轮廓:同一I值对应的所有(p,q)构成的曲线,呈“锥形”分布(以(ps,qs)(p_s,q_s)(ps,qs)为顶点,对应表面朝向与光源方向一致时I最大)。
光度立体视觉(从亮度恢复表面形状)
光度立体视觉是文档核心,通过多光源图像求解表面法向量与形状,具体流程如下:
1. 核心前提与方程
- 前提条件:①表面为Lambertian反射(无高光);②光源方向已知;③相机与光源均为远距离(光线平行);④无阴影与互反射;
- 核心方程:对第k个光源(方向为sks_ksk),图像辐照度IkI_kIk满足:
Ik=ρskTn\boldsymbol{I_k=\rho s_k^T n}Ik=ρskTn
其中,ρ\rhoρ为表面反射率(常数),nnn为表面法向量(待求)。
2. 不同光源数量的求解方法
| 光源数量 | 求解算法 | 核心公式 | 适用场景 |
|---|---|---|---|
| 3个 | 矩阵求逆 | [I1I2I3]=ρ[s1Ts2Ts3T]n\begin{bmatrix}I_1\\I_2\\I_3\end{bmatrix}=\rho\begin{bmatrix}s_1^T\\s_2^T\\s_3^T\end{bmatrix}nI1I2I3=ρs1Ts2Ts3Tn,n~=S−1I\tilde{n}=S^{-1}In~=S−1I,$\rho= | \tilde{n} |
| >3个 | 线性最小二乘 | n~=(STS)−1STI\tilde{n}=(S^TS)^{-1}S^TIn~=(STS)−1STI(SSS为N×3N×3N×3光源矩阵,III为N×1N×1N×1亮度向量) | 噪声场景,提升鲁棒性 |
| 彩色图像 | 分通道求解或亮度合并 | 分RGB通道:IR=ρRSnI_R=\rho_R S nIR=ρRSn、IG=ρGSnI_G=\rho_G S nIG=ρGSn、IB=ρBSnI_B=\rho_B S nIB=ρBSn;合并:I=IR2+IG2+IB2I=\sqrt{I_R^2+I_G^2+I_B^2}I=IR2+IG2+IB2 | 彩色表面,需区分色通道反射率 |
3. 局限性与问题处理
- 主要局限性:①无法处理高光、半透明或金属表面;②阴影与互反射会导致亮度偏差;③需精确标定光源方向与相机响应函数;
- 阴影处理方法:采用加权最小二乘,用像素亮度IkI_kIk加权方程,降低阴影区域(IkI_kIk小)的权重,公式为:
[I12⋮IN2]=[I1s1T⋮INsNT]ρn\begin{bmatrix}I_1^2\\\vdots\\I_N^2\end{bmatrix}=\begin{bmatrix}I_1s_1^T\\\vdots\\I_Ns_N^T\end{bmatrix}\rho nI12⋮IN2=I1s1T⋮INsNTρn
光源方向计算与深度恢复
1. 光源方向计算(关键技巧)
当光源方向未知时,可通过镀铬球(镜面反射表面) 确定:
- 步骤:①在场景中放置已知半径r的镀铬球,拍摄图像;②识别球心c((cx,cy,cz)(c_x,c_y,c_z)(cx,cy,cz))与高光位置h((hx,hy,hz)(h_x,h_y,h_z)(hx,hy,hz));③由球的几何关系∥h−c∥=r\|h-c\|=r∥h−c∥=r计算球表面在h点的法向量n;④根据镜面反射条件(观测方向v=反射方向r),由s=2(n⋅r)n−rs=2(n\cdot r)n-rs=2(n⋅r)n−r求解光源方向s。
2. 深度恢复(从法向量到表面形状)
已知表面法向量n(含p,q)后,通过以下两种方法恢复表面高度z:
- 方法1:积分法
利用梯度与高度的关系(p=−∂z∂xp=-\frac{\partial z}{\partial x}p=−∂x∂z,q=−∂z∂yq=-\frac{\partial z}{\partial y}q=−∂y∂z),沿路径积分:
f(u,v)=∫0vfy(0,y)dy+∫0ufx(x,v)dx+cf(u,v)=\int_0^v f_y(0,y)dy+\int_0^u f_x(x,v)dx+cf(u,v)=∫0vfy(0,y)dy+∫0ufx(x,v)dx+c
其中c为积分常数(由边界条件确定,如z(0,0)=0)。 - 方法2:线性约束法
对相邻像素(x,y)与(x+1,y),法向量n与像素间向量V1=(1,0,zx+1,y−zxy)V_1=(1,0,z_{x+1,y}-z_{xy})V1=(1,0,zx+1,y−zxy)垂直,得约束:
nx+nz(zx+1,y−zxy)=0n_x+n_z(z_{x+1,y}-z_{xy})=0nx+nz(zx+1,y−zxy)=0
同理对(x,y)与(x,y+1)得:
ny+nz(zx,y+1−zxy)=0n_y+n_z(z_{x,y+1}-z_{xy})=0ny+nz(zx,y+1−zxy)=0
对所有像素建立线性方程组,求解深度矩阵z;对边界像素(无相邻像素),采用反向约束(如−nx+nz(zx−1,y−zxy)=0-n_x+n_z(z_{x-1,y}-z_{xy})=0−nx+nz(zx−1,y−zxy)=0)。
作业任务
- 核心要求:编写程序(Matlab或C++),用光度立体法重建表面;
- 具体步骤:①读取4个光源方向(S1(0,0,-1)、S2(0,0.2,-1)、S3(0,-0.2,-1)、S4(0.2,0,-1))的图像;②计算表面法向量n;③恢复表面形状;④输出法向量图与表面模型;
- 提交要求:Matlab提交代码,C++需额外提交可执行文件。
关键问题
漫反射(Lambertian)与镜面反射(Mirror)在BRDF模型、视觉表现、适用场景上有何核心差异?请结合公式与实例说明。
两者的核心差异体现在BRDF形式、视觉效果与适用场景,具体如下:
- BRDF模型差异:
- 漫反射(Lambertian):BRDF为常数,公式为f=ρdπ\boldsymbol{f=\frac{\rho_d}{\pi}}f=πρd(ρd\rho_dρd为漫反射率,0<ρd\rho_dρd<1),表示光线均匀反射到所有方向;
- 镜面反射(Mirror):BRDF为δ函数,公式为f=ρs′δ(θi−θv)δ(ϕi+π−ϕv)\boldsymbol{f=\rho_s'\delta(\theta_i-\theta_v)\delta(\phi_i+\pi-\phi_v)}f=ρs′δ(θi−θv)δ(ϕi+π−ϕv)(ρs′\rho_s'ρs′为镜面反射率),仅当观测方向vvv与反射方向rrr一致时(θi=θv\theta_i=\theta_vθi=θv,ϕi+π=ϕv\phi_i+\pi=\phi_vϕi+π=ϕv)有反射,其余方向为0。
- 视觉表现差异:
- 漫反射:表面亮度均匀,无高光,从任意角度观测亮度一致(如纸张、黏土);
- 镜面反射:仅特定方向出现高亮光斑(高光),其余方向暗,观测角度变化时高光位置移动(如金属球、镜子)。
- 适用场景差异:
- 漫反射:适用于光度立体视觉(假设表面无高光,简化亮度与法向量的线性关系);
- 镜面反射:适用于光源方向标定(如镀铬球,通过高光位置反推光源方向)。
光度立体视觉为何需要至少3个不同方向的光源?多光源(N>3)时如何优化求解表面法向量n与反射率ρ?
-
需要至少3个光源的原因:
光度立体视觉的核心方程为Ik=ρskTnI_k=\rho s_k^T nIk=ρskTn(k=1,2,…N),其中:- 未知数为表面法向量n(3个独立分量:nx,ny,nzn_x,n_y,n_znx,ny,nz)与反射率ρ(1个未知数),但n满足归一化约束∥n∥=1\|n\|=1∥n∥=1,实际独立未知数为3个(n的3个分量,ρ可由n推导);
- 每个光源提供1个线性方程,3个光源可提供3个独立方程,恰好求解3个未知数(通过n~=ρn\tilde{n}=\rho nn~=ρn将方程转化为I=Sn~I=S\tilde{n}I=Sn~,SSS为3×3矩阵,可求逆得n~\tilde{n}n~);
- 若光源数<3,方程数<未知数,无法唯一确定n(如2个光源仅能确定n在某一平面上,存在多解)。
-
多光源(N>3)的优化求解方法:
当光源数N>3时,方程为超定系统(方程数>N未知数),需通过线性最小二乘最小化投影误差(∥I−Sn~∥2\|I-S\tilde{n}\|^2∥I−Sn~∥2),步骤如下:- 构建光源矩阵SSS(N×3,每行为skTs_k^TskT)与亮度向量III(N×1,每元素为IkI_kIk);
- 求解正则方程:STI=STSn~S^TI=S^TS\tilde{n}STI=STSn~;
- 得最优解:n~=(STS)−1STI\boldsymbol{\tilde{n}=(S^TS)^{-1}S^TI}n~=(STS)−1STI;
- 推导反射率与法向量:ρ=∣n~∣\rho=|\tilde{n}|ρ=∣n~∣,n=n~/ρn=\tilde{n}/\rhon=n~/ρ;
该方法可降低噪声干扰,提升n的求解精度(N越大,鲁棒性越强)。
如何从表面法向量n恢复表面深度z?针对边界像素或阴影区域的法向量缺失问题,有何处理方法?
从法向量恢复深度z主要有两种方法,针对边界/阴影问题需特殊处理:
-
深度恢复方法:
- 方法1:积分法(路径积分)
由法向量与梯度的关系(nx=p/p2+q2+1n_x=p/\sqrt{p^2+q^2+1}nx=p/p2+q2+1,ny=q/p2+q2+1n_y=q/\sqrt{p^2+q^2+1}ny=q/p2+q2+1,p=−∂z/∂xp=-\partial z/\partial xp=−∂z/∂x,q=−∂z/∂yq=-\partial z/\partial yq=−∂z/∂y),先由n解出p和q,再沿固定路径积分:
z(u,v)=∫0vq(0,y)dy+∫0up(x,v)dx+cz(u,v)=\int_0^v q(0,y)dy+\int_0^u p(x,v)dx+cz(u,v)=∫0vq(0,y)dy+∫0up(x,v)dx+c
其中c为积分常数(通常设z(0,0)=0,消除平移歧义),适用于无噪声、法向量完整的场景。 - 方法2:线性约束法(全局优化)
对相邻像素(x,y)与(x+1,y),利用法向量与像素间向量垂直的约束(n⋅(1,0,zx+1,y−zxy)=0n\cdot(1,0,z_{x+1,y}-z_{xy})=0n⋅(1,0,zx+1,y−zxy)=0),展开得:
nz(zx+1,y−zxy)=−nxn_z(z_{x+1,y}-z_{xy})=-n_xnz(zx+1,y−zxy)=−nx
同理对(x,y)与(x,y+1)得:
nz(zx,y+1−zxy)=−nyn_z(z_{x,y+1}-z_{xy})=-n_ynz(zx,y+1−zxy)=−ny
对所有像素建立线性方程组,求解深度矩阵z,适用于法向量含少量噪声的场景。
- 方法1:积分法(路径积分)
-
边界/阴影区域的处理方法:
- 边界像素(如图像边缘,无x+1或y+1方向像素):将正向约束改为反向约束,如对(x,y)与(x-1,y),约束为:
−nx+nz(zx−1,y−zxy)=0-n_x+n_z(z_{x-1,y}-z_{xy})=0−nx+nz(zx−1,y−zxy)=0
利用左侧/上方像素的深度反推当前像素深度; - 阴影区域(法向量缺失或不可靠):①在求解线性方程组时,对阴影像素的约束赋予低权重(如权重=0);②采用插值法,用相邻非阴影像素的法向量插值补充缺失值,再恢复深度。
- 边界像素(如图像边缘,无x+1或y+1方向像素):将正向约束改为反向约束,如对(x,y)与(x-1,y),约束为:
9.图像滤波
先简要回顾光度立体视觉(通过多光源图像求解表面法向量),再系统介绍图像滤波核心:首先阐述图像获取的采样与量化过程(将连续图像转化为M×N像素的灰度图,8位灰度图含256级灰度);随后重点讲解空域滤波(分点处理如负片/对比度拉伸/阈值化,区域处理含相关与卷积,核心滤波器包括均值滤波(3x3/5x5核,去高斯噪声但模糊细节)、高斯滤波(基于Gσ(x,y)=12πσ2e−x2+y22σ2G_\sigma(x,y)=\frac{1}{2\pi\sigma^2}e^{-\frac{x^2+y^2}{2\sigma^2}}Gσ(x,y)=2πσ21e−2σ2x2+y2,可分离性减少计算量,σ越大平滑越强)、中值滤波(对椒盐噪声鲁棒,通过排序取中值实现));还介绍频域滤波(基于傅里叶变换,低通滤波器(理想/巴特沃斯/高斯型)保留低频去高频以平滑,高通滤波器增强边缘)。
思维导图

详细总结
1. 前置回顾:光度立体视觉(衔接上章节)
文档开篇简要回顾上一章核心,为图像滤波做铺垫:
- 核心方程:对3个不同方向光源,图像亮度与表面法向量满足[I1I2I3]=ρ[s1Ts2Ts3T]n\begin{bmatrix}I_1\\I_2\\I_3\end{bmatrix}=\rho\begin{bmatrix}s_1^T\\s_2^T\\s_3^T\end{bmatrix}nI1I2I3=ρs1Ts2Ts3Tn(IkI_kIk为亮度,sks_ksk为光源方向,ρ\rhoρ为反射率,n为法向量);
- 求解逻辑:3个光源时通过矩阵求逆得n~=S−1I\tilde{n}=S^{-1}In~=S−1I(n~=ρn\tilde{n}=\rho nn~=ρn),多光源(N>3)时用最小二乘n~=(STS)−1STI\tilde{n}=(S^TS)^{-1}S^TIn~=(STS)−1STI;
- 目标:从多幅光源图像恢复表面法向量n与反射率ρ,为后续滤波处理图像做背景铺垫。
2. 图像获取与数字表示
2.1 图像来源
- 常见设备:视频相机、数字相机、扫描仪、CT/MRI(医学)、卫星(遥感)等。
2.2 采样与量化(连续→离散)
| 步骤 | 定义 | 关键参数 | 示例 |
|---|---|---|---|
| 采样 | 将连续图像的空间坐标(x,y)离散化为像素 | 图像分辨率(M×N像素) | 720×576、1920×1080 |
| 量化 | 将像素的连续灰度值离散化为灰度级 | 灰度位数(如8位、16位) | 8位→256级灰度(0=黑,255=白) |
2.3 数字图像表示
- 灰度图:用M×N矩阵存储,每个元素代表对应像素的灰度值(如矩阵元素[5,3]=128表示第5行第3列像素灰度为128);
- 分辨率:
- 屏幕分辨率:水平/垂直像素数(如1920×1080);
- 打印分辨率:每英寸点数(DPI,如300DPI表示每英寸含300个像素);
- 注意:图像像素与屏幕像素并非完全等同,需根据显示设备适配。
3. 图像滤波基础
3.1 滤波定义
- 本质:对输入图像f(x,y)f(x,y)f(x,y)施加特定操作(空域或频域),输出处理后图像g(x,y)g(x,y)g(x,y),核心目的包括去噪、平滑、锐化、边缘检测等。
3.2 滤波分类
| 分类 | 处理域 | 核心逻辑 | 优点 |
|---|---|---|---|
| 空域滤波 | 像素空间 | 直接操作图像像素(点处理、邻域处理) | 直观、计算量较小(小规模核) |
| 频域滤波 | 傅里叶频域 | 先将图像转频域,再通过滤波器,最后逆变换 | 适合全局处理(如大范围平滑) |
4. 空域滤波(核心章节)
空域滤波分点处理(单像素操作)和区域处理(邻域操作),是文档重点内容。
4.1 点处理(Point Processing)
- 定义:仅依赖单个像素的灰度值,与邻域无关,公式为g(x,y)=T[f(x,y)]g(x,y)=T[f(x,y)]g(x,y)=T[f(x,y)](T为灰度变换函数)。
- 典型例子:
操作类型 目的 公式/逻辑 效果 负片(Negative) 反转灰度 T(r)=L−1−rT(r)=L-1-rT(r)=L−1−r(L为灰度级总数,如256) 黑变白、白变黑,用于医学图像 对比度拉伸 增强灰度差异 斜率>1的线性变换(如r<128→T®=0.5r,r≥128→T®=2r-128) 暗部更暗、亮部更亮 阈值化(Thresholding) 二值化图像 T(r)={255r≥T00r<T0T(r)=\begin{cases}255 & r≥T0 \\ 0 & r<T0\end{cases}T(r)={2550r≥T0r<T0(T0为阈值) 区分前景与背景(如文字提取)
4.2 区域处理(Area Processing)
- 定义:依赖像素的邻域(如3x3、5x5窗口),核心操作为相关与卷积,需定义邻域形状(多为矩形)、尺寸(3x3最常用)及权重核(模板)。
4.2.1 核心操作:相关与卷积
| 操作 | 公式 | 模板处理 | 关键差异 | 适用场景 |
|---|---|---|---|---|
| 相关(Correlation) | g(i,j)=∑k=−aa∑l=−bbh(k,l)f(i+k,j+l)g(i,j)=\sum_{k=-a}^a\sum_{l=-b}^b h(k,l)f(i+k,j+l)g(i,j)=∑k=−aa∑l=−bbh(k,l)f(i+k,j+l)(a=(m-1)/2,b=(n-1)/2) | 模板不翻转,直接与邻域像素相乘求和 | 计算简单,用于模板匹配(如遥控器按键定位) | 目标检测、特征匹配 |
| 卷积(Convolution) | g(i,j)=∑k=−aa∑l=−bbh(k,l)f(i−k,j−l)g(i,j)=\sum_{k=-a}^a\sum_{l=-b}^b h(k,l)f(i-k,j-l)g(i,j)=∑k=−aa∑l=−bbh(k,l)f(i−k,j−l) | 模板先水平翻转+垂直翻转,再相乘求和 | 对称核(如高斯核)与相关结果一致,满足交换律/结合律 | 平滑、锐化等滤波操作 |
4.2.2 常用空域滤波器对比
| 滤波器类型 | 核示例(3x3) | 核心逻辑 | 优点 | 缺点 | 适用噪声类型 |
|---|---|---|---|---|---|
| 均值滤波 | 19[111111111]\frac{1}{9}\begin{bmatrix}1&1&1\\1&1&1\\1&1&1\end{bmatrix}91111111111 | 邻域像素取平均,替换中心像素 | 计算简单,有效去高斯噪声 | 模糊图像细节(核越大越模糊) | 高斯噪声、随机噪声 |
| 高斯滤波 | 116[121242121]\frac{1}{16}\begin{bmatrix}1&2&1\\2&4&2\\1&2&1\end{bmatrix}161121242121(σ≈1) | 邻域像素按高斯函数加权平均,权重随距离衰减 | 平滑效果自然,可分离(减少计算) | σ过大会过度模糊 | 高斯噪声 |
| 中值滤波 | -(无固定核,依赖邻域像素排序) | 邻域像素排序后取中值,替换中心像素 | 对椒盐噪声鲁棒,无模糊 | 对高斯噪声效果差 | 椒盐噪声、脉冲噪声 |
- 关键细节:
- 高斯滤波的可分离性:2D高斯核=1D行核×1D列核,计算量从O(n²)(直接2D卷积)降至O(2n)(先1D行卷积,再1D列卷积),如3x3核计算量从9次乘法→3+3=6次;
- 中值滤波的核尺寸:奇数尺寸(3x3、5x5)易取中值,偶数尺寸需插值;
- 边界处理:滤波时图像边缘像素无完整邻域,常用补零、环绕(wrap around)等方式填充。
4.3 噪声类型与去噪匹配
| 噪声类型 | 视觉特征 | 生成原因 | 最优去噪方法 |
|---|---|---|---|
| 高斯噪声 | 灰度值随机波动,符合正态分布 | 传感器热噪声、电路噪声 | 高斯滤波、均值滤波 |
| 椒盐噪声 | 随机出现黑色(椒)或白色(盐)像素 | 传感器故障、传输错误 | 中值滤波(3x3/5x5核) |
| 脉冲噪声 | 仅随机出现白色像素 | 信号突变、干扰 | 中值滤波 |
5. 频域滤波
频域滤波基于傅里叶变换,将图像从“空间域”转为“频率域”,通过滤波器控制不同频率成分,再逆变换回空间域。
5.1 傅里叶变换基础
- 离散傅里叶变换(DFT)公式:
正变换(空间→频域):F(u,v)=1MN∑x=0M−1∑y=0N−1f(x,y)e−j2π(ux/M+vy/N)F(u,v)=\frac{1}{MN}\sum_{x=0}^{M-1}\sum_{y=0}^{N-1}f(x,y)e^{-j2\pi(ux/M+vy/N)}F(u,v)=MN1∑x=0M−1∑y=0N−1f(x,y)e−j2π(ux/M+vy/N)
逆变换(频域→空间):f(x,y)=∑u=0M−1∑v=0N−1F(u,v)ej2π(ux/M+vy/N)f(x,y)=\sum_{u=0}^{M-1}\sum_{v=0}^{N-1}F(u,v)e^{j2\pi(ux/M+vy/N)}f(x,y)=∑u=0M−1∑v=0N−1F(u,v)ej2π(ux/M+vy/N) - 中心平移:为使低频成分(对应图像整体亮度)位于频域中心,需对输入图像预处理:f(x,y)×(−1)x+yf(x,y) \times (-1)^{x+y}f(x,y)×(−1)x+y,此时F(0,0)F(0,0)F(0,0)(直流分量,图像平均灰度)移至(M/2,N/2);
- 频率含义:低频→图像缓慢变化的成分(如背景),高频→图像快速变化的成分(如边缘、噪声)。
5.2 低通滤波器(LPF)
- 作用:保留低频成分,抑制高频成分→实现图像平滑、去噪。
- 常见类型:
类型 传递函数(D为频点到中心的距离,D0为截止频率) 特点 缺点 理想LPF H(u,v)={1D≤D00D>D0H(u,v)=\begin{cases}1 & D≤D0 \\ 0 & D>D0\end{cases}H(u,v)={10D≤D0D>D0 截止尖锐,理论平滑效果好 振铃效应(图像边缘出现波纹) 巴特沃斯LPF(n阶) H(u,v)=11+(D/D0)2nH(u,v)=\frac{1}{1+(D/D0)^{2n}}H(u,v)=1+(D/D0)2n1 无振铃效应,n越大越接近理想LPF 计算量略大 高斯LPF H(u,v)=e−D2(u,v)/(2D02)H(u,v)=e^{-D²(u,v)/(2D0²)}H(u,v)=e−D2(u,v)/(2D02) 无振铃效应,平滑过渡自然 高频抑制较温和 - 效果示例:用高斯LPF处理哈勃望远镜图像,D0=15(15x15核)时,噪声减少,星体呈“模糊团状”,阈值化后易检测。
5.3 高通滤波器(HPF)
- 作用:保留高频成分,抑制低频成分→增强图像边缘、细节。
- 常见类型:
类型 传递函数 特点 应用场景 理想HPF H(u,v)={0D≤D01D>D0H(u,v)=\begin{cases}0 & D≤D0 \\ 1 & D>D0\end{cases}H(u,v)={01D≤D0D>D0 边缘增强明显 理论研究,实际少用(振铃) 巴特沃斯HPF(n阶) H(u,v)=11+(D0/D)2nH(u,v)=\frac{1}{1+(D0/D)^{2n}}H(u,v)=1+(D0/D)2n1 无振铃,边缘增强平滑 工业检测(零件边缘缺陷) 高斯HPF H(u,v)=1−e−D2(u,v)/(2D02)H(u,v)=1-e^{-D²(u,v)/(2D0²)}H(u,v)=1−e−D2(u,v)/(2D02) 边缘增强自然,无振铃 医学图像(器官边缘提取) - 关键规律:截止频率D0越小,高频保留越多,边缘增强越明显,但噪声也会被放大。
5.4 频域与空域的关联
- 卷积定理:空域卷积=频域乘法,即f(x,y)∗h(x,y)↔DFTF(u,v)×H(u,v)f(x,y)*h(x,y) \stackrel{DFT}{\leftrightarrow} F(u,v) \times H(u,v)f(x,y)∗h(x,y)↔DFTF(u,v)×H(u,v);
- 相关定理:空域相关=频域共轭乘法,即f(x,y)∘h(x,y)↔DFTF∗(u,v)×H(u,v)f(x,y)\circ h(x,y) \stackrel{DFT}{\leftrightarrow} F^*(u,v) \times H(u,v)f(x,y)∘h(x,y)↔DFTF∗(u,v)×H(u,v)(F∗F^*F∗为F的复共轭)。
6. 作业任务
- 核心要求:编写程序(Matlab或C++),对指定图像用以下滤波器去噪:
- 均值滤波:3x3、5x5核;
- 中值滤波:3x3、5x5核;
- 可分离高斯滤波:3x3、5x5核(需实现1D卷积→2D卷积);
- 提交要求:Matlab提交代码,C++需额外提交可执行文件;
- 验证对比:将自定义滤波器结果与OpenCV(如
cv::blur/cv::GaussianBlur/cv::medianBlur)或Matlab(如imfilter)的结果对比,分析差异。
关键问题
空域滤波中,均值、高斯、中值滤波器在核设计、去噪效果、适用场景上有何核心差异?请结合噪声类型举例说明。
三者的核心差异体现在核设计、去噪逻辑与适用场景,具体如下:
-
核设计差异:
- 均值滤波:核权重均匀(如3x3核权重均为1/9),无距离衰减;
- 高斯滤波:核权重按高斯函数Gσ(x,y)=12πσ2e−x2+y22σ2G_\sigma(x,y)=\frac{1}{2\pi\sigma^2}e^{-\frac{x^2+y^2}{2\sigma^2}}Gσ(x,y)=2πσ21e−2σ2x2+y2分布,距离中心越远权重越小(如3x3核σ≈1时,中心权重4/16,边缘1/16);
- 中值滤波:无固定核,依赖邻域像素排序(如3x3核取9个像素的第5大值)。
-
去噪效果差异:
- 均值滤波:平均邻域像素,能平滑高斯噪声,但会模糊图像细节(核越大模糊越严重);
- 高斯滤波:加权平均邻域像素,平滑效果更自然,无明显模糊,且可通过σ控制平滑度(σ越大平滑越强);
- 中值滤波:取邻域中值,能有效去除椒盐噪声(孤立的黑白像素),且不模糊边缘细节,但对高斯噪声效果差。
-
适用场景举例:
- 高斯噪声(如低光照下的相机图像):优先用高斯滤波(σ=1~2,3x3核),平衡去噪与细节保留;
- 椒盐噪声(如传感器故障导致的黑白斑点图像):必须用中值滤波(3x3核,可快速去除孤立噪声);
- 轻度随机噪声(如普通室内图像):均值滤波(3x3核)可作为简单方案,计算量最小。
卷积与相关的核心区别是什么?高斯卷积的“可分离性”具有怎样的计算优势?请结合3x3核举例说明。
-
卷积与相关的核心区别:
两者均为空域邻域操作,核心差异在于模板(核)是否翻转:- 相关:模板直接与邻域像素相乘求和,公式为g(i,j)=∑k,lh(k,l)f(i+k,j+l)g(i,j)=\sum_{k,l}h(k,l)f(i+k,j+l)g(i,j)=∑k,lh(k,l)f(i+k,j+l),无模板翻转,计算简单,但不满足交换律(f∘h≠h∘ff\circ h \neq h\circ ff∘h=h∘f);
- 卷积:模板需先水平翻转+垂直翻转,再与邻域像素相乘求和,公式为g(i,j)=∑k,lh(k,l)f(i−k,j−l)g(i,j)=\sum_{k,l}h(k,l)f(i-k,j-l)g(i,j)=∑k,lh(k,l)f(i−k,j−l),满足交换律(f∗h=h∗ff*h = h*ff∗h=h∗f)和结合律((f∗h1)∗h2=f∗(h1∗h2)(f*h1)*h2 = f*(h1*h2)(f∗h1)∗h2=f∗(h1∗h2));
- 特殊情况:当模板为对称核(如高斯核、均值核)时,翻转后与原核一致,此时卷积与相关结果完全相同。
-
高斯卷积可分离性的计算优势:
- 可分离性定义:2D高斯核可分解为“1D行高斯核×1D列高斯核”,即Gσ(x,y)=Gσ(x)×Gσ(y)G_\sigma(x,y)=G_\sigma(x) \times G_\sigma(y)Gσ(x,y)=Gσ(x)×Gσ(y)(Gσ(x)=12πσe−x22σ2G_\sigma(x)=\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{x^2}{2\sigma^2}}Gσ(x)=2πσ1e−2σ2x2);
- 计算量优势:直接2D卷积的计算量为O(n²)(n为核尺寸),而分离为1D卷积后计算量降至O(2n),大幅减少运算次数;
- 3x3核举例:
- 直接2D卷积:每个像素需9次乘法+8次加法;
- 分离卷积:先对每行做1D卷积(3次乘法/行),再对每列做1D卷积(3次乘法/列),总计6次乘法+5次加法,计算量减少约33%(9→6次乘法);
- 更大核优势更明显:如5x5核,直接卷积25次乘法,分离后仅10次乘法,计算量减少60%。
频域低通滤波器(LPF)与高通滤波器(HPF)的核心作用、常见类型及典型应用场景分别是什么?如何通过截止频率D0控制滤波效果?
-
核心作用与典型应用:
滤波器类型 核心作用 典型应用场景 低通滤波器(LPF) 保留低频成分(图像整体亮度、背景),抑制高频成分(噪声、边缘)→图像平滑、去噪 1. 去除高斯噪声(如手机拍照去噪);
2. 模糊图像以突出大目标(如卫星图像中检测云层)高通滤波器(HPF) 保留高频成分(边缘、细节),抑制低频成分(背景)→边缘增强、细节提取 1. 工业零件缺陷检测(如金属表面划痕识别);
2. 医学图像边缘提取(如CT图像中的器官轮廓) -
常见类型对比:
滤波器类型 LPF传递函数(D≤D0→保留) HPF传递函数(D>D0→保留) 关键特点 理想滤波器 H=1H=1H=1(D≤D0),否则0 H=1H=1H=1(D>D0),否则0 截止尖锐,有振铃效应 巴特沃斯滤波器(n阶) H=11+(D/D0)2nH=\frac{1}{1+(D/D0)^{2n}}H=1+(D/D0)2n1 H=11+(D0/D)2nH=\frac{1}{1+(D0/D)^{2n}}H=1+(D0/D)2n1 无振铃,n越大越接近理想滤波器 高斯滤波器 H=e−D2/(2D02)H=e^{-D²/(2D0²)}H=e−D2/(2D02) H=1−e−D2/(2D02)H=1-e^{-D²/(2D0²)}H=1−e−D2/(2D02) 无振铃,过渡自然,无明显边缘失真 -
截止频率D0的控制作用:
- 低通滤波器(LPF):
- D0越小:仅保留极低频率,图像越平滑(如D0=5时,细节几乎完全模糊);
- D0越大:保留更多高频,平滑效果减弱(如D0=80时,图像接近原图,仅轻微去噪);
- 高通滤波器(HPF):
- D0越小:保留更多高频,边缘增强越明显,但噪声也被放大(如D0=15时,边缘清晰但噪点多);
- D0越大:仅保留极高频率,边缘增强减弱,图像偏暗(如D0=80时,仅强边缘可见,细节少);
- 典型取值:D0通常为图像对角线长度的1%5%(如512×512图像,对角线≈728,D0取536)。
- 低通滤波器(LPF):
10.边缘检测与形态学操作
核心围绕“从边缘检测原理到工程实现”展开:首先明确边缘是图像灰度值快速突变的区域,由表面法向量/深度/光照/颜色不连续导致,其数学本质对应图像梯度的极值点(梯度方向为边缘法向,梯度幅值为边缘强度);随后介绍离散边缘算子(Roberts(2×2,定位好但噪声敏感)、Sobel(3×3,抗噪声强但定位稍差)、Laplacian(3×3,线性各向同性但易放大噪声));针对噪声问题,提出LoG(高斯-拉普拉斯) 和DoG(高斯差分) 方案(先平滑再求导,DoG可近似LoG);重点详解Canny边缘检测器(被认为“最优”,四步流程:①高斯平滑(σ控制尺度)→②梯度幅值/方向计算→③非极大值抑制(边缘细化到单像素)→④双阈值滞后(高阈值启动边缘、低阈值连接间隙,比例1:3或2:3));最后介绍形态学操作(基础操作:膨胀(扩张边界)、腐蚀(收缩边界),及其对偶性;组合操作:开运算(先腐后膨,去小凸起)、闭运算(先膨后腐,填小间隙),及应用算法如边界提取、区域填充、连通分量提取),为边缘后处理提供工具。
思维导图

详细总结
边缘检测基础:定义与数学原理
1. 边缘的本质与成因
- 边缘定义:图像中灰度值发生快速、显著变化的像素区域,是物体边界、纹理突变的直观体现。
- 核心成因:
- 表面法向量不连续(物体表面朝向变化);
- 深度不连续(前景与背景交界);
- 光照不连续(阴影、高光);
- 颜色/反射率不连续(不同材质交界)。
- 关键特性:理想边缘为“阶跃型”(灰度从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=[∂x∂f,∂y∂f],是边缘检测的核心工具:- 梯度方向:θ=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):
二阶导数算子,定义为∇2f=∂2f∂x2+∂2f∂y2\nabla^2 f = \frac{\partial^2 f}{\partial x^2} + \frac{\partial^2 f}{\partial y^2}∇2f=∂x2∂2f+∂y2∂2f,其零交叉点(灰度从正变负或负变正)对应边缘位置,具有旋转各向同性(对任意方向边缘响应一致)。
离散边缘算子:从理论到离散实现
由于数字图像是离散的,需用有限差分近似导数,文档介绍三类常用离散算子,对比如下:
| 算子类型 | 核尺寸 | 核示例(以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σ∗∇2f\nabla^2(G_\sigma * f) = G_\sigma * \nabla^2 f∇2(Gσ∗f)=Gσ∗∇2f(GσG_\sigmaGσ为高斯核,σ\sigmaσ为平滑尺度)。
- 高斯核公式:Gσ(x,y)=12πσ2e−x2+y22σ2G_\sigma(x,y) = \frac{1}{2\pi\sigma^2}e^{-\frac{x^2+y^2}{2\sigma^2}}Gσ(x,y)=2πσ21e−2σ2x2+y2,σ\sigmaσ越大,平滑越强,边缘越粗。
- 边缘提取:LoG卷积结果的零交叉点即为边缘,需阈值化去除弱零交叉(噪声导致)。
2. DoG(高斯差分,Difference of Gaussians)
- 定义:用两个不同尺度的高斯核平滑图像后相减,即DoG=Gσ1−Gσ2DoG = G_{\sigma_1} - G_{\sigma_2}DoG=Gσ1−Gσ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:高斯平滑
- 操作:用高斯核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:梯度计算
- 操作:用有限差分近似x/y方向梯度:
Gx≈[S(x,y+1)−S(x,y)+S(x+1,y+1)−S(x+1,y)]/2G_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)]/2,Gy≈[S(x,y)−S(x+1,y)+S(x,y+1)−S(x+1,y+1)]/2G_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=Gx2+Gy2G = \sqrt{G_x^2 + G_y^2}G=Gx2+Gy2和方向θ=arctan(Gy/Gx)\theta = arctan(G_y/G_x)θ=arctan(Gy/Gx)(量化为0°、45°、90°、135°四方向); - 作用:将边缘转化为“高幅值区域”,保留边缘强度与方向信息。
- 操作:用有限差分近似x/y方向梯度:
-
步骤3:非极大值抑制(NMS)
- 操作:沿梯度方向(边缘法向)对比当前像素与邻域像素的梯度幅值,仅保留局部极大值(非极大值像素设为0);
- 作用:将“宽边缘脊”细化为单像素宽边缘,提升定位精度。
-
步骤4:双阈值滞后(Hysteresis Thresholding)
- 操作:
- 设高阈值THT_HTH和低阈值TLT_LTL(推荐比例TH:TL=1:3T_H:T_L=1:3TH:TL=1:3或2:32:32:3);
- 幅值> THT_HTH:强边缘(直接保留,作为边缘种子);
- 幅值在TLT_LTL~ THT_HTH:弱边缘(仅保留与强边缘连通的部分);
- 幅值< TLT_LTL:噪声(丢弃);
- 作用:连接边缘间隙,去除孤立弱边缘(噪声),提升边缘完整性。
- 操作:
形态学操作:边缘后处理工具
针对二值图像(边缘检测输出),文档介绍形态学基本操作及应用算法,核心是“结构元素(B)对图像(A)的变换”。
1. 基础操作定义与性质
| 操作名称 | 数学定义 | 核心作用 | 关键性质 |
|---|---|---|---|
| 膨胀(Dilation) | $A⊕B = {z | (\hat{B})_z ∩ A ≠ ∅}(((\hat{B}$为B反射) | 扩张物体边界,填补小间隙 |
| 腐蚀(Erosion) | $A⊖B = {z | B_z ⊆ A}$(B_z为B平移z) | 收缩物体边界,去除小凸起 |
| 开运算(Opening) | A∘B=(A⊖B)⊕BA∘B = (A⊖B)⊕BA∘B=(A⊖B)⊕B | 先腐蚀再膨胀,去除小凸起、断窄连接 | 1. A∘B⊂A; 2. 对噪声鲁棒 |
| 闭运算(Closing) | A⋅B=(A⊕B)⊖BA·B = (A⊕B)⊖BA⋅B=(A⊕B)⊖B | 先膨胀再腐蚀,填补小间隙、去除小holes | 1. A⊂A·B; 2. 平滑物体轮廓 |
2. 典型应用算法
- 边界提取:β(A)=A−(A⊖B)\beta(A) = A - (A⊖B)β(A)=A−(A⊖B),用腐蚀后的图像与原图求差,得到物体边界;
- 区域填充:已知种子点X₀,迭代Xk=(Xk−1⊕B)∩AcX_k = (X_{k-1}⊕B)∩A^cXk=(Xk−1⊕B)∩Ac,直到X_k收敛,填充A中的空洞;
- 连通分量提取:已知种子点X₀(属于某连通分量),迭代Xk=(Xk−1⊕B)∩AX_k = (X_{k-1}⊕B)∩AXk=(Xk−1⊕B)∩A,直到X_k收敛,提取A中所有与X₀连通的像素;
- 击中-击不中变换:A⊛B=(A⊖B1)∩(Ac⊖B2)A⊛B = (A⊖B₁)∩(A^c⊖B₂)A⊛B=(A⊖B1)∩(Ac⊖B2)(B₁为目标结构,B₂为背景结构),用于特定形状(如角点、线段)的检测。
关键问题
边缘检测的数学本质是“梯度极值”,请解释梯度与边缘的关系,并对比Roberts、Sobel、Laplacian三种离散算子的核心差异(从核尺寸、抗噪声能力、定位精度角度)。
-
梯度与边缘的关系:
边缘是图像灰度快速突变的区域,数学上对应灰度函数的“一阶导数极值”——梯度幅值∥∇f∥\|\nabla f\|∥∇f∥的峰值位置即为边缘,梯度方向θ\thetaθ与边缘方向垂直(沿边缘法向)。例如,阶跃型边缘的梯度幅值在突变处最大,拉普拉斯(二阶导数)的零交叉点恰好对应该突变位置,二者均为边缘定位的核心依据。 -
三种离散算子对比:
| 特性 | Roberts算子(一阶) | Sobel算子(一阶) | Laplacian算子(二阶) |
|---|---|---|---|
| 核尺寸 | 2×2 | 3×3 | 3×3 |
| 抗噪声能力 | 弱(仅用2×2邻域,未加权) | 强(3×3加权,中心权重2,平滑效果好) | 弱(二阶导数放大噪声) |
| 定位精度 | 高(对角线差分,对边缘敏感) | 中(加权导致边缘轻微偏移) | 中(零交叉点准,但受噪声干扰) |
| 边缘方向 | 无(仅输出幅值) | 有(可计算梯度方向) | 无(仅输出零交叉) |
| 适用场景 | 低噪声、需高精度定位 | 通用场景(如工业检测) | 需各向同性边缘响应 |
为何Canny边缘检测器被称为“最优”?其四步流程中“非极大值抑制”和“双阈值滞后”分别解决了传统算子的哪些问题?
-
Canny“最优”的原因:
Canny检测器通过数学推导,满足边缘检测的三大核心目标(文档46-47页):- 低误差率:先高斯平滑抑制噪声,减少“漏检真实边缘”和“误检噪声”;
- 高定位性:非极大值抑制将边缘细化到单像素,确保检测边缘与真实边缘的距离最小;
- 单边缘响应:双阈值滞后仅保留与强边缘连通的弱边缘,避免同一真实边缘被多次检测(传统算子常出现“边缘脊宽”问题)。
-
关键步骤的作用:
- 非极大值抑制(NMS):解决传统算子(如Sobel)输出“宽边缘脊”的问题——沿梯度方向(边缘法向)对比邻域幅值,仅保留局部极大值,将边缘从多像素宽细化为1像素宽,显著提升定位精度;
- 双阈值滞后:解决传统单阈值的“边缘断裂”和“噪声残留”问题——高阈值(如T_H=100)保留强边缘(无噪声),低阈值(如T_L=33)通过“连通性判断”连接强边缘间隙,同时丢弃孤立弱边缘(噪声),确保边缘的完整性与纯净度。
形态学操作中“膨胀”与“腐蚀”是基础,请定义二者的数学表达式,解释其“对偶性”的含义,并说明开运算(A∘B)和闭运算(A·B)的核心应用场景(各举1个工程实例)。
-
膨胀与腐蚀的定义:
- 膨胀(A⊕B):A⊕B={z∣(B^)z∩A≠∅}A⊕B = \{z | (\hat{B})_z ∩ A ≠ ∅\}A⊕B={z∣(B^)z∩A=∅},其中B^\hat{B}B^是结构元素B关于原点的反射,BzB_zBz是B平移z后的集合。本质是“用B扩张A的边界”,例如二值图像中,物体的像素会向周围邻域扩展,填补小间隙。
- 腐蚀(A⊖B):A⊖B={z∣Bz⊆A}A⊖B = \{z | B_z ⊆ A\}A⊖B={z∣Bz⊆A},本质是“用B收缩A的边界”,例如二值图像中,物体边缘的孤立小像素(噪声)会被移除,小凸起消失。
-
对偶性含义:
膨胀与腐蚀关于“集合补运算”对偶,即(A⊖B)c=Ac⊕B^(A⊖B)^c = A^c ⊕ \hat{B}(A⊖B)c=Ac⊕B^(A^c是A的补集,B^\hat{B}B^是B的反射)。例如,“腐蚀A”的补集等于“膨胀A的补集”,该性质可简化形态学操作的计算(如用膨胀实现腐蚀的补运算)。 -
开/闭运算的应用场景:
- 开运算(A∘B=(A⊖B)⊕B):先腐蚀去除小凸起,再膨胀恢复物体主体,核心用于“去除图像中的小噪声块”。例如,工业检测中,金属表面图像的小杂质(小白色块)可通过开运算去除,同时保留金属的整体轮廓。
- 闭运算(A·B=(A⊕B)⊖B):先膨胀填补小间隙,再腐蚀恢复物体主体,核心用于“连接断裂的边缘或轮廓”。例如,手写文字识别中,笔画断裂的字符(如“0”的缺口)可通过闭运算填补,确保字符完整,提升识别率。
11.图像分割
核心将分割方法分为基于像素的方法、基于分组/聚类的方法、轮廓基方法及深度学习基方法四大类:基于像素的方法包括点检测(用3×3掩码计算响应值∣R∣≥T|R|≥T∣R∣≥T)、线检测(4个方向掩码对比响应值)、霍夫变换(直线检测用ρ=xcosθ+ysinθ\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|=0∂t∂ϕ+F∣∇ϕ∣=0);最后提及深度学习基分割(实例分割、语义分割,如OSVOS、RGMP等方法),并通过实例验证各方法效果。
思维导图

详细总结
图像分割概述
- 核心目标:将图像从像素阵列转化为有意义的区域/轮廓表示,提取关键语义信息(如物体边界、前景目标),实现图像的“紧凑表达”。
- 方法分类:文档将分割方法分为四大类——基于像素的方法、基于分组/聚类的方法、轮廓基方法、深度学习基方法,无统一通用理论,需根据场景选择。
- 挑战:部分复杂场景(如纹理模糊、遮挡)即使人类也难以准确分割,需结合先验知识或多方法融合。
基于像素的方法(Pixel-based Methods)
该类方法通过单个像素或局部邻域的灰度/响应值实现分割,核心是“像素级特征判断”。
1. 点检测(Point Detection)
- 原理:用3×3掩码计算像素响应值R=∑i=19wiziR=\sum_{i=1}^9 w_i z_iR=∑i=19wizi(wiw_iwi为掩码系数,ziz_izi为邻域像素值),当∣R∣≥T|R|≥T∣R∣≥T(T为非负阈值,通常取最大绝对响应的90%)时,判定为孤立点。
- 典型掩码:用于检测孤立亮点/暗点的掩码为[1111−81111]\begin{bmatrix}1&1&1\\1&-8&1\\1&1&1\end{bmatrix}1111−81111,通过中心像素与邻域的差值放大孤立点响应。
2. 线检测(Line Detection)
- 原理:设计4个方向(水平、垂直、+45°、-45°)的3×3掩码,计算每个像素在4个方向的响应R1R_1R1~R4R_4R4,若∣Ri∣>∣Rj∣|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=mx+cy=mx+cy=mx+c存在m→±∞的问题(垂直直线),优化为极坐标形式:ρ=xcosθ+ysinθ\boldsymbol{\rho=x\cos\theta+y\sin\theta}ρ=xcosθ+ysinθ,其中ρ\rhoρ为原点到直线的垂直距离,θ\thetaθ为垂线与X轴的夹角(0≤θ≤2π0≤θ≤2π0≤θ≤2π,0≤ρ≤maxρ0≤ρ≤maxρ0≤ρ≤maxρ)。
- 步骤:
- 初始化H(θ,ρ)H(θ,ρ)H(θ,ρ)累加器数组为0;
- 对每个边缘点(x,y)(x,y)(x,y),遍历θ∈[−90°,180°]θ∈[-90°,180°]θ∈[−90°,180°],计算ρ=xcosθ+ysinθρ=x\cosθ+y\sinθρ=xcosθ+ysinθ,令H(θ,ρ)=H(θ,ρ)+1H(θ,ρ)=H(θ,ρ)+1H(θ,ρ)=H(θ,ρ)+1;
- 寻找H(θ,ρ)H(θ,ρ)H(θ,ρ)的局部极大值,对应图像空间的直线(ρ=xcosθ+ysinθρ=x\cosθ+y\sinθρ=xcosθ+ysinθ)。
- 难点:累加器单元格大小需平衡精度与计算量(太大合并不同直线,太小漏检)。
(2)圆检测
- 方程:圆的一般方程为(x−a)2+(y−b)2=r2\boldsymbol{(x-a)^2+(y-b)^2=r^2}(x−a)2+(y−b)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±r2−(y−b)2,b)(a=x±\sqrt{r²-(y-b)²},b)(a=x±r2−(y−b)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(rk)=nkh(r_k)=n_kh(rk)=nk(rk∈[0,L−1]r_k∈[0,L-1]rk∈[0,L−1]为灰度级,nkn_knk为该灰度级的像素数),归一化直方图p(rk)=nk/np(r_k)=n_k/np(rk)=nk/n(n为总像素数,∑p(rk)=1\sum p(r_k)=1∑p(rk)=1)。
- 常见操作:
操作类型 目的 关键步骤 直方图均衡化 拉伸灰度范围,提升对比度 计算累积分布函数sk=∑j=0kp(rj)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)/2T=(μ₁+μ₂)/2T=(μ1+μ2)/2;5. 收敛(
基于分组/聚类的方法(Grouping/Clustering-based Methods)
该类方法基于“像素相似性”或“人类视觉分组准则”,将像素聚为有意义的簇,核心是“全局/局部相似性聚类”。
1. 格式塔(Gestalt)原则
- 核心思想:人类视觉系统会根据“整体大于部分之和”的原则分组,文档提出7大准则:
准则名称 描述 示例 邻近性 距离近的像素倾向于分组 电梯按钮与标签的邻近分组 相似性 灰度/颜色/纹理相似的像素倾向于分组 同色像素聚为同一区域 共同命运 运动一致的像素倾向于分组 同一物体的像素同步移动 共同区域 同一闭合区域内的像素倾向于分组 矩形框内的像素聚为一组 平行性 平行的曲线/像素倾向于分组 平行的导线聚为一组 对称性 对称的像素/曲线倾向于分组 对称的物体轮廓聚为一组 连续性 连续的曲线/像素倾向于分组 断裂但连续的边缘聚为一条线
2. K-means聚类
- 原理:通过迭代最小化“簇内误差平方和”,将像素分为K个簇。
- 步骤:
- 初始化K个簇中心μ1,μ2,...,μK\mu_1,\mu_2,...,\mu_Kμ1,μ2,...,μK(随机或按距离选择);
- 分配:将每个像素xjx_jxj分配到最近的簇中心μi\mu_iμi(距离用欧氏距离);
- 更新:重新计算每个簇的均值μi=1∣Si∣∑xj∈Sixj\mu_i=\frac{1}{|S_i|}\sum_{x_j∈S_i}x_jμi=∣Si∣1∑xj∈Sixj(SiS_iSi为第i个簇的像素集);
- 收敛:若所有簇中心的变化量<ε,停止;否则重复步骤2-3。
- 优缺点:
优点 缺点 简单快速,收敛到局部最小值 需预设K值,对初始化敏感 适用于球形簇数据 对离群点敏感,仅处理球形簇
3. Mean Shift(均值漂移)
- 原理:通过核窗口(如高斯核)计算“均值漂移向量”,将窗口移动到密度峰值处,实现自适应聚类(无需预设簇数)。
- 关键公式:Mean Shift向量
m(x)=∑i=1nxig(∥x−xi∥2h)∑i=1ng(∥x−xi∥2h)−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(h∥x−xi∥2)∑i=1nxig(h∥x−xi∥2)−x
其中g(x)=−k′(x)g(x)=-k'(x)g(x)=−k′(x)(k为核函数),h为窗口大小(唯一参数)。 - 步骤:
- 对每个像素初始化核窗口;
- 计算Mean Shift向量,移动窗口至新中心;
- 重复步骤2至窗口中心收敛;
- 合并距离<窗口大小的簇。
- 优缺点:
优点 缺点 无需预设簇数,对离群点鲁棒 计算量大,随特征维度增加性能下降 可处理非球形簇 窗口大小影响结果,需手动调整
4. 图基分割(Graph-based Segmentation)
- 模型:将图像视为无向图G=(V,E)G=(V,E)G=(V,E),其中:
- 节点V:每个像素为一个节点;
- 边E:任意两像素间有边,权重为“相似度(Affinity)”。
- 相似度计算:
- 距离相似度:aff(x,y)=exp(−(x−y)T(x−y)2σd2)aff(x,y)=exp\left(-\frac{(x-y)^T(x-y)}{2\sigma_d^2}\right)aff(x,y)=exp(−2σd2(x−y)T(x−y));
- 灰度相似度:aff(x,y)=exp(−(I(x)−I(y))T(I(x)−I(y))2σI2)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)
- 应用场景:静态背景下提取前景(如监控中的行人、道路上的车辆)。
- 步骤:
- 初始化背景模型B(0)B^{(0)}B(0)(如第一帧图像);
- 帧更新:用移动平均更新背景B(t)=waB(t−1)+wcF(t)B^{(t)}=w_a B^{(t-1)} + w_c F^{(t)}B(t)=waB(t−1)+wcF(t)(waw_awa为背景权重,wcw_cwc为当前帧权重);
- 前景提取:计算帧差∣F(t)−B(t)∣|F^{(t)}-B^{(t)}|∣F(t)−B(t)∣,大于阈值的像素为前景;
- 后处理:用形态学操作(膨胀/腐蚀)去除噪声。
- 实例:对儿童在沙发上玩耍的序列帧,用平均背景法提取儿童(前景),阈值越大,前景越纯净但可能丢失细节。
轮廓基方法(Contour-based Methods)
该类方法通过“动态轮廓”演化逼近物体边界,核心是“能量驱动轮廓变形”。
1. Snakes(主动轮廓模型)
- 定义:又称“可变形轮廓”,通过能量函数最小化驱动轮廓贴合物体边界。
- 能量函数:
Esnake=∫01Eint(V(s))+Eimage(V(s))+Econ(V(s))ds\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- EintE_{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、弯曲能量);
- EimageE_{image}Eimage:图像能量,由图像梯度/边缘信息驱动(梯度大处能量小,吸引轮廓);
- EconE_{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)
- 类型:
- 语义分割:将每个像素分类为语义类别(如“人”“车”“背景”);
- 实例分割:在语义分割基础上区分同一类别的不同个体。
关键问题
霍夫变换检测直线时,为何要将参数空间从“y=mx+c”改为“ρ=xcosθ+ysinθ”?请结合参数范围与计算复杂度说明。
选择“ρ-θ空间”而非“m-c空间”的核心原因是解决“垂直直线参数发散”和“计算复杂度过高”的问题,具体如下:
- 参数范围问题:
- 原方程y=mx+cy=mx+cy=mx+c中,斜率m的范围是[−∞,+∞][-∞,+∞][−∞,+∞](垂直直线时m→±∞),导致参数空间无限大,无法构建有限大小的累加器数组;
- 极坐标方程ρ=xcosθ+ysinθ\rho=x\cosθ+y\sinθρ=xcosθ+ysinθ中,ρ为原点到直线的垂直距离(范围[0,maxρ][0,maxρ][0,maxρ],maxρ为图像对角线长度),θ为垂线与X轴的夹角(范围[0,2π][0,2π][0,2π]),参数空间有限,可构建固定大小的累加器(如θ取180个档位,ρ取200个档位),计算可控。
- 计算复杂度问题:
- m-c空间的无限性导致累加器无法初始化,需处理“无限大”参数,工程上不可行;
- ρ-θ空间的有限性使累加器大小固定(如180×200=36000个单元格),每个边缘点仅需遍历θ的180个档位计算ρ,投票过程复杂度为O(N×180)(N为边缘点数),工程上易实现。
综上,ρ-θ空间通过“有限参数范围”解决了垂直直线的参数发散问题,同时降低了计算复杂度,是霍夫直线检测的工程首选。
K-means与Mean Shift作为两种常用聚类方法,在“簇数预设”“簇形状适应性”“离群点鲁棒性”三个维度有何核心差异?这些差异如何影响它们的分割场景选择?
两种方法在核心维度的差异及场景选择如下表所示:
| 对比维度 | K-means聚类 | Mean Shift聚类 |
|---|---|---|
| 簇数预设 | 需手动预设K值(如K=3表示分3类) | 无需预设簇数,通过窗口大小h自适应聚类 |
| 簇形状适应性 | 仅适用于球形簇(基于欧氏距离,假设簇内数据呈球形分布) | 适用于任意形状簇(基于密度峰值,可处理非球形、非凸簇) |
| 离群点鲁棒性 | 弱(离群点会显著拉偏簇中心,影响聚类结果) | 强(离群点所在区域密度低,不会形成独立簇,自动被忽略) |
场景选择影响:
- K-means适用于“簇形状规则、离群点少、已知大致簇数”的场景,如:
- 简单图像的前景-背景-中间调分割(K=3);
- 工业产品的表面缺陷分割(缺陷与背景呈球形分布)。
- Mean Shift适用于“簇形状不规则、离群点多、未知簇数”的场景,如:
- 自然图像的纹理分割(如森林中树木、草地、天空的非球形簇);
- 医学图像的器官分割(器官轮廓不规则,含噪声离群点)。
格式塔原则中的“邻近性”和“相似性”在图像分割中如何具体应用?请结合文档中的电梯按钮案例和灰度图像分割案例说明。
格式塔的“邻近性”和“相似性”原则是人类视觉分组的核心,在分割中通过“像素距离”和“特征相似性”实现分组,具体应用如下:
-
邻近性原则的应用:
- 核心逻辑:距离越近的像素/区域,越倾向于被分为同一组,解决“模糊分组”问题;
- 文档案例(电梯按钮):
原电梯按钮布局中,按钮与标签的距离相近且无明确分隔,导致用户易按错(如按钮“3”与标签“4”误分组);
当在按钮与标签间添加分隔线后,邻近性被明确:按钮与同一分隔线内的标签距离更近,被正确分组,误按率降低。 - 分割应用:在交通标志图像中,标志内部的像素距离近,被分为同一组,与背景(距离远)区分开。
-
相似性原则的应用:
- 核心逻辑:灰度/颜色/纹理相似的像素,越倾向于被分为同一组,解决“特征一致区域的提取”问题;
- 灰度图像案例:
对含“白墙-灰桌-黑椅”的室内图像,相似性原则通过灰度值分组:- 灰度值∈[200,255]的像素(白墙)聚为一组;
- 灰度值∈[100,150]的像素(灰桌)聚为一组;
- 灰度值∈[0,50]的像素(黑椅)聚为一组;
最终实现墙、桌、椅的分割。
- 彩色图像扩展:在RGB图像中,相似性原则通过RGB值的欧氏距离分组(如红色苹果的RGB值相似,被分为同一组)。
综上,邻近性原则解决“空间位置关联”的分组,相似性原则解决“特征属性关联”的分组,二者结合可实现更符合人类视觉的分割结果。
