DECA代码阅读

demo_reconstruct.py

sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
  • sys.path.insert(0,"/path") 的用法:这样新添加的目录path会优先于其他目录被import检查
  • os.path.abspath:获取文件绝对路径
  • os.path.join()函数:连接两个或更多的路径名组件:
    1.如果各组件名首字母不包含’/’,则函数会自动加上
    2.如果有一个组件是一个绝对路径,则在它之前的所有组件均会被舍弃
    3.如果最后一个组件为空,则生成的路径以一个’/’分隔符结尾
  • __file__表示了当前文件的path
  • os.path.dirname(file)表示:得到当前文件的绝对路径
  • os.path.join(os.path.dirname(file), ‘…’)) 表示当前路径往上退一个文件

导入test images

decalib.datasets

  • TestData类:处理数据,裁剪出人脸
    提供kpt为txt文件或mat文件(适用于AFLW2000)
kpt = scipy.io.loadmat(kpt_matpath)['pt3d_68'].T   
导入文件并且提取出脸上的68个特征点,将这个特征点组成的矩阵转置    

src_pts:图像上框选的人脸所在的位置
DST_PTS:裁剪出的新图像大小
tform =使用skimage.transform.estimate_transform函数 :变换,得到对应的变换矩阵
skimage.transform.warp函数:将该变换应用到图像上去
然后将其转变为bbox,边框回归

deca.py

纹理的路径修改在:
DECA/decalib/utils/config.py
import yaml
把变量写进yaml做配置文件,然后python脚本从yaml文件里面取到变量

yacs是一个轻量级库,用于定义和管理系统配置,例如那些在为科学实验设计的软件中常见的配置。这些“配置”通常涵盖诸如用于训练机器学习模型的超参数或可配置模型超参数(诸如卷积神经网络的深度)之类的概念。

FLAME.py

  • pickle模块实现了用于序列化和反序列化Python对象结构的二进制协议。 “pickling”是将Python对象层次结构转换为字节流的过程, “unpickling”是反向操作,从而将字节流(来自二进制文件或类似字节的对象)转换回对象层次结构。pickle模块对于错误或恶意构造的数据是不安全的。
  • setattr(a, ‘bar’, 5) # 设置属性 bar 值
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五月的天气

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值