Skip to content

Commit

Permalink
add IGS method
Browse files Browse the repository at this point in the history
  • Loading branch information
paulbzm committed Aug 27, 2024
1 parent 1179b09 commit 9fd67f7
Show file tree
Hide file tree
Showing 12 changed files with 44 additions and 6 deletions.
18 changes: 13 additions & 5 deletions data_extraction/data_extraction.py
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,8 @@ def parse_table_to_df(table, rotated=False):
table = re.sub(r'\$\S+\$', '', table) #remove all inside $$
table = re.sub(r'\\textbf{([^}]*)}', r'\1', table) #remove all \textbf{}
table = re.sub(r'\\cellcolor{[^}]*}{([^}]*)}', r'\1', table) #remove all \cellcolor{}
table = re.sub(r'\\cellcolor\[[^}]*\]{[^}]*}', '', table) #remove celcolors with other backets
table = re.sub(r'\\multicolumn\{\d+\}\{[a-z]\}\{([\d.]+)\}', r'\1', table) # remove '\\multicolumn{1}{l}{12.5}'

# Find the tabular environment
rows = re.findall(r'\\begin\{tabular\}.*?\\end\{tabular\}', table, re.DOTALL)
Expand Down Expand Up @@ -166,7 +168,7 @@ def tex_to_pd(tables, sources_file):
if df is None:
continue
if source in pd_tables:
pd_tables[source] = pd.concat([pd_tables[source], df], axis=1)
pd_tables[source] = pd.merge(pd_tables[source], df, on="Method", how="outer")
else:
pd_tables[source] = df
else:
Expand Down Expand Up @@ -270,7 +272,7 @@ def df_to_results_csv(pd_tables, sources_file, csv_tables):
pd_tables[source] = pd_tables[source].loc[:, ~duplicates]
#find "ours" column
for row in range(len(pd_tables[source])):
if "ours" in pd_tables[source]["Method"][row].lower():
if not pd.isna(pd_tables[source]["Method"][row]) and "ours" in pd_tables[source]["Method"][row].lower():
# filter out submethods, everything after "ours", "" if only "ours"
submethod = re.search(r'(?i)ours([^}]*)', pd_tables[source]["Method"][row]).group(1)
#iterate through all columns and transfer values
Expand All @@ -287,8 +289,14 @@ def df_to_results_csv(pd_tables, sources_file, csv_tables):
#convert to Bytes
value = int(float(value) * 1024 * 1024)
metric = "Size [Bytes]"
elif metric in ["PSNR","SSIM","LPIPS"]:
pass
# elif metric in ["PSNR","SSIM","LPIPS"]:
# pass
elif "psnr" in metric.lower():
metric = "PSNR"
elif "ssim" in metric.lower():
metric = "SSIM"
elif "lpips" in metric.lower():
metric = "LPIPS"
else:
continue

