From 6b73f650da470000c4ce687531c01c6bd49390d6 Mon Sep 17 00:00:00 2001 From: Saafke Date: Thu, 15 Aug 2019 22:08:45 +0100 Subject: [PATCH 1/7] Add learning-based super-resolution module Adds the module plus loading classes for SR data Complete with docs, tutorials and tests. --- modules/README.md | 4 +- .../include/opencv2/datasets/dataset.hpp | 47 +++ .../include/opencv2/datasets/sr_bsds.hpp | 41 ++ .../include/opencv2/datasets/sr_div2k.hpp | 41 ++ .../opencv2/datasets/sr_general100.hpp | 41 ++ modules/datasets/samples/sr_bsds.cpp | 50 +++ modules/datasets/samples/sr_div2k.cpp | 47 +++ modules/datasets/samples/sr_general100.cpp | 47 +++ modules/datasets/src/sr_bsds.cpp | 74 ++++ modules/datasets/src/sr_div2k.cpp | 62 +++ modules/datasets/src/sr_general100.cpp | 62 +++ modules/dnn_superres/CMakeLists.txt | 5 + modules/dnn_superres/README.md | 95 +++++ .../include/opencv2/dnn_superres.hpp | 155 +++++++ modules/dnn_superres/samples/butterfly.png | Bin 0 -> 127529 bytes modules/dnn_superres/samples/dnn_superres.cpp | 79 ++++ modules/dnn_superres/src/dnn_superres.cpp | 385 ++++++++++++++++++ modules/dnn_superres/src/precomp.hpp | 17 + .../dnn_superres/test/test_dnn_superres.cpp | 111 +++++ modules/dnn_superres/test/test_main.cpp | 6 + modules/dnn_superres/test/test_precomp.hpp | 15 + .../table_of_content_dnn_superres.markdown | 8 + .../images/bicubicOutput.jpg | Bin 0 -> 86467 bytes .../images/fsrcnnOutput.jpg | Bin 0 -> 89758 bytes .../upscale_image_single/images/input.jpg | Bin 0 -> 20457 bytes .../upscale_image_single.markdown | 66 +++ 26 files changed, 1457 insertions(+), 1 deletion(-) create mode 100644 modules/datasets/include/opencv2/datasets/sr_bsds.hpp create mode 100644 modules/datasets/include/opencv2/datasets/sr_div2k.hpp create mode 100644 modules/datasets/include/opencv2/datasets/sr_general100.hpp create mode 100644 modules/datasets/samples/sr_bsds.cpp create mode 100644 modules/datasets/samples/sr_div2k.cpp create mode 100644 modules/datasets/samples/sr_general100.cpp create mode 100644 modules/datasets/src/sr_bsds.cpp create mode 100644 modules/datasets/src/sr_div2k.cpp create mode 100644 modules/datasets/src/sr_general100.cpp create mode 100644 modules/dnn_superres/CMakeLists.txt create mode 100644 modules/dnn_superres/README.md create mode 100644 modules/dnn_superres/include/opencv2/dnn_superres.hpp create mode 100644 modules/dnn_superres/samples/butterfly.png create mode 100644 modules/dnn_superres/samples/dnn_superres.cpp create mode 100644 modules/dnn_superres/src/dnn_superres.cpp create mode 100644 modules/dnn_superres/src/precomp.hpp create mode 100644 modules/dnn_superres/test/test_dnn_superres.cpp create mode 100644 modules/dnn_superres/test/test_main.cpp create mode 100644 modules/dnn_superres/test/test_precomp.hpp create mode 100644 modules/dnn_superres/tutorials/table_of_content_dnn_superres.markdown create mode 100644 modules/dnn_superres/tutorials/upscale_image_single/images/bicubicOutput.jpg create mode 100644 modules/dnn_superres/tutorials/upscale_image_single/images/fsrcnnOutput.jpg create mode 100644 modules/dnn_superres/tutorials/upscale_image_single/images/input.jpg create mode 100644 modules/dnn_superres/tutorials/upscale_image_single/upscale_image_single.markdown diff --git a/modules/README.md b/modules/README.md index 26387d2e34c..9402720f7cf 100644 --- a/modules/README.md +++ b/modules/README.md @@ -22,7 +22,9 @@ $ cmake -D OPENCV_EXTRA_MODULES_PATH=/modules -D BUILD_opencv_ + +Usage: +-# From link above download `BSDS300-images.tgz`. +-# Unpack. +-# To load data run: +~~~ +./opencv/build/bin/example_datasets_sr_bsds -p=/home/user/path_to_unpacked_folder/ +~~~ + +### DIV2K dataset: DIVerse 2K + +Implements loading dataset: + +"DIV2K dataset: DIVerse 2K": + +Usage: +-# From link above download 'Train data (HR images)' or any other of the dataset files. +-# Unpack. +-# To load data run: +~~~ +./opencv/build/bin/example_datasets_sr_div2k -p=/home/user/path_to_unpacked_folder/folder_containing_the_images/ +~~~ + +### The General-100 Dataset + +Implements loading dataset: + +"General-100 dataset contains 100 bmp-format images (with no compression). +We used this dataset in our FSRCNN ECCV 2016 paper. The size of these 100 images ranges from 710 x 704 (large) to 131 x 112 (small). +They are all of good quality with clear edges but fewer smooth regions (e.g., sky and ocean), thus are very suitable for the super-resolution training.": + + +Usage: +-# From link above download `General-100.zip`. +-# Unpack. +-# To load data run: +~~~ +./opencv/build/bin/example_datasets_sr_general100 -p=/home/user/path_to_unpacked_folder/ +~~~ + @defgroup datasets_tr Text Recognition ### The Chars74K Dataset diff --git a/modules/datasets/include/opencv2/datasets/sr_bsds.hpp b/modules/datasets/include/opencv2/datasets/sr_bsds.hpp new file mode 100644 index 00000000000..c319323dd53 --- /dev/null +++ b/modules/datasets/include/opencv2/datasets/sr_bsds.hpp @@ -0,0 +1,41 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +#ifndef OPENCV_DATASETS_SR_BSDS_HPP +#define OPENCV_DATASETS_SR_BSDS_HPP + +#include +#include + +#include "opencv2/datasets/dataset.hpp" + +#include + +namespace cv +{ +namespace datasets +{ + +//! @addtogroup datasets_sr +//! @{ + +struct SR_bsdsObj : public Object +{ + std::string imageName; +}; + +class CV_EXPORTS SR_bsds : public Dataset +{ +public: + virtual void load(const std::string &path) CV_OVERRIDE = 0; + + static Ptr create(); +}; + +//! @} + +} +} + +#endif \ No newline at end of file diff --git a/modules/datasets/include/opencv2/datasets/sr_div2k.hpp b/modules/datasets/include/opencv2/datasets/sr_div2k.hpp new file mode 100644 index 00000000000..9e2c0253bea --- /dev/null +++ b/modules/datasets/include/opencv2/datasets/sr_div2k.hpp @@ -0,0 +1,41 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +#ifndef OPENCV_DATASETS_SR_DIV2K_HPP +#define OPENCV_DATASETS_SR_DIV2K_HPP + +#include +#include + +#include "opencv2/datasets/dataset.hpp" + +#include + +namespace cv +{ +namespace datasets +{ + +//! @addtogroup datasets_sr +//! @{ + +struct SR_div2kObj : public Object +{ + std::string imageName; +}; + +class CV_EXPORTS SR_div2k : public Dataset +{ +public: + virtual void load(const std::string &path) CV_OVERRIDE = 0; + + static Ptr create(); +}; + +//! @} + +} +} + +#endif \ No newline at end of file diff --git a/modules/datasets/include/opencv2/datasets/sr_general100.hpp b/modules/datasets/include/opencv2/datasets/sr_general100.hpp new file mode 100644 index 00000000000..8b2d18903f8 --- /dev/null +++ b/modules/datasets/include/opencv2/datasets/sr_general100.hpp @@ -0,0 +1,41 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +#ifndef OPENCV_DATASETS_SR_GENERAL100_HPP +#define OPENCV_DATASETS_SR_GENERAL100_HPP + +#include +#include + +#include "opencv2/datasets/dataset.hpp" + +#include + +namespace cv +{ +namespace datasets +{ + +//! @addtogroup datasets_sr +//! @{ + +struct SR_general100Obj : public Object +{ + std::string imageName; +}; + +class CV_EXPORTS SR_general100 : public Dataset +{ +public: + virtual void load(const std::string &path) CV_OVERRIDE = 0; + + static Ptr create(); +}; + +//! @} + +} +} + +#endif \ No newline at end of file diff --git a/modules/datasets/samples/sr_bsds.cpp b/modules/datasets/samples/sr_bsds.cpp new file mode 100644 index 00000000000..75c7d7cb5f3 --- /dev/null +++ b/modules/datasets/samples/sr_bsds.cpp @@ -0,0 +1,50 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +#include "opencv2/datasets/sr_bsds.hpp" + +#include + +#include + +#include +#include + +using namespace std; +using namespace cv; +using namespace cv::datasets; + +int main(int argc, char *argv[]) +{ + const char *keys = + "{ help h usage ? | | show this message }" + "{ path p |true| path to dataset (images, iids_train.txt, iids_test.txt) }"; + CommandLineParser parser(argc, argv, keys); + string path(parser.get("path")); + if (parser.has("help") || path=="true") + { + parser.printMessage(); + return -1; + } + + Ptr dataset = SR_bsds::create(); + dataset->load(path); + + // *************** + // Dataset train & test contain names of appropriate images. + // For example, let's output full path & name for first train and test images. + // And dataset sizes. + printf("train size: %u\n", (unsigned int)dataset->getTrain().size()); + printf("test size: %u\n", (unsigned int)dataset->getTest().size()); + + SR_bsdsObj *example1 = static_cast(dataset->getTrain()[0].get()); + string fullPath(path + "images/train/" + example1->imageName + ".jpg"); + printf("first train image: %s\n", fullPath.c_str()); + + SR_bsdsObj *example2 = static_cast(dataset->getTest()[0].get()); + fullPath = path + "images/test/" + example2->imageName + ".jpg"; + printf("first test image: %s\n", fullPath.c_str()); + + return 0; +} \ No newline at end of file diff --git a/modules/datasets/samples/sr_div2k.cpp b/modules/datasets/samples/sr_div2k.cpp new file mode 100644 index 00000000000..d28b846a57e --- /dev/null +++ b/modules/datasets/samples/sr_div2k.cpp @@ -0,0 +1,47 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +#include "opencv2/datasets/sr_div2k.hpp" + +#include + +#include + +#include +#include + +using namespace std; +using namespace cv; +using namespace cv::datasets; + +int main(int argc, char *argv[]) +{ + const char *keys = + "{ help h usage ? | | show this message }" + "{ path p |true| path to dataset (Div2k dataset folder containing the images) }"; + CommandLineParser parser(argc, argv, keys); + string path(parser.get("path")); + if (parser.has("help") || path=="true") + { + parser.printMessage(); + return -1; + } + + Ptr dataset = SR_div2k::create(); + dataset->load(path); + + // *************** + // Dataset contains all images. + // For example, let's output dataset size; first image name; and second image full path. + printf("dataset size: %u\n", (unsigned int)dataset->getTrain().size()); + + SR_div2kObj *example = static_cast(dataset->getTrain()[0].get()); + printf("first image name: %s\n", example->imageName.c_str()); + + SR_div2kObj *example2 = static_cast(dataset->getTrain()[1].get()); + string fullPath = path + "/" + example2->imageName.c_str(); + printf("second image full path: %s\n", fullPath.c_str()); + + return 0; +} \ No newline at end of file diff --git a/modules/datasets/samples/sr_general100.cpp b/modules/datasets/samples/sr_general100.cpp new file mode 100644 index 00000000000..c1ffd6a41a2 --- /dev/null +++ b/modules/datasets/samples/sr_general100.cpp @@ -0,0 +1,47 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +#include "opencv2/datasets/sr_general100.hpp" + +#include + +#include + +#include +#include + +using namespace std; +using namespace cv; +using namespace cv::datasets; + +int main(int argc, char *argv[]) +{ + const char *keys = + "{ help h usage ? | | show this message }" + "{ path p |true| path to dataset (General-100 dataset folder) }"; + CommandLineParser parser(argc, argv, keys); + string path(parser.get("path")); + if (parser.has("help") || path=="true") + { + parser.printMessage(); + return -1; + } + + Ptr dataset = SR_general100::create(); + dataset->load(path); + + // *************** + // Dataset contains all images. + // For example, let's output dataset size; first image name; and second image full path. + printf("dataset size: %u\n", (unsigned int)dataset->getTrain().size()); + + SR_general100Obj *example = static_cast(dataset->getTrain()[0].get()); + printf("first image name: %s\n", example->imageName.c_str()); + + SR_general100Obj *example2 = static_cast(dataset->getTrain()[1].get()); + string fullPath = path + "/" + example2->imageName.c_str(); + printf("second image full path: %s\n", fullPath.c_str()); + + return 0; +} \ No newline at end of file diff --git a/modules/datasets/src/sr_bsds.cpp b/modules/datasets/src/sr_bsds.cpp new file mode 100644 index 00000000000..aa59c019a1e --- /dev/null +++ b/modules/datasets/src/sr_bsds.cpp @@ -0,0 +1,74 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +#include "opencv2/datasets/sr_bsds.hpp" +#include "opencv2/datasets/util.hpp" + +namespace cv +{ +namespace datasets +{ + +using namespace std; + +class SR_bsdsImp CV_FINAL : public SR_bsds +{ +public: + SR_bsdsImp() {} + //SR_bsdsImp(const string &path); + virtual ~SR_bsdsImp() {} + + virtual void load(const string &path) CV_OVERRIDE; + +private: + void loadDataset(const string &path); + + void loadDatasetPart(const string &fileName, vector< Ptr > &dataset_); +}; + +void SR_bsdsImp::loadDatasetPart(const string &fileName, vector< Ptr > &dataset_) +{ + ifstream infile(fileName.c_str()); + string imageName; + while (infile >> imageName) + { + Ptr curr(new SR_bsdsObj); + curr->imageName = imageName; + dataset_.push_back(curr); + } +} + +/*SR_bsdsImp::SR_bsdsImp(const string &path) +{ + loadDataset(path); +}*/ + +void SR_bsdsImp::load(const string &path) +{ + loadDataset(path); +} + +void SR_bsdsImp::loadDataset(const string &path) +{ + train.push_back(vector< Ptr >()); + test.push_back(vector< Ptr >()); + validation.push_back(vector< Ptr >()); + + string trainName(path + "iids_train.txt"); + string testName(path + "iids_test.txt"); + + // loading train + loadDatasetPart(trainName, train.back()); + + // loading test + loadDatasetPart(testName, test.back()); +} + +Ptr SR_bsds::create() +{ + return Ptr(new SR_bsdsImp); +} + +} +} \ No newline at end of file diff --git a/modules/datasets/src/sr_div2k.cpp b/modules/datasets/src/sr_div2k.cpp new file mode 100644 index 00000000000..3e5700161f9 --- /dev/null +++ b/modules/datasets/src/sr_div2k.cpp @@ -0,0 +1,62 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +#include "opencv2/datasets/sr_div2k.hpp" +#include "opencv2/datasets/util.hpp" + +namespace cv +{ +namespace datasets +{ + +using namespace std; + +class SR_div2kImp CV_FINAL : public SR_div2k +{ +public: + SR_div2kImp() {} + //SR_div2kImp(const string &path); + virtual ~SR_div2kImp() {} + + virtual void load(const string &path) CV_OVERRIDE; + +private: + void loadDataset(const string &path); +}; + +/*SR_div2kImp::SR_div2kImp(const string &path) +{ + loadDataset(path); +}*/ + +void SR_div2kImp::load(const string &path) +{ + loadDataset(path); +} + +void SR_div2kImp::loadDataset(const string &path) +{ + train.push_back(vector< Ptr >()); + test.push_back(vector< Ptr >()); + validation.push_back(vector< Ptr >()); + + vector fileNames; + getDirList(path, fileNames); + for (vector::iterator it=fileNames.begin(); it!=fileNames.end(); ++it) + { + string &imageName = *it; + Ptr curr(new SR_div2kObj); + curr->imageName = imageName; + train.back().push_back(curr); + + } +} + +Ptr SR_div2k::create() +{ + return Ptr(new SR_div2kImp); +} + +} +} \ No newline at end of file diff --git a/modules/datasets/src/sr_general100.cpp b/modules/datasets/src/sr_general100.cpp new file mode 100644 index 00000000000..c0ad6df87e8 --- /dev/null +++ b/modules/datasets/src/sr_general100.cpp @@ -0,0 +1,62 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +#include "opencv2/datasets/sr_general100.hpp" +#include "opencv2/datasets/util.hpp" + +namespace cv +{ +namespace datasets +{ + +using namespace std; + +class SR_general100Imp CV_FINAL : public SR_general100 +{ +public: + SR_general100Imp() {} + //SR_general100Imp(const string &path); + virtual ~SR_general100Imp() {} + + virtual void load(const string &path) CV_OVERRIDE; + +private: + void loadDataset(const string &path); +}; + +/*SR_general100Imp::SR_general100Imp(const string &path) +{ + loadDataset(path); +}*/ + +void SR_general100Imp::load(const string &path) +{ + loadDataset(path); +} + +void SR_general100Imp::loadDataset(const string &path) +{ + train.push_back(vector< Ptr >()); + test.push_back(vector< Ptr >()); + validation.push_back(vector< Ptr >()); + + vector fileNames; + getDirList(path, fileNames); + for (vector::iterator it=fileNames.begin(); it!=fileNames.end(); ++it) + { + string &imageName = *it; + Ptr curr(new SR_general100Obj); + curr->imageName = imageName; + train.back().push_back(curr); + + } +} + +Ptr SR_general100::create() +{ + return Ptr(new SR_general100Imp); +} + +} +} \ No newline at end of file diff --git a/modules/dnn_superres/CMakeLists.txt b/modules/dnn_superres/CMakeLists.txt new file mode 100644 index 00000000000..b92d3f39c26 --- /dev/null +++ b/modules/dnn_superres/CMakeLists.txt @@ -0,0 +1,5 @@ +set(the_description "Super Resolution using CNNs") + +ocv_define_module(dnn_superres opencv_core opencv_imgproc opencv_dnn + OPTIONAL opencv_highgui opencv_imgcodecs # samples +) \ No newline at end of file diff --git a/modules/dnn_superres/README.md b/modules/dnn_superres/README.md new file mode 100644 index 00000000000..c5441ed0a40 --- /dev/null +++ b/modules/dnn_superres/README.md @@ -0,0 +1,95 @@ +# Super Resolution using Convolutional Neural Networks + +This module contains several learning-based algorithms for upscaling an image. + +## Usage + +Run the following command to build this module: + +```make +cmake -DOPENCV_EXTRA_MODULES_PATH=/modules -Dopencv_dnn_superres=ON +``` + +Refer to the tutorials to understand how to use this module. + +## Models + +There are four models which are trained. + +#### EDSR + +Trained models can be downloaded from [here](https://github.com/Saafke/EDSR_Tensorflow/tree/master/models). + +- Size of the model: ~38.5MB. This is a quantized version, so that it can be uploaded to GitHub. (Original was 150MB.) +- This model was trained for 3 days with a batch size of 16 +- Link to implementation code: https://github.com/Saafke/EDSR_Tensorflow +- x2, x3, x4 trained models available +- Advantage: Highly accurate +- Disadvantage: Slow and large filesize +- Speed: < 3 sec for every scaling factor on 256x256 images on an Intel i7-9700K CPU. +- Original paper: [Enhanced Deep Residual Networks for Single Image Super-Resolution](https://arxiv.org/pdf/1707.02921.pdf) [1] + +#### ESPCN + +Trained models can be downloaded from [here](https://github.com/fannymonori/TF-ESPCN/tree/master/export). + +- Size of the model: ~100kb +- This model was trained for ~100 iterations with a batch size of 32 +- Link to implementation code: https://github.com/fannymonori/TF-ESPCN +- x2, x3, x4 trained models available +- Advantage: It is tiny and fast, and still performs well. +- Disadvantage: Perform worse visually than newer, more robust models. +- Speed: < 0.01 sec for every scaling factor on 256x256 images on an Intel i7-9700K CPU. +- Original paper: [Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network]() [2] + +#### FSRCNN + +Trained models can be downloaded from [here](https://github.com/Saafke/FSRCNN_Tensorflow/tree/master/models). + +- Size of the model: ~40KB (~9kb for FSRCNN-small) +- This model was trained for ~30 iterations with a batch size of 1 +- Link to implementation code: https://github.com/Saafke/FSRCNN_Tensorflow +- Advantage: Fast, small and accurate +- Disadvantage: Not state-of-the-art accuracy +- Speed: < 0.01 sec for every scaling factor on 256x256 images on an Intel i7-9700K CPU. +- Notes: FSRCNN-small has fewer parameters, thus less accurate but faster. +- Original paper: [Accelerating the Super-Resolution Convolutional Neural Network](http://mmlab.ie.cuhk.edu.hk/projects/FSRCNN.html) [3] + +#### LapSRN + +Trained models can be downloaded from [here](https://github.com/fannymonori/TF-LapSRN/tree/master/export). + +- Size of the model: between 1-5Mb +- This model was trained for ~50 iterations with a batch size of 32 +- Link to implementation code: https://github.com/fannymonori/TF-LAPSRN +- x2, x4, x8 trained models available +- Advantage: The model can do multi-scale super-resolution with one forward pass. It can now support 2x, 4x, 8x, and [2x, 4x] and [2x, 4x, 8x] super-resolution. +- Disadvantage: It is slower than ESPCN and FSRCNN, and the accuracy is worse than EDSR. +- Speed: < 0.1 sec for every scaling factor on 256x256 images on an Intel i7-9700K CPU. +- Original paper: [Deep laplacian pyramid networks for fast and accurate super-resolution]() [4] + +### Benchmarks + +Comparing different algorithms. Scale x4 on monarch.png (768x512 image). + +| | Inference time in seconds (CPU)| PSNR | SSIM | +| ------------- |:-------------------:| ---------:|--------:| +| ESPCN |0.01159 | 26.5471 | 0.88116 | +| EDSR |3.26758 |**29.2404** |**0.92112** | +| FSRCNN | 0.01298 | 26.5646 | 0.88064 | +| LapSRN |0.28257 |26.7330 |0.88622 | +| Bicubic |0.00031 |26.0635 |0.87537 | +| Nearest neighbor |**0.00014** |23.5628 |0.81741 | +| Lanczos |0.00101 |25.9115 |0.87057 | + +Refer to the benchmarks located in the tutorials for more detailed benchmarking. + +### References +[1] Bee Lim, Sanghyun Son, Heewon Kim, Seungjun Nah, and Kyoung Mu Lee, **"Enhanced Deep Residual Networks for Single Image Super-Resolution"**, 2nd NTIRE: New Trends in Image Restoration and Enhancement workshop and challenge on image super-resolution in conjunction with **CVPR 2017**. [[PDF](http://openaccess.thecvf.com/content_cvpr_2017_workshops/w12/papers/Lim_Enhanced_Deep_Residual_CVPR_2017_paper.pdf)] [[arXiv](https://arxiv.org/abs/1707.02921)] [[Slide](https://cv.snu.ac.kr/research/EDSR/Presentation_v3(release).pptx)] + +[2] Shi, W., Caballero, J., Huszár, F., Totz, J., Aitken, A., Bishop, R., Rueckert, D. and Wang, Z., **"Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network"**, Proceedings of the IEEE conference on computer vision and pattern recognition **CVPR 2016**. [[PDF](http://openaccess.thecvf.com/content_cvpr_2016/papers/Shi_Real-Time_Single_Image_CVPR_2016_paper.pdf)] [[arXiv](https://arxiv.org/abs/1609.05158)] + +[3] Chao Dong, Chen Change Loy, Xiaoou Tang. **"Accelerating the Super-Resolution Convolutional Neural Network"**, in Proceedings of European Conference on Computer Vision **ECCV 2016**. [[PDF](http://personal.ie.cuhk.edu.hk/~ccloy/files/eccv_2016_accelerating.pdf)] +[[arXiv](https://arxiv.org/abs/1608.00367)] [[Project Page](http://mmlab.ie.cuhk.edu.hk/projects/FSRCNN.html)] + +[4] Lai, W. S., Huang, J. B., Ahuja, N., and Yang, M. H., **"Deep laplacian pyramid networks for fast and accurate super-resolution"**, In Proceedings of the IEEE conference on computer vision and pattern recognition **CVPR 2017**. [[PDF](http://openaccess.thecvf.com/content_cvpr_2017/papers/Lai_Deep_Laplacian_Pyramid_CVPR_2017_paper.pdf)] [[arXiv](https://arxiv.org/abs/1710.01992)] [[Project Page](http://vllab.ucmerced.edu/wlai24/LapSRN/)] \ No newline at end of file diff --git a/modules/dnn_superres/include/opencv2/dnn_superres.hpp b/modules/dnn_superres/include/opencv2/dnn_superres.hpp new file mode 100644 index 00000000000..dd707b0bcf2 --- /dev/null +++ b/modules/dnn_superres/include/opencv2/dnn_superres.hpp @@ -0,0 +1,155 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +#ifndef _OPENCV_DNN_SUPERRES_DNNSUPERRESIMPL_HPP_ +#define _OPENCV_DNN_SUPERRES_DNNSUPERRESIMPL_HPP_ + +#include +#include +#include "opencv2/dnn.hpp" + +/** @defgroup dnn_superres DNN used for super resolution +This module contains functionality for upscaling an image via convolutional neural networks. +The following four models are implemented: +- EDSR +- ESPCN +- FSRCNN +- LapSRN +*/ + +namespace cv +{ +namespace dnn_superres +{ + //! @addtogroup dnn_superres + //! @{ + + /** @brief A class to upscale images via convolutional neural networks. + The following four models are implemented: + - edsr + - espcn + - fsrcnn + - lapsrn + */ + class CV_EXPORTS DnnSuperResImpl + { + private: + + /** @brief Net which holds the desired neural network + */ + dnn::Net net; + + std::string alg; //algorithm + + int sc; //scale factor + + /// @private + static int layer_loaded; + + void registerLayers(); + + void preprocess(const Mat inpImg, Mat &outpImg); + + void reconstruct_YCrCb(const Mat inpImg, const Mat origImg, Mat &outpImg, int scale); + + void reconstruct_YCrCb(const Mat inpImg, const Mat origImg, Mat &outpImg); + + void preprocess_YCrCb(const Mat inpImg, Mat &outpImg); + + public: + + /** @brief Empty constructor + */ + DnnSuperResImpl(); + + /** @brief Constructor which immediately sets the desired model + @param algo String containing one of the desired models: + - __edsr__ + - __espcn__ + - __fsrcnn__ + - __lapsrn__ + @param scale Integer specifying the upscale factor + */ + DnnSuperResImpl(std::string algo, int scale); + + /** @brief Read the model from the given path + @param path Path to the model file. + */ + void readModel(std::string path); + + /** @brief Read the model from the given path + @param weights Path to the model weights file. + @param definition Path to the model definition file. + */ + void readModel(std::string weights, std::string definition); + + /** @brief Set desired model + @param algo String containing one of the desired models: + - __edsr__ + - __espcn__ + - __fsrcnn__ + - __lapsrn__ + @param scale Integer specifying the upscale factor + */ + void setModel(std::string algo, int scale); + + /** @brief Upsample via neural network + @param img Image to upscale + @param img_new Destination upscaled image + */ + void upsample(Mat img, Mat &img_new); + + /** @brief Upsample via neural network of multiple outputs + @param img Image to upscale + @param imgs_new Destination upscaled images + @param scale_factors Scaling factors of the output nodes + @param node_names Names of the output nodes in the neural network + */ + void upsampleMultioutput(Mat img, std::vector &imgs_new, std::vector scale_factors, std::vector node_names); + + /** @brief Upsamples videos via neural network and saves it into the given path. + @param inputPath Path to video to upscale + @param outputPath Destination upscaled video + */ + void upsampleVideo(String inputPath, String outputPath); + + /** @brief Returns the scale factor of the model: + @return Current scale factor. + */ + int getScale(); + + /** @brief Returns the scale factor of the model: + @return Current algorithm. + */ + std::string getAlgorithm(); + + private: + /** @brief Class for importing DepthToSpace layer from the ESPCN model + */ + class DepthToSpace CV_FINAL : public cv::dnn::Layer + { + public: + + /// @private + DepthToSpace(const cv::dnn::LayerParams ¶ms); + + /// @private + static cv::Ptr create(cv::dnn::LayerParams& params); + + /// @private + virtual bool getMemoryShapes(const std::vector > &inputs, + const int, + std::vector > &outputs, + std::vector > &) const CV_OVERRIDE; + + /// @private + virtual void forward(cv::InputArrayOfArrays inputs_arr, + cv::OutputArrayOfArrays outputs_arr, + cv::OutputArrayOfArrays) CV_OVERRIDE; + }; + }; + //! @} +} +} +#endif \ No newline at end of file diff --git a/modules/dnn_superres/samples/butterfly.png b/modules/dnn_superres/samples/butterfly.png new file mode 100644 index 0000000000000000000000000000000000000000..90c31f1759c01e22427003fce25e6a0a4b9def93 GIT binary patch literal 127529 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

