diff options
| author | adamhrv <adam@ahprojects.com> | 2018-12-18 01:15:36 +0100 |
|---|---|---|
| committer | adamhrv <adam@ahprojects.com> | 2018-12-18 01:15:36 +0100 |
| commit | 994d74feae29f2577bc04e10dd4bafbfb3dc8e83 (patch) | |
| tree | bc70ee0081d665ce63e5099e6688c3d839adb6cf /megapixels/app/models | |
| parent | c7e73f613fc5189c0adeda9fd693cb6aca3d4247 (diff) | |
set jitter 25
Diffstat (limited to 'megapixels/app/models')
| -rw-r--r-- | megapixels/app/models/data_store.py | 2 | ||||
| -rw-r--r-- | megapixels/app/models/dataset.py | 18 |
2 files changed, 13 insertions, 7 deletions
diff --git a/megapixels/app/models/data_store.py b/megapixels/app/models/data_store.py index 244aba60..7b6bef21 100644 --- a/megapixels/app/models/data_store.py +++ b/megapixels/app/models/data_store.py @@ -21,7 +21,7 @@ class DataStore: def metadata(self, enum_type): return join(self.dir_metadata, f'{enum_type.name.lower()}.csv') - def metadata(self, enum_type): + def metadata_dir(self): return join(self.dir_metadata) def media_images_original(self): diff --git a/megapixels/app/models/dataset.py b/megapixels/app/models/dataset.py index 35e10465..eb0109a7 100644 --- a/megapixels/app/models/dataset.py +++ b/megapixels/app/models/dataset.py @@ -40,7 +40,7 @@ class Dataset: self._metadata[metadata_type] = pd.read_csv(fp_csv).set_index('index') # convert DataFrame to list of floats self._face_vectors = self.df_vecs_to_dict(self._metadata[metadata_type]) - self._face_vector_idxs = self.df_vec_idxs_to_dict(self._metadata[metadata_type]) + self._face_vector_roi_idxs = self.df_vec_roi_idxs_to_dict(self._metadata[metadata_type]) self.log.info(f'build face vector dict: {len(self._face_vectors)}') # remove the face vector column, it can be several GB of memory self._metadata[metadata_type].drop('vec', axis=1, inplace=True) @@ -81,8 +81,8 @@ class Dataset: # future datasets can have multiple identities per images ds_identities = df_identity.iloc[identity_index] # get filepath and S3 url - fp_im = self.data_store.face_image(ds_record.subdir, ds_record.fn, ds_record.ext) - s3_url = self.data_store_s3.face_image(ds_record.uuid) + fp_im = self.data_store.face(ds_record.subdir, ds_record.fn, ds_record.ext) + s3_url = self.data_store_s3.face(ds_record.uuid) image_record = ImageRecord(ds_record, fp_im, s3_url, ds_identities=ds_identities) return image_record @@ -147,8 +147,14 @@ class Dataset: for match_idx in match_idxs: # get the corresponding face vector row roi_index = self._face_vector_roi_idxs[match_idx] + df_record = self._metadata[types.Metadata.FILE_RECORD] + ds_record = df_record.iloc[roi_index] self.log.debug(f'find match index: {match_idx}, --> roi_index: {roi_index}') - image_record = self.roi_idx_to_record(roi_index) + fp_im = self.data_store.face(ds_record.subdir, ds_record.fn, ds_record.ext) + s3_url = self.data_store_s3.face(ds_record.uuid) + image_record = ImageRecord(ds_record, fp_im, s3_url) + #roi_index = self._face_vector_roi_idxs[match_idx] + #image_record = self.roi_idx_to_record(roi_index) image_records.append(image_record) return image_records @@ -159,10 +165,10 @@ class Dataset: # convert the DataFrame CSV to float list of vecs return [list(map(float,x.vec.split(','))) for x in df.itertuples()] - def df_vec_idxs_to_dict(self, df): + def df_vec_roi_idxs_to_dict(self, df): # convert the DataFrame CSV to float list of vecs #return [x.roi_index for x in df.itertuples()] - return [x.image_index for x in df.itertuples()] + return [x.roi_index for x in df.itertuples()] def similar(self, query_vec, n_results): '''Finds most similar N indices of query face vector |
