视频输入问题
传统的图像网络的输入数据格式input_shape =(batch, h, w, c),但对于视频输入(batch, number_frames, h, w, c)。我们在keras建模的时候batch_size默认为input_shape[0],无法改变,同时keras.layers.Conv2d等层操作也是按照4维张量处理输入输入。
解决方案一:维度切片堆叠(不推荐)
在模型搭建的过程中,在number_frames维度进行堆叠,即在喂给keras.layers.Conv2d前将数据按number_frames维切片,输出后再进行堆叠。
for ii in range (input_shape[0]):
if ii==0:
coarse_out=coarse_model(videoclip_cropped[:,ii])
else:
coarse_out=concatenate([coarse_out,coarse_model(videoclip_cropped[:,ii])], axis

本文介绍了在Tensorflow2.x中处理五维视频输入的两种方法,重点推荐使用reshape策略。通过tf.reshape将视频数据前两维展平,以适应Keras模型输入。尽管解决方案一采用维度切片堆叠,但当视频帧数较大时,建模和训练过程中可能会导致性能问题。reshape方法则能有效避免这些问题,同时保持数据原有的顺序。
最低0.47元/天 解锁文章
2678

被折叠的 条评论
为什么被折叠?



