我是计算机视觉的新手,有人能告诉我在自然图像中进行物体检测的步骤吗?(此处对象指徽标)。我根据自己的理解起草了以下步骤:
问题陈述:假设有20个参考徽标,给定一个自然图像,说明图像中存在哪个徽标以及在哪个位置(边界框)。
步骤1:收集许多(即100个)包含相应徽标的图像,并裁剪出徽标区域。因此,每个徽标有100个示例。此步骤的目的是处理不同条件下的徽标,如照明、旋转等。
步骤2:收集不包含任何徽标的随机图像。
步骤3:提取特征,例如徽标和随机图像,使用SIFT功能。
步骤4:现在,该问题变成了一个多类分类问题。有21个类别,20个类别对应20个徽标,1个类别对应随机图像。
问题1: 使用哪个分类器?什么是输入,什么是输出?
步骤5:给定测试图像,提取SIFT特征,使用所有特征作为输入?
问题2: 对于测试图像,使用什么作为输入以及如何进行分类来判断它是否包含徽标,以及它是哪个徽标?
问题3: 如何确定检测到的徽标的位置?
问题4: 有图像标签或裁剪工具吗?
如果我的程序不正确,请告诉我如何一步一步地完成。提前感谢!!
问题1:我可以建议您使用支持向量机。它是一个简单但功能强大的分类器,适用于数据集较小的任务。对于大多数流行的编程语言来说,很容易找到SVM的实现。您应该为具有或不具有相同大小徽标的补丁提取SIFT(或任何其他)特征,并将其用作分类器输入。地面实况分类标签是标志名称和一些用于清洁补丁的标签。所以,如果你有20个标志,你就会有21个不同的类别标签。
问题2和问题3:您应该使用滑动窗口技术。它的本质在于,你可以用一些步幅裁剪测试图像的补丁,并使用分类器来预测是否有标志。例如,你可以在这里阅读更多关于它的信息。
问题4:似乎该线程已经找到了答案:图像标记和注释工具
一些建议:
- Bootstrapping可以帮助您找到最难的没有徽标的分类器补丁
- 使用交叉验证来确定SIFT、SVM或最佳补丁大小的最佳参数
祝你好运!