使用YOLOV2框架进行分类预训练

我们经常使用YOLOV2做目标检测,在检测的时候进行分类,但我们只做分类的情况下,使用YOLOV2原框架会使得速度变得很慢,因此Darknet为我们提供了分类的模型。本文使用YOLO网络进行预训练,找到好的分类器。

具体参考:https://pjreddie.com/darknet/train-cifar/

1.下载Darknet并进行编译

git clone https://github.com/pjreddie/darknet
cd darknet
make

2. 数据集的整理

如图所示:两个文件夹:训练集与测试集,而label.txt是label的集合,如下图所示:

其格式如下图所示,而我们在训练与测试的时候需要将训练集测试集的名称进行更改为label(名称)_****.jpg这样的格式,前面的必要的,_后面可以是任意数字,但不能是label名称,否则变认为其为两类。

3. train.list以及test.list的生成

find `pwd`/train -name \*.png > train.list
find `pwd`/test -name \*.png > test.list

这样我们就能生成.list,也可以自己写脚本生成,而.list里存储的是图片的绝对路径,如下图所示

4.修改配置文件

我们可以自己创建.data,.name,.cfg文件,比如我们做分类,那我们就在cfg/文件夹中创建obj_class.data,obj_class.names(里面放的跟label.txt相同只是改了后缀名而已),obj_class.cfg。每个文件具体放什么,如下图所示。

4.1 obj_class.data

classes=7
train  = ./scripts/vehicle_color_data/train.list  自己存放train.list的路径
valid  = ./scripts/vehicle_color_data/test.list   自己存放test.list的路径
labels = cfg/obj_class.names    自己存放test.list的路径
backup = backup/
top=2    top=2  把类别最高的两个显示出来

4.2 obj_class.cfg

根据自己的网络结构,定义自己的网络配置文件。

[net]
batch=128
subdivisions=1
height=56
width=56
max_crop=512
channels=3
momentum=0.9
decay=0.0005

learning_rate=0.001
policy=poly
power=4
max_batches=10000

angle=7
hue = .1
saturation=.75
exposure=.75
aspect=.75

[convolutional]
batch_normalize=1
filters=32
size=3
stride=1
pad=1
activation=leaky

......
......

[convolutional]
filters=10              //一定要修改,否则会出错
size=1
stride=1
pad=1
activation=linear

[avgpool]

[softmax]
groups=1

[cost]
type=sse

5. 训练模型

进入darknet根目录下运行:

./darknet classifier train cfg/obj_class.data cfg/obj_class.cfg

接下来就可以看到训练过程

6. 测试模型

./darknet classifier predict cfg/obj_class.data cfg/obj_class.cfg obj_class_final.weights data/car.jpg

接着就可以看到该图片的结果,输出个数跟top个数相同。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值