Chao Xu commited on
Commit
04f27a5
β€’
1 Parent(s): 2337f0d

code pruning and change examples

Browse files
Files changed (44) hide show
  1. .gitattributes +1 -0
  2. .gitignore +4 -1
  3. app.py +71 -105
  4. demo_examples/00_zero123_lysol.png +3 -0
  5. demo_examples/01_backpack.png +0 -0
  6. demo_examples/01_wild_hydrant.png +3 -0
  7. demo_examples/02_hydrant.png +0 -0
  8. demo_examples/02_zero123_spyro.png +3 -0
  9. demo_examples/03_wild2_pineapple_bottle.png +3 -0
  10. demo_examples/04_robocat.png +0 -0
  11. demo_examples/04_unsplash_broccoli.png +3 -0
  12. demo_examples/05_clock.png +0 -0
  13. demo_examples/05_unsplash_chocolatecake.png +3 -0
  14. demo_examples/06_kungfucat.png +0 -0
  15. demo_examples/06_unsplash_stool2.png +3 -0
  16. demo_examples/07_goose_chef.png +0 -0
  17. demo_examples/07_objaverse_backpack.png +3 -0
  18. demo_examples/08_broccoli.png +0 -0
  19. demo_examples/08_dalle_icecream.png +3 -0
  20. demo_examples/09_objaverse_barrel.png +3 -0
  21. demo_examples/09_pineapple_bottle.png +0 -0
  22. demo_examples/10_GSO_Crosley_Alarm_Clock_Vintage_Metal.png +3 -0
  23. demo_examples/10_chocolatecake.png +0 -0
  24. demo_examples/11_extinguisher.png +0 -0
  25. demo_examples/11_realfusion_cactus_1.png +3 -0
  26. demo_examples/12_realfusion_cherry_1.png +3 -0
  27. demo_examples/13_dalle_cowbear.png +3 -0
  28. demo_examples/14_dalle3_gramophone1.png +3 -0
  29. demo_examples/15_dalle3_mushroom2.png +3 -0
  30. demo_examples/16_dalle3_blueberryicecream2.png +3 -0
  31. demo_examples/17_dalle3_rockingchair1.png +3 -0
  32. demo_examples/18_dalle3_stump1.png +3 -0
  33. demo_examples/19_objaverse_stool.png +3 -0
  34. demo_examples/20_objaverse_tank.png +3 -0
  35. demo_examples/21_unsplash_bigmac.png +3 -0
  36. demo_examples/22_unsplash_boxtoy.png +3 -0
  37. demo_examples/23_wild2_yellow_duck.png +3 -0
  38. demo_examples/24_unsplash_mario.png +3 -0
  39. demo_examples/25_unsplash_ebicycle2.png +3 -0
  40. demo_examples/26_unsplash_strawberrycake.png +3 -0
  41. demo_examples/27_objaverse_robocat.png +3 -0
  42. demo_examples/28_GSO_Great_Dinos_Triceratops_Toy.png +3 -0
  43. demo_examples/29_wild_goose_chef.png +3 -0
  44. demo_examples/30_wild_peroxide.png +3 -0
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ *.png filter=lfs diff=lfs merge=lfs -text
.gitignore CHANGED
@@ -1 +1,4 @@
1
- weights/
 
 
 
 
1
+ weights/
2
+ data/
3
+ *.ipynb
4
+ demo_examples_*
app.py CHANGED
@@ -1,8 +1,3 @@
1
- '''
2
- conda activate zero123
3
- cd stable-diffusion
4
- python gradio_new.py 0
5
- '''
6
  import os, sys
7
  from huggingface_hub import snapshot_download
8
 
@@ -66,6 +61,71 @@ _DONE = "Done! Mesh is shown on the right. <br> If it is not satisfactory, pleas
66
  _REGEN_1 = "Selected view(s) are regenerated. You can click **Regenerate nearby views and mesh**. <br> Alternatively, if the regenerated view(s) are still not satisfactory, you can repeat the previous step (select the view and regenerate)."
67
  _REGEN_2 = "Regeneration done. Mesh is shown on the right."
68
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
69
  class CameraVisualizer:
70
  def __init__(self, gradio_plot):
71
  self._gradio_plot = gradio_plot
