文末联系小编,获取项目源码
YOLO视频AI识别算法管理平台核心是 YOLO v8神经网络模型的推理运算,推理运算涉及操作CPU内存、GPU内存、GPU并行计算等环节,这些环节可通过Python或C++来实现,每隔1分钟将推理结果信息和对应的图片推送到文件服务器MinIO和消息队列RocketMQ,便于开发者获取到推理结果进行业务开发。同时支持基于ONNX的推理运算和基于Tensorrt的加速推理运算两种方式,只需在调用时传递不同参数即可。
YOLO视频AI识别算法管理平台支持Linux和Windows环境,代码自动判断运行的环境并执行对应的.bat或.sh脚本文件以启动AI模型推理,包含前端完整代码和后端完整代码,开箱即用,为Java开发者训练、部署、使用AI模型提供了参考。可实现人、车、火灾烟雾、河道漂浮物、道路裂痕等视频的实时识别,并将识别结果通过 FFmpeg 推流到 ZLMediaKit 流媒体服务器,使得在 Web页面上可以同时查看原始视频和实时计算视频。
YOLO(You Only Look Once)是一种基于深度神经网络的高效、实时的目标检测算法。它将目标检测任务视为一个回归问题,将图像分为多个网格,并预测每个网格中是否包含对象以及对象的边界框和类别,只需要单次前向传播就可以同时完成目标检测和分类,因此具有极高的检测速度,被广泛应用于计算机视觉领域,包括实时视频分析、自动驾驶、安防监控、智能交通、缺陷检测等。
YOLO由网络架构、基础网络、特征提取层、网格划分、边界框预测、非最大抑制和损失函数等组成,从而实现了高效而准确的实时目标检测。YOLO目标检测任务分为四步,分割(Segmentation):定位像素属于哪个目标物或场景;定位(Localization):定位目标位置;分类(Classification):判定目标类别;检测(Detection):判定目标物体是什么。
视频AI识别算法平台架构
YOLO视频AI识别算法管理平台结合了SpringBoot开发Web项目的优势、Python训练调试AI模型的优势、C++在与底层GPU硬件交互和推理运算方面的性能优势、Shell脚本便于调用Linux服务器资源的优势,将不同语言综合一起协调工作,并将项目运行在Docker容器中以便于运维和管理,让Java开发者能够方便训练、部署、使用AI识别算法模型。
开发环境:IDEA、JDK1.8、Maven、Gitlab、Pycharm、Anaconda3
软件架构:Nginx + SpringBoot + Vue + Shell + Python
前端框架:Vue + Nodejs
Web框架:SpringBoot
Orm框架:MyBatis3
数据库:Mysql、Redis、MongoDB
消息队列:RocketMq
文件服务: Minio
代码生成: FreeMarker自动生成后端Java代码和前端Vue代码
CPU设备: Intel(R) Xeon(R) Gold 5218 CPU @ 2.30GHz
GPU设备: Nvidia Tesla T4 16G
AI模型:Yolov8n/Yolov8m
训练环境:Pytorch2.3.0 + Onnxruntime-gpu1.16.1 + Ultralytics8.2.48
推理环境: Cuda11.8 + Cudnn8.6.0 + Tensorrt8.5.1.7 + Onnxruntime-gpu1.16.1
推理加速: Tensorrt8.5.1.7
视频操作:Opencv4.7.0
视频推流: FFmpeg4.2.7
流媒体服务:Zlmediakit
部署环境:Docker + Ubuntu20.04
代码目录结构说明
data/algorithm_model : 算法模型库,提供了作者训练并部署的5个常用算法模型,包括.pt .onnx .engine 三种格式
data/doc : 算法中台接口文档
data/front_code : 项目前端Vue代码
data/linux : linux下的onnx和tensorrt推理运行代码
data/windows : windows下的onnx和tensorrt推理运行代码
data/sql : 项目数据库
src : 项目后端springboot代码
视频AI识别算法平台演示
视频AI识别算法应用场景
如有IoT 源码采购和项目交付需求,请扫码联系小编,微信号: beacon0418
526