本發(fā)明涉及人臉活體檢測領(lǐng)域,具體而言,涉及一種面具造假卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法及人臉活體檢測方法。
背景技術(shù):
由于人臉容易獲取、非接觸式、使用方便等優(yōu)點,人臉識別受到人們的喜愛,廣泛應(yīng)用在門禁出入境管理系統(tǒng)、登錄系統(tǒng)等。隨著智能設(shè)備的普及,人臉易被他人獲取,通過面具、照片或者視頻對人臉識別系統(tǒng)進行攻擊。因此,在人臉識別系統(tǒng)中,人臉活體檢測變得非常重要,是保證用戶安全的不可或缺的手段,也是人臉識別得到廣泛推廣的前提。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明實施例的目的在于提供一種面具造假卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法及人臉活體檢測方法,以提供一種應(yīng)對面具造假的人臉活體檢測方法。
為了達到上述的目的,本發(fā)明實施例采用的技術(shù)方案如下所述:
第一方面,本發(fā)明實施例提供了一種面具造假卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法,所述方法包括:構(gòu)建訓(xùn)練集,所述訓(xùn)練集包括面具造假視頻和真人視頻;獲取面具造假視頻和真人視頻中的圖像;通過人臉檢測算法檢測所述圖像中的人臉;將所述人臉進行裁剪;對裁剪后出人臉圖像進行歸一化處理;將所述歸一化后的人臉圖像輸入至卷積神經(jīng)網(wǎng)絡(luò),所述卷積神經(jīng)網(wǎng)絡(luò)包括輸入層、多個卷積層、relu層、max-pooling層、全連接層、dropout層和softmaxwithloss層;所述輸入層將所述歸一化后的人臉圖像進行隨機裁剪,將裁剪后的人臉圖像水平翻轉(zhuǎn),得到特定像素的圖像,將所述特定像素的圖像送入多個卷積層中的第一個卷積層;所述第一個卷積層包括多個卷積核,所述第一個卷積層連接一個relu層和max-pooling層,所述特定像素的圖像經(jīng)過所述第一個卷積層后得到與所述第一個卷積層的卷積核對應(yīng)數(shù)量的特征圖像,所述relu層使部分神經(jīng)元輸出為0,造成稀疏性,所述max-pooling層對所述特征圖像進行壓縮,提取主要特征,所述特征圖像進入第二個卷積層;所述第二個卷積層包括多個卷積核,所述第二個卷積層連接一個relu層和max-pooling層,所述特征圖像經(jīng)過所述第二個卷積層后得到與所述第二個卷積層的卷積核對應(yīng)數(shù)量的特征圖像,所述relu層使部分神經(jīng)元輸出為0,造成稀疏性,所述特征圖像經(jīng)過第二個max-pooling層后進而進入第三個卷積層;所述第三個卷積層包括多個卷積核,所述第三個卷積層連接一個relu層和max-pooling層,所述特征圖像經(jīng)過所述第三個卷積層后得到與所述第三個卷積層的卷積核對應(yīng)數(shù)量的特征圖像,所述relu層使部分神經(jīng)元輸出為0,造成稀疏性,所述特征圖像經(jīng)過第三個max-pooling層后進而進入第四個卷積層;所述第四個卷積層包括多個卷積核,所述第四個卷積層連接一個relu層和max-pooling層,隨后連接兩個全連接層,每個全連接層均依次連接一個relu層和dropout層,所述relu層使部分神經(jīng)元輸出為0,造成稀疏性,所述特征圖像經(jīng)過所述第四個卷積層后得到與所述第四個卷積層的卷積核對應(yīng)數(shù)量的特征圖像,經(jīng)過第四個max-pooling層后進而進入兩個全連接層以及與所述全連接層連接的relu層和dropout層,dropout層通過訓(xùn)練時,隨機讓卷積神經(jīng)網(wǎng)絡(luò)某些隱含層節(jié)點的權(quán)重不工作,dropout層之后依次連接一個全連接層和softmaxwithloss層,最后一個全連接層輸出所述人臉圖像的得分情況,將得分輸入到最后一層softmaxwithloss層,得到屬于面具造假和真人的概率以及該次迭代的損失。
進一步地,每一個所述卷積層和relu層之間均依次連接一個batchnorm層和一個scale層,所述batchnorm層將神經(jīng)元的輸出規(guī)范化到均值為0,方差為1,所述scale層逆轉(zhuǎn)所述batchnorm層對特征的破壞。
進一步地,所述構(gòu)建訓(xùn)練集的步驟包括:按照預(yù)定比例構(gòu)建訓(xùn)練集和驗證集,所述訓(xùn)練集和驗證集均包括面具造假視頻和真人視頻。
進一步地,所述對裁剪后出人臉圖像進行歸一化處理的步驟包括:對裁剪后出人臉圖像歸一化到256×256像素。
進一步地,所述輸入層包含rgb三個通道,大小為256×256,將訓(xùn)練集分為1000個batch,每個batch大小為128,所述特定像素的圖像的像素為227×227。
進一步地,所述第一個卷積層包括96個卷積核,每個卷積核的大小為7×7,卷積操作的步長為2,經(jīng)過第一個卷積層后得到96個像素為111×111的特征圖像,經(jīng)過第一個max-pooling層后,得到96個像素為55×55的特征圖像,所述第一個max-pooling層的大小為3×3,步長為2。
進一步地,所述第二個卷積層包括256個卷積核,每個卷積核的大小為5×5,卷積操作的步長為2,經(jīng)過第二個卷積層后得到256個像素為26×26的特征圖像,經(jīng)過第二個max-pooling層后,得到256個像素為26×26的特征圖像,所述第二個max-pooling層的大小為3×3,步長為1,邊界填充為1。
進一步地,所述第三個卷積層包括192個卷積核,每個卷積核的大小為3×3,邊界補充1,卷積操作的步長為1,經(jīng)過第三個卷積層后得到192個像素為26×26的特征圖像,經(jīng)過第三個max-pooling層后,得到192個像素為26×26的特征圖像,所述第三個max-pooling層的大小為3×3,步長為1,邊界填充為1。
進一步地,所述第四個卷積層包括192個卷積核,每個卷積核的大小為3×3,邊界補充1,卷積操作的步長為1,經(jīng)過第四個卷積層后得到192個像素為26×26的特征圖像,經(jīng)過第四個max-pooling層后,得到192個像素為13×13的特征圖像,所述第四個max-pooling層的大小為3×3,步長為2。
第二方面,本發(fā)明實施例提供了一種基于面具造假的人臉活體檢測方法,所述方法包括:獲取人臉圖像;通過人臉檢測算法檢測所述圖像中的人臉;將所述人臉進行裁剪;對裁剪后出人臉圖像進行歸一化處理;將所述歸一化后的人臉圖像輸入至卷積神經(jīng)網(wǎng)絡(luò),所述卷積神經(jīng)網(wǎng)絡(luò)包括輸入層、多個卷積層、relu層、max-pooling層、全連接層、dropout層和softmax層;所述輸入層將所述歸一化后的人臉圖像進行隨機裁剪,將裁剪后的人臉圖像水平翻轉(zhuǎn),得到特定像素的圖像,將所述特定像素的圖像送入多個卷積層中的第一個卷積層;所述第一個卷積層包括多個卷積核,所述第一個卷積層連接一個relu層和max-pooling層,所述特定像素的圖像經(jīng)過所述第一個卷積層后得到與所述第一個卷積層的卷積核對應(yīng)數(shù)量的特征圖像,所述relu層使部分神經(jīng)元輸出為0,造成稀疏性,所述max-pooling層對所述特征圖像進行壓縮,提取主要特征,所述特征圖像進入第二個卷積層;所述第二個卷積層包括多個卷積核,所述第二個卷積層連接一個relu層和max-pooling層,所述特征圖像經(jīng)過所述第二個卷積層后得到與所述第二個卷積層的卷積核對應(yīng)數(shù)量的特征圖像,所述relu層使部分神經(jīng)元輸出為0,造成稀疏性,所述特征圖像經(jīng)過第二個max-pooling層后進而進入第三個卷積層;所述第三個卷積層包括多個卷積核,所述第三個卷積層連接一個relu層和max-pooling層,所述特征圖像經(jīng)過所述第三個卷積層后得到與所述第三個卷積層的卷積核對應(yīng)數(shù)量的特征圖像,所述relu層使部分神經(jīng)元輸出為0,造成稀疏性,所述特征圖像經(jīng)過第三個max-pooling層后進而進入第四個卷積層;所述第四個卷積層包括多個卷積核,所述第四個卷積層連接一個relu層和max-pooling層,隨后連接兩個全連接層,每個全連接層均依次連接一個relu層和dropout層,所述特征圖像經(jīng)過所述第四個卷積層后得到與所述第四個卷積層的卷積核對應(yīng)數(shù)量的特征圖像,所述relu層使部分神經(jīng)元輸出為0,造成稀疏性,所述特征圖像經(jīng)過第四個max-pooling層后進而進入兩個全連接層以及與所述全連接層連接的relu層和dropout層,dropout層通過訓(xùn)練時,隨機讓卷積神經(jīng)網(wǎng)絡(luò)某些隱含層節(jié)點的權(quán)重不工作,dropout層之后依次連接一個全連接層和softmax層,最后一個全連接層輸出所述人臉圖像的得分情況,將得分輸入到最后一層softmax層,得到屬于面具造假和真人的概率。
本發(fā)明實施例提供的面具造假卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法及人臉活體檢測方法,通過訓(xùn)練基于造假面具的卷積神經(jīng)網(wǎng)絡(luò),對造假面具進行學(xué)習(xí),為人臉識別時抵御面具造假攻擊提供保護,保護人臉識別的安全。
為使本發(fā)明的上述目的、特征和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細說明如下。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實施例,因此不應(yīng)被看作是對范圍的限定,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。
圖1是本發(fā)明實施例提供的面具造假卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法的流程示意圖。
圖2是卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練流程圖。
圖3是本發(fā)明實施例中訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)模型的示意圖。
圖4是本發(fā)明實施例提供的一種基于面具造假的人臉活體檢測方法的流程圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。通常在此處附圖中描述和示出的本發(fā)明實施例的組件可以以各種不同的配置來布置和設(shè)計。
因此,以下對在附圖中提供的本發(fā)明的實施例的詳細描述并非旨在限制要求保護的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
應(yīng)注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步定義和解釋。
請參照圖1,是本發(fā)明實施例提供的面具造假卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法的流程示意圖。該方法包括以下步驟:
步驟s110,構(gòu)建訓(xùn)練集,訓(xùn)練集包括面具造假視頻和真人視頻。
當(dāng)訓(xùn)練集不包括驗證集時,步驟s101還包括按照預(yù)定比例構(gòu)建訓(xùn)練集和驗證集,所述訓(xùn)練集和驗證集均包括面具造假視頻和真人視頻。訓(xùn)練集和驗證集的比例自由配置,例如可以為8:2或7:3,本發(fā)明實施例對此不做限定。面具造假視頻為錄制的面具的視頻,該面具與真人人臉相似度高,模擬用面具造假進行攻擊的情景,真人視頻為錄制的真人的視頻。
步驟s120,獲取面具造假視頻和真人視頻中的圖像。
從面具造假視頻和真人視頻中分別取出多張圖像,比如隔3幀或者5幀取出一張圖像,則一個視頻總共取出:總幀數(shù)/3或者總幀數(shù)/5張圖像。
步驟s130,通過人臉檢測算法檢測所述圖像中的人臉。
人臉檢測算法可以為現(xiàn)有的通用的人臉檢測算法,如adaboost。
步驟s140,對人臉進行裁剪。
在對人臉進行裁剪過程中,利用人臉特征點定位的算法,找到人臉的準確區(qū)域,得到準確的人臉框,將該人臉框擴大,一般擴大1.8倍,將擴大后的人臉框?qū)?yīng)的原圖中的區(qū)域裁剪出來,裁剪出來的人臉既包括人臉,也包括一定的背景,一定的背景存在有利于分類真假視頻。
步驟s150,對裁剪后出人臉圖像進行歸一化處理。
裁剪后的人臉圖像經(jīng)過歸一化處理,歸一化到256×256像素。
步驟s160,將歸一化后的人臉圖像輸入至卷積神經(jīng)網(wǎng)絡(luò),該卷積神經(jīng)網(wǎng)絡(luò)包括輸入層、多個卷積層、relu層、max-pooling層、全連接層、dropout層和softmaxwithloss層。
步驟s170,對該卷積神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練。
其中,歸一化后的人臉圖像首先進入輸入層,請參照圖2,是卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程,包括以下步驟:
步驟s171,輸入層將歸一化后的人臉圖像進行隨機裁剪,將裁剪后的人臉圖像水平翻轉(zhuǎn),得到特定像素的圖像,將特定像素的圖像送入多個卷積層中的第一個卷積層。
其中,輸入層的圖像包含rgb三個通道,且大小為256×256,將訓(xùn)練集分為1000個batch,每個batch大小為128。特定像素的圖像的像素為227×227,將該batch內(nèi)的圖像打亂順序送入第一個卷積層,該batch內(nèi)的圖像樣本正負比例1:1,且均屬于同一個人的人臉圖像,以降低由于不同外貌特征造成的差異,使網(wǎng)絡(luò)學(xué)習(xí)到由于真人和造假之間的本質(zhì)特征,降低類內(nèi)差異。
步驟s172,第一個卷積層包括多個卷積核,第一個卷積層連接一個relu層和max-pooling層,特定像素的圖像經(jīng)過第一個卷積層后得到與第一個卷積層的卷積核對應(yīng)數(shù)量的特征圖像,所述relu層使部分神經(jīng)元輸出為0,造成稀疏性,max-pooling層對特征圖像進行壓縮,提取主要特征,特征圖像進入第二個卷積層。
在本實施例中,第一個卷積層的卷積核的個數(shù)為96個,每個卷積核的大小為7×7,卷積操作的步長為2,經(jīng)過第一個卷積層后得到96個像素為111×111的特征圖像,第一個max-pooling層的大小為3×3,步長為2,經(jīng)過第一個max-pooling層后,得到96個像素為55×55的特征圖像。作為優(yōu)選的,每一個卷積層和relu層之間依次連接一個batchnorm層和一個scale層,經(jīng)過batchnorm層,scale層,relu層并不改變特征圖像的大小。當(dāng)深度網(wǎng)絡(luò)層次太多,信號和梯度越來越小,深層難以訓(xùn)練,被稱作梯度彌散,也有可能越來越大,又被稱作梯度爆炸,通過batchnorm層將神經(jīng)元的輸出規(guī)范化到均值為0,方差為1,scale層逆轉(zhuǎn)所述batchnorm層對特征的破壞,以克服深度神經(jīng)網(wǎng)絡(luò)難以訓(xùn)練的弊病。由于深度網(wǎng)絡(luò)在訓(xùn)練時,每一層的輸入數(shù)據(jù)分布一直是在發(fā)生變化的,因為前面一層的參數(shù)更新會導(dǎo)致后面一層的輸入數(shù)據(jù)的分布,batchnorm和scale可以解決訓(xùn)練時,網(wǎng)絡(luò)中間層的數(shù)據(jù)分布發(fā)生改變的問題,batchnorm層是通過將神經(jīng)元的輸出規(guī)范化到:均值為0,方差為1,通過batchnorm層后,所有神經(jīng)元都規(guī)范化到了一種分布,但輸出限制在均值0方差1的分布又會使得網(wǎng)絡(luò)的表達能力變?nèi)?,也破壞了前面層學(xué)習(xí)到的特征,所以加入scale層,通過加入學(xué)習(xí)到的重構(gòu)參數(shù),逆轉(zhuǎn)對特征的破壞,逆轉(zhuǎn)的程序由模型訓(xùn)練時調(diào)整。這樣既將神經(jīng)元做了規(guī)范化又保留前面層所學(xué)到的特征,由于輸入變得穩(wěn)定,促進了模型的收斂并一定程度上阻止了過擬合。通過逐層尺度歸一,避免了梯度消失和梯度溢出,而且加速收斂,同時作為一種正則化技術(shù)也提高了泛化能力;相比使用sigmoidtanh作激活函數(shù),計算量大,反向傳播求誤差梯度時,求導(dǎo)計算量也很大,并且sigmoidtanh函數(shù)容易飽和,出現(xiàn)梯度消失情況,即在接近收斂時,變換太緩慢,造成信息丟失。relu層會使部分神經(jīng)元輸出為0,造成稀疏性,不僅緩解了過擬合,也更接近真實的神經(jīng)元激活模型克服了梯度消失,在沒有無監(jiān)督預(yù)訓(xùn)練(即訓(xùn)練網(wǎng)絡(luò)的第一個隱藏層,再訓(xùn)練第二個…最后用這些訓(xùn)練好的網(wǎng)絡(luò)參數(shù)值作為整體網(wǎng)絡(luò)參數(shù)的初始值)的情況下相比sigmoid和tanh激活函數(shù)顯著加快收斂。
步驟s173,第二個卷積層包括多個卷積核,第二個卷積層連接一個relu層和max-pooling層,特征圖像經(jīng)過第二個卷積層后得到與第二個卷積層的卷積核對應(yīng)數(shù)量的特征圖像,所述relu層使部分神經(jīng)元輸出為0,造成稀疏性,所述特征圖像經(jīng)過第二個max-pooling層后進而進入第三個卷積層。
第二個卷積層包括256個卷積核,每個卷積核的大小為5×5,卷積操作的步長為2,經(jīng)過第二個卷積層后得到256個像素為26×26的特征圖像,relu層使部分神經(jīng)元輸出為0,造成稀疏性,特征圖像經(jīng)過第二個max-pooling層后,得到256個像素為26×26的特征圖像,第二個max-pooling層的大小為3×3,步長為1,邊界填充為1。
步驟s174,第三個卷積層包括多個卷積核,第三個卷積層連接一個max-pooling層,特征圖像經(jīng)過第三個卷積層后得到與第三個卷積層的卷積核對應(yīng)數(shù)量的特征圖像,relu層使部分神經(jīng)元輸出為0,造成稀疏性,特征圖像經(jīng)過第三個max-pooling層后進而進入第四個卷積層。
第三個卷積層包括192個卷積核,每個卷積核的大小為3×3,邊界補充1,卷積操作的步長為1,經(jīng)過第三個卷積層后得到192個像素為26×26的特征圖像,經(jīng)過第三個max-pooling層后,得到192個像素為26×26的特征圖像,第三個max-pooling層的大小為3×3,步長為1,邊界填充為1。
步驟s175,第四個卷積層包括多個卷積核,第四個卷積層連接一個max-pooling層,隨后連接兩個全連接層,每個全連接層均依次連接一個relu層和dropout層,relu層使部分神經(jīng)元輸出為0,造成稀疏性,特征圖像經(jīng)過第四個卷積層后得到與第四個卷積層的卷積核對應(yīng)數(shù)量的特征圖像,經(jīng)過第四個maxpooling層后進而進入兩個全連接層以及與全連接層連接的relu層和dropout層。
第四個卷積層包括192個卷積核,每個卷積核的大小為3×3,邊界補充1,卷積操作的步長為1,經(jīng)過第四個卷積層后得到192個像素為26×26的特征圖像,經(jīng)過第四個max-pooling層后,得到192個像素為13×13的特征圖像,第四個max-pooling層的大小為3×3,步長為2。
步驟s176,dropout層通過訓(xùn)練時,隨機讓卷積神經(jīng)網(wǎng)絡(luò)某些隱含層節(jié)點的權(quán)重不工作,dropout層之后依次連接一個全連接層和softmaxwithloss層,最后一個全連接層輸出人臉圖像的得分情況,將得分輸入到最后一層softmaxwithloss層,得到屬于面具造假和真人的概率以及當(dāng)前迭代的損失。
dropout層消除減弱了神經(jīng)元節(jié)點間的聯(lián)合適應(yīng)性,增強了泛化能力,dropout層通過訓(xùn)練模型時,隨機讓網(wǎng)絡(luò)某些隱含層節(jié)點的權(quán)重不工作的方式防止模型過擬合,正則化手段,提高泛化能力。訓(xùn)練過程中,softmaxwithloss層包括softmax層和多維logisticloss層,softmax層將前面的得分情況映射為屬于每一類的概率,之后接一個多維logisticloss層,這里得到的是當(dāng)前迭代的損失。把softmax層和多維logisticloss層合并為一層保證了數(shù)值上的穩(wěn)定,兩個全連接層輸出為512維特征。
請參照圖3,是本發(fā)明實施例中訓(xùn)練過程中的卷積神經(jīng)網(wǎng)絡(luò)模型的示意圖。本發(fā)明實施例提供的面具造假卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法通過訓(xùn)練基于造假面具的卷積神經(jīng)網(wǎng)絡(luò),對造假面具進行學(xué)習(xí),為人臉識別時抵御面具造假攻擊提供保護,保護人臉識別的安全。
請參照圖4,本發(fā)明實施例還提供了一種基于面具造假的人臉活體檢測方法,該方法包括以下步驟:
步驟s210,獲取人臉圖像。
獲取的人臉圖像可以是通過門禁、電腦或者監(jiān)控器等設(shè)備的攝像頭獲取的人臉圖像。
步驟s220,通過人臉檢測算法檢測圖像中的人臉。
步驟s230,將人臉進行裁剪.
步驟s240,對裁剪后出人臉圖像進行歸一化處理。
步驟s250,將歸一化后的人臉圖像輸入至卷積神經(jīng)網(wǎng)絡(luò),卷積神經(jīng)網(wǎng)絡(luò)包括輸入層、多個卷積層、relu層、max-pooling層、全連接層、dropout層和softmax層。
步驟s260,對所述人臉圖像進行識別。
其中,步驟s260的識別過程依據(jù)上述實施例訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)進行,以得到人臉圖像真假的概率。由于在前述實施例中已經(jīng)對具體過程和原理作出陳述,此處不再贅述。
綜上所述,本發(fā)明實施例提供了一種面具造假卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法及人臉活體檢測方法,通過訓(xùn)練基于造假面具的卷積神經(jīng)網(wǎng)絡(luò),對造假面具進行學(xué)習(xí),為人臉識別時抵御面具造假攻擊提供保護,保護人臉識別的安全。
在本申請所提供的實施例中,應(yīng)該理解到,所揭露的方法,也可以通過其它的方式實現(xiàn)。以上所描述的實施例僅僅是示意性的,例如,附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的實施例的方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實現(xiàn)方式中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
另外,在本發(fā)明各個實施例中的各功能模塊可以集成在一起形成一個獨立的部分,也可以是各個模塊單獨存在,也可以兩個或兩個以上模塊集成形成一個獨立的部分。
所述功能如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:u盤、移動硬盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。應(yīng)注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步定義和解釋。