本文介紹圖像識別(imagerecog)類目下的菜品識別RecognizeFood的語法及示例。
功能描述
菜品識別能力可以識別出圖片中的菜品類別名稱和熱量。
應用場景
- 減肥App:拍攝每天的飲食,計算菜品的熱量,可協助您控制好熱量攝入。
- 運動管理App:通過識別菜品類別,計算累計攝入熱量,給出每天的運動計劃量。
- 餐飲、菜場等自動收銀結算:通過識別餐飲的類別,可提供自動結算服務。
特色優勢
- 支持本地生活業務場景。已積累線上餐飲品類三萬多種,圖片上億張,海量數據積累,模型沉淀較深厚。
- 支持線下食堂、連鎖快餐、烘焙等垂直解決方案。
接入指引
1. 注冊阿里云賬號:打開阿里云官網,在阿里云官網右上角,單擊立即注冊,按照操作提示完成賬號注冊。
2. 開通能力:請確保您已開通圖像識別服務,若未開通服務請立即開通。
3. 創建AccessKey:請確保您已創建AccessKey,如果您使用的是子賬號AccessKey,您需要給子賬號賦予AliyunVIAPIFullAccess權限,具體操作,請參見RAM授權。
4. 在線調試(可選):您可以通過OpenAPI Explorer在線調試能力,查看完整的調用示例代碼及SDK依賴信息,也可以下載完整的工程。
5. 開發接入步驟:
- 在SDK總覽中選擇您要接入使用的SDK語言。
- 在對應語言的SDK文檔中找到AI類目為圖像識別(imagerecog)的SDK包進行安裝。
- 參考文檔中提供的示例代碼進行適當修改后調用。
6. 示例代碼:該能力常用語言的示例代碼,請參見菜品識別示例代碼。
7. 客戶端直接調用:該能力常用的客戶端調用方式包括以下幾種。
輸入限制
- 圖像類型:JPEG、JPG、PNG、BMP。
- 圖像大?。盒∮?0 MB。
- 圖像分辨率:大于等于100×100像素,小于等于4096×4096像素。
- URL地址中不能包含中文字符。
計費說明
關于菜品識別的計費方式及報價,請參見計費介紹。
調試
您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。
請求參數
名稱 |
類型 |
是否必選 |
示例值 |
描述 |
Action | String | 是 | RecognizeFood | 系統規定參數。取值:RecognizeFood。 |
ImageURL | String | 是 | http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/imagerecog/RecognizeFood/RecognizeFood5.jpg | 圖像URL地址。推薦使用上海地域的OSS鏈接,對于文件在本地或者非上海地域OSS鏈接的情況,請參見文件URL處理。 |
返回數據
名稱 |
類型 |
示例值 |
描述 |
RequestId | String | 4C2369C5-54E0-4B9F-8ACB-80C4F50AD2DB | 請求ID。 |
Data | Object | 返回的結果數據內容。 |
|
TopFives | Array of TopFives | 識別出TOP5可能性高的類別,按照置信度從大到小排列。 說明 可能不足5個,最多顯示5個。 |
|
Category | String | 清蒸鱸魚 | 類別。 |
Score | Float | 0.2083740234375 | 識別菜品類別的置信度,取值范圍為0~1。 |
Calorie | String | 208 | 每百克卡路里數值。例如被識別為三菌湯的數值為208,則表示每100克三菌湯卡路里為208大卡。 說明 由于有些菜品很少見,沒有比較統一的卡路里數值,故標注 UNKNOWN ,表示未知。 |
SDK參考
阿里云視覺AI圖像識別類目下的菜品識別能力推薦使用SDK調用,支持多種編程語言,調用時請選擇AI類目為圖像識別(imagerecog)的SDK包,文件參數通過SDK調用可支持本地文件及任意URL,具體可參見SDK總覽。
示例代碼
該能力常用語言的示例代碼,請參見菜品識別示例代碼。
示例
請求示例
http(s)://imagerecog.cn-shanghai.aliyuncs.com/?Action=RecognizeFood //更多關于訪問域名(Endpoint)信息,請參見:http://bestwisewords.com/document_detail/143103.html
&ImageURL=http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/imagerecog/RecognizeFood/RecognizeFood5.jpg
&公共請求參數
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<RecognizeFoodResponse>
<RequestId>B6F48953-92F4-5388-A000-0057D46B1658</RequestId>
<Data>
<TopFives>
<Calorie>105</Calorie>
<Score>0.56878662109375</Score>
<Category>清蒸鱸魚</Category>
</TopFives>
<TopFives>
<Calorie>117</Calorie>
<Score>0.0455322265625</Score>
<Category>鱖魚</Category>
</TopFives>
<TopFives>
<Calorie>112</Calorie>
<Score>0.039886474609375</Score>
<Category>清蒸桂花魚</Category>
</TopFives>
<TopFives>
<Calorie>118</Calorie>
<Score>0.0296173095703125</Score>
<Category>沸騰魚</Category>
</TopFives>
<TopFives>
<Calorie>UNKNOWN</Calorie>
<Score>0.0205230712890625</Score>
<Category>其他類</Category>
</TopFives>
</Data>
</RecognizeFoodResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "B6F48953-92F4-5388-A000-0057D46B1658",
"Data" : {
"TopFives" : [ {
"Calorie" : 105,
"Score" : 0.56878662109375,
"Category" : "清蒸鱸魚"
}, {
"Calorie" : 117,
"Score" : 0.0455322265625,
"Category" : "鱖魚"
}, {
"Calorie" : 112,
"Score" : 0.039886474609375,
"Category" : "清蒸桂花魚"
}, {
"Calorie" : 118,
"Score" : 0.0296173095703125,
"Category" : "沸騰魚"
}, {
"Calorie" : "UNKNOWN",
"Score" : 0.0205230712890625,
"Category" : "其他類"
} ]
}
}
錯誤碼
關于菜品識別的錯誤碼,詳情請參見常見錯誤碼。
安全聲明
- 請確保上傳的圖片或文件來源符合相應的法律法規。
- 通過體驗調試上傳的臨時文件有效期為1小時,在24小時后會被系統自動清理刪除。