(linux+cpu)YOLOv3训练自己的数据

本文介绍了如何在Linux环境下利用YOLOv3训练自己的数据集。首先,从官方下载YOLOv3并进行初步检测。接着,详细描述了创建数据集结构、图片重命名、使用labelImg进行标注、生成train和test文本文件的过程。然后,下载并修改voc_label.py文件进行标注转换,并下载预训练模型。最后,修改配置文件并开始训练,解决了训练过程中的错误问题。
摘要由CSDN通过智能技术生成

1.下载官网的YOLOv3,打开终端输入:git clone https://github.com/pjreddie/darknet

下载完成之后,输入:cd darknet,然后再输入:make,

make完成之后,下载预先训练的weights文件,通过在终端里输入:wget https://pjreddie.com/media/files/yolov3.weights,然后就可以运行检测器了,在终端里输入:./darknet detect cfg/yolov3.cfg yolov3.weights data/doa.jpg(这条命令得在darknet目录下运行),会得到这样的结果:

2.开始训练自己的数据

(1)在darknet目录下新建一个voc命名的文件夹,voc文件夹里新建VOCdevkit文件夹,在VOCdevkit文件夹里新建VOC2018文件夹,在VOC2018文件夹下新建Annotations,ImageSets,JPEGImages,SegmentationClass,SegmentationObject这五个文件夹,在ImageSets文件夹下新建Main文件夹。其中Annotations里存放所有标注了图片的xml文件,JPEGImages文件夹里存放所有的图片,Main中放train.txt和test.txt,至于SegmentationClass,SegmentationObject这两个文件夹我没有用到。

(2)图片重命名,使用VOC的命名方式,这种:000012。重命名代码如下,根据自己的路径修改后就可以用:

# -*- coding: utf-8 -*-
import os
path = "/home/f/image/Aft_Original_Crack_DataSet_Second"
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]   #文件扩展名
    Newdi

要在Linux上使用YOLOv3训练自己的数据集,你可以按照以下步骤进行操作: 1. 下载YOLOv3的预训练模型。使用以下命令下载预训练权重文件: ```shell wget https://pjreddie.com/media/files/yolov3.weights ``` 2. 标注数据。你需要为你的数据集标注bounding box,并生成相应的label文件。可以使用一些标注工具来完成这个任务。 3. 制作自己的数据集。在darknet目录下创建一个VOCdevkit文件夹,并将刚才标注好的数据集(包括图像和对应的label文件)拷贝到该文件夹下。 4. 下载并编译源代码。使用以下命令下载YOLOv3的源代码: ```shell git clone https://github.com/pjreddie/darknet.git cd darknet make ``` 5. 修改配置文件。在darknet/cfg目录下,你需要修改yolov3.cfg文件来适应你的数据集。主要修改的地方包括:设置`batch`和`subdivisions`为适当的数值(这取决于你的显卡内存),设置`classes`为你数据集中的类别数目,设置`filters`为`(classes + 5)* 3`。 6. 转换label文件格式。通过以下命令来转换label文件格式: ```shell wget https://pjreddie.com/media/files/voc_label.py python voc_label.py ``` 7. 开始训练。使用以下命令开始训练你的数据集: ```shell ./darknet detector train cfg/voc.data cfg/yolov3.cfg yolov3.weights ``` 以上是在Linux上使用YOLOv3训练自己的数据集的步骤。请注意,这只是基本步骤,具体操作可能会因为你的数据集和环境的不同而有所差异。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [超详细教程:YOLO_V3(yolov3训练自己的数据](https://blog.csdn.net/qq_21578849/article/details/84980298)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值