/FaceMorphing

Project of Numerical Analysis, Tsinghua University: Face Morphing using TPS and B_Spline

Primary LanguageC++

人脸变形

作者:赵文亮

班级:自64

学号:2016011452

运行环境

运行方式

打开程序

  • bin文件夹下,双击FaceMorphing.exe,程序初始界面如图所示:

    initial

载入图片

  • 点击界面左边加号,可以添加待修改人脸图片;点击右边加号,可以添加目标人脸图片
  • 载入图片后,点击图片可以重新载入图片
  • 点击两张图片中间的中间的互换符号可以交换待修改人脸和目标人脸
  • 点击问号可以指定变形结果的保存路径

人脸变形

  • 点击等号开始人脸变形,此时等号变为省略号,表示正在变形,如下图所示:

    morphing

  • 变形结束后,省略号会变为等号,同时显示变形结果:

    morphed

  • 变形函数下拉框中可以选择TPS变形B样条变形,在插值方法下拉框中可以选择最近邻双线性双三次。选择B样条变形时,可以指定变形所用的网格间隔。如下图所示:

    BSpline

目录结构

  • FaceMorphing/:源代码
  • bin/:可执行文件FaceMorphing.exe所在目录
  • picture/:示例图片
    • points/:人脸关键点。程序运行时会优先在这个目录下寻找人脸关键点文件,如果寻找失败会检测关键点并保存在此目录中
    • result/:运行结果。每次运行结果默认以result/变形方式/插值方式/待修改人脸_to_目标人脸的路径。例如8.jpg变形到6.jpg(使用TPS变形、最近邻插值)的保存路径为result/TPS/nearest_neighbor
    • screenshot/:程序运行截图,用于本说明文档
  • model/:关键点检测所需的模型文件
  • report.pdf:报告