研究 旧 .com 迁移

计算机视觉 / 实验报告 / 2

从旧 .com 全量搬运的历史内容,来源路径:/ai-kb/课程/计算机视觉/chapters/实验报告/2/

迁移来源

实验2-1 图像变换

姓名: 刘欣楠

学号: 2233310237

班级: 数学强基 2301

电子版密码: lxn-cvpr2-1

实验目的 #

    1. 掌握图像的参数化几何变换原理;
    1. 掌握图像的前向变换与逆向变换;
    1. 掌握图像的下抽样原理以及图像的内插方法原理;
    1. 掌握图像的高斯金字塔与拉普拉斯金字塔表示原理.

实验原理 #

图像的参数化几何变换原理 #

\begin{tabular}{|l|c|c|c|c|}

		**变换** & **变换矩阵 $T$** & **逆变换 $T^{-1}$** & **自由度数** & **保持**  \\

		平移变换 &
		$\begin{bmatrix} 1 & 0 & t_x \\ 0 & 1 & t_y \\ 0 & 0 & 1 \end{bmatrix}$ &
		$\begin{bmatrix} 1 & 0 & -t_x \\ 0 & 1 & -t_y \\ 0 & 0 & 1 \end{bmatrix}$ &
		2 & 方向  \\

		尺度变换 &
		$\begin{bmatrix} c_x & 0 & 0 \\ 0 & c_y & 0 \\ 0 & 0 & 1 \end{bmatrix}$ &
		$\begin{bmatrix} 1/c_x & 0 & 0 \\ 0 & 1/c_y & 0 \\ 0 & 0 & 1 \end{bmatrix}$ &
		2 & 平行性  \\

		旋转变换 &
		$\begin{bmatrix} \cos\theta & -\sin\theta & 0 \\ \sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \end{bmatrix}$ &
		$\begin{bmatrix} \cos\theta & \sin\theta & 0 \\ -\sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \end{bmatrix}$ &
		1 & 长度  \\

		欧氏变换 &
		$\begin{bmatrix} \cos\theta & -\sin\theta & t_x \\ \sin\theta & \cos\theta & t_y \\ 0 & 0 & 1 \end{bmatrix}$ &
		--- & % 逆变换未填写, 留空或可计算
		3 & 长度  \\

		相似变换 &
		$\begin{bmatrix} s\cdot\cos\theta & -\sin\theta & t_x \\ \sin\theta & s\cdot\cos\theta & t_y \\ 0 & 0 & 1 \end{bmatrix}$ &
		--- & % 逆变换未填写, 留空或可计算
		4 & 夹角  \\

		仿射变换 &
		$\begin{bmatrix} a & b & c \\ d & e & f \\ 0 & 0 & 1 \end{bmatrix}$ &
		--- & % 逆变换未填写, 留空或可计算
		6 & 平行性  \\

	\end{tabular}

前向变换与逆向变换 #

  • 前向变换: g(T(x,y))=f(x,y)g(T(x,y))=f(x,y); 存在问题 T(x,y)T(x,y) 不一定是整数.
  • 逆向变换: g(x,y)=f(T1(x,y))g(x,y)=f(T^{-1}(x,y)); 存在问题 T(x,y)T(x,y) 不一定可逆. 且逆变换也不一定是整数.

解决方案: 通过邻域像素点插值得到空洞位置.

图像的内插方法 #

  • 近邻插值, 即寻找逆向变换最近的原图像上的整数点, 再进行前向变换得到变换后的图像.
  • 双线性插值, 根据逆变换到最近四个格点的面积占比计算各个格点的权重.

图像的下抽样原理 #

依据奈奎斯特定理, 为了不失真地恢复模拟信号, 采样频率应该大于等于模拟信号频谱中最高频率的 2 倍, 即 f2fmaxf \geqslant 2f_{\max}.

推广到图像的下抽样:

假设图像大小为 N×NN \times N, 总长度为单位 1, 则原图像的采样间隔为 1N\frac{1}{N}, 频率为 NN;

设原图像(或高斯滤波后图像)的最高频率为 kmaxk_{\max}, 如果每隔 PP 个点对图像进行下采样后, 则图像的频率变为 NP\frac{N}{P}, 为了避免频谱混叠, 需满足 kmax<kmax+NPk_{\max} < -k_{\max} + \frac{N}{P}, 则有

NP>2kmax. \frac{N}{P} > 2k_{\max}.

高斯金字塔与拉普拉斯金字塔 #

