AI试衣图片分割模型是AI试衣的辅助模型,可对模特图、服饰图进行分割,用于AI试衣图片的前后处理。该模型不是AI试衣的必选项,但将该模型与AI试衣模型搭配使用,可实现一些特定的试衣效果。
模型概览
模型名 | 模型简介 |
aitryon-parsing-v1 | aitryon-parsing-v1是一个图片处理模型,可对模特图、服饰图进行分割,用于AI试衣图片的前后处理。 |
模型用途与效果示例
用途一:使用图片分割API做试衣图片的前置处理
如果希望在试衣时,只替换模特图片中的上装/下装,并保留原模特图中的下装/上装区域,可使用图片分割API对试衣图片做前置处理。
例如,希望保留模特图中的上装,仅替换下装。可调用分割接口并选择“upper”,将出参得到的crop_img作为服饰上装图片,与要试衣的下装服饰图一起传入aitryon模型接口。传入aitryon模型的模特图,仍使用模特图的原图;
在该案例中,接口调用顺序为:
(1)试衣图片分割。调用本文档的“AI试衣图片分割API”,输入模特图片,获得所需区域的分割图片。
输入:模特图 | 输出:crop_img_url |
入参"clothes_type": ["upper"] | 作为入参传入aitryon模型 |
(2)试衣图片生成。调用“AI试衣API”,输入模特图、服饰上装图(由分割获得)、服饰下装图,获得最终的试衣效果图。
输入:模特图 | 输入:服饰上装图 | 输入:服饰下装图 | 输出:试衣效果图 |
上传与输入图片分割API一致的模特图 | 上传图片分割模型的出参:crop_img_url | 上传需替换的服饰图 |
用途二:使用图片分割API做试衣图片的后置处理
如果希望在试衣时,获取试衣后的服饰区域坐标范围,可使用图片分割API对试衣结果图片做后处理。
指定要获取的上装/下装区域,可获取图中对应的服饰区域bbox。bbox的坐标范围对应parsing_img_url的可视区域,bbox定义为[x1,y1,x2,y2],以输入原图的左上角为坐标原点,对应左上和右下两个点的坐标。
例如,希望获取试衣结果图的上装区域的坐标范围,以供业务前端添加商品标签或交互热区。可将试衣生成的结果图输入分割接口并选择“upper”,出参得到bbox即为上装在该图片中的坐标范围,出参的parsing_img_url的为该区域的可视化效果。
在该案例中,接口调用顺序为:
(1)试衣图片生成。调用“AI试衣API”,获得试衣效果图;
(2)试衣图片分割。调用本文档的“AI试衣图片分割API”,输入试衣效果图,获得所需区域的bbox。
输入:模特图 | 输出:parsing_img_url |
入参"clothes_type": ["upper"] |
|
HTTP调用接口
功能描述
用于试衣图片的分割处理。
前提条件
已开通百炼服务并获得API-KEY:获取API Key。
作业提交接口
POST https://dashscope.aliyuncs.com/api/v1/services/vision/image-process/process
入参描述
字段 | 类型 | 传参方式 | 必选 | 描述 | 示例值 |
Content-Type | String | Header | 是 | 请求类型:application/json | application/json |
Authorization | String | Header | 是 | API-Key,例如:Bearer d1**2a | Bearer d1**2a |
model | String | Body | 是 | 指明需要调用的模型,此处用aitryon-parsing-v1 | aitryon-parsing-v1 |
input.image_url | String | Body | 是 | 用户上传的待分割图片URL。
| "image_url": "http://a/a.jpg" |
parameters.clothes_type | List[String] | Body | 是 | 希望返回的分割区域,可选["upper"], ["lower"], ["dress"], ["upper", "lower"]。
| "clothes_type": ["lower"] |
出参描述
字段 | 类型 | 描述 | 示例值 |
output.parsing_img_url | List[String] | 返回的保存服饰分割结果url的list,list长度与parameters.clothes_type的长度一致。对应位置为None/null则表示不存在该种类服饰。 图片通道数为rgba,保存为png格式。 | ["http://a/a.png"] [None/null] |
output.crop_img_url | List[String] | 返回的保存服饰分割crop结果url的list,list长度与parameters.clothes_type的长度一致。对应位置为None/null则表示不存在该种类服饰。 图片通道数为rgb,保存为png格式。 | ["http://a/a.png"] [None/null] |
output.bbox | List<Integer> | 分割区域在原图中位置的bbox列表,按照clothes_type中指定的区域顺序排序。 bbox定义为[x1,y1,x2,y2],以输入原图的左上角为坐标原点,对应左上和右下两个点的坐标。 | "bbox": [[10,20,30,40], [50,60,70,80]] |
usage.image_count | Integer | 本次请求检测的图片数量,单位:张 | "image_count": 1 |
request_id | String | 本次请求的系统唯一码 | 7574ee8f-38a3-4b1e-9280-11c33ab46e51 |
请求示例:
curl --location 'https://dashscope.aliyuncs.com/api/v1/services/vision/image-process/process'\
--header 'Authorization: Bearer <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"model": "aitryon-parsing-v1",
"input": {
"image_url":"http://xxx/1.jpg"
},
"parameters": {
"clothes_type": ["upper", "lower"]
}
}'
响应示例 (存在对应类型服饰):
{
"output":{
"parsing_img_url":["http://xxx/1.png","http://xxx/2.png"],
"crop_img_url":["http://xxx/3.png","http://xxx/4.png"],
"bbox":[[10,20,30,40],[50,60,70,80]]
},
"usage":{
"image_count":1
},
"request_id":"c56f62df-724e-9c19-96bd-308627cf5262"
}
响应示例(不存在对应类型服饰):
{
"output":{
"parsing_img_url":[null],
"crop_img_url":[null],
"bbox":[null]
},
"usage":{
"image_count":1
},
"request_id":"c56f62df-724e-9c19-96bd-308627cf5262"
}
响应示例(错误):
{
"output":{
"code":xxxx,
"message":xxxx,
},
"request_id":"c56f62df-724e-9c19-96bd-308627cf5262"
}
状态码说明
大模型服务平台通用状态码请查阅:错误码。
同时本模型还有如下特定错误码:
http 返回码* | 错误码(code) | 错误信息(message) | 含义说明 |
400 | InvalidParameter | The request is missing required parameters or in a wrong format, please check the parameters that you send. | 入参格式不对 |
400 | InvalidParameter.ClothesType | The request parameter is invalid, please check the request parameter. | ClothesType入参不合规 |
400 | InvalidURL | The request URL is invalid, please check the request URL is available and the request image format is one of the following types: JPEG, JPG, PNG, BMP, and WEBP. | 输入图片下载失败,请检查网络或者输入格式 |
400 | InvalidInputLength | The image resolution is invalid, please make sure that the largest length of image is smaller than 4096, and the smallest length of image is larger than 150. and the size of image ranges from 5KB to 5MB | 上传图片大小不符合要求 |