【问题标题】:Action Recognition for multiple objects and localization多个对象的动作识别和定位
【发布时间】:2019-03-23 09:57:19
【问题描述】:

我想询问有关建议帧视频的动作检测的问题。我使用 Temporal 3D ConvNet 对视频进行动作识别。已成功训练它,并且可以识别视频上的动作。

当我进行推理时,我只是从视频中收集 20 帧,将其提供给模型,然后它就会给我结果。关键是不同视频上的事件大小不同。其中一些覆盖了框架的 90%,但有些可能覆盖了 10%。让我们以两个物体碰撞为例,它可能发生在不同的规模上,我想检测这个动作。

  • 如何为模型提供动作识别的准确位置,如果它可以在不同的尺度上发生在不同的对象上?想到的是使用 Yolo 来收集感兴趣的区域,并在每次 3D 卷积网络时馈送收集到的帧。但是如果有很多物体,速度会很慢。如何处理?

  • 对于动作识别网络,有没有端到端的动作识别解决方案?

我已经看过论文和博客,人们的建议,找不到本地化问题的解决方案,因此动作识别模型得到了正确的框架。

所以只是为了总结,我们的想法是获取一个可能以任何比例发生碰撞的对象,然后将它的例如 20 帧馈送到 3D 卷积网络进行判断。

你有什么建议吗?也许有人可以解释我的方法?

【问题讨论】:

    标签: machine-learning classification object-detection activity-recognition


    【解决方案1】:

    这是我的模型 CNN+LSTM,所以目前正在尝试改进它。

        video = Input(shape=(None, 224,224,3))
    cnn_base = VGG16(input_shape=(224,224,3),
                    weights="imagenet",
                    include_top=False)
    cnn_out = GlobalAveragePooling2D()(cnn_base.output)
    cnn = Model(inputs=cnn_base.input, outputs=cnn_out)
    cnn.trainable = False
    encoded_frames = TimeDistributed(cnn)(video)
    encoded_sequence = LSTM(32, dropout=0.5, W_regularizer=l2(0.01), recurrent_dropout=0.5)(encoded_frames)
    hidden_layer = Dense(units=64, activation="relu")(encoded_sequence)
    dropout = Dropout(0.2)(hidden_layer)
    outputs = Dense(5, activation="softmax")(dropout)
    model = Model([video], outputs)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多