moscartong Sentdex commited on
Commit
83a7b7b
0 Parent(s):

Duplicate from Sentdex/LookingGlassRGBD

Browse files

Co-authored-by: Harrison Kinsley <Sentdex@users.noreply.huggingface.co>

Files changed (4) hide show
  1. .gitattributes +34 -0
  2. README.md +14 -0
  3. app.py +68 -0
  4. requirements.txt +7 -0
.gitattributes ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tflite filter=lfs diff=lfs merge=lfs -text
29
+ *.tgz filter=lfs diff=lfs merge=lfs -text
30
+ *.wasm filter=lfs diff=lfs merge=lfs -text
31
+ *.xz filter=lfs diff=lfs merge=lfs -text
32
+ *.zip filter=lfs diff=lfs merge=lfs -text
33
+ *.zst filter=lfs diff=lfs merge=lfs -text
34
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: LookinGlassRGBD
3
+ emoji: 👁
4
+ colorFrom: yellow
5
+ colorTo: gray
6
+ sdk: gradio
7
+ sdk_version: 3.11.0
8
+ app_file: app.py
9
+ pinned: false
10
+ license: mit
11
+ duplicated_from: Sentdex/LookingGlassRGBD
12
+ ---
13
+
14
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
app.py ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import cv2
2
+ import torch
3
+ import gradio as gr
4
+ import numpy as np
5
+ from PIL import Image
6
+ import time
7
+
8
+ midas = torch.hub.load("intel-isl/MiDaS", "MiDaS")
9
+
10
+ use_large_model = True
11
+
12
+ if use_large_model:
13
+ midas = torch.hub.load("intel-isl/MiDaS", "MiDaS")
14
+ else:
15
+ midas = torch.hub.load("intel-isl/MiDaS", "MiDaS_small")
16
+
17
+ device = "cpu"
18
+ midas.to(device)
19
+
20
+ midas_transforms = torch.hub.load("intel-isl/MiDaS", "transforms")
21
+
22
+ if use_large_model:
23
+ transform = midas_transforms.default_transform
24
+ else:
25
+ transform = midas_transforms.small_transform
26
+
27
+
28
+ def depth(img):
29
+ original_image = img
30
+ cv_image = np.array(img)
31
+ img = cv2.cvtColor(cv_image, cv2.COLOR_BGR2RGB)
32
+
33
+ input_batch = transform(img).to(device)
34
+ with torch.no_grad():
35
+ prediction = midas(input_batch)
36
+
37
+ prediction = torch.nn.functional.interpolate(
38
+ prediction.unsqueeze(1),
39
+ size=img.shape[:2],
40
+ mode="bicubic",
41
+ align_corners=False,
42
+ ).squeeze()
43
+
44
+ output = prediction.cpu().numpy()
45
+ formatted = (output * 255 / np.max(output)).astype('uint8')
46
+ img = Image.fromarray(formatted)
47
+
48
+ # create new image with with original_image and img side by side
49
+ new_im = Image.new('RGB', (original_image.width * 2, original_image.height))
50
+ new_im.paste(original_image, (0,0))
51
+ new_im.paste(img, (original_image.width,0))
52
+
53
+ # save the image to a file: (removed for hosting on HF)
54
+ #new_im.save(f'RGBDs/{int(time.time())}_RGBD.png')
55
+
56
+
57
+ return new_im
58
+
59
+
60
+ inputs = gr.inputs.Image(type='pil', label="Original Image")
61
+ outputs = gr.outputs.Image(type="pil",label="Output Image")
62
+
63
+ title = "RGB to RGBD for Looking Glass (using MiDaS)"
64
+ description = "Takes an RGB image and creates the depth + combines to the RGB image. Depth is predicted by MiDaS. This is a demo of the Looking Glass. For more information, visit https://lookingglassfactory.com"
65
+ article = "<p style='text-align: center'><a href='https://arxiv.org/abs/1907.01341v3'>Towards Robust Monocular Depth Estimation: Mixing Datasets for Zero-shot Cross-dataset Transfer</a> | <a href='https://github.com/intel-isl/MiDaS'>Github Repo</a></p>"
66
+
67
+
68
+ gr.Interface(depth, inputs, outputs, title=title, description=description, article=article).launch()
requirements.txt ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ opencv-python
2
+ timm
3
+ torch~=1.8
4
+ torchvision
5
+ opencv-python-headless
6
+ numpy
7
+ Pillow