调用百度API实现驾驶行为分析

Posted ZHW_AI课题组

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了调用百度API实现驾驶行为分析相关的知识,希望对你有一定的参考价值。

作者介绍

刘舒婷,女,西安工程大学电子信息学院,2019级硕士研究生,张宏伟人工智能课题组。
研究方向:机器视觉与人工智能。
电子邮箱:913983238@qq.com

功能描述

针对车载场景,识别驾驶员使用手机、抽烟、不系安全带、双手离开方向盘等动作姿态,分析预警危险驾驶行为,提升行车安全性

注册账号并获取所需相关ID

本文使用的是SDK方法

1.1 注册百度智能云账号
https://console.bce.baidu.com/ai/#/ai/body/overview/index
1.2 创建应用
在这里插入图片描述
1.3 填入相关信息
在这里插入图片描述

1.4 获取所需ID
创建完成后,在创建列表里会看到生成的APP_ID, API_KEY, 和SECRET_KEY这三个参数
在这里插入图片描述

程序运行

打开终端

2.1 首先在电脑终端安装所需的包

pip install baidu-aip

2.2
分别填入APP_ID, API_KEY, 和SECRET_KEY这三个参数;
修改图片路径;
将需要显示的参数置0。

from aip import AipBodyAnalysis

""" 你的 APPID AK SK """
#可修改的数据
""" 你的 APPID AK SK """
APP_ID = '******'
API_KEY = '*************'
SECRET_KEY = '****************'

""" 图片地址 """
image_a="./picture/02.jpeg"

""" 需要的参数(0则为需要,1则为不需要) """
smoke=0 #吸烟
cellphone=0 #打手机
not_buckling_up=1 #未系安全带
both_hands_leaving_wheel=1 #双手离开方向盘
not_facing_front=1 #视角未看前方

""" 可按实际情况修改 """
""" "1",表示左舵车 "0",表示右舵车 """
wheel_location=1
""" 读取图片 """
from aip import AipBodyAnalysis
import json

client = AipBodyAnalysis(APP_ID, API_KEY, SECRET_KEY) #生成key

def get_file_content(filePath): #读取图片
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content(image_a)

""" 调用驾驶行为分析 """
client.driverBehavior(image);

""" 如果有可选参数 """
options = {}

options_str=""
if smoke==0 : options_str = options_str + "smoke,"
if cellphone==0 : options_str = options_str + "cellphone,"
if not_buckling_up==0 : options_str = options_str + "not_buckling_up,"
if both_hands_leaving_wheel==0 : options_str = options_str + "both_hands_leaving_wheel,"
if not_facing_front==0 : options_str = options_str + "not_facing_front,"
options["type"] = options_str
options["wheel_location"] = wheel_location
print(options)

""" 带参数调用驾驶行为分析 """
a=client.driverBehavior(image, options)
#返回是一个json
print(json.dumps(a,indent=3)) #格式化输出

可用做测试的图片
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

参考文献
https://aistudio.baidu.com/aistudio/projectdetail/373700?shared=1

以上是关于调用百度API实现驾驶行为分析的主要内容,如果未能解决你的问题,请参考以下文章

百度开源自动驾驶apollo源码分析

带头大哥777:Java调用百度API实现翻译

Python调用百度API实现人脸融合

Python之调用百度API实现手势识别

本地数据库经纬度 调用百度地图API 在百度地图上显示 用啥方案实现的问题。。

Python实例之调用百度API实现车牌识别