Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Page #2

Merged
merged 2 commits into from
Dec 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added images/curve.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/focus_measure_operator_ablation_study.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/kernel_vis.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/patch_sampling.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
215 changes: 42 additions & 173 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -141,11 +141,6 @@ <h3>[<a href="https://github.com/benhenryL/SharpNeRF">Code</a>] &emsp; [<a href=
<hr>
<div class="w3-display-container w3-row w3-white w3-margin-bottom w3-center">
<img src="images/architecture.png" style="width:100%">

<!-- <video controls style="width:100%" autoplay loop playsinline muted>
<source src="videos/media1.mp4" type="video/mp4">
Sorry, your browser doesn't support embedded videos.
</video> -->
</div>

<hr>
Expand All @@ -154,214 +149,88 @@ <h2>Abstract</h2>
</div>
<p align="justify">Neural Radiance Fields (NeRF) has shown its remarkable performance in neural rendering-based novel view synthesis. However, NeRF suffers from severe visual quality degradation when the input images have been captured under imperfect conditions, such as poor illumination, defocus blurring and lens aberrations. Especially, defocus blur is quite common in the images when they are normally captured using cameras. Although few recent studies have proposed to render sharp images of considerably high-quality, yet they still face many key challenges. In particular, those methods have employed a Multi-Layer Perceptron (MLP) based NeRF which requires tremendous computational time. To overcome these shortcomings, this paper proposes a novel technique Sharp-NeRF---a grid-based NeRF that renders clean and sharp images from the input blurry images within a half an hour training. To do so, we used several grid-based kernels to accurately model the sharpness/blurriness of the scene. The sharpness level of the pixels is computed to learn the spatially varying blur kernels. We have conducted experiments on the benchmarks consisting of blurry images and have evaluated full-reference and non-reference metrics. The qualitative and quantitative results have revealed that our approach renders the sharp novel views with vivid colors and fine details, and it has considerably faster training time than the previous works.</p>

<!-- <hr>
<hr>
<div class="w3-display-container w3-row w3-white w3-margin-bottom">
<div align="center">
<img src="images/curve.png" style="width:100%">
<p align="justify">Comparison in terms of training time and image qual-
ity on the real defocus dataset. Left: Evaluated under full-
reference metric (PSNR). Right: Evaluated under no-reference
metric (Niqe).</p>
</div>

<hr>
<div class="w3-center">
<h2>Why wavelet transform?</h2>
<h2>Method</h2>
</div>

<p><strong>Sharpness Prior</strong></p>
<div class="w3-display-container w3-row w3-white w3-margin-bottom">
<div align="center">
<img src="images/new_synthetic.png" style="width:37%">
<img src="images/fig_level.png" style="width:35%; margin-top:-10px">
</div>
<img src="images/rate_distortion_large_multi.png" style="width:100%; margin-top:20px">
<p align="justify">Using wavelet coefficients can enhance visual quality, especially when sparsity is high. Furthermore, using a higher level of the wavelet transform can improve visual quality and sparsity even further.</p>
</div> -->

<!-- <hr>
<div class="w3-center">
<h2>Grid visualization</h2>
<img src="images/focus_measure_operator_ablation_study.png" style="width:100%">
<p align="justify">Comparison of sharpness maps provided by various sharpness priors. (a): Sample images, and sharpness maps from (b):
Tenengrad, (c): SML, and (d): DMENet.</p>
</div>
<div class="w3-display-container w3-row w3-white w3-margin-bottom w3-center">
<div style="display: inline-block; width:35%">
<div class="centered"><h3>Top</h3></div>
<img src="images/org_wavelet_0.png" style="width:100%">
</div>
<div style="display: inline-block; width:40%">
<div class="centered"><h3>Lateral</h3></div>
<img src="images/org_wavelet_1.png" style="width:100%">
</div>
<div style="display: inline-block; width:22%">
<div class="centered"><h3>Front</h3></div>
<img src="images/org_wavelet_2.png" style="width:100%">
</div>
<p align="center">Wavelet coefficients</p>

<div style="display: inline-block; width:35%">
<img src="images/wavelet_mask_0.png" style="width:100%">
</div>
<div style="display: inline-block; width:40%">
<img src="images/wavelet_mask_1.png" style="width:100%">
</div>
<div style="display: inline-block; width:22%">
<img src="images/wavelet_mask_2.png" style="width:100%">
</div>
<p align="center">Binary mask</p>

<div style="display: inline-block; width:35%">
<img src="images/wavelet_0.png" style="width:100%">
</div>
<div style="display: inline-block; width:40%">
<img src="images/wavelet_1.png" style="width:100%">
</div>
<div style="display: inline-block; width:22%">
<img src="images/wavelet_2.png" style="width:100%">
</div>
<p align="center">Masked wavelet coefficients</p>

<div style="display: inline-block; width:35%">
<img src="images/spatial_0.png" style="width:100%">
</div>
<div style="display: inline-block; width:40%">
<img src="images/spatial_1.png" style="width:100%">
</div>
<div style="display: inline-block; width:22%">
<img src="images/spatial_2.png" style="width:100%">
</div>
<p align="center">After IDWT</p>

<p align="center">With our proposed method, most wavelet coefficients (more than 95%) can be zeroed out.</p>
</div> -->
<p><strong>Grid-based Blur Kernel</strong></p>
<div class="w3-display-container w3-row w3-white w3-margin-bottom">
<div align="center">
<img src="images/kernel_vis.png" style="width:100%">
<p align="justify">Visualization of blur kernels. From left to right, the values of kernels are widely spread which implies that leftmost kernel
is responsible for sharp region and rightmost kernel is responsible for blurry region.</p>
</div>

<!-- <hr>
<div class="w3-center">
<h2>Demo</h2>
<p><strong>Patch Sampling</strong></p>
<div class="w3-display-container w3-row w3-white w3-margin-bottom">
<div align="center">
<img src="images/patch_sampling.png" style="width:100%">
<p align="justify">Left: random ray sampling. Right: random patch sampling. Blue pixels are P′ × P′ interesting pixels to be rendered
and skyblue pixels are required neighboring pixels for blur convolution.</p>
</div>
<p><strong>NeRF Synthetic Dataset - Lego</strong></p>
<div align="center" style="margin-bottom: 52px;">
<img-comparison-slider hover="hover" tabindex="0" class="rendered">
<figure slot="first" class="before">
<img id="left_img_NeRF_Lego" src="https://huggingface.co/blee/Masked_Wavelet_Representation/resolve/main/images/NeRF/Lego/TensoRF/000.png" style="min-width: 800px;">
<figcaption id="left_caption_NeRF_Lego" style="text-align:left;">
<b>TensoRF-VM192</b>
<br>PSNR: 36.04
<br>Size: 17.03MB
</figcaption>
</figure>
<figure slot="second" class="after">
<img type="image/png" id="right_img_NeRF_Lego" src="https://huggingface.co/blee/Masked_Wavelet_Representation/resolve/main/images/NeRF/Lego/000/5e-11.png" style="min-width: 800px;">
<figcaption id="right_caption_NeRF_Lego" style="text-align:right;">
<b>Ours-Sparsity 0.9441</b>
<br>PSNR: 35.33
<br>Size: 1.67MB
</figcaption>
</figure>
</img-comparison-slider>
<div class="table-wrapper">
<table width="100%">
<tbody>
<tr>
<td align="center"> Left Model</td>
<td align="center"> Frame</td>
<td align="center"> Right Model</td>
</tr>
<tr>
<td align="center">
<select id="left_select_NeRF_Lego" onchange="select_model(this, 'left', 'NeRF', 'Lego')">
<option value="GT">Ground Truth </option>
<option selected="selected" value="TensoRF">TensoRF </option>
<option value="6.25e-12">Ours-Sparsity 0.8758 </option>
<option value="1.25e-11">Ours-Sparsity 0.9165 </option>
<option value="2.5e-11">Ours-Sparsity 0.9441 </option>
<option value="5e-11">Ours-Sparsity 0.9652 </option>
<option value="1e-10">Ours-Sparsity 0.9794 </option>
<option value="2e-10">Ours-Sparsity 0.9864 </option>
<option value="4e-10">Ours-Sparsity 0.9907 </option>
<option value="8e-10">Ours-Sparsity 0.9940 </option>
<option value="1.6e-09">Ours-Sparsity 0.9959 </option>
</select></td><td align="center">
<input id="input_NeRF_Lego" type="range" min="0" max="199" value="0" onchange="select_frame(this, 'NeRF', 'Lego')">
</td>
<td align="center">
<select id="right_select_NeRF_Lego" onchange="select_model(this, 'right', 'NeRF', 'Lego')">
<option value="GT">Ground Truth </option>
<option value="TensoRF">TensoRF </option>
<option value="6.25e-12">Ours-Sparsity 0.8758 </option>
<option value="1.25e-11">Ours-Sparsity 0.9165 </option>
<option value="2.5e-11">Ours-Sparsity 0.9441 </option>
<option selected="selected" value="5e-11">Ours-Sparsity 0.9652 </option>
<option value="1e-10">Ours-Sparsity 0.9794 </option>
<option value="2e-10">Ours-Sparsity 0.9864 </option>
<option value="4e-10">Ours-Sparsity 0.9907 </option>
<option value="8e-10">Ours-Sparsity 0.9940 </option>
<option value="1.6e-09">Ours-Sparsity 0.9959 </option>
</select>
</td>
</tr>
</tbody>
</table>
</div>
</div> -->



<!-- <p><strong>NeRF Synthetic Dataset</strong></p>
<video controls style="width:48%" autoplay loop playsinline muted>
<source src="videos/NeRF/chair_mixed.mp4" type="video/mp4">
Sorry, your browser doesn't support embedded videos.
</video>
<video controls style="width:48%" autoplay loop playsinline muted>
<source src="videos/NeRF/drums_mixed.mp4" type="video/mp4">
Sorry, your browser doesn't support embedded videos.
</video>
<video controls style="width:48%" autoplay loop playsinline muted>
<source src="videos/NeRF/ficus_mixed.mp4" type="video/mp4">
Sorry, your browser doesn't support embedded videos.
</video>
<video controls style="width:48%" autoplay loop playsinline muted>
<source src="videos/NeRF/hotdog_mixed.mp4" type="video/mp4">
Sorry, your browser doesn't support embedded videos.
</video>
<hr>
<p><strong>Deblur Defocus Dataset</strong></p>
<video controls style="width:48%" autoplay loop playsinline muted>
<source src="videos/NeRF/lego_mixed.mp4" type="video/mp4">
<source src="videos/cake.mp4" type="video/mp4">
Sorry, your browser doesn't support embedded videos.
</video>
<video controls style="width:48%" autoplay loop playsinline muted>
<source src="videos/NeRF/materials_mixed.mp4" type="video/mp4">
<source src="videos/caps.mp4" type="video/mp4">
Sorry, your browser doesn't support embedded videos.
</video>
<video controls style="width:48%" autoplay loop playsinline muted>
<source src="videos/NeRF/mic_mixed.mp4" type="video/mp4">
<source src="videos/cisco.mp4" type="video/mp4">
Sorry, your browser doesn't support embedded videos.
</video>
<video controls style="width:48%" autoplay loop playsinline muted>
<source src="videos/NeRF/ship_mixed.mp4" type="video/mp4">
<source src="videos/coral.mp4" type="video/mp4">
Sorry, your browser doesn't support embedded videos.
</video>


<p><strong>NSVF Synthetic Dataset</strong></p>
<video controls style="width:48%" autoplay loop playsinline muted>
<source src="videos/NSVF/Bike_mixed.mp4" type="video/mp4">
<source src="videos/cupcake.mp4" type="video/mp4">
Sorry, your browser doesn't support embedded videos.
</video>
<video controls style="width:48%" autoplay loop playsinline muted>
<source src="videos/NSVF/Lifestyle_mixed.mp4" type="video/mp4">
<source src="videos/cups.mp4" type="video/mp4">
Sorry, your browser doesn't support embedded videos.
</video>
<video controls style="width:48%" autoplay loop playsinline muted>
<source src="videos/NSVF/Palace_mixed.mp4" type="video/mp4">
<source src="videos/daisy.mp4" type="video/mp4">
Sorry, your browser doesn't support embedded videos.
</video>
<video controls style="width:48%" autoplay loop playsinline muted>
<source src="videos/NSVF/Robot_mixed.mp4" type="video/mp4">
<source src="videos/sausage.mp4" type="video/mp4">
Sorry, your browser doesn't support embedded videos.
</video>
<video controls style="width:48%" autoplay loop playsinline muted>
<source src="videos/NSVF/Spaceship_mixed.mp4" type="video/mp4">
<source src="videos/seal.mp4" type="video/mp4">
Sorry, your browser doesn't support embedded videos.
</video>
<video controls style="width:48%" autoplay loop playsinline muted>
<source src="videos/NSVF/Steamtrain_mixed.mp4" type="video/mp4">
<source src="videos/tools.mp4" type="video/mp4">
Sorry, your browser doesn't support embedded videos.
</video>
<video controls style="width:48%" autoplay loop playsinline muted>
<source src="videos/NSVF/Toad_mixed.mp4" type="video/mp4">
Sorry, your browser doesn't support embedded videos.
</video>
<video controls style="width:48%" autoplay loop playsinline muted>
<source src="videos/NSVF/Wineholder_mixed.mp4" type="video/mp4">
Sorry, your browser doesn't support embedded videos.
</video> -->

<hr>
<div class="w3-center">
Expand Down
Binary file added videos/cake.mp4
Binary file not shown.
Binary file added videos/caps.mp4
Binary file not shown.
Binary file added videos/cisco.mp4
Binary file not shown.
Binary file added videos/coral.mp4
Binary file not shown.
Binary file added videos/cupcake.mp4
Binary file not shown.
Binary file added videos/cups.mp4
Binary file not shown.
Binary file added videos/daisy.mp4
Binary file not shown.
Binary file added videos/sausage.mp4
Binary file not shown.
Binary file added videos/seal.mp4
Binary file not shown.
Binary file added videos/tools.mp4
Binary file not shown.