目前我正在测试yolo 9000模型用于目标检测,在论文中我了解到图像被分割成13X13个盒子,在每个盒子中我们计算P(对象),但我们如何计算呢?模型怎么知道这个盒子里有没有对象,我需要帮助才能理解
我正在使用tensorflow
谢谢,
发布于 2017-06-08 18:45:56
他们训练的置信度分数=P(对象)* IOU。对于地面实况框,它们采用P(对象)=1,而对于其余的栅格像素,地面实况P(对象)为零。您正在训练您的网络,以告诉您该网格位置中是否存在某些对象,即如果不是对象,则输出0;如果存在部分对象,则输出IOU;如果存在对象,则输出1。因此,在测试时,您的模型已经能够判断该位置是否有对象。
发布于 2017-04-29 03:21:06
正如他们在paper(第2页第2节)中提到的那样,置信度得分=P(对象)*借据。但在那一段中,他们提到,如果有一个对象,那么置信分数将是IOU,否则为零。所以这只是一条指南。
发布于 2017-08-03 14:11:58
有13x13个网格单元,这是真的,但P(对象)是为每个5x13x13锚箱计算的。摘自YOLO9000的论文:
当我们移动到锚框时,我们也将类预测机制与空间位置解耦,转而预测每个锚框的类和对象。
我还不能评论,因为我是新来的,但是如果你想知道测试时间,它的工作方式有点像RPN。在每个网格单元格上,5个锚点框各自预测一个边界框,该边界框可能比网格单元格大,然后使用非最大值抑制来挑选最上面的几个框进行分类。
P(对象)只是一个概率,网络并不“知道”其中是否真的存在对象。
如果您感兴趣,还可以在region_layer.c中查看forward_region_layer方法的源代码,并跟踪损失是如何计算的。
https://stackoverflow.com/questions/43342433
复制相似问题