v1.0.0
Highlights
- New
splatfacto
model, built on the gsplat implementation of INRIA's 2023 Gaussian Splatting algorithm. - Complete rewrite of the viewer, now built entirely on viser.
- Project Aria and EyefulTower dataset support, and COLMAP pipeline improvements.
...and much more, thanks to the 60+ contributors who helped make this happen! See below.
What's Changed
- Add
background_color
config to keep consistent with other models by @kobejean in #2455 - Do not materialize mlp_head if no field_heads by @Mxbonn in #2457
- .vscode settings match move to ms-python.black-formatter by @Mxbonn in #2456
- Migrate doc from RTD to gh-pages by @liruilong940607 in #2460
- Allow custom sampler in ProposalNetworkSampler by @Mxbonn in #2464
- Fix COLMAP dataparser masks and depthmaps by @jkulhanek in #2467
- Track all viser GUI folders to avoid folder duplicates (viewer-beta) by @chungmin99 in #2466
- Update colmap installation instructions with conda by @ginazhouhuiwu in #2473
- Update doc.yml by @liruilong940607 in #2479
- Remove rtd by @tancik in #2478
- Don't deploy docs from pull requests by @brentyi in #2482
- fix:correction of PairPixelSampler in case of using masks with depth-nerfacto by @pierremerriaux-leddartech in #2477
- ns-render - render all images by @jkulhanek in #2459
- fixing broken links in README by @ARK3r in #2483
- Fourier Feature encodings and polyhedron encodings by @Mxbonn in #2463
- fixed link to viser to be functional link cause previous 404ed by @THE-COB in #2486
- Add support of using both Comet and Viewer at the same time by @Lothiraldan in #2488
- Fix DatasetRender to override dataset path only when provided by @sjj118 in #2494
- Remove unused config param by @tancik in #2495
- (minor) Align upsampling in TensorCPEncoding with TensorVMEncoding by @Dwawayu in #2493
- Add documentation about unknown depth pixel convention by @jampekka in #2490
- patch for mkdirs on camera path json filepath by @kerrj in #2502
- Move camera optimization out of datamanager and parallelize dataloading by @kerrj in #2092
- minor patch for exporting pcs and meshes with parallel datamanager by @kerrj in #2503
- Fix jitter viewer by @kerrj in #2505
- Add ODM data processor by @pierotofy in #2517
- Upgrade pyright by @brentyi in #2526
- Update URLs for readme and image references by @cvachha in #2527
- Add camera_type dropdown in new viewer by @cvachha in #2525
- Fix datamanagers' get_rays_per_batch functions in case of using DynamicBatchPipeline by @sjj118 in #2522
- Bump
tyro
to 0.5.10 by @brentyi in #2393 - Update data_conventions.md by @SeaOtocinclus in #2534
- Fix pillow version to avoid error with ANTIALIAS (Fix #2378) by @ahmed-shariff in #2446
- Fix multiclient jitter with separate render threads for each client by @ginazhouhuiwu in #2519
- Add scannetpp dataparser by @liu115 in #2498
- minor typing error by @Shiva-Gantha in #2545
- Missing a space in base_datamanager.py by @OrangeSodahub in #2546
- Fix pixel-perfect-sfm installation in Dockerfile by @2b-t in #2549
- static imgs never rendered in multiclient by @kerrj in #2551
- Move only per-chunk data to the GPU to support rendering large images by @decrispell in #2481
- make refine intrinsics during ns-process-data optional by @machenmusik in #2550
- Few viewer changes by @cvachha in #2553
- ns-process-data images fix: multinerf uses equals sign by @machenmusik in #2558
- Add gradient scaling option to more methods by @kobejean in #2555
- Expose camera frustums size and occlusions to CLI by @ethanweber in #2556
- Make resetting the near_plane in NearFarCollider optional. by @Mxbonn in #2465
- Print beta URL in banner correctly by @kerrj in #2569
- Fix torch.compile for torch 2.1 by @jkulhanek in #2577
- Remove compile line in camera_utils by @ginazhouhuiwu in #2584
- Fix HTML render of README.md by @krahets in #2599
- Render nearest training view by @AdamRashid96 in #2384
- Make spherical harmonics test more forgiving by @brentyi in #2607
- Update LICENSE by @cpheinrich in #2597
- Remove an outdated comment in RayGenerator class by @emmaguo13 in #2606
- Added UI to load camera path from existing path for the dataset by @THE-COB in #2530
- Bugfix; scrape pipeline for viewercontrol, not trainer by @chungmin99 in #2621
- Remove PCA colormap bug for float output maps by @chungmin99 in #2620
- Fix tangential camera distortion (p1,p2 in opencv camera) by @jkulhanek in #2627
- Integrate scene click capability from original viewer by @chungmin99 in #2509
- Keyframe timing for beta viewer by @brentyi in #2638
- Patch spiral rendering w/ parallel datamanager by @kerrj in #2637
- Bugfix: shape confusion in resizing by @Yosshi999 in #2565
- Make nuScenes dataparser compatible with ParallelDataManager by @dmholtz in #2635
- fix include_input for NeRFEncoding by @blacksino in #2642
- Converted many @DataClass assignments for python 3.11 compatibility by @jaggzh in #2630
- Mps fix by @Jerry-Master in #2436
- Fixes bug in PairPixelSampler when working with masked dataset by @padeler in #2368
- Encoder + MLP combo by @ethanweber in #2063
- Ns-process-data bug with dev version of colmap by @AdamRashid96 in #2651
- Fix typos by @omahs in #2655
- Update hloc and add new matcher types by @alexandrukis in #2658
- Trainer can now always save dataparser transform by @pwais in #2653
- Update dependencies for M1 Macs by @brentyi in #2665
- Update cameras.py - removed duplicate lines by @IamMohitM in #2661
- Fix large dataset (> 512 images) training in viewer_beta by @brentyi in #2669
- Add support for Project Aria datasets. by @sweeneychris in #2617
- Fix custom data links in README by @brentyi in #2671
- Parity of layout between viewer beta and legacy viewer by @kerrj in #2639
- Update first_nerf.md by @Lothiraldan in #2677
- [Fix] Pixel Sampler setup in VanillaDataManager for Cameras incl. metadata by @tobiasfshr in #2678
- Added support for .tif and .tiff files in equirect utils by @THE-COB in #2613
- Gaussian splatting by @kerrj in #2521
- Add instructions for data collection and processing with Spectacular AI tools by @oseiskar in #2668
- Fix a bug of random quaternions by @Zhuoyang-Pan in #2687
- fixed color issue in ply file by @hardikdava in #2693
- Improved render panel for beta viewer by @brentyi in #2667
- Fix dycheck depth and rgb rescale by @origamiman72 in #2623
- Adding docs for Instruct-GS2GS by @cvachha in #2702
- Fix periodically stuck in parallel datamanager by @liruilong940607 in #2713
- allow render path to exist by @maturk in #2710
- Add
visible
as kwarg to ViewerElements by @chungmin99 in #2730 - Add orthophoto rendering support. by @LeaFendd in #2648
- Improvement to Gaussian Splatting workflow by @jb-ye in #2709
- fixed not cache images for full image datamanager by @hardikdava in #2692
- Fixed nerfstudio logo at the top of Colab notebook by @akristoffersen in #2733
- Migrate to viser viewer by @tancik in #2515
- Add PyNeRF external method by @hturki in #2734
- Add Mill 19 dataset by @hturki in #2742
- Undistortion should not occur for already-undistorted images by @liorfritz in #2726
- Fix Python 3.11 dataclass field default_factory defaults by @ringohoffman in #2746
- Viewer depth compositing for Gaussian Splatting models by @brentyi in #2744
- Update docs to recommend torch 2.1 by @brentyi in #2748
- Fix apple silicon install 3.10+ by @ringohoffman in #2752
- Add --no-cache-dir option to pip install in Dockerfile by @bro-sin in #2739
- Improve viewer banner when server is bound to 0.0.0.0 by @brentyi in #2761
- Use ruff as linter and formatter by @ringohoffman in #2765
- Setting save_world_frame as False by default and Splat export panel in viewer by @cvachha in #2700
- Remove deprecated dependency_links config by @ringohoffman in #2753
- Remove unused make_share_url arg in ns-viewer by @brentyi in #2749
- Update dependencies for aarch64 by @ymtoo in #2750
- Reduce startup overhead by @brentyi in #2763
- camtoworld is already a tensor in sdfstudio_data by @maturk in #2777
- Docs for gaussian splatting by @kerrj in #2776
- Bump viser by @brentyi in #2779
- Update documentation for 3DGS by @cvachha in #2780
- Speed up mask sampling with rejection sampling by @anc2001 in #2585
- Migrate to python functions for gsplat by @kerrj in #2778
- Add option of caching image in bytes rather than float32 by @jb-ye in #2741
- Updates to docs for gaussian splatting by @AdamRashid96 in #2782
- MAX_AUTO_RESOLUTION is ensured in auto downscale by @jb-ye in #2788
- Remove unsupported camera optimization from GS by @kerrj in #2790
- Bump tyro by @brentyi in #2792
- Revisiting #1504 and fix colmap world coordinate transform by @jb-ye in #2793
- Switching the gaussian-splatting dataparser from ColmapDataParser to NerfStudioDataparser and updating ns-process-data by @CardiacMangoes in #2791
- Don't throw away non-tensor objects in TensorDataclass by @brentyi in #2783
- Use github output format for ruff in CI by @brentyi in #2786
- Gaussian splatting support for Aria by @brentyi in #2785
- Disable projectaria tools on Windows by @VasuAgrawal in #2794
- Rename gaussian-splatting to splatfacto for clarity by @kerrj in #2796
- Add preliminary EyefulTower dataset support by @VasuAgrawal in #2672
- Gracefuly handle old ViewerElements from legacy viewer by @kerrj in #2797
- Remove legacy viewer from GitHub actions by @brentyi in #2798
- Clean up
ns-train {method} --help
for not-yet-installed external methods by @brentyi in #2760 - fix the bugs associated with blender datas by @KevinXu02 in #2704
New Contributors
- @pierremerriaux-leddartech made their first contribution in #2477
- @ARK3r made their first contribution in #2483
- @Lothiraldan made their first contribution in #2488
- @sjj118 made their first contribution in #2494
- @Dwawayu made their first contribution in #2493
- @jampekka made their first contribution in #2490
- @pierotofy made their first contribution in #2517
- @SeaOtocinclus made their first contribution in #2534
- @ahmed-shariff made their first contribution in #2446
- @OrangeSodahub made their first contribution in #2546
- @2b-t made their first contribution in #2549
- @cpheinrich made their first contribution in #2597
- @emmaguo13 made their first contribution in #2606
- @Yosshi999 made their first contribution in #2565
- @dmholtz made their first contribution in #2635
- @blacksino made their first contribution in #2642
- @jaggzh made their first contribution in #2630
- @Jerry-Master made their first contribution in #2436
- @omahs made their first contribution in #2655
- @alexandrukis made their first contribution in #2658
- @IamMohitM made their first contribution in #2661
- @sweeneychris made their first contribution in #2617
- @tobiasfshr made their first contribution in #2678
- @oseiskar made their first contribution in #2668
- @hardikdava made their first contribution in #2693
- @LeaFendd made their first contribution in #2648
- @liorfritz made their first contribution in #2726
- @ringohoffman made their first contribution in #2746
- @bro-sin made their first contribution in #2739
- @ymtoo made their first contribution in #2750
- @VasuAgrawal made their first contribution in #2794
- @KevinXu02 made their first contribution in #2704
Full Changelog: v0.3.4...v1.0.0