Skip to content

Differential Render based 3D Finger Reconstruction

License

Notifications You must be signed in to change notification settings

zxpzhong/DR_3DFM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6ef7d0d · Apr 11, 2021

History

28 Commits
Nov 30, 2020
Dec 22, 2020
Dec 4, 2020
Nov 17, 2020
Dec 16, 2020
Dec 16, 2020
Dec 11, 2020
Dec 16, 2020
Dec 22, 2020
Apr 11, 2021
Dec 3, 2020
Nov 17, 2020
Apr 11, 2021
Dec 16, 2020
Dec 22, 2020
Dec 11, 2020
Nov 17, 2020
Nov 17, 2020
Nov 30, 2020

Repository files navigation

Differential Render based 3D Finger Reconstruction

基于可微渲染器的三维手指重建

Requirements

  • Python >= 3.5 (3.6 recommended)
  • Training : pytorch>=1.0
  • Deploy:ncnn
  • Protobuf
  • torchvision>=0.4.0
  • tqdm
  • kaolin=0.1 注意:kaolin0.1源码有bug,需要修改源码再编译安装kaolin0.1,修改处为: 将修改后的base.py, example.py, perspective.py覆盖掉原来的 examples/renderers/DIB-R kaolin/graphics/dib_renderer/renderer kaolin/graphics/dib_renderer/utils

使用方法

训练:python train.py -c config.json

文件夹目录

.
├── base :储存data_loader,网络,训练器的基类
├── config.json:配置文件
├── data:数据csv文件夹
├── data_loader:data_loader具体实现
├── logger:日志器代码实现
├── loss:损失
├── model:网络模型
├── parse_config.py:参数压缩加载
├── requirements.txt:依赖
├── saved:保存的模型、代码、日志都会在这
├── test.py:测试代码接口
├── trainer:训练器代码实现
├── train.py:训练代码接口
└── utils:小组件代码

如何更改训练网络

  1. 在model文件夹中添加网络代码
  2. 网络类继承自nn.Model类 在forward方法中实现输入图片x,输出logit的功能 在extract_feature方法中实现输入图片x,输出特征f的功能
  3. model/model.py中添加from model.文件名 import 网络类名
  4. 在config.json中修改arch字段的type属性为网络类名

如何更改训练数据集

  1. 训练文件和测试csv文件都在data/csv
  2. 训练csv文件格式为: 表头:number,flag,img_path,label,分别表示序号,是否为训练,图片路径和subject标签
  3. 测试csv文件格式为: 表头:number,flag,img1_path,img2_path,分别表示序号,是否为类内样本,图片1路径,图片2路径
  4. 制作好对应的csv后,在config.json中修改data_loader/args字段的data_dirtest_dir属性
  5. 修改arch/args下的num_classes属性为训练集中的类别数

如何更改train/test

修改trainer/trainer.py_train_epoch_valid_epoch

About

Differential Render based 3D Finger Reconstruction

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published