Example #1
0
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)	
Example #2
0
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