美文网首页
使用 YOLO 做些好玩的事情

使用 YOLO 做些好玩的事情

作者: charming | 来源:发表于2017-04-24 21:52 被阅读998次

    资源

    源码

    GitHub 上搜索 YOLO 可以找到很多平台的包,如: Tensorflow, pyTorch 等等;本文使用 darknet 原因:方便把玩。请参考如下页面安装测试:

    • YOLO : YOLO: Real-Time Object Detection

    资料

    YOLO局限性

    由于YOLO具有极强的空间限制,它限制了模型在邻近物体上的预测,如果两个物体出现在同一个cell中,模型只能预测一个物体,所以在小物体检测上会出问题。另外模型对训练数据中不包含的物体或具有异常长宽比的物体扩展不是太好。loss函数对大小bbox采取相同的error也是个问题。

    实测结果图

    自带图

    dog等

    其他任选

    简单场景

    西安国际汽车展charming于2017年摄于西安国际汽车展 西电花季开放日

    中等复杂

    盆栽(potted plant)都可以, 当然花瓶是没有的


    charms于2017年4月4日摄于青龙寺

    复杂场景

    注意下图中的包和伞都能检测出来:


    人群密集的樱花祭

    还有这个图,不是偶然


    人群密集的樱花祭

    恶劣环境

    下面的环境有点恶劣,不过还不错,虽然漏了个车和路灯


    xidianbeimen.png

    失败例子

    哈哈,画的画果然还是不行,难道画技太差,哈哈:

    charming@简书 原创画作

    训练

    预训练

    准备训练样

    使用darknet训练要求训练样本中,每个样本的名字以类名命名,这样darknet就知道当前图片属于哪一类,如对于 cifar10 数据集,含10类(labels.txt):

    airplane
    automobile
    bird
    cat
    deer
    dog
    frog
    horse
    ship
    truck
    

    其训练样本名称示例如下:

    cifar10工程目录示意

    微调

    准备训练样本

    训练样本标签文件信息如下:

    <object-class> <x> <y> <width> <height>
    <object-class> <x> <y> <width> <height>
    ...
    

    对应于:

    <类别标签数字> <物体中心水平方向坐标/宽度> <物体中心垂直方向坐标/高度> <物体区域宽度> <物体区域高度>

    如对于 VOC2012中的一幅飞机的图像,对应的训练样本标签信息如下:

    0 0.578 0.474474474474 0.744 0.588588588589

    其中,0 表示类别,0.578 0.474474474474 为中心坐标,0.744 0.588588588589 分别为宽度和高度,如下图所示:

    训练样本标签图解训练样本标签图解

    训练配置

    learning_rate=0.0001
    max_batches = 3 # 训练代数 epoches
    policy=steps
    steps=1,2,3 # 每训练step,保存一次
    scales=10,.1,.1
    

    *final.weights

    开始微调训练

    相关文章

      网友评论

          本文标题:使用 YOLO 做些好玩的事情

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