驻足识别SDK使用文档
统计视频序列中经过统计区域的人体个数和驻足在统计区域的人体个数,主要适用于店铺某商品前,摄像头视角为正常监控摄像头视角,以人体作为主要检测目标,核心功能:
统计区域内人体驻足个数统计:框出某商品前的空地区域,传入摄像头拍出的正面清晰视频序列,返回驻足在这个统计区域的人体个数,同时在视频中渲染。
统计区域内人体经过个数统计:框出某商品前的空地区域,传入摄像头拍出的正面清晰视频序列,返回经过在这个统计区域的人体个数,同时在视频中渲染。
渲染追踪区域的人体运动轨迹:框出在视频序列中想要追踪人体动向的区域,传入摄像头拍出的正面清晰视频,返回结果视频中渲染人体的运动轨迹。
1、平台支持
| CPU | GPU | |
|---|---|---|
| Ubuntu 16.04 LTS | √ | √ |
| Windows 10 | 后续推出 | 后续推出 |
2、依赖库
python >= 3.6
numpy 1.17.4
Pillow 6.2.1
Flask 1.1.2
Flask-Script 2.0.6
Cython 0.29.22
pycryptodome 3.10.1
pandas 0.25.3
requests 2.9.1
matplotlib 3.3.4
opencv-python 3.4.2.16
tensorflow版本见下表
| CPU | GPU | |
|---|---|---|
| Ubuntu 16.04 LTS | Tensorflow 1.15.0 | tensorflow-gpu 1.15.0 |
| Windows 10 | Tensorflow 1.15.0 | tensorflow-gpu 1.15.0 |
注意:安装SDK(whl文件)方式为: pip install whl文件名
3、调用方式
调用认证接口
from tre_adopt_stop.run_edge import authorization authorization(app_key, app_secret, service_key, license_path)
调用驻足识别接口
from tre_adopt_stop.run_edge import person_tracking person_tracking(video_src, video_rlt, mask_json, score1, score2, frame_interval, video_results)
4、主要参数说明
认证接口参数
| 参数名称 | 是否必选 | 数据类型 | 说明 |
|---|---|---|---|
| appkey | 是 | string | 官网获取的APP_KEY |
| appsecret | 是 | string | 官网获取的APP_SECRET |
| serviceKey | 是 | string | 官网获取的SERVICE_KEY |
| license_path | 是 | string | license所在文件夹路径 例:“E:\aiserver-SDK\license\20210527161927” |
驻足识别接口参数
| 参数名称 | 是否必选 | 数据类型 | 说明 |
|---|---|---|---|
| video_src | 是 | string | 原始视频路径例:“E:\aiserver_SDK\video\test.mp4” |
| video_rlt | 是 | string | video_rlt:保存结果路径例:“E:\aiserver_SDK\result” |
| mask_json | 是 | json | 设置追踪区域和统计区域的坐标点 例:{"tracking": ["685,288 922,714 182,714 489,276"],
"zone": ["720,362 792,492 588,501,588,386"]} 其中tracking是追踪区域,zone是统计区域(坐标点取值范围,x不能长于图片的宽,y不能大于图片的高) |
| sorce1 | 是 | double | 人框的第一次阈值 例 0.5 (取值范围是(0 - 1)) |
| sorce2 | 是 | double | 人框的第二次阈值 例 0.79 (取值范围是(0 - 1))这个阈值必须比第一个阈值高 |
| frame_interval | 是 | int | 视频几帧进行一次检测例:1-10(建议9。选取的数越小占用的内存越大,视频选取的分辨率越大占用的内存也越大,视频的时长越长占用的内存越大) |
| video_results | 是 | bool | 是否保存结果视频(例:True 保存结果视频 / False 不保存结果视频) |
正常结果实例:

csv文档内容:

csv表格含义详解:
| 参数名称 | 说明 |
|---|---|
| frameNo | 帧号(原视频的帧号) |
| human_id | 人ID |
| min_x | 人追踪框的左上角X |
| min_y | 人追踪框的左上角y |
| max_x | 人追踪框的右下角X |
| max_y | 人追踪框的右下角y |
| cross | 是否通过(1-是 0-否) |
| stationary | 是否停止(1-是 0-否) |
| touch | 是否接触(1-是 0-否) |
| zone | 是否在所画得区域内(1-是 0-否) |
5、错误码
异常码:
| No. | Code值 | 含义 |
|---|---|---|
| 1 | 3001 | 视频文件路径有问题 |
| 2 | 4001 | Roi区域设置有问题 |
| 3 | 5001 | 认证错误 |
| 4 | 6001 | 模型阈值设置有问题 |
| 5 | 7001 | 是否保存视频设置错误 |
| 6 | 8001 | 结果视频文件保存路径有问题 |
| 7 | 9001 | 认证参数传输错误 |
| 8 | 5000 | 检测算法出错报错 |
| 9 | 200 | 认证成功 |
| 10 | 1001 | 检测参数输入合法 |
| 11 | 0 | 检测成功 |
注意:
ROI 区域设置按照顺时针或者逆时针连续设置,视频文件未map4未破损,不满足以上条件,程序检测将报异常,以上条件均满足依旧报错请联系客服处理。