基于Java开发的全能视觉智能识别项目 纯java 调用 yolo onnx 模型 AI 视频 识别 支持 yolov5 yolov8 yolov7 yolov9 yolov10,包含 预处理 和 后处理 。java 目标检测 目标识别,可集成 rtsp rtmp
环境- master分支:面向过程写法(便于大家看懂),dp分支:面向对象写法。第一次先运行master分支代码
- 只需要java环境不需要安装其它!JDK大于等于11,不能用1.8。 代码目录不能含有中文!
- maven源记得改为国内源,否则下载依赖需要2天。
- CPU建议i7 12代以上,自己测试可以不用GPU,实际项目必须GPU,尽量3060以上(图片检测无所谓,视频流实时检测必须GPU)
- 本项目相当于最基础工具处理方法,不包含和结合业务逻辑,项目使用时视频流需要多线程,队列等等,需要自己处理。
- 不包含视频流处理以及存储,转发等功能,具体实现搜索关键字:流媒体服务器,rtmp 等等。 思路如下:一个线程拉流,一个或多个线程识别,一个线程推流,一个现成告警,一个共变量存储最新画面防止堆积或者使用多个队列,待识别图像队列,待合成视频队列,告警消息队列等,拉流线程只负责更新最新画面,识别线程只负责识别最新画面,识别后放到队列等待推流线程推流(注意帧率)
看不懂代码也要先运行,直接运行不会报错- 下载代码可直接运行主文件:CameraDetection.java(优先运行),ObjectDetection_1_25200_n.java , ObjectDetection_n_7.java,ObjectDetection_1_n_8400.java 都 可以直接运行不会报错
- CameraDetection.java,是实时视频流识别检测,也可直接运行,三个文件完全独立,不互相依赖,如果有GPU帧率会更高,需要开启调用GPU。images目录下有视频文件也可以改为路径预览视频识别效果,根据视频实时识别demo,其他文件都可以改为实时识别
- 多个主文件是为了支持不用网络结构的模型,即使是onnx模型,输出的结果参数也不一样,目前支持三种结构,下面有讲解
- 可以封装为http controller api接口,也可以结合摄像头实时分析视频流,进行识别后预览和告警
- 支持yolov7 , yolov5和yolov8,paddlepaddle,mindspore后处理稍微改一下也可以支持, 代码中自带的onnx模型仅仅为了演示,准确率非常低,实际应用需要自己训练
- 训练出来的模型成为基础模型,可以用于测试。生产环境的模型需要经过模型压缩,量化,剪枝,蒸馏,才可以使用(当然这不是java开发者的工作)。会提升视频华民啊帧率达到60-120帧左右。
- 视频流检测用小模型,接口图片检测用大模型
- 替换model目录下的onnx模型文件,可以识别检测任何物体(烟火,跌倒,抽烟,安全帽,口罩,人,打架,计数,攀爬,垃圾,开关,状态,分类,农作物,害虫识别,等等),有模型即可
- 模型不是onnx格式怎么办?不要紧张,主流AI框架模型都可以转为onnx格式。怎么转?自己搜!
ONNX
Open Neural Network Exchange(ONNX,开放神经网络交换)格式,是一个用于表示深度学习模型的标准,可使模型在不同框架之间进行转移. 是一种针对机器学习所设计的开放式的文件格式,用于存储训练好的模型。它使得不同的人工智能框架(如Pytorch,TensorFlow,PaddlePaddle,MXNet)可以采用相同格式存储模型数据并交互。 使用GPU前提- 对于图片处理,不是必须使用GPU,处理视频建议使用
- 更新显卡驱动,显卡驱动一定要最新版本
- 安装对应版本的:cuda 和 cudnn,版本需要和自己电脑上的GPU型号对应,和项目无关
- 并测试是否安装成功,一定要测试: nvcc -V
- 版本不要高于:cuda11.8
- 安装环境要有耐心,初学者可能需要2周左右才能安装好,别着急
基于Java开发的全能视觉智能识别项目,可集成 rtsp rtmp
基于Java开发的全能视觉智能识别项目,可集成 rtsp rtmp
基于Java开发的全能视觉智能识别项目,可集成 rtsp rtmp
中文解决方案
基于Java开发的全能视觉智能识别项目,可集成 rtsp rtmp
基于Java开发的全能视觉智能识别项目,可集成 rtsp rtmp
基于Java开发的全能视觉智能识别项目,可集成 rtsp rtmp
基于Java开发的全能视觉智能识别项目,可集成 rtsp rtmp
基于Java开发的全能视觉智能识别项目,可集成 rtsp rtmp
基于Java开发的全能视觉智能识别项目,可集成 rtsp rtmp
基于Java开发的全能视觉智能识别项目,可集成 rtsp rtmp
基于Java开发的全能视觉智能识别项目,可集成 rtsp rtmp
基于Java开发的全能视觉智能识别项目,可集成 rtsp rtmp
基于Java开发的全能视觉智能识别项目,可集成 rtsp rtmp
基于Java开发的全能视觉智能识别项目,可集成 rtsp rtmp
基于Java开发的全能视觉智能识别项目,可集成 rtsp rtmp
基于Java开发的全能视觉智能识别项目,可集成 rtsp rtmp
游客,本帖隐藏的内容需要积分高于 2 才可浏览,您当前积分为 0
提取码下载:
|