Spaces:
Build error
Build error
Remove NeRF models
Browse files
app.py
CHANGED
|
@@ -28,8 +28,40 @@ def select_model(obj_select):
|
|
| 28 |
|
| 29 |
return DIET_NERF_MODEL_NAME, DIET_NERF_FILE_ID, NERF_MODEL_NAME, NERF_FILE_ID
|
| 30 |
|
|
|
|
| 31 |
|
| 32 |
st.title("DietNeRF")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
caption = (
|
| 34 |
"`DietNeRF` achieves state-of-the-art few-shot learning capacity in 3D model reconstruction. "
|
| 35 |
"Thanks to the 2D supervision by `CLIP (aka. Semantic Consisteny Loss)`, "
|
|
@@ -51,11 +83,11 @@ def download_diet_nerf_model():
|
|
| 51 |
print(f"Model downloaded from google drive: {diet_nerf_model_path}")
|
| 52 |
|
| 53 |
|
| 54 |
-
def download_nerf_model():
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
|
| 59 |
|
| 60 |
|
| 61 |
@st.cache(show_spinner=False, allow_output_mutation=True)
|
|
@@ -64,56 +96,22 @@ def fetch_diet_nerf_model():
|
|
| 64 |
return model, state
|
| 65 |
|
| 66 |
|
| 67 |
-
@st.cache(show_spinner=False, allow_output_mutation=True)
|
| 68 |
-
def fetch_nerf_model():
|
| 69 |
-
|
| 70 |
-
|
| 71 |
|
| 72 |
|
| 73 |
diet_nerf_model_path = os.path.join(MODEL_DIR, DIET_NERF_MODEL_NAME)
|
| 74 |
if not os.path.isfile(diet_nerf_model_path):
|
| 75 |
download_diet_nerf_model()
|
| 76 |
|
| 77 |
-
nerf_model_path = os.path.join(MODEL_DIR, NERF_MODEL_NAME)
|
| 78 |
-
if not os.path.isfile(nerf_model_path):
|
| 79 |
-
|
| 80 |
|
| 81 |
diet_nerf_model, diet_nerf_state = fetch_diet_nerf_model()
|
| 82 |
-
nerf_model, nerf_state = fetch_nerf_model()
|
| 83 |
-
|
| 84 |
-
pi = math.pi
|
| 85 |
-
|
| 86 |
-
st.sidebar.markdown(
|
| 87 |
-
"""
|
| 88 |
-
<style>
|
| 89 |
-
.aligncenter {
|
| 90 |
-
text-align: center;
|
| 91 |
-
}
|
| 92 |
-
</style>
|
| 93 |
-
<p class="aligncenter">
|
| 94 |
-
<img src="https://user-images.githubusercontent.com/77657524/126361638-4aad58e8-4efb-4fc5-bf78-f53d03799e1e.png" width="420" height="400"/>
|
| 95 |
-
</p>
|
| 96 |
-
""",
|
| 97 |
-
unsafe_allow_html=True,
|
| 98 |
-
)
|
| 99 |
-
st.sidebar.markdown(
|
| 100 |
-
"""
|
| 101 |
-
<p style='text-align: center'>
|
| 102 |
-
<a href="https://github.com/codestella/putting-nerf-on-a-diet" target="_blank">GitHub</a> | <a href="https://www.notion.so/DietNeRF-Putting-NeRF-on-a-Diet-4aeddae95d054f1d91686f02bdb74745" target="_blank">Project Report</a>
|
| 103 |
-
</p>
|
| 104 |
-
""",
|
| 105 |
-
unsafe_allow_html=True,
|
| 106 |
-
)
|
| 107 |
-
st.sidebar.header("SELECT YOUR VIEW DIRECTION")
|
| 108 |
-
theta = st.sidebar.slider(
|
| 109 |
-
"Theta", min_value=-pi, max_value=pi, step=0.5, value=0.0, help="Rotational angle in Horizontal direction"
|
| 110 |
-
)
|
| 111 |
-
phi = st.sidebar.slider(
|
| 112 |
-
"Phi", min_value=0.0, max_value=0.5 * pi, step=0.1, value=1.0, help="Rotational angle in Vertical direction"
|
| 113 |
-
)
|
| 114 |
-
radius = st.sidebar.slider(
|
| 115 |
-
"Radius", min_value=2.0, max_value=6.0, step=1.0, value=3.0, help="Distance between object and the viewer"
|
| 116 |
-
)
|
| 117 |
|
| 118 |
st.markdown("")
|
| 119 |
|
|
@@ -127,21 +125,21 @@ with st.spinner("Rendering View..."):
|
|
| 127 |
dn_new_w = int(2 * dn_w)
|
| 128 |
dn_im = dn_im.resize(size=(dn_new_w, dn_new_w))
|
| 129 |
|
| 130 |
-
n_pred_color, _ = render_predict_from_pose(nerf_state, theta, phi, radius)
|
| 131 |
-
n_im = predict_to_image(n_pred_color)
|
| 132 |
-
n_w, _ = n_im.size
|
| 133 |
-
n_new_w = int(2 * n_w)
|
| 134 |
-
n_im = n_im.resize(size=(n_new_w, n_new_w))
|
| 135 |
|
| 136 |
diet_nerf_col, nerf_col = st.beta_columns([1, 1])
|
| 137 |
diet_nerf_col.markdown("""<h4 style='text-align: center'>DietNeRF</h4>""", unsafe_allow_html=True)
|
| 138 |
diet_nerf_col.image(dn_im, use_column_width=True)
|
| 139 |
|
| 140 |
-
nerf_col.markdown("""<h4 style='text-align: center'>NeRF</h4>""", unsafe_allow_html=True)
|
| 141 |
-
nerf_col.image(n_im, use_column_width=True)
|
| 142 |
|
| 143 |
-
st.markdown(
|
| 144 |
-
|
| 145 |
-
|
| 146 |
-
|
| 147 |
-
)
|
|
|
|
| 28 |
|
| 29 |
return DIET_NERF_MODEL_NAME, DIET_NERF_FILE_ID, NERF_MODEL_NAME, NERF_FILE_ID
|
| 30 |
|
| 31 |
+
pi = math.pi
|
| 32 |
|
| 33 |
st.title("DietNeRF")
|
| 34 |
+
st.sidebar.markdown(
|
| 35 |
+
"""
|
| 36 |
+
<style>
|
| 37 |
+
.aligncenter {
|
| 38 |
+
text-align: center;
|
| 39 |
+
}
|
| 40 |
+
</style>
|
| 41 |
+
<p class="aligncenter">
|
| 42 |
+
<img src="https://user-images.githubusercontent.com/77657524/126361638-4aad58e8-4efb-4fc5-bf78-f53d03799e1e.png" width="420" height="400"/>
|
| 43 |
+
</p>
|
| 44 |
+
""",
|
| 45 |
+
unsafe_allow_html=True,
|
| 46 |
+
)
|
| 47 |
+
st.sidebar.markdown(
|
| 48 |
+
"""
|
| 49 |
+
<p style='text-align: center'>
|
| 50 |
+
<a href="https://github.com/codestella/putting-nerf-on-a-diet" target="_blank">GitHub</a> | <a href="https://www.notion.so/DietNeRF-Putting-NeRF-on-a-Diet-4aeddae95d054f1d91686f02bdb74745" target="_blank">Project Report</a>
|
| 51 |
+
</p>
|
| 52 |
+
""",
|
| 53 |
+
unsafe_allow_html=True,
|
| 54 |
+
)
|
| 55 |
+
st.sidebar.header("SELECT YOUR VIEW DIRECTION")
|
| 56 |
+
theta = st.sidebar.slider(
|
| 57 |
+
"Theta", min_value=-pi, max_value=pi, step=0.5, value=0.0, help="Rotational angle in Horizontal direction"
|
| 58 |
+
)
|
| 59 |
+
phi = st.sidebar.slider(
|
| 60 |
+
"Phi", min_value=0.0, max_value=0.5 * pi, step=0.1, value=1.0, help="Rotational angle in Vertical direction"
|
| 61 |
+
)
|
| 62 |
+
radius = st.sidebar.slider(
|
| 63 |
+
"Radius", min_value=2.0, max_value=6.0, step=1.0, value=3.0, help="Distance between object and the viewer"
|
| 64 |
+
)
|
| 65 |
caption = (
|
| 66 |
"`DietNeRF` achieves state-of-the-art few-shot learning capacity in 3D model reconstruction. "
|
| 67 |
"Thanks to the 2D supervision by `CLIP (aka. Semantic Consisteny Loss)`, "
|
|
|
|
| 83 |
print(f"Model downloaded from google drive: {diet_nerf_model_path}")
|
| 84 |
|
| 85 |
|
| 86 |
+
# def download_nerf_model():
|
| 87 |
+
# nerf_model_path = os.path.join(MODEL_DIR, NERF_MODEL_NAME)
|
| 88 |
+
# url = f"https://drive.google.com/uc?id={NERF_FILE_ID}"
|
| 89 |
+
# gdown.download(url, nerf_model_path, quiet=False)
|
| 90 |
+
# print(f"Model downloaded from google drive: {nerf_model_path}")
|
| 91 |
|
| 92 |
|
| 93 |
@st.cache(show_spinner=False, allow_output_mutation=True)
|
|
|
|
| 96 |
return model, state
|
| 97 |
|
| 98 |
|
| 99 |
+
# @st.cache(show_spinner=False, allow_output_mutation=True)
|
| 100 |
+
# def fetch_nerf_model():
|
| 101 |
+
# model, state = load_trained_model(MODEL_DIR, NERF_MODEL_NAME)
|
| 102 |
+
# return model, state
|
| 103 |
|
| 104 |
|
| 105 |
diet_nerf_model_path = os.path.join(MODEL_DIR, DIET_NERF_MODEL_NAME)
|
| 106 |
if not os.path.isfile(diet_nerf_model_path):
|
| 107 |
download_diet_nerf_model()
|
| 108 |
|
| 109 |
+
# nerf_model_path = os.path.join(MODEL_DIR, NERF_MODEL_NAME)
|
| 110 |
+
# if not os.path.isfile(nerf_model_path):
|
| 111 |
+
# download_nerf_model()
|
| 112 |
|
| 113 |
diet_nerf_model, diet_nerf_state = fetch_diet_nerf_model()
|
| 114 |
+
# nerf_model, nerf_state = fetch_nerf_model()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 115 |
|
| 116 |
st.markdown("")
|
| 117 |
|
|
|
|
| 125 |
dn_new_w = int(2 * dn_w)
|
| 126 |
dn_im = dn_im.resize(size=(dn_new_w, dn_new_w))
|
| 127 |
|
| 128 |
+
# n_pred_color, _ = render_predict_from_pose(nerf_state, theta, phi, radius)
|
| 129 |
+
# n_im = predict_to_image(n_pred_color)
|
| 130 |
+
# n_w, _ = n_im.size
|
| 131 |
+
# n_new_w = int(2 * n_w)
|
| 132 |
+
# n_im = n_im.resize(size=(n_new_w, n_new_w))
|
| 133 |
|
| 134 |
diet_nerf_col, nerf_col = st.beta_columns([1, 1])
|
| 135 |
diet_nerf_col.markdown("""<h4 style='text-align: center'>DietNeRF</h4>""", unsafe_allow_html=True)
|
| 136 |
diet_nerf_col.image(dn_im, use_column_width=True)
|
| 137 |
|
| 138 |
+
# nerf_col.markdown("""<h4 style='text-align: center'>NeRF</h4>""", unsafe_allow_html=True)
|
| 139 |
+
# nerf_col.image(n_im, use_column_width=True)
|
| 140 |
|
| 141 |
+
# st.markdown(
|
| 142 |
+
# "> 📒 NOTE: The views may look similar to you but see the "
|
| 143 |
+
# "[Experimental Results](https://www.notion.so/DietNeRF-Putting-NeRF-on-a-Diet-4aeddae95d054f1d91686f02bdb74745#0f6bc8f1008d4765b9b4635999626d4b) "
|
| 144 |
+
# "section in our report to get a detailed comparison of differences between `DietNeRF` and `NeRF`."
|
| 145 |
+
# )
|