2022下半年一个项目,我司研发一个基于接收小视频录像文件和图片进行算法分析抓拍的系统,整理了一下主要思想如下:
采用C++开发一个AI识别服务,该服务具有如下功能:
- 创建各类算法模型服务引擎池,每类池内可加载多个模型。
- 创建一个视频解码服务池(支持各类视频文件解码),接收小视频文件入池解码,解码支持mp4,avi等常规文件格式
- 创建算法场景分析规则池,解码后的图像传入算法规则池内,池内加载多个算法并行分析,如骑车不戴头盔识别、农用车载人识别、打电话识别、抽烟识别、闯红灯识别、未穿反光衣识别、未戴安全帽识别、人体结构化识别、车辆结构化识别、特定车辆类型识别、打架识别、弯腰识别、未系安全带识别、倒地识别、车牌识别、人脸识别、人群聚集识别、车辆拥堵识别、车辆违停识别等,解码后的视频图像帧传入场景规则池后分别进入各场景算法规则服务内运行产生抓拍事件,抓拍事件包括图片、时间、地点、事件类别等信息;同时支持图片方式入池识别。
- 创建一个事件推送服务(http post),经算法分析产生抓拍事件后,采用 http post方式将事件封装成json字符串推送到第三方平台,由第三方平台存储和管理事件并由大数据中台看板展示出来。
- 创建一个http API 服务,设定一个接口,由第三方平台调用此接口传入小视频文件或图片,传入的文件控制在 1-128Mb以内
- 准备一台服务器承载以上程序,内置支持100个并发运算单元(采用的配置:E5 2687WV4*2,64GB内存,2TB SSD固态硬盘,RTX 2080ti GPU)
该系统经过一年在线运行,稳定可靠,算法模型经过迭代训练后,识别率稳定在99%以上,误检率低于1000分之1,成功运用在农村道路安全整治项目上。
发送小视频到服务的DEMO程序示例