# ConvLSTM **Repository Path**: ericps/conv-lstm ## Basic Information - **Project Name**: ConvLSTM - **Description**: 基于Convolutional LSTM 模型学习显著性变化以及预测用户视野 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: vod-dev - **Homepage**: https://github.com/ndrplz/ConvLSTM_pytorch - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2021-04-28 - **Last Updated**: 2024-11-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## Convolution LSTM - Video on Demand Prediction **目前比较好训练过程是采用9x16的attention数据集** ### 网络结构 - 输入处理InputVGG 1. 输入使用原始视频帧会超过RAM,640*320不行 - 核心网络ConvLSTM - 输出处理OutputCNN ### TIPS 1. 最好不要多次使用`append(stack)` ```python # 内存会暴增 mix_list.append(np.stack([saliency_maps[j], fixation_maps[j]], axis=0)) ``` 2. 注意testData的batchSize要小于trainDate的batchSize,不然会报内存出错 ### LOG 1. 使用一个人前80%数据预测这个人后20%数据效果还可以,基本上召回率都是90%以上 - **[0916]**:加入sphereNet的saliency map之后的结果。`windows=4`, 参考文件 [Skiing1.csv](offline/Skiing1.csv) - **[0922]**: 使用第三个用户的观看数据预测第四个用户的观看过程。`windows=4`, 参考文件[Skiing2.csv](offline/Skiing2.csv) - **[1004]**: 测试前9个视频的数据,一般就是以第24和43个用户的数据,记录所有采样帧的recall,每次训练需要修改`frame_path`,`model_path`以及`index`。 但是效果好像不太理想,是不是两个人的之间的观看习惯有点不一样。 - **[1006]**: 测试之后发现实验一的第8个视频(football)记录的数据有点缺失 - **[1015]**: 训练之后,画图test,recall以及accuracy - 训练之后的数据在trainList中画图呈现 - 选了一些测试准确率以及平均召回率比较好的数据在testList画图 - **[1025]**:标出了recall:红线,acc:绿线,还有他们的average:虚线 - [train.png](./offline/train.png) 是那个训练的效果,其中`cooking_i`:表示的是使用cooking这个视频的第i个用户的数据训练的 - [test.png](./offline/test.png) 是那个测试的效果, 其中`cooking_i_j `表示使用第i个用户训练的模型去预测第j个用户的结果,关于那个acc这里我有点疑问(目前是如果每帧的recall大于0.6就算这一帧预测准确了,这样统计所有预测准确的帧,然后和帧的总数做比值) - **[1117]**: 加入3大指标以及区分frameAcc和tileAcc - **[1217]**: 训练48个用户的观看模型,存在`D:\VR_project\ViewPrediction\offline\model_9x16`文件夹,测试指标数据全在`D:\VR_project\ViewPrediction\offline\log`文件中,都是9x16 2. 使用某个人挂看数据训练之后预测另一个人的效果比较差,基本上只有一半的时间能够达到可以接受的召回率 - 使用几个人的观看数据的平均值来训练模型的效果也不太好 - 现在考虑加入原始RGB视频帧训练