def getMixtureRoidb(imdbs, size, pc): numImdbs = len(imdbs) mixedRoidb = [None for _ in range(8)] annoCounts = [None for _ in range(8)] for imdb in imdbs: # HACKY af # todo: provide a more structural solution print(imdb.name) if imdb.name in ['sun', 'inria', 'cam2'] and size == 1000: print("HERE getting 2k instead of 1k") sizedRoidb, annoCount = imdb.get_roidb_at_size(2000) else: sizedRoidb, annoCount = imdb.get_roidb_at_size(size) print("type(sizedRoidb): {}".format(type(sizedRoidb))) mixedRoidb[imdb.config['setID']] = sizedRoidb annoCounts[imdb.config['setID']] = annoCount print_each_size(sizedRoidb) return mixedRoidb, annoCounts
def createMixtureDataset(setID, size): imdbs = setID_to_imdbs(setID) # remove ONLY FOR DEBUG if DEBUG: if len(imdbs) == 0: return [] else: assert len(imdbs) == setID.count('1') imdbSize = size / len(imdbs) mixedRoidb = [None for _ in range(8)] annoCounts = [None for _ in range(8)] for imdb in imdbs: print(imdb.name, imdb.classes) imdb = loadedImdbs[imdb.name] sizedRoidb, annoCount = imdb.get_roidb_at_size(size) print_each_size(sizedRoidb) mixedRoidb[imdb.config['setID']] = sizedRoidb annoCounts[imdb.config['setID']] = annoCount return mixedRoidb, annoCounts
print("\t\t{}".format(v)) print("computing bbox info...") areas, widths, heights = get_bbox_info(roidb,numAnnos) print("ave area: {} | std. area: {}".format(np.mean(areas),np.std(areas,dtype=np.float64))) print("ave width: {} | std. width: {}".format(np.mean(widths),np.std(widths,dtype=np.float64))) print("ave height: {} | std. height: {}".format(np.mean(heights),np.std(heights,dtype=np.float64))) prefix_path = cfg.IMDB_REPORT_OUTPUT_PATH if osp.exists(prefix_path) is False: os.makedirs(prefix_path) print("-="*50) print("mixed datasets roidbsize") for size in [50,100,500,1000]: sizedRoidb,actualSize = imdb.get_roidb_at_size(size) print("size: {}".format(size)) print_each_size(sizedRoidb) print("-="*50) # issue: we are getting zeros area for 5343 of bboxes for pascal_voc_2007 path = osp.join(prefix_path,"areas.dat") np.savetxt(path,areas,fmt='%.18e',delimiter=' ') path = osp.join(prefix_path,"widths.dat") np.savetxt(path,widths,fmt='%.18e',delimiter=' ') path = osp.join(prefix_path,"heights.dat") np.savetxt(path,heights,fmt='%.18e',delimiter=' ') pyroidb = RoidbDataset(roidb,[0,1,2,3,4,5,6,7],