菜品识别

本文介绍图像识别(imagerecog)类目下的菜品识别RecognizeFood的语法及示例。

功能描述

菜品识别能力可以识别出图片中的菜品类别名称和热量。

说明
  • 您可以进入在线咨询获取在线人工帮助。
  • 当前能力可在视觉智能开放平台有完整的免费产品体验,您可以单击立即试用对该能力进行更直观试用以及在线购买。
  • 阿里云视觉智能开放平台视觉AI能力API接入、接口使用或问题咨询等,请通过钉钉群(23109592)加入阿里云视觉智能开放平台咨询群联系我们。

应用场景

  • 减肥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。
  • 图像大小:小于10 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)信息,请参见:https://help.aliyun.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小时后会被系统自动清理删除。