接口说明
功能描述
交互式全图分割能力支持以单张图片作为输入,无需任何其他提示,即可返回图片中所有元素的分割结果。用户可以通过点击操作选择其中所需的元素,实现图片中分割元素的自由选择。 关于该接口功能的示例图如下:
- 输入原图
- 全图分割
- 点选操作后的 mask
- 分割结果
- 当前能力可在视觉智能开放平台有完整的免费产品体验,您可以单击立即试用对该能力进行更直观试用以及在线购买。
- 阿里云视觉智能开放平台视觉 AI 能力 API 接入、接口使用或问题咨询等,请通过钉钉群(23109592)加入阿里云视觉智能开放平台咨询群联系我们。
应用场景
图片编辑:可对图像中的任意涂抹元素进行选择并智能分离,实现图像后续的二次编辑。
特色优势
- 图片元素识别:根据涂抹区域的位置和大小,自动对涂抹目标进行识别和分割。
- 自由开放选择:允许用户通过鼠标涂抹操作自由选择和排除所需的分割对象。
- 适用多种场景:适用于人、动物、食物、物品、家居等各种抠图场景,使用范围广。
接入指引
- 注册阿里云账号:打开阿里云官网,在阿里云官网右上角,单击立即注册,按照操作提示完成账号注册。
- 开通能力:请确保您已开通创新专区服务,若未开通服务请立即开通。
- 创建 AccessKey:请确保您已创建 AccessKey,如果您使用的是子账号 AccessKey,您需要给子账号赋予 AliyunVIAPIFullAccess 权限,具体操作,请参见 RAM 授权。
- 在线调试(可选):您可以通过OpenAPI Explorer在线调试能力,查看完整的调用示例代码及 SDK 依赖信息,也可以下载完整的工程。
- 开发接入步骤:
- 在 SDK 总览中选择您要接入使用的 SDK 语言。
- 在对应语言的 SDK 文档中找到 AI 类目为创新专区(aigen)的 SDK 包进行安装。
- 参考文档中提供的示例代码进行适当修改后调用。
- 示例代码:该能力常用语言的示例代码,请参见交互式全图分割示例代码,常用语言查询异步任务结果的示例代码,请参见查询异步任务结果示例代码。
- 客户端直接调用:该能力常用的客户端调用方式包括以下几种。
输入限制
- 图像格式:JPG、JPEG、PNG、BMP、WEBP。
- 图像大小:不超过 10 MB。
- 输入图像:大于等于 32x32 像素,小于等于 4096x4096 像素。
- URL 地址中不能包含中文字符。
调用步骤
该能力为异步能力,需分两步进行调用。 第一步调用 InteractiveFullSegmentation 接口提交任务,请求成功后,得到一个任务 ID。 第二步调用 GetAsyncJobResult 接口查询结果,根据任务 ID 查询任务执行状态和结果。如果任务还在处理中,可稍等一段时间后再进行查询。
计费说明
交互式全图分割能力目前处于公测期,可免费调用。
流控信息
授权信息
当前云产品暂无权限信息透出。
请求参数
返回参数
字段名称 | 字段详情 |
---|---|
RequestIdstring | 请求 ID。 示例值:7574ee8f-38a3-4b1e-9280-11c33ab46e51 |
Dataobject | 返回的结果数据内容。该数据需要在异步任务执行成功后,通过调用 GetAsyncJobResult 接口,对其 Result 字段进行 JSON 反序列化之后得到。 |
Messagestring | 提交异步任务后的提示信息。 示例值:该调用为异步调用,任务已提交成功,请以requestId的值作为jobId参数调用同类目下GetAsyncJobResult接口查询任务执行状态和结果。 |
返回说明
结果文件格式
分割的结果会以 JSON 字符串的形式存储在输出的文本文件中,对应的图像会以 Base64 的结构存储在对应的 Base64 字段中。
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
output.region_info | List | [{"region": "data:image/png;base64,/9j/4AAQ........GBlPjwh//2Q==", "area": 178579,"index": 1}, ...] | 所有输出 mask 的信息。region 为 mask 的 Base64 编码,area 为 mask 的面积, index 为该 mask 的索引,index 从 1 开始,0 表示没有结果。 |
output.region_index | String | "data:image/png;base64,/9j/4AAQSkZJR........GBlPjwh//2Q==" | 所有 mask index 的整合,值为 0~255,输出为 Base64 编码。 |
bbox | Array of Integer | [303,0,21,14] | 包含 mask 的 bounding box 的坐标,按照 XYWH 的顺序。 |
crop_box | Array of Integer | [0,0,585,390] | 预测 mask 时用到的 image 切片的坐标,按照 XYWH 的顺序。 |
point_coords | Array of Integer | [310.78125,12.1875] | 生成 mask 对应的预测点坐标。 |
predicted_iou | Float | 0.9326171875 | 预测的置信度。 |
stability_score | Float | 0.9660193920135498 | mask 质量的评估。 |
area | Long | 204 | mask 所占的像素数,可以理解为面积。 |
结果文件示例
{ "output":{ "region_index":"<BASE64_CODE>", "region_info":[ { "area":204, "bbox":[303,0,21,14], "crop_box":[0,0,585,390], "index":1, "point_coords":[ [310.78125,12.1875] ], "predicted_iou":0.9326171875, "region":"<BASE64_CODE>", "stability_score":0.9660193920135498 }, ... ... ... ... { "area":1353, "bbox":Array[4], "crop_box":Array[4], "index":10, "point_coords":Array[1], "predicted_iou":0.94873046875, "region":"<BASE64_CODE>", "stability_score":0.9708878993988037 }, ] } }
返回值的可视化效果示例图如下:
- 第一列为
output.region_index
的可视化结果,取值 0~255,尺寸与原图一致,该返回值起索引作用,实际渲染时不会用到。 - 第二列为
output.region_info
的部分 mask 的可视化结果示意,每个 mask 取值为 0 和 255,尺寸与原图一致。output.region_info
是由所有分割结果组成的列表,通过output.region_index
与原图建立映射。

查询结果
该接口为异步接口,当前并未返回真实的请求结果,您需要通过返回的 RequestId 调用 GetAsyncJobResult 接口来获取该接口的真实请求结果。详情请参见 GetAsyncJobResult 。
SDK 参考
阿里云视觉 AI 创新专区类目下的交互式全图分割能力推荐使用 SDK 调用,支持多种编程语言,调用时请选择 AI 类目为创新专区(aigen)的 SDK 包,文件参数通过 SDK 调用可支持本地文件及任意 URL,具体可参见 SDK 总览。
示例代码
该能力常用语言的示例代码,请参见交互式全图分割示例代码。