windows10 + Anaconda +(keras)yolov3训练自己的数据集

1.下载(keras)yolov3:

https://github.com/qqwweee/keras-yolo3

2.搭建yolov3运行需要的环境:

(注意:可用Anaconda的命令行创建虚拟环境conda create -n py35 python=3.5,或者用Anaconda Navigator界面创建虚拟环境,以及下载安装其它依赖程序,当自己网速慢时很有可能下载不下来,本文提供了自行下载地址,可以移步下载)

3.准备自己的数据集:

(注意:数据集为.jpg后缀)

4.用LabelImg标注:

https://download.csdn.net/download/qq_40155090/11709643

(标注之后为.xml文件)

5.在yolov3文件夹下建立文件夹VOCdevkit,并在VOCdevkit下建立VOC2007,在VOC2007下建立三个文件夹,分别为Annotation、ImageSets、JPEGImages,在ImageSets中创建Main文件夹:

将原图片放在JPEGImages中,将xml标注放在Annotation中

6.下载权重:将下载后的文件放在yolov3(主)文件夹中:

https://pjreddie.com/media/files/yolov3.weights

7.修改voc_annotation.py分类,classes对应修改为自己的类别:

python voc_annotation.py

8.修改主文件夹yolov3.cfg中的网络,将yolo层classes改成自己的类别数,将yolo上一层的conv层filter改成3*(类别数+5):

9.运行如下create_ImageSets.py文件,在ImageSets的Main中生成4个文件:

import os
import random
 
trainval_percent = 0.2
train_percent = 0.8
xmlfilepath = 'Annotations'
txtsavepath = 'ImageSets\Main'
total_xml = os.listdir(xmlfilepath)
 
num = len(total_xml)
list = range(num)
tv = int(num * trainval_percent)
tr = int(tv * train_percent)
trainval = random.sample(list, tv)
train = random.sample(trainval, tr)
 
ftrainval = open('ImageSets/Main/trainval.txt', 'w')
ftest = open('ImageSets/Main/test.txt', 'w')
ftrain = open('ImageSets/Main/train.txt', 'w')
fval = open('ImageSets/Main/val.txt', 'w')
 
for i in list:
    name = total_xml[i][:-4] + '\n'
    if i in trainval:
        ftrainval.write(name)
        if i in train:
            ftest.write(name)
        else:
            fval.write(name)
    else:
        ftrain.write(name)
 
ftrainval.close()
ftrain.close()
fval.close()
ftest.close()

将上图4个txt文件移入model_data文件夹中,并在model_data文件夹中新建my_classes.txt文件并在文件中写入自己的类别,每一类别占一行

10.重新生成h5文件:

python convert.py -w yolov3.cfg yolov3.weights model_data/yolo_weights.h5

11.修改train.py文件:

12.运行train.py: 

python train.py

开始运行:

13.修改yolo.py:

14运行yolo_video.py --image检测单张图片:

在出现Input image filename:后填入待检测图片的位置,等待检测结果

参考连接:

https://blog.csdn.net/mingqi1996/article/details/83343289

https://blog.csdn.net/u012746060/article/details/81183006

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值