在keras中实现yolov4目标检测

本文介绍了如何在Keras中实现YOLOv4目标检测,包括环境配置、数据集制作、训练、预测等步骤。首先,详细阐述了安装依赖库和制作数据集的过程,接着通过运行脚本生成训练、测试和验证数据集。然后,训练模型并生成初始锚点,最后进行预测,并解析了损失函数的组成。文章提供了完整的代码仓库链接,以便读者自行实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境配置

win10+tensorflow-gpu1.13.2+cuda10.0+cudnn7.4+keras2.1.5

1.数据集的制作

  1. 先安装labelimg,步骤如下:
    pip install PyQt5
    pip install pyqt5-tools
    pip install lxml
    pip install labelImg
    在安装好lxml之后,也可以直接将data文件复制到电脑,运行的时候将labelimg粘贴到桌面。
  2. 使用rename.py将数据集图片的名字统一转化成以序号命名,则高位会用0补齐至6位。
#rename.py
import os
path = "C:\\Users\\Admin\\Desktop\\VOC\\JPEGImages"
filelist = os.listdir(path) #该文件夹下所有的文件(包括文件夹)
count=0
for file in filelist:
    print(file)
for file in filelist:   #遍历所有文件
    Olddir=os.path.join(path,file)   #原来的文件路径
    if os.path.isdir(Olddir):   #如果是文件夹则跳过
        continue
    filename=os.path.splitext(file)[0]   #文件名
    filetype=os.path.splitext(file)[1]   #文件扩展名
    Newdir=os.path.join(path,str(count).zfill(6)+filetype)  #用字符串函数zfill 以0补全所需位数
    os.rename(Olddir,Newdir)#重命名
    count+=1
  1. 先创建如下图所示的三个文件夹,图片数据集存放在JPEGImages。
    图1
    在labelimg将图片生成xml文件,如下图所示,选中区域之后输入对应的标签,然后将xml文件保存在Annotations文件夹下。
    在这里插入图片描述

2.生成train、test、val数据集

  1. 运行formtxt.py文件生成如图所示的4个txt文件,存放在ImageSets/Main文件下。
#formtxt.py
import os
import random

trainval_percent = 0.7   # trainval占总数的比例
train_percent = 0.5   # train占trainval的比例
xmlfilepath = r'C:\Users\Admin\Desktop\VOC\Annotations'
txtsavepath = r'C:\Users\Admin\Desktop\VOC\ImageSets\mian'
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(txtsavepath + r'\trainval.txt', 'w')
ftest = open(txtsavepath + r'\test.txt', 'w')
ftrain = open(txtsavepath 
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值