You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

像素超分辨率算法复现:位移未知时如何求解H矩阵?

像素超分辨率复现:未知位移下的H矩阵求解问题

问题描述

我正在探索像素超分辨率(super-resolution, SR)算法,目前尝试复现论文《High-resolution image reconstruction from a sequence of rotated and translated frames and its application to an infrared imaging system》。

论文将低分辨率(low-resolution, LR)图像建模为:

Y = HX + n
其中Y为LR图像,X为SR图像,H是描述图像旋转、平移与模糊的权重矩阵,n为噪声项。算法通过迭代求解X,使*(Y-HX)*的范数最小化。

我用Matlab实现了LR图像生成:加载256×256的图像后,通过四个方向下采样得到四张128×128的LR图像,预处理代码如下:

image = imread('cameraman.tif');
lr_image1 = image(1:2:end,1:2:end);
lr_image2 = image(2:2:end,1:2:end);
lr_image3 = image(1:2:end,2:2:end);
lr_image4 = image(2:2:end,2:2:end);

当前遇到的问题:当位移距离未知时,不清楚如何求解H矩阵,寻求技术帮助。


解决方案

针对未知位移场景,H矩阵的求解需要结合亚像素配准和退化算子建模两步完成,以下是具体实现思路:

1. 亚像素级LR图像配准

首先需要确定各LR图像之间的相对位移(亚像素精度),这是构建H矩阵的前提:

  • 选择其中一张LR图像作为参考(比如lr_image1),对其余三张图像做刚性平移配准。
  • 可使用Matlab的imregcorr函数(适合同模态图像配准),或dftregistration函数(基于相位相关,适合亚像素位移计算)。

示例配准代码(以lr_image1为参考配准lr_image2):

% 转换为单精度灰度图,提升配准精度
ref_img = im2single(lr_image1);
target_img = im2single(lr_image2);

% 配置配准参数(亚像素精度)
[optimizer, metric] = imregconfig('monomodal');
optimizer.InitialRadius = 1;
optimizer.Epsilon = 1e-7;
optimizer.MaximumIterations = 100;

% 执行平移配准
tform = imregcorr(target_img, ref_img, 'translation', optimizer, metric);

% 获取亚像素位移量
dx = tform.T(3,1);  % x方向位移
dy = tform.T(3,2);  % y方向位移

2. 构建退化算子(避免显式生成H矩阵)

直接生成H矩阵会导致内存爆炸(比如128×128的LR对应256×256的HR,H的尺寸为16384×65536),实际实现中用矩阵-向量乘法的等价操作代替:
H矩阵对应的退化流程为:HR图像 → 平移(亚像素用插值实现)→ 模糊(按论文的PSF)→ 下采样,具体操作:

  • 平移:对HR图像X用双线性/双三次插值实现亚像素位移;
  • 模糊:用论文指定的模糊核(如高斯核)对平移后的图像做卷积;
  • 下采样:隔行隔列采样得到LR图像。

3. 迭代优化求解X

基于论文的最小化目标,用Matlab的优化函数(如lsqnonlin)迭代求解:

  • 封装退化过程为函数:输入HR图像X,输出模拟的LR图像集合;
  • 定义损失函数为所有真实LR图像与模拟图像的残差平方和;
  • 调用优化函数迭代更新X,直到残差收敛。

针对当前实验的简化处理

因为你是从同一张HR图像生成的LR图像,位移是已知的(比如lr_image2对应HR图像的第2、4…行,第1、3…列),可直接跳过配准步骤,直接根据固定位移构建退化操作。


内容的提问来源于stack exchange,提问作者Swimming

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 07:42:41