如何解决多标签图像分类与对象检测
对于我的下一个基于 TF2 的计算机视觉项目,我需要将图像分类为一组预定义的类。然而,不同类别的多个对象可以出现在一张这样的图像上。这听起来像是一个物体检测任务,所以我想我可以去做。
但是:我不需要知道每个对象在图像上的位置,我只需要知道图像上可以看到哪些类别的对象。
现在我在考虑我应该走哪条路。我对解决方案的高精度/质量特别感兴趣。所以我更喜欢能带来更好结果的方法。因此,根据您的经验,即使我不需要知道检测到的对象在图像上的位置,我仍然应该使用对象检测器,还是应该构建一个图像分类器,该分类器可以输出所有的类位于图像上?这甚至是一种选择,“正常”分类器可以输出多个类吗?
解决方法
既然不需要对象定位,就只做分类。
尽管您会因为它的可重用性而倾向于使用标准现成的多类多标签对象检测网络,但要意识到您是在要求模型做更多的事情。如果您有大量数据 - 没问题。或者,如果您的对象与 ImageNet/COCO 等中使用的对象相似,您可以简单地使用标准的现成对象检测架构并对数据集进行微调。
但是,如果您有较少的数据并且您需要从头开始训练(例如医学图像、奇怪的物体),那么物体检测将是一种矫枉过正,并且会给您带来较差的结果。
请记住,大多数对象检测网络都会重新使用分类架构,并在最后一层添加修改以合并对象检测坐标的附加输出。有一个与这些额外输出相关的损失函数。在训练期间,为了获得最佳损失值,为了获得更好的对象定位坐标,一些分类精度会受到影响。你不需要那种妥协。因此,您可以修改目标检测网络的最后一层并删除坐标输出。
同样,只有当您的数据较少并且您确实需要从头开始训练时,所有这些麻烦才值得。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。