我正在尝试实施以下论文:http://www.ifp.illinois.edu/~jyang29/papers/TIP10-SR.pdf
我认为到目前为止,除信号重建外,其他一切都工作正常。为了学习字典并构建SR图像的补丁,我使用了sklearn函数(分别为MiniBatchDictionaryLearning和SparseCoder)。字典学习过程看起来不错,但是重建步骤似乎有缺陷...这是我正在做的:
# Dictionary learning:
dico = MiniBatchDictionaryLearning(n_components=512, alpha=1, n_iter=1000)
Dh = dico.fit_transform(X)
# X is the signal matrix extracted from high resolution training images
# the same goes for Y, which is extracted from low resolution training images
Dl = dico.fit_transform(Y)
字典是预期的形状为512x81和512x9的矩阵。总而言之,此后的目标是提高图像的分辨率,并且逐个完成。该算法尝试从低分辨率图像中包含的3x3色块中估算9x9色块。为此,我正在执行以下操作:
alpha_Y = SparseCoder(Dl.T).transform(kernel)
x = Dh @ alpha_Y.T
# where kernel is the low resolution image patch and alpha_Y should be its
# sparse representation, according to Dl.
# x should be the high resolution reconstructed patch.
此后,重建完成。它只会生成黑色图像,我不知道为什么。也许我以错误的方式使用了sklearn函数...我正在寻求知道如何正确使用这些功能或有解决此问题的见识的人的帮助。