@@ -77,18 +137,6 @@ class CameraVisualizer:
77
  self._8bit_image = None
78
  self._image_colorscale = None
79
 
80
- def polar_change(self, value):
81
- self._polar = value
82
- # return self.update_figure()
83
-
84
- def azimuth_change(self, value):
85
- self._azimuth = value
86
- # return self.update_figure()
87
-
88
- def radius_change(self, value):
89
- self._radius = value
90
- # return self.update_figure()
91
-
92
  def encode_image(self, raw_image, elev=90):
93
  '''
94
  :param raw_image (H, W, 3) array of uint8 in [0, 255].
@@ -261,7 +309,7 @@ def stage1_run(models, device, cam_vis, tmp_dir,
261
  os.makedirs(stage1_dir, exist_ok=True)
262
  output_ims = predict_stage1_gradio(model, input_im, save_path=stage1_dir, adjust_set=list(range(4)), device=device, ddim_steps=ddim_steps, scale=scale)
263
  stage2_steps = 50 # ddim_steps
264
- zero123_infer(models['turncam'], tmp_dir, indices=[0], device=device, ddim_steps=stage2_steps, scale=scale)
265
  elev_output = estimate_elev(tmp_dir)
266
  gen_poses(tmp_dir, elev_output)
267
  show_in_im1 = np.asarray(input_im, dtype=np.uint8)
@@ -277,8 +325,6 @@ def stage1_run(models, device, cam_vis, tmp_dir,
277
  return (90-elev_output, new_fig, *output_ims, *output_ims_2)
278
  else:
279
  rerun_idx = [i for i in range(len(btn_retrys)) if btn_retrys[i]]
280
- # elev_output = estimate_elev(tmp_dir)
281
- # if elev_output > 75:
282
  if 90-int(elev["label"]) > 75:
283
  rerun_idx_in = [i if i < 4 else i+4 for i in rerun_idx]
284
  else:
@@ -297,7 +343,6 @@ def stage1_run(models, device, cam_vis, tmp_dir,
297
 
298
  def stage2_run(models, device, tmp_dir,
299
  elev, scale, rerun_all=[], stage2_steps=50):
300
- # print("elev", elev)
301
  flag_lower_cam = 90-int(elev["label"]) <= 75
302
  is_rerun = True if rerun_all else False
303
  model = models['turncam'].half()
@@ -308,7 +353,7 @@ def stage2_run(models, device, tmp_dir,
308
  zero123_infer(model, tmp_dir, indices=list(range(1,4))+list(range(8,12)), device=device, ddim_steps=stage2_steps, scale=scale)
309
  else:
310
  print("rerun_idx", rerun_all)
311
- zero123_infer(models['turncam'], tmp_dir, indices=rerun_all, device=device, ddim_steps=stage2_steps, scale=scale)
312
 
313
  dataset = tmp_dir
314
  main_dir_path = os.path.dirname(os.path.abspath(
@@ -321,7 +366,7 @@ def stage2_run(models, device, tmp_dir,
321
  os.system(bash_script)
322
  os.chdir(main_dir_path)
323
 
324
- ply_path = os.path.join(tmp_dir, f"meshes_val_bg/lod0/mesh_00340000_gradio_lod0.ply")
325
  mesh_path = os.path.join(tmp_dir, "mesh.obj")
326
  # Read the textured mesh from .ply file
327
  mesh = trimesh.load_mesh(ply_path)
@@ -382,77 +427,6 @@ def preprocess_run(predictor, models, raw_im, preprocess, *bbox_sliders):
382
  torch.cuda.empty_cache()
383
  return input_256
384
 
385
- def calc_cam_cone_pts_3d(polar_deg, azimuth_deg, radius_m, fov_deg):
386
- '''
387
- :param polar_deg (float).
388
- :param azimuth_deg (float).
389
- :param radius_m (float).
390
- :param fov_deg (float).
391
- :return (5, 3) array of float with (x, y, z).
392
- '''
393
- polar_rad = np.deg2rad(polar_deg)
394
- azimuth_rad = np.deg2rad(azimuth_deg)
395
- fov_rad = np.deg2rad(fov_deg)
396
- polar_rad = -polar_rad # NOTE: Inverse of how used_x relates to x.
397
-
398
- # Camera pose center:
399
- cam_x = radius_m * np.cos(azimuth_rad) * np.cos(polar_rad)
400
- cam_y = radius_m * np.sin(azimuth_rad) * np.cos(polar_rad)
401
- cam_z = radius_m * np.sin(polar_rad)
402
-
403
- # Obtain four corners of camera frustum, assuming it is looking at origin.
404
- # First, obtain camera extrinsics (rotation matrix only):
405
- camera_R = np.array([[np.cos(azimuth_rad) * np.cos(polar_rad),
406
- -np.sin(azimuth_rad),
407
- -np.cos(azimuth_rad) * np.sin(polar_rad)],
408
- [np.sin(azimuth_rad) * np.cos(polar_rad),
409
- np.cos(azimuth_rad),
410
- -np.sin(azimuth_rad) * np.sin(polar_rad)],
411
- [np.sin(polar_rad),
412
- 0.0,
413
- np.cos(polar_rad)]])
414
- # print('camera_R:', lo(camera_R).v)
415
-
416
- # Multiply by corners in camera space to obtain go to space:
417
- corn1 = [-1.0, np.tan(fov_rad / 2.0), np.tan(fov_rad / 2.0)]
418
- corn2 = [-1.0, -np.tan(fov_rad / 2.0), np.tan(fov_rad / 2.0)]
419
- corn3 = [-1.0, -np.tan(fov_rad / 2.0), -np.tan(fov_rad / 2.0)]
420
- corn4 = [-1.0, np.tan(fov_rad / 2.0), -np.tan(fov_rad / 2.0)]
421
- corn1 = np.dot(camera_R, corn1)
422
- corn2 = np.dot(camera_R, corn2)
423
- corn3 = np.dot(camera_R, corn3)
424
- corn4 = np.dot(camera_R, corn4)
425
-
426
- # Now attach as offset to actual 3D camera position:
427
- corn1 = np.array(corn1) / np.linalg.norm(corn1, ord=2)
428
- corn_x1 = cam_x + corn1[0]
429
- corn_y1 = cam_y + corn1[1]
430
- corn_z1 = cam_z + corn1[2]
431
- corn2 = np.array(corn2) / np.linalg.norm(corn2, ord=2)
432
- corn_x2 = cam_x + corn2[0]
433
- corn_y2 = cam_y + corn2[1]
434
- corn_z2 = cam_z + corn2[2]
435
- corn3 = np.array(corn3) / np.linalg.norm(corn3, ord=2)
436
- corn_x3 = cam_x + corn3[0]
437
- corn_y3 = cam_y + corn3[1]
438
- corn_z3 = cam_z + corn3[2]
439
- corn4 = np.array(corn4) / np.linalg.norm(corn4, ord=2)
440
- corn_x4 = cam_x + corn4[0]
441
- corn_y4 = cam_y + corn4[1]
442
- corn_z4 = cam_z + corn4[2]
443
-
444
- xs = [cam_x, corn_x1, corn_x2, corn_x3, corn_x4]
445
- ys = [cam_y, corn_y1, corn_y2, corn_y3, corn_y4]
446
- zs = [cam_z, corn_z1, corn_z2, corn_z3, corn_z4]
447
-
448
- return np.array([xs, ys, zs]).T
449
-
450
- def save_bbox(dir, x_min, y_min, x_max, y_max):
451
- box = np.array([x_min, y_min, x_max, y_max])
452
- # save the box to a file
453
- bbox_path = os.path.join(dir, "bbox.txt")
454
- np.savetxt(bbox_path, box)
455
-
456
  def on_coords_slider(image, x_min, y_min, x_max, y_max, color=(88, 191, 131, 255)):
457
  """Draw a bounding box annotation for an image."""
458
  print("on_coords_slider, drawing bbox...")
@@ -464,12 +438,11 @@ def on_coords_slider(image, x_min, y_min, x_max, y_max, color=(88, 191, 131, 255
464
  y_min = int(y_min * shrink_ratio)
465
  x_max = int(x_max * shrink_ratio)
466
  y_max = int(y_max * shrink_ratio)
467
- print("on_coords_slider, image_size:", np.array(image).shape)
468
  image = cv2.cvtColor(np.array(image), cv2.COLOR_RGBA2BGRA)
469
  image = cv2.rectangle(image, (x_min, y_min), (x_max, y_max), color, int(max(max(image.shape) / 400*2, 2)))
470
  return cv2.cvtColor(image, cv2.COLOR_BGRA2RGBA) # image[:, :, ::-1]
471
 
472
- def save_img(image):
473
  image.thumbnail([512, 512], Image.Resampling.LANCZOS)
474
  width, height = image.size
475
  image_rem = image.convert('RGBA')
@@ -500,12 +473,6 @@ def run_demo(
500
  device_idx=_GPU_INDEX,
501
  ckpt='zero123-xl.ckpt'):
502
 
503
- print('sys.argv:', sys.argv)
504
- if len(sys.argv) > 1:
505
- print('old device_idx:', device_idx)
506
- device_idx = int(sys.argv[1])
507
- print('new device_idx:', device_idx)
508
-
509
  device = f"cuda:{device_idx}" if torch.cuda.is_available() else "cpu"
510
  models = init_model(device, os.path.join(code_dir, ckpt))
511
  # model = models['turncam']
@@ -523,9 +490,8 @@ def run_demo(
523
  example_fns.sort()
524
  examples_full = [os.path.join(example_folder, x) for x in example_fns if x.endswith('.png')]
525
 
526
-
527
  # Compose demo layout & data flow.
528
- css = "#model-3d-out {height: 400px;} #plot-out {height: 425px;}"
529
  with gr.Blocks(title=_TITLE, css=css) as demo:
530
  gr.Markdown('# ' + _TITLE)
531
  gr.Markdown(_DESCRIPTION)
@@ -625,7 +591,7 @@ def run_demo(
625
  ).success(disable_func, inputs=run_btn, outputs=run_btn
626
  ).success(fn=tmp_func, inputs=[image_block], outputs=[placeholder]
627
  ).success(fn=partial(update_guide, _BBOX_1), outputs=[guide_text]
628
- ).success(fn=save_img,
629
  inputs=[image_block],
630
  outputs=[bbox_block, *bbox_sliders]
631
  ).success(fn=partial(update_guide, _BBOX_3), outputs=[guide_text]
 
 
 
 
 
 
1
  import os, sys
2
  from huggingface_hub import snapshot_download
3
 
 
61
  _REGEN_1 = "Selected view(s) are regenerated. You can click **Regenerate nearby views and mesh**. <br> Alternatively, if the regenerated view(s) are still not satisfactory, you can repeat the previous step (select the view and regenerate)."
62
  _REGEN_2 = "Regeneration done. Mesh is shown on the right."
63
 
64
+
65
+ def calc_cam_cone_pts_3d(polar_deg, azimuth_deg, radius_m, fov_deg):
66
+ '''
67
+ :param polar_deg (float).
68
+ :param azimuth_deg (float).
69
+ :param radius_m (float).
70
+ :param fov_deg (float).
71
+ :return (5, 3) array of float with (x, y, z).
72
+ '''
73
+ polar_rad = np.deg2rad(polar_deg)
74
+ azimuth_rad = np.deg2rad(azimuth_deg)
75
+ fov_rad = np.deg2rad(fov_deg)
76
+ polar_rad = -polar_rad # NOTE: Inverse of how used_x relates to x.
77
+
78
+ # Camera pose center:
79
+ cam_x = radius_m * np.cos(azimuth_rad) * np.cos(polar_rad)
80
+ cam_y = radius_m * np.sin(azimuth_rad) * np.cos(polar_rad)
81
+ cam_z = radius_m * np.sin(polar_rad)
82
+
83
+ # Obtain four corners of camera frustum, assuming it is looking at origin.
84
+ # First, obtain camera extrinsics (rotation matrix only):
85
+ camera_R = np.array([[np.cos(azimuth_rad) * np.cos(polar_rad),
86
+ -np.sin(azimuth_rad),
87
+ -np.cos(azimuth_rad) * np.sin(polar_rad)],
88
+ [np.sin(azimuth_rad) * np.cos(polar_rad),
89
+ np.cos(azimuth_rad),
90
+ -np.sin(azimuth_rad) * np.sin(polar_rad)],
91
+ [np.sin(polar_rad),
92
+ 0.0,
93
+ np.cos(polar_rad)]])
94
+
95
+ # Multiply by corners in camera space to obtain go to space:
96
+ corn1 = [-1.0, np.tan(fov_rad / 2.0), np.tan(fov_rad / 2.0)]
97
+ corn2 = [-1.0, -np.tan(fov_rad / 2.0), np.tan(fov_rad / 2.0)]
98
+ corn3 = [-1.0, -np.tan(fov_rad / 2.0), -np.tan(fov_rad / 2.0)]
99
+ corn4 = [-1.0, np.tan(fov_rad / 2.0), -np.tan(fov_rad / 2.0)]
100
+ corn1 = np.dot(camera_R, corn1)
101
+ corn2 = np.dot(camera_R, corn2)
102
+ corn3 = np.dot(camera_R, corn3)
103
+ corn4 = np.dot(camera_R, corn4)
104
+
105
+ # Now attach as offset to actual 3D camera position:
106
+ corn1 = np.array(corn1) / np.linalg.norm(corn1, ord=2)
107
+ corn_x1 = cam_x + corn1[0]
108
+ corn_y1 = cam_y + corn1[1]
109
+ corn_z1 = cam_z + corn1[2]
110
+ corn2 = np.array(corn2) / np.linalg.norm(corn2, ord=2)
111
+ corn_x2 = cam_x + corn2[0]
112
+ corn_y2 = cam_y + corn2[1]
113
+ corn_z2 = cam_z + corn2[2]
114
+ corn3 = np.array(corn3) / np.linalg.norm(corn3, ord=2)
115
+ corn_x3 = cam_x + corn3[0]
116
+ corn_y3 = cam_y + corn3[1]
117
+ corn_z3 = cam_z + corn3[2]
118
+ corn4 = np.array(corn4) / np.linalg.norm(corn4, ord=2)
119
+ corn_x4 = cam_x + corn4[0]
120
+ corn_y4 = cam_y + corn4[1]
121
+ corn_z4 = cam_z + corn4[2]
122
+
123
+ xs = [cam_x, corn_x1, corn_x2, corn_x3, corn_x4]
124
+ ys = [cam_y, corn_y1, corn_y2, corn_y3, corn_y4]
125
+ zs = [cam_z, corn_z1, corn_z2, corn_z3, corn_z4]
126
+
127
+ return np.array([xs, ys, zs]).T
128
+
129
  class CameraVisualizer:
130
  def __init__(self, gradio_plot):
131
  self._gradio_plot = gradio_plot
 
137
  self._8bit_image = None
138
  self._image_colorscale = None
139
 
 
 
 
 
 
 
 
 
 
 
 
 
140
  def encode_image(self, raw_image, elev=90):
141
  '''
