Windows下使用COCO数据集训练Yolo(darknet)

作者: 团不慌 | 来源:发表于2018-12-22 22:15 被阅读29次

    本文主要记录使用COCO 数据集训练darknet网络获取yolo权重的过程,主要包括:数据集处理及训练过程。
    参考资料:
    1.CSDN - 在COCO数据集中制作Darknet的训练集
    2.Github - COCO_forYOLO
    3.Github - hwrenx/coco2yolo
    4.Github - philferriere/cocoapi (windows)
    5.Github - AlexeyAB/darknet
    6.博客园 - darknet-训练自己的yolov3模型

    1 数据集处理

    1.1 下载数据集

    下载COCO 数据集,主要部分:

    • 训练用的train数据集
    • 验证用的val数据集
    • 测试用的test数据集
    • 对应的annotations数据集标注

    将所有imageannotations解压到各自文件夹内即可

    1.2 处理标签文件

    需要进行的处理:

    • 使用COCO APIannotationjson中提取出单个文件的标注
    • 整合各个数据集中图片的绝对路径集合
    • 修改coco.data文件

    自己整理了一个脚本:Github - coco2yolo。下载后将两个脚本放在数据集根目录,运行coco2yolo.py即可。

    运行脚本前需要安装的库:

    • pycocotools
    • Cython
    • matplotlib

    其中Windows下是无法直接通过pip install安装pycocotools的(作者没有考虑Windows环境),可能会出现无效参数/Wno-cpp等错误,需要使用WIndows版本的pycocotools手动安装:

    成功运行后会生成coco.data,用其覆盖掉darknet/cfg/coco.data,并在darknet/cfg下创建一个新的文件夹backup

    2 使用darknet

    1. Windows下使用AlexeyAB的darknet:项目地址。使用build/darknet下的darknet.sln即可,注意版本要求和opencv依赖配置(具体要求见Github的README)。
    • 最好设置成Realease x64版本
    • 需要将cudnn路径加入到环境变量中:示例截图
    • OpenCV最好安装在C:\\opencv_3.0,且不可以使用3.1及以上的版本对应issue
    1. 编译完成后到C:\opencv_3.0\opencv\build\x64\vc14\bin里找到以下文件放到darknet/build/darknet/x64下面
    • opencv_world320.dll / opencv_world340.dll
    • opencv_ffmpeg320_64.dll / opencv_ffmpeg340_64.dll
    1. 如果提示找不到cudnn64_7.dll,到path/to/your/cudnn/bin路径下拷贝一份

    2. 确认C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1路径是否存在且包含bininclude,如果没有就从自己的CUDA路径下面拷贝一份(默认路径C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vx.x

    3. 根据实际情况更改yolov3.cfg参考链接

    4. 使用darknet.exe进行训练:darknet.exe detector train cfg/coco.data cfg/yolov3.cfg


    错误记录:
    1.错误 error C2054 在“using”之后应输入“(” (编译源文件...) opencv版本错误(3.4.1+)
    2.错误 error MSB3721 ... 已退出,返回代码为 1 更换VS 2015
    3.错误 error : expected a ";" 更换VS 2015
    4.错误 error C1083: 无法打开包括文件: “cudnn.h”: No such file or directory 未在path中设置cudnn或路径错误


    正文完

    相关文章

      网友评论

        本文标题:Windows下使用COCO数据集训练Yolo(darknet)

        本文链接:https://www.haomeiwen.com/subject/hnfwkqtx.html