动作行为识别

本文介绍人脸人体(facebody)类目下的动作行为识别RecognizeAction的语法及示例。

功能描述

动作行为识别能力可以识别视频和图像中的人体动作行为,并返回识别后的行为类别。当前可以识别的行为类别包括:举手、吃喝、吸烟、打电话、玩手机、趴桌睡觉、跌倒、洗手、拍照。您可以根据系统提供的动作置信度判断阈值,对识别的动作进行判断。

动作行为识别适用范围:
  • 举手:手臂伸直高高举起,手腕高过头顶。
  • 吃喝:吃东西或者喝水。
  • 吸烟:将烟点着,真吸烟,画面中需要能看清烟。
  • 打电话:电话或者微信语音,手机必须靠近耳朵或者嘴边。
  • 玩手机:用手机打字、浏览手机、看视频、玩游戏,视频聊天等玩手机行为,画面中需要能看清手机。
  • 趴桌睡觉:头趴在桌子上睡觉。
  • 跌倒:整个人跌倒在地,身体倒下。
  • 洗手:在水龙头或者盆中洗手。
  • 拍照:手机稍微举起,用手机对着某人或物拍照。
说明
  • 您可以进入在线咨询获取在线人工帮助。
  • 当前能力可在视觉智能开放平台有完整的免费产品体验,您可以单击立即试用对该能力进行更直观试用以及在线购买。
  • 阿里云视觉智能开放平台视觉AI能力API接入、接口使用或问题咨询等,请通过钉钉群(23109592)加入阿里云视觉智能开放平台咨询群联系我们。

应用场景

  • 驾驶员监控系统(DMS):检测驾驶员是否存在吸烟、吃喝、打电话、玩手机等影响安全驾驶的行为。
  • 学习状况监测:监测学习过程是否存在举手、玩手机、趴桌子睡觉等行为。
  • 公共场所行为监测:监测在博物馆、展览馆等公共场所是否存在吸烟、打电话、拍照等不文明行为,以及是否有跌倒这样的异常情况发生。
  • 工作场所监督:监测在工作场所是否存在吃喝、吸烟、打电话、趴桌子睡觉等行为,是否有按要求洗手。

特色优势

  • 覆盖多种应用场景:支持识别举手、吃喝、吸烟、打电话、玩手机、睡觉、跌打、洗手、拍照等行为,涵盖驾驶、学习、泛安防等多种场景。
  • 适应多种光照条件:适应在自然光、室内光照、夜晚红外模式等光照条件下的行为识别。

接入指引

1. 注册阿里云账号:打开阿里云官网,在阿里云官网右上角,单击立即注册,按照操作提示完成账号注册。

2. 开通能力:请确保您已开通人脸人体服务,若未开通服务请立即开通

说明 本能力支持企业或个人认证用户开通。更多实名认证操作信息,请参见实名认证

3. 创建AccessKey:请确保您已创建AccessKey,如果您使用的是子账号AccessKey,您需要给子账号赋予AliyunVIAPIFullAccess权限,具体操作,请参见RAM授权

4. 在线调试(可选):您可以通过OpenAPI Explorer在线调试能力,查看完整的调用示例代码及SDK依赖信息,也可以下载完整的工程。

5. 开发接入步骤:

  • SDK总览中选择您要接入使用的SDK语言。
  • 在对应语言的SDK文档中找到AI类目为人脸人体(facebody)的SDK包进行安装。
  • 参考文档中提供的示例代码进行适当修改后调用。

6. 示例代码:该能力常用语言的示例代码,请参见动作行为识别示例代码

7. 客户端直接调用:该能力常用的客户端调用方式包括以下几种。

输入限制

  • 视频要求:

    1. 时长大于2秒,小于5秒。如果输入视频时长大于5秒,系统仅返回前5秒的检测结果。

    2. 视频大小应小于10 MB。

    3. 分辨率大于256×256像素,小于等于1280×720像素。

    4. 支持一些常见的视频格式,例如MPEG、AVI、MOV、MP4。

    说明 建议为居家摄像头或近距离监控场景。即摄像头固定不动,拍摄距离为2米~10米。

  • 图像要求:

    1. 帧数4帧,必须是同一个视频连续2秒均匀抽帧的结果。如果输入4帧非同一个视频中的,会导致识别报错。

    2. 分辨率大于256×256像素,小于等于1280×720像素。

    3. 支持的格式为JPEG、PNG、BMP、JPG。

    4. 可使用URL与Base64编码字符串混合输入。

  • URL地址中不能包含中文字符。

计费说明

关于动作行为识别的计费方式及报价,请参见计费介绍

说明 下方调试接口为付费接口,如需免费体验调试请前往体验中心

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称

类型

是否必选

示例值

描述

Action String RecognizeAction

系统规定参数。取值:RecognizeAction

Type Integer 0

输入内容类型,包括视频和图像两种类型。

  • 0:表示输入视频URL或视频Base64编码字符串。
  • 1:表示输入图像URL或图像Base64编码字符串。
  • 其他:非法输入。
VideoUrl String http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/facebody/RecognizeAction/RecognizeAction-video1.mp4

Type为0时需要输入的视频URL地址。推荐使用上海地域的OSS链接,对于文件在本地或者非上海地域OSS链接的情况,请参见文件URL处理