高斯金字塔: 将图像经过高斯滤波平滑处理后进行下采样. 一般取滤波核大小为 5×55\times 5 兼顾计算成本和滤波效果.

K(5,5)=1256[1464141624164624362464162416414641]K(5,5)=\frac 1{256}\begin{bmatrix} 1 & 4 & 6 & 4 & 1\\ 4 & 16 & 24 & 16 & 4\\ 6 & 24 & 36 & 24 & 6\\ 4 & 16 & 24 & 16 & 4\\ 1 & 4 & 6 & 4 & 1 \end{bmatrix}

拉普拉斯金字塔: 用来从金字塔低层图像重建上层未采样图像, 在数字图像处理中也即是预测残差, 可以对图像进行最大程度的还原, 配合高斯金字塔一起使用.

图像金字塔构造步骤 [label=\textcircled{\arabic*}]

  • L3=G3L_3 = G_3, 对 L3L_3 上采样, 在插入的偶数行和列中置 0, 使图像的尺寸大小等于 G2G_2.
  • 用相同的高斯滤波核函数滤波插值.
  • 灰度尺度矫正, 得到图像 Upsample2\text{Upsample}_2
g(x,y)=Cxye(xx)2+(yy)22σ2f(x,y) g(x,y) = C \sum_{x'} \sum_{y'} e^{-\frac{(x-x')^2 + (y-y')^2}{2\sigma^2}} f(x', y')

:与图像金字塔采用一样的滤波核.

  • L2=G2Upsample2L_2 = G_2 - \text{Upsample}_2
  • 重复上述步骤, 完成 L1L_1L0L_0 的重构.

图

实验步骤及结果 #

图像的参数化几何变换 #

步骤: [label=\arabic*)]

  • 任选一副图像, 设计图像的几何变换矩阵 TT;
  • 求解逆矩阵 T1T^{-1};
  • 结合图像的内插算法完成图像的几何变换操作.

要求: [label=\arabic*)]

  • 对比分析图像的前向变换和逆向变换.
  • 对比分析近邻插值和双线性插值.
  • 图像的几何变换至少包括:平移变换、旋转变换、欧氏变换、相似变换和仿射变换.

测试图像

生成一幅 256×256256\times256 的合成图像, 包含矩形、圆形、三角形和网格线, 便于观察几何变化. 如图\ref{fig:original}.

图

前向与逆向映射对比

对平移、旋转、欧氏、相似和仿射变换分别进行前向映射与逆向映射. 前向映射仅做整数落点, 容易出现黑色空洞, 例如旋转变换就有明显的黑色空洞, 而像简单平移因为位移是整数所以没有空洞; 逆向映射结合插值后图像连贯性更好. 各变换矩阵的运行结果如图\ref{fig:translation}\ref{fig:affine} 所示, 均展示了前向映射、逆向近邻和逆向双线性三种输出.

图

图

图

图

图

插值方式对比

近邻插值会产生阶梯状边缘; 双线性插值过渡平滑, 网格和边缘锯齿明显减少. 图\ref{fig:forward_inverse} 右图即可观察到差异.

图像的高斯金字塔表示与拉普拉斯金字塔表示 #

步骤:

方法 1: [label=\arabic*)]

  • 任选一副图像, 用 opencv 提供的库函数 cv2.pyrDown() 对图像进行下采样, 完成高斯金字塔的构造;
  • 用函数 cv2.pyrUp() 完成高斯金字塔的上采样;
  • 通过 Ln=GnpyrUp(pyrDown(Gn))L_n = G_n - \text{pyrUp}\big(\text{pyrDown}(G_n)\big), 完成拉普拉斯金字塔的构造.

方法 2: 通过实验原理部分提供的滤波模板 K(5,5)K(5,5)(或自主设计的高斯滤波器)以及上采样、下采样过程, 自主编程实现图像的高斯金字塔与拉普拉斯金字塔的表示.

要求: [label=\arabic*)]

  • 任选一种方法完成图像的高斯金字塔和拉普拉斯金字塔表示过程;
  • 构造的金字塔层数为 3\sim6 层;
  • 讨论前置滤波器与抽样频率的关系.

根据方法 2, 采用 5×55\times5 高斯核进行平滑, 再按 2 倍下采样构建 4 层高斯金字塔. 拉普拉斯金字塔通过上采样并相减得到. 部分结果如图\ref{fig:gaussian}、图\ref{fig:laplacian}.

图

图

结论与讨论 #

