本文介绍人脸人体(facebody)类目下的动作行为识别RecognizeAction的语法及示例。
功能描述
动作行为识别能力可以识别视频和图像中的人体动作行为,并返回识别后的行为类别。当前可以识别的行为类别包括:举手、吃喝、吸烟、打电话、玩手机、趴桌睡觉、跌倒、洗手、拍照。您可以根据系统提供的动作置信度判断阈值,对识别的动作进行判断。
动作行为识别适用范围:- 举手:手臂伸直高高举起,手腕高过头顶。
- 吃喝:吃东西或者喝水。
- 吸烟:将烟点着,真吸烟,画面中需要能看清烟。
- 打电话:电话或者微信语音,手机必须靠近耳朵或者嘴边。
- 玩手机:用手机打字、浏览手机、看视频、玩游戏,视频聊天等玩手机行为,画面中需要能看清手机。
- 趴桌睡觉:头趴在桌子上睡觉。
- 跌倒:整个人跌倒在地,身体倒下。
- 洗手:在水龙头或者盆中洗手。
- 拍照:手机稍微举起,用手机对着某人或物拍照。
应用场景
- 驾驶员监控系统(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 | 输入内容类型,包括视频和图像两种类型。
|
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,值越大,识别到的动作越准确。系统根据算法,为不同的动作给出判断的阈值标准,您也可以根据自己的实际情况,对判断的阈值标准进行调整。
|
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小时后会被系统自动清理删除。