bendeguzszabo commited on
Commit
c327b2b
·
1 Parent(s): 194b13d

Update src/app.py

Browse files
Files changed (1) hide show
  1. 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
- scores, retrieved_examples = dataset_with_embeddings.get_nearest_examples(
91
- 'clip_embeddings', qi_embedding, k=top_k)
 
 
 
 
 
 
 
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
- scores, retrieved_examples = dataset_with_embeddings.get_nearest_examples(
98
- 'lbp_embeddings', qi_embedding, k=top_k)
 
 
 
 
 
 
 
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
- scores, retrieved_examples = dataset_with_embeddings.get_nearest_examples(
106
- 'lbp_color_embeddings', qi_embedding, k=top_k
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: