【发布时间】:2017-04-11 12:27:41
【问题描述】:
目前,我正在努力创建一个用于对象检测的深度神经网络,我也在创建自己的数据集,我使用边界框来注释我的图像,我的问题是最好的规则是什么我的图像训练的边界框。我的意思是如果我包裹我的对象是限制我的对象的背景是好的还是我不需要找到一种方法来只绑定我的对象。
谢谢,
【问题讨论】:
标签: python tensorflow deep-learning object-detection
目前,我正在努力创建一个用于对象检测的深度神经网络,我也在创建自己的数据集,我使用边界框来注释我的图像,我的问题是最好的规则是什么我的图像训练的边界框。我的意思是如果我包裹我的对象是限制我的对象的背景是好的还是我不需要找到一种方法来只绑定我的对象。
谢谢,
【问题讨论】:
标签: python tensorflow deep-learning object-detection
我不是专门研究边界框的,但一般来说,在深度学习中,我们会尝试获得一个对不相关变量(在您的情况下为背景)具有鲁棒性的网络。边界不应该依赖于背景,所以按照你想要的方式设置边界框,它应该由网络学习如何复制它。
最重要的是数据库的大小和具有一致的边界而不是精确的边界。
此外,如果您希望您的网络对背景变化具有鲁棒性,您应该拥有尽可能多的背景,与边界无关。
【讨论】:
你可以参考YOLO算法——这是最好的物体检测算法。首先,输入图像将划分为 SxS 网格单元,Yolo 将为每个单元预测 5 个边界框,并且对于每个边界框,Yolo 还预测框的中心坐标、框的宽度、高度以及其中有任何对象的置信度分数框以及对象属于 M 个类的概率。之后,我们使用 Non Max Suppression 和 IOU 计算边界框与 ground truth 之间的准确度,只得到输入图像中对象最精确的边界框。
【讨论】:
没有这样的规则,但是正确注释的最佳实践是在创建边界框时保持一定的像素宽度。
看,背景变化是对象的变化,这将使它变得健壮,但请记住要有足够的样本来正确识别对象中的模式(边缘、形状、纹理等)
希望我解决了您的问题!
【讨论】: