import json from Searcher import Searcher import WebAppSettings as settings def search_by_img(img_file, lf_impl, rescorer=False): if lf_impl is not "GEM": rescorer = True results = searcher.search_by_img(img_file, settings.k, rescorer, lf_impl) return results if __name__ == '__main__': #testset= "/media/Data/data/extension/test_set/listfiles.txt" testset= "/media/Data/data/extension/merged_train_test/test/listfiles.txt" settings.load_setting('conf_train_test.json') global searcher searcher = Searcher() # Using readlines() file1 = open(testset, 'r') Lines = file1.readlines() count = 0 # Strips the newline character #features = ["GEM", "ORB", "LATCH", "BEBLID"] features = ["GEM", "BEBLID"] counters = {"GEM":0, "ORB":0, "LATCH":0, "BEBLID":0} count_orb = 0 count_latch = 0 count_beblid = 0 for line in Lines: classname_q = line.replace("/media/Data/data/extension/merged_train_test/test/", "").split("/")[0] print("Query {}: {}".format(count, line.strip())) for f in features: results = search_by_img(line.strip(), f) if results is None or results[0][1] < 0.3: results = ["unknown", 1.0] classname = results[0][0].split("/")[0] if (classname_q == classname): counters[f] = counters[f] + 1 print(results[0][0] + '", "conf":' + str(results[0][1])) count += 1 for f in features: print(f'{f}: {counters}/{count}')