在YOLOv3中训练自定义对象,它是如何工作的?

我有一个项目需要检测动漫风格的vedios人

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

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

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

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

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

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

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

5.输出总是一个盒子?我可以训练并获得输出作为面具吗?如果我检测为面具,它会慢,然后框,因为它似乎是更多的信息?

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

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

回答(2)

2 years ago

3 .

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

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

4 .

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

5 .

如果它不支持开箱即用的掩码,也许你想做背景减法作为处理输出的额外步骤 .

2 years ago

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

2)无论输入图像的大小如何,它都会被强制调整为预定义的大小(被描述为cfg文件),因此您无需调整输入图像的大小 .