From e80dbf15e68fb4bca486a95fe57da8438091f2da Mon Sep 17 00:00:00 2001 From: chenjian Date: Fri, 17 Sep 2021 20:56:36 +0800 Subject: [PATCH] Update the image gan modules docs according to the template (#1602) --- .../stylepro_artistic/README.md | 280 ++++++++++-------- .../image/Image_gan/gan/stgan_bald/README.md | 156 ++++++---- .../style_transfer/Photo2Cartoon/README.md | 149 ++++++---- .../style_transfer/U2Net_Portrait/README.md | 162 ++++++---- .../style_transfer/UGATIT_100w/README.md | 174 ++++++----- .../animegan_v1_hayao_60/README.md | 186 +++++++----- .../animegan_v2_hayao_64/README.md | 184 +++++++----- .../animegan_v2_hayao_99/README.md | 186 +++++++----- .../animegan_v2_paprika_74/README.md | 183 +++++++----- .../animegan_v2_paprika_98/README.md | 185 +++++++----- .../animegan_v2_shinkai_33/README.md | 185 +++++++----- .../animegan_v2_shinkai_53/README.md | 185 +++++++----- .../FCN_HRNet_W18_Face_Seg/README.md | 143 ++++++--- 13 files changed, 1387 insertions(+), 971 deletions(-) diff --git a/modules/image/Image_gan/style_transfer/stylepro_artistic/README.md b/modules/image/Image_gan/style_transfer/stylepro_artistic/README.md index a3a2224e..38f44af5 100644 --- a/modules/image/Image_gan/style_transfer/stylepro_artistic/README.md +++ b/modules/image/Image_gan/style_transfer/stylepro_artistic/README.md @@ -1,151 +1,187 @@ -

-
-

- -更多详情请参考StyleProNet论文[https://arxiv.org/abs/2003.07694](https://arxiv.org/abs/2003.07694) - -## 命令行预测 - -``` -hub run stylepro_artistic --选项 选项值 -``` - -**选项说明:** - -* content (str): 待转换风格的图片的存放路径; -* styles (str): 作为底色的风格图片的存放路径,不同图片用英文逗号 `,` 间隔; -* weights (float, optional) : styles 的权重,用英文逗号 `,` 间隔; -* alpha (float, optioal):转换的强度,\[0, 1\] 之间,默认值为1; -* use\_gpu (bool, optional): 是否使用 gpu,默认为 False; -* output\_dir (str, optional): 输出目录,默认为 transfer\_result; -* visualization (bool, optioanl): 是否将结果保存为图片,默认为 True。 - -## API - -```python -def style_transfer(images=None, - paths=None, - alpha=1, - use_gpu=False, - visualization=False, - output_dir='transfer_result'): -``` - -对图片进行风格转换。 - -**参数** - -* images (list\[dict\]): ndarray 格式的图片数据。每一个元素都为一个 dict,有关键字 content, styles, weights(可选),相应取值为: - * content (numpy.ndarray): 待转换的图片,shape 为 \[H, W, C\],BGR格式; - * styles (list\[numpy.ndarray\]) : 作为底色的风格图片组成的列表,各个图片数组的shape 都是 \[H, W, C\],BGR格式; - * weights (list\[float\], optioal) : 各个 style 对应的权重。当不设置 weights 时,默认各个 style 有着相同的权重; -* paths (list\[str\]): 图片的路径。每一个元素都为一个 dict,有关键字 content, styles, weights(可选),相应取值为: - * content (str): 待转换的图片的路径; - * styles (list\[str\]) : 作为底色的风格图片的路径; - * weights (list\[float\], optioal) : 各个 style 对应的权重。当不设置 weights 时,各个 style 的权重相同; -* alpha (float) : 转换的强度,\[0, 1\] 之间,默认值为1; -* use\_gpu (bool): 是否使用 GPU; -* visualization (bool): 是否将结果保存为图片,默认为 False; -* output\_dir (str): 图片的保存路径,默认设为 transfer\_result 。 - -**返回** - -* res (list\[dict\]): 识别结果的列表,列表中每一个元素为 OrderedDict,关键字有 date, save\_path,相应取值为: - * save\_path (str): 保存图片的路径; - * data (numpy.ndarray): 风格转换的图片数据。 - -```python -def save_inference_model(dirname, - model_filename=None, - params_filename=None, - combined=True) -``` - -将模型保存到指定路径。 - -**参数** - -* dirname: 存在模型的目录名称 -* model\_filename: 模型文件名称,默认为\_\_model\_\_ -* params\_filename: 参数文件名称,默认为\_\_params\_\_(仅当`combined`为True时生效) -* combined: 是否将参数保存到统一的一个文件中 - -## 代码示例 - -```python -import paddlehub as hub -import cv2 - -stylepro_artistic = hub.Module(name="stylepro_artistic") -result = stylepro_artistic.style_transfer( +# stylepro_artistic + +|模型名称|stylepro_artistic| +| :--- | :---: | +|类别|图像 - 图像生成| +|网络|StyleProNet| +|数据集|MS-COCO + WikiArt| +|是否支持Fine-tuning|否| +|模型大小|28MB| +|最新更新日期|2021-02-26| +|数据指标|-| + + +## 一、模型基本信息 + +- ### 应用效果展示 + - 样例结果示例: +

+
+

+ +- ### 模型介绍 + + - 艺术风格迁移模型可以将给定的图像转换为任意的艺术风格。本模型StyleProNet整体采用全卷积神经网络架构(FCNs),通过encoder-decoder重建艺术风格图片。StyleProNet的核心是无参数化的内容-风格融合算法Style Projection,模型规模小,响应速度快。模型训练的损失函数包含style loss、content perceptual loss以及content KL loss,确保模型高保真还原内容图片的语义细节信息与风格图片的风格信息。预训练数据集采用MS-COCO数据集作为内容端图像,WikiArt数据集作为风格端图像。更多详情请参考StyleProNet论文[https://arxiv.org/abs/2003.07694](https://arxiv.org/abs/2003.07694)。 + + +## 二、安装 + +- ### 1、环境依赖 + + - paddlepaddle >= 1.6.2 + + - paddlehub >= 1.6.0 | [如何安装paddlehub](../../../../docs/docs_ch/get_start/installation.rst) + +- ### 2、安装 + + - ```shell + $ hub install stylepro_artistic + ``` + - 如您安装时遇到问题,可参考:[零基础windows安装](../../../../docs/docs_ch/get_start/windows_quickstart.md) + | [零基础Linux安装](../../../../docs/docs_ch/get_start/linux_quickstart.md) | [零基础MacOS安装](../../../../docs/docs_ch/get_start/mac_quickstart.md) + +## 三、模型API预测 + +- ### 1、命令行预测 + + - ```shell + $ hub run stylepro_artistic --input_path "/PATH/TO/IMAGE" + ``` + - 通过命令行方式实现风格转换模型的调用,更多请见 [PaddleHub命令行指令](../../../../docs/docs_ch/tutorial/cmd_usage.rst) +- ### 2、代码示例 + + - ```python + import paddlehub as hub + import cv2 + + stylepro_artistic = hub.Module(name="stylepro_artistic") + result = stylepro_artistic.style_transfer( images=[{ 'content': cv2.imread('/PATH/TO/CONTENT_IMAGE'), 'styles': [cv2.imread('/PATH/TO/STYLE_IMAGE')] }]) -# or -# result = stylepro_artistic.style_transfer( -# paths=[{ -# 'content': '/PATH/TO/CONTENT_IMAGE', -# 'styles': ['/PATH/TO/STYLE_IMAGE'] -# }]) -``` + # or + # result = stylepro_artistic.style_transfer( + # paths=[{ + # 'content': '/PATH/TO/CONTENT_IMAGE', + # 'styles': ['/PATH/TO/STYLE_IMAGE'] + # }]) + ``` + +- ### 3、API + + - ```python + def style_transfer(images=None, + paths=None, + alpha=1, + use_gpu=False, + visualization=False, + output_dir='transfer_result') + ``` + + - 对图片进行风格转换。 + + - **参数** + - images (list\[dict\]): ndarray 格式的图片数据。每一个元素都为一个 dict,有关键字 content, styles, weights(可选),相应取值为: + - content (numpy.ndarray): 待转换的图片,shape 为 \[H, W, C\],BGR格式;
+ - styles (list\[numpy.ndarray\]) : 作为底色的风格图片组成的列表,各个图片数组的shape 都是 \[H, W, C\],BGR格式;
+ - weights (list\[float\], optioal) : 各个 style 对应的权重。当不设置 weights 时,默认各个 style 有着相同的权重;
+ - paths (list\[str\]): 图片的路径。每一个元素都为一个 dict,有关键字 content, styles, weights(可选),相应取值为: + - content (str): 待转换的图片的路径;
+ - styles (list\[str\]) : 作为底色的风格图片的路径;
+ - weights (list\[float\], optioal) : 各个 style 对应的权重。当不设置 weights 时,各个 style 的权重相同;
+ - alpha (float) : 转换的强度,\[0, 1\] 之间,默认值为1;
+ - use\_gpu (bool): 是否使用 GPU;
+ - visualization (bool): 是否将结果保存为图片,默认为 False;
+ - output\_dir (str): 图片的保存路径,默认设为 transfer\_result。 + + **NOTE:** paths和images两个参数选择其一进行提供数据 -## 服务部署 + - **返回** -PaddleHub Serving可以部署一个在线风格转换服务。 + - res (list\[dict\]): 识别结果的列表,列表中每一个元素为 OrderedDict,关键字有 date, save\_path,相应取值为: + - save\_path (str): 保存图片的路径 + - data (numpy.ndarray): 风格转换的图片数据 -## 第一步:启动PaddleHub Serving -运行启动命令: -```shell -$ hub serving start -m stylepro_artistic -``` + - ```python + def save_inference_model(dirname, + model_filename=None, + params_filename=None, + combined=True) + ``` + - 将模型保存到指定路径。 -这样就完成了一个风格转换服务化API的部署,默认端口号为8866。 + - **参数** -**NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置环境变量 CUDA\_VISIBLE\_DEVICES ,否则不用设置。 + - dirname: 存在模型的目录名称;
+ - model\_filename: 模型文件名称,默认为\_\_model\_\_;
+ - params\_filename: 参数文件名称,默认为\_\_params\_\_(仅当`combined`为True时生效);
+ - combined: 是否将参数保存到统一的一个文件中。 -## 第二步:发送预测请求 -配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果 +## 四、服务部署 -```python -import requests -import json -import cv2 -import base64 -import numpy as np +- PaddleHub Serving可以部署一个在线风格转换服务。 +- ### 第一步:启动PaddleHub Serving -def cv2_to_base64(image): - data = cv2.imencode('.jpg', image)[1] - return base64.b64encode(data.tostring()).decode('utf8') + - 运行启动命令: + - ```shell + $ hub serving start -m stylepro_artistic + ``` + - 这样就完成了一个风格转换服务化API的部署,默认端口号为8866。 -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 + - **NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA\_VISIBLE\_DEVICES环境变量,否则不用设置。 +- ### 第二步:发送预测请求 -data = {'images':[ + - 配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果 + + - ```python + import requests + import json + import cv2 + import base64 + 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请求 + data = {'images':[ { 'content':cv2_to_base64(cv2.imread('/PATH/TO/CONTENT_IMAGE')), 'styles':[cv2_to_base64(cv2.imread('/PATH/TO/STYLE_IMAGE'))] } -]} + ]} + headers = {"Content-type": "application/json"} + url = "http://127.0.0.1:8866/predict/stylepro_artistic" + r = requests.post(url=url, headers=headers, data=json.dumps(data)) + + # 打印预测结果 + print(base64_to_cv2(r.json()["results"][0]['data'])) + ``` + -headers = {"Content-type": "application/json"} -url = "http://127.0.0.1:8866/predict/stylepro_artistic" -r = requests.post(url=url, headers=headers, data=json.dumps(data)) +## 五、更新历史 -print(base64_to_cv2(r.json()["results"][0]['data'])) -``` +* 1.0.0 -### 依赖 + 初始发布 -paddlepaddle >= 1.6.2 +* 1.0.1 -paddlehub >= 1.6.0 + - ```shell + $ hub install stylepro_artistic==1.0.1 + ``` diff --git a/modules/thirdparty/image/Image_gan/gan/stgan_bald/README.md b/modules/thirdparty/image/Image_gan/gan/stgan_bald/README.md index 0345a677..45f23ae0 100644 --- a/modules/thirdparty/image/Image_gan/gan/stgan_bald/README.md +++ b/modules/thirdparty/image/Image_gan/gan/stgan_bald/README.md @@ -1,63 +1,119 @@ # stgan_bald -基于PaddleHub的秃头生成器 -# 模型概述 -秃头生成器(stgan_bald),该模型可自动根据图像生成1年、3年、5年的秃头效果。 -# 模型效果: -详情请查看此链接:https://aistudio.baidu.com/aistudio/projectdetail/1145381 +|模型名称|stgan_bald| +| :--- | :---: | +|类别|图像 - 图像生成| +|网络|STGAN| +|数据集|CelebA| +|是否支持Fine-tuning|否| +|模型大小|287MB| +|最新更新日期|2021-02-26| +|数据指标|-| -本模型为大家提供了小程序,欢迎大家体验 -![image](https://github.com/1084667371/stgan_bald/blob/main/images/code.jpg) +## 一、模型基本信息 -# 选择模型版本进行安装 - $ hub install stgan_bald==1.0.0 -# Module API说明 - def bald(self, - images=None, - paths=None, - use_gpu=False, - visualization=False): -秃头生成器API预测接口,预测输入一张人像,输出三张秃头效果(1年、3年、5年) -## 参数 - images (list(numpy.ndarray)): 图像数据,每个图像的形状为[H,W,C],颜色空间为BGR。 - paths (list[str]): 图像的路径。 - use_gpu (bool): 是否使用gpu。 - visualization (bool): 是否保存图像。 -## 返回 - data_0 ([numpy.ndarray]):秃头一年的预测结果图。 - data_1 ([numpy.ndarray]):秃头三年的预测结果图。 - data_2 ([numpy.ndarray]):秃头五年的预测结果图。 -# API预测代码示例 +- ### 应用效果展示 + - 详情请查看此链接:https://aistudio.baidu.com/aistudio/projectdetail/1145381 + +- ### 模型介绍 + + - stgan_bald 以STGAN 为模型,使用 CelebA 数据集训练完成,该模型可自动根据图像生成1年、3年、5年的秃头效果。 + + +## 二、安装 + +- ### 1、环境依赖 + + - paddlepaddle >= 1.8.2 + + - paddlehub >= 1.8.0 | [如何安装paddlehub](../../../../docs/docs_ch/get_start/installation.rst) + +- ### 2、安装 + + - ```shell + $ hub install stgan_bald + ``` + - 如您安装时遇到问题,可参考:[零基础windows安装](../../../../docs/docs_ch/get_start/windows_quickstart.md) + | [零基础Linux安装](../../../../docs/docs_ch/get_start/linux_quickstart.md) | [零基础MacOS安装](../../../../docs/docs_ch/get_start/mac_quickstart.md) +## 三、模型API预测 + +- ### 1、代码示例 + + - ```python import paddlehub as hub import cv2 - stgan_bald = hub.Module(name='stgan_bald') - im = cv2.imread('/PATH/TO/IMAGE') - res = stgan_bald.bald(images=[im],visualization=True) -# 服务部署 -## 第一步:启动PaddleHub Serving -$ hub serving start -m stgan_bald -## 第二步:发送预测请求 + stgan_bald = hub.Module(name="stgan_bald") + result = stgan_bald.bald(images=[cv2.imread('/PATH/TO/IMAGE')]) + # or + # result = stgan_bald.bald(paths=['/PATH/TO/IMAGE']) + ``` + +- ### 2、API + + - ```python + def bald(images=None, + paths=None, + use_gpu=False, + visualization=False, + output_dir="bald_output") + ``` + + - 秃头生成器API预测接口, 预测输入一张人像,输出三张秃头效果(1年、3年、5年)。 + + - **参数** + - images (list\[numpy.ndarray\]): 图片数据,ndarray.shape 为 \[H, W, C\];
+ - paths (list\[str\]): 图片的路径;
+ - use\_gpu (bool): 是否使用 GPU;
+ - visualization (bool): 是否将结果保存为图片,默认为 False;
+ - output\_dir (str): 图片的保存路径,默认设为bald\_output。 + + **NOTE:** paths和images两个参数选择其一进行提供数据 + + - **返回** + + - res (list\[numpy.ndarray\]): 输出图像数据,ndarray.shape 为 \[H, W, C\] + +## 四、服务部署 + +- PaddleHub Serving可以部署一个秃头生成器服务。 + +- ### 第一步:启动PaddleHub Serving + + - 运行启动命令: + - ```shell + $ hub serving start -m stgan_bald + ``` + + - 这样就完成了一个秃头生成器API的部署,默认端口号为8866。 + + - **NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA\_VISIBLE\_DEVICES环境变量,否则不用设置。 + +- ### 第二步:发送预测请求 + + - 配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果 + + - ```python import requests import json - import base64 - import cv2 + import base64 import numpy as np + def cv2_to_base64(image): - data = cv2.imencode('.jpg', image)[1] - return base64.b64encode(data.tostring()).decode('utf8') + 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 + 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)]} + data = {'images':[cv2_to_base64(cv2.imread("/PATH/TO/IMAGE"))]} headers = {"Content-type": "application/json"} url = "http://127.0.0.1:8866/predict/stgan_bald" r = requests.post(url=url, headers=headers, data=json.dumps(data)) @@ -67,14 +123,14 @@ $ hub serving start -m stgan_bald three_year =cv2.cvtColor(base64_to_cv2(r.json()["results"]['data_1']), cv2.COLOR_RGB2BGR) five_year =cv2.cvtColor(base64_to_cv2(r.json()["results"]['data_2']), cv2.COLOR_RGB2BGR) cv2.imwrite("stgan_bald_server.png", one_year) + ``` -# 贡献者 -刘炫、彭兆帅、郑博培 -# 依赖 -paddlepaddle >= 1.8.2 -paddlehub >= 1.8.0 +## 五、更新历史 -# 查看代码 +* 1.0.0 -[基于PaddleHub的秃头生成器](https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.8/hub_module/modules/image/gan/stgan_bald) + 初始发布 + - ```shell + $ hub install stgan_bald==1.0.0 + ``` diff --git a/modules/thirdparty/image/Image_gan/style_transfer/Photo2Cartoon/README.md b/modules/thirdparty/image/Image_gan/style_transfer/Photo2Cartoon/README.md index f28bc78d..59626d00 100644 --- a/modules/thirdparty/image/Image_gan/style_transfer/Photo2Cartoon/README.md +++ b/modules/thirdparty/image/Image_gan/style_transfer/Photo2Cartoon/README.md @@ -1,53 +1,96 @@ -## 概述 -* 本模型封装自[小视科技photo2cartoon项目的paddlepaddle版本](https://github.com/minivision-ai/photo2cartoon-paddle) -* 人像卡通风格渲染的目标是,在保持原图像ID信息和纹理细节的同时,将真实照片转换为卡通风格的非真实感图像。我们的思路是,从大量照片/卡通数据中习得照片到卡通画的映射。一般而言,基于成对数据的pix2pix方法能达到较好的图像转换效果,但本任务的输入输出轮廓并非一一对应。例如卡通风格的眼睛更大、下巴更瘦;且成对的数据绘制难度大、成本较高,因此我们采用unpaired image translation方法来实现。模型结构方面,在U-GAT-IT的基础上,我们在编码器之前和解码器之后各增加了2个hourglass模块,渐进地提升模型特征抽象和重建能力。由于实验数据较为匮乏,为了降低训练难度,我们将数据处理成固定的模式。首先检测图像中的人脸及关键点,根据人脸关键点旋转校正图像,并按统一标准裁剪,再将裁剪后的头像输入人像分割模型(基于PaddleSeg框架训练)去除背景 - -## 效果展示 -![](https://img-blog.csdnimg.cn/20201224164040624.jpg) - -## API -```python -def Cartoon_GEN( - images=None, - paths=None, - batch_size=1, - output_dir='output', - visualization=False, - use_gpu=False): -``` -人像卡通化图像生成 API - -**参数** -* images (list[np.ndarray]) : 输入图像数据列表(BGR) -* paths (list[str]) : 输入图像路径列表 -* batch_size (int) : 数据批大小 -* output_dir (str) : 可视化图像输出目录 -* visualization (bool) : 是否可视化 -* use_gpu (bool) : 是否使用 GPU 进行推理 - -**返回** -* results (list[np.ndarray]): 输出图像数据列表 - -**代码示例** -```python -import cv2 -import paddlehub as hub - -model = hub.Module(name='Photo2Cartoon') - -result = model.Cartoon_GEN( - images=[cv2.imread('/PATH/TO/IMAGE')], - paths=None, - batch_size=1, - output_dir='output', - visualization=True, - use_gpu=False) -``` - -## 查看代码 -https://github.com/PaddlePaddle/PaddleSeg -https://github.com/minivision-ai/photo2cartoon-paddle - -## 依赖 -paddlepaddle >= 2.0.0rc0 -paddlehub >= 2.0.0b1 +# Photo2Cartoon + +|模型名称|Photo2Cartoon| +| :--- | :---: | +|类别|图像 - 图像生成| +|网络|U-GAT-IT| +|数据集|cartoon_data| +|是否支持Fine-tuning|否| +|模型大小|205MB| +|最新更新日期|2021-02-26| +|数据指标|-| + + +## 一、模型基本信息 + +- ### 应用效果展示 + - 样例结果示例: +

+
+

+ + + +- ### 模型介绍 + + - 本模型封装自[小视科技photo2cartoon项目的paddlepaddle版本](https://github.com/minivision-ai/photo2cartoon-paddle)。 + + +## 二、安装 + +- ### 1、环境依赖 + + - paddlepaddle >= 2.0.0 + + - paddlehub >= 2.0.0 | [如何安装paddlehub](../../../../docs/docs_ch/get_start/installation.rst) + +- ### 2、安装 + + - ```shell + $ hub install Photo2Cartoon + ``` + - 如您安装时遇到问题,可参考:[零基础windows安装](../../../../docs/docs_ch/get_start/windows_quickstart.md) + | [零基础Linux安装](../../../../docs/docs_ch/get_start/linux_quickstart.md) | [零基础MacOS安装](../../../../docs/docs_ch/get_start/mac_quickstart.md) + +## 三、模型API预测 + +- ### 1、代码示例 + + - ```python + import paddlehub as hub + import cv2 + + model = hub.Module(name="Photo2Cartoon") + result = model.Cartoon_GEN(images=[cv2.imread('/PATH/TO/IMAGE')]) + # or + # result = model.Cartoon_GEN(paths=['/PATH/TO/IMAGE']) + ``` + +- ### 2、API + + - ```python + def Cartoon_GEN(images=None, + paths=None, + batch_size=1, + output_dir='output', + visualization=False, + use_gpu=False): + ``` + + - 人像卡通化图像生成API。 + + - **参数** + + - images (list\[numpy.ndarray\]): 图片数据,ndarray.shape 为 \[H, W, C\];
+ - paths (list\[str\]): 输入图像路径;
+ - output\_dir (str): 图片的保存路径,默认设为 output;
+ - batch_size (int) : batch大小;
+ - visualization (bool) : 是否将结果保存为图片文件;;
+ - use_gpu (bool) : 是否使用 GPU 进行推理。 + + **NOTE:** paths和images两个参数选择其一进行提供数据 + + - **返回** + - res (list\[numpy.ndarray\]): 输出图像数据,ndarray.shape 为 \[H, W, C\] + + + +## 四、更新历史 + +* 1.0.0 + + 初始发布 + + - ```shell + $ hub install Photo2Cartoon==1.0.0 + ``` diff --git a/modules/thirdparty/image/Image_gan/style_transfer/U2Net_Portrait/README.md b/modules/thirdparty/image/Image_gan/style_transfer/U2Net_Portrait/README.md index 4ba53cb7..e2724618 100644 --- a/modules/thirdparty/image/Image_gan/style_transfer/U2Net_Portrait/README.md +++ b/modules/thirdparty/image/Image_gan/style_transfer/U2Net_Portrait/README.md @@ -1,59 +1,103 @@ -## 概述 -* ![](http://latex.codecogs.com/svg.latex?U^2Net) 的网络结构如下图,其类似于编码-解码(Encoder-Decoder)结构的 U-Net -* 每个 stage 由新提出的 RSU模块(residual U-block) 组成. 例如,En_1 即为基于 RSU 构建的 -* ![](https://latex.codecogs.com/svg.latex?U^2Net_{Portrait}) 是基于![](http://latex.codecogs.com/svg.latex?U^2Net) 的人脸画像生成模型 - -![](https://ai-studio-static-online.cdn.bcebos.com/999d37b4ffdd49dc9e3315b7cec7b2c6918fdd57c8594ced9dded758a497913d) - -## 效果展示 -![](https://ai-studio-static-online.cdn.bcebos.com/07f73466f3294373965e06c141c4781992f447104a94471dadfabc1c3d920861) -![](https://ai-studio-static-online.cdn.bcebos.com/c6ab02cf27414a5ba5921d9e6b079b487f6cda6026dc4d6dbca8f0167ad7cae3) - -## API -```python -def Portrait_GEN( - images=None, - paths=None, - scale=1, - batch_size=1, - output_dir='output', - face_detection=True, - visualization=False): -``` -人脸画像生成 API - -**参数** -* images (list[np.ndarray]) : 输入图像数据列表(BGR) -* paths (list[str]) : 输入图像路径列表 -* scale (float) : 缩放因子(与face_detection相关联) -* batch_size (int) : 数据批大小 -* output_dir (str) : 可视化图像输出目录 -* face_detection (bool) : 是否开启人脸检测,开启后会检测人脸并使用人脸中心点进行图像缩放裁切 -* visualization (bool) : 是否可视化 - -**返回** -* results (list[np.ndarray]): 输出图像数据列表 - -**代码示例** -```python -import cv2 -import paddlehub as hub - -model = hub.Module(name='U2Net_Portrait') - -result = model.Portrait_GEN( - images=[cv2.imread('/PATH/TO/IMAGE')], - paths=None, - scale=1, - batch_size=1, - output_dir='output', - face_detection=True, - visualization=True) -``` - -## 查看代码 -https://github.com/NathanUA/U-2-Net - -## 依赖 -paddlepaddle >= 2.0.0rc0 -paddlehub >= 2.0.0b1 +# U2Net_Portrait + +|模型名称|U2Net_Portrait| +| :--- | :---: | +|类别|图像 - 图像生成| +|网络|U^2Net| +|数据集|-| +|是否支持Fine-tuning|否| +|模型大小|254MB| +|最新更新日期|2021-02-26| +|数据指标|-| + + +## 一、模型基本信息 + +- ### 应用效果展示 + - 样例结果示例: +

+ +
+ 输入图像 +
+ +
+ 输出图像 +
+

+ + +- ### 模型介绍 + + - U2Net_Portrait 可以用于提取人脸的素描结果。 + + +## 二、安装 + +- ### 1、环境依赖 + + - paddlepaddle >= 2.0.0 + + - paddlehub >= 2.0.0 | [如何安装paddlehub](../../../../docs/docs_ch/get_start/installation.rst) + +- ### 2、安装 + + - ```shell + $ hub install U2Net_Portrait + ``` + - 如您安装时遇到问题,可参考:[零基础windows安装](../../../../docs/docs_ch/get_start/windows_quickstart.md) + | [零基础Linux安装](../../../../docs/docs_ch/get_start/linux_quickstart.md) | [零基础MacOS安装](../../../../docs/docs_ch/get_start/mac_quickstart.md) + +## 三、模型API预测 + +- ### 1、代码示例 + + - ```python + import paddlehub as hub + import cv2 + + model = hub.Module(name="U2Net_Portrait") + result = model.Cartoon_GEN(images=[cv2.imread('/PATH/TO/IMAGE')]) + # or + # result = model.Cartoon_GEN(paths=['/PATH/TO/IMAGE']) + ``` + +- ### 2、API + + - ```python + def Portrait_GEN(images=None, + paths=None, + scale=1, + batch_size=1, + output_dir='output', + face_detection=True, + visualization=False): + ``` + + - 人脸画像生成API。 + + - **参数** + + - images (list\[numpy.ndarray\]): 图片数据,ndarray.shape 为 \[H, W, C\];
+ - paths (list\[str\]): 输入图像路径;
+ - scale (float) : 缩放因子(与face_detection相关联);
+ - batch_size (int) : batch大小;
+ - output\_dir (str): 图片的保存路径,默认设为 output;
+ - visualization (bool) : 是否将结果保存为图片文件;;
+ + **NOTE:** paths和images两个参数选择其一进行提供数据 + + - **返回** + - res (list\[numpy.ndarray\]): 输出图像数据,ndarray.shape 为 \[H, W, C\] + + + +## 四、更新历史 + +* 1.0.0 + + 初始发布 + + - ```shell + $ hub install U2Net_Portrait==1.0.0 + ``` diff --git a/modules/thirdparty/image/Image_gan/style_transfer/UGATIT_100w/README.md b/modules/thirdparty/image/Image_gan/style_transfer/UGATIT_100w/README.md index d2f07a18..939f2021 100644 --- a/modules/thirdparty/image/Image_gan/style_transfer/UGATIT_100w/README.md +++ b/modules/thirdparty/image/Image_gan/style_transfer/UGATIT_100w/README.md @@ -1,122 +1,140 @@ -## 模型概述 -UGATIT 图像风格转换模型 +# UGATIT_100w -模型可将输入的人脸图像转换成动漫风格 +|模型名称|UGATIT_100w| +| :--- | :---: | +|类别|图像 - 图像生成| +|网络|U-GAT-IT| +|数据集|selfie2anime| +|是否支持Fine-tuning|否| +|模型大小|41MB| +|最新更新日期|2021-02-26| +|数据指标|-| -模型权重来自UGATIT-Paddle开源项目 -模型所使用的权重为genA2B_1000000 +## 一、模型基本信息 -模型详情请参考[UGATIT-Paddle开源项目](https://github.com/miraiwk/UGATIT-paddle) +- ### 应用效果展示 + - 样例结果示例: +

+ +
+ 输入图像 +
+ +
+ 输出图像 +
+

-## 模型安装 -```shell -$hub install UGATIT_100w -``` +- ### 模型介绍 + - UGATIT图像风格转换模型, 模型可将输入的人脸图像转换成动漫风格, 模型详情请参考[UGATIT-Paddle开源项目](https://github.com/miraiwk/UGATIT-paddle)。 -## API 说明 -```python -def style_transfer( - self, - images=None, - paths=None, - batch_size=1, - output_dir='output', - visualization=False -) -``` +## 二、安装 -风格转换API,将输入的人脸图像转换成动漫风格。 +- ### 1、环境依赖 -转换效果图如下: + - paddlepaddle >= 1.8.0 -![输入图像](https://ai-studio-static-online.cdn.bcebos.com/d130fabd8bd34e53b2f942b3766eb6bbd3c19c0676d04abfbd5cc4b83b66f8b6) -![输出图像](https://ai-studio-static-online.cdn.bcebos.com/8538af03b3f14b1884fcf4eec48965baf939e35a783d40129085102057438c77) + - paddlehub >= 1.8.0 | [如何安装paddlehub](../../../../docs/docs_ch/get_start/installation.rst) -**参数** +- ### 2、安装 -* images (list\[numpy.ndarray\]): 图片数据,ndarray.shape 为 \[H, W, C\],默认为 None; -* paths (list\[str\]): 图片的路径,默认为 None; -* batch\_size (int): batch 的大小,默认设为 1; -* visualization (bool): 是否将识别结果保存为图片文件,默认设为 False; -* output\_dir (str): 图片的保存路径,默认设为 output。 + - ```shell + $ hub install UGATIT_100w + ``` + - 如您安装时遇到问题,可参考:[零基础windows安装](../../../../docs/docs_ch/get_start/windows_quickstart.md) + | [零基础Linux安装](../../../../docs/docs_ch/get_start/linux_quickstart.md) | [零基础MacOS安装](../../../../docs/docs_ch/get_start/mac_quickstart.md) +## 三、模型API预测 -**返回** +- ### 1、代码示例 -* res (list\[numpy.ndarray\]): 输出图像数据,ndarray.shape 为 \[H, W, C\]。 + - ```python + import paddlehub as hub + import cv2 + model = hub.Module(name="UGATIT_100w") + result = model.style_transfer(images=[cv2.imread('/PATH/TO/IMAGE')]) + # or + # result = model.style_transfer(paths=['/PATH/TO/IMAGE']) + ``` -## 预测代码示例 +- ### 2、API -```python -import cv2 -import paddlehub as hub + - ```python + def style_transfer(images=None, + paths=None, + batch_size=1, + output_dir='output', + visualization=False) + ``` -# 模型加载 -# use_gpu:是否使用GPU进行预测 -model = hub.Module(name='UGATIT_100w', use_gpu=False) + - 风格转换API,将输入的人脸图像转换成动漫风格。 -# 模型预测 -result = model.style_transfer(images=[cv2.imread('/PATH/TO/IMAGE')]) + - **参数** -# or -# result = model.style_transfer(paths=['/PATH/TO/IMAGE']) -``` + - images (list\[numpy.ndarray\]): 图片数据,ndarray.shape 为 \[H, W, C\];
+ - paths (list\[str\]): 图片的路径;
+ - batch\_size (int): batch的大小;
+ - visualization (bool): 是否将识别结果保存为图片文件;
+ - output\_dir (str): 图片的保存路径,默认设为 output;
-## 服务部署 + **NOTE:** paths和images两个参数选择其一进行提供数据 -PaddleHub Serving可以部署一个在线图像风格转换服务。 + - **返回** + - res (list\[numpy.ndarray\]): 输出图像数据,ndarray.shape 为 \[H, W, C\] -## 第一步:启动PaddleHub Serving -运行启动命令: -```shell -$ hub serving start -m UGATIT_100w -``` +## 四、服务部署 -这样就完成了一个图像风格转换的在线服务API的部署,默认端口号为8866。 +- PaddleHub Serving可以部署一个在线图像风格转换服务。 -**NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA\_VISIBLE\_DEVICES环境变量,否则不用设置。 +- ### 第一步:启动PaddleHub Serving -## 第二步:发送预测请求 + - 运行启动命令: + - ```shell + $ hub serving start -m UGATIT_100w + ``` -配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果 + - 这样就完成了一个图像风格转换的在线服务API的部署,默认端口号为8866。 -```python -import requests -import json -import cv2 -import base64 + - **NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA\_VISIBLE\_DEVICES环境变量,否则不用设置。 +- ### 第二步:发送预测请求 -def cv2_to_base64(image): - data = cv2.imencode('.jpg', image)[1] - return base64.b64encode(data.tostring()).decode('utf8') + - 配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果 + - ```python + import requests + import json + import cv2 + import base64 -# 发送HTTP请求 -data = {'images':[cv2_to_base64(cv2.imread("/PATH/TO/IMAGE"))]} -headers = {"Content-type": "application/json"} -url = "http://127.0.0.1:8866/predict/UGATIT_100w" -r = requests.post(url=url, headers=headers, data=json.dumps(data)) -# 打印预测结果 -print(r.json()["results"]) -``` + def cv2_to_base64(image): + data = cv2.imencode('.jpg', image)[1] + return base64.b64encode(data.tostring()).decode('utf8') + # 发送HTTP请求 + data = {'images':[cv2_to_base64(cv2.imread("/PATH/TO/IMAGE"))]} + headers = {"Content-type": "application/json"} + url = "http://127.0.0.1:8866/predict/UGATIT_100w" + r = requests.post(url=url, headers=headers, data=json.dumps(data)) -## 模型相关信息 + # 打印预测结果 + print(r.json()["results"]) + ``` -### 模型代码 -https://github.com/miraiwk/UGATIT-paddle +## 五、更新历史 -### 依赖 +* 1.0.0 -paddlepaddle >= 1.8.0 + 初始发布 -paddlehub >= 1.8.0 + - ```shell + $ hub install UGATIT_100w==1.0.0 + ``` diff --git a/modules/thirdparty/image/Image_gan/style_transfer/animegan_v1_hayao_60/README.md b/modules/thirdparty/image/Image_gan/style_transfer/animegan_v1_hayao_60/README.md index 6a2642d0..78393fe3 100644 --- a/modules/thirdparty/image/Image_gan/style_transfer/animegan_v1_hayao_60/README.md +++ b/modules/thirdparty/image/Image_gan/style_transfer/animegan_v1_hayao_60/README.md @@ -1,125 +1,151 @@ -## 模型概述 -AnimeGAN V1 图像风格转换模型 +# animegan_v1_hayao_60 -模型可将输入的图像转换成Hayao风格 +|模型名称|animegan_v1_hayao_60| +| :--- | :---: | +|类别|图像 - 图像生成| +|网络|AnimeGAN| +|数据集|The Wind Rises| +|是否支持Fine-tuning|否| +|模型大小|18MB| +|最新更新日期|2021-07-30| +|数据指标|-| -模型权重转换自AnimeGAN V1官方开源项目 -模型所使用的权重为Hayao-60.ckpt +## 一、模型基本信息 -模型详情请参考[AnimeGAN V1 开源项目](https://github.com/TachibanaYoshino/AnimeGAN) +- ### 应用效果展示 + - 样例结果示例: +

+ +
+ 输入图像 +
+ +
+ 输出图像 +
+

-## 模型安装 -```shell -$hub install animegan_v1_hayao_60 -``` +- ### 模型介绍 -## API 说明 + - AnimeGAN V1 图像风格转换模型, 模型可将输入的图像转换成宫崎骏动漫风格,模型权重转换自[AnimeGAN V1官方开源项目](https://github.com/TachibanaYoshino/AnimeGAN)。 -```python -def style_transfer( - self, - images=None, - paths=None, - output_dir='output', - visualization=False, - min_size=32, - max_size=1024 -) -``` -风格转换API,将输入的图片转换为漫画风格。 +## 二、安装 -转换效果图如下: +- ### 1、环境依赖 -![输入图像](https://ai-studio-static-online.cdn.bcebos.com/bd002c4bb6a7427daf26988770bb18648b7d8d2bfd6746bfb9a429db4867727f) -![输出图像](https://ai-studio-static-online.cdn.bcebos.com/10175bb964e94ce18608a84b0ab6ebfe154b523df42f44a3a851b2d91dd17a63) + - paddlepaddle >= 1.8.0 + - paddlehub >= 1.8.0 | [如何安装paddlehub](../../../../docs/docs_ch/get_start/installation.rst) -**参数** +- ### 2、安装 -* images (list\[numpy.ndarray\]): 图片数据,ndarray.shape 为 \[H, W, C\],默认为 None; -* paths (list\[str\]): 图片的路径,默认为 None; -* visualization (bool): 是否将识别结果保存为图片文件,默认设为 False; -* output\_dir (str): 图片的保存路径,默认设为 output; -* min\_size (int): 输入图片的短边最小尺寸,默认设为 32; -* max\_size (int): 输入图片的短边最大尺寸,默认设为 1024。 + - ```shell + $ hub install animegan_v1_hayao_60 + ``` + - 如您安装时遇到问题,可参考:[零基础windows安装](../../../../docs/docs_ch/get_start/windows_quickstart.md) + | [零基础Linux安装](../../../../docs/docs_ch/get_start/linux_quickstart.md) | [零基础MacOS安装](../../../../docs/docs_ch/get_start/mac_quickstart.md) +## 三、模型API预测 -**返回** +- ### 1、代码示例 -* res (list\[numpy.ndarray\]): 输出图像数据,ndarray.shape 为 \[H, W, C\]。 + - ```python + import paddlehub as hub + import cv2 + model = hub.Module(name="animegan_v1_hayao_60") + result = model.style_transfer(images=[cv2.imread('/PATH/TO/IMAGE')]) + # or + # result = model.style_transfer(paths=['/PATH/TO/IMAGE']) + ``` -## 预测代码示例 +- ### 2、API -```python -import cv2 -import paddlehub as hub + - ```python + def style_transfer(images=None, + paths=None, + output_dir='output', + visualization=False, + min_size=32, + max_size=1024) + ``` -# 模型加载 -# use_gpu:是否使用GPU进行预测 -model = hub.Module(name='animegan_v1_hayao_60', use_gpu=False) + - 风格转换API,将输入的图片转换为漫画风格。 -# 模型预测 -result = model.style_transfer(images=[cv2.imread('/PATH/TO/IMAGE')]) + - **参数** -# or -# result = model.style_transfer(paths=['/PATH/TO/IMAGE']) -``` + - images (list\[numpy.ndarray\]): 图片数据,ndarray.shape 为 \[H, W, C\];
+ - paths (list\[str\]): 图片的路径;
+ - output\_dir (str): 图片的保存路径,默认设为 output;
+ - visualization (bool): 是否将识别结果保存为图片文件;
+ - min\_size (int): 输入图片的短边最小尺寸,默认设为 32;
+ - max\_size (int): 输入图片的短边最大尺寸,默认设为 1024。 -## 服务部署 + **NOTE:** paths和images两个参数选择其一进行提供数据 -PaddleHub Serving可以部署一个在线图像风格转换服务。 + - **返回** + - res (list\[numpy.ndarray\]): 输出图像数据,ndarray.shape 为 \[H, W, C\] -## 第一步:启动PaddleHub Serving -运行启动命令: -```shell -$ hub serving start -m animegan_v1_hayao_60 -``` +## 四、服务部署 -这样就完成了一个图像风格转换的在线服务API的部署,默认端口号为8866。 +- PaddleHub Serving可以部署一个在线图像风格转换服务。 -**NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA\_VISIBLE\_DEVICES环境变量,否则不用设置。 +- ### 第一步:启动PaddleHub Serving -## 第二步:发送预测请求 + - 运行启动命令: + - ```shell + $ hub serving start -m animegan_v1_hayao_60 + ``` -配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果 + - 这样就完成了一个图像风格转换的在线服务API的部署,默认端口号为8866。 -```python -import requests -import json -import cv2 -import base64 + - **NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA\_VISIBLE\_DEVICES环境变量,否则不用设置。 +- ### 第二步:发送预测请求 -def cv2_to_base64(image): - data = cv2.imencode('.jpg', image)[1] - return base64.b64encode(data.tostring()).decode('utf8') + - 配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果 + - ```python + import requests + import json + import cv2 + import base64 -# 发送HTTP请求 -data = {'images':[cv2_to_base64(cv2.imread("/PATH/TO/IMAGE"))]} -headers = {"Content-type": "application/json"} -url = "http://127.0.0.1:8866/predict/animegan_v1_hayao_60" -r = requests.post(url=url, headers=headers, data=json.dumps(data)) -# 打印预测结果 -print(r.json()["results"]) -``` + def cv2_to_base64(image): + data = cv2.imencode('.jpg', image)[1] + return base64.b64encode(data.tostring()).decode('utf8') + # 发送HTTP请求 + data = {'images':[cv2_to_base64(cv2.imread("/PATH/TO/IMAGE"))]} + headers = {"Content-type": "application/json"} + url = "http://127.0.0.1:8866/predict/animegan_v1_hayao_60" + r = requests.post(url=url, headers=headers, data=json.dumps(data)) -## 模型相关信息 + # 打印预测结果 + print(r.json()["results"]) + ``` -### 模型代码 -https://github.com/TachibanaYoshino/AnimeGAN +## 五、更新历史 -### 依赖 +* 1.0.0 -paddlepaddle >= 1.8.0 + 初始发布 -paddlehub >= 1.8.0 +* 1.0.1 + + 适配paddlehub2.0 + +* 1.0.2 + + 删除batch_size选项 + + - ```shell + $ hub install animegan_v1_hayao_60==1.0.2 + ``` diff --git a/modules/thirdparty/image/Image_gan/style_transfer/animegan_v2_hayao_64/README.md b/modules/thirdparty/image/Image_gan/style_transfer/animegan_v2_hayao_64/README.md index 68e53ede..8ea00813 100644 --- a/modules/thirdparty/image/Image_gan/style_transfer/animegan_v2_hayao_64/README.md +++ b/modules/thirdparty/image/Image_gan/style_transfer/animegan_v2_hayao_64/README.md @@ -1,125 +1,149 @@ -## 模型概述 -AnimeGAN V2 图像风格转换模型 +# animegan_v2_hayao_64 -模型可将输入的图像转换成Hayao风格 +|模型名称|animegan_v2_hayao_64| +| :--- | :---: | +|类别|图像 - 图像生成| +|网络|AnimeGAN| +|数据集|The Wind Rises| +|是否支持Fine-tuning|否| +|模型大小|9.4MB| +|最新更新日期|2021-07-30| +|数据指标|-| -模型权重转换自AnimeGAN V2官方开源项目 -模型所使用的权重为Hayao-64.ckpt +## 一、模型基本信息 -模型详情请参考[AnimeGAN V2 开源项目](https://github.com/TachibanaYoshino/AnimeGANv2) +- ### 应用效果展示 + - 样例结果示例: +

+ +
+ 输入图像 +
+ +
+ 输出图像 +
+

-## 模型安装 +- ### 模型介绍 -```shell -$hub install animegan_v2_hayao_64 -``` + - AnimeGAN V2 图像风格转换模型, 模型可将输入的图像转换成宫崎骏动漫风格,模型权重转换自[AnimeGAN V2官方开源项目](https://github.com/TachibanaYoshino/AnimeGANv2)。 -## API 说明 +## 二、安装 -```python -def style_transfer( - self, - images=None, - paths=None, - output_dir='output', - visualization=False, - min_size=32, - max_size=1024 -) -``` +- ### 1、环境依赖 -风格转换API,将输入的图片转换为漫画风格。 + - paddlepaddle >= 1.8.0 -转换效果图如下: + - paddlehub >= 1.8.0 | [如何安装paddlehub](../../../../docs/docs_ch/get_start/installation.rst) -![输入图像](https://ai-studio-static-online.cdn.bcebos.com/bd002c4bb6a7427daf26988770bb18648b7d8d2bfd6746bfb9a429db4867727f) -![输出图像](https://ai-studio-static-online.cdn.bcebos.com/49620341f1fe4f00af4d93c22694897a1ae578a235844a1db1bbb4bd37bf750b) +- ### 2、安装 + - ```shell + $ hub install animegan_v2_hayao_64 + ``` + - 如您安装时遇到问题,可参考:[零基础windows安装](../../../../docs/docs_ch/get_start/windows_quickstart.md) + | [零基础Linux安装](../../../../docs/docs_ch/get_start/linux_quickstart.md) | [零基础MacOS安装](../../../../docs/docs_ch/get_start/mac_quickstart.md) -**参数** +## 三、模型API预测 -* images (list\[numpy.ndarray\]): 图片数据,ndarray.shape 为 \[H, W, C\],默认为 None; -* paths (list\[str\]): 图片的路径,默认为 None; -* visualization (bool): 是否将识别结果保存为图片文件,默认设为 False; -* output\_dir (str): 图片的保存路径,默认设为 output; -* min\_size (int): 输入图片的短边最小尺寸,默认设为 32; -* max\_size (int): 输入图片的短边最大尺寸,默认设为 1024。 +- ### 1、代码示例 + - ```python + import paddlehub as hub + import cv2 -**返回** + model = hub.Module(name="animegan_v2_hayao_64") + result = model.style_transfer(images=[cv2.imread('/PATH/TO/IMAGE')]) + # or + # result = model.style_transfer(paths=['/PATH/TO/IMAGE']) + ``` -* res (list\[numpy.ndarray\]): 输出图像数据,ndarray.shape 为 \[H, W, C\]。 +- ### 3、API + - ```python + def style_transfer(images=None, + paths=None, + output_dir='output', + visualization=False, + min_size=32, + max_size=1024) + ``` -## 预测代码示例 + - 风格转换API,将输入的图片转换为漫画风格。 -```python -import cv2 -import paddlehub as hub + - **参数** -# 模型加载 -# use_gpu:是否使用GPU进行预测 -model = hub.Module(name='animegan_v2_hayao_64', use_gpu=False) + - images (list\[numpy.ndarray\]): 图片数据,ndarray.shape 为 \[H, W, C\];
+ - paths (list\[str\]): 图片的路径;
+ - output\_dir (str): 图片的保存路径,默认设为 output;
+ - visualization (bool): 是否将识别结果保存为图片文件;
+ - min\_size (int): 输入图片的短边最小尺寸,默认设为 32;
+ - max\_size (int): 输入图片的短边最大尺寸,默认设为 1024。 -# 模型预测 -result = model.style_transfer(images=[cv2.imread('/PATH/TO/IMAGE')]) + **NOTE:** paths和images两个参数选择其一进行提供数据 -# or -# result = model.style_transfer(paths=['/PATH/TO/IMAGE']) -``` + - **返回** + - res (list\[numpy.ndarray\]): 输出图像数据,ndarray.shape 为 \[H, W, C\] -## 服务部署 -PaddleHub Serving可以部署一个在线图像风格转换服务。 +## 四、服务部署 -## 第一步:启动PaddleHub Serving +- PaddleHub Serving可以部署一个在线图像风格转换服务。 -运行启动命令: -```shell -$ hub serving start -m animegan_v2_hayao_64 -``` +- ### 第一步:启动PaddleHub Serving -这样就完成了一个图像风格转换的在线服务API的部署,默认端口号为8866。 + - 运行启动命令: + - ```shell + $ hub serving start -m animegan_v2_hayao_64 + ``` -**NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA\_VISIBLE\_DEVICES环境变量,否则不用设置。 + - 这样就完成了一个图像风格转换的在线服务API的部署,默认端口号为8866。 -## 第二步:发送预测请求 + - **NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA\_VISIBLE\_DEVICES环境变量,否则不用设置。 -配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果 +- ### 第二步:发送预测请求 -```python -import requests -import json -import cv2 -import base64 + - 配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果 + - ```python + import requests + import json + import cv2 + import base64 -def cv2_to_base64(image): - data = cv2.imencode('.jpg', image)[1] - return base64.b64encode(data.tostring()).decode('utf8') + def cv2_to_base64(image): + data = cv2.imencode('.jpg', image)[1] + return base64.b64encode(data.tostring()).decode('utf8') -# 发送HTTP请求 -data = {'images':[cv2_to_base64(cv2.imread("/PATH/TO/IMAGE"))]} -headers = {"Content-type": "application/json"} -url = "http://127.0.0.1:8866/predict/animegan_v2_hayao_64" -r = requests.post(url=url, headers=headers, data=json.dumps(data)) + # 发送HTTP请求 + data = {'images':[cv2_to_base64(cv2.imread("/PATH/TO/IMAGE"))]} + headers = {"Content-type": "application/json"} + url = "http://127.0.0.1:8866/predict/animegan_v2_hayao_64" + r = requests.post(url=url, headers=headers, data=json.dumps(data)) -# 打印预测结果 -print(r.json()["results"]) -``` + # 打印预测结果 + print(r.json()["results"]) + ``` -## 模型相关信息 +## 五、更新历史 -### 模型代码 +* 1.0.0 -https://github.com/TachibanaYoshino/AnimeGANv2 + 初始发布 -### 依赖 +* 1.0.1 -paddlepaddle >= 1.8.0 + 适配paddlehub2.0 -paddlehub >= 1.8.0 +* 1.0.2 + + 删除batch_size选项 + + - ```shell + $ hub install animegan_v2_hayao_64==1.0.2 + ``` diff --git a/modules/thirdparty/image/Image_gan/style_transfer/animegan_v2_hayao_99/README.md b/modules/thirdparty/image/Image_gan/style_transfer/animegan_v2_hayao_99/README.md index 22c0c414..4aa09781 100644 --- a/modules/thirdparty/image/Image_gan/style_transfer/animegan_v2_hayao_99/README.md +++ b/modules/thirdparty/image/Image_gan/style_transfer/animegan_v2_hayao_99/README.md @@ -1,125 +1,151 @@ -## 模型概述 -AnimeGAN V2 图像风格转换模型 +# animegan_v2_hayao_99 -模型可将输入的图像转换成Hayao风格 +|模型名称|animegan_v2_hayao_99| +| :--- | :---: | +|类别|图像 - 图像生成| +|网络|AnimeGAN| +|数据集|The Wind Rises| +|是否支持Fine-tuning|否| +|模型大小|9.4MB| +|最新更新日期|2021-07-30| +|数据指标|-| -模型权重转换自AnimeGAN V2官方开源项目 -模型所使用的权重为Hayao-99.ckpt +## 一、模型基本信息 -模型详情请参考[AnimeGAN V2 开源项目](https://github.com/TachibanaYoshino/AnimeGANv2) +- ### 应用效果展示 + - 样例结果示例: +

+ +
+ 输入图像 +
+ +
+ 输出图像 +
+

-## 模型安装 -```shell -$hub install animegan_v2_hayao_99 -``` +- ### 模型介绍 + - AnimeGAN V2 图像风格转换模型, 模型可将输入的图像转换成宫崎骏动漫风格,模型权重转换自[AnimeGAN V2官方开源项目](https://github.com/TachibanaYoshino/AnimeGANv2)。 -## API 说明 -```python -def style_transfer( - self, - images=None, - paths=None, - output_dir='output', - visualization=False, - min_size=32, - max_size=1024 -) -``` +## 二、安装 -风格转换API,将输入的图片转换为漫画风格。 +- ### 1、环境依赖 -转换效果图如下: + - paddlepaddle >= 1.8.0 -![输入图像](https://ai-studio-static-online.cdn.bcebos.com/bd002c4bb6a7427daf26988770bb18648b7d8d2bfd6746bfb9a429db4867727f) -![输出图像](https://ai-studio-static-online.cdn.bcebos.com/16195e03d7e0412d990349587c587a26d9ae9e2ed1ec4fa1b4dc994e948d1f7d) + - paddlehub >= 1.8.0 | [如何安装paddlehub](../../../../docs/docs_ch/get_start/installation.rst) +- ### 2、安装 -**参数** + - ```shell + $ hub install animegan_v2_hayao_99 + ``` + - 如您安装时遇到问题,可参考:[零基础windows安装](../../../../docs/docs_ch/get_start/windows_quickstart.md) + | [零基础Linux安装](../../../../docs/docs_ch/get_start/linux_quickstart.md) | [零基础MacOS安装](../../../../docs/docs_ch/get_start/mac_quickstart.md)w -* images (list\[numpy.ndarray\]): 图片数据,ndarray.shape 为 \[H, W, C\],默认为 None; -* paths (list\[str\]): 图片的路径,默认为 None; -* visualization (bool): 是否将识别结果保存为图片文件,默认设为 False; -* output\_dir (str): 图片的保存路径,默认设为 output; -* min\_size (int): 输入图片的短边最小尺寸,默认设为 32; -* max\_size (int): 输入图片的短边最大尺寸,默认设为 1024。 +## 三、模型API预测 -**返回** +- ### 1、代码示例 -* res (list\[numpy.ndarray\]): 输出图像数据,ndarray.shape 为 \[H, W, C\]。 + - ```python + import paddlehub as hub + import cv2 + model = hub.Module(name="animegan_v2_hayao_99") + result = model.style_transfer(images=[cv2.imread('/PATH/TO/IMAGE')]) + # or + # result = model.style_transfer(paths=['/PATH/TO/IMAGE']) + ``` -## 预测代码示例 +- ### 2、API -```python -import cv2 -import paddlehub as hub + - ```python + def style_transfer(images=None, + paths=None, + output_dir='output', + visualization=False, + min_size=32, + max_size=1024) + ``` -# 模型加载 -# use_gpu:是否使用GPU进行预测 -model = hub.Module(name='animegan_v2_hayao_99', use_gpu=False) + - 风格转换API,将输入的图片转换为漫画风格。 -# 模型预测 -result = model.style_transfer(images=[cv2.imread('/PATH/TO/IMAGE')]) + - **参数** -# or -# result = model.style_transfer(paths=['/PATH/TO/IMAGE']) -``` + - images (list\[numpy.ndarray\]): 图片数据,ndarray.shape 为 \[H, W, C\];
+ - paths (list\[str\]): 图片的路径;
+ - output\_dir (str): 图片的保存路径,默认设为 output;
+ - visualization (bool): 是否将识别结果保存为图片文件;
+ - min\_size (int): 输入图片的短边最小尺寸,默认设为 32;
+ - max\_size (int): 输入图片的短边最大尺寸,默认设为 1024。 -## 服务部署 + **NOTE:** paths和images两个参数选择其一进行提供数据 -PaddleHub Serving可以部署一个在线图像风格转换服务。 + - **返回** + - res (list\[numpy.ndarray\]): 输出图像数据,ndarray.shape 为 \[H, W, C\] -## 第一步:启动PaddleHub Serving -运行启动命令: -```shell -$ hub serving start -m animegan_v2_hayao_99 -``` +## 四、服务部署 -这样就完成了一个图像风格转换的在线服务API的部署,默认端口号为8866。 +- PaddleHub Serving可以部署一个在线图像风格转换服务。 -**NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA\_VISIBLE\_DEVICES环境变量,否则不用设置。 +- ### 第一步:启动PaddleHub Serving -## 第二步:发送预测请求 + - 运行启动命令: + - ```shell + $ hub serving start -m animegan_v2_hayao_99 + ``` -配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果 + - 这样就完成了一个图像风格转换的在线服务API的部署,默认端口号为8866。 -```python -import requests -import json -import cv2 -import base64 + - **NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA\_VISIBLE\_DEVICES环境变量,否则不用设置。 +- ### 第二步:发送预测请求 -def cv2_to_base64(image): - data = cv2.imencode('.jpg', image)[1] - return base64.b64encode(data.tostring()).decode('utf8') + - 配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果 + - ```python + import requests + import json + import cv2 + import base64 -# 发送HTTP请求 -data = {'images':[cv2_to_base64(cv2.imread("/PATH/TO/IMAGE"))]} -headers = {"Content-type": "application/json"} -url = "http://127.0.0.1:8866/predict/animegan_v2_hayao_99" -r = requests.post(url=url, headers=headers, data=json.dumps(data)) -# 打印预测结果 -print(r.json()["results"]) -``` + def cv2_to_base64(image): + data = cv2.imencode('.jpg', image)[1] + return base64.b64encode(data.tostring()).decode('utf8') + # 发送HTTP请求 + data = {'images':[cv2_to_base64(cv2.imread("/PATH/TO/IMAGE"))]} + headers = {"Content-type": "application/json"} + url = "http://127.0.0.1:8866/predict/animegan_v2_hayao_99" + r = requests.post(url=url, headers=headers, data=json.dumps(data)) -## 模型相关信息 + # 打印预测结果 + print(r.json()["results"]) + ``` -### 模型代码 -https://github.com/TachibanaYoshino/AnimeGANv2 +## 五、更新历史 -### 依赖 +* 1.0.0 -paddlepaddle >= 1.8.0 + 初始发布 -paddlehub >= 1.8.0 +* 1.0.1 + + 适配paddlehub2.0 + +* 1.0.2 + + 删除batch_size选项 + + - ```shell + $ hub install animegan_v2_hayao_99==1.0.2 + ``` diff --git a/modules/thirdparty/image/Image_gan/style_transfer/animegan_v2_paprika_74/README.md b/modules/thirdparty/image/Image_gan/style_transfer/animegan_v2_paprika_74/README.md index 9bd48dc8..627b5e57 100644 --- a/modules/thirdparty/image/Image_gan/style_transfer/animegan_v2_paprika_74/README.md +++ b/modules/thirdparty/image/Image_gan/style_transfer/animegan_v2_paprika_74/README.md @@ -1,125 +1,148 @@ -## 模型概述 -AnimeGAN V2 图像风格转换模型 +# animegan_v2_paprika_74 -模型可将输入的图像转换成Paprika风格 +|模型名称|animegan_v2_paprika_74| +| :--- | :---: | +|类别|图像 - 图像生成| +|网络|AnimeGAN| +|数据集|Paprika| +|是否支持Fine-tuning|否| +|模型大小|9.4MB| +|最新更新日期|2021-02-26| +|数据指标|-| -模型权重转换自AnimeGAN V2官方开源项目 -模型所使用的权重为Paprika-74.ckpt +## 一、模型基本信息 -模型详情请参考[AnimeGAN V2 开源项目](https://github.com/TachibanaYoshino/AnimeGANv2) +- ### 应用效果展示 + - 样例结果示例: +

+ +
+ 输入图像 +
+ +
+ 输出图像 +
+

-## 模型安装 -```shell -$hub install animegan_v2_paprika_74 -``` +- ### 模型介绍 + - AnimeGAN V2 图像风格转换模型, 模型可将输入的图像转换成今敏红辣椒动漫风格,模型权重转换自[AnimeGAN V2官方开源项目](https://github.com/TachibanaYoshino/AnimeGANv2)。 -## API 说明 -```python -def style_transfer( - self, - images=None, - paths=None, - output_dir='output', - visualization=False, - min_size=32, - max_size=1024 -) -``` +## 二、安装 -风格转换API,将输入的图片转换为漫画风格。 +- ### 1、环境依赖 -转换效果图如下: + - paddlepaddle >= 1.8.0 -![输入图像](https://ai-studio-static-online.cdn.bcebos.com/bd002c4bb6a7427daf26988770bb18648b7d8d2bfd6746bfb9a429db4867727f) -![输出图像](https://ai-studio-static-online.cdn.bcebos.com/6574669d87b24bab9627c6e33896528b4a0bf5af1cd84ca29655d68719f2d551) + - paddlehub >= 1.8.0 | [如何安装paddlehub](../../../../docs/docs_ch/get_start/installation.rst) +- ### 2、安装 -**参数** + - ```shell + $ hub install animegan_v2_paprika_74 + ``` + - 如您安装时遇到问题,可参考:[零基础windows安装](../../../../docs/docs_ch/get_start/windows_quickstart.md) + | [零基础Linux安装](../../../../docs/docs_ch/get_start/linux_quickstart.md) | [零基础MacOS安装](../../../../docs/docs_ch/get_start/mac_quickstart.md) -* images (list\[numpy.ndarray\]): 图片数据,ndarray.shape 为 \[H, W, C\],默认为 None; -* paths (list\[str\]): 图片的路径,默认为 None; -* visualization (bool): 是否将识别结果保存为图片文件,默认设为 False; -* output\_dir (str): 图片的保存路径,默认设为 output; -* min\_size (int): 输入图片的短边最小尺寸,默认设为 32; -* max\_size (int): 输入图片的短边最大尺寸,默认设为 1024。 +## 三、模型API预测 +- ### 1、代码示例 -**返回** + - ```python + import paddlehub as hub + import cv2 -* res (list\[numpy.ndarray\]): 输出图像数据,ndarray.shape 为 \[H, W, C\]。 + model = hub.Module(name="animegan_v2_paprika_74") + result = model.style_transfer(images=[cv2.imread('/PATH/TO/IMAGE')]) + # or + # result = model.style_transfer(paths=['/PATH/TO/IMAGE']) + ``` +- ### 2、API -## 预测代码示例 + - ```python + def style_transfer(images=None, + paths=None, + output_dir='output', + visualization=False, + min_size=32, + max_size=1024) + ``` -```python -import cv2 -import paddlehub as hub + - 风格转换API,将输入的图片转换为漫画风格。 -# 模型加载 -# use_gpu:是否使用GPU进行预测 -model = hub.Module(name='animegan_v2_paprika_74', use_gpu=False) + - **参数** -# 模型预测 -result = model.style_transfer(images=[cv2.imread('/PATH/TO/IMAGE')]) + - images (list\[numpy.ndarray\]): 图片数据,ndarray.shape 为 \[H, W, C\];
+ - paths (list\[str\]): 图片的路径;
+ - output\_dir (str): 图片的保存路径,默认设为 output;
+ - visualization (bool): 是否将结果保存为图片文件;
+ - min\_size (int): 输入图片的短边最小尺寸,默认设为 32;
+ - max\_size (int): 输入图片的短边最大尺寸,默认设为 1024。 -# or -# result = model.style_transfer(paths=['/PATH/TO/IMAGE']) -``` + - **返回** + - res (list\[numpy.ndarray\]): 输出图像数据,ndarray.shape 为 \[H, W, C\] -## 服务部署 -PaddleHub Serving可以部署一个在线图像风格转换服务。 +## 四、服务部署 -## 第一步:启动PaddleHub Serving +- PaddleHub Serving可以部署一个在线图像风格转换服务。 -运行启动命令: -```shell -$ hub serving start -m animegan_v2_paprika_74 -``` +- ### 第一步:启动PaddleHub Serving -这样就完成了一个图像风格转换的在线服务API的部署,默认端口号为8866。 + - 运行启动命令: + - ```shell + $ hub serving start -m animegan_v2_paprika_74 + ``` -**NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA\_VISIBLE\_DEVICES环境变量,否则不用设置。 + - 这样就完成了一个图像风格转换的在线服务API的部署,默认端口号为8866。 -## 第二步:发送预测请求 + - **NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA\_VISIBLE\_DEVICES环境变量,否则不用设置。 -配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果 +- ### 第二步:发送预测请求 -```python -import requests -import json -import cv2 -import base64 + - 配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果 + - ```python + import requests + import json + import cv2 + import base64 -def cv2_to_base64(image): - data = cv2.imencode('.jpg', image)[1] - return base64.b64encode(data.tostring()).decode('utf8') + def cv2_to_base64(image): + data = cv2.imencode('.jpg', image)[1] + return base64.b64encode(data.tostring()).decode('utf8') -# 发送HTTP请求 -data = {'images':[cv2_to_base64(cv2.imread("/PATH/TO/IMAGE"))]} -headers = {"Content-type": "application/json"} -url = "http://127.0.0.1:8866/predict/animegan_v2_paprika_74" -r = requests.post(url=url, headers=headers, data=json.dumps(data)) + # 发送HTTP请求 + data = {'images':[cv2_to_base64(cv2.imread("/PATH/TO/IMAGE"))]} + headers = {"Content-type": "application/json"} + url = "http://127.0.0.1:8866/predict/animegan_v2_paprika_74" + r = requests.post(url=url, headers=headers, data=json.dumps(data)) -# 打印预测结果 -print(r.json()["results"]) -``` + # 打印预测结果 + print(r.json()["results"]) + ``` -## 模型相关信息 +## 五、更新历史 -### 模型代码 +* 1.0.0 -https://github.com/TachibanaYoshino/AnimeGANv2 + 初始发布 -### 依赖 +* 1.0.1 -paddlepaddle >= 1.8.0 + 适配paddlehub2.0 -paddlehub >= 1.8.0 +* 1.0.2 + + 删除batch_size选项 + + - ```shell + $ hub install animegan_v2_paprika_74==1.0.2 + ``` diff --git a/modules/thirdparty/image/Image_gan/style_transfer/animegan_v2_paprika_98/README.md b/modules/thirdparty/image/Image_gan/style_transfer/animegan_v2_paprika_98/README.md index c5017256..e2c0567e 100644 --- a/modules/thirdparty/image/Image_gan/style_transfer/animegan_v2_paprika_98/README.md +++ b/modules/thirdparty/image/Image_gan/style_transfer/animegan_v2_paprika_98/README.md @@ -1,125 +1,150 @@ -## 模型概述 -AnimeGAN V2 图像风格转换模型 +# animegan_v2_paprika_98 -模型可将输入的图像转换成Paprika风格 +|模型名称|animegan_v2_paprika_98| +| :--- | :---: | +|类别|图像 - 图像生成| +|网络|AnimeGAN| +|数据集|Paprika| +|是否支持Fine-tuning|否| +|模型大小|9.4MB| +|最新更新日期|2021-07-30| +|数据指标|-| -模型权重转换自AnimeGAN V2官方开源项目 -模型所使用的权重为Paprika-98.ckpt +## 一、模型基本信息 -模型详情请参考[AnimeGAN V2 开源项目](https://github.com/TachibanaYoshino/AnimeGANv2) +- ### 应用效果展示 + - 样例结果示例: +

+ +
+ 输入图像 +
+ +
+ 输出图像 +
+

-## 模型安装 -```shell -$hub install animegan_v2_paprika_98 -``` +- ### 模型介绍 + - AnimeGAN V2 图像风格转换模型, 模型可将输入的图像转换成今敏红辣椒动漫风格,模型权重转换自[AnimeGAN V2官方开源项目](https://github.com/TachibanaYoshino/AnimeGANv2)。 -## API 说明 -```python -def style_transfer( - self, - images=None, - paths=None, - output_dir='output', - visualization=False, - min_size=32, - max_size=1024 -) -``` +## 二、安装 -风格转换API,将输入的图片转换为漫画风格。 +- ### 1、环境依赖 -转换效果图如下: + - paddlepaddle >= 1.8.0 -![输入图像](https://ai-studio-static-online.cdn.bcebos.com/bd002c4bb6a7427daf26988770bb18648b7d8d2bfd6746bfb9a429db4867727f) -![输出图像](https://ai-studio-static-online.cdn.bcebos.com/495436a627ef423ab572536c5f2ba6d0eb99b1ce098947a5ac02af36e7eb85f7) + - paddlehub >= 1.8.0 | [如何安装paddlehub](../../../../docs/docs_ch/get_start/installation.rst) +- ### 2、安装 -**参数** + - ```shell + $ hub install animegan_v2_paprika_98 + ``` + - 如您安装时遇到问题,可参考:[零基础windows安装](../../../../docs/docs_ch/get_start/windows_quickstart.md) + | [零基础Linux安装](../../../../docs/docs_ch/get_start/linux_quickstart.md) | [零基础MacOS安装](../../../../docs/docs_ch/get_start/mac_quickstart.md) -* images (list\[numpy.ndarray\]): 图片数据,ndarray.shape 为 \[H, W, C\],默认为 None; -* paths (list\[str\]): 图片的路径,默认为 None; -* visualization (bool): 是否将识别结果保存为图片文件,默认设为 False; -* output\_dir (str): 图片的保存路径,默认设为 output; -* min\_size (int): 输入图片的短边最小尺寸,默认设为 32; -* max\_size (int): 输入图片的短边最大尺寸,默认设为 1024。 +## 三、模型API预测 +- ### 1、代码示例 -**返回** + - ```python + import paddlehub as hub + import cv2 -* res (list\[numpy.ndarray\]): 输出图像数据,ndarray.shape 为 \[H, W, C\]。 + model = hub.Module(name="animegan_v2_paprika_98") + result = model.style_transfer(images=[cv2.imread('/PATH/TO/IMAGE')]) + # or + # result = model.style_transfer(paths=['/PATH/TO/IMAGE']) + ``` +- ### 2、API -## 预测代码示例 + - ```python + def style_transfer(images=None, + paths=None, + output_dir='output', + visualization=False, + min_size=32, + max_size=1024) + ``` -```python -import cv2 -import paddlehub as hub + - 风格转换API,将输入的图片转换为漫画风格。 -# 模型加载 -# use_gpu:是否使用GPU进行预测 -model = hub.Module(name='animegan_v2_paprika_98', use_gpu=False) + - **参数** -# 模型预测 -result = model.style_transfer(images=[cv2.imread('/PATH/TO/IMAGE')]) + - images (list\[numpy.ndarray\]): 图片数据,ndarray.shape 为 \[H, W, C\];
+ - paths (list\[str\]): 图片的路径;
+ - output\_dir (str): 图片的保存路径,默认设为 output;
+ - visualization (bool): 是否将识别结果保存为图片文件;
+ - min\_size (int): 输入图片的短边最小尺寸,默认设为 32;
+ - max\_size (int): 输入图片的短边最大尺寸,默认设为 1024。 -# or -# result = model.style_transfer(paths=['/PATH/TO/IMAGE']) -``` + **NOTE:** paths和images两个参数选择其一进行提供数据 -## 服务部署 + - **返回** + - res (list\[numpy.ndarray\]): 输出图像数据,ndarray.shape 为 \[H, W, C\] -PaddleHub Serving可以部署一个在线图像风格转换服务。 -## 第一步:启动PaddleHub Serving +## 四、服务部署 -运行启动命令: -```shell -$ hub serving start -m animegan_v2_paprika_98 -``` +- PaddleHub Serving可以部署一个在线图像风格转换服务。 -这样就完成了一个图像风格转换的在线服务API的部署,默认端口号为8866。 +- ### 第一步:启动PaddleHub Serving -**NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA\_VISIBLE\_DEVICES环境变量,否则不用设置。 + - 运行启动命令: + - ```shell + $ hub serving start -m animegan_v2_paprika_98 + ``` -## 第二步:发送预测请求 + - 这样就完成了一个图像风格转换的在线服务API的部署,默认端口号为8866。 -配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果 + - **NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA\_VISIBLE\_DEVICES环境变量,否则不用设置。 -```python -import requests -import json -import cv2 -import base64 +- ### 第二步:发送预测请求 + - 配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果 -def cv2_to_base64(image): - data = cv2.imencode('.jpg', image)[1] - return base64.b64encode(data.tostring()).decode('utf8') + - ```python + import requests + import json + import cv2 + import base64 -# 发送HTTP请求 -data = {'images':[cv2_to_base64(cv2.imread("/PATH/TO/IMAGE"))]} -headers = {"Content-type": "application/json"} -url = "http://127.0.0.1:8866/predict/animegan_v2_paprika_98" -r = requests.post(url=url, headers=headers, data=json.dumps(data)) + def cv2_to_base64(image): + data = cv2.imencode('.jpg', image)[1] + return base64.b64encode(data.tostring()).decode('utf8') -# 打印预测结果 -print(r.json()["results"]) -``` + # 发送HTTP请求 + data = {'images':[cv2_to_base64(cv2.imread("/PATH/TO/IMAGE"))]} + headers = {"Content-type": "application/json"} + url = "http://127.0.0.1:8866/predict/animegan_v2_paprika_98" + r = requests.post(url=url, headers=headers, data=json.dumps(data)) + # 打印预测结果 + print(r.json()["results"]) + ``` -## 模型相关信息 -### 模型代码 +## 五、更新历史 -https://github.com/TachibanaYoshino/AnimeGANv2 +* 1.0.0 -### 依赖 + 初始发布 -paddlepaddle >= 1.8.0 +* 1.0.1 -paddlehub >= 1.8.0 + 适配paddlehub2.0 + +* 1.0.2 + + 删除batch_size选项 + + - ```shell + $ hub install animegan_v2_paprika_98==1.0.2 + ``` diff --git a/modules/thirdparty/image/Image_gan/style_transfer/animegan_v2_shinkai_33/README.md b/modules/thirdparty/image/Image_gan/style_transfer/animegan_v2_shinkai_33/README.md index e4f5910d..51e552a8 100644 --- a/modules/thirdparty/image/Image_gan/style_transfer/animegan_v2_shinkai_33/README.md +++ b/modules/thirdparty/image/Image_gan/style_transfer/animegan_v2_shinkai_33/README.md @@ -1,125 +1,150 @@ -## 模型概述 -AnimeGAN V2 图像风格转换模型 +# animegan_v2_shinkai_33 -模型可将输入的图像转换成Shinkai风格 +|模型名称|animegan_v2_shinkai_33| +| :--- | :---: | +|类别|图像 - 图像生成| +|网络|AnimeGAN| +|数据集|Your Name, Weathering with you| +|是否支持Fine-tuning|否| +|模型大小|9.4MB| +|最新更新日期|2021-07-30| +|数据指标|-| -模型权重转换自AnimeGAN V2官方开源项目 -模型所使用的权重为Shinkai-33.ckpt +## 一、模型基本信息 -模型详情请参考[AnimeGAN V2 开源项目](https://github.com/TachibanaYoshino/AnimeGANv2) +- ### 应用效果展示 + - 样例结果示例: +

+ +
+ 输入图像 +
+ +
+ 输出图像 +
+

-## 模型安装 -```shell -$hub install animegan_v2_shinkai_33 -``` +- ### 模型介绍 + - AnimeGAN V2 图像风格转换模型, 模型可将输入的图像转换成新海诚动漫风格,模型权重转换自[AnimeGAN V2官方开源项目](https://github.com/TachibanaYoshino/AnimeGANv2)。 -## API 说明 -```python -def style_transfer( - self, - images=None, - paths=None, - output_dir='output', - visualization=False, - min_size=32, - max_size=1024 -) -``` +## 二、安装 -风格转换API,将输入的图片转换为漫画风格。 +- ### 1、环境依赖 -转换效果图如下: + - paddlepaddle >= 1.8.0 -![输入图像](https://ai-studio-static-online.cdn.bcebos.com/bd002c4bb6a7427daf26988770bb18648b7d8d2bfd6746bfb9a429db4867727f) -![输出图像](https://ai-studio-static-online.cdn.bcebos.com/776a84a0d97c452bbbe479592fbb8f5c6fe9c45f3b7e41fd8b7da80bf52ee668) + - paddlehub >= 1.8.0 | [如何安装paddlehub](../../../../docs/docs_ch/get_start/installation.rst) +- ### 2、安装 -**参数** + - ```shell + $ hub install animegan_v2_shinkai_33 + ``` + - 如您安装时遇到问题,可参考:[零基础windows安装](../../../../docs/docs_ch/get_start/windows_quickstart.md) + | [零基础Linux安装](../../../../docs/docs_ch/get_start/linux_quickstart.md) | [零基础MacOS安装](../../../../docs/docs_ch/get_start/mac_quickstart.md) -* images (list\[numpy.ndarray\]): 图片数据,ndarray.shape 为 \[H, W, C\],默认为 None; -* paths (list\[str\]): 图片的路径,默认为 None; -* visualization (bool): 是否将识别结果保存为图片文件,默认设为 False; -* output\_dir (str): 图片的保存路径,默认设为 output; -* min\_size (int): 输入图片的短边最小尺寸,默认设为 32; -* max\_size (int): 输入图片的短边最大尺寸,默认设为 1024。 +## 三、模型API预测 +- ### 1、代码示例 -**返回** + - ```python + import paddlehub as hub + import cv2 -* res (list\[numpy.ndarray\]): 输出图像数据,ndarray.shape 为 \[H, W, C\]。 + model = hub.Module(name="animegan_v2_shinkai_33") + result = model.style_transfer(images=[cv2.imread('/PATH/TO/IMAGE')]) + # or + # result = model.style_transfer(paths=['/PATH/TO/IMAGE']) + ``` +- ### 2、API -## 预测代码示例 + - ```python + def style_transfer(images=None, + paths=None, + output_dir='output', + visualization=False, + min_size=32, + max_size=1024) + ``` -```python -import cv2 -import paddlehub as hub + - 风格转换API,将输入的图片转换为漫画风格。 -# 模型加载 -# use_gpu:是否使用GPU进行预测 -model = hub.Module(name='animegan_v2_shinkai_33', use_gpu=False) + - **参数** -# 模型预测 -result = model.style_transfer(images=[cv2.imread('/PATH/TO/IMAGE')]) + - images (list\[numpy.ndarray\]): 图片数据,ndarray.shape 为 \[H, W, C\];
+ - paths (list\[str\]): 图片的路径;
+ - output\_dir (str): 图片的保存路径,默认设为 output;
+ - visualization (bool): 是否将识别结果保存为图片文件;
+ - min\_size (int): 输入图片的短边最小尺寸,默认设为 32;
+ - max\_size (int): 输入图片的短边最大尺寸,默认设为 1024。 -# or -# result = model.style_transfer(paths=['/PATH/TO/IMAGE']) -``` + **NOTE:** paths和images两个参数选择其一进行提供数据 -## 服务部署 + - **返回** + - res (list\[numpy.ndarray\]): 输出图像数据,ndarray.shape 为 \[H, W, C\] -PaddleHub Serving可以部署一个在线图像风格转换服务。 -## 第一步:启动PaddleHub Serving +## 四、服务部署 -运行启动命令: -```shell -$ hub serving start -m animegan_v2_shinkai_33 -``` +- PaddleHub Serving可以部署一个在线图像风格转换服务。 -这样就完成了一个图像风格转换的在线服务API的部署,默认端口号为8866。 +- ### 第一步:启动PaddleHub Serving -**NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA\_VISIBLE\_DEVICES环境变量,否则不用设置。 + - 运行启动命令: + - ```shell + $ hub serving start -m animegan_v2_shinkai_33 + ``` -## 第二步:发送预测请求 + - 这样就完成了一个图像风格转换的在线服务API的部署,默认端口号为8866。 -配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果 + - **NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA\_VISIBLE\_DEVICES环境变量,否则不用设置。 -```python -import requests -import json -import cv2 -import base64 +- ### 第二步:发送预测请求 + - 配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果 -def cv2_to_base64(image): - data = cv2.imencode('.jpg', image)[1] - return base64.b64encode(data.tostring()).decode('utf8') + - ```python + import requests + import json + import cv2 + import base64 -# 发送HTTP请求 -data = {'images':[cv2_to_base64(cv2.imread("/PATH/TO/IMAGE"))]} -headers = {"Content-type": "application/json"} -url = "http://127.0.0.1:8866/predict/animegan_v2_shinkai_33" -r = requests.post(url=url, headers=headers, data=json.dumps(data)) + def cv2_to_base64(image): + data = cv2.imencode('.jpg', image)[1] + return base64.b64encode(data.tostring()).decode('utf8') -# 打印预测结果 -print(r.json()["results"]) -``` + # 发送HTTP请求 + data = {'images':[cv2_to_base64(cv2.imread("/PATH/TO/IMAGE"))]} + headers = {"Content-type": "application/json"} + url = "http://127.0.0.1:8866/predict/animegan_v2_shinkai_33" + r = requests.post(url=url, headers=headers, data=json.dumps(data)) + # 打印预测结果 + print(r.json()["results"]) + ``` -## 模型相关信息 -### 模型代码 +## 五、更新历史 -https://github.com/TachibanaYoshino/AnimeGANv2 +* 1.0.0 -### 依赖 + 初始发布 -paddlepaddle >= 1.8.0 +* 1.0.1 -paddlehub >= 1.8.0 + 适配paddlehub2.0 + +* 1.0.2 + + 删除batch_size选项 + + - ```shell + $ hub install animegan_v2_shinkai_33==1.0.2 + ``` diff --git a/modules/thirdparty/image/Image_gan/style_transfer/animegan_v2_shinkai_53/README.md b/modules/thirdparty/image/Image_gan/style_transfer/animegan_v2_shinkai_53/README.md index 87f58ca0..bc8d5de7 100644 --- a/modules/thirdparty/image/Image_gan/style_transfer/animegan_v2_shinkai_53/README.md +++ b/modules/thirdparty/image/Image_gan/style_transfer/animegan_v2_shinkai_53/README.md @@ -1,125 +1,150 @@ -## 模型概述 -AnimeGAN V2 图像风格转换模型 +# animegan_v2_shinkai_53 -模型可将输入的图像转换成Shinkai风格 +|模型名称|animegan_v2_shinkai_53| +| :--- | :---: | +|类别|图像 - 图像生成| +|网络|AnimeGAN| +|数据集|Your Name, Weathering with you| +|是否支持Fine-tuning|否| +|模型大小|9.4MB| +|最新更新日期|2021-07-30| +|数据指标|-| -模型权重转换自AnimeGAN V2官方开源项目 -模型所使用的权重为Shinkai-53.ckpt +## 一、模型基本信息 -模型详情请参考[AnimeGAN V2 开源项目](https://github.com/TachibanaYoshino/AnimeGANv2) +- ### 应用效果展示 + - 样例结果示例: +

+ +
+ 输入图像 +
+ +
+ 输出图像 +
+

-## 模型安装 -```shell -$hub install animegan_v2_shinkai_53 -``` +- ### 模型介绍 + - AnimeGAN V2 图像风格转换模型, 模型可将输入的图像转换成新海诚动漫风格,模型权重转换自[AnimeGAN V2官方开源项目](https://github.com/TachibanaYoshino/AnimeGANv2)。 -## API 说明 -```python -def style_transfer( - self, - images=None, - paths=None, - output_dir='output', - visualization=False, - min_size=32, - max_size=1024 -) -``` +## 二、安装 -风格转换API,将输入的图片转换为漫画风格。 +- ### 1、环境依赖 -转换效果图如下: + - paddlepaddle >= 1.8.0 -![输入图像](https://ai-studio-static-online.cdn.bcebos.com/bd002c4bb6a7427daf26988770bb18648b7d8d2bfd6746bfb9a429db4867727f) -![输出图像](https://ai-studio-static-online.cdn.bcebos.com/fa4ba157e73c48658c4c9c6b8b92f5c99231d1d19556472788b1e5dd58d5d6cc) + - paddlehub >= 1.8.0 | [如何安装paddlehub](../../../../docs/docs_ch/get_start/installation.rst) +- ### 2、安装 -**参数** + - ```shell + $ hub install animegan_v2_shinkai_53 + ``` + - 如您安装时遇到问题,可参考:[零基础windows安装](../../../../docs/docs_ch/get_start/windows_quickstart.md) + | [零基础Linux安装](../../../../docs/docs_ch/get_start/linux_quickstart.md) | [零基础MacOS安装](../../../../docs/docs_ch/get_start/mac_quickstart.md) -* images (list\[numpy.ndarray\]): 图片数据,ndarray.shape 为 \[H, W, C\],默认为 None; -* paths (list\[str\]): 图片的路径,默认为 None; -* visualization (bool): 是否将识别结果保存为图片文件,默认设为 False; -* output\_dir (str): 图片的保存路径,默认设为 output; -* min\_size (int): 输入图片的短边最小尺寸,默认设为 32; -* max\_size (int): 输入图片的短边最大尺寸,默认设为 1024。 +## 三、模型API预测 +- ### 1、代码示例 -**返回** + - ```python + import paddlehub as hub + import cv2 -* res (list\[numpy.ndarray\]): 输出图像数据,ndarray.shape 为 \[H, W, C\]。 + model = hub.Module(name="animegan_v2_shinkai_53") + result = model.style_transfer(images=[cv2.imread('/PATH/TO/IMAGE')]) + # or + # result = model.style_transfer(paths=['/PATH/TO/IMAGE']) + ``` +- ### 2、API -## 预测代码示例 + - ```python + def style_transfer(images=None, + paths=None, + output_dir='output', + visualization=False, + min_size=32, + max_size=1024) + ``` -```python -import cv2 -import paddlehub as hub + - 风格转换API,将输入的图片转换为漫画风格。 -# 模型加载 -# use_gpu:是否使用GPU进行预测 -model = hub.Module(name='animegan_v2_shinkai_53', use_gpu=False) + - **参数** -# 模型预测 -result = model.style_transfer(images=[cv2.imread('/PATH/TO/IMAGE')]) + - images (list\[numpy.ndarray\]): 图片数据,ndarray.shape 为 \[H, W, C\];
+ - paths (list\[str\]): 图片的路径;
+ - output\_dir (str): 图片的保存路径,默认设为 output;
+ - visualization (bool): 是否将识别结果保存为图片文件;
+ - min\_size (int): 输入图片的短边最小尺寸,默认设为 32;
+ - max\_size (int): 输入图片的短边最大尺寸,默认设为 1024。 -# or -# result = model.style_transfer(paths=['/PATH/TO/IMAGE']) -``` + **NOTE:** paths和images两个参数选择其一进行提供数据 -## 服务部署 + - **返回** + - res (list\[numpy.ndarray\]): 输出图像数据,ndarray.shape 为 \[H, W, C\] -PaddleHub Serving可以部署一个在线图像风格转换服务。 -## 第一步:启动PaddleHub Serving +## 四、服务部署 -运行启动命令: -```shell -$ hub serving start -m animegan_v2_shinkai_53 -``` +- PaddleHub Serving可以部署一个在线图像风格转换服务。 -这样就完成了一个图像风格转换的在线服务API的部署,默认端口号为8866。 +- ### 第一步:启动PaddleHub Serving -**NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA\_VISIBLE\_DEVICES环境变量,否则不用设置。 + - 运行启动命令: + - ```shell + $ hub serving start -m animegan_v2_shinkai_53 + ``` -## 第二步:发送预测请求 + - 这样就完成了一个图像风格转换的在线服务API的部署,默认端口号为8866。 -配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果 + - **NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA\_VISIBLE\_DEVICES环境变量,否则不用设置。 -```python -import requests -import json -import cv2 -import base64 +- ### 第二步:发送预测请求 + - 配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果 -def cv2_to_base64(image): - data = cv2.imencode('.jpg', image)[1] - return base64.b64encode(data.tostring()).decode('utf8') + - ```python + import requests + import json + import cv2 + import base64 -# 发送HTTP请求 -data = {'images':[cv2_to_base64(cv2.imread("/PATH/TO/IMAGE"))]} -headers = {"Content-type": "application/json"} -url = "http://127.0.0.1:8866/predict/animegan_v2_shinkai_53" -r = requests.post(url=url, headers=headers, data=json.dumps(data)) + def cv2_to_base64(image): + data = cv2.imencode('.jpg', image)[1] + return base64.b64encode(data.tostring()).decode('utf8') -# 打印预测结果 -print(r.json()["results"]) -``` + # 发送HTTP请求 + data = {'images':[cv2_to_base64(cv2.imread("/PATH/TO/IMAGE"))]} + headers = {"Content-type": "application/json"} + url = "http://127.0.0.1:8866/predict/animegan_v2_shinkai_53" + r = requests.post(url=url, headers=headers, data=json.dumps(data)) + # 打印预测结果 + print(r.json()["results"]) + ``` -## 模型相关信息 -### 模型代码 +## 五、更新历史 -https://github.com/TachibanaYoshino/AnimeGANv2 +* 1.0.0 -### 依赖 + 初始发布 -paddlepaddle >= 1.8.0 +* 1.0.1 -paddlehub >= 1.8.0 + 适配paddlehub2.0 + +* 1.0.2 + + 删除batch_size选项 + + - ```shell + $ hub install animegan_v2_shinkai_53==1.0.2 + ``` diff --git a/modules/thirdparty/image/semantic_segmentation/FCN_HRNet_W18_Face_Seg/README.md b/modules/thirdparty/image/semantic_segmentation/FCN_HRNet_W18_Face_Seg/README.md index cac1fd7a..7d71dcfb 100644 --- a/modules/thirdparty/image/semantic_segmentation/FCN_HRNet_W18_Face_Seg/README.md +++ b/modules/thirdparty/image/semantic_segmentation/FCN_HRNet_W18_Face_Seg/README.md @@ -1,49 +1,94 @@ -## 概述 -* 基于 FCN_HRNet_W18 模型实现的人像分割模型 - -## 效果展示 -![](https://ai-studio-static-online.cdn.bcebos.com/88155299a7534f1084f8467a4d6db7871dc4729627d3471c9129d316dc4ff9bc) - -## API -```python -def Segmentation( - images=None, - paths=None, - batch_size=1, - output_dir='output', - visualization=False): -``` -人像分割 API - -**参数** -* images (list[np.ndarray]) : 输入图像数据列表(BGR) -* paths (list[str]) : 输入图像路径列表 -* batch_size (int) : 数据批大小 -* output_dir (str) : 可视化图像输出目录 -* visualization (bool) : 是否可视化 - -**返回** -* results (list[dict{"mask":np.ndarray,"face":np.ndarray}]): 输出图像数据列表 - -**代码示例** -```python -import cv2 -import paddlehub as hub - -model = hub.Module(name='FCN_HRNet_W18_Face_Seg') - -result = model.Segmentation( - images=[cv2.imread('/PATH/TO/IMAGE')], - paths=None, - batch_size=1, - output_dir='output', - visualization=True) -``` - -## 查看代码 -https://github.com/PaddlePaddle/PaddleSeg -https://github.com/minivision-ai/photo2cartoon-paddle - -## 依赖 -paddlepaddle >= 2.0.0rc0 -paddlehub >= 2.0.0b1 +# FCN_HRNet_W18_Face_Seg + +|模型名称|FCN_HRNet_W18_Face_Seg| +| :--- | :---: | +|类别|图像 - 图像生成| +|网络|FCN_HRNet_W18| +|数据集|-| +|是否支持Fine-tuning|否| +|模型大小|56MB| +|最新更新日期|2021-02-26| +|数据指标|-| + + +## 一、模型基本信息 + +- ### 应用效果展示 + - 样例结果示例: +

+
+

+ + +- ### 模型介绍 + + - 基于 FCN_HRNet_W18模型实现的人像分割模型。 + + +## 二、安装 + +- ### 1、环境依赖 + + - paddlepaddle >= 2.0.0 + + - paddlehub >= 2.0.0 | [如何安装paddlehub](../../../../docs/docs_ch/get_start/installation.rst) + +- ### 2、安装 + + - ```shell + $ hub install FCN_HRNet_W18_Face_Seg + ``` + - 如您安装时遇到问题,可参考:[零基础windows安装](../../../../docs/docs_ch/get_start/windows_quickstart.md) + | [零基础Linux安装](../../../../docs/docs_ch/get_start/linux_quickstart.md) | [零基础MacOS安装](../../../../docs/docs_ch/get_start/mac_quickstart.md) + +## 三、模型API预测 + +- ### 1、代码示例 + + - ```python + import paddlehub as hub + import cv2 + + model = hub.Module(name="FCN_HRNet_W18_Face_Seg") + result = model.Segmentation(images=[cv2.imread('/PATH/TO/IMAGE')]) + # or + # result = model.Segmentation(paths=['/PATH/TO/IMAGE']) + ``` + +- ### 2、API + + - ```python + def Segmentation(images=None, + paths=None, + batch_size=1, + output_dir='output', + visualization=False): + ``` + + - 人像分割API。 + + - **参数** + + - images (list\[numpy.ndarray\]): 图片数据,ndarray.shape 为 \[H, W, C\];
+ - paths (list\[str\]): 输入图像路径;
+ - batch_size (int) : batch大小;
+ - output\_dir (str): 图片的保存路径,默认设为 output;
+ - visualization (bool) : 是否将结果保存为图片文件;;
+ + **NOTE:** paths和images两个参数选择其一进行提供数据 + + - **返回** + - res (list\[numpy.ndarray\]): 输出图像数据,ndarray.shape 为 \[H, W, C\] + + + + +## 四、更新历史 + +* 1.0.0 + + 初始发布 + + - ```shell + $ hub install FCN_HRNet_W18_Face_Seg==1.0.0 + ``` -- GitLab