開發與維運

阿里雲貨架商品識別與管理Python SDK使用示例

作者:俏巴

概述

貨架商品識別與管理(Retail Image Recognition)是基於深度學習、圖像檢測、圖像識別等技術,為新零售品牌商/經銷商提供AI商品識別能力的阿里雲產品;適用於貨架商品識別、陳列識別、形象化識別等多個業務應用場景中,提供對渠道的數據全面精準洞察,助力渠道業務管理實現數字化、智能化的轉型升級。目前該產品還在公測預覽版免費試用階段,下面通過結合Python SDK介紹該產品的使用流程。

操作步驟

1、服務開通

_

申請一般需要一到三個工作日審批通過,如果想加快審批流程,可以提工單,注意提工單的時候帶上申請的賬戶Uid。

2、創建項目

_

3、控制檯快速測試

_

4、Python SDK測試

  • 4.1 Python SDK的安裝可以參考鏈接
  • 4.2 Code Sample

from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest
import json
import time

DefaultProfile.getProfile的參數分別是access_key_id, access_key_secret,region(目前固定為杭州) https: class="hljs-comment">//yq.aliyun.com/articles/693979

client = AcsClient("LTAIOZZg", "v7CjUJCMk7j9aKduMAQLjy", "cn-hangzhou")

createTask API 創建商品識別任務

def createTask(Appkey:"實例ID",ImageLeftTop:"影像左上"):

request = CommonRequest()
request.set_method(<span class="hljs-string">"POST"</span>)
request.set_domain(<span class="hljs-string">"retailir.cn-hangzhou.aliyuncs.com"</span>)
request.set_action_name(<span class="hljs-string">"CreateTask"</span>)
request.set_version(<span class="hljs-string">"2019-09-06"</span>)
request.set_accept_format(<span class="hljs-string">'json'</span>)
request.add_body_params(<span class="hljs-string">"Appkey"</span>, Appkey)
request.add_body_params(<span class="hljs-string">"TaskName"</span>, <span class="hljs-string">"test1"</span>)
request.add_body_params(<span class="hljs-string">"ImageLeftTop"</span>, ImageLeftTop)

response = client.get_response(request)
response_str = str(response[<span class="hljs-number">2</span>], <span class="hljs-string">'utf-8'</span>)  # bytes 轉 string
print(response_str) # 打印輸出結果
JobId = (json.loads(response_str))[<span class="hljs-string">"Task"</span>][<span class="hljs-string">"JobId"</span>]   # 獲取任務id
<span class="hljs-keyword">return</span> JobId

getTask API 獲取提交任務的結果

def getTask(Appkey:"實例ID", JobId:"任務Id"):

request = CommonRequest()
request.set_method(<span class="hljs-string">"POST"</span>)
request.set_domain(<span class="hljs-string">"retailir.cn-hangzhou.aliyuncs.com"</span>)
request.set_action_name(<span class="hljs-string">"GetTask"</span>)
request.set_version(<span class="hljs-string">"2019-09-06"</span>)
request.set_accept_format(<span class="hljs-string">'json'</span>)
request.add_body_params(<span class="hljs-string">"Appkey"</span>, Appkey)
request.add_body_params(<span class="hljs-string">"JobId"</span>, JobId)

response = client.get_response(request)
response_str = str(response[<span class="hljs-number">2</span>], <span class="hljs-string">'utf-8'</span>)  # bytes 轉 string
print(response_str)  # 打印輸出結果

if name == '__main__':

Appkey = <span class="hljs-string">"GGU4dslp********"</span>
ImageLeftTop = <span class="hljs-string">"https://img.alicdn.com/tfs/TB1OFfegEY1gK0jSZFCXXcwqXXa-720-1440.png"</span>
JobId = createTask(Appkey, ImageLeftTop)
time.sleep(<span class="hljs-number">10</span>) # 創建完的Task需要後端等待一段時間才能獲取運行結果
getTask(Appkey, JobId)</code></pre>

4.3 代碼測試結果


{"RequestId":"99020@73d2c29d-4bd2-4d44-bc72-3ab674072d8f","Task":{"Status":"INIT","Appkey":"GGU4dslp","JobId":"29ffee3863504d1493b4104600a6283b","Namespace":"ShelfInsight","Request":"{"images":[{"path":"https://img.alicdn.com/tfs/TB1OFfegEY1gK0jSZFCXXcwqXXa-720-1440.png","position":{"x":0,"y":1}}]}","UserId":"1848217816617278","Version":"0","Progress":0},"ResultCode":0,"ResultMessage":"SUCCESS"}

5、其它開發語言的調用問題


目前提供的兩個API接口都是通過pop接口對接,所以使用阿里雲的core sdk均可做認證對接,然後使用CommonRequest()方法即可完成調用過程。相關語言可以參考阿里雲新版人臉識別綜述 新版本SDK調用示例參考部分即可。


_


更多參考


Java SDK
API 請求

Leave a Reply

Your email address will not be published. Required fields are marked *