本發明涉及神經網絡、圖像處理領域,特別涉及一種人臉圖像質量評估系統以及實現方法。
背景技術:
人臉圖像質量可以在不同的層次上進行評估,有低等級的質量評估,比如對圖像全局特性如光照、對比度等的評估,也可以通過對人臉圖像匹配分數分析評估。關于哪些因素或者哪種圖像屬性會引起質量問題現在還沒有一個共識,對于質量評估算法,其最終目標是最大化跟匹配分數的相關性,因此,所有會影響匹配分數的應該都需要被考慮作為質量評估算法的輸入。對人臉圖像質量評估算法而言,輸入是一幅人臉圖像i,輸出是相應的質量分數q(i),質量分數可以是一個標量或者向量,例如,標量可以是最終的人臉質量分數q(i),向量可以是由各個方面的質量分數組成.人臉圖像質量分數必須能夠對匹配時的性能有一定的預測性,匹配分數表征了兩個人臉圖像i1、i2之間的相似性,它可能可以通過兩幅圖像的質量q(i1)和q(i2)來表征ms=p(i1,i2;q1,q2)。在現有技術中進行人臉圖像質量評估時的識別技術,一種方法是通過灰度直方圖、圖像色彩、邊緣檢測等傳統方法進行判別,但缺點在于:模型復雜,速度較慢,容易被極端情況誤導。
另一種方法:直接使用單個神經網絡判別,但缺點在于:預測結果受數據集影響嚴重,難以適應真實情況。
技術實現要素:
本發明要解決的技術問題是,提供具有靈活判斷模式、較快判別速度和穩健準確識別精度的人臉圖像質量評估系統。
解決上述技術問題,本發明提供了一種人臉圖像質量評估方法,包括如下步驟:
訓練得到帶有神經網絡的多類預測器,使用所述多類預測器提取得到人臉特征和人臉預測值,
分別將所述人臉特征和所述人臉預測值連接形成新的用于判斷人臉圖像質量的多維特征,
采用boosting算法將所述多維特征訓練得到預測評估分類器,
在所述預測評估分類器中采用分類器聯合投票方式,得到圖像質量預測值。
更進一步,在所述多類預測器中使用的人臉屬性類別包括:胡子、眉毛形狀、發型、模糊、濾鏡、光線、眼鏡、帽子、性別、表情、年齡的11種人臉屬性。
更進一步,所述神經網絡按照如下方法部署:四層卷基層和兩個全連接層,
第一層:首先將人臉圖像調整到預置的大小,作為神經網絡多類預測器的輸入,
第二層:輸入為第一層卷積,
第三層:輸入為第二層卷積,
第四層:輸入為第三層卷積,
第一個全連接層:輸入為第四層卷積,經過全連接運算,輸出為多維特征,
第二個全連接層:輸入為多維特征輸出,經過全連接運算,輸出為屬性預測值。
更進一步,所述神經網絡包括如下的前饋過程:
圖像經過上述相同的卷積神經網絡結構獲得特征圖,通過不同的全連接操作,輸出不同的屬性特征,屬性特征在通過全連接操作就可以輸出預測的屬性值:
其中,k表示神經網絡的卷積算法,k表示層數為s的卷積,xf表示經過卷積算法處理后的圖像特征圖,i是輸入的圖像,φ表示神經網絡算法的處理過程,通過第一層全連接層連接輸出屬性的屬性特征x,第二層全連接層獲得屬性預測值y’:
其中,
更進一步,所述神經網絡還包括如下的后饋過程:
預測的屬性值與實際的屬性標簽構造相關的代價函數:
其中,yi是真實屬性標簽,y′i是系統預測的人臉屬性標簽,n是一種屬性的類別數,m是所有屬性的個數,通過對上述參數進行更新參數進行更新,訓練至模型收斂。
更進一步,分別將所述人臉特征和所述人臉預測值連接形成新的用于判斷人臉圖像質量的多維特征的具體步驟如下:
x={x1,x2,,,x11},y’={y’1,y’2,,,y’11}
xboost={x1,x2,,,x11,y’1,y’2,,,y’11}={x,y’}
其中,x是各個屬性的特征向量連接形成,xi表示神經網絡提取的特征,y’是屬性的預測值連接形成,y’1表示輸出的屬性預測值,xboost作為boosting算法的輸入數據。
更進一步,所述預測評估分類器包括:boosting訓練過程,
7-1)訓練得到單層樹狀分類器,
7-2)通過樹狀分類器的錯誤率,設定分類器的權重
其中,ε是分類器的錯誤率,再根據分類器的權重a對每個訓練樣本的權重d進行更新,
7-3)按照更新的權重繼續訓練新的單層分類器,直到分類錯誤率ε為0,或者訓夠指定數目的分類器。
更進一步,所述預測評估分類器還包括:boosting預測過程,
將個結果按照樹狀分類器的權值加權相加,獲得一個最后的圖像質量分數。
更進一步,方法還包括:通過一圖像質量的測試集選定使用準確率最高的閾值,若超過閾值的判定為高質量,若低于閾值則判定為質量不過關。
基于上述本發明還提供了一種人臉圖像質量評估系統,包括:多類預測單元、特征融合單元、boosting單元,
所述多類預測單元,用以訓練得到帶有神經網絡的多類預測器,使用所述多類預測器提取得到人臉特征和人臉預測值,
所述特征融合單元,用以分別將所述人臉特征和所述人臉預測值連接形成新的用于判斷人臉圖像質量的多維特征,
所述boosting單元,用以采用boosting算法將所述多維特征訓練得到預測評估分類器,
以及,在所述預測評估分類器中采用分類器聯合投票方式,得到圖像質量預測值。
本發明的有益效果:
本發明中由于首先訓練能夠預測人臉性別,發型,模糊程度,姿勢等屬性的神經網絡分類器即多類預測器。然后使用多類預測器對現有人臉質量的訓練數據進行前饋預測,得到多類的輸出特征與多類屬性的預測結果,將輸出的人臉特征和預測結果連接形成新的用于判斷人臉質量的特征。再使用boosting分類器對人臉質量的訓練數據進行訓練,獲得人臉質量的預測評估分類器。采用本發明中的方法,相比與直接使用網絡較差的訓練效果,本發明的準確度更高。相比與難以適應多種情況傳統圖像處理方式,本發明魯棒性更好。
本發明通過訓練能夠預測多種屬性的神經網絡多類分類器,首先11種人臉屬性數據是具有確定標準和相應的標準數據庫,易于訓練。使用卷積神經網絡能夠充分將圖像的屬性特征學習出來,并且以特征的形式表現出來。
本發明通過將神經網絡特征和多類分類器預測值相結合,由于圖像特征是經過神經網絡的提取出來,對圖片具有一定表達意義的數組。圖片屬性預測值也是與質量相關的信息。將兩者連接起來作為分類器的輸入,能夠提升性能。
本發明通過深度學習結合boosting算法預測人臉質量,由于boosting在處理特征到屬性預測具有較好的性能,通過多分類器的融合相比于簡單的神經網絡全連接層,具有更好的魯棒性和準確率。
附圖說明
圖1是本發明一實施例中的方法流程示意圖;
圖2是本發明一實施例中的系統結構示意圖;
圖3是本發明中的多類預測器的示意圖;
圖4是本發明中通過boosting算法輸出人臉預測值的示意圖。
具體實施方式
現在將參考一些示例實施例描述本公開的原理。可以理解,這些實施例僅出于說明并且幫助本領域的技術人員理解和實施例本公開的目的而描述,而非建議對本公開的范圍的任何限制。在此描述的本公開的內容可以以下文描述的方式之外的各種方式實施。
如本文中所述,術語“包括”及其各種變體可以被理解為開放式術語,其意味著“包括但不限于”。術語“基于”可以被理解為“至少部分地基于”。術語“一個實施例”可以被理解為“至少一個實施例”。術語“另一實施例”可以被理解為“至少一個其它實施例”。
可以理解,在本申請中的所述特征具體是指:一組浮點數。
所述卷積神經網絡是一種深度學習算法,卷積神經網絡(convolutionalneuralnetwork,cnn)是一種前饋神經網絡,它的人工神經元可以響應一部分覆蓋范圍內的周圍單元,對于大型圖像處理有出色表現。它包括卷積層(alternatingconvolutionallayer)和池層(poolinglayer)。
所述boosting是一種用來提高弱分類算法準確度的方法,boosting算法是一種把若干個分類器整合為一個分類器的方法,在boosting算法產生之前,還出現過兩種比較重要的將多個分類器整合為一個分類器的方法,即boostrapping方法和bagging方法。
所述relu是神經網絡的一種激活方式。
所述lrn是神經網絡的一種歸一化方式。
所述樹狀分類器是一種弱分類器。
圖1是本發明一實施例中的方法流程示意圖,本實施例中的一種人臉圖像質量評估方法,包括如下步驟:
步驟s100訓練得到帶有神經網絡的多類預測器,使用所述多類預測器提取得到人臉特征和人臉預測值,
步驟s101分別將所述人臉特征和所述人臉預測值連接形成新的用于判斷人臉圖像質量的多維特征,
步驟s102采用boosting算法將所述多維特征訓練得到預測評估分類器,
步驟s103在所述預測評估分類器中采用分類器聯合投票方式,得到圖像質量預測值。
在所述步驟s100中,本實施例通過訓練能夠預測多種屬性的神經網絡多類分類器,首先11種人臉屬性數據是具有確定標準和相應的標準數據庫,易于訓練。使用卷積神經網絡能夠充分將圖像的屬性特征學習出來,并且以特征的形式表現出來。
在所述步驟s101中,本實施例通過將神經網絡特征和多類分類器預測值相結合,由于圖像特征是經過神經網絡的提取出來,對圖片具有一定表達意義的數組。圖片屬性預測值也是與質量相關的信息。將兩者連接起來作為分類器的輸入,能夠提升性能。
在所述步驟s103中,本實施例通過深度學習結合boosting算法預測人臉質量,由于boosting在處理特征到屬性預測具有較好的性能,通過多分類器的融合相比于簡單的神經網絡全連接層,具有更好的魯棒性和準確率。
作為本實施例中的優選,在所述多類預測器中使用的人臉屬性類別包括:胡子、眉毛形狀、發型、模糊、濾鏡、光線、眼鏡、帽子、性別、表情、年齡的11種人臉屬性。
在所述步驟s100中,通過訓練神經網絡構成的多類預測器,主要分為前饋過程和后饋更新模型兩個部分。其中,使用的人臉屬性類別包括:胡子、眉毛類型、發型、模糊、濾鏡、光線、眼鏡、帽子、性別、表情、年齡共11種人臉屬性。
前饋部分包括:首先將人臉圖像調整到128*128的大小,作為神經網絡多類預測器的輸入,不同數據集圖像ii,經過相同的神經網絡結構φ,獲得特征圖,通過不同的全連接操作,輸出不同的屬性特征,屬性特征在通過全連接操作就可以輸出預測的屬性值。
后饋過程包括:通過梯度下降算法對系統的參數進行更新參數進行更新,訓練至模型收斂之后就可以使用訓練好的模型進行特征提取和屬性預測。
在所述步驟s101中,主要包括了特征融合過程,使用多類預測器的前饋過程提取人臉質量數據集的人臉特征和人臉預測值。每種屬性可以提供一個128維的屬性特征xi和n維的屬性預測值y’1,將他們各自級聯頭尾相互連接構成特征向量集合與預測值集合,再將這兩個集合級聯構成1419維的特征。
在所述步驟s102、步驟s103中采用boosting算法通過不斷的特征挖掘和分析能夠有效的增強預測的準確度。計算量低,效果好,訓練速度快,可以有效地針對有限的人臉圖像質量數據進行學習。
boosting也分訓練和判決兩個部分
訓練部分:輸入人臉質量的特征xboost。按照貪心算法訓練單層的屬性分類器,獲得目前分類效果最好的維數和相關閾值。并且通過當前的分類準確度計算當前分類器的權重和并且增加判斷錯誤訓練樣本的權值,減少判斷正確樣本的權重。使用更新之后的權重繼續訓練新的分類器。直到在錯誤率為0或者達到指定分類器
判決部分:采用分類器聯合投票的方式,分類器的判決結果結合他自身的權重,最終給出圖像的最終質量得分。
作為本實施例中的優選,所述神經網絡按照如下方法部署:四層卷基層和兩個全連接層,
第一層:首先將人臉圖像調整到預置的大小,作為神經網絡多類預測器的輸入,
第二層:輸入為第一層卷積,
第三層:輸入為第二層卷積,
第四層:輸入為第三層卷積,
第一個全連接層:輸入為第四層卷積,經過全連接運算,輸出為多維特征,
第二個全連接層:輸入為多維特征輸出,經過全連接運算,輸出為屬性預測值。
如圖3所示,具體地,通過設計一個四層卷積接兩個全連接層的的神經網絡:
第一層:首先將人臉圖像調整到128*128的大小,作為神經網絡多類預測器的輸入。滑動窗大小為5*5,滑動間隔為1的卷積,經過relu激活函數和采樣窗為2*2,采樣間隔為2,采樣方式為最大值采樣的下采樣窗并將輸出值進行歸一化。
第二層:輸入為第一層卷積,滑動窗大小為3*3,滑動間隔為1的卷積,經過relu激活函數和采樣窗為2*2,采樣間隔為2,采樣方式為最大值采樣的的下采樣窗,并將輸出值進行歸一化。
第三層:輸入為第二層卷積,滑動窗大小為3*3,滑動間隔為1的卷積,經過relu激活函數和采樣窗為2*2,采樣間隔為2,采樣方式為最大值采樣的的下采樣窗,不做歸一化輸出
第四層:輸入為第三層卷積,滑動窗大小為3*3,滑動間隔為1的卷積,經過relu激活函數和采樣窗為2*2,采樣間隔為2,采樣方式為平均值采樣的的下采樣窗,不做歸一化輸出。
第一個全連接層:輸入為第四層卷積,經過全連接運算,輸出為128維特征。
第二個全連接層:輸入為128維輸出,經過全連接運算,輸出為屬性預測值。
作為本實施例中的優選,所述神經網絡包括如下的前饋過程:
圖像經過上述相同的卷積神經網絡結構獲得特征圖,通過不同的全連接操作,輸出不同的屬性特征,屬性特征在通過全連接操作就可以輸出預測的屬性值:
其中,k表示神經網絡的卷積算法,k表示層數為s的卷積,xf表示經過卷積算法處理后的圖像特征圖,i是輸入的圖像,φ表示神經網絡算法的處理過程,通過第一層全連接層連接輸出屬性的屬性特征x,第二層全連接層獲得屬性預測值y’:
作為本實施例中的優選,所述神經網絡還包括如下的后饋過程:
預測的屬性值與實際的屬性標簽構造相關的代價函數:
其中,yi是真實屬性標簽,y′i是系統預測的人臉屬性標簽,n是一種屬性的類別數,m是所有屬性的個數,通過對上述參數進行更新參數進行更新,訓練至模型收斂。
具體地,上述過程包括的前饋過程如下:
四層卷積神經網絡結構簡稱φ,圖像經過相同的卷積神經網絡結構獲得特征圖,通過不同的全連接操作,輸出不同的屬性特征,屬性特征在通過全連接操作就可以輸出預測的屬性值。神經網絡的卷積算法不是本專利的發明和重點,將其用k表示,k表示層數為s的卷積,xf表示經過卷積算法處理后的圖像特征圖,i是輸入的圖像,φ表示神經網絡算法的處理過程。
如公式表示:
通過第一層全連接層連接輸出屬性的屬性特征x,第二層全連接層獲得屬性預測值y’:
其中,
后饋過程:
在獲得系統前饋的輸出預測屬性值之后,就可以構造系統代價函數,預測的屬性值與實際的屬性標簽構造相關的代價函數:
其中yi是真實屬性標簽,y′i是系統預測的人臉屬性標簽,n是一種屬性的類別數(如說性別屬性的個數就是2,男女)。m是所有屬性的個數。
通過梯度下降算法對系統的參數進行更新參數進行更新,訓練至模型收斂之后就可以使用訓練好的模型進行特征提取和屬性預測。
作為本實施例中的優選,分別將所述人臉特征和所述人臉預測值連接形成新的用于判斷人臉圖像質量的多維特征的具體步驟如下:
x={x1,x2,,,x11},y’={y’1,y’2,,,y’11}
xboost={x1,x2,,,x11,y’1,y’2,,,y’11}={x,y’}
其中,x是各個屬性的特征向量連接形成,xi表示神經網絡提取的特征,y’是屬性的預測值連接形成,y’1表示輸出的屬性預測值,xboost作為boosting算法的輸入數據。
具體地,上述特征融合過程為:
在訓練好多類預測器后,應當提取人臉質量數據集的人臉特征和人臉預測值,也就是使用多類預測器的前饋過程。再將獲取的特征和預測值做如下操作:
x={x1,x2,,,x11},y’={y’1,y’2,,,y’11}
xboost={x1,x2,,,x11,y’1,y’2,,,y’11}={x,y’}
x:是各個屬性的特征向量連接形成的,xi表示神經網絡提取的特征,y’:是屬性的預測值連接形成,y’1表示輸出的屬性預測值,xboost作為boosting算法的輸入數據。
每種屬性可以提供一個128維的屬性特征xi和n維的屬性預測值y’1,將他們各自級聯頭尾相互連接構成特征向量集合x與預測值集合y’,再將x與y’級聯構成1419維的特征。
作為本實施例中的優選,所述預測評估分類器包括:boosting訓練過程,
7-1)訓練得到單層樹狀分類器,
7-2)通過樹狀分類器的錯誤率,設定分類器的權重
其中,ε是分類器的錯誤率,再根據分類器的權重α對每個訓練樣本的權重d進行更新,
7-3)按照更新的權重繼續訓練新的單層分類器,直到分類錯誤率ε為0,或者訓夠指定數目的分類器。
作為本實施例中的優選,所述預測評估分類器還包括:boosting預測過程,
將個結果按照樹狀分類器的權值加權相加,獲得一個最后的圖像質量分數。
作為本實施例中的優選,方法還包括:通過一圖像質量的測試集選定使用準確率最高的閾值,若超過閾值的判定為高質量,若低于閾值則判定為質量不過關。
請參考圖4,是boosting人臉質量預測器的具體流程。
經過boosting算法會輸出人臉質量的預測值。
boosting(訓練過程):
訓練100個弱分類器,采用單層樹狀弱分類器。
訓練數據共有15299個樣本,每個樣本經過前一層神經網絡輸出1419維特征,每個訓練樣本的權重(d)為1/n.
第一步:首先選出1419維特征每一維特征的最大值max和最小值min,在每一維特征中,閾值從min每次增長(max-min)/100,一直增長到max。在這個過程中,選出對于訓練數據分類效果最好的對應維度和閾值,從而可以獲得一個針對其中某一維的單層樹狀分類器。
分類效果通過分類錯誤樣本的權重相加大小判定,越小越好。
第二步:通過分類器的錯誤率,設定分類器的權重a,
其中ε是分類器的錯誤率,再根據分類器的權重a對每個訓練樣本的權重d進行更新,
分類樣本如果被正確分類則減少權重,被錯誤分類則增加權值。
第三步:按照更新的權重繼續訓練新的單層分類器,直到分類錯誤率ε為0,或者訓夠指定數目的分類器
boosting(預測過程):
預測過程將一張圖片的1419維特征通過100個弱分類器,獲得100個結果,再將100個結果按照分類器的權值加權相加。獲得一個最后的圖像質量分數。通過圖片質量的測試集,選定使準確率最高的閾值,超過閾值的判定為高質量。低于閾值的就可以判定為質量不過關。在不同環境下可以靈活調整閾值
請參考圖2是本發明一實施例中的系統結構示意圖,本實施例中的一種人臉圖像質量評估系統,包括:多類預測單元1、特征融合單元2、boosting單元3,
所述多類預測單元1,用以訓練得到帶有神經網絡的多類預測器,使用所述多類預測器提取得到人臉特征和人臉預測值,本實施例中的多類預測單元1,通過訓練能夠預測多種屬性的神經網絡多類分類器,首先11種人臉屬性數據是具有確定標準和相應的標準數據庫,易于訓練。使用卷積神經網絡能夠充分將圖像的屬性特征學習出來,并且以特征的形式表現出來。
所述特征融合單元2,用以分別將所述人臉特征和所述人臉預測值連接形成新的用于判斷人臉圖像質量的多維特征,本實施例中的特征融合單元2,通過將神經網絡特征和多類分類器預測值相結合,由于圖像特征是經過神經網絡的提取出來,對圖片具有一定表達意義的數組。圖片屬性預測值也是與質量相關的信息。將兩者連接起來作為分類器的輸入,能夠提升性能。
所述boosting單元3,用以采用boosting算法將所述多維特征訓練得到預測評估分類器,以及,在所述預測評估分類器中采用分類器聯合投票方式,得到圖像質量預測值。本實施例中的boosting單元3,通過深度學習結合boosting算法預測人臉質量,由于boosting在處理特征到屬性預測具有較好的性能,通過多分類器的融合相比于簡單的神經網絡全連接層,具有更好的魯棒性和準確率。
應當理解,本發明的各部分可以用硬件、軟件、固件或它們的組合來實現。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執行系統執行的軟件或固件來實現。例如,如果用硬件來實現,和在另一實施方式中一樣,可用本領域公知的下列技術中的任一項或他們的組合來實現:具有用于對數據信號實現邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(pga),現場可編程門陣列(fpga)等。
在本說明書的描述中,參考術語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結合該實施例或示例描述的具體特征、結構、材料或者特點包含于本發明的至少一個實施例或示例中。在本說明書中,對上述術語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結構、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結合。
總體而言,本公開的各種實施例可以以硬件或專用電路、軟件、邏輯或其任意組合實施。一些方面可以以硬件實施,而其它一些方面可以以固件或軟件實施,該固件或軟件可以由控制器、微處理器或其它計算設備執行。雖然本公開的各種方面被示出和描述為框圖、流程圖或使用其它一些繪圖表示,但是可以理解本文描述的框、設備、系統、技術或方法可以以非限制性的方式以硬件、軟件、固件、專用電路或邏輯、通用硬件或控制器或其它計算設備或其一些組合實施。
此外,雖然操作以特定順序描述,但是這不應被理解為要求這類操作以所示的順序執行或是以順序序列執行,或是要求所有所示的操作被執行以實現期望結果。在一些情形下,多任務或并行處理可以是有利的。類似地,雖然若干具體實現方式的細節在上面的討論中被包含,但是這些不應被解釋為對本公開的范圍的任何限制,而是特征的描述僅是針對具體實施例。在分離的一些實施例中描述的某些特征也可以在單個實施例中組合地執行。相反對,在單個實施例中描述的各種特征也可以在多個實施例中分離地實施或是以任何合適的子組合的方式實施。