Implementation of "Generalizable Neural Performer: Learning Robust Radiance Fields for Human Novel View Synthesis"

Related tags

Deep Learning gnr
Overview

Generalizable Neural Performer: Learning Robust Radiance Fields for Human Novel View Synthesis

report

Teaser image

Abstract: This work targets at using a general deep learning framework to synthesize free-viewpoint images of arbitrary human performers, only requiring a sparse number of camera views as inputs and skirting per-case fine-tuning. The large variation of geometry and appearance, caused by articulated body poses, shapes and clothing types, are the key bot tlenecks of this task. To overcome these challenges, we present a simple yet powerful framework, named Generalizable Neural Performer (GNR), that learns a generalizable and robust neural body representation over various geometry and appearance. Specifically, we compress the light fields for novel view human rendering as conditional implicit neural radiance fields with several designs from both geometry and appearance aspects. We first introduce an Implicit Geometric Body Embedding strategy to enhance the robustness based on both parametric 3D human body model prior and multi-view source images hints. On the top of this, we further propose a Screen-Space Occlusion-Aware Appearance Blending technique to preserve the high-quality appearance, through interpolating source view appearance to the radiance fields with a relax but approximate geometric guidance.

Wei Cheng, Su Xu, Jingtan Piao, Chen Qian, Wayne Wu, Kwan-Yee Lin, Hongsheng Li
[Demo Video] | [Project Page] | [Data] | [Paper]

Updates

  • [02/05/2022] GeneBody Train40 is released! Apply here! ๐Ÿ’ฅ Test10 has made some adjustment on data format.
  • [29/04/2022] SMPLx fitting toolbox and benchmarks are released! ๐Ÿ’ฅ
  • [26/04/2022] Code is coming soon!
  • [26/04/2022] Part of data released!
  • [26/04/2022] Techincal report released.
  • [24/04/2022] The codebase and project page are created.

Upcoming Events

  • [08/05/2022] Code and pretrain model release.
  • [01/06/2022] Extended370 release.

Data Download

To download and use the GeneBody dataset set, please read the instructions in Dataset.md.

Annotations

GeneBody provides the per-view per-frame segmentation, using BackgroundMatting-V2, and register the fitted SMPLx using our enhanced multi-view smplify repo in here.

To use annotations of GeneBody, please check the document Annotation.md, we provide a reference data fetch module in genebody.

Benchmarks

We also provide benchmarks of start-of-the-art methods on GeneBody Dataset, methods and requirements are listed in Benchmarks.md.

To test the performance of our released pretrained models, or train by yourselves, run:

git clone --recurse-submodules https://github.com/generalizable-neural-performer/gnr.git

And cd benchmarks/, the released benchmarks are ready to go on Genebody and other datasets such as V-sense and ZJU-Mocap.

Case-specific Methods on Genebody

Model PSNR SSIM LPIPS ckpts
NV 19.86 0.774 0.267 ckpts
NHR 20.05 0.800 0.155 ckpts
NT 21.68 0.881 0.152 ckpts
NB 20.73 0.878 0.231 ckpts
A-Nerf 15.57 0.508 0.242 ckpts

