交互式全圖分割
本文介紹創(chuàng)新專區(qū)(aigen)類目下的全圖分割I(lǐng)nteractiveFullSegmentation的語法及示例。
功能描述
交互式全圖分割能力支持以單張圖片作為輸入,無需任何其他提示,即可返回圖片中所有元素的分割結(jié)果。用戶可以通過點(diǎn)擊操作選擇其中所需的元素,實(shí)現(xiàn)圖片中分割元素的自由選擇。
關(guān)于該接口功能的示例圖如下:
- 輸入原圖
- 全圖分割
- 點(diǎn)選操作后的mask
- 分割結(jié)果
應(yīng)用場景
圖片編輯:可對圖像中的任意涂抹元素進(jìn)行選擇并智能分離,實(shí)現(xiàn)圖像后續(xù)的二次編輯。
特色優(yōu)勢
- 圖片元素識(shí)別:根據(jù)涂抹區(qū)域的位置和大小,自動(dòng)對涂抹目標(biāo)進(jìn)行識(shí)別和分割。
- 自由開放選擇:允許用戶通過鼠標(biāo)涂抹操作自由選擇和排除所需的分割對象。
- 適用多種場景:適用于人、動(dòng)物、食物、物品、家居等各種摳圖場景,使用范圍廣。
接入指引
1. 注冊阿里云賬號:打開阿里云官網(wǎng),在阿里云官網(wǎng)右上角,單擊立即注冊,按照操作提示完成賬號注冊。
2. 開通能力:請確保您已開通創(chuàng)新專區(qū)服務(wù),若未開通服務(wù)請立即開通。
3. 創(chuàng)建AccessKey:請確保您已創(chuàng)建AccessKey,如果您使用的是子賬號AccessKey,您需要給子賬號賦予AliyunVIAPIFullAccess權(quán)限,具體操作,請參見RAM授權(quán)。
4. 在線調(diào)試(可選):您可以通過OpenAPI Explorer在線調(diào)試能力,查看完整的調(diào)用示例代碼及SDK依賴信息,也可以下載完整的工程。
5. 開發(fā)接入步驟:
- 在SDK總覽中選擇您要接入使用的SDK語言。
- 在對應(yīng)語言的SDK文檔中找到AI類目為創(chuàng)新專區(qū)(aigen)的SDK包進(jìn)行安裝。
- 參考文檔中提供的示例代碼進(jìn)行適當(dāng)修改后調(diào)用。
6. 示例代碼:該能力常用語言的示例代碼,請參見交互式全圖分割示例代碼,常用語言查詢異步任務(wù)結(jié)果的示例代碼,請參見查詢異步任務(wù)結(jié)果示例代碼。
7. 客戶端直接調(diào)用:該能力常用的客戶端調(diào)用方式包括以下幾種。
輸入限制
- 圖像格式:JPG、JPEG、PNG、BMP、WEBP。
- 圖像大小:不超過10 MB。
- 輸入圖像:大于等于32x32像素,小于等于4096x4096像素。
- URL地址中不能包含中文字符。
調(diào)用步驟
該能力為異步能力,需分兩步進(jìn)行調(diào)用。
第一步調(diào)用InteractiveFullSegmentation接口提交任務(wù),請求成功后,得到一個(gè)任務(wù)ID。
第二步調(diào)用GetAsyncJobResult接口查詢結(jié)果,根據(jù)任務(wù)ID查詢?nèi)蝿?wù)執(zhí)行狀態(tài)和結(jié)果。如果任務(wù)還在處理中,可稍等一段時(shí)間后再進(jìn)行查詢。
計(jì)費(fèi)說明
交互式全圖分割能力目前處于公測期,可免費(fèi)調(diào)用。
調(diào)試
您可以在OpenAPI Explorer中直接運(yùn)行該接口,免去您計(jì)算簽名的困擾。運(yùn)行成功后,OpenAPI Explorer可以自動(dòng)生成SDK代碼示例。
請求參數(shù)
名稱 |
類型 |
是否必選 |
示例值 |
描述 |
Action | String | 是 | InteractiveFullSegmentation | 系統(tǒng)規(guī)定參數(shù)。取值:InteractiveFullSegmentation。 |
ImageUrl | String | 是 | http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/aigen/xxx01.png | 輸入的圖像URL。推薦使用上海地域的OSS鏈接,對于文件在本地或者非上海地域OSS鏈接的情況,請參見文件URL處理。輸入限制如下:
|
ReturnFormat | String | 否 | PNG | 輸出圖像格式。支持JPG、PNG,默認(rèn)為PNG。 |
返回?cái)?shù)據(jù)
名稱 |
類型 |
示例值 |
描述 |
RequestId | String | 7574ee8f-38a3-4b1e-9280-11c33ab46e51 | 請求ID。 |
Data | Object | 返回的結(jié)果數(shù)據(jù)內(nèi)容。該數(shù)據(jù)需要在異步任務(wù)執(zhí)行成功后,通過調(diào)用GetAsyncJobResult接口,對其Result字段進(jìn)行JSON反序列化之后得到。 |
|
ResultUrl | String | https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/viapi-video/interactive_seg_wanx/2024-02-21/6013dba4-2ce3-4f00-a2e7-14b8d22e81a5/20240221_120038993181_wcmohvxj9a.txt?Expires=1708574441&OSSAccessKeyId=LTAI5tQZd8AEcZX6KZV4****&Signature=GZuvrbw8F3GOv0ykq9al%2FFBdg8**** | 存放結(jié)果的txt文件的地址,包含如下信息:
說明 該URL地址為臨時(shí)地址,有效期為30分鐘,過期后將無法訪問。若需要長時(shí)間或者永久保存文件,請?jiān)?0分鐘內(nèi)訪問URL地址,下載文件轉(zhuǎn)存到自己的OSS或者其他存儲(chǔ)空間。 |
Message | String | 該調(diào)用為異步調(diào)用,任務(wù)已提交成功,請以requestId的值作為jobId參數(shù)調(diào)用同類目下GetAsyncJobResult接口查詢?nèi)蝿?wù)執(zhí)行狀態(tài)和結(jié)果。 | 提交異步任務(wù)后的提示信息。 |
結(jié)果文件格式
分割的結(jié)果會(huì)以JSON字符串的形式存儲(chǔ)在輸出的文本文件中,對應(yīng)的圖像會(huì)以Base64的結(jié)構(gòu)存儲(chǔ)在對應(yīng)的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表示沒有結(jié)果。 |
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的坐標(biāo),按照XYWH的順序。 |
crop_box |
Array of Integer |
[0,0,585,390] |
預(yù)測mask時(shí)用到的image切片的坐標(biāo),按照XYWH的順序。 |
point_coords |
Array of Integer |
[310.78125,12.1875] |
生成mask對應(yīng)的預(yù)測點(diǎn)坐標(biāo)。 |
predicted_iou |
Float |
0.9326171875 |
預(yù)測的置信度。 |
stability_score |
Float |
0.9660193920135498 |
mask質(zhì)量的評估。 |
area |
Long |
204 |
mask所占的像素?cái)?shù),可以理解為面積。 |
結(jié)果文件示例
{
"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
的可視化結(jié)果,取值0~255,尺寸與原圖一致,該返回值起索引作用,實(shí)際渲染時(shí)不會(huì)用到。 - 第二列為
output.region_info
的部分mask的可視化結(jié)果示意,每個(gè)mask取值為0和255,尺寸與原圖一致。output.region_info
是由所有分割結(jié)果組成的列表,通過output.region_index
與原圖建立映射。
查詢結(jié)果
該接口為異步接口,當(dāng)前并未返回真實(shí)的請求結(jié)果,您需要通過返回的RequestId調(diào)用GetAsyncJobResult接口來獲取該接口的真實(shí)請求結(jié)果。詳情請參見GetAsyncJobResult。
SDK參考
阿里云視覺AI創(chuàng)新專區(qū)類目下的交互式全圖分割能力推薦使用SDK調(diào)用,支持多種編程語言,調(diào)用時(shí)請選擇AI類目為創(chuàng)新專區(qū)(aigen)的SDK包,文件參數(shù)通過SDK調(diào)用可支持本地文件及任意URL,具體可參見SDK總覽。
示例代碼
該能力常用語言的示例代碼,請參見交互式全圖分割示例代碼。
示例
請求示例
http(s)://aigen.cn-shanghai.aliyuncs.com/?Action=InteractiveFullSegmentation //更多關(guān)于訪問域名(Endpoint)信息,請參見:http://bestwisewords.com/document_detail/143103.html
&ImageUrl=http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/aigen/xxx01.png
&ReturnFormat=PNG
&公共請求參數(shù)
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<InteractiveFullSegmentationResponse>
<RequestId>7574ee8f-38a3-4b1e-9280-11c33ab46e51</RequestId>
<Message>該調(diào)用為異步調(diào)用,任務(wù)已提交成功,請以requestId的值作為jobId參數(shù)調(diào)用同類目下GetAsyncJobResult接口查詢?nèi)蝿?wù)執(zhí)行狀態(tài)和結(jié)果。</Message>
</InteractiveFullSegmentationResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "7574ee8f-38a3-4b1e-9280-11c33ab46e51",
"Message" : "該調(diào)用為異步調(diào)用,任務(wù)已提交成功,請以requestId的值作為jobId參數(shù)調(diào)用同類目下GetAsyncJobResult接口查詢?nèi)蝿?wù)執(zhí)行狀態(tài)和結(jié)果。"
}
返回示例補(bǔ)充說明
//查詢結(jié)果:請求示例
http(s)://aigen.cn-shanghai.aliyuncs.com/?Action=GetAsyncJobResult
&JobId=7574ee8f-38a3-4b1e-9280-11c33ab46e51
&<公共請求參數(shù)>
//查詢結(jié)果:返回示例
{
"RequestId" : "43A0AEB6-45F4-4138-8E89-E1A5D63200E3",
"Data" : {
"Status" : "PROCESS_SUCCESS",
"JobId" : "186AC396-0EEC-46F1-AAA1-BF3585227427",
"Result" : "{\"ResultUrl\" : \"https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/viapi-video/interactive_seg_wanx/2024-02-21/6013dba4-2ce3-4f00-a2e7-14b8d22e81a5/20240221_120038993181_wcmohvxj9a.txt?Expires=1708574441&OSSAccessKeyId=LTAI5tQZd8AEcZX6KZV4****&Signature=GZuvrbw8F3GOv0ykq9al%2FFBdg8****\"}"
}
}
//Result反序列化
{
"ResultUrl" : "https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/viapi-video/interactive_seg_wanx/2024-02-21/6013dba4-2ce3-4f00-a2e7-14b8d22e81a5/20240221_120038993181_wcmohvxj9a.txt?Expires=1708574441&OSSAccessKeyId=LTAI5tQZd8AEcZX6KZV4****&Signature=GZuvrbw8F3GOv0ykq9al%2FFBdg8****"
}
錯(cuò)誤碼
關(guān)于交互式全圖分割的錯(cuò)誤碼,具體請參見常見錯(cuò)誤碼。
安全聲明
- 請確保上傳的圖片或文件來源符合相應(yīng)的法律法規(guī)。
- 通過體驗(yàn)調(diào)試上傳的臨時(shí)文件有效期為1小時(shí),在24小時(shí)后會(huì)被系統(tǒng)自動(dòng)清理刪除。