【发布时间】:2017-01-20 06:13:53
【问题描述】:
我一直在实现一个用于对象检测的卷积神经网络,但遇到了以下问题:
对于对象检测任务,通常,一张输入图像与不确定数量的对象边界框相关联。每个边界框可以用 4 个坐标表示。因此,要将边界框表示为张量,形状将是:
[batch_size, variable_num_bbox(?), 4]
注意,这里不仅variable_num_bbox不能在图构建之前指定,而且即使在一批输入中,不同的图像也可以有不同数量的边界框。
作为一个说明性示例,我想将以下数组转换为张量:
[[[1, 2, 3, 4], [2, 3, 4, 5]], [[3, 4, 5, 6]]]
这里,variable_num_bbox=2 表示第一张图片,但它是 1 表示第二张图片。
我已经尝试了几种将上述嵌套列表转换为张量的方法,但都失败了,这让我想到了 tensorflow 是否支持尺寸大小不一致的张量?如果没有,是否有计划支持它为开发人员提供这种灵活性?如果不支持,有没有办法绕过这个问题进行对象检测任务?一种解决方案是设置 batch_size=1 ,并且边界框可以表示为形状为 [variable_num_bbox(?), 4] 的张量,所以是的,维度不一致性消失了,但这会严重影响效率。
【问题讨论】:
标签: computer-vision tensorflow object-detection