YOLOV3—进行车辆检测
目录
- 数据集的准备
1.数据集的介绍及下载;
2.数据集格式转换----转换为VOC数据格式; - Yolov3相关代码的调整
- 开始训练
- 模型测试
一. 数据集的准备
1.数据集介绍:UA-DETRAC
数据集主要拍摄于北京和天津的道路过街天桥,多为摄像头俯视视角;
数据集:
DETRAC-Train-Images (5.22GB, 60 sequences)
DETRAC-Test-Images (3.94GB, 40 sequences)
DETRAC-Train-Annotations-XML
2.数据集格式转换----转换为VOC格式(该部分来自于CSDN搜索,链接:
https://blog.csdn.net/w5688414/article/details/78931910 感谢大佬的分享,若该部分书写有涉及侵权,将立即删除)
代码共分为三个部分:(代码使用过程中请注意相关数据集的路径问题
)
第一部分:从数据提供的XML文件中,提取出每张图片voc格式的xml文件,代码为DETRAC_xmlParser.py
;
第二部分:根据生成的XML文件,迁移相应的图片到目标目录中。代码为voc_data_migrate.py
,图片和XML文件生成后,按照VOC数据格式的目录结构来制作该数据;
第三部分:利用代码ImageSets_Convert.py
, 产生trainval.txt,test.txt,train.txt,val.txt
文件;
二. YOLOV3相关代码的调整
1. 实现算法在该数据集上的训练,需要修改三份文件,分别为:
cfg目录下的网络配置文件:**.cfg
文件、.data
文件;
data目录下的 .names
文件;
具体的修改方法如下文所示;
yolov3.cfg
文件的修改,共计三处
需要修改,改完后在同一目录下另存为car.cfg
:
由于我们只需要做一类目标的检测,因此,class数量为1
, 需注意:模型训练的batch以及subdivision
请依据自己硬件水平来调整;
修改的代码为:
(第一部分)
[convolutional]
size=1
stride=1
pad=1
filters=18 ##255 f=3*(class+5)
activation=linear
[yolo]
mask = 6,7,8
achors=10,13, 16,30, 33,23, 30,61, 62, 45, 50.119, 116,90, 156,198, 373,326
classes=1 ##80
num=9
jitter=.3
ignore_thresh=.7
truth_thresh=1
random=1
(第二部分)
[convolutional]
size=1
stride=1
pad=1
filters=18 ##255 f=3*(class+5)
activation=linear
[yolo]
mask = 3,4,5
achors=10,13, 16,30, 33,23, 30,61, 62, 45, 50.119, 116,90, 156,198, 373,326
classes=1 ##80
num=9
jitter=.3
ignore_thresh=.7
truth_thresh=1
random=1
(第三部分)
[convolutional]
size=1
stride=1
pad=1
filters=18 ##255 f=3*(class+5)
activation=linear
[yolo]
mask = 0,1,2
achors=10,13, 16,30, 33,23, 30,61, 62, 45, 50.119, 116,90, 156,198, 373,326
classes=1 ##80
num=9
jitter=.3
ignore_thresh=.7
truth_thresh=1
random=1
voc.data
文件的修改(同级目录下另存为car.data
):
classes = 1
train = /your/train/data/train.txt
valid = /your/train/data/test.txt
names = data/car.names
backup = backup
data目录下.names文件的修改:
新建一个names文件car.names
,文件内容为:
car
三. 开始模型的训练
此部分可参考Darknet官网的教程
1. darknet官网下载预训练model---- darknet53.conv.74
2. 开始训练模型
在终端内输入指令
./darknet detector train cfg/car.data cfg/car.cfg darknet53.conv.74 -gpu 0,1
四. 模型效果测试
模型的实际检测效果相对不错,yolo还是很强大的;
Ps:由于数据的拍摄都属于道路监控类型的角度,因此本人训练出来的模型对于该角度的车辆检测效果还是很不错的,但是,其他角度的检测效果还有提升空间;
总结:该博客仅供参考,属于个人学习经验,有不足之处请多多谅解,互相交流,学习。
YOLOV3—进行车辆检测相关推荐
- PaddleX助力无人驾驶:基于YOLOv3的车辆检测和车道线分割实战
[飞桨开发者说]梁瑛平,北京理工大学徐特立学院本科二年级,人工智能开发爱好者. 项目简介 无人驾驶汽车利用传感器技术.信号处理技术.通讯技术和计算机技术等,通过集成视觉.激光雷达.超声传感器.微波雷达 ...
- 六一大放送: AI Studio精选用户项目推荐榜单
前菜 AI Studio经过一年多的建设,现已累计了数以万计的优质项目和数据集,首先感谢大家伴随我们成长~ 上次给大家推荐了PaddleCV方向精选项目合集,收到了大家的些许表扬,本次呢再接再厉,给大 ...
- 基于 YOLOV3的交通车辆检测
简 介: 近年来,深度学习在交通安全.无人驾驶等领域被广泛研究与应用,而车辆检测作为其中不可或缺的一环,被人们所重点关注.本文基于YOLOV3 网络对其不同骨网进行了训练与分析,最终实现了对交通车辆的 ...
- 【深度学习入门】Paddle实现车辆检测和车辆类型识别(基于YOLOv3和ResNet18)
Paddle实现车辆检测和车辆类型识别(基于YOLOv3和ResNet18) 未经作者允许,本文禁止转载 一. PaddleDetection 简介: 二. 配置环境并安装 Paddle: 三. 安装 ...
- 车牌识别,车辆检测,车牌检测和识别,与车相关的点点滴滴
前言: 最近接到了几个单子,都是和车辆有关的,其中有车辆检测,还有车牌检测和识别等,与车相关的,这里就是总结下自己所了解到的相关技术,同时备份到自己的网盘将代码. 车辆检测 车辆检测,车辆检测是一个老 ...
- 读论文-基于循环gan特征增强的夜间车辆检测 Feature Enhancement Based on CycleGAN forNighttime Vehicle Detection
摘要 现有的夜间车辆检测方法主要是通过检测前灯或尾灯来检测车辆.然而,复杂的道路照明环境对这些特性产生了不利的影响.本文提出了一种具有特征转换增强(feature translate enhancem ...
- 基于UA-DETRAC车辆数据集在windows10系统下yolov3模型训练
数据集:DETRAC UA-DETRAC数据集来自于北京和天津不同的24个区域道路的监控中的截图,且为车辆的俯拍角度,适用于城市的道路监控. 链接:https://pan.baidu.com/s/1H ...
- 车流量检测实现:多目标追踪、卡尔曼滤波器、匈牙利算法、SORT/DeepSORT、yoloV3、虚拟线圈法、交并比IOU计算
日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) CNN:RCNN.SPPNet.Fast RCNN.Faste ...
- 视觉感知——深度学习之YOLOv3算法
视觉感知--深度学习之YOLOv3算法 1. 传感器融合 2. 深度学习算法 2.1 卷积神经网络CNN 2.2 YOLO算法 3. YOLO v3算法实践 3.1 官方数据集参考 3.2 环境配置 ...
最新文章
- 汇总|精选CVPR开源项目学习资源
- 基于 KubeVela 的 GitOps 交付
- VS2017中的附加到进程
- 关于Struts+Spring+Hibernate的理解
- Yii 文件上传类的使用
- html 定位z_index,绝对定位、固定定位和z-index
- 支持javascript的ppt软件_强大CSS3的3D幻灯片工具reveal.js(推荐)
- Runtime之消息转发
- Django搭建个人博客:改写View视图
- Android 批量修改文件格式/文件名的骚操作
- stm32打怪升级之再见闪烁灯
- typora使用smms图床
- 如何使用 scp 将文件夹从远程复制到本地?
- Spring事务管理案例
- Express文件表单解析中间件 Multer简介
- 教练技术四个计划性问题在用户故事中的使用
- VMware12卸载之后安装其他版本导致回滚操作的解决方法之一
- 获取Webshell的常用方法(一)
- 一篇文章快速了解【无线电波如何传播】射频篇
- MySQL数据库的性能的影响分析及优化