我正在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,而窗口内的所有内容则保持不变。这个解决方案的问题是我的预测是错误的。因为我改变了数据,网络似乎找到了一个坑,即使没有坑存在。有没有人知道如何以不同的方式找到坑的长度?
发布于 2018-05-11 23:41:26
假设凹坑是连续的,而不是预测每个点是否为凹坑,您可以让网络根据移动的窗口预测从法线到凹坑和凹坑到法线的变化。这仍然是一个多标签分类问题。现在,您可以从模型预测更改的点计算坑的长度,知道您从法线曲面开始。
https://stackoverflow.com/questions/50294755
复制相似问题