This module provides reimplementation for image quality assessment
in both conventional digital image processing and deep learning based approaches.
If your research interests lie in IQA, please feel free to contact @LucasXU or send a Pull Request to this repository.
- Blurry Detection
- Overexposure Detection
- Lean Detection
- Clear Detection
- CNN based IQA models
- IQANet (CVPR'14)
- IQACNNPlusPlus (ICIP'15)
- DeepPatchCNN (ICIP'16)
- DeepBIQ (Signal, Image and Video Processing'18)
- NIMA (TIP'18)
-
For IQANet and IQACNNPlusPlus, I set the last output neuron as 2, and adopt
Cross Entropy Loss
to train the deep models to satisfy our requirement. You can also set the last output neuron as 1, remove softmax layer, and train regression nets withMSE Loss
. -
I replace the input channel as RGB instead of Gray-scale, since I find RGB input improves accuracy, I also add BatchNorm as a standard component as in SOTA CNN architecture.
-
I also provide related code for blur image generation, warp transformation and overexposure image generation.
I adopt these models mentioned above for exposure/edge recognition
in product recognition project
to reject unqualified images. The performance is listed as follows, you can train your own model with the code provided within this module.
Model | Acc | Precision | Recall | Model Size |
---|---|---|---|---|
IQACNNPlusPlus | 90.89% | 91.09% | 90.20% | 0.3M |
IQANet | 89.32% | 89.56% | 88.51% | 2.78M |
DeepPatchCNN | 94.53% | 94.43% | 94.35% | 19M |
Model | Acc | Precision | Recall | Model Size |
---|---|---|---|---|
IQACNNPlusPlus | 89.19% | 87.19% | 80.91% | 0.3M |
IQANet | 89.69% | 88.33% | 81.70% | 2.78M |
DeepPatchCNN | 93.44% | 91.33% | 90.16% | 19M |
Model | Acc | Precision | Recall | Model Size |
---|---|---|---|---|
IQACNNPlusPlus | 87.11% | 87.87% | 86.89% | 0.3M |
IQANet | 84.77% | 87.11% | 84.37% | 2.78M |
DeepPatchCNN | 94.14% | 94.25% | 94.07% | 19M |
- Kang L, Ye P, Li Y, et al. Convolutional neural networks for no-reference image quality assessment[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2014: 1733-1740.
- Kang L, Ye P, Li Y, et al. Simultaneous estimation of image quality and distortion via multi-task convolutional neural networks[C]//2015 IEEE international conference on image processing (ICIP). IEEE, 2015: 2791-2795.
- Talebi, Hossein, and Peyman Milanfar. "Nima: Neural image assessment." IEEE Transactions on Image Processing 27.8 (2018): 3998-4011.
- Bosse S, Maniry D, Wiegand T, et al. A deep neural network for image quality assessment[C]//2016 IEEE International Conference on Image Processing (ICIP). IEEE, 2016: 3773-3777.
- Bianco S, Celona L, Napoletano P, et al. On the use of deep learning for blind image quality assessment[J]. Signal, Image and Video Processing, 2018, 12(2): 355-362.
- Bansal, Raghav, Gaurav Raj, and Tanupriya Choudhury. "Blur image detection using Laplacian operator and Open-CV." 2016 International Conference System Modeling & Advancement in Research Trends (SMART). IEEE, 2016.