142
  :param raw_image (H, W, 3) array of uint8 in [0, 255].
 
309
  os.makedirs(stage1_dir, exist_ok=True)
310
  output_ims = predict_stage1_gradio(model, input_im, save_path=stage1_dir, adjust_set=list(range(4)), device=device, ddim_steps=ddim_steps, scale=scale)
311
  stage2_steps = 50 # ddim_steps
312
+ zero123_infer(model, tmp_dir, indices=[0], device=device, ddim_steps=stage2_steps, scale=scale)
313
  elev_output = estimate_elev(tmp_dir)
314
  gen_poses(tmp_dir, elev_output)
315
  show_in_im1 = np.asarray(input_im, dtype=np.uint8)
 
325
  return (90-elev_output, new_fig, *output_ims, *output_ims_2)
326
  else:
327
  rerun_idx = [i for i in range(len(btn_retrys)) if btn_retrys[i]]
 
 
328
  if 90-int(elev["label"]) > 75:
329
  rerun_idx_in = [i if i < 4 else i+4 for i in rerun_idx]
330
  else:
 
343
 
344
  def stage2_run(models, device, tmp_dir,
345
  elev, scale, rerun_all=[], stage2_steps=50):
 
346
  flag_lower_cam = 90-int(elev["label"]) <= 75