(see detail why A-Nerf's performance is counterproductive in issue)

Generalizable Methods on Genebody

Model PSNR SSIM LPIPS ckpts
PixelNeRF 24.15 0.903 0.122
IBRNet 23.61 0.836 0.177 ckpts

Citation

@article{cheng2022generalizable,
    title={Generalizable Neural Performer: Learning Robust Radiance Fields for Human Novel View Synthesis},
    author={Cheng, Wei and Xu, Su and Piao, Jingtan and Qian, Chen and Wu, Wayne and Lin, Kwan-Yee and Li, Hongsheng},
    journal={arXiv preprint arXiv:2204.11798},
    year={2022}
}
Comments
  • recreate fitted smplx mesh from params in '/param' folder

    recreate fitted smplx mesh from params in '/param' folder

    In Annotation.md you mentioned that the mesh can be retrieved by parameters in param folder. I noticed that the param npy files only contains the following information: image there are 135 joints, and a 66x1 pose provided. But it doesn't seem consistent with the smplx model. Could you explain how can we use the parameters in detail? Thank you very much in advance.

    opened by shanemankiw 10
  • Training Error

    Training Error

    Hi, authors

    I follow the README to train GNR, but found the following error:

    INFO:root:train data size: 7200
    INFO:root:test data size: 10
    INFO:root:render data size: 10
    INFO:root:Using Network: gnr
    INFO:root:use Data Parallel...
      0%|                                                                 | 0/1000 [00:06<?, ?it/s]
    Traceback (most recent call last):
      File "apps/run_genebody.py", line 333, in <module>
        train(opt)
      File "apps/run_genebody.py", line 176, in train
        loss_dict = net(data, train_shape=train_shape)
      File "/home/fuqian/Downloads/Software/anaconda3/envs/2022-GNR-Arxiv/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__
        result = self.forward(*input, **kwargs)
      File "/home/fuqian/Downloads/Software/anaconda3/envs/2022-GNR-Arxiv/lib/python3.6/site-packages/torch/nn/parallel/data_parallel.py", line 152, in forward
        outputs = self.parallel_apply(replicas, inputs, kwargs)
      File "/home/fuqian/Downloads/Software/anaconda3/envs/2022-GNR-Arxiv/lib/python3.6/site-packages/torch/nn/parallel/data_parallel.py", line 162, in parallel_apply
        return parallel_apply(replicas, inputs, kwargs, self.device_ids[:len(replicas)])
      File "/home/fuqian/Downloads/Software/anaconda3/envs/2022-GNR-Arxiv/lib/python3.6/site-packages/torch/nn/parallel/parallel_apply.py", line 83, in parallel_apply
        raise output
      File "/home/fuqian/Downloads/Software/anaconda3/envs/2022-GNR-Arxiv/lib/python3.6/site-packages/torch/nn/parallel/parallel_apply.py", line 59, in _worker
        output = module(*input, **kwargs)
      File "/home/fuqian/Downloads/Software/anaconda3/envs/2022-GNR-Arxiv/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__
        result = self.forward(*input, **kwargs)
      File "/home/fuqian/Documents/Research/View-Synthesis/2022-GNR-Arxiv/gnr/lib/model/GNR.py", line 62, in forward
        error = self.nerf_renderer.render(**data)
      File "/home/fuqian/Documents/Research/View-Synthesis/2022-GNR-Arxiv/gnr/lib/model/NeRFRenderer.py", line 419, in render
        calibs[:self.num_views], smpl, mesh_param, scan, persps)
      File "/home/fuqian/Documents/Research/View-Synthesis/2022-GNR-Arxiv/gnr/lib/model/NeRFRenderer.py", line 302, in render_rays
        inside, smpl_vis, scan_vis = self.inside_pts_vh(pts, masks, smpl, calibs, persps)
      File "/home/fuqian/Documents/Research/View-Synthesis/2022-GNR-Arxiv/gnr/lib/model/NeRFRenderer.py", line 376, in inside_pts_vh
        inside = index(masks, xy, 'nearest')
      File "/home/fuqian/Documents/Research/View-Synthesis/2022-GNR-Arxiv/gnr/lib/geometry.py", line 77, in index
        samples = torch.nn.functional.grid_sample(feat, uv, mode=mode)
      File "/home/fuqian/Downloads/Software/anaconda3/envs/2022-GNR-Arxiv/lib/python3.6/site-packages/torch/nn/functional.py", line 2717, in grid_sample
        return torch.grid_sampler(input, grid, mode_enum, padding_mode_enum)
    RuntimeError: grid_sampler(): expected grid and input to have same batch size, but got input with sizes [1, 1, 512, 512] and grid with sizes [2, 262144, 1, 2]
    epoch 0/1000:   0%|                                                   | 0/7200 [00:06<?, ?it/s]
    

    I only use one person to train, so the train data size is 7200. But this error is irrelevant with my training data. Can you train GNR with the code in this repo with the following command:

    python apps/run_genebody.py --config configs/train.txt --dataroot ${GENEBODY_ROOT}
    
    opened by fuqianya 2
  • selected views and distortion

    selected views and distortion

    Hello!

    Thanks for your incredible work! I have two questions:

    1. In the paper, you said only 4 views are given in the model for training, may I know which 4 views?
    2. In dataset Test10, I found camera distortion parameters in the npy files. Do we need to undistort the images before using, or the images are already undistorted so distortion parameters can be ignored?

    Thanks!

    opened by YuLiHN 2
  • Issue with pre-trained model link

    Issue with pre-trained model link

    First of all, thank you for the amazing work and the dataset accompanying this project. Looking forward to verifying the results and running into an issue retrieving the provided pre-trained weights using the associated Gdrive path. Could you kindly look into the issue?

    opened by yyeboah 2
  • Dataset of Test10 is missing

    Dataset of Test10 is missing

    Hi,

    Thank you very much for sharing such amazing data with the community. When I was trying to download the Test10 from dataset webpage, it said the link has been removed as following: image Is there any update regarding the Test10?

    Best

    opened by JinlongYANG 2
  • Missing Release Agreement form for Train 40

    Missing Release Agreement form for Train 40

    Hello, Thanks for sharing the amazing work and dataset! While I was trying to get access to the dataset, I couldn't find the release agreement form for Train 40 as mentioned in gnr/docs/Dataset.md Did I miss something?

    opened by JinlongYANG 2
  • Cannot reproduce the results in the paper

    Cannot reproduce the results in the paper

    Hi authors

    Thanks for your great work! I am trying to reproduce the results in your paper (i.e., Table 2). 1659147894(1)

    I download the pretrained model from here, and download the amanda.tar.gz and fuzhizhi.tar.gz from test data at here. Then I evaluate the pretrained model with the following command:

    python apps/run_genebody.py --config configs/test.txt --dataroot ${GENEBODY_ROOT}
    

    However, I only get the following results which are inferior than the results in the Table 2

    ******
      2 amanda_0045_0
      3 lpips: 0.09362
      4 psnr: 22.27188
      5 ssim: 0.92902
      6 ------[total] lpips: 0.09362
      7 [total] psnr: 22.27188
      8 [total] ssim: 0.92902
      9 ******
     10 amanda_0060_0
     11 lpips: 0.09209
     12 psnr: 22.25502
     13 ssim: 0.93011
     14 ------[total] lpips: 0.09209
     15 [total] psnr: 22.25502
     16 [total] ssim: 0.93011
     17 ******
     18 amanda_0075_0
     19 lpips: 0.09473
     20 psnr: 21.96191
     21 ssim: 0.92794
     22 ------[total] lpips: 0.09473
     23 [total] psnr: 21.96191
     24 [total] ssim: 0.92794
     25 ******
    ...
     81 ******
     82 fuzhizhi_0400_0
     83 lpips: 0.10973
     84 psnr: 20.23185
     85 ssim: 0.87784
     86 ------[total] lpips: 0.10973
     87 [total] psnr: 20.23185
     88 [total] ssim: 0.87784
     89 ******
     90 fuzhizhi_0415_0
     91 lpips: 0.10417
     92 psnr: 20.62145
     93 ssim: 0.88344
     94 ------[total] lpips: 0.10417
     95 [total] psnr: 20.62145
     96 [total] ssim: 0.88344
     97 ******
     98 fuzhizhi_0430_0
     99 lpips: 0.10447
    100 psnr: 20.55725
    101 ssim: 0.88434
    102 ------[total] lpips: 0.10447
    103 [total] psnr: 20.55725
    104 [total] ssim: 0.88434
    105 ******
    

    I wonder how can I get the results reported in the paper?

    opened by fuqianya 1
  • Can't Reproduce the results after retrain on the Genebody datasets.

    Can't Reproduce the results after retrain on the Genebody datasets.

    Hi, thanks for your great work! I downloaded the Genebody dataset and the checkpoint file you provided and ran python apps/run_genebody.py --config configs/test.txt --dataroot ${GENEBODY_ROOT} I got this results:

    ******
    natacha_0546_0
    lpips: 0.09972
    psnr: 27.69579
    ssim: 0.90346
    ------[total] lpips: 0.09972
    [total] psnr: 27.69579
    [total] ssim: 0.90346
    ******
    natacha_0546_0
    lpips: 0.09971
    psnr: 27.69578
    ssim: 0.90346
    ------[total] lpips: 0.09971
    [total] psnr: 27.69578
    [total] ssim: 0.90346
    ******
    natacha_0561_0
    lpips: 0.09037
    psnr: 28.67422
    ssim: 0.91727
    ------[total] lpips: 0.09504
    [total] psnr: 28.18500
    [total] ssim: 0.91036
    ******
    natacha_0576_0
    lpips: 0.09253
    psnr: 28.23362
    ssim: 0.91410
    ------[total] lpips: 0.09420
    [total] psnr: 28.20121
    [total] ssim: 0.91161
    ******
    natacha_0591_0
    lpips: 0.09349
    psnr: 28.37666
    ssim: 0.91344
    ------[total] lpips: 0.09403
    [total] psnr: 28.24507
    [total] ssim: 0.91207
    ******
    natacha_0606_0
    lpips: 0.09973
    psnr: 27.67875
    ssim: 0.90606
    ------[total] lpips: 0.09517
    [total] psnr: 28.13181
    [total] ssim: 0.91087
    ******
    natacha_0621_0
    lpips: 0.09706
    psnr: 28.00067
    ssim: 0.91053
    ------[total] lpips: 0.09548
    [total] psnr: 28.10995
    [total] ssim: 0.91081
    ******
    natacha_0636_0
    lpips: 0.10081
    psnr: 28.21361
    ssim: 0.90858
    ------[total] lpips: 0.09624
    [total] psnr: 28.12476
    [total] ssim: 0.91049
    ******
    natacha_0651_0
    lpips: 0.10152
    psnr: 27.73827
    ssim: 0.90574
    ------[total] lpips: 0.09690
    [total] psnr: 28.07645
    [total] ssim: 0.90990
    ******
    natacha_0666_0
    lpips: 0.10628
    psnr: 27.61590
    ssim: 0.90546
    ------[total] lpips: 0.09794
    [total] psnr: 28.02528
    [total] ssim: 0.90940
    ******
    natacha_0681_0
    lpips: 0.10986
    psnr: 27.20037
    ssim: 0.90278
    ------[total] lpips: 0.09914
    [total] psnr: 27.94279
    [total] ssim: 0.90874
    ******
    barry_0245_0
    lpips: 0.08471
    psnr: 31.28509
    ssim: 0.95712
    ------[total] lpips: 0.08471
    [total] psnr: 31.28509
    [total] ssim: 0.95712
    ******
    amanda_0045_0
    lpips: 0.08354
    psnr: 25.24519
    ssim: 0.94436
    ------[total] lpips: 0.08354
    [total] psnr: 25.24519
    [total] ssim: 0.94436
    ******
    amanda_0060_0
    lpips: 0.07934
    psnr: 25.16945
    ssim: 0.94545
    ------[total] lpips: 0.08144
    [total] psnr: 25.20732
    [total] ssim: 0.94490
    ******
    amanda_0075_0
    lpips: 0.08654
    psnr: 24.65632
    ssim: 0.94178
    ------[total] lpips: 0.08314
    [total] psnr: 25.02365
    [total] ssim: 0.94386
    ******
    amanda_0090_0
    lpips: 0.07523
    psnr: 25.14850
    ssim: 0.94716
    ------[total] lpips: 0.08116
    [total] psnr: 25.05487
    [total] ssim: 0.94469
    ******
    amanda_0105_0
    lpips: 0.07832
    psnr: 25.29658
    ssim: 0.94659
    ------[total] lpips: 0.08059
    [total] psnr: 25.10321
    [total] ssim: 0.94507
    ******
    amanda_0120_0
    lpips: 0.07361
    psnr: 25.59872
    ssim: 0.94851
    ------[total] lpips: 0.07943
    [total] psnr: 25.18579
    [total] ssim: 0.94564
    ******
    amanda_0135_0
    lpips: 0.08354
    psnr: 24.58870
    ssim: 0.94137
    ------[total] lpips: 0.08002
    [total] psnr: 25.10050
    [total] ssim: 0.94503
    

    But I retrained for about 5 days using 1*A100 on the Genebody datasets by running python apps/run_genebody.py --config configs/train.txt --dataroot ${GENEBODY_ROOT} and tested it again. I got the worse results:

    ******
    amanda_0045_0
    lpips: 0.10840
    psnr: 22.11704
    ssim: 0.92772
    ------[total] lpips: 0.10840
    [total] psnr: 22.11704
    [total] ssim: 0.92772
    ******
    amanda_0045_0
    lpips: 0.10840
    psnr: 22.11703
    ssim: 0.92772
    ------[total] lpips: 0.10840
    [total] psnr: 22.11703
    [total] ssim: 0.92772
    ******
    amanda_0060_0
    lpips: 0.09554
    psnr: 22.90970
    ssim: 0.93347
    ------[total] lpips: 0.10197
    [total] psnr: 22.51336
    [total] ssim: 0.93060
    ******
    amanda_0075_0
    lpips: 0.11125
    psnr: 21.87503
    ssim: 0.92636
    ------[total] lpips: 0.10506
    [total] psnr: 22.30059
    [total] ssim: 0.92918
    ******
    amanda_0090_0
    lpips: 0.09465
    psnr: 22.69352
    ssim: 0.93380
    ------[total] lpips: 0.10246
    [total] psnr: 22.39882
    [total] ssim: 0.93034
    ******
    amanda_0105_0
    lpips: 0.09909
    psnr: 22.91820
    ssim: 0.93177
    ------[total] lpips: 0.10179
    [total] psnr: 22.50270
    [total] ssim: 0.93063
    ******
    amanda_0120_0
    lpips: 0.09723
    psnr: 22.39970
    ssim: 0.93193
    ------[total] lpips: 0.10103
    [total] psnr: 22.48553
    [total] ssim: 0.93084
    ******
    amanda_0135_0
    lpips: 0.10496
    psnr: 22.01777
    ssim: 0.92860
    ------[total] lpips: 0.10159
    [total] psnr: 22.41871
    [total] ssim: 0.93052
    ******
    amanda_0150_0
    lpips: 0.09524
    psnr: 22.69962
    ssim: 0.93307
    ------[total] lpips: 0.10079
    [total] psnr: 22.45382
    [total] ssim: 0.93084
    ******
    amanda_0165_0
    lpips: 0.10263
    psnr: 21.81576
    ssim: 0.92782
    ------[total] lpips: 0.10100
    [total] psnr: 22.38292
    [total] ssim: 0.93050
    ******
    amanda_0180_0
    lpips: 0.10262
    psnr: 22.13429
    ssim: 0.92957
    ------[total] lpips: 0.10116
    [total] psnr: 22.35806
    [total] ssim: 0.93041
    ******
    barry_0245_0
    lpips: 0.10182
    psnr: 29.63145
    ssim: 0.94742
    ------[total] lpips: 0.10182
    [total] psnr: 29.63145
    [total] ssim: 0.94742
    ******
    barry_0260_0
    lpips: 0.10144
    psnr: 29.62394
    ssim: 0.94776
    ------[total] lpips: 0.10163
    [total] psnr: 29.62769
    [total] ssim: 0.94759
    ******
    barry_0275_0
    lpips: 0.10197
    psnr: 29.60396
    ssim: 0.94759
    ------[total] lpips: 0.10174
    [total] psnr: 29.61978
    [total] ssim: 0.94759
    ******
    barry_0290_0
    lpips: 0.10644
    psnr: 29.34926
    ssim: 0.94334
    ------[total] lpips: 0.10292
    [total] psnr: 29.55215
    [total] ssim: 0.94653
    ******
    barry_0305_0
    lpips: 0.12176
    psnr: 28.73875
    ssim: 0.93779
    ------[total] lpips: 0.10669
    [total] psnr: 29.38947
    [total] ssim: 0.94478
    ******
    barry_0320_0
    lpips: 0.13284
    psnr: 28.55375
    ssim: 0.93174
    ------[total] lpips: 0.11105
    [total] psnr: 29.25019
    [total] ssim: 0.94261
    ******
    barry_0335_0
    lpips: 0.14998
    psnr: 27.93862
    ssim: 0.92479
    ------[total] lpips: 0.11661
    [total] psnr: 29.06282
    [total] ssim: 0.94006
    ******
    barry_0350_0
    lpips: 0.11500
    psnr: 28.90834
    ssim: 0.94383
    ------[total] lpips: 0.11641
    [total] psnr: 29.04351
    [total] ssim: 0.94053
    ******
    barry_0365_0
    lpips: 0.11905
    psnr: 28.66862
    ssim: 0.93959
    ------[total] lpips: 0.11670
    [total] psnr: 29.00186
    [total] ssim: 0.94043
    ******
    barry_0380_0
    lpips: 0.10585
    psnr: 29.35440
    ssim: 0.94593
    ------[total] lpips: 0.11562
    [total] psnr: 29.03711
    [total] ssim: 0.94098
    ******
    fuzhizhi_0400_0
    lpips: 0.16066
    psnr: 17.13793
    ssim: 0.85665
    ------[total] lpips: 0.16066
    [total] psnr: 17.13793
    [total] ssim: 0.85665
    ******
    fuzhizhi_0415_0
    lpips: 0.14772
    psnr: 17.77316
    ssim: 0.86888
    ------[total] lpips: 0.15419
    [total] psnr: 17.45555
    [total] ssim: 0.86276
    ******
    fuzhizhi_0430_0
    lpips: 0.14802
    psnr: 17.87505
    ssim: 0.86473
    ------[total] lpips: 0.15213
    [total] psnr: 17.59538
    [total] ssim: 0.86342
    

    The visualization results are also bad: image

    opened by JanaldoChen 0
  • Questions about the smpl depth

    Questions about the smpl depth

    https://github.com/generalizable-neural-performer/gnr/blob/bb3ff231daba8014c032bd6f95f2d486848ca29b/lib/model/NeRF.py#L177 The program will execute the above code, which seems to indicate that โ€˜smpl depthโ€™ is not used?

    opened by caiyongqi 0
  • A bug in make_nerf_output()

    A bug in make_nerf_output()

    https://github.com/generalizable-neural-performer/gnr/blob/bb3ff231daba8014c032bd6f95f2d486848ca29b/lib/model/NeRFRenderer.py#L249 The 'dists' is not used, which is inconsistent with the original nerf. Is this a bug?

    opened by caiyongqi 0
  • Annotations for Benchmarks

    Annotations for Benchmarks

    Hi, I want to perform novel-view synthesis on Genebody dataset using the methods released in Genebody-Benchmarks. Should I first use the bodyfitting repo to generate necessary annotation files? It seems that the genebody interface in each branch is inconsistent with the genebody in the gnr, which results in errors when I try to load the mesh obj and smpl params in GeneBody-Test10.

    opened by zwx8981 1
