Spaces:
Runtime error
Runtime error
Commit
·
c327b2b
1
Parent(s):
194b13d
Update src/app.py
Browse files- src/app.py +29 -7
src/app.py
CHANGED
@@ -87,24 +87,46 @@ def get_neighbors(query_image, selected_descriptor, selected_distance, top_k=5):
|
|
87 |
if "CLIP" == selected_descriptor:
|
88 |
clip_model = CLIPImageEncoder()
|
89 |
qi_embedding = clip_model.encode_image(query_image)
|
90 |
-
|
91 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
images = retrieved_examples['image']
|
93 |
return images
|
94 |
if "LBP" == selected_descriptor:
|
95 |
lbp_model = LBPImageEncoder(8,2)
|
96 |
qi_embedding = lbp_model.describe(query_image)
|
97 |
-
|
98 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
images = retrieved_examples['image']
|
100 |
return images
|
101 |
if "LBPColor" == selected_descriptor:
|
102 |
lbp_model = LBPImageEncoder(8,2)
|
103 |
cd = ColorDescriptor((8, 12, 3))
|
104 |
qi_embedding = merge_features(lbp_model.describe(query_image), cd.describe(query_image))
|
105 |
-
|
106 |
-
|
107 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
|
109 |
|
110 |
else:
|
|
|
87 |
if "CLIP" == selected_descriptor:
|
88 |
clip_model = CLIPImageEncoder()
|
89 |
qi_embedding = clip_model.encode_image(query_image)
|
90 |
+
if selected_distance == "FAISS":
|
91 |
+
scores, retrieved_examples = dataset_with_embeddings.get_nearest_examples(
|
92 |
+
'clip_embeddings', qi_np, k=top_k)
|
93 |
+
elif selected_distance == "Chi-squared":
|
94 |
+
tmp_dataset = dataset_with_embeddings.map(lambda row: {'distance': chi2_distance(histA=qi_embedding, histB=row['clip_embeddings'])})
|
95 |
+
retrieved_examples = tmp_dataset.sort("distance")[:5]
|
96 |
+
else:
|
97 |
+
tmp_dataset = dataset_with_embeddings.map(lambda row: {'distance': euclidean_distance(histA=qi_embedding, histB=row['clip_embeddings'])})
|
98 |
+
retrieved_examples = tmp_dataset.sort("distance")[:5]
|
99 |
images = retrieved_examples['image']
|
100 |
return images
|
101 |
if "LBP" == selected_descriptor:
|
102 |
lbp_model = LBPImageEncoder(8,2)
|
103 |
qi_embedding = lbp_model.describe(query_image)
|
104 |
+
if selected_distance == "FAISS":
|
105 |
+
scores, retrieved_examples = dataset_with_embeddings.get_nearest_examples(
|
106 |
+
'lbp_embeddings', qi_np, k=top_k)
|
107 |
+
elif selected_distance == "Chi-squared":
|
108 |
+
tmp_dataset = dataset_with_embeddings.map(lambda row: {'distance': chi2_distance(histA=qi_embedding, histB=row['lbp_embeddings'])})
|
109 |
+
retrieved_examples = tmp_dataset.sort("distance")[:5]
|
110 |
+
else:
|
111 |
+
tmp_dataset = dataset_with_embeddings.map(lambda row: {'distance': euclidean_distance(histA=qi_embedding, histB=row['lbp_embeddings'])})
|
112 |
+
retrieved_examples = tmp_dataset.sort("distance")[:5]
|
113 |
images = retrieved_examples['image']
|
114 |
return images
|
115 |
if "LBPColor" == selected_descriptor:
|
116 |
lbp_model = LBPImageEncoder(8,2)
|
117 |
cd = ColorDescriptor((8, 12, 3))
|
118 |
qi_embedding = merge_features(lbp_model.describe(query_image), cd.describe(query_image))
|
119 |
+
if selected_distance == "FAISS":
|
120 |
+
scores, retrieved_examples = dataset_with_embeddings.get_nearest_examples(
|
121 |
+
'lbp_color_embeddings', qi_np, k=top_k)
|
122 |
+
elif selected_distance == "Chi-squared":
|
123 |
+
tmp_dataset = dataset_with_embeddings.map(lambda row: {'distance': chi2_distance(histA=qi_embedding, histB=row['lbp_color_embeddings'])})
|
124 |
+
retrieved_examples = tmp_dataset.sort("distance")[:5]
|
125 |
+
else:
|
126 |
+
tmp_dataset = dataset_with_embeddings.map(lambda row: {'distance': euclidean_distance(histA=qi_embedding, histB=row['lbp_color_embeddings'])})
|
127 |
+
retrieved_examples = tmp_dataset.sort("distance")[:5]
|
128 |
+
images = retrieved_examples['image']
|
129 |
+
return images
|
130 |
|
131 |
|
132 |
else:
|