summaryrefslogtreecommitdiff
path: root/megapixels/app/models/dataset.py
diff options
context:
space:
mode:
Diffstat (limited to 'megapixels/app/models/dataset.py')
-rw-r--r--megapixels/app/models/dataset.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/megapixels/app/models/dataset.py b/megapixels/app/models/dataset.py
index a7227a70..c908da1b 100644
--- a/megapixels/app/models/dataset.py
+++ b/megapixels/app/models/dataset.py
@@ -152,6 +152,8 @@ class Dataset:
image_records = [] # list of image matches w/identity if available
# find most similar feature vectors indexes
#match_idxs = self.similar(query_vec, n_results, threshold)
+
+ # TODO: add cosine similarity
sim_scores = np.linalg.norm(np.array([query_vec]) - np.array(self._face_vectors), axis=1)
match_idxs = np.argpartition(sim_scores, range(n_results))[:n_results]
@@ -180,7 +182,17 @@ class Dataset:
s3_url = self.data_store_s3.face(ds_record.uuid)
bbox_norm = BBox.from_xywh_norm_dim(ds_roi.x, ds_roi.y, ds_roi.w, ds_roi.h, dim)
self.log.debug(f'bbox_norm: {bbox_norm}')
- score = sim_scores[match_idx]
+ self.log.debug(f'match_idx: {match_idx}, record_idx: {record_idx}, roi_index: {roi_index}, len sim_scores: {len(sim_scores)}')
+ try:
+ score = sim_scores[match_idx]
+ except Exception as e:
+ self.log.error(e)
+ try:
+ score = sim_scores[record_idx]
+ except Exception as e:
+ self.log.error(e)
+
+
if types.Metadata.IDENTITY in self._metadata.keys():
ds_id = df_identity.loc[df_identity['identity_key'] == ds_record.identity_key].iloc[0]