文章目录

  • 文件结构
  • 执行步骤
  • 效果优化
    • 总结:
    • 切图层面:
    • extract层面:
    • select 层面:
    • 原始数据优化:
    • 执行过程优化:
    • convert :
    • 其他优化idea
  • 辅助知识
  • 实验记录
  • 环境配置
    • 环境配置——数据:
    • 环境配置——第三方库
    • 环境配置——操作工具
    • 环境配置——硬件
    • 环境配置——其他
  • bug解除
  • 关键信息

原本这些文字是为了我方便,临时记录的,所以整体逻辑可能不清晰,留坑以后再梳理的更好。

文件结构

总的来说:

  • 云端没有必要这么麻烦,只需要几个文件夹:源码、input、output、input_A、input_B、models,出过源码一般都要是空的才好。
  • oss 端:文件系统需要完善一些,OSS可以作为一个项目的中心
  • Mac端:Mac端主要起到的作用是:
    • 准备素材:利用软件下载视频,利用FFmpeg剪切视频、切出图片等等。
    • 查看效果:查看convert的结果的效果怎么样。

文件结构:
项目P:

  • code: —————————————————————GPU
  • data:—————————————————————————CPU
    • A:

      • video.rmvb(target_video.rmvb)下载素材视频
      • photo_v/ : fps=100 生成素材照片
      • photo_p 下载素材照片
      • photo_f 合并素材照片
      • A_source.zip(photo_v+photo_p) 压缩素材照片
    • B
  • OSS:————————————————————————————————————OSS
    • V_1:

      • source: A_source.zip;A_source.zip 上传至OSS,并下载到Mac
  • extract:—————————————————————————————GPU or cpu
    • V_1

      • A

        • input : 下载并解压缩
        • output : 提取人脸照片集
        • A_extract.zip(output) 压缩人脸照片集
      • B
  • OSS:————————————————————————————————————OSS
    • V_1:

      • extract :A_extract.zip;B_extract.zip 上传至OSS,并下载到Mac
  • select:—————————————————————————————————————————Mac
    • V_1: auto →manual

      • select_A→zip(A_select.zip) 挑选并压缩
      • select_B→zip(B_select.zip) 挑选并压缩
  • OSS:————————————————————————————————————————————————OSS
    • V_1:

      • select :A_select.zip;B_select.zip 上传至OSS,并下载到GPU
  • train:———————————————————————————————————————————————————— ————GPU
    • V_1_1:

      • input_A :下载解压
      • input_B :下载解压
      • models :训练生成
      • models.zip:压缩模型
  • OSS:————————————————————————————————————————————————OSS
    • V_1_1:

      • models :models.zip 上传至OSS,并下载到GPU
  • convert:———————————————————————————————————————————————————————— ——————GPU
    • V_1_1_1:

      • target_video.rmvb:目标视频 软连接做好
      • input :切出照片集( fps=25)
      • models : 转换算法软连接做好
      • output: 转换结果
      • silent.mp4: 合成无声视频
      • voice.mp3 :取出目标视频音频
      • result.mp4:合成最终完整结果
      • result.zip:压缩(output+silent.mp4+voice.mp3+result.mp4)
  • OSS:——————————————————————————————————————————————————————————————————————————OSS
    • V_1_1_1:

      • result :result.zip 上传至OSS,并下载到Mac

项目Q:

oss

  • data

    • h
    • l
      • photo
      • video
    • p
      • photo
      • video
  • l_project/
    • v_1/

      • source/
      • extract/
      • select/
      • v_1_1/
        • models/
        • V_1_1_1/
          • result/

执行步骤

1——环境搭建:

  1. 硬件:实例(OSS)、GPU、CUDN、CUDNN、
  2. 软件: anaconda、TensorFlow_GPU 、dlib 、face_recognize、keras、、、、、
  3. 文件:code、input_A 、input_B/、input、output、models、data(photo、video、history)

2——数据准备:

  1. 视频剪切
  2. 音频导出
  3. 图片切出

