【问题标题】:training custom object in YOLOv3, how does it work?在 YOLOv3 中训练自定义对象,它是如何工作的?
【发布时间】:2018-04-01 01:42:57
【问题描述】:

我有一个项目需要检测类似动漫风格的视频中的人

我刚刚在 GTX 1050TI 中用 COCO 测试了 YOLOv3 608x608

然而速度只有约 1.5FPS 左右,但我的项目在 1050TI 上至少需要 10 FPS

1.我想知道类的数量会影响检测速度吗? (我假设 COCO 是要在图片中找到 80 种物体?如果我只需要找到一种物体,它会快 80 倍吗?)

2.当我输入图像进行训练时,原始图像是1920*1080,我应该在标记和训练之前将它们调整为608x608吗?

3.我应该使用任何标记工具吗?在 https://github.com/AlexeyAB/darknet <x> <y> <width> <height> 的 README.md 中似乎需要手动计算和输入,这似乎太难了,也许有一个工具我只需要裁剪图像中对象的位置?

4.如果物体不是图像中的正方形,YOLO怎么知道哪个部分是物体?如何避免将背景训练为对象?

我是否必须删除所有背景并将其填充为黑色,只保留图像中的对象?

5.输出总是一个盒子吗?我可以训练并获得输出作为掩码吗?如果我检测为掩码,它是否会比框慢,因为它似乎包含更多信息?

6.要获得好的结果,我应该制作多少训练图像和测试图像?

我知道这只是简历中的一些菜鸟问题,但是我真的很想知道这一点,而无需花费数周的时间进行培训并自己找出答案,我们将不胜感激!

【问题讨论】:

    标签: opencv computer-vision object-detection darknet yolo


    【解决方案1】:

    3.

    https://en.wikipedia.org/wiki/List_of_manual_image_annotation_tools

    您应该能够通过使用一些图像注释工具来获得角坐标的输出。

    4.

    有了足够多的不同背景的图像进行训练,模型应该能够忽略背景。黑色背景仍然是背景。我想这是一种数据增强,所以它可能有助于减少过度拟合。

    5.

    如果它不支持开箱即用的掩码,也许您希望将背景减法作为处理输出的额外步骤。

    【讨论】:

      【解决方案2】:

      1) 在我看来,GTX 1050Ti 不足以测试 YOLO v3。因为,与之前的版本相比,YOLO v3 的模型尺寸(即层数)变得非常大。在这种情况下,类的数量无关紧要。如果你想要更快的测试计算速度,你应该升级你的GPU,比如1070Ti。

      2) 无论输入图片的大小,都会强制调整为预定义的大小,以cfg文件表示,因此您无需调整输入图片的大小。

      【讨论】:

        【解决方案3】:

        1) 我认为它可能会稍微影响速度,因为当你使用更少的类时,你在每个 YOLO 层之前得到的卷积过滤器也会更少(你在 .cfg 文件中设置它),但它不太可能是 80 倍加速 2)也许?我的意思是,YOLO 会在训练和测试时调整它们的大小,所以如果你真的想要你可以,但根据我的经验,高分辨率图像通常效果更好。 3)我喜欢 OpenLabelling(你可以谷歌它,它在 GitHub 上) 4) 你可能想给 YOLO 负片图像,其中没有任何东西,以防止它们在没有任何东西的背景上拾取 5)YOLO不做口罩 6)每节课大约 1k 可能会起作用,你可以用 500 来解决,但经验法则是越多越好)

        如果你有兴趣,我已经在 YouTube 上的 YOLO 上发布了整个系列,所以你可能想看看:https://youtu.be/TP67icLSt1Y

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-10-24
          • 2020-10-05
          • 1970-01-01
          • 2021-06-24
          • 1970-01-01
          • 1970-01-01
          • 2018-10-16
          • 1970-01-01
          相关资源
          最近更新 更多