def region_similarity(cls, img1, img2, proposal1, proposal2):
     feature1 = FeatureExtractor.iterate_feature(proposal1, img1, axis=1)
     feature2 = FeatureExtractor.iterate_feature(proposal2, img2, axis=1)
     sim_mat = distance.cdist(feature1, feature2, "cosine")
     feature_map1 = DiscriminativeDetector.hog_feature(img1)
     feature_map2 = DiscriminativeDetector.hog_feature(img2)
     dis_tensor1 = DiscriminativeDetector.batch_gen_dis_map(feature_map1)
     dis_tensor2 = DiscriminativeDetector.batch_gen_dis_map(feature_map2)
     dis_mat1 = DiscriminativeDetector.batch_dis_detector(dis_tensor1,
                                                          proposal1,
                                                          axis=1)
     dis_mat2 = DiscriminativeDetector.batch_dis_detector(dis_tensor2,
                                                          proposal2,
                                                          axis=1)
     dis_mat = np.dot(dis_mat1, dis_mat2.T)
     res = sim_mat * dis_mat
     res = np.amax(res, axis=1)
     return res
Пример #2
0
def prepare_feature():
    model_path = "/home/ge/tests/vgg16_weights.h5"
    proposal_path = "../mid-data/proposals.npy"
    image_base_path = "../images/kyoto/"
    feature_path = "../mid-data/feature/"

    proposals = np.load(proposal_path)
    FeatureExtractor.initialize(model_path)
    for i in range(10, 500):
        img = imread(image_base_path + str(i) + ".jpg")
        feature = FeatureExtractor.iterate_feature(proposals[i], img, axis=1)
        np.save(feature_path + str(i) + ".npy", feature)
Пример #3
0
__author__ = 'admin'
import scipy.io as sio
import numpy as np
from FeatureExtractor import FeatureExtractor
from ProposalSizeFilter import ProposalSizeFilter
from skimage.io import imread
from scipy.spatial import distance
import pickle

proposal_path = "../proposals.mat"
model_path = "/home/ge/tests/vgg16_weights.h5"
image_base_path = "../"

mat_cont = sio.loadmat(proposal_path)
proposals = mat_cont["res"]
proposals = proposals[0, :]
ProposalSizeFilter.initialize(80, 8000)
proposals = ProposalSizeFilter.filter(proposals)

FeatureExtractor.initialize(model_path)
img1 = imread(image_base_path + "1.jpg")
img2 = imread(image_base_path + "2.jpg")
feature1 = FeatureExtractor.iterate_feature(proposals[0], img1, axis=1)
feature2 = FeatureExtractor.iterate_feature(proposals[1], img2, axis=1)
dis_mat = distance.cdist(feature1, feature2, "cosine")
f = open("dis_mat_cosine.pkl", "wb")
pickle.dump(dis_mat, f)
f.close()