实现CNN+LSTM模型来预测视频



大家好,我已经为cnn(alexNet(+lstm模型制作了模型,用于视频中的预测,从10帧中进行检查以进行预测但我仍然困惑于如何编码程序来首先检查帧,以及如何正确调整其大小,以便我输入的每个视频都可以通过这个型号的进行检查

以下是一些代码,它已经被制作成

while vid.isOpened():
ret, frame = vid.read()
if ret == True:
frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
scale_percent = 20 # percent of original size
width = int(frame.shape[1] * scale_percent / 100)
height = int(frame.shape[0] * scale_percent / 100)
dim = (width, height)
frame_set = cv2.resize(frame, dim, interpolation = cv2.INTER_AREA)
pred = model.predict(frame_set)
texto = pred(frame)
frame = cv2.putText(frame,str(texto),(0,130), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 3)
cv2.imshow('Video', frame)
if cv2.waitKey(25) & 0xFF == ord('q'):
break
else:
break
vid.release()
cv2.destroyAllWindows()

但我仍然有错误,因为我的大小调整与我的型号不同,询问

ValueError: Input 0 is incompatible with layer model_1: expected shape=(None, 10, 299, 299, 3), found shape=(None, 384)

它就像我制作模型时一样询问10是我的模型需要预测的帧数

Alexnet模型的输入形状为(None,10299299,3(,而frame_set样本的大小为(None384(。您应该将模型的输入形状修改为(384((例如,通过添加第一层(input((384,(((,尽管我认为Alexnet更适合图像。然而,我不能告诉你如何做到这一点,因为我没有看到模型定义

最新更新