Releases: nerfstudio-project/nerfstudio
Releases · nerfstudio-project/nerfstudio
v1.1.5
What's Changed
- Suppress wandb type error by @brentyi in #3397
- Bump viser to 0.2.7 by @ginazhouhuiwu in #3398
- change grid resolution type by @hoanhle in #3400
- Add eval data to image_rename_map by @jiaruiyu99 in #3396
- update documentation for instant-ngp by @hoanhle in #3406
- Update dockerfile and add docker build action by @jkulhanek in #3283
- RGBA renderer for splatfacto by @hardikdava in #3307
- bugfix: handle multiple camera types in a single batch by @decrispell in #3415
- Add option to start training paused by @aayushg55 in #3420
- Fix docker attestation fail on forked repo PRs by @jkulhanek in #3423
- use gsplat strategy interface to simplify splatfacto by @jb-ye in #3376
- Minor update to generate splat files in inference mode by @maxwildersmith in #3432
- Fix crop obb masking in pointcloud generation by @nepfaff in #3433
- Adding Random Seed for Frame Processing by @Anthony-Tafoya in #3416
- Fix splatfacto crash in eval when using viewer by @aayushg55 in #3430
- Zipnerf point cloud and tsdf mesh export support by @aayushg55 in #3429
- Fix #3417 by @jb-ye in #3441
- Change depth from float64 to float32 by @nepfaff in #3453
- Speed up PairPixelSampler by @nepfaff in #3452
- Rejection sample mask for patch pixel sampler by @nepfaff in #3457
- Make PixelSampler the depth-nerfacto default by @nepfaff in #3454
- Keep depth_image on CPU by @nepfaff in #3449
- Add
max_frames
+max_output_size
arguments for Aria data processing by @brentyi in #3466 - Add option for refining the TSDF using the mesh's AABB by @nepfaff in #3459
- Add option to change .ply output filename for Gaussian exports by @brentyi in #3467
- tag exported ply files by @simonbethke in #3472
- update gsplat version to >=1.3.0 by @kerrj in #3478
- Properly reset train state after render lock in viewer by @kerrj in #3486
- Restrict pymeshlab version on Windows (3461) by @SharkWipf in #3474
- fix: saving ckpt error when ckpt folder has some folder inside by @Crescent-Saturn in #3516
- bump version to 1.1.5 by @jb-ye in #3521
New Contributors
- @jiaruiyu99 made their first contribution in #3396
- @aayushg55 made their first contribution in #3420
- @maxwildersmith made their first contribution in #3432
- @Anthony-Tafoya made their first contribution in #3416
Full Changelog: v1.1.4...v1.1.5
v1.1.4
Bilagrid + Splatfacto/Nerfacto, and more bug fixes!
What's Changed
- Compatibility for numpy 2.0 by @kerrj in #3265
- Fix different initial tension value between
tension_slider
and `cam… by @yzslab in #3271 - Fix parsing of non ascii image names in colmap's images.bin by @TamirCohen in #3256
- Bump viser by @ginazhouhuiwu in #3234
- Update pytorch in Dockerfile to 2.1.2 by @Zunhammer in #3268
- Fix dimension mismatch between downscaled cameras and images in colmap. by @jisung3d in #3232
- Bump viser to 0.2.3 by @brentyi in #3277
- Make
awscli
an optional dependency by @pculbertson-bdai in #3279 - Document updates for splatfacto-w by @KevinXu02 in #3281
- fix color shape when sh_degree=0 in splatfacto by @liruilong940607 in #3296
- Update the docstring of
SplatfactoModel.get_outputs
by @kstoneriv3 in #3289 - Update installation.md: Add missing Pixi documentation by @SharkWipf in #3302
- Added _load_3D_points to scannet_dataparser.py by @junyuan-fang in #3305
- Loose assert condition for datamanger in get_average_eval_image_metrics() by @KevinXu02 in #3310
- Splatw doc updates by @KevinXu02 in #3311
- Pass current camera idx in metadata to get output from viser by @KevinXu02 in #3293
- fix ruff check by @jb-ye in #3328
- Swap out opencv-python for opencv-python-headless by @SharkWipf in #3336
- make np.array compatible with numpy 2.0 by @Guangyun-Xu in #3339
- Allows rendering the appearance of specific training camera indices by @KevinXu02 in #3346
- Lazy import for open3d in Blender DataParser by @ethanweber in #3347
- Bilagird for splatfacto by @KevinXu02 in #3316
- Bump + run
ruff
by @brentyi in #3369 - installation.md: Remove manual gsplat installation for Windows by @SharkWipf in #3333
- bug fix for splatfacto by @jb-ye in #3367
- Addressed TODO in full_images_datamanager.py to return image resolution as train rays by @ajean757 in #3312
- fix bugs in generfacto, train_dataparser_outputs.save_dataparser_transform and viewer camera on cpu by @pierremerriaux-leddartech in #3378
- Fix memory leak in full_images_datamanager.py by @brentyi in #3375
- Fix #3355 by @jb-ye in #3381
- Add an example on how to customize dataparser with ns-train by @yufengzh in #3385
- get rid of gsplat legacy dep by @liruilong940607 in #3386
- Updating camera intrinsics (principal points) when the undistorted image is cropped by @AntonioMacaronio in #3382
- add assertion to make sure positions and positions_flat are not empty by @hoanhle in #3387
- Update exporter.py to export sh_degree 0 case #3371 by @jb-ye in #3374
- bump version to v1.1.4 by @jb-ye in #3394
New Contributors
- @TamirCohen made their first contribution in #3256
- @jisung3d made their first contribution in #3232
- @pculbertson-bdai made their first contribution in #3279
- @kstoneriv3 made their first contribution in #3289
- @junyuan-fang made their first contribution in #3305
- @yufengzh made their first contribution in #3385
Full Changelog: v1.1.3...v1.1.4
v1.1.3
Bug fixes!
What's Changed
- Making install_checks use colmap_cmd by @SimonF24 in #3204
- Fix bug in SplatfactoModel when sh_degree is zero the color is not with sigmoid by @liruilong940607 in #3207
- Update installation guide for Windows (tcnn+gsplat) by @KevinXu02 in #3212
- Update installation.md by @KevinXu02 in #3213
- Adds back screen size too bigs culling as an option by @KevinXu02 in #3211
- Small fix when evaluating splatfacto model, running ns-eval by @ajean757 in #3219
- Add descriptions for splatfacto-big and nerfacto-huge by @KevinXu02 in #3233
New Contributors
Full Changelog: v1.1.2...v1.1.3
v1.1.2
Fixes splatfacto
for Windows.
What's Changed
- torch.compile -> torch_compile from misc by @liruilong940607 in #3202
Full Changelog: v1.1.1...v1.1.2
v1.1.1
What's Changed
- Fix legacy tensor construction by @gtangg12 in #3145
- Support OCI standard dockerfile by @SwirtaB in #2961
- Only import pycolmap in run_hloc by @KevinXu02 in #3146
- Add Pixi as an option for installation by @pablovela5620 in #3130
- remove redundant code in full_images_datamanager.py by @paolovic in #3155
- Add OpenNeRF method (ICLR'24 http://arxiv.org/abs/2404.03650) by @francisengelmann in #3167
- Fix "poster" dataset extraction by @martin-kokos in #3164
- Fixing resize_image and adding additional distortion check by @AntonioMacaronio in #3162
- NeRFtoGSandBack by @Siming-He in #3150
- Fix: when --use-sfm-depth is enabled and the model is given by --colm… by @Serenitysmk in #3172
- Export Splatfacto-optimized poses by @oseiskar in #3116
- Introduce FPSampler for train cameras by @jb-ye in #3177
- Generalize get average image metrics by @hoanhle in #3188
- Adding new captures to eyeful dataset by @isrish in #3186
- Ignore gsplat 1.0 for now by @pwais in #3197
- Update splatfacto with gsplat 1.0 by @liruilong940607 in #3200
New Contributors
- @gtangg12 made their first contribution in #3145
- @SwirtaB made their first contribution in #2961
- @paolovic made their first contribution in #3155
- @francisengelmann made their first contribution in #3167
- @martin-kokos made their first contribution in #3164
- @Siming-He made their first contribution in #3150
- @Serenitysmk made their first contribution in #3172
- @hoanhle made their first contribution in #3188
- @isrish made their first contribution in #3186
Full Changelog: v1.1.0...v1.1.1
v1.1.0
What's Changed
- Refactor ScenePointerCallbacks for viser compatibility by @chungmin99 in #3036
- Only load+undistort splatfacto images when they're used by @brentyi in #3043
- New Google Drive link for poster dataset by @ginazhouhuiwu in #3045
- Added SIGNeRF to Nerfstudio methods by @JDihlmann in #3053
- Make colmapDataParser compatible with 360_v2 dataset format by @Jing1Ling in #2860
- Fix config loading for Eyeful Tower dataset by @hardhat5 in #3054
- feat(ci): migrate to
uv
in CI by @SauravMaheshkar in #3038 - Fix custom elements nested under @Property by @kerrj in #3066
- fix exporter.py for FullImageDataManager and RandomCamerasDataManager by @dberga in #3065
- Camera pose optimization for Splatfacto by @oseiskar in #2891
- write eval combined images for diagnostics by @jb-ye in #3070
- Fixed Unexpectedly huge RAM consumption of parallel datamanager by @hyperzy in #3060
- Add pointcloud loading for blender parser by @gchhablani in #2902
- shift principle points by .5 in undistortion by @kerrj in #3071
- Fix call to detect ODM reconstruction file by @codeprimate in #3018
- updates to apply_pca_colormap by @kerrj in #3086
- Changes for trainer.py to support the Gradio webui by @KevinXu02 in #3046
- Allow alpha transparency training for blender datasets input by @jb-ye in #3088
- Hloc fix for image_ids (camera per image) by @dberga in #3081
- Adding lock for Viser Element callbacks by @Satvik1701 in #3067
- Adding cropping for gaussian splat exports by @THE-COB in #3105
- GaussianSplats export: allow uint8 in ply by @mathijshenquet in #3111
- Use AbsGrad to get better results with less gaussians by @jb-ye in #3113
- Fix bug in pixel sampler by @carlinds in #3103
- metashape_utils: work with camera groups by @f-dy in #2626
- Fix #3064 and some minor changes by @jb-ye in #3121
- Support splatfacto training for metashape exports by @jb-ye in #3122
- fix nerfstudio collate function by @hturki in #2965
- Add a pointcloud export from polycam to process-data by @kerrj in #3124
- BioNeRF by @Leandropassosjr in #3125
- Fixing typos and symbols in bionerf.md by @Leandropassosjr in #3126
- Add kwargs handling for patchpixelsampler patch size by @chungmin99 in #2622
- Make RealityCapture csv/ply exports work! by @jb-ye in #3131
- adding the link for the paper page and fixing image paths by @Leandropassosjr in #3132
- Fix edge case of depth colormap by @Feez2403 in #3139
- Clarify flag name in docs/nerfology/methods/splat.md by @EliasWatson in #3140
- bump version to 1.1.0 by @jb-ye in #3143
New Contributors
- @hardhat5 made their first contribution in #3054
- @dberga made their first contribution in #3065
- @codeprimate made their first contribution in #3018
- @Satvik1701 made their first contribution in #3067
- @carlinds made their first contribution in #3103
- @Leandropassosjr made their first contribution in #3125
- @Feez2403 made their first contribution in #3139
- @EliasWatson made their first contribution in #3140
Full Changelog: v1.0.3...v1.1.0
v1.0.3
What's Changed
- splatfacto-big by @AdamRashid96 in #2945
- Support new MPS filenames for Project Aria point clouds by @brentyi in #2949
- Show viewer resolution as WxH instead of HxW by @brentyi in #2948
- Fix Nerfacto + Aria by @brentyi in #2950
- Fix progress bar for full images datamanager by @brentyi in #2969
- fix bug that opacity compentation not being applied to depth raterization by @jinhwanlazy in #2966
- add splatfacto-big docs by @AdamRashid96 in #2955
- Adding Terminal Window to Jupyter Cells so all Colab users (free and pro) can train with Nerfstudio by @AntonioMacaronio in #2870
- Refactor splatfacto gaussian params with a ParameterDict by @kerrj in #2946
- doc: fix code typo in 'NeRF' method doc by @Crescent-Saturn in #2978
- Fix depth-nerfacto edge cases by @ethanweber in #2939
- Handle alpha images properly for instant-ngp and tensorf models by @trinh31201 in #2979
- Fix: Masks having wrong dimension after undistortion (causes crash in splatfacto) by @Zunhammer in #2987
- Camera models by @wooni-github in #2997
- Add 'within' function to SceneBox by @tobiasfshr in #2991
- enable coarse-to-fine training by @jb-ye in #2984
- Upgrade to latest nbformat 5.9.2 by @ringohoffman in #2964
- Make ply export property ordering backward compatible (fixes #3004) by @mathijshenquet in #3005
- Fix rotation_matrix for opposite float32 vectors by @jb-ye in #3011
- Fix bug when trying to create a camera path in viewer by @MildMystery in #3016
- Support rectangle selection in viewer by @chungmin99 in #3014
- Get rid of redundant projection matrix computations in Splatfacto (needs a gsplat update) by @oseiskar in #3019
- Exporting Splatfacto: correct errors when there are NaN/Inf values in some attributes by @MaximeVandegar in #3032
- Fix core tests with Pillow>=10.3.0 by @jb-ye in #3034
- Support COLMAP reconstructions with non-flat image dirs by @zacstewart in #3006
- bump version to 1.0.3 by @jb-ye in #3035
New Contributors
- @Crescent-Saturn made their first contribution in #2978
- @trinh31201 made their first contribution in #2979
- @wooni-github made their first contribution in #2997
- @mathijshenquet made their first contribution in #3005
- @MildMystery made their first contribution in #3016
- @MaximeVandegar made their first contribution in #3032
- @zacstewart made their first contribution in #3006
Full Changelog: v1.0.2...v1.0.3
v1.0.2
What's Changed
- fix: pixelated downscaled images by @ymtoo in #2866
- Add multi-processing support for cache_image. Fixed the issue of insufficient precision leading to a completely black image when converting from RGBA to RGB. by @KevinXu02 in #2867
- Enable always returning depth for Gaussian Splatting by @ethanweber in #2873
- Update viewer legacy docs by @brentyi in #2875
- Add default depth output when no gaussians visible by @chungmin99 in #2874
- Remove useless call to .with_suffix(""), which causes a bug if filename contains dots by @f-dy in #2882
- support generic TDataset in paralleldatamanager by @hturki in #2884
- [Fix] convert camera_idx to tensor by @tobiasfshr in #2890
- Fix benchmarking script camera optimizer argument by @gchhablani in #2899
- add zipnerf-pytorch as external method by @Jing1Ling in #2850
- Add transparency carving to splatfacto by @pa-la in #2889
- Fix an issue where gradient accumulation could not be passed as argument due to a type error. by @SharkWipf in #2910
- Implement new rasterization mode using opacity compensation factor by @jb-ye in #2888
- Switch default matching method for videos to 'sequential' in COLMAP by @kerrj in #2912
- Call rescale_output_resolution before early return by @pierotofy in #2897
- Make time slider effective in viewer (Fixes #2928) by @iSach in #2931
- Fixed ns_render dataset bug in splatfacto by @pa-la in #2917
- Update project, rasterize with block_width interface by @kerrj in #2937
- Full implementation of features for dynamic scenes into the Viser viewer. by @iSach in #2936
- fix crash when both mask and downscale_factor are set by @jinhwanlazy in #2920
- 1.0.2 by @kerrj in #2943
New Contributors
- @gchhablani made their first contribution in #2899
- @Jing1Ling made their first contribution in #2850
- @pa-la made their first contribution in #2889
- @jinhwanlazy made their first contribution in #2920
Full Changelog: v1.0.1...v1.0.2
v1.0.1
Bug fixes!
What's Changed
- important fix typo by @jb-ye in #2800
- Add documentation on existing datasets by @VasuAgrawal in #2806
- Update splatfacto.py by @Harr7y in #2804
- Fix typo in parallel_datamanager.py by @eltociear in #2812
- Make downloading more windows-friendly by @VasuAgrawal in #2810
- Have Mill19 dataset use official splits by default by @hturki in #2745
- Fix mask shape for Fisheye624 cameras by @brentyi in #2813
- Use packaging for colmap version by @chungmin99 in #2814
- Remove viewer build badge by @brentyi in #2819
- Add alpha rendering to splatfacto, fix depth bug by @kerrj in #2824
- Fix "mutable default" error in render.py by @pyetras in #2825
- fixing colmap installation to use apt-get since gdown on the URL unable to download colmap by @AntonioMacaronio in #2823
- Update viewer docs by @brentyi in #2826
- Fix the background color bug when exporting video with the "random" background option by @KevinXu02 in #2831
- External Method: seathru_nerf by @psetinek in #2829
- Add support for loading 3D points with ODM data processor by @pierotofy in #2838
- Add average_init_density to improve robustness of nerfacto training by @jb-ye in #2834
- Mask flexibility for methods than need to sample in the masked region by @ethanweber in #2647
- Add flag to disable apperance embedding by @jkulhanek in #2843
- Fix #2843 - safer typing by @jkulhanek in #2848
- limit torch to <=2.1 to avoid type errors by @kerrj in #2857
- Have predicted depth as expected_depth so gradients can be computed by @mattstrong-stanford in #2852
- Avoid OOM for caching undistorted images of splatfacto by @jb-ye in #2855
- Replace depth alpha mask logic with torch.where for gradients in splatfacto by @kerrj in #2856
- Changed torch version to <2.2 by @simonbethke in #2861
- Fix ODM data processor coordinate system by @pierotofy in #2847
- Upper-bound torch version for dev installs only by @brentyi in #2864
- v1.0.1 by @tancik in #2865
New Contributors
- @Harr7y made their first contribution in #2804
- @pyetras made their first contribution in #2825
- @AntonioMacaronio made their first contribution in #2823
- @psetinek made their first contribution in #2829
- @mattstrong-stanford made their first contribution in #2852
- @simonbethke made their first contribution in #2861
Full Changelog: v1.0.0...v1.0.1
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 https:...