【问题标题】:Object detection using Keras : simple way for faster R-CNN or YOLO使用 Keras 进行对象检测:更快的 R-CNN 或 YOLO 的简单方法
【发布时间】:2017-11-25 00:21:21
【问题描述】:

也许已经回答了这个问题,但我没有找到一个简单的答案。我使用 Keras 创建了一个卷积网络来分类辛普森一家 (dataset here)。
我有 20 个类并提供图像作为输入,然后返回角色名称。这很简单。我的数据集包含图片中带有主角的图片,并且只有角色的名称作为标签。

现在我想添加一个对象检测问题,即在图片中的字符周围绘制一个边界框并预测它是哪个字符。我不想使用滑动窗口,因为它真的很慢。所以我考虑使用更快的 RCNN (github repo) 或 YOLO (github repo)。我是否必须为训练集的每张图片添加边界框的坐标?有没有办法在不提供训练集坐标的情况下进行对象检测(并在我的测试中获取边界框)?

总而言之,我想创建一个简单的物体检测模型,不知道是否可以创建一个更简单的YOLO或Faster RCNN。

非常感谢您的帮助。

【问题讨论】:

    标签: deep-learning classification keras object-detection


    【解决方案1】:

    yolo 或更快的 rcnn 的目标是获取边界框。所以简而言之,是的,您需要标记数据来训练它。

    走捷径:

    • 1) 为几个边界框标记(假设每个字符 5 个)。
    • 2) 在非常小的数据集上训练更快的 rcnn 或 yolo。
    • 3) 针对完整数据集运行您的模型
    • 4) 会做对一些,做错很多。
    • 5) 在正确有界的 rcnn 上训练更快的 rcnn,您的 训练集现在应该更大了。
    • 6) 重复,直到获得您想要的结果。

    【讨论】:

      【解决方案2】:

      您可能已经想到了一个合适的架构:“现在我想添加一个对象检测问题,即在图片中的字符周围绘制一个边界框并预测它是哪个字符。

      所以你只需将任务分成两部分:
      1. 添加对象检测器用于人员检测以返回边界框
      2. 使用你已经训练好的卷积网络对边界框进行分类

      对于第 1 部分,您最好使用特征检测器(例如在 COCO 或 Imagenet 上预训练的卷积网络)和顶部的对象检测器(仍然是 YOLO 和 Faster-RCNN)来检测人。 但是,您可能会发现“卡通”中的人(假设辛普森一家是人)没有被正确识别,因为特征检测器不是在基于卡通的图像上训练的,而是在真实图像上训练的。在这种情况下,您可以尝试根据transfer learning 方法重新训练卡通图片上的特征检测器的几层,以便学习卡通特征。

      【讨论】:

        猜你喜欢
        • 2018-01-17
        • 2020-10-01
        • 2020-02-11
        • 1970-01-01
        • 1970-01-01
        • 2019-09-12
        • 2020-11-07
        • 1970-01-01
        • 2018-02-24
        相关资源
        最近更新 更多