Ejemplo n.º 1
0
 def __init__(self, model_path, dataset):
     self.net_ = None
     self.dataset_ = None
     self.image_feats_ = None
     self.config_ = load_model_config(dataset)
     self.load_dataset(dataset)
     self.set_cnn_model(model_path, self.config_.deploy_file)
     self.load_cached_features()
Ejemplo n.º 2
0
 def __init__(self, model_path, dataset):
     self.net_ = None
     self.dataset_ = None
     self.image_feats_ = None
     self.config_ = load_model_config(dataset)
     self.load_dataset(dataset)
     self.set_cnn_model(model_path, self.config_.deploy_file)
     self.load_cached_features()
Ejemplo n.º 3
0
def cache_features(net_, dataset):
    config = load_model_config(dataset)
    feat_path = config.FEAT_PATH
    if os.path.exists(feat_path):
        return loadmat(feat_path)['feats']
    # make dir
    feat_rt = os.path.split(feat_path)[0]
    if not os.path.exists(feat_rt):
        os.makedirs(feat_rt)
    # extract feature
    print 'caching features'
    feats = extract_features(net_, config)
    savemat(feat_path, {'feats': feats})
    return feats
Ejemplo n.º 4
0
def cache_features(net_, dataset):
    config = load_model_config(dataset)
    feat_path = config.FEAT_PATH
    if os.path.exists(feat_path):
        return loadmat(feat_path)['feats']
    # make dir
    feat_rt = os.path.split(feat_path)[0]
    if not os.path.exists(feat_rt):
        os.makedirs(feat_rt)
    # extract feature
    print 'caching features'
    feats = extract_features(net_, config)
    savemat(feat_path, {'feats': feats})
    return feats
Ejemplo n.º 5
0
def sketch_retrieval(net_, im, image_feats):
    config = load_model_config()
    im = imresize(im, config.input_dim)
    im = im.astype(np.single) - config.mean_val
    transformed = do_multiview_crop(im, config.crop_dim)
    num, chns, rows, cols = transformed.shape
    # reshape data layer
    net_.blobs['data'].reshape(*(num, chns, rows, cols))
    # forward
    output = net_.forward(data=transformed.astype(np.float32, copy=False))
    target = reshape_feature(output[config.feat_layer].copy())
    # get retrieval results
    multiview_dists = compute_view_specific_distance(target, image_feats)
    ave_dist = multiview_dists.mean(axis=0)
    return ave_dist.flatten().argsort()  # return ranklist
Ejemplo n.º 6
0
def sketch_retrieval(net_, im, image_feats):
    config = load_model_config()
    im = imresize(im, config.input_dim)
    im = im.astype(np.single) - config.mean_val
    transformed = do_multiview_crop(im, config.crop_dim)
    num, chns, rows, cols = transformed.shape
    # reshape data layer
    net_.blobs['data'].reshape(*(num, chns, rows, cols))
    # forward
    output = net_.forward(data=transformed.astype(np.float32, copy=False))
    target = reshape_feature(output[config.feat_layer].copy())
    # get retrieval results
    multiview_dists = compute_view_specific_distance(target, image_feats)
    ave_dist = multiview_dists.mean(axis=0)
    return ave_dist.flatten().argsort()  # return ranklist