我正在研究LSTM网络以检测道路上的坑。我有一个带有来自汽车每个车轮的车轮速度的数据集。当一个坑发生时,接下来的40个标签是'1'。所有其他标签均为“0”。这是我的模特:
model = Sequential()
model.add(LSTM(64,input_shape=(len(X_train[0]),1),return_sequences=True))
model.add(Dropout(0.5))
model.add(Activation('relu'))
model.add(BatchNormalization())
model.add(LSTM(64,input_shape=(len(X_train[0]),1),return_sequences=True))
model.add(Dropout(0.5))
model.add(Activation('relu'))
model.add(BatchNormalization())
model.add(TimeDistributed(Dense(1)))
model.add(Activation('sigmoid'))
从这里我得到了一些非常好的预测: Top: predicted, bottom: labels 现在我想计算发现序列的长度,也就是坑本身。这是我正在努力的地方。我正在考虑使用某种窗口。窗口外的所有内容都设置为0,内部的所有内容都保持不变。这个解决方案的问题是我的预测是错误的。因为我改变了数据,即使没有存在坑,网络也似乎找到了一个坑。有谁知道我怎么能以不同的方式找到坑的长度?