原理讲解-项目实战 <-> DeepSORT算法实现车辆和行人跟踪计数和是否道路违规检测...

点击上方码农的后花园”,选择星标” 公众号

精选文章,第一时间送达

上一期中我们讲解了多目标跟踪算法DeepSORT算法的原理实现,今天就给大家带来基于Yolo算法和DeepSORT算法实现智能交通场景下车辆和行人跟踪计数和车辆是否道路违规检测的落地项目。


往期回顾:

多目标跟踪(Multi-Object-Tracking)入门

原理讲解-项目实战 <-> 多目标跟踪算法之DeepSORT

9d19a5687ebf86b6f0d35bf0f1446fc2.png

   1 场景背景提取

f2be664e52efcb561b17dec0e303cc10.png

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

原理讲解-项目实战 <-> DeepSORT算法实现车辆和行人跟踪计数和是否道路违规检测..._第1张图片

9dd67c97b3811f764f14afe55380076c.png

2 车道线和斑马线标定

d1a8d193c180cf343780c51660e88369.png

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

原理讲解-项目实战 <-> DeepSORT算法实现车辆和行人跟踪计数和是否道路违规检测..._第2张图片

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

7ac278889e6bf585e812335bd816a760.png

3 车牌识别

c2b18fa858e31c0a70127e3d1fb81e2e.png

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

原理讲解-项目实战 <-> DeepSORT算法实现车辆和行人跟踪计数和是否道路违规检测..._第3张图片

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

10e2a57e20cc0d26c27cf42c34169d2d.png

4 车辆越实线、不礼让行人检测

f7fca8f4cbec35e3837651f7438198ca.png

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

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

环境

  • python==3.6

  • opencv-python==3.4.9.33

  • tensorflow-gpu or tensorflow-cpu 2.0.1

reference:

https://blog.csdn.net/fuhao7i/article/details/112910577

精彩推荐:

原理讲解-项目实战 <-> Mtcnn + Facenet 搭建人脸识别平台(中奖名单公示)

原理讲解-项目实战 <-> Keras搭建Mtcnn人脸检测平台

Yolov3算法实现社交距离安全检测项目讲解和实战(Social Distance Detector)

万字长文,用代码的思想讲解Yolo3算法实现原理,Visdrone数据集和自己制作数据集两种方式在Pytorch训练Yolo模型

原理讲解-项目实战 <-> DeepSORT算法实现车辆和行人跟踪计数和是否道路违规检测..._第4张图片

更多优质内容?等你点在看

原理讲解-项目实战 <-> DeepSORT算法实现车辆和行人跟踪计数和是否道路违规检测..._第5张图片

你可能感兴趣的:(算法,python,人工智能,编程语言,java)