Skip to content

Ahzyuan/BS_thesis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

基于YoLoV5的车辆自动礼让行人算法研究

1. 项目背景:

  • 该项目为本人(hzy,201921610108,SCAU)的本科毕设项目

  • 总的来说,本项目是一种可根据实时交通场景状况,控制车辆制动系统,从而促使车辆自动礼让行人的驾驶辅助算法。其具体步骤如下:

    • 以实时行车视频为输入,通过YoLoV5目标检测模型从画面中定位所有的行人、斑马线及交通灯。
    • 接着按照预定的目标分类方法,将所有定位目标分为各类最近目标、可忽略目标及其余目标,分别用不同颜色显示在画面中。
    • 针对最近目标,通过预先标定得到的相机内参矩阵进行视觉测距。
    • 根据测距值及最近目标类别产生不制动、减速通过及在一定距离前制动三种制动决策。
    • 最后利用测距值预估车速,计算车辆当前完成礼让行为所需的制动减速度输出。
    • 设计了tkinter GUI 呈现算法步骤与结果。

2. 项目部署

  1. 下载项目压缩包至本地
  2. 安装python依赖: pip install -r requirements.txt
  3. 对于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训练脚本,进行训练即可。
  1. 对于相机内参矩阵:
  • 本项目以提供标定好的文件,为Main/camera_calibration/intri_mat.npy
  • 若想体验后续GUI中的在线标定功能,可下载Main/camera_calibration/img_dir中链接,将下载图片放在img_dir文件夹即可。注意图片由本人拍摄,请勿上传网络。
  1. 对于Main文件夹:
  • 保持Main下的文件目录,不要删除任何一个文件或将其移动到其他地方。
  • 需要根据本地路径,修改Main/__init__.py、Main/models/__init__.py、Main/utils/__init__.py内路径,否则GUI无法调用YoLoV5。
  1. 在项目根目录下,运行主程序gui.py即可,程序支持图像、视频、摄像头输入,但若想要检测到东西,输入内容需包含人、斑马线或交通灯。其他各种按钮与设置可自行体验。
  2. 需要说明的是,在GUI中首次加载YoLoV5模型会稍微卡顿,请耐心等待,之后再次调用就会流畅了。