EVDI - Unifying Motion Deblurring and Frame Interpolation with Events训练自己的数据集

Environment setup 环境部分
Python 3.7
Pytorch 1.4.0
opencv-python 3.4.2
NVIDIA GPU + CUDA
numpy, argparse

配置基本环境:

conda create -n evdi python=3.7
conda activate evdi
git clone git@github.com:XiangZ-0/EVDI.git
cd EVDI
pip install -r requirements.txt
cd codes

测试部分(运用给的数据集和模型测试):
Test on GoPro data

python Test.py --test_ts=0.5 --model_path=./PreTrained/EVDI-GoPro.pth --test_path=./Database/GoPro/ --save_path=./Result/EVDI-GoPro/ 

Test on HQF data

python Test.py --test_ts=0.5 --model_path=./PreTrained/EVDI-HQF.pth --test_path=./Database/HQF/ --save_path=./Result/EVDI-HQF/ 

Test on RBE data

python Test.py --test_ts=0.5 --model_path=./PreTrained/EVDI-RBE.pth --test_path=./Database/RBE/ --save_path=./Result/EVDI-RBE/

Main Parameters:

--test_ts : reconstruction timestamp, normalized in [0,1].
--model_path : path of pretrained model.
--test_path : path of test dataset.
--save_path : path of reconstruction results.

Train(训练自己的数据集):
数据集结构

<project root>
  |-- Database
  |     |-- Raw
  |     |     |-- Events.txt
  |     |     |-- Exposure_start.txt
  |     |     |-- Exposure_end.txt
  |     |     |-- Blur
  |     |     |     |-- 000000.png
  |     |     |     |-- 000001.png
  |     |     |     |-- ...

其中
Events.txt contains event data in (t,x,y,p) format with t in ns and p in {-1, 1}.
Exposure_start.txt contains the start timestamp of each blurry image in ns.
Exposure_end.txt contains the end timestamp of each blurry image in ns.

数据准备部分(数据一定要是统一大小的,而且记得更改代码中对应的两处数据集大小的位置):

python Prepare_data.py --input_path=./Database/Raw/ --save_path=./Database/train/

训练

python Train.py

Main Parameters:

--model_path : model save path.
--train_path : path of train datasets.
--num_epoch : number of epoch.
--loss_wei : weights for loss functions [blur-sharp, blur-event, sharp-event].
--num_frames : the number of reconstructions per input, i.e., 'N' in paper (recommended N>= 25).
--bs : batch size.
--lr : initial learning rate.

遇到问题:
1、用自己的数据集制作成需要的形式,但是有assert的错误,之前找不到原因就直接注释掉了,结果训练的时候一直warning,报错,生成的唯一一个模型跑出来图像是全黑的,然后发现5组数据中,有一组数据跟其他的大小不一样,所以直接删掉了那组数据,然后在数据生成部分就没有问题了,训练的时候也没有问题,但是我刚开始设置学习率是1e-8,然后训练了10个epoch,结果图像是纯灰色的……

测试自己的数据集:

python .\Test.py --test_ts=0.5 --model_path=.\PreTrained\epoch_0008.pth --test_path=E:\Pac
ked\00004\0001\ --save_path=.\Result\

你可能感兴趣的:(事件相机,超分辨率,图像处理,python,深度学习,pytorch)