opencv / opencv_contrib

Repository for OpenCV's extra modules
Apache License 2.0
9.2k stars 5.74k forks source link

Feature Request: BRISQUE NR-IQA Implementation #1983

Closed krshrimali closed 5 years ago

krshrimali commented 5 years ago
System information (version)
Detailed description

I propose a new feature of an NR-IQA method, BRISQUE for OpenCV. I have the C++ and Python implementation of BRISQUE. May I create a PR on adding this feature?

Blog Link: https://www.learnopencv.com/image-quality-assessment-brisque/

clunietp commented 5 years ago

I would love to see this as part of the IQA module here: https://github.com/opencv/opencv_contrib/pull/1959

Also see this fork https://github.com/FlyingRhenquest/No-Reference-Image-Quality-Assessment-using-BRISQUE-Model

How can I help?

krshrimali commented 5 years ago

@clunietp - Yes, the repo you mentioned is from the continuation of my original work here: https://github.com/krshrimali/No-Reference-Image-Quality-Assessment-using-BRISQUE-Model and now updated here: https://github.com/spmallick/learnopencv/tree/master/ImageMetrics

I'll add the BRISQUE IQA metric to the IQA Metrics in your PR. Does that sound good?

clunietp commented 5 years ago

@krshrimali Sounds great! Please ping me if I can be of assistance 👍

clunietp commented 5 years ago

@krshrimali I had to rebranch and create a new PR, please see https://github.com/opencv/opencv_contrib/pull/1990

krshrimali commented 5 years ago

@clunietp - Thanks! I'll check that out.

There are some licensing problems with the trained model, I think. I'll have to train it again and then only can use for BRISQUE.

Meanwhile, I'm converting my code for OpenCV compatibility and trying to follow the pattern you did, for similarity. If possible, can we get in touch at: kushashwaravishrimali@gmail.com for some discussion? Thanks!

krshrimali commented 5 years ago

@alalek - I'm planning to contribute BRISQUE NR-IQA to Quality Module. But since the model loading requires LIBSVM (and it can't be loaded using OpenCV-SVM Implementation), do you think it would be fine to add this requirement for using BRISQUE? Or if you have any other solution, thanks!

Or -- It can be included directly in the implementation here: https://github.com/krshrimali/No-Reference-Image-Quality-Assessment-using-BRISQUE-Model/tree/master/C%2B%2B/libsvm

krshrimali commented 5 years ago

This has been merged! Thanks.