本实验围绕图像的参数化几何变换与图像金字塔构建展开. 通过前向映射与逆向映射、不同插值方法的对比, 以及高斯金字塔与拉普拉斯金字塔的构造与观察, 进一步理解了图像几何结构变化和多尺度表示的特性. 现对实验现象与结果进行总结与讨论如下.

几何变换的分析与讨论 #

1. 前向映射与逆向映射的差异

前向映射(Forward Mapping)直接将原图像的像素按变换矩阵 TT 投影到目标图像中, 由于利用整数坐标落点, 当目标像素没有对应填充值时很容易产生“黑洞”或空洞区域. 特别是在旋转、仿射和相似变换中, 这种空洞更为明显. 而平移变换若刚好为整数位移, 则不会出现空洞现象.

相比之下, 逆向映射(Inverse Mapping)通过计算目标图像每个像素在源图像中的位置, 并结合插值获取像素值, 能有效避免空洞, 同时使图像结构保持完整. 实验图\ref{fig:translation}\ref{fig:affine} 中, 逆向映射明显优于前向映射, 尤其在旋转和仿射变换中更为突显.

2. 近邻插值与双线性插值的差异

近邻插值计算简单, 但其输出的边缘呈现明显的阶梯状和锯齿感, 局部结构不够平滑, 图像质量较差.

双线性插值通过利用四邻域像素计算加权平均, 使图像过渡更平滑, 能够有效减轻网格线的断裂和锯齿问题. 实验中, 逆向双线性插值的输出最为平滑、自然, 视觉效果最好(如图\ref{fig:forward_inverse} 右图).

3. 多种几何变换对图像的影响

实验分别对平移、旋转、欧氏、相似和仿射变换进行了分析, 可得到以下结论:

  • 平移变换:结构保持最为完整, 整数位移时正向映射无空洞.
  • 旋转变换:图像会出现较大面积空洞, 逆向映射明显优于前向.
  • 欧氏变换(旋转+平移):保持距离不变, 但前向映射仍存在明显黑边.
  • 相似变换(旋转+平移+缩放):图像整体比例变化, 前向映射空洞更明显.
  • 仿射变换:最具一般性, 会引入倾斜、拉伸等复杂变化, 逆向映射的优势最为突出.

总体而言, 逆向映射 + 双线性插值是图像几何变换的最佳组合, 能有效避免空洞并改善图像质量.

图像金字塔的分析与讨论 #

1. 高斯金字塔的观察与讨论

高斯金字塔通过预平滑后进行 22 倍下采样, 使图像尺寸逐层缩小且细节逐步减少. 实验中的第 0—3 层图像(图\ref{fig:gaussian})中可以观察到:

  • 尺寸随层数增加迅速减小;
  • 边缘模糊度增加, 高频纹理逐渐被滤除;
  • 保留了整体形状, 因此非常适合用于多尺度分析、特征提取等任务.

2. 拉普拉斯金字塔的意义与特征

拉普拉斯金字塔由高斯金字塔相邻层之间的差值得到, 相当于一种“带通滤波”表示, 保留了图像的高频成分, 如边缘和细节. 图\ref{fig:laplacian} 中可以看到:

  • 每一层都突出显示了边缘与纹理等细节;
  • 图像整体亮度偏低, 符合高频信息的特征;
  • 部分层存在轻微的偏移, 这与上采样过程的对齐方式有关.

3. 滤波器与抽样频率的关系讨论 #

下采样前必须进行适当的低通滤波(如高斯滤波), 原因是:

  • 若不滤波, 图像中高频分量会发生混叠(aliasing), 导致下采样后出现明显伪影;
  • 滤波器的频率响应应覆盖信号高频部分, 以保证抽样满足奈奎斯特采样定理;
  • 选用 5×55 \times 5 高斯核能较好地平滑图像, 兼顾抑制噪声与保留结构.

因此, **滤波器越宽、平滑效果越强, 可降低混叠; 但过度平滑会损失细节, 需要在二者之间取得平衡. **

综合总结 #

通过本次实验, 可以总结如下:

  • 逆向映射结合插值能有效避免空洞, 是大多数图像变换的首选;
  • 近邻插值虽简单但质量较差, 双线性插值在视觉效果上更优;
  • 高斯金字塔提供了图像的多尺度低频结构;
  • 拉普拉斯金字塔保留了图像的高频细节信息;
  • 合理设计滤波器对金字塔的构建质量至关重要.

讨论

评论

正在加载评论...