Expand All @@ -308,7 +316,7 @@ def df_to_results_csv(pd_tables, sources_file, csv_tables):
if len(row_index) == 0:
#"Method","PSNR","SSIM","LPIPS","Size [Bytes]","Data Source","Comment"
print("Adding new row for ", source, " ", submethod)
result_tables[dataset_name].loc[len(result_tables[dataset_name])] = {"Method": source, "Submethod": submethod, "PSNR": "", "SSIM": "", "LPIPS": "", "Size [Bytes]": pd.NA, "Data Source": "", "Comment": ""}
result_tables[dataset_name].loc[len(result_tables[dataset_name])] = {"Method": source, "Submethod": submethod, "PSNR": "", "SSIM": "", "LPIPS": "", "Size [Bytes]": "", "Data Source": "", "Comment": ""}
row_index = result_tables[dataset_name].index[
(result_tables[dataset_name]["Method"] == source) &
(result_tables[dataset_name]["Submethod"] == submethod)
Expand Down
9 changes: 9 additions & 0 deletions data_extraction/data_source.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,12 @@ ye2023mathematical:
url: "https://github.com/nerfstudio-project/gsplat/tree/main/examples/benchmarks/compression/results"
is_csv: True

wu2024implicit:
url: "https://www.arxiv.org/src/2408.10041"
is_csv: False
table_names:
- tab:exp1
- tab:exp2
table_rotated: True
filename: "sec/3_method.tex"

10 changes: 10 additions & 0 deletions methods.bib
Original file line number Diff line number Diff line change
Expand Up @@ -165,4 +165,14 @@ @misc{ye2023mathematical
primaryClass={cs.MS},
url={https://docs.gsplat.studio/main/},
shortname={gsplat},
}

@article{wu2024implicit,
title={Implicit Gaussian Splatting with Efficient Multi-Level Tri-Plane Representation},
author={Wu, Minye and Tuytelaars, Tinne},
journal={arXiv preprint arXiv:2408.10041},
year={2024},
url={https://www.arxiv.org/abs/2408.10041},
abstract={Recent advancements in photo-realistic novel view synthesis have been significantly driven by Gaussian Splatting (3DGS). Nevertheless, the explicit nature of 3DGS data entails considerable storage requirements, highlighting a pressing need for more efficient data representations. To address this, we present Implicit Gaussian Splatting (IGS), an innovative hybrid model that integrates explicit point clouds with implicit feature embeddings through a multi-level tri-plane architecture. This architecture features 2D feature grids at various resolutions across different levels, facilitating continuous spatial domain representation and enhancing spatial correlations among Gaussian primitives. Building upon this foundation, we introduce a level-based progressive training scheme, which incorporates explicit spatial regularization. This method capitalizes on spatial correlations to enhance both the rendering quality and the compactness of the IGS representation. Furthermore, we propose a novel compression pipeline tailored for both point clouds and 2D feature grids, considering the entropy variations across different levels. Extensive experimental evaluations demonstrate that our algorithm can deliver high-quality rendering using only a few MBs, effectively balancing storage efficiency and rendering fidelity, and yielding results that are competitive with the state-of-the-art.},
shortname={IGS}
}
3 changes: 3 additions & 0 deletions methods/wu2024implicit.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
### Implicit Gaussian Splatting with Efficient Multi-Level Tri-Plane Representation

This method introduces a hybrid representation for splatting-based radiance fields, where Gaussian primitives are separated into explicit point cloud and implicit attribute features. The attribute features are encoded using a multi-resolution multi-level tri-plane architecture integrated with a residual-based rendering pipeline. It employs a level-based progressive training scheme for joint optimization of point clouds and tri-planes, starting with coarse attributes and refining them with higher-level details. Spatial regularization and a bootstrapping scheme are applied to enhance the consistency and stability of the Gaussian attributes during training.
2 changes: 1 addition & 1 deletion project-page/index_template.html
Original file line number Diff line number Diff line change
Expand Up @@ -377,7 +377,7 @@ <h2 class="title is-3" style="margin-left: 10px; margin-right: 10px;">
<span class="author-block">
{{ paper.authors }}</span>
</div>
{% if paper.published_at != "arXiv" %}
{% if not "arXiv" in paper.published_at %}
<span class="rounded-bullet"><b>{{ paper.published_at }}</b></span>
{% endif %}
<br>
Expand Down
Binary file added project-page/static/images/wu2024implicit.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
2 changes: 2 additions & 0 deletions results/DeepBlending.csv
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,5 @@ wang2024end,,29.35,0.895,0.277,4135678,,https://raw.githubusercontent.com/USTC-I
wang2024end,,29.48,0.899,0.265,6706771,,https://raw.githubusercontent.com/USTC-IMCL/RDO-Gaussian/main/results,
wang2024end,,29.59,0.901,0.256,10959799,,https://raw.githubusercontent.com/USTC-IMCL/RDO-Gaussian/main/results,
wang2024end,Baseline,29.63,0.902,0.252,17998223,,https://raw.githubusercontent.com/USTC-IMCL/RDO-Gaussian/main/results,
wu2024implicit,-Low,30.63,0.904,0.293,6647971,,https://www.arxiv.org/src/2408.10041,
wu2024implicit,-High,32.33,0.924,0.253,8115978,,https://www.arxiv.org/src/2408.10041,
2 changes: 2 additions & 0 deletions results/MipNeRF360.csv
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ wang2024end,,26.03,0.764,0.299,6162423,,https://raw.githubusercontent.com/USTC-I
wang2024end,,26.50,0.784,0.268,9761150,,https://raw.githubusercontent.com/USTC-IMCL/RDO-Gaussian/main/results,
wang2024end,,26.87,0.796,0.248,15351860,,https://raw.githubusercontent.com/USTC-IMCL/RDO-Gaussian/main/results,
wang2024end,Baseline,27.05,0.802,0.239,23460290,,https://raw.githubusercontent.com/USTC-IMCL/RDO-Gaussian/main/results,
wu2024implicit,-Low,27.33,0.809,0.257,13107200,,https://www.arxiv.org/src/2408.10041,
wu2024implicit,-High,27.62,0.819,0.247,26633830,,https://www.arxiv.org/src/2408.10041,
ye2023mathematical,,26.64,0.788,0.270,6916294,360000.0,https://raw.githubusercontent.com/nerfstudio-project/gsplat/main/examples/benchmarks/compression/results,
ye2023mathematical,,26.88,0.796,0.256,8796870,490000.0,https://raw.githubusercontent.com/nerfstudio-project/gsplat/main/examples/benchmarks/compression/results,
ye2023mathematical,-1.00M,27.29,0.811,0.229,16038022,1000000.0,https://raw.githubusercontent.com/nerfstudio-project/gsplat/main/examples/benchmarks/compression/results,
Expand Down
2 changes: 2 additions & 0 deletions results/SyntheticNeRF.csv
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,5 @@ wang2024end,,32.01,0.961,0.042,1016378,,https://raw.githubusercontent.com/USTC-I
wang2024end,,32.56,0.964,0.038,1331576,,https://raw.githubusercontent.com/USTC-IMCL/RDO-Gaussian/main/results,
wang2024end,,32.97,0.966,0.035,1838842,,https://raw.githubusercontent.com/USTC-IMCL/RDO-Gaussian/main/results,
wang2024end,Baseline,33.12,0.967,0.034,2314380,,https://raw.githubusercontent.com/USTC-IMCL/RDO-Gaussian/main/results,
wu2024implicit,-Low,33.36,0.971,0.036,1939865,,https://www.arxiv.org/src/2408.10041,
wu2024implicit,-High,34.18,0.975,0.032,2852126,,https://www.arxiv.org/src/2408.10041,
2 changes: 2 additions & 0 deletions results/TanksAndTemples.csv
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ wang2024end,,22.98,0.812,0.233,3737081,,https://raw.githubusercontent.com/USTC-I
wang2024end,,23.14,0.823,0.214,5492385,,https://raw.githubusercontent.com/USTC-IMCL/RDO-Gaussian/main/results,
wang2024end,,23.28,0.831,0.202,8017022,,https://raw.githubusercontent.com/USTC-IMCL/RDO-Gaussian/main/results,
wang2024end,Baseline,23.34,0.835,0.195,12022710,,https://raw.githubusercontent.com/USTC-IMCL/RDO-Gaussian/main/results,
wu2024implicit,-Low,23.70,0.836,0.227,8849981,,https://www.arxiv.org/src/2408.10041,
wu2024implicit,-High,24.05,0.849,0.210,13107200,,https://www.arxiv.org/src/2408.10041,
ye2023mathematical,,23.54,0.838,0.200,6875669,360000.0,https://raw.githubusercontent.com/nerfstudio-project/gsplat/main/examples/benchmarks/compression/results,
ye2023mathematical,,23.62,0.845,0.188,8728572,490000.0,https://raw.githubusercontent.com/nerfstudio-project/gsplat/main/examples/benchmarks/compression/results,
ye2023mathematical,-1.00M,24.03,0.857,0.163,16100628,1000000.0,https://raw.githubusercontent.com/nerfstudio-project/gsplat/main/examples/benchmarks/compression/results,
Expand Down

0 comments on commit 9fd67f7

Please sign in to comment.