-
该项目为本人(hzy,201921610108,SCAU)的本科毕设项目
-
总的来说,本项目是一种可根据实时交通场景状况,控制车辆制动系统,从而促使车辆自动礼让行人的驾驶辅助算法。其具体步骤如下:
- 以实时行车视频为输入,通过YoLoV5目标检测模型从画面中定位所有的行人、斑马线及交通灯。
- 接着按照预定的目标分类方法,将所有定位目标分为各类最近目标、可忽略目标及其余目标,分别用不同颜色显示在画面中。
- 针对最近目标,通过预先标定得到的相机内参矩阵进行视觉测距。
- 根据测距值及最近目标类别产生不制动、减速通过及在一定距离前制动三种制动决策。
- 最后利用测距值预估车速,计算车辆当前完成礼让行为所需的制动减速度输出。
- 设计了tkinter GUI 呈现算法步骤与结果。
- 下载项目压缩包至本地
- 安装python依赖: pip install -r requirements.txt
- 对于YoLoV5:
- 针对无训练条件或意向者,本研究提供了imgsz=320、480、640及1088的训练权重,其中480、640效果已经较好,可以直接加载至模型进行目标检测。
- 针对想自己训练YoLoV5者:
- 可在yolov5/TPZ_VOCdevkit中下载已随机二八划分好的数据集;或在Dataset/pick_img中下载原始图片,结合Dataset/labels标注,利用Dataset/yolo_dataset_generator.py产生随机二八划分的数据集
- 按照 https://blog.csdn.net/didiaopao/article/details/119954291 配置YoLoV5训练脚本,进行训练即可。
- 对于相机内参矩阵:
- 本项目以提供标定好的文件,为Main/camera_calibration/intri_mat.npy
- 若想体验后续GUI中的在线标定功能,可下载Main/camera_calibration/img_dir中链接,将下载图片放在img_dir文件夹即可。注意图片由本人拍摄,请勿上传网络。
- 对于Main文件夹:
- 保持Main下的文件目录,不要删除任何一个文件或将其移动到其他地方。
- 需要根据本地路径,修改Main/__init__.py、Main/models/__init__.py、Main/utils/__init__.py内路径,否则GUI无法调用YoLoV5。
- 在项目根目录下,运行主程序gui.py即可,程序支持图像、视频、摄像头输入,但若想要检测到东西,输入内容需包含人、斑马线或交通灯。其他各种按钮与设置可自行体验。
- 需要说明的是,在GUI中首次加载YoLoV5模型会稍微卡顿,请耐心等待,之后再次调用就会流畅了。