#yyds干货盘点#项目实战 <-; DeepSORT算法实现车辆和行人跟踪计数和是否道路违规检测

仰天大笑出门去,我辈岂是蓬蒿人。这篇文章主要讲述#yyds干货盘点#项目实战 < -; DeepSORT算法实现车辆和行人跟踪计数和是否道路违规检测相关的知识,希望能为你提供帮助。
上一期中我们讲解了多目标跟踪算法DeepSORT算法的原理实现,今天就给大家带来基于Yolo算法和DeepSORT算法实现智能交通场景下车辆和行人跟踪计数和车辆是否道路违规检测的落地项目。


往期回顾:
??多目标跟踪(Multi-Object-Tracking)入门??
??原理讲解-项目实战 < -> 多目标跟踪算法之DeepSORT??


1场景背景提取
此处面对的场景是是交通摄像头下的马路场景,数据格式为视频流或者视频,所以我们要提取视频的第一帧作为背景来进行车道线的标定,运行提取背景.py即可提取第一帧背景图片。



根据第一步提取的场景背景图片,进行道路信息的标定,并返回道路信息的相关参数。


2 车道线和斑马线标定
?



标定的方式是运行车道线标定.py,先鼠标在背景图片上从左至右依次点击红色的两边的车道线实线,然后鼠标再依次在背景图片点击斑马线绿色框的从左至右四个顶点。这样就可以将斑马线和车道线的位置信息进行提取了,项目目录下会生成如上图标记好了的的out.png。




3  车牌识别


车牌号使用车牌号的识别是从车辆出现在画面的第一帧开始,一直到车辆消失在画面中。我们并不能事先确定在哪一帧对车牌的识别效果最好。因此,我们在车辆出现的第一帧,就将它的id和车牌信息传入字典chepaixinxi保存起来。如果当前帧比之前的识别效果都好(置信度高),我们就用它替换之前的车牌信息。另一方面,为了节省计算资源,只要是该车在某一帧的车牌置信度高于0.9,我们就不再将其传入车牌识别模块,运行LPR.py即可提取车牌信息,提取效果如下图所示。
?



车牌识别使用HyperLPR,HyperLPR是一个基于深度学习的高性能中文车牌识别开源项目。开源地址  https://github.com/zeusees/HyperLPR,由python语言编写,同时还支持Linux、android、ios、Windows等各主流平台。它拥有不错的识别率。


?
4  车辆越实线、不礼让行人检测
?
我们将车辆在上一帧的检测位置保存下来。如果车辆在上一帧的位置和在这一帧的位置分别位于车道线实线的两侧,或者落在了实线上,我们就判定车辆非法越实线了。行人在斑马线上时,车辆也在斑马线上 ==> 车辆不礼让行人,运行效果图:



代码下载,后台回复:项目实战,代码即可获取下载使用。
环境

  • python==3.6
  • opencv-python==3.4.9.33
  • tensorflow-gpu or tensorflow-cpu 2.0.1
reference:
【#yyds干货盘点#项目实战 < -; DeepSORT算法实现车辆和行人跟踪计数和是否道路违规检测】https://blog.csdn.net/fuhao7i/article/details/112910577

    推荐阅读