def save_pairs(): figGt = plt.figure() #Ground-Truth ax = plt.subplot(1,1,1) plt.ion() cropPrms = {} cropPrms['cropType'] = 'contPad' cropPrms['imSz'] = 227 cropPrms['contPad'] = 16 saveDir = '/data1/pulkitag/data_sets/pascal_3d/my/debug/' saveDir1 = os.path.join(saveDir, 'im1') saveDir2 = os.path.join(saveDir, 'im2') imNamesGt, bboxGt, labelsGt = read_window_file() for imCount in range(100): imName1 = os.path.join(rootFolder, imNamesGt['im1'][imCount]) imName2 = os.path.join(rootFolder, imNamesGt['im2'][imCount]) im1 = ou.read_crop_im(imName1, bboxGt['im1'][imCount], **cropPrms) im2 = ou.read_crop_im(imName2, bboxGt['im2'][imCount], **cropPrms) bName1 = os.path.basename(imNamesGt['im1'][imCount]).split('.')[0] bName2 = os.path.basename(imNamesGt['im2'][imCount]).split('.')[0] sName1 = os.path.join(saveDir1, 'im%d_%s.png' % (imCount, bName1)) sName2 = os.path.join(saveDir2, 'im%d_%s.png' % (imCount, bName2)) ax.imshow(im1) plt.savefig(sName1) ax.imshow(im2) plt.savefig(sName2)
def compare_windows(isGray=False, isSave=False, svIdx=None, svPath=None, dataset='streetview'): figGt = plt.figure() #Ground-Truth figDt = plt.figure() #Data plt.ion() plt.set_cmap(plt.cm.gray) #Get ground truth data. imNamesGt, bboxGt, labelsGt = read_window_file() N = labelsGt.shape[0] N = 100 #Crop Ground Truth or not isCropGt = False #Setup the network. protoFile = get_protofile(isGray, dataset=dataset) net = caffe.Net(protoFile, caffe.TRAIN) imCount = 0 cropPrms = {} cropPrms['cropType'] = 'contPad' cropPrms['imSz'] = 227 cropPrms['contPad'] = 0 svCount = 0 for i in range(N): allDat = net.forward(['data','label']) imData = allDat['data'] lblDat = allDat['label'] batchSz = imData.shape[0] #time.sleep(2) for b in range(batchSz): #Plot network data. if isGray: im1 = imData[b,0:1].transpose((1,2,0)).squeeze() im2 = imData[b,1:].transpose((1,2,0)).squeeze() else: im1 = imData[b,0:3].transpose((1,2,0)) im2 = imData[b,3:6].transpose((1,2,0)) im1 = im1[:,:,[2,1,0]] im2 = im2[:,:,[2,1,0]] lb = lblDat[b].squeeze() if dataset in ['kitti', 'sf']: lbStr = 'az: %f, el: %f, cl: %f' % (lb[0],lb[1],lb[2]) else: #lbStr = 'az: %f, el: %f' % (lb[0],lb[1]) print lb lbStr = 'isMatch: %f' % lb if isSave: if imCount in svIdx: imN1 = svPath % (svCount,1) imN2 = svPath % (svCount,2) scm.imsave(imN1, im1) scm.imsave(imN2, im2) svCount += 1 if svCount == len(svIdx): print 'Saved all images: %d' % svCount return else: plot_pairs(figDt, im1, im2, lbStr, 'Layer Output') #Plot the gt data imName1 = os.path.join(rootFolder, imNamesGt['im1'][imCount]) imName2 = os.path.join(rootFolder, imNamesGt['im2'][imCount]) print (imName1) if isCropGt: im1 = ou.read_crop_im(imName1, bboxGt['im1'][imCount], **cropPrms) im2 = ou.read_crop_im(imName2, bboxGt['im2'][imCount], **cropPrms) else: im1 = plt.imread(imName1) im2 = plt.imread(imName2) lb = labelsGt[imCount] if dataset in ['kitti', 'sf']: lbStr = 'az: %f, el: %f, cl: %f' % (lb[0],lb[1],lb[2]) else: #lbStr = 'az: %f, el: %f' % (lb[0],lb[1]) lbStr = 'isMatch: %f' % lb[0] plot_pairs(figGt, im1, im2, lbStr, 'Ground Truth') print imCount ip = raw_input() if ip=='q': return imCount += 1 if imCount==N: imCount = 0