README.md 4.26 KB
Newer Older
mashun1's avatar
mashun1 committed
1
2
3
4
# EvTexture

## 论文

mashun1's avatar
mashun1 committed
5
`EvTexture: Event-driven Texture Enhancement for Video Super-Resolution`
mashun1's avatar
mashun1 committed
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

* https://arxiv.org/abs/2406.13457

## 模型结构

EvTexture采用双向循环网络,其中特征向前和向后传播。

![alt text](readme_imgs/models.png)

## 算法原理

在每个时间戳,使用一个运动分支和一个并行的纹理分支,以明确增强纹理区域的恢复。

![alt text](readme_imgs/alg.png)


## 环境配置

### Docker(方法一)
    
    docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:2.1.0-ubuntu20.04-dtk24.04.1-py3.10

    docker run --shm-size 50g --network=host --name=evtexture --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v 项目地址(绝对路径):/home/ -v /opt/hyhal:/opt/hyhal:ro -it <your IMAGE ID> bash

    pip install -r requirements.txt

    python setup.py develop


### Dockerfile(方法二)

    docker build -t <IMAGE_NAME>:<TAG> .

    docker run --shm-size 50g --network=host --name=evtexture --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v 项目地址(绝对路径):/home/ -v /opt/hyhal:/opt/hyhal:ro -it <your IMAGE ID> bash

    pip install -r requirements.txt

    python setup.py develop


### Anaconda (方法三)

1、关于本项目DCU显卡所需的特殊深度学习库可从光合开发者社区下载安装:
chenzk's avatar
chenzk committed
49
https://developer.sourcefind.cn/tool/
mashun1's avatar
mashun1 committed
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65

    DTK驱动:dtk24.04.1
    python:python3.10
    torch: 2.1.0
    torchvision: 0.16.0

Tips:以上dtk驱动、python、torch等DCU相关工具版本需要严格一一对应

2、其它非特殊库参照requirements.txt安装

    pip install -r requirements.txt

    python setup.py develop

## 数据集

chenzk's avatar
chenzk committed
66
[OneDriver](https://1drv.ms/f/c/2d90e71fb9eb254f/EnMm8c2mP_FPv6lwt1jy01YB6bQhoPQ25vtzAhycYisERw?e=DiI2Ab)
mashun1's avatar
mashun1 committed
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100

### 数据处理

该部分仅展示整体流程,详细请参考[DataPreparation](datasets/DataPreparation.md)

- 将原始视频转换为图像(参考`datasets/utils/video_to_img.py`);
- 将图像转换为HWC格式numpy类型的数据并以h5结构存储在`/path/to/xx.h5/images`中;
- 将视频转换为事件,包含forward及backward,分别存储在`/path/to/xx.h5/voxels_f``/path/to/xx.h5/voxels_b`中。

以上步骤可参考`datasets/dataproparation.py`,注意,该脚本并非官方版本,使用前请仔细检查。执行下述命令准备相应的环境。

    python -m pip install pybind11

    export CMAKE_PREFIX_PATH=/usr/local/lib/python3.10/site-packages/pybind11/share/cmake/pybind11/:$CMAKE_PREFIX_PATH

    sudo apt update

    sudo apt install libopencv-dev

    export CMAKE_PREFIX_PATH=/usr/lib/x86_64-linux-gnu/cmake/opencv4/:$CMAKE_PREFIX_PATH

    下载 eigen3 https://gitlab.com/libeigen/eigen/-/releases/3.4.0  (zip版本)

    unzip /path/to/eigen3.zip 
    cd /path/to/eigen3
    mkdir build && cd build 
    cmake .. && make 
    make install

    # 安装boost
    sudo apt install build-essential libboost-system-dev libboost-thread-dev libboost-program-options-dev libboost-test-dev

    sudo apt install libboost-all-dev

mashun1's avatar
mashun1 committed
101
    cd others/rpg_vid2e/esim_py && python setup.py install
mashun1's avatar
mashun1 committed
102
103
104

注意:数据处理或下载完成后,需按照`basicsr/data/meta_info`中的文件格式创建相应的文件。

mashun1's avatar
mashun1 committed
105
106
107
108
## 训练



mashun1's avatar
mashun1 committed
109
110
111
112
113
114
115
116
117
118
119
120
121
## 推理

    export HIP_VISIBLE_DEVICES=0

    # 1表示使用DCU数量

    bash scripts/dist_test.sh 1 options/test/EvTexture/test_EvTexture_REDS4_BIx4.yml

    bash scripts/dist_test.sh 1 options/test/EvTexture/test_EvTexture_Vid4_BIx4.yml

## result


mashun1's avatar
mashun1 committed
122
123
124
|原始视频|修复后|
|:---:|:---:|
|![alt text](readme_imgs/ori_10y.gif)|![alt text](readme_imgs/vid4_10y.gif)|
mashun1's avatar
mashun1 committed
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141

### 精度



## 应用场景

### 算法类别

`视频超分`

### 热点应用行业

`安防,媒体,环境`

## 预训练权重

chenzk's avatar
chenzk committed
142
[OneDriver](https://1drv.ms/f/c/2d90e71fb9eb254f/EnMm8c2mP_FPv6lwt1jy01YB6bQhoPQ25vtzAhycYisERw?e=DiI2Ab)
mashun1's avatar
mashun1 committed
143
144
145
146
147
148
149
150
151

    experiments/
    └── pretrained_models
        └── EvTexture
            ├── EvTexture_REDS_BIx4.pth
            └── EvTexture_Vimeo90K_BIx4.pth

## 源码仓库及问题反馈

chenzk's avatar
chenzk committed
152
* https://developer.sourcefind.cn/codes/modelzoo/evtexture_pytorch
mashun1's avatar
mashun1 committed
153
154
155
156

## 参考资料

* https://github.com/DachunKai/EvTexture/tree/main