tensorflow - 使用自动编码器从视频帧中检测异常,LSTM 如何在这里提供帮助。我需要做一个更好的模型
问题描述
我试图在视频中找到异常,我正在为正常帧训练一个自动编码器模型,所以当我将异常帧作为输入传递时,它应该会给我很高的重建成本并且高于阈值,我可以将其归类为异常。但我目前的准确率只有 63%,我该如何提高呢?这是我现在使用的卷积神经网络模型
model = Sequential()
model.add(Conv2D(128, (3,3), activation='relu', padding='same', input_shape=input_shape))
model.add(MaxPool2D(padding='same'))
model.add(Conv2D(64, (3,3), activation='relu', padding='same'))
model.add(MaxPool2D(padding='same'))
model.add(Conv2D(32, (3,3), activation='relu', padding='same'))
model.add(MaxPool2D(padding='same'))
model.add(Conv2D(16, (3,3), activation='relu', padding='same'))
model.add(MaxPool2D(padding='same'))
model.add(Conv2D(8, (3,3), activation='relu', padding='same'))
model.add(UpSampling2D())
model.add(Conv2D(16, (3,3), activation='relu', padding='same'))
model.add(UpSampling2D())
model.add(Conv2D(32, (3,3), activation='relu', padding='same'))
model.add(UpSampling2D())
model.add(Conv2D(64, (3,3), activation='relu', padding='same'))
model.add(UpSampling2D())
model.add(Conv2D(128, (3,3), activation='relu', padding='same'))
model.add(Conv2D(n_channels, (3,3), activation='sigmoid', padding='same'))
输入形状为 (128, 128, 1)。另外我正在使用将图像转换为 grascaleimg = cv2.imread(join(join(Config.DATASET_PATH, f), c), cv2.COLOR_BGR2GRAY)
并且正在训练 30 个 epoch 是否有更好的模型?
解决方案
推荐阅读
- python - 如何在 Internet Explorer 中使用 pywinauto 保存 html
- jhipster - Jhipster 使用 Maven 构建生产命令返回错误
- java - Java JDK 11 打破旧的罐子/程序
- c# - 无法理解 CSharp 中的正则表达式行为
- node.js - 无法使用 NodeJS 将图像插入 MongoDB 服务器
- python-3.x - Python 新手,我应该为此代码使用类函数吗?
- c# - 如何返回其他类中 onchanged() 方法反映的目录
- php - Laravel / Lumen formRequest 在提交所有有效值时抛出错误
- java - Twilio SDK java.lang.ClassNotFoundException:找不到类“org.webrtc.EncodedImage”
- azure-functions - 如何在 serverless 计算上防止数据库瓶颈?