目录

  1. 数据集的准备
    1.数据集的介绍及下载;
    2.数据集格式转换----转换为VOC数据格式;
  2. Yolov3相关代码的调整
  3. 开始训练
  4. 模型测试

一. 数据集的准备

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—进行车辆检测相关推荐

  1. PaddleX助力无人驾驶:基于YOLOv3的车辆检测和车道线分割实战

    [飞桨开发者说]梁瑛平,北京理工大学徐特立学院本科二年级,人工智能开发爱好者. 项目简介 无人驾驶汽车利用传感器技术.信号处理技术.通讯技术和计算机技术等,通过集成视觉.激光雷达.超声传感器.微波雷达 ...

  2. 六一大放送: AI Studio精选用户项目推荐榜单

    前菜 AI Studio经过一年多的建设,现已累计了数以万计的优质项目和数据集,首先感谢大家伴随我们成长~ 上次给大家推荐了PaddleCV方向精选项目合集,收到了大家的些许表扬,本次呢再接再厉,给大 ...

  3. 基于 YOLOV3的交通车辆检测

    简 介: 近年来,深度学习在交通安全.无人驾驶等领域被广泛研究与应用,而车辆检测作为其中不可或缺的一环,被人们所重点关注.本文基于YOLOV3 网络对其不同骨网进行了训练与分析,最终实现了对交通车辆的 ...

  4. 【深度学习入门】Paddle实现车辆检测和车辆类型识别(基于YOLOv3和ResNet18)

    Paddle实现车辆检测和车辆类型识别(基于YOLOv3和ResNet18) 未经作者允许,本文禁止转载 一. PaddleDetection 简介: 二. 配置环境并安装 Paddle: 三. 安装 ...

  5. 车牌识别,车辆检测,车牌检测和识别,与车相关的点点滴滴

    前言: 最近接到了几个单子,都是和车辆有关的,其中有车辆检测,还有车牌检测和识别等,与车相关的,这里就是总结下自己所了解到的相关技术,同时备份到自己的网盘将代码. 车辆检测 车辆检测,车辆检测是一个老 ...

  6. 读论文-基于循环gan特征增强的夜间车辆检测 Feature Enhancement Based on CycleGAN forNighttime Vehicle Detection

    摘要 现有的夜间车辆检测方法主要是通过检测前灯或尾灯来检测车辆.然而,复杂的道路照明环境对这些特性产生了不利的影响.本文提出了一种具有特征转换增强(feature translate enhancem ...

  7. 基于UA-DETRAC车辆数据集在windows10系统下yolov3模型训练

    数据集:DETRAC UA-DETRAC数据集来自于北京和天津不同的24个区域道路的监控中的截图,且为车辆的俯拍角度,适用于城市的道路监控. 链接:https://pan.baidu.com/s/1H ...

  8. 车流量检测实现:多目标追踪、卡尔曼滤波器、匈牙利算法、SORT/DeepSORT、yoloV3、虚拟线圈法、交并比IOU计算

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) CNN:RCNN.SPPNet.Fast RCNN.Faste ...

  9. 视觉感知——深度学习之YOLOv3算法

    视觉感知--深度学习之YOLOv3算法 1. 传感器融合 2. 深度学习算法 2.1 卷积神经网络CNN 2.2 YOLO算法 3. YOLO v3算法实践 3.1 官方数据集参考 3.2 环境配置 ...

最新文章

  1. 汇总|精选CVPR开源项目学习资源
  2. 基于 KubeVela 的 GitOps 交付
  3. VS2017中的附加到进程
  4. 关于Struts+Spring+Hibernate的理解
  5. Yii 文件上传类的使用
  6. html 定位z_index,绝对定位、固定定位和z-index
  7. 支持javascript的ppt软件_强大CSS3的3D幻灯片工具reveal.js(推荐)
  8. Runtime之消息转发
  9. Django搭建个人博客:改写View视图
  10. Android 批量修改文件格式/文件名的骚操作
  11. stm32打怪升级之再见闪烁灯
  12. typora使用smms图床
  13. 如何使用 scp 将文件夹从远程复制到本地?
  14. Spring事务管理案例
  15. Express文件表单解析中间件 Multer简介
  16. 教练技术四个计划性问题在用户故事中的使用
  17. VMware12卸载之后安装其他版本导致回滚操作的解决方法之一
  18. 获取Webshell的常用方法(一)
  19. 一篇文章快速了解【无线电波如何传播】射频篇
  20. MySQL数据库的性能的影响分析及优化

热门文章

  1. Shader 漫反射
  2. 嵌入式 课程设计指导书
  3. java编程APP_用java编程的软件叫什么?
  4. 这些片子你猜到结局了吗?
  5. 有网络时yum无法安装,报错:Loading mirror speeds from cached hostfile
  6. 各种时间指标的度量值
  7. 才云 Caicloud 开源 Nirvana:让 API 从对框架的依赖中涅槃重生
  8. 编程的本质是逻辑性思维
  9. qpython3手机版turtle_使用Python turtle画一片树林
  10. HTML5中polygon坐标,SVG Polygon(多边形)