当前位置:   article > 正文

最新YOLOv5 车辆检测+车辆跟踪+车牌识别+属性识别+违章停车识别 代码、教程、步骤、_yolov5违章停车

yolov5违章停车

本文源码:这个源码可同时实现五个功能icon-default.png?t=N7T8http://www.hedaoapp.com/goods/goodsDetails?pid=4132

车牌识别视频

yolov5车辆识别视频

yolov5车牌识别+车辆识别

目录

环境准备:

配置文件说明:

预测部署:

Jetson部署说明:

参数说明:


环境准备:

环境要求: PaddleDetection版本 >= release/2.5 或 develop版本

PaddlePaddle和PaddleDetection安装

# PaddlePaddle CUDA10.1
python -m pip install paddlepaddle-gpu==2.2.2.post101 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html

# PaddlePaddle CPU
python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple

# 克隆PaddleDetection仓库
cd <path/to/clone/PaddleDetection>
git clone https://github.com/PaddlePaddle/PaddleDetection.git

# 安装其他依赖
cd PaddleDetection
pip install -r requirements.txt

配置文件说明:

P-Vehicle相关配置位于deploy/pipeline/config/infer_cfg_ppvehicle.yml中,存放模型路径,完成不同功能需要设置不同的任务类型

功能及任务类型对应表单如下:

输入类型功能任务类型配置项
图片属性识别目标检测 属性识别DET ATTR
单镜头视频属性识别多目标跟踪 属性识别MOT ATTR
单镜头视频车牌识别多目标跟踪 车牌识别

MOT VEHICLEPLATE

例如基于视频输入的属性识别,任务类型包含多目标跟踪和属性识别,具体配置如下:

  1. crop_thresh: 0.5
  2. visual: True
  3. warmup_frame: 50
  4. MOT:
  5. model_dir: https://bj.bcebos.com/v1/paddledet/models/pipeline/mot_ppyoloe_l_36e_ppvehicle.zip
  6. tracker_config: deploy/pipeline/config/tracker_config.yml
  7. batch_size: 1
  8. enable: True
  9. VEHICLE_ATTR:
  10. model_dir: https://bj.bcebos.com/v1/paddledet/models/pipeline/vehicle_attribute_model.zip
  11. batch_size: 8
  12. color_threshold: 0.5
  13. type_threshold: 0.5
  14. enable: True

注意:

  • 如果用户需要实现不同任务,可以在配置文件对应enable选项设置为True。
  • 如果用户仅需要修改模型文件路径,可以在命令行中--config后面紧跟着 -o MOT.model_dir=ppyoloe/ 进行修改即可,也可以手动修改配置文件中的相应模型路径,详细说明参考下方参数说明文档。

预测部署:

1.直接使用默认配置或者examples中配置文件,或者直接在infer_cfg_ppvehicle.yml中修改配置:

# 例:车辆检测,指定配置文件路径和测试图片
python deploy/pipeline/pipeline.py --config deploy/pipeline/config/infer_cfg_ppvehicle.yml --image_file=test_image.jpg --device=gpu

# 例:车辆车牌识别,指定配置文件路径和测试视频
python deploy/pipeline/pipeline.py --config deploy/pipeline/config/examples/infer_cfg_vehicle_plate.yml --video_file=test_video.mp4 --device=gpu

2.使用命令行进行功能开启,或者模型路径修改:

# 例:车辆跟踪,指定配置文件路径和测试视频,命令行中开启MOT模型并修改模型路径,命令行中指定的模型路径优先级高于配置文件
python deploy/pipeline/pipeline.py --config deploy/pipeline/config/infer_cfg_ppvehicle.yml -o MOT.enable=True MOT.model_dir=ppyoloe_infer/ --video_file=test_video.mp4 --device=gpu

# 例:车辆违章分析,指定配置文件和测试视频,命令行中指定违停区域设置、违停时间判断。
python deploy/pipeline/pipeline.py --config deploy/pipeline/config/examples/infer_cfg_illegal_parking.yml \
                                                   --video_file=../car_test.mov \
                                                   --device=gpu \
                                                   --draw_center_traj \
                                                   --illegal_parking_time=3 \
                                                   --region_type=custom \
                                                   --region_polygon 600 300 1300 300 1300 800 600 800
 

3.rtsp推拉流

