Spaces:
Build error
Build error
edits
Browse files- app.py +15 -7
- fire_imagenet.pth +3 -0
app.py
CHANGED
|
@@ -27,9 +27,13 @@ device = 'cpu'
|
|
| 27 |
# Load net
|
| 28 |
state = torch.load('fire.pth', map_location='cpu')
|
| 29 |
state['net_params']['pretrained'] = None # no need for imagenet pretrained model
|
| 30 |
-
|
| 31 |
-
|
| 32 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
|
| 34 |
# ---------------------------------------
|
| 35 |
transform = transforms.Compose([
|
|
@@ -86,10 +90,13 @@ def match(query_feat, pos_feat, LoweRatioTh=0.9):
|
|
| 86 |
|
| 87 |
col = plt.get_cmap('tab10')
|
| 88 |
|
| 89 |
-
def generate_matching_superfeatures(im1, im2, scale_id=6, threshold=50, sf_ids='', only_matching=True):
|
| 90 |
print('im1:', im1.size)
|
| 91 |
print('im2:', im2.size)
|
| 92 |
|
|
|
|
|
|
|
|
|
|
| 93 |
|
| 94 |
# dataset_ = ImgDataset(images=[im1, im2], imsize=1024)
|
| 95 |
# loader = torch.utils.data.DataLoader(dataset_, shuffle=False, pin_memory=True)
|
|
@@ -256,8 +263,9 @@ iface = gr.Interface(
|
|
| 256 |
# gr.inputs.Image(shape=(1024, 1024), type="pil", label="Second Image"),
|
| 257 |
gr.inputs.Image(type="pil", label="First Image"),
|
| 258 |
gr.inputs.Image(type="pil", label="Second Image"),
|
|
|
|
| 259 |
gr.inputs.Slider(minimum=0, maximum=6, step=1, default=2, label="Scale"),
|
| 260 |
-
gr.inputs.Slider(minimum=0, maximum=255, step=25, default=
|
| 261 |
gr.inputs.Textbox(lines=1, default="", label="SF IDs to show (comma separated numbers from 0-255; typing 'rX' will return X random SFs", optional=True),
|
| 262 |
gr.inputs.Checkbox(default=True, label="Show only matching SFs", optional=False),
|
| 263 |
],
|
|
@@ -273,9 +281,9 @@ iface = gr.Interface(
|
|
| 273 |
article=article,
|
| 274 |
css=css,
|
| 275 |
examples=[
|
| 276 |
-
["chateau_1.png", "chateau_2.png",
|
| 277 |
-
["anafi1.jpeg", "anafi2.jpeg", 4, 150, '
|
| 278 |
-
["areopoli1.jpeg", "areopoli2.jpeg", 4,
|
| 279 |
]
|
| 280 |
)
|
| 281 |
iface.launch(enable_queue=True)
|
|
|
|
| 27 |
# Load net
|
| 28 |
state = torch.load('fire.pth', map_location='cpu')
|
| 29 |
state['net_params']['pretrained'] = None # no need for imagenet pretrained model
|
| 30 |
+
net_sfm = fire_network.init_network(**state['net_params']).to(device)
|
| 31 |
+
net_sfm.load_state_dict(state['state_dict'])
|
| 32 |
|
| 33 |
+
state2 = torch.load('fire_imagenet.pth', map_location='cpu')
|
| 34 |
+
state2['net_params']['pretrained'] = None # no need for imagenet pretrained model
|
| 35 |
+
net_imagenet = fire_network.init_network(**state2['net_params']).to(device)
|
| 36 |
+
net_imagenet.load_state_dict(state2['state_dict'])
|
| 37 |
|
| 38 |
# ---------------------------------------
|
| 39 |
transform = transforms.Compose([
|
|
|
|
| 90 |
|
| 91 |
col = plt.get_cmap('tab10')
|
| 92 |
|
| 93 |
+
def generate_matching_superfeatures(im1, im2, model_fn, scale_id=6, threshold=50, sf_ids='', only_matching=True):
|
| 94 |
print('im1:', im1.size)
|
| 95 |
print('im2:', im2.size)
|
| 96 |
|
| 97 |
+
net = net_sfm
|
| 98 |
+
if model_fn == "ImageNet":
|
| 99 |
+
net = net_imagenet
|
| 100 |
|
| 101 |
# dataset_ = ImgDataset(images=[im1, im2], imsize=1024)
|
| 102 |
# loader = torch.utils.data.DataLoader(dataset_, shuffle=False, pin_memory=True)
|
|
|
|
| 263 |
# gr.inputs.Image(shape=(1024, 1024), type="pil", label="Second Image"),
|
| 264 |
gr.inputs.Image(type="pil", label="First Image"),
|
| 265 |
gr.inputs.Image(type="pil", label="Second Image"),
|
| 266 |
+
gr.inputs.Radio(["ImageNet", "SfM-120k (landmarks)"], label="Model", optional=False),
|
| 267 |
gr.inputs.Slider(minimum=0, maximum=6, step=1, default=2, label="Scale"),
|
| 268 |
+
gr.inputs.Slider(minimum=0, maximum=255, step=25, default=150, label="Binarization Threshold"),
|
| 269 |
gr.inputs.Textbox(lines=1, default="", label="SF IDs to show (comma separated numbers from 0-255; typing 'rX' will return X random SFs", optional=True),
|
| 270 |
gr.inputs.Checkbox(default=True, label="Show only matching SFs", optional=False),
|
| 271 |
],
|
|
|
|
| 281 |
article=article,
|
| 282 |
css=css,
|
| 283 |
examples=[
|
| 284 |
+
["chateau_1.png", "chateau_2.png", 3, 150, 'r8', True],
|
| 285 |
+
["anafi1.jpeg", "anafi2.jpeg", 4, 150, 'r8', True],
|
| 286 |
+
["areopoli1.jpeg", "areopoli2.jpeg", 4, 150, 'r8', True],
|
| 287 |
]
|
| 288 |
)
|
| 289 |
iface.launch(enable_queue=True)
|
fire_imagenet.pth
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:e05eb75bd4155cd33d3d6fc063fb658b412fff62b73484f86842fc5df5f17b52
|
| 3 |
+
size 60557200
|