Для репликации тарифов я нашел эти наборы данных 'SET05' и 'SET14' в Здесь и загрузил их сюда Загрузка , чтобы вы могли загрузить только два набора.
Сначала я уменьшил каждое изображение на 2, используя бикубическую интерполяцию, а затем снова увеличил их.Я измерил среднее значение PSNR в цветовом пространстве RGB и YCBCR.проблема в том, что я не могу воспроизвести одинаковые опубликованные результаты в каждой статье.Например, следующие документы для SET14 по шкале 2:
- LAPSRN : 30,34 дБ
- SRCNN : 30,23 дБ
- EDSR : 30,24 дБ
- Mutligrid BP : 30,34 дБ
- моя реализация RGB: 32,51
- моя реализация на каналеY из YCBCR: 33.28
Я также использовал метод бритья, и у меня все еще есть более низкие значения.
def roundts(tensor, shave_border):
b,c,w,h = tensor.size()
tensor = tensor[:, :, shave_border:w - shave_border, shave_border:h - shave_border]
return tensor.mul_(255).clamp_(0, 255).to('cpu', torch.uint8).numpy()
def validation_methods(sr, hr):
batch_mse = ((roundts(sr, 2) - roundts(hr, 2)) ** 2).mean()
psnr = 10 * math.log10((255.0 **2) / batch_mse )
rmse = math.sqrt(batch_mse)
return batch_mse, psnr, rmse
Код выше приведен в коде Pytorch, который можно легко преобразовать в Python.Любая помощь здесь будет признательна, так как я вижу различные реализации в Интернете, и нет единого пути.