347
  is_rerun = True if rerun_all else False
348
  model = models['turncam'].half()
 
353
  zero123_infer(model, tmp_dir, indices=list(range(1,4))+list(range(8,12)), device=device, ddim_steps=stage2_steps, scale=scale)
354
  else:
355
  print("rerun_idx", rerun_all)
356
+ zero123_infer(model, tmp_dir, indices=rerun_all, device=device, ddim_steps=stage2_steps, scale=scale)
357
 
358
  dataset = tmp_dir
359
  main_dir_path = os.path.dirname(os.path.abspath(
 
366
  os.system(bash_script)
367
  os.chdir(main_dir_path)
368
 
369
+ ply_path = os.path.join(tmp_dir, f"meshes_val_bg/lod0/mesh_00215000_gradio_lod0.ply")
370
  mesh_path = os.path.join(tmp_dir, "mesh.obj")
371
  # Read the textured mesh from .ply file
372
  mesh = trimesh.load_mesh(ply_path)
 
427
  torch.cuda.empty_cache()
428
  return input_256
429
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
430
  def on_coords_slider(image, x_min, y_min, x_max, y_max, color=(88, 191, 131, 255)):
431
  """Draw a bounding box annotation for an image."""
432
  print("on_coords_slider, drawing bbox...")
 
438
  y_min = int(y_min * shrink_ratio)
439
  x_max = int(x_max * shrink_ratio)
440
  y_max = int(y_max * shrink_ratio)
 
441
  image = cv2.cvtColor(np.array(image), cv2.COLOR_RGBA2BGRA)
442
  image = cv2.rectangle(image, (x_min, y_min), (x_max, y_max), color, int(max(max(image.shape) / 400*2, 2)))
443
  return cv2.cvtColor(image, cv2.COLOR_BGRA2RGBA) # image[:, :, ::-1]
444
 
445
+ def init_bbox(image):
446
  image.thumbnail([512, 512], Image.Resampling.LANCZOS)
447
  width, height = image.size
448
  image_rem = image.convert('RGBA')
 
473
  device_idx=_GPU_INDEX,
474
  ckpt='zero123-xl.ckpt'):
475
 
 
 
 
 
 
 
476
  device = f"cuda:{device_idx}" if torch.cuda.is_available() else "cpu"
477
  models = init_model(device, os.path.join(code_dir, ckpt))
478
  # model = models['turncam']
 
490
  example_fns.sort()
491
  examples_full = [os.path.join(example_folder, x) for x in example_fns if x.endswith('.png')]
492
 
 
493
  # Compose demo layout & data flow.
494
+ css = "#model-3d-out {height: 400px;} #plot-out {height: 450px;}"
495
  with gr.Blocks(title=_TITLE, css=css) as demo:
496
  gr.Markdown('# ' + _TITLE)
497
  gr.Markdown(_DESCRIPTION)
 
591
  ).success(disable_func, inputs=run_btn, outputs=run_btn
592
  ).success(fn=tmp_func, inputs=[image_block], outputs=[placeholder]
593
  ).success(fn=partial(update_guide, _BBOX_1), outputs=[guide_text]
594
+ ).success(fn=init_bbox,
595
  inputs=[image_block],
596
  outputs=[bbox_block, *bbox_sliders]
597
  ).success(fn=partial(update_guide, _BBOX_3), outputs=[guide_text]
demo_examples/00_zero123_lysol.png ADDED

Git LFS Details

  • SHA256: e6a8dc67d256dbd16f399407bf12f554bb86a1ba5428c0666556f012bcc00e27
  • Pointer size: 130 Bytes
  • Size of remote file: 27 kB
demo_examples/01_backpack.png DELETED
Binary file (39.6 kB)
 
demo_examples/01_wild_hydrant.png ADDED

Git LFS Details

  • SHA256: 415f971861f42fc3ee8a58587b03f50816281f64ddc72ffd1924f6710d05fa12
  • Pointer size: 132 Bytes
  • Size of remote file: 5.52 MB
demo_examples/02_hydrant.png DELETED
Binary file (125 kB)
 
demo_examples/02_zero123_spyro.png ADDED

Git LFS Details

  • SHA256: 12cf2a035a4d2d5d11952c30cb1ca9d80ca0ea5b7467cd3a19209df50e68428f
  • Pointer size: 130 Bytes
  • Size of remote file: 31.1 kB
demo_examples/03_wild2_pineapple_bottle.png ADDED

Git LFS Details

  • SHA256: f3fe184da1dc7591f7beccbba368606dbf74374e7e4d34c90ebf53d964d27783
  • Pointer size: 133 Bytes
  • Size of remote file: 13.7 MB
demo_examples/04_robocat.png DELETED
Binary file (35.3 kB)
 
demo_examples/04_unsplash_broccoli.png ADDED

Git LFS Details

  • SHA256: 9ddc9cc9f62284b6c3552f47e26998c04230369027feede859be9237bdba97ac
  • Pointer size: 131 Bytes
  • Size of remote file: 618 kB
demo_examples/05_clock.png DELETED
Binary file (74.5 kB)
 
demo_examples/05_unsplash_chocolatecake.png ADDED

Git LFS Details

  • SHA256: 50f0bedd57accb5ad31003c22a79b78d6b06fb28d27b5519fed3dcc3d089c194
  • Pointer size: 132 Bytes
  • Size of remote file: 3.95 MB
demo_examples/06_kungfucat.png DELETED
Binary file (55.1 kB)
 
demo_examples/06_unsplash_stool2.png ADDED

Git LFS Details

  • SHA256: 7c4ba5b6b44d62f634e59ecd9c581551c1d1526ed07f8a8d6a62eb462b205ab1
  • Pointer size: 132 Bytes
  • Size of remote file: 5.94 MB
demo_examples/07_goose_chef.png DELETED
Binary file (78.6 kB)
 
demo_examples/07_objaverse_backpack.png ADDED

Git LFS Details

  • SHA256: 28cb90ef7ff38571d1df26c0ece1b738a214d0e07becb9a8e5d2d30e229e2826
  • Pointer size: 130 Bytes
  • Size of remote file: 37.3 kB
demo_examples/08_broccoli.png DELETED
Binary file (80.7 kB)
 
demo_examples/08_dalle_icecream.png ADDED

Git LFS Details

  • SHA256: 788299dd88bb8bf0f3efc725a7abe9887e2c0edf73c6cf55625cf5b3eac3a92b
  • Pointer size: 130 Bytes
  • Size of remote file: 55.6 kB
demo_examples/09_objaverse_barrel.png ADDED

Git LFS Details

  • SHA256: d33a8814313eb11bdca60aec3cad0f7d49c76e397b265d9797a4efe2bce5dbce
  • Pointer size: 130 Bytes
  • Size of remote file: 49.6 kB
demo_examples/09_pineapple_bottle.png DELETED
Binary file (117 kB)
 
demo_examples/10_GSO_Crosley_Alarm_Clock_Vintage_Metal.png ADDED

Git LFS Details

  • SHA256: cef5279deddead4cb31258a73613accccc21d1e6b63bbdacb0b934d66ff31a08
  • Pointer size: 130 Bytes
  • Size of remote file: 32 kB
demo_examples/10_chocolatecake.png DELETED
Binary file (59 kB)
 
demo_examples/11_extinguisher.png DELETED
Binary file (42.6 kB)
 
demo_examples/11_realfusion_cactus_1.png ADDED

Git LFS Details

  • SHA256: bc8b559acdaabd5fec369e9543a3fb4516d25b74e2bab35e075335e7e557cef3
  • Pointer size: 131 Bytes
  • Size of remote file: 122 kB
demo_examples/12_realfusion_cherry_1.png ADDED

Git LFS Details

  • SHA256: 99f8defc7d88f0a953578004443ec117b90920e68e86ad0488b8529ad5f61c2b
  • Pointer size: 131 Bytes
  • Size of remote file: 273 kB
demo_examples/13_dalle_cowbear.png ADDED

Git LFS Details

  • SHA256: 5ea04311bf5d27140008ea847582e2031c89c688a9c350e1682fd6d951638f05
  • Pointer size: 130 Bytes
  • Size of remote file: 80.5 kB
demo_examples/14_dalle3_gramophone1.png ADDED

Git LFS Details

  • SHA256: 1c71f31e053ba88b7ae3fbeb4b9574b4baf26a486ed03dfe7bde680a237059b5
  • Pointer size: 130 Bytes
  • Size of remote file: 74 kB
demo_examples/15_dalle3_mushroom2.png ADDED

Git LFS Details

  • SHA256: c52db82c3f761f145cdeaf96c351febb83396cb5f3b7d1a2293914c34dd77a1b
  • Pointer size: 131 Bytes
  • Size of remote file: 119 kB
demo_examples/16_dalle3_blueberryicecream2.png ADDED

Git LFS Details

  • SHA256: 32bfbc3efb7462029fb9b449744d80f57d6235d3d48466812ea11c286d1bb0b6
  • Pointer size: 130 Bytes
  • Size of remote file: 64.9 kB
demo_examples/17_dalle3_rockingchair1.png ADDED

Git LFS Details

  • SHA256: 0ffb0064a89db1425770c206810f4dd556464a2365dab04651e6edca3240e260
  • Pointer size: 130 Bytes
  • Size of remote file: 58.6 kB
demo_examples/18_dalle3_stump1.png ADDED

Git LFS Details

  • SHA256: da47f2c42cef3c983629ea2f8119a8208aa6ca565ef647777191e5903af7c036
  • Pointer size: 130 Bytes
  • Size of remote file: 83.5 kB
demo_examples/19_objaverse_stool.png ADDED

Git LFS Details

  • SHA256: fca2047879efaffd5ce6e19271d633cb1a4e67080ccfdcf7d251da4d2753172a
  • Pointer size: 130 Bytes
  • Size of remote file: 25.5 kB
demo_examples/20_objaverse_tank.png ADDED

Git LFS Details

  • SHA256: 2f970c70041f951d1a0683a0b2ff57354850498c4add47758bc2d1fa59b6590c
  • Pointer size: 130 Bytes
  • Size of remote file: 51.3 kB
demo_examples/21_unsplash_bigmac.png ADDED

Git LFS Details

  • SHA256: 4cf620024f77d04115d5cff2793d5ba5de92d7491bc9b041cd4da3f25a597abb
  • Pointer size: 132 Bytes
  • Size of remote file: 2.15 MB
demo_examples/22_unsplash_boxtoy.png ADDED

Git LFS Details

  • SHA256: 47f020c3a1fc73420e7b82038da7549ce064579504e6c4beff454c8df34c6c45
  • Pointer size: 131 Bytes
  • Size of remote file: 642 kB
demo_examples/23_wild2_yellow_duck.png ADDED

Git LFS Details

  • SHA256: 1688bed933585cf8a6264f769fc6b601dd734240402ca9c26a5c861e3d13659c
  • Pointer size: 133 Bytes
  • Size of remote file: 14.3 MB
demo_examples/24_unsplash_mario.png ADDED

Git LFS Details

  • SHA256: 452a6f4fe44943d30a306e8ece636eda09d0f46a9a0ab53eae6cab21e14be19d
  • Pointer size: 132 Bytes
  • Size of remote file: 1.37 MB
demo_examples/25_unsplash_ebicycle2.png ADDED

Git LFS Details

  • SHA256: b4f97a8dae6cc895f63f2b5a00c7dcb5c326b2749e305485dada7303429b1b2e
  • Pointer size: 132 Bytes
  • Size of remote file: 2.75 MB
demo_examples/26_unsplash_strawberrycake.png ADDED

Git LFS Details

  • SHA256: 2045c9901b2e65679e16f74f736aeabb316f98c0f883c02219ddafdaddab64f0
  • Pointer size: 132 Bytes
  • Size of remote file: 1.47 MB
demo_examples/27_objaverse_robocat.png ADDED

Git LFS Details

  • SHA256: 83499ab6e65e6cfa9e158d71a141c296d8585a0ba8923251b86de68af2b4f1a8
  • Pointer size: 130 Bytes
  • Size of remote file: 32 kB
demo_examples/28_GSO_Great_Dinos_Triceratops_Toy.png ADDED

Git LFS Details

  • SHA256: ad6c1fc3c619e9fa9109af90db2df069280ec669c4a3b075d399b293e8bf03df
  • Pointer size: 130 Bytes
  • Size of remote file: 29.2 kB
demo_examples/29_wild_goose_chef.png ADDED

Git LFS Details

  • SHA256: e3a7a7574e9a6bb63014333ff45ea20fb059990869cebb6a7438878fbdca5c8f
  • Pointer size: 133 Bytes
  • Size of remote file: 11.8 MB
demo_examples/30_wild_peroxide.png ADDED

Git LFS Details

  • SHA256: 2c76634e8dc370f334080140778a5d3339cad7b7e967e8631650f33378f44a4c
  • Pointer size: 133 Bytes
  • Size of remote file: 10.3 MB