資源簡介
利用CNN評價立體圖像質(zhì)量,含立體圖像數(shù)據(jù),代碼基于keras。

代碼片段和文件信息
#?-*-?coding:?utf-8?-*-
‘‘‘
本程序用于live2?視頻數(shù)據(jù)庫的?train-test?實驗,每次實驗80%訓(xùn)練,20%測試
inputdata:360個圖片,每個圖片分成220個32*32的圖像塊
traindata=360*0.8=292
testdata=360*0.2=73
‘‘‘
from?__future__?import?print_function
import?scipy.io?as?sc
import?numpy?as?np
import?matplotlib.pyplot?as?plt
import?os
import?h5py
#import?sys
#reload(sys)
#sys.setdefaultencoding(‘utf-8‘)
np.random.seed(1337)??#?for?reproducibility
#from?keras.datasets?import?mnist
from?keras.models?import?Sequential
from?keras.layers?import?Dense?Dropout?Activation?Flatten
from?keras.layers?import?Convolution2D?MaxPooling2D
from?keras.utils?import?np_utils
from?keras?import?backend?as?K
from?keras.layers?import?Merge
CurrentPath=os.getcwd()
path1=CurrentPath+‘/dataset/LIVE1/diff‘
path2=CurrentPath+‘/dataset/LIVE1/left‘
path3=CurrentPath+‘/dataset/LIVE1/right‘
files=?os.listdir(path1)#讀取文件夾文件列表
files.sort()?
#print(files)
files_l=?os.listdir(path2)#讀取文件夾文件列表
files_l.sort()?
files_r=?os.listdir(path3)#讀取文件夾文件列表
files_r.sort()?
#print(files)
X_train_diff=np.empty((292*22032321)dtype=‘float32‘)
y_train=np.empty((292*2201)dtype=‘float32‘)
X_test_diff=np.empty((73*22032321)dtype=‘float32‘)
y_test=np.empty((73*2201)dtype=‘float32‘)?#astype(‘float32‘)
X_train_left=np.empty((292*22032321)dtype=‘float32‘)
X_test_left=np.empty((73*22032321)dtype=‘float32‘)
X_train_right=np.empty((292*22032321)dtype=‘float32‘)
X_test_right=np.empty((73*22032321)dtype=‘float32‘)
MosFile=‘DMOS_LIVE1.mat‘
MosDic=sc.loadmat(MosFile)
MosData=MosDic[‘LIVE1‘]
MosData.astype(‘float32‘)
MosData=((MosData-min(MosData))/(max(MosData)-min(MosData)))*2-1
ExpNum=100#實驗(train-test)的次數(shù)
for?NumExp?in?xrange(ExpNum):
????x=range(365)#qifeng庫共450個視頻
????np.random.shuffle(x)#打亂視頻順序
????for?i?in?xrange(292):#取80%作為訓(xùn)練數(shù)據(jù)
????????dataFile=path1+‘/‘+files[x[i]]
????????tempLoad=sc.loadmat(dataFile)
????????temp=tempLoad[‘diff‘]
????????SingleData=np.rollaxis(temp20)
????????X_train_diff[i*220:(i+1)*220::0]=SingleData#
????????y_train[i*220:(i+1)*220:]=MosData[x[i]]#*np.ones(51001)
????????print(files[x[i]])
????????dataFile=path2+‘/‘+files_l[x[i]]
????????tempLoad=sc.loadmat(dataFile)
????????temp=tempLoad[‘left‘]
????????SingleData=np.rollaxis(temp20)
????????X_train_left[i*220:(i+1)*220::0]=SingleData#
print(files_l[x[i]])
????????????
????????dataFile=path3+‘/‘+files_r[x[i]]
????????tempLoad=sc.loadmat(dataFile)
????????temp=tempLoad[‘right‘]
????????SingleData=np.rollaxis(temp20)
????????X_train_right[i*220:(i+1)*220::0]=SingleData#
print(files_r[x[i]])
????????print(‘i:‘i)
????????
????for?i?in?xrange(73):
????????dataFile=path1+‘/‘+files[x[i+292]]
????????tempLoad=sc.loadmat(dataFile)
????????temp=tempLoad[‘diff‘]
????????SingleData=np.rollaxis(temp20)
????????X_test_diff[i*220:(i+1)*220::0]=SingleData
????????y_test[i*220:(i+1)*220:]=MosData[x[i+292]]
????????????????????
????????dataFile=path2+‘/‘+files_l[x[i+292]]
????????tempLoad=sc.loadmat(dataFile)
????????temp=tempLoad[‘left
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????2107??2017-08-17?00:34??DMOS_LIVE1.mat
?????文件???????11256??2017-08-16?18:45??LIVE1_train_test.py
評論
共有 條評論