对rtsp拉流的支持,使用--rtsp RTSP [RTSP ...]参数指定一路或者多路rtsp视频流,如果是多路地址中间用空格隔开。(或者video_file后面的视频地址直接更换为rtsp流地址),示例如下:

  1. # 例:车辆属性识别,单路视频流
  2. python deploy/pipeline/pipeline.py --config deploy/pipeline/config/examples/infer_cfg_vehicle_attr.yml -o visual=False --rtsp rtsp://[YOUR_RTSP_SITE] --device=gpu
  3. # 例:车辆属性识别,多路视频流
  4. python deploy/pipeline/pipeline.py --config deploy/pipeline/config/examples/infer_cfg_vehicle_attr.yml -o visual=False --rtsp rtsp://[YOUR_RTSP_SITE1] rtsp://[YOUR_RTSP_SITE2] --device=gpu
  • 视频结果推流rtsp

预测结果进行rtsp推流,使用--pushurl rtsp:[IP] 推流到IP地址端,PC端可以使用VLC播放器打开网络流进行播放,播放地址为 rtsp:[IP]/videoname。其中videoname是预测的视频文件名,如果视频来源是本地摄像头则videoname默认为output.

  1. # 例:车辆属性识别,单路视频流,该示例播放地址为 rtsp://[YOUR_SERVER_IP]:8554/test_video
  2. python deploy/pipeline/pipeline.py --config deploy/pipeline/config/examples/infer_cfg_vehicle_attr.yml -o visual=False --video_file=test_video.mp4 --device=gpu --pushurl rtsp://[YOUR_SERVER_IP]:8554

rtsp推流如果模型处理速度跟不上会出现很明显的卡顿现象,建议跟踪模型使用ppyoloe_s版本,即修改配置中跟踪模型mot_ppyoloe_l_36e_pipeline.zip替换为mot_ppyoloe_s_36e_pipeline.zip。

Jetson部署说明:

由于Jetson平台算力相比服务器有较大差距,有如下使用建议:

  1. 模型选择轻量级版本,特别是跟踪模型,推荐使用ppyoloe_s: https://bj.bcebos.com/v1/paddledet/models/pipeline/mot_ppyoloe_s_36e_pipeline.zip
  2. 开启跟踪跳帧功能,推荐使用2或者3. skip_frame_num: 3

使用该推荐配置,在TX2平台上可以达到较高速率,经测试属性案例达到20fps。

可以直接修改配置文件(推荐),也可以在命令行中修改(字段较长,不推荐)。

参数说明:

参数是否必须含义
--configYes配置文件路径
-oOption覆盖配置文件中对应的配置
--image_fileOption需要预测的图片
--image_dirOption要预测的图片文件夹路径
--video_fileOption需要预测的视频,或者rtsp流地址
--rtspOptionrtsp视频流地址,支持一路或者多路同时输入
--camera_idOption用来预测的摄像头ID,默认为-1(表示不使用摄像头预测,可设置为:0 - (摄像头数目-1) ),预测过程中在可视化界面按q退出输出预测结果到:output/output.mp4
--deviceOption运行时的设备,可选择CPU/GPU/XPU,默认为CPU
--pushurlOption对预测结果视频进行推流的地址,以rtsp://开头,该选项优先级高于视频结果本地存储,打开时不再另外存储本地预测结果视频, 默认为空,表示没有开启
--output_dirOption可视化结果保存的根目录,默认为output/
--run_modeOption使用GPU时,默认为paddle, 可选(paddle/trt_fp32/trt_fp16/trt_int8)
--enable_mkldnnOptionCPU预测中是否开启MKLDNN加速,默认为False
--cpu_threadsOption设置cpu线程数,默认为1
--trt_calib_modeOptionTensorRT是否使用校准功能,默认为False。使用TensorRT的int8功能时,需设置为True,使用PaddleSlim量化后的模型时需要设置为False
--do_entrance_countingOption是否统计出入口流量,默认为False
--draw_center_trajOption是否绘制跟踪轨迹,默认为False
--region_typeOption'horizontal'(默认值)、'vertical':表示流量统计方向选择;'custom':表示设置车辆禁停区域
--region_polygonOption设置禁停区域多边形多点的坐标,无默认值
--illegal_parking_timeOption设置禁停时间阈值,单位秒(s),-1(默认值)表示不做检查

方案介绍: 

最后给大家推荐一个毕设专栏,还有几百个机器学习、深度学习、人工智能项目:

https://blog.csdn.net/m0_68036862/category_12294299.htmlicon-default.png?t=N7T8https://blog.csdn.net/m0_68036862/category_12294299.html

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号