URLList.N.URL String http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/facebody/RecognizeAction/1RecognizeAction1.png

Type为1时需要输入的图像URL地址,必须输入4张图像,且4张图像建议为两秒钟视频均匀采样的图像,分辨率和通道数必须一致。推荐使用上海地域的OSS链接,对于文件在本地或者非上海地域OSS链接的情况,请参见文件URL处理

URLList.N.imageData String /9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgQ****

图像Base64编码字符串,与URL共存时,URL优先。文件的Base64编码处理操作,请参见文件Base64处理

VideoData String iVBORw0KGgoAAAANSUhEUgAAAoAAAAHJCAIAAACaEB9NAAEAAElEQVR4nNT9Wb****

视频Base64编码字符串,与VideoURL共存时,VideoURL优先。文件的Base64编码处理操作,请参见文件Base64处理

返回数据

名称

类型

示例值

描述

RequestId String E9C40AF5-A7F8-49D5-8A0C-B21F15A07F17

请求ID。

Data Object

返回的结果数据内容。

Elements Array of Element

返回的结果元素列表。

Scores Array of Float 0.702967643737793

行为类别的置信度。取值范围0~1,值越大,识别到的动作越准确。系统根据算法,为不同的动作给出判断的阈值标准,您也可以根据自己的实际情况,对判断的阈值标准进行调整。

  • 举手:0.5(低于0.5则认为不是举手行为,否则认为是举手行为。)
  • 吃喝:0.5(低于0.5则认为不是吃喝行为,否则认为是吃喝行为。)
  • 吸烟:0.5(低于0.5则认为不是吸烟行为,否则认为是吸烟行为。)
  • 打电话:0.5(低于0.5则认为不是打电话行为,否则认为是打电话行为。)
  • 玩手机:0.5(低于0.5则认为不是玩手机行为,否则认为是玩手机行为。)
  • 趴桌睡觉:0.5(低于0.5则认为不是趴桌睡觉行为,否则认为是趴桌睡觉行为。)
  • 跌倒:0.5(低于0.5则认为不是跌倒行为,否则认为是跌倒行为。)
  • 洗手:0.5(低于0.5则认为不是洗手行为,否则认为是洗手行为。)
  • 拍照:0.5(低于0.5则认为不是拍照行为,否则认为是拍照行为。)
Labels Array of String 跌倒

识别到的行为类别。

Boxes Array of Boxes

具体动作的坐标框列表。

Box Array of Integer [1119,576,1373,970]

具体动作的坐标框信息。

Timestamp Integer 3

当前行为在视频或者图像中发生的时间戳信息。

SDK参考

阿里云视觉AI人脸人体类目下的动作行为识别能力推荐使用SDK调用,支持多种编程语言,调用时请选择AI类目为人脸人体(facebody)的SDK包,文件参数通过SDK调用可支持本地文件及任意URL,具体可参见SDK总览

示例代码

该能力常用语言的示例代码,请参见动作行为识别示例代码

示例

请求示例

http(s)://facebody.cn-shanghai.aliyuncs.com/?Action=RecognizeAction      //更多关于访问域名(Endpoint)信息,请参见:https://help.aliyun.com/document_detail/143103.html
&Type=0
&VideoUrl=http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/facebody/RecognizeAction/RecognizeAction-video1.mp4
&URLList=[{"URL":"http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/facebody/RecognizeAction/1RecognizeAction1.png","imageData":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgQ****"}]
&VideoData=iVBORw0KGgoAAAANSUhEUgAAAoAAAAHJCAIAAACaEB9NAAEAAElEQVR4nNT9Wb****
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<RequestId>E9C40AF5-A7F8-49D5-8A0C-B21F15A07F17</RequestId>
<Data>
    <Elements>
        <Timestamp>1</Timestamp>
    </Elements>
    <Elements>
        <Scores>0.702967643737793</Scores>
        <Labels>跌倒</Labels>
        <Timestamp>3</Timestamp>
        <Boxes>
            <Box>1119</Box>
            <Box>576</Box>
            <Box>1373</Box>
            <Box>970</Box>
        </Boxes>
    </Elements>
    <Elements>
        <Scores>0.7334273457527161</Scores>
        <Labels>跌倒</Labels>
        <Timestamp>5</Timestamp>
        <Boxes>
            <Box>1128</Box>
            <Box>613</Box>
            <Box>1363</Box>
            <Box>991</Box>
        </Boxes>
    </Elements>
</Data>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "E9C40AF5-A7F8-49D5-8A0C-B21F15A07F17",
  "Data" : {
    "Elements" : [ {
      "Timestamp" : 1
    }, {
      "Scores" : 0.702967643737793,
      "Labels" : "跌倒",
      "Timestamp" : 3,
      "Boxes" : {
        "Box" : [ 1119, 576, 1373, 970 ]
      }
    }, {
      "Scores" : 0.7334273457527161,
      "Labels" : "跌倒",
      "Timestamp" : 5,
      "Boxes" : {
        "Box" : [ 1128, 613, 1363, 991 ]
      }
    } ]
  }
}

错误码

关于动作行为识别的错误码,详情请参见常见错误码

安全声明

  • 请确保上传的图片或文件来源符合相应的法律法规。
  • 通过体验调试上传的临时文件有效期为1小时,在24小时后会被系统自动清理删除。