我希望对视频的每一帧进行二进制分类。我有几个视频的每一帧的地面真实值标签和特征向量,但不确定如何将其作为时间序列问题来训练RNN。如何使用视频中前一帧的预测来帮助通知未来的预测?我认为这可以通过一对一的RNN来实现,尽管我找不到任何相关的例子。
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'])
该模型将视频帧特征序列作为输入,并且将地面实况标签序列作为每个视频的输出。
1条答案
按热度按时间hmmo2u0o1#
你的任务与自然语言处理中的命名实体识别任务非常相似,在命名实体识别中,你有一个单词序列,对于每个单词,你都想确定一个单词是否是命名实体(比如一个人或公司的名字)。
一个多对多的RNN架构应该适合这个任务。请查看下面的文章:https://towardsdatascience.com/named-entity-recognition-ner-using-keras-bidirectional-lstm-28cd3f301f54
代替文字你有视频帧的特点,所以你需要替换第一个嵌入层与密集层.同样在上面的文章N类被用作标签,而不仅仅是二进制.所以,作为一个起点,你可以尝试这样的东西:
该模型将视频帧特征序列作为输入,并且将地面实况标签序列作为每个视频的输出。