继续探索Roop(单张图视频换脸)的各方面:比如喜闻乐见的“加速”

news/2024/11/29 1:39:58/

文章目录

  • (一)Roop项目的特点
  • (二)Roop也能加速***
  • (三)Roop更新和依赖
    • (3.1)飞速更新
    • (3.2)依赖问题
    • (3.3)需要CUDA么

前两天写了🔗《简单介绍Roop(类似SimSwap)单张图视频换脸的项目》 ,介绍了基本安装使用。
之后这个项目飞快的更新着,减少了很多问题更加实用了,所以准备多说几句。

(一)Roop项目的特点

官方:🔗地址。

之前只觉得它很方便用,选一张图,选一个视频,点击开始。
后来发现这个项目更新得超级快,并且它最终合成的视频质量挺高的。
对比DeepFaceLab和SimSwap大概特点如下:

  • Roop:更注重源的特征,相对缺少目标视频的自然程度,角度远近有要求(单图嘛),很快。
  • DFL:注重源的特征,更注重目标视频的自然程度(除非素材不好),角度远近都能处理,很费时间。
  • SimSwap:很久没关注了,项目基本没动(最近更新了模型),似乎只替换了五官,所以非常自然但不像。

简单说就是Roop生成的结果非常像源,但可能不太自然,适合正面的变化不强烈的视频(沙雕舞蹈等)。
适合玩一玩,而不是DFL那样属于伪造级别了(作者说只是练手……哇噢)。

(二)Roop也能加速***

因为项目使用了NSFW检查器,会检查源图和目标视频每帧的内容。
本身为了安全着想是好事,但极大的拖慢了速度。
实测去掉NSFW内容检查后,大概快了7倍左右。
算是快不少了吧,我的天哪😄。

注释掉项目目录\roop\core.py几行相关的代码就可以了:

#from opennsfw2 import predict_video_frames, predict_image
......# if predict_image(target_path) > 0.85:#     quit()
......# seconds, probabilities = predict_video_frames(video_path=args.target_path, frame_interval=100)# if any(probability > 0.85 for probability in probabilities):#     quit()
......

所以到底要安全还是快速,很纠结啊。

(三)Roop更新和依赖

(3.1)飞速更新

目前项目似乎处于飞速发展阶段,我刚提了个PR就发现一天N个版本就解决了问题。
看看这速度,我发现的全部问题都没了,所以决定不打扰了,告辞😄。
幸好master合并得不是很快……
在这里插入图片描述
目前启动命令行有变化,可以指定硬件加速的类别。
已N卡为例,由原来的:

.\venv\Scripts\python.exe .\run.py --gpu

变成现在的:

.\venv\Scripts\python.exe .\run.py --gpu-vendor nvidia

(3.2)依赖问题

目前依赖文件requirements.txt变成这样的:

--extra-index-url https://download.pytorch.org/whl/cu118numpy==1.23.5
opencv-python==4.7.0.72
onnx==1.14.0
insightface==0.7.3
psutil==5.9.5
tk==0.1.0
pillow==9.5.0
torch==2.0.1+cu118
onnxruntime==1.15.0; sys_platform == 'darwin' and platform_machine != 'arm64'
onnxruntime-silicon==1.13.1; sys_platform == 'darwin' and platform_machine == 'arm64'
onnxruntime-gpu==1.15.0; sys_platform != 'darwin'
tensorflow==2.13.0rc1; sys_platform == 'darwin'
tensorflow==2.12.0; sys_platform != 'darwin'
opennsfw2==0.10.2
protobuf==4.23.2
tqdm==4.65.0

意思就是一定得用GPU了,这没问题。
很多都指定的等号感觉不太好。
毕竟旧版依赖也能用,未来的新版依赖很可能也能用的。
感觉最好是写成>=最小版本,适应性强些(比如把python环境不按项目全装本机的人-_-参考这里)。

之前我装的是torch==2.0.0+cu118
因为torchaudiotorchvision当时最新的版本也是依赖torch==2.0.0+cu118

但是现在变成torch==2.0.1+cu118这也太新了吧。
所以也需要升级 torchaudio==2.0.2+cu118torchvision==0.15.2+cu118

(3.3)需要CUDA么

咱又不是开发用,所以cuda_11.8.0_522.06_windows.exe不需要装的。
我无脑按照官方说明安装后,又卸载了它(之前的项目些也都没要它啊)……

但CUDNN还是要的,所以cudnn-windows-x86_64-8.9.1.23_cuda11-archive.zip这部分不变。


http://www.ppmy.cn/news/239712.html

相关文章

2020-10-24

升内存,联想IdeaPad330C-15IKB拆机图解 工具:小螺丝刀,银行卡一张(类似的硬质卡片,公交车卡之类的都可以) 先拧掉小螺丝,再用银行卡撬开四边就可以啦 如果实在心里没谱,就像第一次的…

低压差低功耗LDO低ETA5071是应用的理想电源,非常适合LOT、可穿戴设备和指纹锁应用

刘西西15914002706 微信同号 产品描述 ETA5071是一个固定输出,低压差(LDO)低功耗线性电压调节器,具有超低待机电流低至1UA。它可以承受高达7V的输入电压和输出300mA。因此,ETA5071是低功耗应用的理想想电源&…

电脑开机显示checking media解决方法

1、进入pe界面,打开diskgenius分区工具,将硬盘重新分区,分成mbr格式 2、然后进bios,切换到security选项,选择seurce boot回车进入下一子菜单 3、然后选择seurce boot,设置为disabled 4、接着切换到start…

330UF16V 10*7.7片式铝电解电容封装

合粤电子HD系列7.7mm高量产规格: 合粤电子新推出10*7.7mm高HD系列高频低阻抗贴片铝电解电容适用于通信设备、电脑及周边配件、LCD电视机、便携式DVD播放机、GPS定位导向、车载TV/DVD/RADIO、高清电视(包括数字机顶盒)、LCD、车载DVD,机顶盒,…

联想卡在logo界面_电脑开机一直停在lenovo界面的解决方法

现在不管是学习还是工作我们都离不开电脑,但近日有的用户却反映说自己的电脑出现了开机一直停在lenovo界面的情况,不知道怎么解决,很是影响自己的使用。所以今天小编为大家整理的就是关于电脑开机一直停在lenovo界面的解决方法。 解决方法如下…

Mac 系统下python中文绘图

Mac 系统下Python绘图乱码 问题:博主在使用了Mac系统之后,发现使用Matplotlib绘图的时候,使用中文设计titile or label的时候,最终图形上并没有展现,博主查看了很多解决方案,最终找到了解决方案。 打开Term…

钰泰ETA5070/ETA5071,1uA超低功耗和300mALDO,兼容RT9078

ETA5070是一种固定输出、低损耗(LDO)低功率线性电压调压器,其特点是超低备用电流低至0.7uA。它能承受高达7V的输入电压,并在输出时至少提供150mA。因此,ETA5070是低功耗应用、可穿戴设备和物联网等电池供电系统的理想电源。有大小两种封装。 …

pytorch学习路上遇到的坑

pytorch学习路上遇到的坑 关于pytorch初次运行时,出现了这样的错误: TimeoutError: Lock error: Matplotlib failed to acquire the following lock file: C:\Users\Administrator.matplotlib\fontlist-v330.json.matplotlib-lock This maybe due to an…