快速上手百度大脑危险行为识别

作者:wangwei8638

2018年10月28日,重庆万州公交车坠江事故造成15人死亡,包含老人和小孩。汽车黑匣子被打捞上来,监控视频查明原因,竟是乘客与驾驶员发生争执互殴引发。如果乘客中有一人出来劝阻,或者监控视频能及时发出危险预警,灾难或许能够避免。当然还有校园暴力、路怒症等群体事件,利用AI人体分析技术,也能够做到及时发现,及时干预,将隐患消除在萌芽状态。
在这里插入图片描述
一.平台接入

此步骤比较简单,不多阐述。可参照之前文档:

https://ai.baidu.com/forum/topic/show/943162

二.分析接口文档

1.打开API文档页面,分析接口要求

https://ai.baidu.com/docs#/Body-API/19f2f5e1

(1)接口描述

针对5s内的监控视频片段,识别行为类别,目前支持7类行为:单人-情绪性指人、单人-摔倒、单人-激烈抱怨、单人-砸东西、单人-正常、双人-危险(包含出拳/拉扯/推搡/激烈搂抱/砸按/踢踹等)、双人-正常。

(2)请求说明

需要用到的信息有:

请求URL:https://aip.baidubce.com/rest/2.0/video-classify/v1/body_danger

Header格式:Content-Type:application/x-www-form-urlencoded

Body中放置请求参数,参数详情如下:
在这里插入图片描述
(3)返回参数
在这里插入图片描述
返回示例

{
'result': [{'score': 0.8421209454536438, 'name': '双人-危险'}], 
'log_id': 8282841239354593761
}

2.获取access_token

# encoding:utf-8

import base64

import urllib

import urllib2



request_url = " https://aip.baidubce.com/rest/2.0/video-classify/v1/body_danger "

# 二进制方式打开视频文件

f = open('[本地文件]', 'rb')

img = base64.b64encode(f.read())

params = {"data": data }

params = urllib.urlencode(params)

access_token = '[调用鉴权接口获取的token]'

request_url = request_url + "?access_token=" + access_token

request = urllib2.Request(url=request_url, data=params)

request.add_header('Content-Type', 'application/x-www-form-urlencoded')

response = urllib2.urlopen(request)

content = response.read()

if content:

print content

三.识别结果

  1. 单人视频
    在这里插入图片描述
    视频处理时长: 8.89 s

识别结果: 单人-正常

0.8313765525817871

  1. 双人视频
    在这里插入图片描述
    视频处理时长: 6.19 s

识别结果: 双人-危险

0.8421209454536438

  1. 多人视频
    在这里插入图片描述
    视频处理时长: 8.39 s

识别结果: 双人-危险

0.9950131177902222

结论:

识别结果方面:对于3个视频中的危险行为,2个能够正确识别。视频1识别结果有偏差,应为“单人-砸东西”。

处理速度方面:5s时长的视频,处理时间在6-8s,花费时间稍长

发布了10 篇原创文章 · 获赞 4 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_45449540/article/details/103424964