keras 二值分类的RNN方法

ct3nt3jp  于 2023-02-08  发布在  其他
关注(0)|答案(1)|浏览(167)

我希望对视频的每一帧进行二进制分类。我有几个视频的每一帧的地面真实值标签和特征向量,但不确定如何将其作为时间序列问题来训练RNN。
如何使用视频中前一帧的预测来帮助通知未来的预测?我认为这可以通过一对一的RNN来实现,尽管我找不到任何相关的例子。

hmmo2u0o

hmmo2u0o1#

你的任务与自然语言处理中的命名实体识别任务非常相似,在命名实体识别中,你有一个单词序列,对于每个单词,你都想确定一个单词是否是命名实体(比如一个人或公司的名字)。
一个多对多的RNN架构应该适合这个任务。请查看下面的文章:https://towardsdatascience.com/named-entity-recognition-ner-using-keras-bidirectional-lstm-28cd3f301f54
代替文字你有视频帧的特点,所以你需要替换第一个嵌入层与密集层.同样在上面的文章N类被用作标签,而不仅仅是二进制.所以,作为一个起点,你可以尝试这样的东西:

model = Sequential()
    model.add(TimeDistributed(Dense(16, activation="relu")))
    model.add(LSTM(32, return_sequences=True)
    model.add(TimeDistributed(Dense(1, activation="relu")))
    model.compile(loss='binary_crossentropy', optimizer='nadam', metrics=['accuracy'])

该模型将视频帧特征序列作为输入,并且将地面实况标签序列作为每个视频的输出。

相关问题