联合2D / 1D序列到2D序列

时间:2018-07-25 14:55:48

标签: python python-3.x tensorflow machine-learning keras

我需要解决以下问题:

说我们的盒子里有个球,弹跳起来。每个T_ball,我都会在框中看到球的图像。每个T_occlusions,我都会沿x或y轴获得图像的最大值(也就是说,没有噪音,我将获得球的x或y位置)。

通常,T_occlusions << T_ball。我想获得每种T_occlusions作为图像的球的运动预测。

现在让我们考虑一下T_occlusions和T_ball是恒定的。

下面的情况表示为T_occlusions = T_ball / 2。

White ball position is referenced by the occlusion vector (blue : occluded, white : free)

我已经可以通过Keras中的4层ConvLSTM网络来预测下一帧而无需使用遮挡。

如何将1D / 2D数据连接在一起?

我想到了以下内容:

  • 对图像进行上采样(对于每个遮挡,请考虑最后一个输入图像),并向矢量添加标量,以指示自上次已知图像以来的时间。告诉网络输入的图像不是全新图像时,这应该可以解决频率不匹配的问题。

  • 对遮挡进行上采样,以为图像创建第二个深度,并将其提供给ConvLSTM

我如何仅基于每个T_ball的地面真相来训练网络以生成正确的中间图像?

我可以考虑对输入序列进行训练:(I0,O0),(I0,O1),(I1,O2),(I1,O3),并期望它给出I2吗?

我可以使用任何网络吗?也许是两个单独的网络,交换信息(一个LSTM和一个ConvLSTM)?

最后,T_ball不是真正恒定的,而是在一个序列内以及序列之间变化。我考虑过对它进行上/下采样以适合我的网络。有没有其他办法?我可以选择每批中具有相同模式的序列,并希望获得最佳结果吗?

非常感谢!

0 个答案:

没有答案