基于AidLux的项目实战之 智能预警在AidLux上的部署与应用

1.YOLOP模型onnx转换部署

YOLOP导出onnx模型

执行命令:

python3 export_onnx.py --height 640 --width 640

执行完成后,会在weights文件夹下生成转换成功的onnx模型

《基于AidLux的自动驾驶智能预警应用方案》_预处理

2.AidLux模型转换工具Al Model Optimizer

通过该工具对onnx模型转换成pt模型

《基于AidLux的自动驾驶智能预警应用方案》_python_02

3.YOLOP模型在AidLux上部署与应用

将项目上传到home文件夹,执行命令: pip install -r requirements.txt安装依赖环境,并通过demo.py验证推理效果。

《基于AidLux的自动驾驶智能预警应用方案》_预处理_03

4.智能预警系统代码实战

智能预警系统包含3个任务:目标检测,可行驶区域检测,车道线检测

1.输入:读取视频图像作为输入,图像尺寸1920*1080

《基于AidLux的自动驾驶智能预警应用方案》_python_04

2.预处理

2.1 将输入尺寸19201080 resize+padding到640640

2.2 归一化

2.3 6406403 -->13640*640

3.使用onnx模型进行推理

读取模型-->准备数据-->推理

得到det_out, da_seg_out, ll_seg_out,shape分别为:(1,n,6)(1,2,640,640)(1,2,640,640)

4.后处理

4.1将检测结果,可行驶区域检测结果,车道线检测结果,合并到一张图像上,分别用不同的颜色标记出来4.2将检测的帧数,帧率,车辆数等信息显示在图像上

《基于AidLux的自动驾驶智能预警应用方案》_预处理_05

5.输出

获取最终融合的图像,并保存成视频,图像尺寸、帧率、编码是原视频尺寸、帧率和编码

《基于AidLux的自动驾驶智能预警应用方案》_预处理_06

实战视频效果见下方链接

https://www.bilibili.com/video/BV1VF411o7qG/?vd_source=5d3ae1cbed185c1432e0f3004ca324fc