;{Dn)2e6h6g> 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≺guyaEHgXRL)-7IJLkXG+-nea61vLSsTzc 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 S8dVSg0000 + +#include + +using namespace std; +using namespace cv; +using namespace dnn; +using namespace dnn_superres; + +int main(int argc, char *argv[]) +{ + // Check for valid command line arguments, print usage + // if insufficient arguments were given. + if ( argc < 4 ) { + cout << "usage: Arg 1: image | Path to image" << endl; + cout << "\t Arg 2: algorithm | bilinear, bicubic, edsr, espcn, fsrcnn or lapsrn" << endl; + cout << "\t Arg 3: scale | 2, 3 or 4 \n"; + cout << "\t Arg 4: path to model file \n"; + return -1; + } + + string img_path = string(argv[1]); + string algorithm = string(argv[2]); + int scale = atoi(argv[3]); + string path = ""; + + if( argc > 4) + path = string(argv[4]); + + // Load the image + Mat img = cv::imread(img_path); + Mat original_img(img); + if ( img.empty() ) + { + std::cerr << "Couldn't load image: " << img << "\n"; + return -2; + } + + //Make dnn super resolution instance + DnnSuperResImpl sr; + + Mat img_new; + + if( algorithm == "bilinear" ){ + resize(img, img_new, Size(), scale, scale, 2); + } + else if( algorithm == "bicubic" ) + { + resize(img, img_new, Size(), scale, scale, 3); + } + else if( algorithm == "edsr" || algorithm == "espcn" || algorithm == "fsrcnn" || algorithm == "lapsrn" ) + { + sr.readModel(path); + sr.setModel(algorithm, scale); + sr.upsample(img, img_new); + } + else{ + std::cerr << "Algorithm not recognized. \n"; + } + + if ( img_new.empty() ) + { + std::cerr << "Upsampling failed. \n"; + return -3; + } + cout << "Upsampling succeeded. \n"; + + // Display image + cv::namedWindow("Initial Image", WINDOW_AUTOSIZE); + cv::imshow("Initial Image", img_new); + //cv::imwrite("./saved.jpg", img_new); + cv::waitKey(0); + + return 0; +} \ No newline at end of file diff --git a/modules/dnn_superres/src/dnn_superres.cpp b/modules/dnn_superres/src/dnn_superres.cpp new file mode 100644 index 00000000000..52b8a9ebb52 --- /dev/null +++ b/modules/dnn_superres/src/dnn_superres.cpp @@ -0,0 +1,385 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +#include "precomp.hpp" + +#include "opencv2/dnn_superres.hpp" + +namespace cv +{ + namespace dnn_superres + { + + int DnnSuperResImpl::layer_loaded = 0; + + DnnSuperResImpl::DnnSuperResImpl() + { + if( !this->layer_loaded ) + { + layer_loaded = true; + registerLayers(); + } + } + + DnnSuperResImpl::DnnSuperResImpl(std::string algo, int scale) : alg(algo), sc(scale) + { + if( !this->layer_loaded ) + { + layer_loaded = true; + registerLayers(); + } + } + + void DnnSuperResImpl::registerLayers() + { + //Register custom layer that implements pixel shuffling + std::string name = "DepthToSpace"; + dnn::LayerParams layerParams = dnn::LayerParams(); + cv::dnn::LayerFactory::registerLayer("DepthToSpace", DepthToSpace::create); + } + + void DnnSuperResImpl::readModel(std::string path) + { + if ( path.size() ) + { + this->net = dnn::readNetFromTensorflow(path); + std::cout << "Successfully loaded model. \n"; + } + else + { + std::cout << "Could not load model. \n"; + } + } + + void DnnSuperResImpl::readModel(std::string weights, std::string definition) + { + if ( weights.size() && definition.size() ) + { + this->net = dnn::readNetFromTensorflow(weights, definition); + std::cout << "Successfully loaded model. \n"; + } + else + { + std::cout << "Could not load model. \n"; + } + } + + void DnnSuperResImpl::setModel(std::string algo, int scale) + { + this->sc = scale; + this->alg = algo; + } + + void DnnSuperResImpl::upsample(Mat img, Mat &img_new) + { + if( !net.empty() ) + { + if ( this->alg == "espcn" || this->alg == "lapsrn" || this->alg == "fsrcnn" ) + { + //Preprocess the image: convert to YCrCb float image and normalize + Mat preproc_img; + preprocess_YCrCb(img, preproc_img); + + //Split the image: only the Y channel is used for inference + Mat ycbcr_channels[3]; + split(preproc_img, ycbcr_channels); + + Mat Y = ycbcr_channels[0]; + + //Create blob from image so it has size 1,1,Width,Height + cv::Mat blob; + dnn::blobFromImage(Y, blob, 1.0); + + //Get the HR output + this->net.setInput(blob); + + Mat blob_output = this->net.forward(); + + //Convert from blob + std::vector model_outs; + dnn::imagesFromBlob(blob_output, model_outs); + Mat out_img = model_outs[0]; + + //Reconstruct: upscale the Cr and Cb space and merge the three layer + reconstruct_YCrCb(out_img, preproc_img, img_new, this->sc); + } + else if( this->alg == "edsr" ) + { + //BGR mean of the Div2K dataset + Scalar mean = Scalar(103.1545782, 111.561547, 114.35629928); + + //Convert to float + Mat float_img; + img.convertTo(float_img, CV_32F, 1.0); + + //Create blob from image so it has size [1,3,Width,Height] and subtract dataset mean + cv::Mat blob; + dnn::blobFromImage(float_img, blob, 1.0, Size(), mean); + + //Get the HR output + this->net.setInput(blob); + Mat blob_output = this->net.forward(); + + //Convert from blob + std::vector model_outs; + dnn::imagesFromBlob(blob_output, model_outs); + img_new = model_outs[0]; + + //Post-process: add mean. + img_new = img_new + Scalar(103.1545782, 111.561547, 114.35629928); + + img_new.convertTo(img_new, CV_8U); + } + else + { + // + } + } + else + { + std::cout << "Model not specified. Please set model via setModel(). \n"; + } + } + + void DnnSuperResImpl::upsampleMultioutput(Mat img, std::vector &imgs_new, std::vector scale_factors, std::vector node_names) + { + CV_Assert(scale_factors.size() == node_names.size()); + CV_Assert(!scale_factors.empty()); + CV_Assert(!node_names.empty()); + + if ( this->alg != "lapsrn" ) + { + std::cout << "Only LapSRN support multiscale upsampling for now!" << std::endl; + return; + } + + if( !net.empty() ) + { + if ( this->alg == "lapsrn" ) + { + Mat orig = img; + + //Preprocess the image: convert to YCrCb float image and normalize + Mat preproc_img; + preprocess_YCrCb(orig, preproc_img); + + //Split the image: only the Y channel is used for inference + Mat ycbcr_channels[3]; + split(preproc_img, ycbcr_channels); + + Mat Y = ycbcr_channels[0]; + + //Create blob from image so it has size 1,1,Width,Height + cv::Mat blob; + dnn::blobFromImage(Y, blob, 1.0); + + //Get the HR outputs + std::vector outputs_blobs; + this->net.setInput(blob); + this->net.forward(outputs_blobs, node_names); + + for(unsigned int i = 0; i < scale_factors.size(); i++) + { + std::vector model_outs; + dnn::imagesFromBlob(outputs_blobs[i], model_outs); + Mat out_img = model_outs[0]; + Mat reconstructed; + + reconstruct_YCrCb(out_img, preproc_img, reconstructed, scale_factors[i]); + + imgs_new.push_back(reconstructed); + } + } + } + else + { + std::cout << "Model not specified. Please set model via setModel(). \n"; + } + } + + + void DnnSuperResImpl::upsampleVideo(String inputPath, String outputPath) + { + VideoCapture inputVideo(inputPath); + int ex = static_cast(inputVideo.get(CAP_PROP_FOURCC)); + Size S = Size((int) inputVideo.get(CAP_PROP_FRAME_WIDTH) * this->sc, + (int) inputVideo.get(CAP_PROP_FRAME_HEIGHT) * this->sc); + + VideoWriter outputVideo; + outputVideo.open(outputPath, ex, inputVideo.get(CAP_PROP_FPS), S, true); + + if (!inputVideo.isOpened()) + { + std::cout << "Could not open the video." << std::endl; + return; + } + + for(;;) + { + Mat frame, outputFrame; + inputVideo >> frame; + + if ( frame.empty() ) + break; + + upsample(frame, outputFrame); + outputVideo << outputFrame; + } + + inputVideo.release(); + outputVideo.release(); + } + + int DnnSuperResImpl::getScale() + { + return this->sc; + } + + std::string DnnSuperResImpl::getAlgorithm() + { + return this->alg; + } + + void DnnSuperResImpl::preprocess_YCrCb(const Mat inpImg, Mat &outImg) + { + if ( inpImg.type() == CV_8UC1 ) + { + Mat ycrcb; + inpImg.convertTo(outImg, CV_32F, 1.0 / 255.0); + } + else if ( inpImg.type() == CV_32FC1 ) + { + Mat ycrcb; + inpImg.convertTo(outImg, CV_32F, 1.0 / 255.0); + } + else if ( inpImg.type() == CV_32FC3 ) + { + Mat img_float; + inpImg.convertTo(img_float, CV_32F, 1.0 / 255.0); + cvtColor(img_float, outImg, COLOR_BGR2YCrCb); + } + else if ( inpImg.type() == CV_8UC3 ) + { + Mat ycrcb; + cvtColor(inpImg, ycrcb, COLOR_BGR2YCrCb); + ycrcb.convertTo(outImg, CV_32F, 1.0 / 255.0); + } + else + { + std::cout << "Not supported image type!" << std::endl; + } + } + + void DnnSuperResImpl::reconstruct_YCrCb(const Mat inpImg, const Mat origImg, Mat &outImg, int scale) + { + if ( origImg.type() == CV_32FC3 ) + { + Mat orig_channels[3]; + split(origImg, orig_channels); + + Mat Cr, Cb; + cv::resize(orig_channels[1], Cr, cv::Size(), scale, scale); + cv::resize(orig_channels[2], Cb, cv::Size(), scale, scale); + + std::vector channels; + channels.push_back(inpImg); + channels.push_back(Cr); + channels.push_back(Cb); + + Mat merged_img; + merge(channels, merged_img); + + Mat merged_8u_img; + merged_img.convertTo(merged_8u_img, CV_8U, 255.0); + + cvtColor(merged_8u_img, outImg, COLOR_YCrCb2BGR); + } + else if ( origImg.type() == CV_32FC1 ) + { + inpImg.convertTo(outImg, CV_8U, 255.0); + } + else + { + std::cout << "Not supported image type!" << std::endl; + } + } + + DnnSuperResImpl::DepthToSpace::DepthToSpace(const cv::dnn::LayerParams ¶ms) : Layer(params) + { + + } + + cv::Ptr DnnSuperResImpl::DepthToSpace::create(cv::dnn::LayerParams ¶ms) + { + return cv::Ptr(new DepthToSpace(params)); + } + + bool DnnSuperResImpl::DepthToSpace::getMemoryShapes(const std::vector > &inputs, + const int, + std::vector > &outputs, + std::vector > &) const + { + std::vector outShape(4); + + int scale; + if( inputs[0][1] == 4 || inputs[0][1] == 9 || inputs[0][1] == 16 ) //Only one image channel + { + scale = static_cast(sqrt(inputs[0][1])); + } + else // Three image channels + { + scale = static_cast(sqrt(inputs[0][1]/3)); + } + + outShape[0] = inputs[0][0]; + outShape[1] = static_cast(inputs[0][1] / pow(scale,2)); + outShape[2] = static_cast(scale * inputs[0][2]); + outShape[3] = static_cast(scale * inputs[0][3]); + + outputs.assign(4, outShape); + + return false; + } + + void DnnSuperResImpl::DepthToSpace::forward(cv::InputArrayOfArrays inputs_arr, + cv::OutputArrayOfArrays outputs_arr, + cv::OutputArrayOfArrays) + { + std::vector inputs, outputs; + inputs_arr.getMatVector(inputs); + outputs_arr.getMatVector(outputs); + cv::Mat &inp = inputs[0]; + cv::Mat &out = outputs[0]; + const float *inpData = (float *) inp.data; + float *outData = (float *) out.data; + + const int inpHeight = inp.size[2]; + const int inpWidth = inp.size[3]; + + const int numChannels = out.size[1]; + const int outHeight = out.size[2]; + const int outWidth = out.size[3]; + + int scale = int(outHeight / inpHeight); + int count = 0; + + for (int ch = 0; ch < numChannels; ch++) + { + for (int y = 0; y < outHeight; y++) + { + for (int x = 0; x < outWidth; x++) + { + int x_coord = static_cast(floor((y / scale))); + int y_coord = static_cast(floor((x / scale))); + int c_coord = numChannels * scale * (y % scale) + numChannels * (x % scale) + ch; + + int index = (((c_coord * inpHeight) + x_coord) * inpWidth) + y_coord; + + outData[count++] = inpData[index]; + } + } + } + } + } +} \ No newline at end of file diff --git a/modules/dnn_superres/src/precomp.hpp b/modules/dnn_superres/src/precomp.hpp new file mode 100644 index 00000000000..510cc5d9f21 --- /dev/null +++ b/modules/dnn_superres/src/precomp.hpp @@ -0,0 +1,17 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. +#ifndef __OPENCV_DNN_SUPERRES_PRECOMP_HPP__ +#define __OPENCV_DNN_SUPERRES_PRECOMP_HPP__ + +#include +#include +#include +#include +#include +#include +#include + +#include "opencv2/core.hpp" + +#endif // __OPENCV_DNN_SUPERRES_PRECOMP_HPP__ \ No newline at end of file diff --git a/modules/dnn_superres/test/test_dnn_superres.cpp b/modules/dnn_superres/test/test_dnn_superres.cpp new file mode 100644 index 00000000000..dc138b7d3a3 --- /dev/null +++ b/modules/dnn_superres/test/test_dnn_superres.cpp @@ -0,0 +1,111 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +#include "test_precomp.hpp" + +namespace opencv_test +{ + namespace + { + + const std::string DNN_SUPERRES_DIR = "dnn_superres"; + const std::string IMAGE_FILENAME = "butterfly.png"; + const std::string VIDEO_FILENAME = "768x576.avi"; + + /****************************************************************************************\ + * Test single output models * + \****************************************************************************************/ + + class CV_DnnSuperResSingleOutputTest : public cvtest::BaseTest + { + public: + CV_DnnSuperResSingleOutputTest(); + + protected: + Ptr dnn_sr; + + virtual void run(int); + + void runOneModel(std::string algorithm, int scale, std::string model_filename); + }; + + void CV_DnnSuperResSingleOutputTest::runOneModel(std::string algorithm, int scale, std::string model_filename) + { + std::string path = std::string(ts->get_data_path()) + DNN_SUPERRES_DIR + "/" + IMAGE_FILENAME; + + Mat img = imread(path); + if (img.empty()) + { + ts->printf(cvtest::TS::LOG, "Test image not found!\n"); + ts->set_failed_test_info(cvtest::TS::FAIL_INVALID_TEST_DATA); + return; + } + + std::string pb_path = std::string(ts->get_data_path()) + DNN_SUPERRES_DIR + "/" + model_filename; + + this->dnn_sr->readModel(pb_path); + + this->dnn_sr->setModel(algorithm, scale); + + if (this->dnn_sr->getScale() != scale) + { + ts->printf(cvtest::TS::LOG, + "Scale factor could not be set for scale algorithm %s and scale factor %d!\n", + algorithm.c_str(), scale); + ts->set_failed_test_info(cvtest::TS::FAIL_BAD_ACCURACY); + return; + } + + if (this->dnn_sr->getAlgorithm() != algorithm) + { + ts->printf(cvtest::TS::LOG, "Algorithm could not be set for scale algorithm %s and scale factor %d!\n", + algorithm.c_str(), scale); + ts->set_failed_test_info(cvtest::TS::FAIL_BAD_ACCURACY); + return; + } + + Mat img_new; + this->dnn_sr->upsample(img, img_new); + + if (img_new.empty()) + { + ts->printf(cvtest::TS::LOG, + "Could not perform upsampling for scale algorithm %s and scale factor %d!\n", + algorithm.c_str(), scale); + ts->set_failed_test_info(cvtest::TS::FAIL_BAD_ACCURACY); + return; + } + + int new_cols = img.cols * scale; + int new_rows = img.rows * scale; + if (img_new.cols != new_cols || img_new.rows != new_rows) + { + ts->printf(cvtest::TS::LOG, "Dimensions are not correct for scale algorithm %s and scale factor %d!\n", + algorithm.c_str(), scale); + ts->set_failed_test_info(cvtest::TS::FAIL_BAD_ACCURACY); + return; + } + } + + CV_DnnSuperResSingleOutputTest::CV_DnnSuperResSingleOutputTest() + { + dnn_sr = makePtr(); + } + + void CV_DnnSuperResSingleOutputTest::run(int) + { + //x2 + runOneModel("fsrcnn", 2, "FSRCNN_x2.pb"); + + //x3 + runOneModel("fsrcnn", 3, "FSRCNN_x3.pb"); + } + + TEST(CV_DnnSuperResSingleOutputTest, accuracy) + { + CV_DnnSuperResSingleOutputTest test; + test.safe_run(); + } + } +} \ No newline at end of file diff --git a/modules/dnn_superres/test/test_main.cpp b/modules/dnn_superres/test/test_main.cpp new file mode 100644 index 00000000000..0a9cce2e499 --- /dev/null +++ b/modules/dnn_superres/test/test_main.cpp @@ -0,0 +1,6 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. +#include "test_precomp.hpp" + +CV_TEST_MAIN("cv") \ No newline at end of file diff --git a/modules/dnn_superres/test/test_precomp.hpp b/modules/dnn_superres/test/test_precomp.hpp new file mode 100644 index 00000000000..822075a6f72 --- /dev/null +++ b/modules/dnn_superres/test/test_precomp.hpp @@ -0,0 +1,15 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +#ifndef __OPENCV_TEST_PRECOMP_HPP__ +#define __OPENCV_TEST_PRECOMP_HPP__ + +#include "opencv2/ts.hpp" +#include "opencv2/dnn_superres.hpp" + +namespace opencv_test { + using namespace cv::dnn_superres; +} + +#endif \ No newline at end of file diff --git a/modules/dnn_superres/tutorials/table_of_content_dnn_superres.markdown b/modules/dnn_superres/tutorials/table_of_content_dnn_superres.markdown new file mode 100644 index 00000000000..827fa249d5f --- /dev/null +++ b/modules/dnn_superres/tutorials/table_of_content_dnn_superres.markdown @@ -0,0 +1,8 @@ +Super Resolution using CNNs {#tutorial_table_of_content_dnn_superres} +============================ + +- @subpage tutorial_dnn_superres_upscale_image_single + + *Author:* Xavier Weber + + How to upscale images using the 'dnn_superres' interface: single-output \ No newline at end of file diff --git a/modules/dnn_superres/tutorials/upscale_image_single/images/bicubicOutput.jpg b/modules/dnn_superres/tutorials/upscale_image_single/images/bicubicOutput.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0d8344529325a9e77282b1586eefc4fd1d0d2fdd GIT binary patch literal 86467 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 be>&zF?kahboFB8CBB6Nceq9@WZ>j&;ZnB}R literal 0 HcmV?d00001 diff --git a/modules/dnn_superres/tutorials/upscale_image_single/images/input.jpg b/modules/dnn_superres/tutorials/upscale_image_single/images/input.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6fbc335e692b5d46b3901e4cff9188b555576fdc GIT binary patch literal 20457 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 P9T#@fZS}fV((nJ-B+>(c literal 0 HcmV?d00001 diff --git a/modules/dnn_superres/tutorials/upscale_image_single/upscale_image_single.markdown b/modules/dnn_superres/tutorials/upscale_image_single/upscale_image_single.markdown new file mode 100644 index 00000000000..9ef5ea8b411 --- /dev/null +++ b/modules/dnn_superres/tutorials/upscale_image_single/upscale_image_single.markdown @@ -0,0 +1,66 @@ +Upscaling images: single-output {#tutorial_dnn_superres_upscale_image_single} +=========================== + +In this tutorial you will learn how to use the 'dnn_superres' interface to upscale an image via pre-trained neural networks. + +Building +---- + +When building OpenCV, run the following command to build the 'dnn_superres' module: + +```make +cmake -DOPENCV_EXTRA_MODULES_PATH=/modules -Dopencv_dnn_superres=ON +``` + +Or make sure you check the dnn_superres module in the GUI version of CMake: cmake-gui. + +Source Code of the sample +----------- + +@includelineno dnn_superres/samples/dnn_superres.cpp + +Explanation +----------- + +-# **Set header and namespaces** + @code{.cpp} + #include + using namespace std; + using namespace cv; + using namespace dnn; + using namespace dnn_superres; + @endcode + + If you want you can set the namespace like the code above. +-# **Create the Dnn Superres object** + @code{.cpp} + DnnSuperResImpl sr; + @endcode + + This is just to create the object, register the custom dnn layers and get access to the class functions. +-# **Read the model** + @code{.cpp} + path = "models/FSRCNN_x2.pb" + sr.readModel(path); + @endcode + + This reads the TensorFlow model from the .pb file. Here 'path' is one of the pre-trained Tensorflow models' path file. You can download the models from OpenCV's GitHub, in the 'dnn_superres' module. +-# **Set the model** + @code{.cpp} + sr.setModel("fsrcnn", 2); + @endcode + + Depending on the model you want to run, you have to set the algorithm and upscale factor. This is to know the desired algorithm and scale, even if you change the .pb file's name. For example: if you chose FSRCNN_x2.pb, your algorithm and scale will be 'fsrcnn' and 2, respectively. (Other algorithm options include "edsr", "espcn" and "lapsrn".) +-# **Upscale an image** + @code{.cpp} + Mat img = cv::imread(img_path); + Mat img_new; + sr.upsample(img, img_new); + @endcode + + Now we can upscale any image. Load an image via the standard 'imread' function and create a new Mat as the destination image. Then simple + upscale. Your upscaled image is located in 'img_new'. + +Original: ![](images/input.jpg) +Upscaled Image via CNN: ![](images/fsrcnnOutput.jpg) +Upscaled Image via Bicubic Interpolation: ![](images/bicubicOutput.jpg) \ No newline at end of file From 6359aadb114a7f2785874badee97976119b1c7a3 Mon Sep 17 00:00:00 2001 From: Saafke Date: Thu, 15 Aug 2019 22:09:22 +0100 Subject: [PATCH 2/7] Fix typo --- .../upscale_image_single/upscale_image_single.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/dnn_superres/tutorials/upscale_image_single/upscale_image_single.markdown b/modules/dnn_superres/tutorials/upscale_image_single/upscale_image_single.markdown index 9ef5ea8b411..868f1647c4b 100644 --- a/modules/dnn_superres/tutorials/upscale_image_single/upscale_image_single.markdown +++ b/modules/dnn_superres/tutorials/upscale_image_single/upscale_image_single.markdown @@ -62,5 +62,5 @@ Explanation upscale. Your upscaled image is located in 'img_new'. Original: ![](images/input.jpg) -Upscaled Image via CNN: ![](images/fsrcnnOutput.jpg) +Upscaled Image via FSRCNN: ![](images/fsrcnnOutput.jpg) Upscaled Image via Bicubic Interpolation: ![](images/bicubicOutput.jpg) \ No newline at end of file From 907bad1ee0308afadfc92742d75f3c80f8f5401a Mon Sep 17 00:00:00 2001 From: Saafke Date: Thu, 15 Aug 2019 22:43:36 +0100 Subject: [PATCH 3/7] Small commit to restart buildbot --- .../upscale_image_single/upscale_image_single.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/dnn_superres/tutorials/upscale_image_single/upscale_image_single.markdown b/modules/dnn_superres/tutorials/upscale_image_single/upscale_image_single.markdown index 868f1647c4b..7b42e652f53 100644 --- a/modules/dnn_superres/tutorials/upscale_image_single/upscale_image_single.markdown +++ b/modules/dnn_superres/tutorials/upscale_image_single/upscale_image_single.markdown @@ -58,7 +58,7 @@ Explanation sr.upsample(img, img_new); @endcode - Now we can upscale any image. Load an image via the standard 'imread' function and create a new Mat as the destination image. Then simple + Now we can upscale any image. Load an image via the standard 'imread' function and create a new Mat for the destination image. Then simple upscale. Your upscaled image is located in 'img_new'. Original: ![](images/input.jpg) From fe53da8053342644e5d2cef2147b04f0e530fec9 Mon Sep 17 00:00:00 2001 From: Saafke Date: Wed, 21 Aug 2019 14:08:34 +0100 Subject: [PATCH 4/7] Change refs from arXiv to official --- modules/dnn_superres/README.md | 8 ++++---- modules/dnn_superres/include/opencv2/dnn_superres.hpp | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/modules/dnn_superres/README.md b/modules/dnn_superres/README.md index c5441ed0a40..224be531825 100644 --- a/modules/dnn_superres/README.md +++ b/modules/dnn_superres/README.md @@ -27,7 +27,7 @@ Trained models can be downloaded from [here](https://github.com/Saafke/EDSR_Tens - Advantage: Highly accurate - Disadvantage: Slow and large filesize - Speed: < 3 sec for every scaling factor on 256x256 images on an Intel i7-9700K CPU. -- Original paper: [Enhanced Deep Residual Networks for Single Image Super-Resolution](https://arxiv.org/pdf/1707.02921.pdf) [1] +- Original paper: [Enhanced Deep Residual Networks for Single Image Super-Resolution](http://openaccess.thecvf.com/content_cvpr_2017_workshops/w12/papers/Lim_Enhanced_Deep_Residual_CVPR_2017_paper.pdf) [1] #### ESPCN @@ -40,7 +40,7 @@ Trained models can be downloaded from [here](https://github.com/fannymonori/TF-E - Advantage: It is tiny and fast, and still performs well. - Disadvantage: Perform worse visually than newer, more robust models. - Speed: < 0.01 sec for every scaling factor on 256x256 images on an Intel i7-9700K CPU. -- Original paper: [Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network]() [2] +- Original paper: [Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network](http://openaccess.thecvf.com/content_cvpr_2016/papers/Shi_Real-Time_Single_Image_CVPR_2016_paper.pdf) [2] #### FSRCNN @@ -53,7 +53,7 @@ Trained models can be downloaded from [here](https://github.com/Saafke/FSRCNN_Te - Disadvantage: Not state-of-the-art accuracy - Speed: < 0.01 sec for every scaling factor on 256x256 images on an Intel i7-9700K CPU. - Notes: FSRCNN-small has fewer parameters, thus less accurate but faster. -- Original paper: [Accelerating the Super-Resolution Convolutional Neural Network](http://mmlab.ie.cuhk.edu.hk/projects/FSRCNN.html) [3] +- Original paper: [Accelerating the Super-Resolution Convolutional Neural Network](http://personal.ie.cuhk.edu.hk/~ccloy/files/eccv_2016_accelerating.pdf) [3] #### LapSRN @@ -66,7 +66,7 @@ Trained models can be downloaded from [here](https://github.com/fannymonori/TF-L - Advantage: The model can do multi-scale super-resolution with one forward pass. It can now support 2x, 4x, 8x, and [2x, 4x] and [2x, 4x, 8x] super-resolution. - Disadvantage: It is slower than ESPCN and FSRCNN, and the accuracy is worse than EDSR. - Speed: < 0.1 sec for every scaling factor on 256x256 images on an Intel i7-9700K CPU. -- Original paper: [Deep laplacian pyramid networks for fast and accurate super-resolution]() [4] +- Original paper: [Deep laplacian pyramid networks for fast and accurate super-resolution](http://openaccess.thecvf.com/content_cvpr_2017/papers/Lai_Deep_Laplacian_Pyramid_CVPR_2017_paper.pdf) [4] ### Benchmarks diff --git a/modules/dnn_superres/include/opencv2/dnn_superres.hpp b/modules/dnn_superres/include/opencv2/dnn_superres.hpp index dd707b0bcf2..84f4972b7a2 100644 --- a/modules/dnn_superres/include/opencv2/dnn_superres.hpp +++ b/modules/dnn_superres/include/opencv2/dnn_superres.hpp @@ -12,10 +12,10 @@ /** @defgroup dnn_superres DNN used for super resolution This module contains functionality for upscaling an image via convolutional neural networks. The following four models are implemented: -- EDSR -- ESPCN -- FSRCNN -- LapSRN +- EDSR +- ESPCN +- FSRCNN +- LapSRN */ namespace cv From de1f3d6cd93fce8421e5a42c87971a7f7ad1e5cc Mon Sep 17 00:00:00 2001 From: Saafke Date: Wed, 21 Aug 2019 17:56:46 +0100 Subject: [PATCH 5/7] Remove video string --- modules/dnn_superres/test/test_dnn_superres.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/dnn_superres/test/test_dnn_superres.cpp b/modules/dnn_superres/test/test_dnn_superres.cpp index dc138b7d3a3..1ed198fae2e 100644 --- a/modules/dnn_superres/test/test_dnn_superres.cpp +++ b/modules/dnn_superres/test/test_dnn_superres.cpp @@ -11,7 +11,6 @@ namespace opencv_test const std::string DNN_SUPERRES_DIR = "dnn_superres"; const std::string IMAGE_FILENAME = "butterfly.png"; - const std::string VIDEO_FILENAME = "768x576.avi"; /****************************************************************************************\ * Test single output models * From 010defcc1ccc9c73872374eab0a64a183fb50798 Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Sun, 29 Sep 2019 14:26:51 +0000 Subject: [PATCH 6/7] dnn_superres: update perf test code --- modules/dnn_superres/perf/perf_dnn_superres.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/modules/dnn_superres/perf/perf_dnn_superres.cpp b/modules/dnn_superres/perf/perf_dnn_superres.cpp index d8e61157a83..2576b544243 100644 --- a/modules/dnn_superres/perf/perf_dnn_superres.cpp +++ b/modules/dnn_superres/perf/perf_dnn_superres.cpp @@ -27,20 +27,21 @@ PERF_TEST_P(dnn_superres, upsample, testing::Combine(MODEL, IMAGES)) string model_filename = get<1>(model); int scale = get<2>(model); - string model_path = getDataPath( TEST_DIR + "/" + model_filename ); - string image_path = getDataPath( image_name ); + string model_path = cvtest::findDataFile(TEST_DIR + "/" + model_filename); + string image_path = cvtest::findDataFile(image_name); DnnSuperResImpl sr; sr.readModel(model_path); sr.setModel(model_name, scale); Mat img = imread(image_path); + ASSERT_FALSE(img.empty()) << image_path; - Mat img_new(img.rows * scale, img.cols * scale, CV_8UC3); + Mat result; - declare.in(img, WARMUP_RNG).out(img_new).iterations(10); + TEST_CYCLE() { sr.upsample(img, result); } - TEST_CYCLE() { sr.upsample(img, img_new); } + ASSERT_FALSE(result.empty()); SANITY_CHECK_NOTHING(); } From 30ab03af29e9ee7579598f483cee0c13af287b79 Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Sun, 29 Sep 2019 14:42:19 +0000 Subject: [PATCH 7/7] dnn_superres: test fixup --- modules/dnn_superres/test/test_dnn_superres.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/dnn_superres/test/test_dnn_superres.cpp b/modules/dnn_superres/test/test_dnn_superres.cpp index 6a43bdd49b9..6645040bddc 100644 --- a/modules/dnn_superres/test/test_dnn_superres.cpp +++ b/modules/dnn_superres/test/test_dnn_superres.cpp @@ -51,12 +51,12 @@ TEST(CV_DnnSuperResSingleOutputTest, accuracy_espcn_2) TEST(CV_DnnSuperResSingleOutputTest, accuracy_fsrcnn_2) { - runOneModel("fsrcnn", 2, "FSRCNN_x2.pb"); + runSingleModel("fsrcnn", 2, "FSRCNN_x2.pb"); } TEST(CV_DnnSuperResSingleOutputTest, accuracy_fsrcnn_3) { - runOneModel("fsrcnn", 3, "FSRCNN_x3.pb"); + runSingleModel("fsrcnn", 3, "FSRCNN_x3.pb"); }