我正在尝试实施this approach 用于物体检测和跟踪。而且我无法将细节束之高阁。我试图寻找这篇文章的评论和解释。我不明白的是:
对于时间信息,我们采用了过去5个时间戳中的所有3D点。因此,我们的输入是一个由时间,高度,X和Y组成的4维张量。对于我们的早期融合模型和晚期融合模型,我们使用Adam优化器从零开始训练,学习率为1e-4。该模型是在批量大小为12
的4 Titan XP GPU服务器上训练的
我知道以下是CNN输入
[批量大小,频道,X,Y]
但是他们在这里考虑
[时间,频道,X,Y]
然后他们提到批次大小为12!我不明白的是,他们在哪里考虑batch_size,它代表5个时间戳。
我希望有人能提供见解。
由于他们的数据集不是开源的,所以我正在研究KITTI跟踪基准。
答案 0 :(得分:1)
如果您考虑使用tf.nn.conv3d
,则输入形状为:
形状[批量,in_depth,in_height,in_width,in_channels]
您可以看到批处理维度的去向,也可以根据需要处理in_depth
。对于临时任务,可以说这代表了一些时间步长。
好的,特别是在他们的情况下。他们有一个点云。每个点(或体素)处于(X, Y)
位置。此数据点还具有height
。他们非常明确地说:
“ [...]并将高度维度视为渠道维度”
因此,如果我们使用 channels-last 表示法(作为默认的TensorFlow文档),我们将获得[X, Y, height]
(即 3D点)。然后,他们说:
“ [[...]对于时间信息,我们从过去5个时间戳中提取所有 3D点”
这意味着我们需要一个时间维度,例如[time, X, Y, height]
,这正是他们所说的(除非他们使用 channels-first 表示法)。借助此4D张量,我们可以使用3D卷积。但是,我们通常需要它们对一批样品进行操作,而不是单个样品。因此,批次尺寸为:[batch, time, X, Y, height]
。具体来说,他们使用[12, 5, X, Y, height]
进行训练,其中batch=12
和time=5
。