GithubHelp home page GithubHelp logo

lidq92 / wadiqam Goto Github PK

View Code? Open in Web Editor NEW
128.0 2.0 37.0 51.97 MB

[unofficial] Pytorch implementation of WaDIQaM in TIP2018, Bosse S. et al. (Deep neural networks for no-reference and full-reference image quality assessment)

Python 99.05% Shell 0.95%
image-quality-assessment blind-image-quality-assessment deep-neural-networks full-reference-iqa pytorch

wadiqam's Introduction

(Wa)DIQaM-FR/NR

PyTorch 1.1 (with Python 3.6) implementation of the following paper:

Bosse S, Maniry D, Müller K R, et al. Deep neural networks for no-reference and full-reference image quality assessment. IEEE Transactions on Image Processing, 2018, 27(1): 206-219.

You can refer to the chainer codes (only the test part) from the original authors: dmaniry/deepIQA

Note

  • The hyper-parameter or some other experimental settings are not the same as the paper described, e.g., nonoverlapping patches are considered for validation/test images instead of random selection. Readers can refer to the paper for the exact settings of the original paper.
  • Warning!. The performance on each database is not guaranteed using the default settings of the code. Reproduced results are welcomed to reported.
  • If you do not have enough memory, then change slightly the code in IQADataset class. Specifically, read image in __getitem__ instead of __init__. You can choose to use IQADataset_less_memory class instead.

TODO (If I have free time)

  • Reproduce the results on some common databases, especially for the NR model (Currently, NR model is not tuned to reproduce the results.)
  • Simplify the code
  • etc.

wadiqam's People

Contributors

lidq92 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

wadiqam's Issues

您好,感谢您提供的代码~~~这儿我有个小问题

在您的test_cross_dataset.py这个测试脚本中最后有个循环
for i in range(len(im_names)):
im = Image.open(os.path.join(args.dist_dir, im_names[i])).convert('RGB')
ref = Image.open(os.path.join(args.ref_dir, ref_names[i])).convert('RGB')
这个循环是不是只能测试25张有参考的iqa?上述语句中的i是同时在变的,也就是说应该没法儿测试比如第1张参考图像对应第4张失真图像的iqa分数?想跟您确认一下这个点,感谢

Inquire about the data info generation process

Dear Dingquan,

Thanks a lot for your great work! It really helps!

One thing I wanna inquire about is the data info generation process. Is any script available to generate such full info for a random dataset like CSIQ?

Thanks in advance and have a nice day!

Best,

Shuyue

License info

Hello is the pre-trained model free to use for commercial use as part of a transfer learning model?

result higher than the paper

hi!I would like to ask you about the replication results of using this code on the Tid2013 dataset. The results I ran were much higher than those in the paper. What is the situation? May i ask what data you have generated?

Query regarding DIQaM

Thanks for your work in this field of IQA. Can you please tell me what changes do I need to bring in this code if I want to implement DIQaM method of the paper?

Failed to save model graph

def create_summary_writer(model, data_loader, log_dir='tensorboard_logs'):
    """ Create Summary Writer for TensorBoard Visualization
    :param model: model
    :param data_loader: data loader
    :param log_dir: log dir
    :return: writer
    """
    writer = SummaryWriter(log_dir=log_dir)
    data_loader_iter = iter(data_loader)
    x, y = next(data_loader_iter)
    try:
        writer.add_graph(model, x) # exception here
    except Exception as e:
        print("Failed to save model graph: {}".format(e))
    return writer

Error:
Failed to save model graph: %33 : Tensor = onnx::Unsqueezeaxes=[0]
has empty scope name

Could you help me ? my version is torch 1.1.0 torchfile 0.1.0 torchnet 0.0.4 torchvision 0.3.0

您好,我在您的网络基础上改动为NRIQA遇到了一些问题

您的FRIQA网络我已经成功训练并测试,之后我想要将这个网络修改为无参考的模型进行训练并测试,我做了如下的改动:将配置文件的模式修改为WaDIQAM-NR,将RandomCropPatches切片函数的参数修改为NR,然后运行训练脚本,切分数据集的过程中会产生如下问题:RuntimeError: expected a non-empty list of Tensors,我尝试着将RandomCropPatches函数的ref_crops删除,还有IQADataset中的有关ref_crops的部分都做了删除,并将model中的x_ref删除,只输出其他的值,之前的问题得以解决,但是会出现这个问题:
Traceback (most recent call last):
File "D:/pythonworkplace/MY-WAdeepIQA/WaDIQaM.py", line 138, in
sq_std.append(data[3])
IndexError: list index out of range
面对这个问题我多次尝试但是没有能够成功解决,如果将[3]删除虽然能解决掉字面的bug但是在运行一段时间后还会提示只有一个tensor元素可以被转化为python scalar的错误。究其原因还是我对于代码中定义的sq_std的意义不明确,不知道在无参考模型中如何处理这个变量,希望能够得到您的指点,帮助我完成无参考的训练,万分感激!!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.