diff --git a/modules/image/Image_editing/colorization/deoldify/README_en.md b/modules/image/Image_editing/colorization/deoldify/README_en.md
new file mode 100644
index 0000000000000000000000000000000000000000..159a7f293572966c9a087c6b67e1736fa8e9d83d
--- /dev/null
+++ b/modules/image/Image_editing/colorization/deoldify/README_en.md
@@ -0,0 +1,171 @@
+# deoldify
+
+| Module Name |deoldify|
+| :--- | :---: |
+|Category|image editing|
+|Network |NoGAN|
+|Dataset|ILSVRC 2012|
+|Fine-tuning supported or not |No|
+|Module Size |834MB|
+|Data indicators|-|
+|Latest update date |2021-04-13|
+
+
+## I. Basic Information
+
+- ### Application Effect Display
+
+ - Sample results:
+
+
+
+
+- ### Module Introduction
+
+ - deoldify is a color rendering model for images and videos, which can restore color for black and white photos and videos.
+
+ - For more information, please refer to: [deoldify](https://github.com/jantic/DeOldify)
+
+## II. Installation
+
+- ### 1、Environmental Dependence
+
+ - paddlepaddle >= 2.0.0
+
+ - paddlehub >= 2.0.0
+
+ - NOTE: This Module relies on ffmpeg, Please install ffmpeg before using this Module.
+
+ ```shell
+ $ conda install x264=='1!152.20180717' ffmpeg=4.0.2 -c conda-forge
+ ```
+
+
+- ### 2、Installation
+ - ```shell
+ $ hub install deoldify
+ ```
+
+ - In case of any problems during installation, please refer to:[Windows_Quickstart](../../../../docs/docs_ch/get_start/windows_quickstart.md)
+ | [Linux_Quickstart](../../../../docs/docs_ch/get_start/linux_quickstart.md) | [Mac_Quickstart](../../../../docs/docs_ch/get_start/mac_quickstart.md)
+
+
+## III. Module API Prediction
+
+ - ### 1、Prediction Code Example
+
+ ```python
+ import paddlehub as hub
+
+ model = hub.Module(name='deoldify')
+ model.predict('/PATH/TO/IMAGE/OR/VIDEO')
+ ```
+
+ - ### 2、API
+
+ - ```python
+ def predict(self, input):
+ ```
+
+ - Prediction API.
+
+ - **Parameter**
+
+ - input (str): image path.
+
+ - **Return**
+
+ - If input is image path, the output is:
+ - pred_img(np.ndarray): image data, ndarray.shape is in the format [H, W, C], BGR;
+ - out_path(str): save path of images.
+
+ - If input is video path, the output is :
+ - frame_pattern_combined(str): save path of frames from output video;
+ - vid_out_path(str): save path of output video.
+
+ - ```python
+ def run_image(self, img):
+ ```
+ - Prediction API for image.
+
+ - **Parameter**
+
+ - img (str|np.ndarray): image data, str or ndarray. ndarray.shape is in the format [H, W, C], BGR.
+
+ - **Return**
+
+ - pred_img(np.ndarray): ndarray.shape is in the format [H, W, C], BGR.
+
+ - ```python
+ def run_video(self, video):
+ ```
+ - Prediction API for video.
+
+ - **Parameter**
+
+ - video(str): video path.
+
+ - **Return**
+
+ - frame_pattern_combined(str): save path of frames from output video;
+ - vid_out_path(str): save path of output video.
+
+
+## IV. Server Deployment
+
+- PaddleHub Serving can deploy an online service of coloring old photos or videos.
+
+
+- ### Step 1: Start PaddleHub Serving
+
+ - Run the startup command:
+
+ - ```shell
+ $ hub serving start -m deoldify
+ ```
+
+ - The servitization API is now deployed and the default port number is 8866.
+
+ - **NOTE:** If GPU is used for prediction, set CUDA_VISIBLE_DEVICES environment variable before the service, otherwise it need not be set.
+
+- ### Step 2: Send a predictive request
+
+ - With a configured server, use the following lines of code to send the prediction request and obtain the result.
+
+ - ```python
+ import requests
+ import json
+ import base64
+
+ import cv2
+ import numpy as np
+
+ def cv2_to_base64(image):
+ data = cv2.imencode('.jpg', image)[1]
+ return base64.b64encode(data.tostring()).decode('utf8')
+ def base64_to_cv2(b64str):
+ data = base64.b64decode(b64str.encode('utf8'))
+ data = np.fromstring(data, np.uint8)
+ data = cv2.imdecode(data, cv2.IMREAD_COLOR)
+ return data
+
+ # Send an HTTP request
+ org_im = cv2.imread('/PATH/TO/ORIGIN/IMAGE')
+ data = {'images':cv2_to_base64(org_im)}
+ headers = {"Content-type": "application/json"}
+ url = "http://127.0.0.1:8866/predict/deoldify"
+ r = requests.post(url=url, headers=headers, data=json.dumps(data))
+ img = base64_to_cv2(r.json()["results"])
+ cv2.imwrite('/PATH/TO/SAVE/IMAGE', img)
+ ```
+
+
+## V. Release Note
+
+- 1.0.0
+
+ First release
+
+- 1.0.1
+
+ Adapt to paddlehub2.0
diff --git a/modules/image/Image_editing/colorization/photo_restoration/README_en.md b/modules/image/Image_editing/colorization/photo_restoration/README_en.md
new file mode 100644
index 0000000000000000000000000000000000000000..0f807f6cf9b0fb757d3f2c05698a2005077aa071
--- /dev/null
+++ b/modules/image/Image_editing/colorization/photo_restoration/README_en.md
@@ -0,0 +1,151 @@
+# photo_restoration
+
+|Module Name|photo_restoration|
+| :--- | :---: |
+|Category|image editing|
+|Network|deoldify and realsr|
+|Fine-tuning supported or not|No|
+|Module Size |64MB+834MB|
+|Data indicators|-|
+|Latest update date|2021-08-19|
+
+
+
+## I. Basic Information
+
+- ### Application Effect Display
+
+ - Sample results:
+
+
+
+
+
+
+- ### Module Introduction
+
+ - Photo_restoration can restore old photos. It mainly consists of two parts: coloring and super-resolution. The coloring model is deoldify
+ , and super resolution model is realsr. Therefore, when using this model, please install deoldify and realsr in advance.
+
+## II. Installation
+
+- ### 1、Environmental Dependence
+
+ - paddlepaddle >= 2.0.0
+
+ - paddlehub >= 2.0.0
+
+ - NOTE: This Module relies on ffmpeg, Please install ffmpeg before using this Module.
+
+ ```shell
+ $ conda install x264=='1!152.20180717' ffmpeg=4.0.2 -c conda-forge
+ ```
+
+- ### 2、Installation
+
+ - ```shell
+ $ hub install photo_restoration
+ ```
+
+ - In case of any problems during installation, please refer to:[Windows_Quickstart](../../../../docs/docs_ch/get_start/windows_quickstart.md)
+ | [Linux_Quickstart](../../../../docs/docs_ch/get_start/linux_quickstart.md) | [Mac_Quickstart](../../../../docs/docs_ch/get_start/mac_quickstart.md)
+
+
+## III. Module API Prediction
+
+- ### 1、Prediction Code Example
+
+
+ ```python
+ import cv2
+ import paddlehub as hub
+
+ model = hub.Module(name='photo_restoration', visualization=True)
+ im = cv2.imread('/PATH/TO/IMAGE')
+ res = model.run_image(im)
+
+ ```
+- ### 2、API
+
+
+ ```python
+ def run_image(self,
+ input,
+ model_select= ['Colorization', 'SuperResolution'],
+ save_path = 'photo_restoration'):
+ ```
+
+ - Predicition API, produce repaired photos.
+
+ - **Parameter**
+
+ - input (numpy.ndarray|str): image data,numpy.ndarray or str. ndarray.shape is in the format [H, W, C], BGR;
+
+ - model_select (list\[str\]): Mode selection,\['Colorization'\] only colorize the input image, \['SuperResolution'\] only increase the image resolution;
+ default is \['Colorization', 'SuperResolution'\]。
+
+ - save_path (str): save path, default is 'photo_restoration'.
+
+ - **Return**
+
+ - output (numpy.ndarray): restoration result,ndarray.shape is in the format [H, W, C], BGR.
+
+
+## IV. Server Deployment
+
+- PaddleHub Serving can deploy an online service of photo restoration.
+
+- ### Step 1: Start PaddleHub Serving
+
+ - Run the startup command:
+
+ - ```shell
+ $ hub serving start -m photo_restoration
+ ```
+
+ - The servitization API is now deployed and the default port number is 8866.
+
+ - **NOTE:** If GPU is used for prediction, set CUDA_VISIBLE_DEVICES environment variable before the service, otherwise it need not be set.
+
+- ### Step 2: Send a predictive request
+
+ - With a configured server, use the following lines of code to send the prediction request and obtain the result
+
+ ```python
+ import requests
+ import json
+ import base64
+
+ import cv2
+ import numpy as np
+
+ def cv2_to_base64(image):
+ data = cv2.imencode('.jpg', image)[1]
+ return base64.b64encode(data.tostring()).decode('utf8')
+ def base64_to_cv2(b64str):
+ data = base64.b64decode(b64str.encode('utf8'))
+ data = np.fromstring(data, np.uint8)
+ data = cv2.imdecode(data, cv2.IMREAD_COLOR)
+ return data
+
+ # Send an HTTP request
+ org_im = cv2.imread('PATH/TO/IMAGE')
+ data = {'images':cv2_to_base64(org_im), 'model_select': ['Colorization', 'SuperResolution']}
+ headers = {"Content-type": "application/json"}
+ url = "http://127.0.0.1:8866/predict/photo_restoration"
+ r = requests.post(url=url, headers=headers, data=json.dumps(data))
+ img = base64_to_cv2(r.json()["results"])
+ cv2.imwrite('PATH/TO/SAVE/IMAGE', img)
+ ```
+
+
+## V. Release Note
+
+- 1.0.0
+
+ First release
+
+- 1.0.1
+
+ Adapt to paddlehub2.0
+
diff --git a/modules/image/Image_editing/super_resolution/falsr_c/README_en.md b/modules/image/Image_editing/super_resolution/falsr_c/README_en.md
new file mode 100644
index 0000000000000000000000000000000000000000..6225933efdba23cc91620c0aea6086f0ac839c4b
--- /dev/null
+++ b/modules/image/Image_editing/super_resolution/falsr_c/README_en.md
@@ -0,0 +1,172 @@
+# falsr_c
+
+|Module Name|falsr_c|
+| :--- | :---: |
+|Category |Image editing|
+|Network |falsr_c|
+|Dataset|DIV2k|
+|Fine-tuning supported or not|No|
+|Module Size |4.4MB|
+|Data indicators|PSNR37.66|
+|Latest update date|2021-02-26|
+
+
+## I. Basic Information
+
+- ### Application Effect Display
+
+ - Sample results:
+
+
+
+
+
+- ### Module Introduction
+
+ - falsr_c is a lightweight super-resolution model based on `Accurate and Lightweight Super-Resolution with Neural Architecture Search`. The model uses a multi-objective approach to deal with the over-segmentation problem, and uses an elastic search strategy based on a hybrid controller to improve the performance of the model. This model provides super resolution result with scale factor x2.
+
+ - For more information, please refer to:[falsr_c](https://github.com/xiaomi-automl/FALSR)
+
+## II. Installation
+
+- ### 1、Environmental Dependence
+
+ - paddlepaddle >= 2.0.0
+
+ - paddlehub >= 2.0.0
+
+
+- ### 2、Installation
+
+ - ```shell
+ $ hub install falsr_c
+ ```
+
+ - In case of any problems during installation, please refer to:[Windows_Quickstart](../../../../docs/docs_ch/get_start/windows_quickstart.md)
+ | [Linux_Quickstart](../../../../docs/docs_ch/get_start/linux_quickstart.md) | [Mac_Quickstart](../../../../docs/docs_ch/get_start/mac_quickstart.md)
+
+
+## III. Module API Prediction
+
+- ### 1、Command line Prediction
+
+ - ```
+ $ hub run falsr_c --input_path "/PATH/TO/IMAGE"
+ ```
+
+- ### 2、Prediction Code Example
+
+ ```python
+ import cv2
+ import paddlehub as hub
+
+ sr_model = hub.Module(name='falsr_c')
+ im = cv2.imread('/PATH/TO/IMAGE').astype('float32')
+ res = sr_model.reconstruct(images=[im], visualization=True)
+ print(res[0]['data'])
+ sr_model.save_inference_model()
+ ```
+
+- ### 3、API
+
+ - ```python
+ def reconstruct(self,
+ images=None,
+ paths=None,
+ use_gpu=False,
+ visualization=False,
+ output_dir="falsr_c_output")
+ ```
+
+ - Prediction API.
+
+ - **Parameter**
+
+ * images (list\[numpy.ndarray\]): image data,ndarray.shape is in the format \[H, W, C\],BGR;
+ * paths (list\[str\]): image path;
+ * use\_gpu (bool): use GPU or not; **set the CUDA_VISIBLE_DEVICES environment variable first if you are using GPU**;
+ * visualization (bool): Whether to save the recognition results as picture files;
+ * output\_dir (str): save path of images, "dcscn_output" by default.
+
+ - **Return**
+ * res (list\[dict\]): The list of model results, where each element is dict and each field is:
+ * save\_path (str, optional): Save path of the result, save_path is '' if no image is saved.
+ * data (numpy.ndarray): result of super resolution.
+
+ - ```python
+ def save_inference_model(self,
+ dirname='falsr_c_save_model',
+ model_filename=None,
+ params_filename=None,
+ combined=False)
+ ```
+
+ - Save the model to the specified path.
+
+ - **Parameters**
+
+ * dirname: Save path.
+ * model\_filename: model file name,defalt is \_\_model\_\_
+ * params\_filename: parameter file name,defalt is \_\_params\_\_(Only takes effect when `combined` is True)
+ * combined: Whether to save the parameters to a unified file.
+
+
+
+
+## IV. Server Deployment
+
+- PaddleHub Serving can deploy an online service of super resolution.
+
+
+- ### Step 1: Start PaddleHub Serving
+
+ - Run the startup command:
+
+ - ```shell
+ $ hub serving start -m falsr_c
+ ```
+
+ - The servitization API is now deployed and the default port number is 8866.
+
+ - **NOTE:** If GPU is used for prediction, set CUDA_VISIBLE_DEVICES environment variable before the service, otherwise it need not be set.
+
+- ### Step 2: Send a predictive request
+
+ - With a configured server, use the following lines of code to send the prediction request and obtain the result
+
+ ```python
+ import requests
+ import json
+ import base64
+
+ import cv2
+ import numpy as np
+
+ def cv2_to_base64(image):
+ data = cv2.imencode('.jpg', image)[1]
+ return base64.b64encode(data.tostring()).decode('utf8')
+ def base64_to_cv2(b64str):
+ data = base64.b64decode(b64str.encode('utf8'))
+ data = np.fromstring(data, np.uint8)
+ data = cv2.imdecode(data, cv2.IMREAD_COLOR)
+ return data
+
+ org_im = cv2.imread('/PATH/TO/IMAGE')
+ data = {'images':[cv2_to_base64(org_im)]}
+ headers = {"Content-type": "application/json"}
+ url = "http://127.0.0.1:8866/predict/falsr_c"
+ r = requests.post(url=url, headers=headers, data=json.dumps(data))
+ sr = base64_to_cv2(r.json()["results"][0]['data'])
+ cv2.imwrite('falsr_c_X2.png', sr)
+ print("save image as falsr_c_X2.png")
+ ```
+
+
+## V. Release Note
+
+- 1.0.0
+
+ First release
+
+
+
diff --git a/modules/image/Image_editing/super_resolution/realsr/README_en.md b/modules/image/Image_editing/super_resolution/realsr/README_en.md
new file mode 100644
index 0000000000000000000000000000000000000000..f055883568889a639b99d4d81a6168617f86f81c
--- /dev/null
+++ b/modules/image/Image_editing/super_resolution/realsr/README_en.md
@@ -0,0 +1,174 @@
+# realsr
+
+|Module Name |reasr|
+| :--- | :---: |
+|Category |image editing|
+|Network|LP-KPN|
+|Dataset |RealSR dataset|
+|Fine-tuning supported or not|No|
+|Module Size |64MB|
+|Latest update date|2021-02-26|
+|Data indicators |PSNR29.05|
+
+
+
+## I. Basic Information
+
+- ### Application Effect Display
+
+ - Sample results:
+
+
+
+
+- ### Module Introduction
+
+ - realsr is a super resolution model for image and video based on "Toward Real-World Single Image Super-Resolution: A New Benchmark and A New Mode". This model provides super resolution result with scale factor x4.
+
+ - For more information, please refer to: [realsr](https://github.com/csjcai/RealSR)
+
+
+## II. Installation
+
+- ### 1、Environmental Dependence
+
+ - paddlepaddle >= 2.0.0
+
+ - paddlehub >= 2.0.0
+
+ - **NOTE**: This Module relies on ffmpeg, Please install ffmpeg before using this Module.
+ ```shell
+ $ conda install x264=='1!152.20180717' ffmpeg=4.0.2 -c conda-forge
+ ```
+
+- ### 2、Installation
+
+ - ```shell
+ $ hub install realsr
+ ```
+
+ - In case of any problems during installation, please refer to:[Windows_Quickstart](../../../../docs/docs_ch/get_start/windows_quickstart.md)
+ | [Linux_Quickstart](../../../../docs/docs_ch/get_start/linux_quickstart.md) | [Mac_Quickstart](../../../../docs/docs_ch/get_start/mac_quickstart.md)
+
+
+
+## III. Module API Prediction
+
+ - ### 1、Prediction Code Example
+
+ ```python
+ import paddlehub as hub
+
+ model = hub.Module(name='realsr')
+ model.predict('/PATH/TO/IMAGE/OR/VIDEO')
+ ```
+ - ### 2、API
+
+ - ```python
+ def predict(self, input):
+ ```
+
+ - Prediction API.
+
+ - **Parameter**
+
+ - input (str): image path.
+
+ - **Return**
+
+ - If input is image path, the output is:
+ - pred_img(np.ndarray): image data, ndarray.shape is in the format [H, W, C], BGR;
+ - out_path(str): save path of images.
+
+ - If input is video path, the output is :
+ - frame_pattern_combined(str): save path of frames from output video;
+ - vid_out_path(str): save path of output video.
+
+ - ```python
+ def run_image(self, img):
+ ```
+ - Prediction API for images.
+
+ - **Parameter**
+
+ - img (str|np.ndarray): image data, str or ndarray. ndarray.shape is in the format [H, W, C], BGR.
+
+ - **Return**
+
+ - pred_img(np.ndarray): ndarray.shape is in the format [H, W, C], BGR.
+
+ - ```python
+ def run_video(self, video):
+ ```
+ - Prediction API for video.
+
+ - **Parameter**
+
+ - video(str): video path.
+
+ - **Return**
+
+ - frame_pattern_combined(str): save path of frames from output video;
+ - vid_out_path(str): save path of output video.
+
+
+## IV. Server Deployment
+
+- PaddleHub Serving can deploy an online service of image super resolution.
+
+- ### Step 1: Start PaddleHub Serving
+
+ - Run the startup command:
+
+ - ```shell
+ $ hub serving start -m realsr
+ ```
+
+ - The servitization API is now deployed and the default port number is 8866.
+
+ - **NOTE:** If GPU is used for prediction, set CUDA_VISIBLE_DEVICES environment variable before the service, otherwise it need not be set.
+
+- ### Step 2: Send a predictive request
+
+ - With a configured server, use the following lines of code to send the prediction request and obtain the result
+
+ - ```python
+ import requests
+ import json
+ import base64
+
+ import cv2
+ import numpy as np
+
+ def cv2_to_base64(image):
+ data = cv2.imencode('.jpg', image)[1]
+ return base64.b64encode(data.tostring()).decode('utf8')
+ def base64_to_cv2(b64str):
+ data = base64.b64decode(b64str.encode('utf8'))
+ data = np.fromstring(data, np.uint8)
+ data = cv2.imdecode(data, cv2.IMREAD_COLOR)
+ return data
+
+ # 发送HTTP请求
+ org_im = cv2.imread('/PATH/TO/IMAGE')
+ data = {'images':cv2_to_base64(org_im)}
+ headers = {"Content-type": "application/json"}
+ url = "http://127.0.0.1:8866/predict/realsr"
+ r = requests.post(url=url, headers=headers, data=json.dumps(data))
+ img = base64_to_cv2(r.json()["results"])
+ cv2.imwrite('/PATH/TO/SAVE/IMAGE', img)
+
+ ```
+
+
+## V. Release Note
+
+
+- 1.0.0
+
+ First release
+
+* 1.0.1
+
+ Support paddlehub2.0
+