def main(mode): path = '/local/attale00/extracted_pascal__4__Multi-PIE' path_ea = path+'/color128/' allLabelFiles = utils.getAllFiles('/local/attale00/a_labels') labeledImages = [i[0:16]+'.png' for i in allLabelFiles] #labs=utils.parseLabelFiles(path+'/Multi-PIE/labels','mouth',labeledImages,cutoffSeq='.png',suffix='_face0.labels') labs=utils.parseLabelFiles('/local/attale00/a_labels','mouth',labeledImages,cutoffSeq='.png',suffix='_face0.labels') testSet = fg.dataContainer(labs) roi=(50,74,96,160) # X=fg.getAllImagesFlat(path_ea,testSet.fileNames,(128,256),roi=roi) # # # # perform ICA # if mode not in ['s','v']: # ica = FastICA(n_components=50,whiten=True) # ica.fit(X) # meanI=np.mean(X,axis=0) # X1=X-meanI # data=ica.transform(X1) # filters=ica.components_ # # elif mode in ['s','v']: # W=np.load('/home/attale00/Desktop/classifiers/thesis/filter3.npy') # m=np.load('/home/attale00/Desktop/classifiers/thesis/meanI3.npy') # X1=X-m # data=np.dot(X1,W.T) # # for i in range(len(testSet.data)): # testSet.data[i].extend(data[i,:]) ### # # # # # strel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(3,3)) fg.getHogFeature(testSet,roi,path=path_ea,ending='.png',extraMask = None,orientations = 4, cells_per_block=(6,2),maskFromAlpha=False) fg.getPoseLabel(testSet,pathToPoseFiles='/local/attale00/poseLabels/multipie/') #fg.getColorHistogram(testSet,roi,path=path_ea,ending='.png',colorspace='lab',bins=40) testSet.targetNum=map(utils.mapMouthLabels2Two,testSet.target) rf=classifierUtils.standardRF(max_features = np.sqrt(len(testSet.data[0])),min_split=5,max_depth=40) if mode in ['s','v']: print 'Classifying with loaded classifier' obj=classifierUtils.classifyWithOld(path,testSet,mode,clfPath = '/home/attale00/Desktop/classifiers/thesis/texture/hog_pose') pickle.dump(obj,open('hog_pose','w')) elif mode in ['c']: print 'cross validation of data' rValues = classifierUtils.dissectedCV(rf,testSet) pickle.dump(rValues,open('texture_mp_','w')) elif mode in ['save']: print 'saving new classifier' _saveRF(testSet) else: print 'not doing anything'
def main(mode): path = '/local/attale00/AFLW_ALL' path_ea = path+'/color128/' fileNames = utils.getAllFiles(path_ea); labs=utils.parseLabelFiles(path+'/labels/labels','mouth_opening',fileNames,cutoffSeq='.png',suffix='_face0.labels') testSet = fg.dataContainer(labs) roi=(50,74,96,160) # # # X=fg.getAllImagesFlat(path_ea,testSet.fileNames,(128,256),roi=roi) # #Y=fg.getAllImagesFlat(path_mp,mpFiles,(128,256),roi=roi) # #Z=np.concatenate((X,Y),axis=0) # Z=X # # #perform ICA # ica = FastICA(n_components=50,whiten=True) # ica.fit(Z) # meanI=np.mean(X,axis=0) # # X1=X-meanI # data=ica.transform(X1) # filters=ica.components_ # for i in range(len(fileNames)): # testSet.data[i].extend(data[i,:]) # orientations = 4 bins=40 fg.getHogFeature(testSet,roi,path=path_ea,ending='.png',extraMask = None,orientations = orientations, cells_per_block=(6,2),maskFromAlpha=False) fg.getPoseLabel(testSet,pathToPoseFiles='/local/attale00/poseLabels/aflw/') #fg.getColorHistogram(testSet,roi,path=path_ea,ending='.png',colorspace='lab',bins=bins) #pca # n_samples, n_features = X.shape # # mean_ = np.mean(X, axis=0) # X -= mean_ # U, S, V = linalg.svd(X) # explained_variance_ = (S ** 2) / n_samples # explained_variance_ratio_ = (explained_variance_ /explained_variance_.sum()) # K=V / S[:, np.newaxis] * np.sqrt(n_samples) # filters=K[:100] # data=np.dot(X,filters.T) testSet.targetNum=map(utils.mapMouthLabels2Two,testSet.target) rf=classifierUtils.standardRF(max_features = np.sqrt(len(testSet.data[0])),min_split=1,max_depth=70) if mode in ['s','v']: print 'Classifying with loaded classifier' _classifyWithOld(path,testSet,mode) elif mode in ['c']: print 'cross validation of data' rValues = classifierUtils.dissectedCV(rf,testSet) #pickle.dump(rValues,open('texture_hog_{}'.format(orientations),'w')) elif mode in ['save']: print 'saving new classifier' _saveRF(testSet,rf,filters=None,meanI=None) else: print 'not doing anything' return