Owner
null
ALBERT-pytorch-implementation - ALBERT pytorch implementation

ALBERT-pytorch-implementation developing... ๋ชจ๋ธ์˜ ๊ฐœ๋…์ดํ•ด๋ฅผ ๋•๊ธฐ ์œ„ํ•œ ๊ตฌํ˜„๋ฌผ๋กœ ํ˜„์žฌ ๋ณ€์ˆ˜๋ช…์„ ์ƒ์„ธํžˆ ์ ์—ˆ๊ณ 

BG Kim 3 Oct 6, 2022
Numenta Platform for Intelligent Computing is an implementation of Hierarchical Temporal Memory (HTM), a theory of intelligence based strictly on the neuroscience of the neocortex.

NuPIC Numenta Platform for Intelligent Computing The Numenta Platform for Intelligent Computing (NuPIC) is a machine intelligence platform that implem

Numenta 6.3k Dec 30, 2022
PyTorch implementation of neural style transfer algorithm

neural-style-pt This is a PyTorch implementation of the paper A Neural Algorithm of Artistic Style by Leon A. Gatys, Alexander S. Ecker, and Matthias

null 770 Jan 2, 2023
PyTorch implementation of DeepDream algorithm

neural-dream This is a PyTorch implementation of DeepDream. The code is based on neural-style-pt. Here we DeepDream a photograph of the Golden Gate Br

