def get_sift_descriptors(n_imgs=None, data_dir=None): objects = get_object_list() obj_descs = [] for obj in objects: descs = load_siftdata(obj_name=obj, return_pos=False, data_dir=data_dir) if descs is None: continue if n_imgs is None: n_imgs = len(descs) p = np.random.randint(0, len(descs), size=n_imgs) descs = np.array(map(lambda x: x.astype('float16'), descs)) obj_descs.append((obj, descs[p])) return obj_descs
def get_sift_descriptors(n_imgs=None, data_dir=None): objects = jsk_apc2015_common.get_object_list() obj_descs = [] for obj in objects: descs = load_siftdata(obj_name=obj, return_pos=False, data_dir=data_dir) if descs is None: continue if n_imgs is None: n_imgs = len(descs) p = np.random.randint(0, len(descs), size=n_imgs) descs = np.array(map(lambda x: x.astype('float16'), descs)) obj_descs.append((obj, descs[p])) return obj_descs
def _handle_siftdata_cache(self, obj_names): """Sift data cache handler if same obj_names set: don't update, else: update """ for obj_name in obj_names: if obj_name in self.siftdata_cache: siftdata = self.siftdata_cache[obj_name] else: if len(self.siftdata_cache) > 3: # free cache data to avoid becoming too big del self.siftdata_cache[np.random.choice(self.siftdata_cache.keys())] siftdata = load_siftdata(obj_name) # set cache self.siftdata_cache[obj_name] = siftdata if siftdata is None: continue yield siftdata
def _handle_siftdata_cache(self, obj_names): """Sift data cache handler if same obj_names set: don't update, else: update """ for obj_name in obj_names: if obj_name in self.siftdata_cache: siftdata = self.siftdata_cache[obj_name] else: if len(self.siftdata_cache) > 3: # free cache data to avoid becoming too big del self.siftdata_cache[np.random.choice( self.siftdata_cache.keys())] siftdata = load_siftdata(obj_name) # set cache self.siftdata_cache[obj_name] = siftdata if siftdata is None: continue yield siftdata