Skip to content

Commit

Permalink
Merge pull request #2 from benhenryL/page
Browse files Browse the repository at this point in the history
Page
  • Loading branch information
benhenryL authored Dec 26, 2023
2 parents 648c325 + cf382b3 commit 5cc7d81
Show file tree
Hide file tree
Showing 15 changed files with 42 additions and 173 deletions.
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.

0 comments on commit 5cc7d81

Please sign in to comment.