null 121 Nov 5, 2022
The project is an official implementation of our CVPR2019 paper "Deep High-Resolution Representation Learning for Human Pose Estimation"

Deep High-Resolution Representation Learning for Human Pose Estimation (CVPR 2019) News [2020/07/05] A very nice blog from Towards Data Science introd

Leo Xiao 3.9k Jan 5, 2023
Image-to-Image Translation with Conditional Adversarial Networks (Pix2pix) implementation in keras

pix2pix-keras Pix2pix implementation in keras. Original paper: Image-to-Image Translation with Conditional Adversarial Networks (pix2pix) Paper Author

William Falcon 141 Dec 30, 2022
Python implementation of cover trees, near-drop-in replacement for scipy.spatial.kdtree

This is a Python implementation of cover trees, a data structure for finding nearest neighbors in a general metric space (e.g., a 3D box with periodic

Patrick Varilly 28 Nov 25, 2022
Home repository for the Regularized Greedy Forest (RGF) library. It includes original implementation from the paper and multithreaded one written in C++, along with various language-specific wrappers.

Regularized Greedy Forest Regularized Greedy Forest (RGF) is a tree ensemble machine learning method described in this paper. RGF can deliver better r

RGF-team 364 Dec 28, 2022
Implementation of Restricted Boltzmann Machine (RBM) and its variants in Tensorflow

xRBM Library Implementation of Restricted Boltzmann Machine (RBM) and its variants in Tensorflow Installation Using pip: pip install xrbm Examples Tut

Omid Alemi 55 Dec 29, 2022
A fast Evolution Strategy implementation in Python

Evostra: Evolution Strategy for Python Evolution Strategy (ES) is an optimization technique based on ideas of adaptation and evolution. You can learn

Mika 251 Dec 8, 2022
๐ŸŒณ A Python-inspired implementation of the Optimum-Path Forest classifier.

OPFython: A Python-Inspired Optimum-Path Forest Classifier Welcome to OPFython. Note that this implementation relies purely on the standard LibOPF. Th

Gustavo Rosa 30 Jan 4, 2023
Implementation of Geometric Vector Perceptron, a simple circuit for 3d rotation equivariance for learning over large biomolecules, in Pytorch. Idea proposed and accepted at ICLR 2021

Geometric Vector Perceptron Implementation of Geometric Vector Perceptron, a simple circuit with 3d rotation equivariance for learning over large biom

Phil Wang 59 Nov 24, 2022
Official implementation of AAAI-21 paper "Label Confusion Learning to Enhance Text Classification Models"

Description: This is the official implementation of our AAAI-21 accepted paper Label Confusion Learning to Enhance Text Classification Models. The str

null 101 Nov 25, 2022
Official PyTorch implementation for paper Context Matters: Graph-based Self-supervised Representation Learning for Medical Images

Context Matters: Graph-based Self-supervised Representation Learning for Medical Images Official PyTorch implementation for paper Context Matters: Gra

null 49 Nov 23, 2022
PyTorch implementation of "Conformer: Convolution-augmented Transformer for Speech Recognition" (INTERSPEECH 2020)

PyTorch implementation of Conformer: Convolution-augmented Transformer for Speech Recognition. Transformer models are good at capturing content-based

Soohwan Kim 565 Jan 4, 2023
An essential implementation of BYOL in PyTorch + PyTorch Lightning

Essential BYOL A simple and complete implementation of Bootstrap your own latent: A new approach to self-supervised Learning in PyTorch + PyTorch Ligh

Enrico Fini 48 Sep 27, 2022
The official implementation of NeMo: Neural Mesh Models of Contrastive Features for Robust 3D Pose Estimation [ICLR-2021]. https://arxiv.org/pdf/2101.12378.pdf

NeMo: Neural Mesh Models of Contrastive Features for Robust 3D Pose Estimation [ICLR-2021] Release Notes The offical PyTorch implementation of NeMo, p

Angtian Wang 76 Nov 23, 2022
A PyTorch re-implementation of the paper 'Exploring Simple Siamese Representation Learning'. Reproduced the 67.8% Top1 Acc on ImageNet.

Exploring simple siamese representation learning This is a PyTorch re-implementation of the SimSiam paper on ImageNet dataset. The results match that

Taojiannan Yang 72 Nov 9, 2022
PyTorch implementation of "A Full-Band and Sub-Band Fusion Model for Real-Time Single-Channel Speech Enhancement."

FullSubNet This Git repository for the official PyTorch implementation of "A Full-Band and Sub-Band Fusion Model for Real-Time Single-Channel Speech E

้ƒ็ฟ” 357 Jan 4, 2023