我用Bring Old Films Back to Life打NTIRE2023 Colorization比赛

文章介绍了NTIRE2023VideoColorization比赛,基于CVPR2022BringOldFilmsBacktoLife,提供了数据集下载、代码库准备、数据加载、模型创建和配置文件的修改方法。还提到如何加载预训练模型进行微调,并邀请读者交流相关技术。
摘要由CSDN通过智能技术生成

在NTIRE2023中,我们基于CVPR 2022 Bring Old Films Back to Life 进行了比赛,这里给出了使用方法。这次以NTIRE 2023 Video Colorization比赛的数据为例。本次我们不做开源,不过代码的修改也很简单。

1. 数据集下载

数据集的下载可以在比赛官网下载 天池地址,数据集下载好后的数据如下图所示:

 官方给出了如何将彩色视频转化为灰色视频的脚步,色彩转换脚本

2. 代码库准备

下载Bring Old Films Back to Life代码,代码结构如下,基本所有的核心部件都在VP_code目录下

 首先,我们需要根据比赛的数据集改写数据加载方式,数据加载在VP_code/data/dataset.py下完成。

dataset.py主要内容如下,原本的脚本只有Film_dataset_1~Film_dataset_8:

我们为比赛写了Film_dataset_9和Film_dataset_10两个类,分别用来做训练和验证,两者区别不大,以Film_dataset_9为例:

 在初始化时,主要关注self.lq_frames与self.gt_frames,用来加载路径,如果对超分辨率数据集REDS结构熟悉,那么这个初始化和加载方式基本是一样的。

 在__getitem__方法中,每次根据预先设定好的加载帧数,加载灰色和彩色视频,加载方式是用OpenCV读取,最后放到一个字典里。验证集的Film_dataset_10和该类写法基本一直,准备好判断条件即可。

这里加入你有了自己的新想法,设计了新模型,那么就把他放在VP_code/models下面,可以看到所有实现的网络结构Class都在这个目录下,我们可以新建一个.py脚本然后去实现即可。

 

 所有实现网络的脚本,里面的主体结构必须写成Video_Backbone,因为该代码库加载网络以这个为统一命名的。

 

加载模型时,该代码库以python脚本名进行加载的,所以在训练时,训练脚本main_gan.py的--name参数就是你在modes下面新建方法的命名,比如我自己想了方法叫testA,建立了脚本testA.py,那么训练时也是需要将--name参数叫为testA,保持一致即可。

###################################################################

补充:所有新建的数据加载类都需要在VP_code/train.py进行import,同时加上判断条件,实现如下:

原来的代码库是没有NTIRE2023这个判断的,我们自己加上即可,这个命名在后面写.yaml配置时会用到。

###################################################################

在数据和模型都准备好后,最后需要准备好配置文件,在configs下面新建一个.yaml配置文件,可以仿照官方给的那个去建立,然后去更改数据集加载类的命名以及数据路径即可。

这里可以看到,我把datasets的train和val的name都换成了自己建立的class命名,数据集路径也做了相应替换。所有这些都准备好后就可以开始训练了!

如果你想从某个预训练模型开始微调,那么需要做两个事情:1.原本的代码实现里没有添加加载预训练模型,我们在train.py的初始化部分__init__()方法里要添加pytorch加载模型的代码:

 这部分代码原来的代码是没有的,我们自己实现一下即可。然后就是配置文件了,配置文件里把预训练模型的路径加载进来即可:

 这里加载你的预训练模型即可!这样你就可以针对场景做微调了。

接触视频上色时间不长,还有很多问题没有搞清楚,还需要继续研究,欢迎和大家继续交流!

邮箱:1792418414@qq.com

 

 

好的,这是一个比较简单的爬虫任务,可以使用`requests`库和`beautifulsoup4`库来实现。以下是代码实现的步骤: 1. 导入所需库 ```python import os import requests from bs4 import BeautifulSoup ``` 2. 确定要爬取的网页链接 ```python url = 'https://movie.douban.com/top250' ``` 3. 发送请求获取网页内容,并用 BeautifulSoup 解析 ```python resp = requests.get(url) soup = BeautifulSoup(resp.text, 'html.parser') ``` 4. 找到电影图片的标签,并获取图片链接 ```python img_tags = soup.select('.pic img') img_links = [tag['src'] for tag in img_tags] ``` 5. 创建文件夹用来存储电影图片 ```python if not os.path.exists('films_pic'): os.mkdir('films_pic') ``` 6. 遍历图片链接,下载并保存图片 ```python for i, link in enumerate(img_links): img_resp = requests.get(link) with open(f'films_pic/{i+1}.jpg', 'wb') as f: f.write(img_resp.content) ``` 完整代码如下: ```python import os import requests from bs4 import BeautifulSoup url = 'https://movie.douban.com/top250' resp = requests.get(url) soup = BeautifulSoup(resp.text, 'html.parser') img_tags = soup.select('.pic img') img_links = [tag['src'] for tag in img_tags] if not os.path.exists('films_pic'): os.mkdir('films_pic') for i, link in enumerate(img_links): img_resp = requests.get(link) with open(f'films_pic/{i+1}.jpg', 'wb') as f: f.write(img_resp.content) ``` 注意:请在下载图片时尊重豆瓣网站的版权,勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值