使用YOLO5和ONNXRuntime实现塔工安全绳图像识别

📘 开发记录 · 06-04 · 121 人浏览
使用YOLO5和ONNXRuntime实现塔工安全绳图像识别

摘要

在公司最近开发的图像识别模块中,我们专注于识别塔工在上塔过程中是否正确扣好安全绳。经过研究和比较,我们选择了YOLO5作为核心算法,并采用ONNXRuntime在Java环境中进行模型的部署和预测。

选择YOLO5

YOLO5以其出色的性能和准确性在图像识别领域备受推崇。然而,YOLO5原生并不支持Java环境,这给我们的部署带来了挑战。

解决方案:PT到ONNX的转换

为了解决这一问题,我们探索了将YOLO5训练后的PyTorch权重文件(.pt)转换为ONNX格式的方法。这样,我们便能利用Java支持的ONNXRuntime进行模型的加载和预测。

本地环境搭建

我们推荐使用Anaconda来管理Python环境,确保依赖性和版本的一致性。以下是搭建本地环境的步骤:

  1. 安装Anaconda。
  2. 创建名为test的新的yolo测试环境:conda create --name test
  3. 激活yolo环境:conda activate test

转换流程

在环境激活后,进入YOLO5的目录,并执行以下命令来输出ONNX模型:

cd path/to/yolo
python export.py --weights last.pt --include torchscript onnx

识别效果展示

2024-06-27T08:29:06.png
通过上述步骤,我们成功将YOLO5模型转换并部署在Java环境中。下面是模型的识别效果展示,证明了我们解决方案的有效性。

结语

通过这次实践,我们不仅解决了YOLO5在Java环境下部署的问题,还提高了塔工安全绳识别的准确性和效率。我们期待这一模块能够在实际应用中发挥重要作用,保障塔工的安全。


java
Under CC BY NC-SA License.
Powered by Typecho | Theme by Jasmine
您是第 10200 位访客