转载个人知乎账号:https://www.zhihu.com/people/yin-xing-pan/
背景
最近注意到了-密歇根大学博士后的视频背景动态转换研究。
就决定自己试试,先上实验后的结果
随手在下载一个视频,然后作为转换的demo, 不到10分钟,便产生如上图的视频。真香系列
话不多说,直接进入我们主题,如何进行系统操作,并如何部署成我们自己想要的服务。等我娓娓道来
实践
找到github项目地址,clone到本地服务,无外乎就是搭建环境,训练模型,跑起服务,然后做个性化定制提供接口等服务。
项目地址:
https://github.com/jiupinjia/SkyARgithub.com
环境搭建
1:#创建虚拟环境 python3 -m venv venv
2:激活环境 source venv/bin/activate
3: 安装依赖 pip install -r Requirements.txt
训练模型
下载官方提供的数据 CVPRW20-SkyOpt dataset
python train.py \
--dataset cvprw2020-ade20K-defg \
--checkpoint_dir checkpoints \
--vis_dir val_out \
--in_size 384 \
--max_num_epochs 200 \
--lr 1e-4 \
--batch_size 8 \
--net_G coord_resnet50
当然你可以提过此步骤直接使用已经训练好的模型,进行验证实践即可。
https://drive.google.com/uc?id=1COMROzwR4R_7mym6DL9LXhHQlJmJaV0J&export=downloaddrive.google.com
解压后,得到pt模型数据,
然后自定义config,找到你要进行转换的视频,放入你的文件目录,找到你想要的背景图片,
{
"net_G": "coord_resnet50",
"ckptdir": "./checkpoints_G_coord_resnet50",
"input_mode": "video",
"datadir": "./test_videos/canyon.mp4",
"skybox": "district9ship.jpg",
"in_size_w": 384,
"in_size_h": 384,
"out_size_w": 845,
"out_size_h": 480,
"skybox_cernter_crop": 0.5,
"auto_light_matching": false,
"relighting_factor": 0.8,
"recoloring_factor": 0.5,
"halo_effect": true,
"output_dir": "./eval_output",
"save_jpgs": false
}
其中datadir 为你原始视频位置,我自己进行了替换。skybox 为背景图片。好戏开始
python skymagic.py --path ./config/cofig-mengmeng.json
最终目录下生产了demo.mp4 即为文章初始时候,我的视频。
非常有意思,由于项目优先支持GPU,我本人将项目改了代码支持了我mac的cpu进行。
如果你感兴趣,还可以将项目提供http服务,app服务等,为大家提供自定义视频服务,真香!!!