From d20382a4cd2c44a3f1087a6ed309e86e9eca65c1 Mon Sep 17 00:00:00 2001 From: LiangbinXie Date: Wed, 8 Jun 2022 11:38:58 +0800 Subject: [PATCH 1/3] add calc_psnr script --- scripts/calc_psnr.py | 57 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 scripts/calc_psnr.py diff --git a/scripts/calc_psnr.py b/scripts/calc_psnr.py new file mode 100644 index 000000000..9701e5fed --- /dev/null +++ b/scripts/calc_psnr.py @@ -0,0 +1,57 @@ +import cv2 +import glob +import logging +import os +import os.path as osp + +from basicsr.metrics import psnr_ssim +from basicsr.utils import get_root_logger, get_time_str + + +def main(): + + sr_folder = 'results/BasicVSRPP' + gt_folder = 'datasets/REDS4/GT' + + # logger + log_file = osp.join(sr_folder, f'psnr_test_{get_time_str()}.log') + logger = get_root_logger(logger_name='bascivsrpp', log_level=logging.INFO, log_file=log_file) + + avg_psnr_l = [] + + subfolder_sr_l = sorted(glob.glob(osp.join(sr_folder, '*'))) + subfolder_gt_l = sorted(glob.glob(osp.join(gt_folder, '*'))) + + # for each subfolder + subfolder_names = [] + for subfolder_sr, subfolder_gt in zip(subfolder_sr_l, subfolder_gt_l): + subfolder_name = osp.basename(subfolder_sr) + subfolder_names.append(subfolder_name) + + avg_psnr = 0 + name_idx = 0 + img_name_list = sorted(os.listdir(subfolder_gt)) + for img_name in img_name_list: + img_basename = os.path.splitext(img_name)[0] + # read SR image and GT image + img_sr = cv2.imread(osp.join(subfolder_sr, f'{img_basename}_BasicVSRPP.png'), cv2.IMREAD_UNCHANGED) + # read GT image + img_gt = cv2.imread(osp.join(subfolder_gt, f'{img_basename}.png'), cv2.IMREAD_UNCHANGED) + crt_psnr = psnr_ssim.calculate_psnr(img_sr, img_gt, crop_border=0, test_y_channel=False) + + avg_psnr += crt_psnr + logger.info(f'{subfolder_name}--{img_name} - PSNR: {crt_psnr:.6f} dB. ') + name_idx += 1 + + avg_psnr /= name_idx + avg_psnr_l.append(avg_psnr) + + for folder_idx, subfolder_name in enumerate(subfolder_names): + logger.info(f'Folder {subfolder_name} - Average PSNR: {avg_psnr_l[folder_idx]:.6f} dB. ') + + logger.info(f'Average PSNR: {sum(avg_psnr_l) / len(avg_psnr_l):.6f} dB ' f'for {len(subfolder_sr_l)} clips. ') + + +if __name__ == '__main__': + + main() From 585f6de73d762e2d9c3e44f873ee554aca245841 Mon Sep 17 00:00:00 2001 From: LiangbinXie Date: Wed, 8 Jun 2022 15:11:59 +0800 Subject: [PATCH 2/3] delete calc_psnr script --- scripts/calc_psnr.py | 57 -------------------------------------------- 1 file changed, 57 deletions(-) delete mode 100644 scripts/calc_psnr.py diff --git a/scripts/calc_psnr.py b/scripts/calc_psnr.py deleted file mode 100644 index 9701e5fed..000000000 --- a/scripts/calc_psnr.py +++ /dev/null @@ -1,57 +0,0 @@ -import cv2 -import glob -import logging -import os -import os.path as osp - -from basicsr.metrics import psnr_ssim -from basicsr.utils import get_root_logger, get_time_str - - -def main(): - - sr_folder = 'results/BasicVSRPP' - gt_folder = 'datasets/REDS4/GT' - - # logger - log_file = osp.join(sr_folder, f'psnr_test_{get_time_str()}.log') - logger = get_root_logger(logger_name='bascivsrpp', log_level=logging.INFO, log_file=log_file) - - avg_psnr_l = [] - - subfolder_sr_l = sorted(glob.glob(osp.join(sr_folder, '*'))) - subfolder_gt_l = sorted(glob.glob(osp.join(gt_folder, '*'))) - - # for each subfolder - subfolder_names = [] - for subfolder_sr, subfolder_gt in zip(subfolder_sr_l, subfolder_gt_l): - subfolder_name = osp.basename(subfolder_sr) - subfolder_names.append(subfolder_name) - - avg_psnr = 0 - name_idx = 0 - img_name_list = sorted(os.listdir(subfolder_gt)) - for img_name in img_name_list: - img_basename = os.path.splitext(img_name)[0] - # read SR image and GT image - img_sr = cv2.imread(osp.join(subfolder_sr, f'{img_basename}_BasicVSRPP.png'), cv2.IMREAD_UNCHANGED) - # read GT image - img_gt = cv2.imread(osp.join(subfolder_gt, f'{img_basename}.png'), cv2.IMREAD_UNCHANGED) - crt_psnr = psnr_ssim.calculate_psnr(img_sr, img_gt, crop_border=0, test_y_channel=False) - - avg_psnr += crt_psnr - logger.info(f'{subfolder_name}--{img_name} - PSNR: {crt_psnr:.6f} dB. ') - name_idx += 1 - - avg_psnr /= name_idx - avg_psnr_l.append(avg_psnr) - - for folder_idx, subfolder_name in enumerate(subfolder_names): - logger.info(f'Folder {subfolder_name} - Average PSNR: {avg_psnr_l[folder_idx]:.6f} dB. ') - - logger.info(f'Average PSNR: {sum(avg_psnr_l) / len(avg_psnr_l):.6f} dB ' f'for {len(subfolder_sr_l)} clips. ') - - -if __name__ == '__main__': - - main() From fbe2dd4ce907b7552a3bbef514953e8eb4cb8fdc Mon Sep 17 00:00:00 2001 From: LiangbinXie Date: Sun, 23 Apr 2023 11:17:41 +0800 Subject: [PATCH 3/3] update the QR code --- README.md | 5 +++-- README_CN.md | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 669f5620f..d164bd44a 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@
-⚡[**HowTo**](#-HOWTOs) **|** 🔧[**Installation**](docs/INSTALL.md) **|** 💻[**Training Commands**](docs/TrainTest.md) **|** 🐢[**DatasetPrepare**](docs/DatasetPreparation.md) **|** 🏰[**Model Zoo**](docs/ModelZoo.md) +⚡[**HowTo**](#-howtos) **|** 🔧[**Installation**](docs/INSTALL.md) **|** 💻[**Training Commands**](docs/TrainTest.md) **|** 🐢[**DatasetPrepare**](docs/DatasetPreparation.md) **|** 🏰[**Model Zoo**](docs/ModelZoo.md) 📕[**中文解读文档**](https://github.com/XPixelGroup/BasicSR-docs) **|** 📊 [**Plot scripts**](scripts/plot) **|** 📝[Introduction](docs/introduction.md) **|** google colab logo **|** ⏳[TODO List](https://github.com/xinntao/BasicSR/projects) **|** ❓[FAQ](docs/FAQ.md)
@@ -113,10 +113,11 @@ If you have any questions, please email `xintao.alpha@gmail.com`, `xintao.wang@o
- **QQ群**: 扫描左边二维码 或者 搜索QQ群号: 320960100   入群答案:互帮互助共同进步 -- **微信群**: 我们的一群已经满500人啦,二群也超过200人了;进群可以添加 Liangbin 的个人微信 (右边二维码),他会在空闲的时候拉大家入群~ +- **微信群**: 我们的群一和群二已经满500人啦,进群三可以扫描中间的二维码;如果进群遇到问题,也可以添加 Liangbin 的个人微信 (右边二维码),他会在空闲的时候拉大家入群~

  +

diff --git a/README_CN.md b/README_CN.md index e434f9e51..8c294a1fc 100644 --- a/README_CN.md +++ b/README_CN.md @@ -149,10 +149,10 @@ For detailed instructions refer to [docs/INSTALL.md](docs/INSTALL.md).
- **QQ群**: 扫描左边二维码 或者 搜索QQ群号: 320960100   入群答案:互帮互助共同进步 -- **微信群**: 我们的群一已经满500人啦,进群二可以扫描中间的二维码;如果进群遇到问题,也可以添加 Liangbin 的个人微信 (右边二维码),他会在空闲的时候拉大家入群~ +- **微信群**: 我们的群一和群二已经满500人啦,进群三可以扫描中间的二维码;如果进群遇到问题,也可以添加 Liangbin 的个人微信 (右边二维码),他会在空闲的时候拉大家入群~

  -   +