• Yolo:实时目标检测实战(下)


    Yolo:实时目标检测实战(下)

    YOLO:Real-Time Object Detection

    After a few minutes, this script will generate all of the requisite files. Mostly it generates a lot of label files in VOCdevkit/VOC2007/labels/ and VOCdevkit/VOC2012/labels/. In your directory you should see:

    ls

    2007_test.txt   VOCdevkit

    2007_train.txt  voc_label.py

    2007_val.txt    VOCtest_06-Nov-2007.tar

    2012_train.txt  VOCtrainval_06-Nov-2007.tar

    2012_val.txt    VOCtrainval_11-May-2012.tar

    文本文件如2007_train.txt列出了当年的图像文件和图像集。Darknet需要一个文本文件,其中包含所有要训练的图像。在这个例子中,让我们训练除了2007测试集之外的所有东西,以便我们可以测试我们的模型。运行:

    cat 2007_train.txt 2007_val.txt 2012_*.txt > train.txt

    现在我们把2007年的trainval和2012年的trainval都列在一个大名单上。这就是我们要做的数据设置!             

    修改Pascal数据的Cfg             

    现在找到你的darknet 目录。我们必须更改cfg/voc.data配置文件以指向您的数据:

      1 classes= 20

      2 train  = <path-to-voc>/train.txt

      3 valid  = <path-to-voc>2007_test.txt

      4 names = data/voc.names

      5 backup = backup

    您应该将<path to voc>替换为放置voc数据的目录。             

    下载预训练卷积权重              

    对于训练,我们使用在Imagenet上预先训练的卷积权重。我们使用darknet53模型的权重。你可以在这里下载卷积层的权重(76MB)。

    wget https://pjreddie.com/media/files/darknet53.conv.74

    训练模型             

    现在我们可以训练了!运行命令:

    ./darknet detector train cfg/voc.data cfg/yolov3-voc.cfg darknet53.conv.74

    COCO上训练YOLO              

    如果你想使用不同的训练模式、超参数或数据集,你可以从头开始训练YOLO。下面是如何让它在COCO数据集上工作。             

    获取COCO数据             

    为了训练YOLO,你需要所有的COCO数据和标签。脚本scripts/get_coco_dataset.sh将为您执行此操作。找出要将COCO数据放在哪里并下载它,例如:

    cp scripts/get_coco_dataset.sh data

    cd data

    bash get_coco_dataset.sh

    现在您应该拥有为Darknet生成的所有数据和标签。              

    修改COCO的cfg             

    现在找到的darknet目录。我们必须更改cfg/coco.data配置文件以指向您的数据:

    1 classes= 80

      2 train  = <path-to-coco>/trainvalno5k.txt

      3 valid  = <path-to-coco>/5k.txt

      4 names = data/coco.names

      5 backup = backup

    您应该用放置coco数据的目录替换<path to coco>。             

    您还应该修改模型cfg以进行训练,而不是测试。cfg/yolo.cfg应该如下所示:

    [net]

    # Testing

    # batch=1

    # subdivisions=1

    # Training

    batch=64

    subdivisions=8

    ....

     

    训练模型             

    现在我们可以训练了!运行命令:

    ./darknet detector train cfg/coco.data cfg/yolov3.cfg darknet53.conv.74

    如果要使用多个GPU运行:

    ./darknet detector train cfg/coco.data cfg/yolov3.cfg darknet53.conv.74 -gpus 0,1,2,3

    如果要从检查点停止并重新开始训练:

    ./darknet detector train cfg/coco.data cfg/yolov3.cfg backup/yolov3.backup -gpus 0,1,2,3

    开放图像数据集上的YOLOv3

    wget https://pjreddie.com/media/files/yolov3-openimages.weights

    ./darknet detector test cfg/openimages.data cfg/yolov3-openimages.cfg

    yolov3-openimages.weights

    YOLO怎么了?             

    如果您使用的是YOLO版本2,您仍然可以在这里找到网站:

    https://pjreddie.com/darknet/yolov2/             

    引用             

    如果你在工作中使用YOLOv3,请引用我们的论文!

    @article{yolov3,

      title={YOLOv3: An Incremental Improvement},

      author={Redmon, Joseph and Farhadi, Ali},

      journal = {arXiv},

      year={2018}

    }

  • 相关阅读:
    2019CCPC厦门游记
    [codeforces940E]Cashback
    [codeforces#592Div2]C-G题
    Material Design UI素材库【React版】【2】--定制
    Material Design UI素材库【React版】【1】--入门
    resin中配置session相关参数
    quartz定时任务
    Linux内核----make menuconfig时出错
    【Qt学习之路】Qt开发环境搭建
    已学算法与数据结构的习题
  • 原文地址:https://www.cnblogs.com/wujianming-110117/p/12781793.html
Copyright © 2020-2023  润新知