记录,基于keras的YOLOv3的实现和解读

本人正在使用YOLOv3进行车流量的侦测,记录一下学习的过程,使用的开源代码为keras-yolo3-master 链接如下:keras-yolo3-master
本人从使用角度及代码角度入手,关于yolov3的解释请参考yolov3
本文基于windows10 + pycharm 环境进行:

一.跑跑试试

1.下载权重文件:
yolov3.weights
2.转换为转换为h5文件:
python convert.py yolov3.cfg yolov3.weights model_data/yolo.h5
直接在终端输入上述命令即可,确保当前目录是在项目文件下
3.运行yolo文件,拷入自己的视频进行检测:为了可以直接run文件而不在终端通过python + 文件名的方式,在yolo.py文件末尾加上下面代码:

if __name__ == '__main__':
    detect_video(YOLO(),'D:\PycharmProjects\CarFlowDetection\dete.mp4')
    

后面的路径为视频存放的路径随便找一个下载到本地即可。运行yolo文件没有报错就ok了

二.代码理解

  1. train.py
  2. yolo.py
  3. model.py

暂时先说说对这三个文件的理解:这是自己对该代码见解,若有错误请批评指教
train.py :
开始
这几行代码主要指定了训练的类别文件、anchor文件的路径。anchors的值可以使用默认的也可以通过运行Kmeans.py生成
模型选择
通过anchors的个数对使用的模型进行判断,如果为6则创建tiny_yolov3,否则创建yolov3.
部分参数设定,,主要是数据读入

这部分主要是对模型编译和训练的参数进行设定,具体有些参数还在理解当中。
第一次训练
这个阶段的训练主要是得到一个稳定的loss,为第二阶段的训练做准备。
下阶段训练
第二阶段训练,fine-tune参数,使得模型变得更好。最后保存训练的模型为trained_weights_final.h5
数据读入函数
这些函数主要是读取classname,anchor,以及训练集图像和box
train.py文件主要完成的就是加载必要的东西,编译网络并对网络进行训练
今天先写到这里,未完待续。。。

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值