3——人脸提取:extract

  1. A:

    • 把A的照片集cp到input里
    • python3 faceswap.py extract -i input -o output( -i input -o output可以省略不写)
    • 手动删除output不合适的照片
    • mv output input_A;rm input/*
  2. B:
    • 把B的照片集cp到input里
    • python3 faceswap.py extract -i input -o output( -i input -o output可以省略不写)
    • 手动删除output不合适的照片
    • mv output input_B;rm input/*

4——模型训练:train

  • python3 faceswap.py train -A input_A -B input_B -o models(-A input_A -B input_B可以省略不写)
  • lossA 和 loss B 至少降到0.015以下

5——照片转换:convert

  • python3 faceswap.py convert -i input -o output( -i input -o output可以省略不写)
  • 照片中尽量只有目标人脸,不要有其他人脸,不然会一起被转换了的

效果优化

总结:

* 最必要的一个参数就是在convert时候的-f fi
* 其他的参数基本上用处不大(-v 可以展现详细的信息)
* train中的部分参数,可能要启动图形界面相关的东西,在云端无GUI的命令行界面下简单调用可能会出错。
* 训练的时候:input_A是吴京的大头照,input_B是你的大头照(假设你想验一下战狼2),如果反了,在convert中有一个参数可以调整,我的经验下来,感觉,loss_B 的训练似乎非常重要,因为如果视频同一画面中有多张人人脸的时候(例如吴京、达康书记、张翰等等),你会发现你的脸会出现他们每个明星的脸上,而且有时候效果也差不多。
* 如果input_A、input_B文件数比较多,例如5000以上,可以考虑把样本拆分成10 份(等距随机抽样),然后一份一份的训练,先用第一份把loss训练到0.3左右,再在这个基础上,继续训练原有模型,用第二份训练到0.2左右。这样可能比直接用5000份样本来训练,要快一些。
* 注意aligment.json这个文件,这个文件在extract过程中,在input文件里产生的,里面保存的应该是人脸识别的一些结果,例如68个关键点的坐标等等。如果你仍然用这个input文件去convert,会自动调取aligment.json文件的结果,而不是在convert过程再去识别一次。如果input里的这个文件不小心被你删掉了,那么程序就会从新去识别一次人脸,找出关键点等等,这样convert过程就会很慢,很慢。
* 从耗时角度来看:最耗时的是train过程,要想把loss降到0.15以下,可能花费数个小时的GPU时间,下来是extract过程,稍微会花一些时间,十几分钟到几十分钟不等,取决文件数量。convert非常快,前提是aligment.json文件正确且完好。当然以上都是PGU环境下,CPU环境下,会非常慢,train过程更是无法想象。
* models 是可以借力训练的:* 训练一半,按下enter键退出训练(千万不要Ctrl+C)并保存结果后,可以再次启动训练,程序会默认加载已有的models继续训练(除非没有models)。* 利用上面这个特性,你可以在你替换吴京的models基础上训练你替换钢铁侠。
* 整个过程,难点是环境搭建和效果优化两个层面* 环境搭建:建议用anaconda建立虚拟环境,借用阿里云镜像市场的深度学习镜像,配合镜像保存环境,具体内容见环境配置。* 效果优化:主要牵扯到效果优化和速度提升。* 效果优化:低级层面能操作的就只有优化样本,和调整参数* 速度提升:低级层面能操作就只有优化样本了。
* 省钱策略:* 充分利用阿里云OSS:可以更加快速传输文件,更加廉价的保存文件* 镜像:基本环境搭建好了,就可以利用镜像保存环境了。* 其他:利用其他云端平台,还未尝试。

切图层面:

ffmpeg
* 用%4d这样方便排列顺序

extract层面:

更多高质量人脸

* CPU跑提取过程:* 速度太慢,3~4s一个,1万张需要 需要8个小时 如果是晚上自己去跑还是可以考虑的* 建议直接上GPU,不要浪费时间,除非能够利用上睡觉时间。
* 尝试多线程:=cpu数量时,差异不大,但是>CPU数量,就变慢了
* 提取的时候,加上人脸选择功能:-f 目标人脸 -n 删除掉不是目标人脸的人脸。* 初次尝试,发现加上-f 虽然没有报错,但是也没有work.* 第二次尝试,改变参数的输入方式,由多个照片到一个照片(且照片中仅有一张脸),由字符串到直接输入。依然是没有报错,也没有work。* 第三次尝试,换成输入extract的结果,即大头照,并且cp到当前目录,试试。有效果,但是准确率似乎并不好,很多漏掉的,很多错的也加进来来了。后续可以优化的方法:加上旋转功能或者改变阈值。我决定不在这个方向继续优化,理由是,宁愿多花一点时间,手动过滤,保证数据集的质量,也不在这个上面浪费时间。* -n  第一次尝试,似乎没有任何效果.* 反向使用(-f 非目标人脸jpg),似乎效果挺好的,哈哈,基本上目标人脸都没有是识别出来。指的注意一点是,0405照片似乎是识别出来了(=非目标人脸jpg),但是为什么-n使用的时候,这张照片没有过滤掉呢?* 决定不再继续在这个点上进行优化,因为虽然对速度没有多大改进,但是完全无法保证正确率,所以还是手动筛选吧,以保证数据集的质量。
* 旋转人脸:* 例: python3 code/faceswap-master/faceswap.py  extract -r 30* 的确多检查出了一些,但是速度满了6倍,而且还有多了一些不是的,不值得。
* 调价阈值:* 没有尝试,但是不是很建议,可以尝试设置的更高一些,以提高人脸质量,但是相信默认值是作者验证过的最优值。
* 模糊检测:* 不试了,没有必要,速度第一位,其他人来搞。
* 尝试CNN检测器:* python3 faceswap.py  extract -D "cnn"* 同样也是慢了很多
* 对其人眼:* python3 code/faceswap-master/faceswap.py  extract   -ae * 速度正常,可以使用
* 预处理:* 视频预处理:尽量找仅有目标人脸的,尽量把没有目标人脸的视频剪切掉* 图片预处理:原始切出
* 展示更为详细的输出 -v:* python3 code/faceswap-master/faceswap.py  extract   -v * 实测,可行,可以用来比对速度
* 画出脸部标记:* python3 code/faceswap-master/faceswap.py  extract   -dl* 没有必要,而且不知道会不会影响后面算法训练过程。
* 多终端一起跑:* 当然首先把数据集进行切分,一起跑,首先可以先手动删掉一些图片,然后再跑。
* 长时间运行,可能会导致速度变慢* 猜测是因为没有做内存优化,导致内存膨胀原因导致。* 解决:停掉进程,同时再次运行时,先检测运行结果 加上-s
* alignments.json 是在extract这一步写到input里的,在后面convert时候会用到,这个只要在目标视频的extract过程注意好就行了,即为目标视频,你必须这样切一下。别忘了在extract后,把json文件加到原文件当中。* 记得在多次对同一个input进行尝试时候,每次尝试都要删除一下 input里的alignments.json文件
* 模糊提出;* 并不是真正剔除,会放到output/blur文件夹内* 操作形式为 -bt 参数int 或者 --blur-threshold 参数int * 参数取值建议我3比较理想

select 层面:

* 做一个人脸识别系统,把阈值大于一定值的人脸全部跳出来,删除掉* 可以先把阈值设的高一点,把一定不是的删掉,然后再阈值降低,再删除* 当然每一波都得要人眼过滤一遍* 最终结果也要人眼过滤一下

原始数据优化:

* 视频* 尽量找只有目标人物的。* 在切出照片前可以提前剪辑,去掉没有大段没有目标任务的片段。
* 照片:* 爬虫百度图片* 爬虫其他明星照片网站

执行过程优化:

* 使用OSS作为数据中转站:
* 做一个表格辅助多线程操作(记录操作步骤和关键信息)
* 服务器端用本地磁盘,加快下载复制速度:没有必要,已经很快了,而且用本地磁盘成本陡升,用ssd盘就好了

convert :

其他优化idea

* 而数据B包含想要插入到数据中的人的面孔
* 拼接时:转换出的人脸比较小的话,拼接时,拉伸到比较大时,就会导致比较模糊
* 拼接时:脸的外侧有一个模糊的区间,也会产生问题。
* 选择人脸的区域:完全整个人脸都选中了,还是选了一部分呢,也会影响最终效果
* 两个人脸的相似度,会影响。
* 既用视频中的人脸,也用外部的人脸,这样效果会好一些(防止过拟合或欠拟合xs)
* 侧脸也会影响。
* 通用模型:别人训练好,直接用就好,例如dlib。非通用模型: 每次应用时候,都需要全部或部分单独训练,例如AB人脸替换。AB替换时,如果你用奥巴马的脸替换川普的模型训练好了,再制作奥巴马替换普京的时候,可以用之前的模型直接继续training,会省时间。
* deepfake 版本选择:选deepfake-fakeswap
* shuffle 优化:把原始图片扭曲后送入encoding,因为图片扭曲了,更容易学到共性。
* 边缘拼接:
* 训练集:并非图像越多越好,最好找一些多角度的高质量的图片训练集
* 难度在于配置,想办法在iCloud跑通。
* loss 降到0.015以内
I trained a video of Katy Perry with many different scenes, that caused the 20 days delay. Since the scenes had different positions on the faces, I had to take lots of pictures of mine. I realized that it's faster if you train each separate scene. Now that I have 20 days of training, I spend about 30 minutes on new scenes using the previous training.

辅助知识

源代码使用教程:
github.com/Fabsqrt/BitTigerLab
https://github.com/Fabsqrt/BitTigerLab/blob/master/SystemDesign/DeepFake/README.md

python环境变量的修改:
https://blog.csdn.net/qw_xingzhe/article/details/52695486

深度学习环境配置:
http://www.52nlp.cn/深度学习主机环境配置-ubuntu-16-04-nvidia-gtx-1080-cuda-8

GPU计算能力查询表:
https://blog.csdn.net/JiaJunLee/article/details/52067962
https://blog.csdn.net/allyli0022/article/details/54628987

cudnn下载:但是这个cudnn不知道怎样用,怎样解压
https://developer.nvidia.com/rdp/cudnn-archive

如何让linux程序在ssh shell关闭后继续运行?
https://blog.csdn.net/u012973744/article/details/37659551
https://blog.csdn.net/laven54/article/details/45569617

统计文件数
https://www.cnblogs.com/uzipi/p/6100790.html

图片体积,图片分辨率,图片尺寸之间是啥关系?

https://www.zhihu.com/question/19617114

创建镜像
https://help.aliyun.com/document_detail/25460.html?spm=5176.11065259.1996646101.searchclickresult.261b66d0mZJyAI 链接。

linux操作

查看文件夹下文件个数: ls -l |grep “^-”|wc -l

实验记录









放大100倍后的图









环境配置

apt-get 源更新:
https://www.cnblogs.com/gabin/p/6519352.html

环境配置——数据:

数据源是视频,所以免不了用ffmpeg进行一顿操作。
ffmpeg安装:可用anaconda一键安装
ffmpeg操作:

  1. 视频剪切:ffmpeg -ss 0:2:22 -t 0:0:10 -i input.avi -vcodec copy -acodec copy output.mp4
  2. 提取音频:ffmpeg -i source_video.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 sound.mp3
  3. 切出图片:ffmpeg -i input.mp4 -vf fps=25 -qscale:v 2 “imagename%7d.jpg”
  4. 合成视频:
    1. ffmpeg -f image2 -i image%d.jpg video.mp4
    2. ffmpeg -f concat -safe 0 -i Desktop/input.txt -vsync vfr -pix_fmt yuv420p Desktop/output.mp4
      • https://blog.csdn.net/wangshuainan/article/details/77914508?fps=1&locationNum=4
  5. 添加音频:
    1. ffmpeg -i son.mp3 -i video_origine.mp4 video_finale.mp4
    2. 如果视频少帧了,可以进行如下尝试 ffmpeg -i son.mp3 -i video_origine.mp4 -c copy video_finale.mp4
  6. 视频合并:ffmpeg -f concat -i filelist.txt -c copy output.mkv
    1. filelist.txt 文件结构:https://blog.csdn.net/doublefi123/article/details/47276739
    2. python代码:
  7. 音频合并:ffmpeg64.exe -i “concat:123.mp3|124.mp3” -acodec copy output.mp3
  8. 注意点:
    • 切图片的频率要设为25时,这样后面音频视频才能匹配上,>25音慢图像块,<25音快图像慢。
    • 切图时候图片名称格式要和合图时候一直,例如均为:imagename%04d 或 image%d
    • rmvb格式的视频无法进行“切出图片”操作
    • 腾讯视频Mac本地缓存文件位置: /Users/longqi/Library/Containers/com.tencent.tenvideo/Data/Library/Application Support/Download/video
    • 命令行视频下载工具:you-get和youtube-dl
      • https://www.cnblogs.com/tsdxdx/p/7215336.html
      • https://www.jianshu.com/p/8817a7b0c8d6
    • 视频剪辑的精准切割:把-i input.avi 放到 -ss 前面可以实现精准时间切割,否则,最小时间间隔为8秒左右https://zhuanlan.zhihu.com/p/28008666
  9. 学习资料:
    • https://baike.baidu.com/item/ffmpeg/2665727?fr=aladdin
    • https://github.com/Fabsqrt/BitTigerLab/blob/master/SystemDesign/DeepFake/README.md
    • https://www.linuxidc.com/Linux/2016-10/136545.htm

环境配置——第三方库

必要库安装:其他的都问题不大,直接用pip或者是conda安装即可,主要是下面三个比较难搞

  • TensorFlow:

    • pip install --ignore-installed —upgrade https://mirrors.tuna.tsinghua.edu.cn/tensorflow/linux/gpu/tensorflow_gpu-1.4.0-cp35-cp35m-linux_x86_64.whl
  • dlib:

    • 如果是仅安装dlib,那么建议多次尝试:conda install -c menpo dlib
  • 同时安装 face_recognition,dlib
    综合下面两个教程:

    • https://github.com/davisking/dlib
    • http://www.360doc.com/content/17/1114/15/16619343_703760624.shtml
  • OpenCV:如果普通的pip、conda方法不行,尝试下面的方法:

    • 如果普通的pip、conda方法不行,尝试下面的方法:
    • conda install —channel https://conda.anaconda.org/menpo opencv3
    • 如果上面这个方法把OpenCV的依赖包都下完了,就是没下OpenCV,可以用pip单独下一次OpenCV试一下。
  • pip:

    • http://www.ttlsa.com/python/how-to-install-and-use-pip-ttlsa/
  • 安装结果检查:基本上直接用Python import一下就好了。

  • tensorflow检查:

  • import tensorflow as tf

  • 检查版本:tf.version

  • 安装路径: tf.path

  • 安装TensorFlow:http://wiki.jikexueyuan.com/project/tensorflow-zh/get_started/os_setup.html

    • 安装TensorFlow和CUDA常见问题:链接底部:http://wiki.jikexueyuan.com/project/tensorflow-zh/get_started/os_setup.html
    • Keras 的两个 Backen:https://morvanzhou.github.io/tutorials/machine-learning/keras/1-3-backend/
    • fakeapp 源码操作视频教程:https://m.weike.fm/lecture/6062924?st=sharelink&inviter_id=54173110

环境配置——操作工具

软件:配色、wget、anaconda、zip、unzip、scp、ssh

  • ssh
    ssh -i fenneishi_personal_1.pem root@47.100.229.181 —— 绑定秘钥
    ssh root@47.100.229.181 ——————————————–没有绑定

  • 配色方案

  • (vim ~/.bashrc )
  • export PS1=’[\e[32m][[\e[35m]\u[\e[m]@[\e[36m]\h [\e[31m]\W[\e[32m]][\e[36m]$[\e[m] ’
  • anaconda

    • 下载地址:https://www.anaconda.com/download/#linux
    • 安装教程:(linux)https://docs.anaconda.com/anaconda/install/linux
    • 环境变量:
      • 如果在安装Anaconda的过程中没有将安装路径添加到系统环境变量中,需要在安装后手工添加:
      • 在终端输入$sudo gedit /etc/profile,打开profile文件。
      • 在文件末尾添加一行:export PATH=/home/grant/anaconda2/bin:$PATH,其中,将“/home/grant/anaconda2/bin”替换为你实际的安装路径,保存
    • 安装注意事项:
      • 首先要确保进入了conda建立的隔离环境当中。
      • 在conda隔离环境当中,用pip和pip3是没有差别的,因为如果你的环境是Python3的,那么无论pip3 or pip 都会把包安装到cond下面的Python3中。
      • pip的镜像源默认为阿里云,所以会更快,所以能用pip就用pip,有问题(通常是依赖关系问题)再用conda。
  • scp
    scp -r root@101.132.150.5:/root/tiger/congcongphoto congcongphoto

  • wget:

    • wget -c http://www.xxx.xxx/xxx(文件的下载链接)
    • 服务器从oss上下载文件非常快,但要注意文件名尽量不要有中文,否则会乱码。
    • 有些网站的下载链接会隐藏起来,你直接右键获取不到真正的下载链接,这时候就要启动一些前端开发者模式
    • -c 的意思是断点续传,最好加上,防止中断。
  • oss:
    https://help.aliyun.com/product/31815.html?spm=a2c4g.11186623.3.1.1YQRqF
    Mac文件上传到OSS:直接拖拽即可
    服务器从OSS下载文件:wget -c 即可(速度要求不高时)
    工具下载地址:建议把名字改成oss
    本地化调用配置:把oss 放到PATH变量支持的路径或者修改PATH也行(echo $PATH 查看PATH变量 )
    先修改权限:chmod 755 ossutilmac64
    配置文件配置:

    • Access Key管理 :右键头像

      • LTAI6EQI9vrYRRH8

    02Z5bGk3YstFfWqf4VGoCfJ36OIBPD

    • endpoint:https://help.aliyun.com/document_detail/31837.html

      • 阿里云服务器用内网endpoint,非常快,可以达到100MB每秒以上
      • 本地Mac必须要要用外网endpoint。
      • oss-cn-shanghai-internal.aliyuncs.com
      • oss-cn-shanghai.aliyuncs.comf
        使用:
    • 查看帮助:oss help cmd -L CH
    • cp:
      • oss cp pp_photo.zip oss://fenneishi-test/data/photo/pp/

        • 生成:oss://bucket1/b/a
      • oss cp oss://bucket/abcdir/a b/
        • 在目录b下生成文件a
          以上,如果b/文件夹不存在都会新建的,无论是在OSS还是在src

环境配置——硬件

  • 迁移CUDNN:

    你还需要设置 LD_LIBRARY_PATH 和 CUDA_HOME 环境变量. 可以考虑将下面的命令 添加到 ~/.bash_profile 文件中, 这样每次登陆后自动生效. 注意, 下面的命令 假定 CUDA 安装目录为 /usr/local/cuda:
    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64"
    export CUDA_HOME=/usr/local/cuda

  • linux 检查nvdia驱动
    https://zhidao.baidu.com/question/91751639.html
    查看nvdia 信息:nvidia-smi
    命令行下执行:$ lshw -c video看configurure字段有没有driver字样,若有内容,则显卡驱动装好了。
    直接安装CUDA 会有相应的驱动自动安装的

  • GPU驱动安装:



===========
= Summary =
===========

Driver:   Not Selected
Toolkit:  Installed in /usr/local/cuda-9.0
Samples:  Installed in /root, but missing recommended librariesPlease make sure that-   PATH includes /usr/local/cuda-9.0/bin-   LD_LIBRARY_PATH includes /usr/local/cuda-9.0/lib64, or, add /usr/local/cuda-9.0/lib64 to /etc/ld.so.conf and run ldconfig as rootTo uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-9.0/binPlease see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-9.0/doc/pdf for detailed information on setting up CUDA.***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 384.00 is required for CUDA 9.0 functionality to work.
To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:sudo <CudaInstaller>.run -silent -driverLogfile is /tmp/cuda_install_1247.log
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190122143453192.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zNjY3MzA0Mw==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190122143522357.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zNjY3MzA0Mw==,size_16,color_FFFFFF,t_70)

环境配置——其他

  1. cpu机上充分利用算力:
    https://github.com/lakshayg/tensorflow-build
  2. 持续训练:
    关闭云终端shell后,训练能够继续进行
    一直未解决这个问题,但是实际上这个问题很重要,要不然你很有可能会遇到功亏一篑的情况(例如训练一半,断网导致云端shell退出,训练停止,而你不知道,傻等了几个小时,浪费了时间+金钱)
  3. 镜像
    阿里云部分GPU服务器无法一键镜像
    使用阿里云GN5i服务器正常,使用gn5,因为默认搞了一个本地盘,导致无法一键镜像,但是应该可以通过进入具体的盘处,操作快照和镜像。
    尽量提前1h 制作镜像。
  4. 停机不收费
    阿里云部分机型支出停机不收费,或者很低的费用,好像主要是在CPU环境下,没有仔细研究这块,但是建议如果不用了,就镜像+释放。

bug解除

1、input/alignments.json not read!
解决:在用ffmpeg从视频中提取图片集时,会出现这个/alignments.json。另外,最终用来转换的是原始照片集,不是用deepfake.py extract 出来的大头照。

2、源码参数不调节会把照片中所有人脸全部替换掉,而不是只替换目标人脸。
解决:只出现目标人脸

3、ImportError: libiomp5.so: cannot open shared object file: No such file or directory
解决:猜测是因为云端的英特尔芯片驱动问题,所以直接上了GPU的实例+搭建好的深度学习unbuntu框架.

关键信息

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_36673043/article/details/86594786

DeepFake技术--实际操作相关推荐

  1. Deepfake技术实现秒速换脸!!!

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 想变就变,近日一款基于Deepfake技术的新应用Doublicat可在几秒钟实现 ...

  2. docker pull下载很慢_一文了解Docker容器技术的操作

    一文了解Docker容器技术的操作 前言 相信点进这篇文章的Coder,不管是在各大技术论坛上.技术交流群,亦或招聘网上,应该都有见到过Doker容器技术的面孔,随着社会节奏的加快以及迫于生活的压力, ...

  3. 图像视频伪造检测,针对DeepFake技术检测效果不佳

    随着Deepfake技术的发展,互联网上充斥着大量包含伪造人脸的虚假视频,Deepfakes类技术的滥用带来巨大的负面影响,本文给出一些典型检测思路及方案.很多情况下,Deepfake"以假 ...

  4. CV之Face Change:基于人工智能实现国内众多一线美女明星换脸(基于Face++输出4*106个特征点定位+融合代码、deepfake技术)

    CV之Face Change:基于人工智能实现国内众多一线美女明星换脸(基于Face++输出4*106个特征点定位+融合代码.deepfake技术) 目录 视频实时换脸明星动画-最新案例 1.演示视频 ...

  5. 竞价猎马技术具体操作

    什么是"开盘竞价"?     股市开盘前有一个集合竞价的过程,这个股市开盘竞价是什么意思? 每个交易日上午09:15至09:25撮合系统接受的全部有效委托进行集合竞价处理,对其余交 ...

  6. [渝粤教育] 四川工程职业技术学院 焊条电弧焊技术与操作 参考 资料

    教育 -焊条电弧焊技术与操作-章节资料考试资料-四川工程职业技术学院[] 第一周单元作业 第一周单元测验 1.[单选题]焊条电弧焊属于 A.熔焊 B.压焊 C.钎焊 D.爆炸焊 参考资料[ ] 2.[ ...

  7. 计算机三级网络技术网络聚合,计算机三级《网络技术》操作试题及答案2016

    计算机三级<网络技术>操作试题及答案2016 参考答案与解析 一.综合题 1.[解题思路] 该题考查的主要内容是给出IP地址和子网掩码,要求解出主机号.网络地址.广播地址.直接广播地址以及 ...

  8. 光纤熔接盒盘线方法_【图文教程】光纤熔接技术的操作与技巧分享!

    众所周知,光纤熔接主要分为四个步骤:剥.切.熔.护. 所谓的剥:是指将光缆中的光纤芯剥离出来,这其中包括了最外层的塑料层,中间的钢丝,内层中的塑料层及光纤表面的颜色油漆层. 所谓的切:是指将剥好准备熔 ...

  9. 计算机二级办公软件高级应用操作题,谁有计算机二级办公软件高级应用技术word操作题目啊?...

    信息检索技术论文 –基于网格的面向专业内容的Web信息检索1 引言 近年来,互联网得到了迅速的发展,网上信息资源愈来愈庞大,且信息具有量大.分散.异构等特性,因此,传统的Web信息检索工具开始暴露出它 ...

  10. 黑帽seo泛目录技术的操作详解

    基础的黑帽SEO技术中,泛目录是目录做法中非常经典的一个做法,非常适合新手,原因是其操作简单,原理也容易被新手搞懂,相比于寄生虫等做法,泛目录无需复杂的配置,直接简单的配置后即可使用.泛目录虽然也是繁 ...

最新文章

  1. 论坛报名 | 视觉大模型是实现视觉智能的必由之路吗?
  2. 2015年第11本:代码整洁之道Clean Code
  3. python 中的位置参数和默认参数
  4. C++反汇编代码分析
  5. python lock_python多线程Lock和RLock的区别
  6. vue中标签自定义属性的使用
  7. Spark 开源新特性:Catalyst 优化流程裁剪
  8. 原生JS替代jQuery的各种方法汇总
  9. 数模论文研读--------09年B题:眼科病床
  10. iOS xcode ‘XXXX’ was compiled with optimization - stepping may behave oddly; variables may not be av
  11. 《Python密码学编程》——2.6 本书的文本换行
  12. 重构第0天--重构的理解
  13. 基于WebAssembly 的H.265播放器研发
  14. 只需三分钟小白也能学会!新手做自媒体,音乐拼接一晚200多
  15. ZYNQ开发(七)Linux开发之Petaliunx的设计流程(SD卡启动)
  16. 新特性速递 | InnoDB redo log archiving(归档)
  17. ROCKET PROPULSION ELEMENTS——DEFINITIONS AND FUNDAMENTALS笔记
  18. MySQL基本概念和正确发音(表、列、行、注解等讲解)
  19. 模拟集成电路设计与分析——全差分放大器
  20. 生成树最小树形图 -- 朱刘算法详解

热门文章

  1. Android Service中的android:process=:remote
  2. session和cookie的区别和联系详解,Cookie Session相关看这篇就够了。
  3. 平庸程序员的成长笔记
  4. Android自定义ProgressBar样式:渐变圆角水平进度条
  5. 关于Handler和子线程的记录
  6. MySQL存储引擎InnoDB、MyISAM 、其它存储引擎介绍
  7. 有关Select 语句查询.四
  8. Cocos2d—X游戏开发之VS2010 控制台输出中文,模拟器中文乱码问题解决
  9. 关于NSStringFromClass的一点见解
  10. ELK温度监控--lmsensorsbeat