Giter VIP home page Giter VIP logo

diqa's Introduction

DIQA

Pytorch version of IEEE Transactions on Image Processing 2019 : J. Kim, A. Nguyen and S. Lee, "Deep CNN-Based Blind Image Quality Predictor," in IEEE Transactions on Neural Networks and Learning Systems, vol. 30, no. 1, pp. 11-24, Jan. 2019, doi: 10.1109/TNNLS.2018.2829819.

Note

  1. Some training details differ from the original paper, if you want to be consistent with the original pape, make some changes.
  2. This training progress only support on LIVE II database now, the training progress on TID2013, CSIQ, LIVEMD, CLIVE will be released soon.

Train

  1. For the Step 1 training, run python train_step1.py
  2. For the Step 2 training, run python train_step2.py

TODO

  • Cross dataset test code will be published
  • Train on different distortion types on LIVE, TID2013, CSIQ will be published
  • Code of evaluations on Waterloo Exploration Database (D-test, L-test, P-test and gMAd competition) will be published

diqa's People

Contributors

lllllllllllll-llll avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

diqa's Issues

about input

Thank you very much for sharing, I have some questions here.Is the input of DIQA also patch? Can the whole picture be input directly? I did not see the details of patch input in the paper.

May be an error in your code of IQADataset.py

Hello, I read your paper and run your code in my machine, I found the mathod defined in IQADataset.py as following:

def errormap_process(patch, patch_ref):
p = 0.2
errormap = np.abs(patch_ref.numpy(), patch.numpy())
errormap = np.power(errormap, p)
errormap = torch.from_numpy(errormap)
errormap = errormap.unsqueeze(0)
errormap = F.interpolate(errormap, size=(28, 28))
errormap = errormap.squeeze(0)
return errormap

and in your paper, it said that error map is defined used the exponent difference function, so I think the bold code of upper method should be:
errormap = np.abs(patch_ref.numpy() - patch.numpy())

I believe it was due to your hand mistake.

question

请问在iqadataset.py里的第27和29行有什么具体意义嘛。。。我知道做了什么,但是感觉没什么用啊

about loss

thanks for your code. I train it but loss is nan, error shows that the dividend is 0. I don't know the reason. Can you tell me answer?

some error

When I run train_ step1.py, it said, "typeerror: can't convert CUDA tenant to numpy. Use Tensor.cpu () to copy the tensor to host memory first.”
Can you tell me the version of torch package? I think the problem may be the package version.
thank u.

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.