臉處于關(guān)聯(lián)信息中,有利于視覺上 的聚焦。
[0062] 該人臉識(shí)別單元312可以是本領(lǐng)域公知的人臉識(shí)別和檢測裝置,例如基于傳統(tǒng)機(jī) 器學(xué)習(xí)的人臉識(shí)別裝置,或者基于深度學(xué)習(xí)的人臉識(shí)別裝置。
[0063] 參見附圖2所示,在一個(gè)優(yōu)選的實(shí)施例中,該人臉識(shí)別單元312是一個(gè)基于深度學(xué) 習(xí)和多任務(wù)學(xué)習(xí)的人臉識(shí)別單元。該單元具體包括:
[0064] 1)收集標(biāo)注單元3120a,用于收集人臉圖片并標(biāo)注對應(yīng)的多個(gè)屬性的類別,形成 一個(gè)訓(xùn)練數(shù)據(jù)集合。
[0065] 人臉屬性的類別由局部屬性和全局屬性組成。局部屬性包括但不限于頭發(fā)顏色, 頭發(fā)長短,眉毛長短,眉毛濃密或者稀疏,眼睛大小,眼睛睜開或者閉著,鼻梁高低,嘴巴大 小,嘴巴張開或者閉著,是否佩戴眼鏡,是否佩戴墨鏡,是否戴口罩等。全局屬性包括但不 限于人種,性別,年齡,顏值,表情等。
[0066] 針對收集的人臉圖片,人工標(biāo)注其對應(yīng)的屬性,并根據(jù)屬性對應(yīng)的類別形成一個(gè) 訓(xùn)練數(shù)據(jù)集合。
[0067] 2)檢測對齊單元3121a,用于檢測人臉,以及人臉關(guān)鍵點(diǎn),通過多個(gè)關(guān)鍵點(diǎn)對齊人 臉。
[0068] 所述人臉關(guān)鍵點(diǎn)包括眼角、眉毛的末端、嘴角、鼻尖等位置信息。
[0069] 利用AdaBoost分類器(自適應(yīng)增強(qiáng)分類器)或者傳統(tǒng)深度學(xué)習(xí)的人臉檢測算法 檢測人臉。不同人臉照片,具有不同的姿態(tài)。每張人臉首先檢測其關(guān)鍵點(diǎn),根據(jù)其關(guān)鍵點(diǎn), 計(jì)算一個(gè)該人臉到標(biāo)準(zhǔn)人臉的仿射或者相似變換,把該人臉與標(biāo)準(zhǔn)人臉對齊。
[0070] 3)編碼單元3122a,用于對類別中具有順序的屬性進(jìn)行編碼。
[0071] 以年齡屬性舉例說明編碼方式,對于年齡a,其編碼為以下幾種形式之一或者其 組合。
[0072] (1)編碼為xlx2···xi···,其中xi為二值的數(shù)值,如果i小于等于a,則xi為1,如 果i大于a,則xi為0。
[0073] (2)編碼為xlx2···xi···,其中xi為二值的數(shù)值,如果i等于a除以k,則xi為1, 否則,xi為0。其中k可以為任何正整數(shù),可以人工定義或者隨機(jī)選取。
[0074] 該編碼方式可用于任何一屬性,以具有順序的屬性為佳。
[0075] 4)神經(jīng)網(wǎng)絡(luò)構(gòu)造單元3123a,用于構(gòu)造一個(gè)深度神經(jīng)網(wǎng)絡(luò),其前端可以是任何多 個(gè)卷積層(convolutionallayer),池化層(poolinglayer)和非線性層(non-linear layer)的組合,其后端是softmax,crossentropy等損耗層。
[0076] 該深度神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如附圖5所示。
[0077] A為輸入層,該層主要讀入人臉圖片,屬性類別及屬性類別的編碼,該層通過對人 臉圖片進(jìn)行預(yù)處理,輸出對齊的人臉圖片,屬性類別或者其編碼。A層輸入層將經(jīng)過預(yù)處理 的人臉圖片輸出到B層卷積層。同時(shí)A層輸入層將經(jīng)過預(yù)處理的屬性類別和/或其編碼輸 入到G層損耗層。
[0078] B層為卷積層,其輸入是經(jīng)過預(yù)處理的圖像或者圖像特征,通過一線性變換輸出新 的特征。其輸出的特征為C非線性層的輸入。
[0079] C層為非線性層,其通過非線性函數(shù),對輸入的特征進(jìn)行非線性的變換,使得其輸 出的特征有較強(qiáng)的表達(dá)能力。非線性層C的輸出特征為池化層D的輸入。
[0080] D為池化層(Poolinglayer),池化層可以將多個(gè)數(shù)值映射到一個(gè)數(shù)值。該層不 但可以進(jìn)一步加強(qiáng)學(xué)習(xí)到的特征的非線性,而且可以使得輸出的特征的空間大?。╯patial size)變小,而從增強(qiáng)學(xué)習(xí)的特征的平移不變性,即人臉平移,提取的特征保持不變。池化 層D的輸出特征可以再次作為為卷積層B的輸入或者全連接層E的輸入。
[0081] 如附圖5所示,B,C,D層外面的大框表示B,C,D層可以重復(fù)一次或者多次,即卷積 層B,非線性層C和池化層D組合可以重復(fù)一次或多次,每一次池化層的輸出可以作為卷積 層B的再次輸入。B,C,D三層的多次組合,可以更好的處理輸入的圖片,使其特征具有最佳 的表達(dá)能力。
[0082] E為全連接層,它對其輸入做一個(gè)線性變換,把學(xué)習(xí)得到的特征投影到一個(gè)更好的 子空間以利于屬性預(yù)測。全連接層E的輸出特征做為非線性層F的輸入。
[0083] F為非線性層,與非線性層C的功能一樣,對輸入的特征進(jìn)行非線性變換。其輸入 特征可以為損耗層G的輸入或者全連接層E的輸入。
[0084] 如附圖5所示,全連接層E和非線性層F外面的大框,表示層E和層F可以重復(fù)一 次或者多次。
[0085] G為一個(gè)或者多個(gè)損耗層,負(fù)責(zé)計(jì)算預(yù)測的屬性類別或者其編碼與輸入的屬性類 別或者其編碼的誤差。
[0086] 總體而言,輸入層A負(fù)責(zé)簡單處理輸入。卷積層B,非線性層C和池化層D的組合 負(fù)責(zé)圖片的特征提取。全連接層E和非線性層F是特征到屬性類別或者其編碼的映射。損 耗層G負(fù)責(zé)計(jì)算預(yù)測誤差。通過上述深度神經(jīng)網(wǎng)絡(luò)的多層設(shè)計(jì)保證提取的特征具有豐富的 表達(dá)能力,而從更好的預(yù)測屬性。同時(shí),多個(gè)屬性類別和編碼同時(shí)連接損耗層G,確保多個(gè)任 務(wù)同時(shí)學(xué)習(xí),共享深度網(wǎng)絡(luò)學(xué)到的特征。
[0087] 5)神經(jīng)網(wǎng)絡(luò)訓(xùn)練單元3124a,用于通過收集標(biāo)注單元中形成的訓(xùn)練數(shù)據(jù)集合,訓(xùn) 練神經(jīng)網(wǎng)絡(luò)構(gòu)造單元中的深度神經(jīng)網(wǎng)絡(luò),并部署訓(xùn)練得到的神經(jīng)網(wǎng)絡(luò)模型。
[0088] 通過向后傳遞的梯度下降的算法,訓(xùn)練得到神經(jīng)網(wǎng)絡(luò)構(gòu)造單元中的深度網(wǎng)絡(luò)參 數(shù)。替換輸入層A使得其只輸入圖片;替換損耗層G,使得其只輸入特征和人臉屬性。從而 得到一個(gè)輸入人臉圖片,同時(shí)輸出人臉多個(gè)屬性的深度神經(jīng)網(wǎng)絡(luò)模型。
[0089] 6)人臉屬性識(shí)別單元3125a,用于通過神經(jīng)網(wǎng)絡(luò)訓(xùn)練單元中的神經(jīng)網(wǎng)絡(luò)模型,識(shí) 別圖片中的人臉信息及其屬性值。
[0090] 參見附圖4所示,在另一個(gè)優(yōu)選實(shí)施例中,該人臉識(shí)別單元312是一種嵌入式系統(tǒng) 中基于DSP的人臉識(shí)別單元,該單元具體包括:
[0091] 計(jì)算單元3121b,用于計(jì)算金字塔特征層數(shù)和縮放比例,具體的根據(jù)欲識(shí)別圖像尺 寸以及基于人臉模型訓(xùn)練得到的縮放最小寬高參數(shù),計(jì)算金字塔特征層數(shù)11_ 8(^1^以及 縮放比例S,所述縮放比例需確??s放區(qū)域的面積最大化;
[0092] 優(yōu)選的,金字塔特征層數(shù)n_scales的計(jì)算公式為:
[0093] n_scales=numX(log(ratio)/log(2. 0)+1)
[0094] 式中:num指基于人臉模型訓(xùn)練得到的金字塔特征層數(shù),主要用于根據(jù)圖像大小 進(jìn)行圖像縮放次數(shù)的確定,即一個(gè)確定金字塔特征層數(shù)的變量;其中:
[0095] ratio=min(w/min_w,h/min_h)
[0096] 式中:min_w指所述人臉模型里最小圖像寬度,min_h指所述人臉模型中最小圖像 高度;w指:欲識(shí)別圖像的寬度,h指:欲識(shí)別圖像的高度。
[0097] 提取單元3122b,用于提取金字塔特征層的人臉分類所依據(jù)的特征數(shù)據(jù):將金字 塔特征層劃分為完全提取層和近似提取層,分別進(jìn)行完全提取和近似提取,得到每一層人 臉分類所依據(jù)的特征數(shù)據(jù);
[0098] 所述完全提取是基于當(dāng)前得到的縮放比例,從欲識(shí)別圖像中獲取縮放后的圖像, 并以獲取的縮放圖像為輸入,根據(jù)人臉模型計(jì)算人臉分類所依據(jù)的特征數(shù)據(jù);
[0099] 所述近似提取是縮放從完全提取層得到的人臉分類所依據(jù)的特征數(shù)據(jù);
[0100] 優(yōu)選的,所述完全提取包括:
[0101] S201 :基于前一步計(jì)算得到的縮放系數(shù),從欲識(shí)別圖像中獲取縮放后的圖像;
[0102] S202 :以S201得到圖像為輸入,根據(jù)人臉模型計(jì)算人臉分類所依據(jù)的特征數(shù)據(jù)。
[0103] 不論完全提取采用什么方式,所述近似提取均是在完全提取的結(jié)果基礎(chǔ)上進(jìn)行進(jìn) 一步地操作。
[0104] 在一個(gè)優(yōu)選的實(shí)施例中,提供了一種近似提取的操作方式:S卩:所述近似提取在 完全提取層的基礎(chǔ)上,計(jì)算λ層的近似提取數(shù)據(jù),即若完全提取層在第N層,則近似提取是 計(jì)算Ν+1~Ν+λ層上的近似提取數(shù)據(jù);其中,λ為人臉模型的加速比參數(shù),是將金字塔層 數(shù)分為完全提取層和近似提取層兩大類的劃分標(biāo)準(zhǔn)。所述近似提取的目的為加速整個(gè)金字 塔特征數(shù)據(jù)的提取過程,降低總的數(shù)據(jù)運(yùn)算量。
[0105] 更進(jìn)一步地,所述縮放比例S的計(jì)算公式為:
[0106] S=(Sa/Sr)-0j
[0107] 式中:Sa、&分別為近似提取層、從完全提取層得到的相對于原始圖像尺寸的縮放 比例;h為第j種用于人臉分類所依據(jù)的特征類型參數(shù),β.,的值與具體的人臉分類所依 據(jù)的特征數(shù)據(jù)的類型有關(guān)。
[0108] 在上述完全提取和近似提取中都提及了人臉分類所依據(jù)的特征數(shù)據(jù),該數(shù)據(jù)的內(nèi) 容為:所述人臉分類所依據(jù)的特征數(shù)據(jù)包括顏色通道、梯度幅值以及梯度直方圖中的一種 或多種組合。
[0109] 在完全提取中,可以選取任意幾個(gè)上述三種特征值進(jìn)行計(jì)算,即可選1~3種計(jì) 算。選取的越多,則檢測結(jié)果越精確。比如,在一個(gè)實(shí)施例中,選取人臉分類所依據(jù)的特 征包括顏色通道、梯度幅值以及梯度直方圖,則h作為人臉模型的參數(shù),j的取值范圍為 0, 1,2。若計(jì)算選擇計(jì)算顏色通道和梯度幅值,則取0, 1 ;若全選則取0, 1,2。然而在計(jì)算 中,近似提取的計(jì)算個(gè)數(shù)需要與完全提取保持一致。至于在計(jì)算中,選取具體特征類型和特 征個(gè)數(shù)的原則是基于檢測精度與檢測時(shí)間的權(quán)衡,這兩者成反比。
[0110] 分類單元3123b,分類金字塔特征層的人臉分類所依據(jù)的特征數(shù)據(jù):對每一層的 金字塔特征數(shù)據(jù)應(yīng)用分類算法進(jìn)行分類;所述金字塔特征數(shù)據(jù)包括完全提取層數(shù)據(jù)和近似 提取層數(shù)據(jù);
[0111] 在一個(gè)優(yōu)選的實(shí)施方式中,所述分類基于決策樹的AdaBoost分類算法,通過五層 的滿二叉樹結(jié)構(gòu)實(shí)現(xiàn)滑動(dòng)窗的人臉模型匹配,得到滿足閾值條件的匹配結(jié)果。
[0112] 這里的層數(shù)是根據(jù)訓(xùn)練模型結(jié)果確定的最優(yōu)解;用于匹配的人臉模型是已經(jīng)訓(xùn)練 好的模型。所述匹配結(jié)果可以用分?jǐn)?shù)來體現(xiàn),比如所述二叉樹中每個(gè)節(jié)點(diǎn)都有相應(yīng)的分?jǐn)?shù), 當(dāng)欲檢測圖像與某個(gè)節(jié)點(diǎn)匹配到了,則該欲檢測圖像的分?jǐn)?shù)增加該節(jié)點(diǎn)上的分?jǐn)?shù),匹配不 到則分?jǐn)?shù)不變。當(dāng)與每個(gè)節(jié)點(diǎn)都匹配完之后,通過最后得分的高低來表示匹配度的高低。其 中,每個(gè)節(jié)點(diǎn)的分?jǐn)?shù)可以事先人為指定,但優(yōu)選的方式是通過建立相應(yīng)模型來訓(xùn)練得到。
[0113] 進(jìn)一步地,所述二叉樹中每個(gè)節(jié)點(diǎn)的分?jǐn)?shù)由訓(xùn)練得到。
[0114] 進(jìn)一步優(yōu)選的,匹配結(jié)果以打分形式出現(xiàn),并且在合并分類提取之前,先對窗口位 置、得分、面積信息進(jìn)行取舍判斷。即:在人臉識(shí)別結(jié)果單元3124進(jìn)行合并每層的分類結(jié)之 前,還包括對每層的分類結(jié)果按照窗口位置、得分、面積信息進(jìn)行取舍判斷,即:如果窗口位 置、得分、面積信息的值低于人臉的判斷閾值,則舍去;其中:所述合并包括:人臉在同一個(gè) 位置則進(jìn)行合并;所述閾值包括人臉模型中設(shè)置的參數(shù)。通過這個(gè)裝置實(shí)施例中的處理,得 到最終的人臉信息及其屬性值R。R的表征方式為:
[0115] R= {η,[(X,y), (w,h),angle,score] [···]}其中,η為檢測到的人臉數(shù)量,后續(xù)[] 中內(nèi)容代表每一個(gè)檢測到的人臉信息,包括相對于圖像左上角頂點(diǎn)的坐標(biāo)位置(X,y),人臉 所在區(qū)域面積對應(yīng)的寬和高(W,h),人臉角度angle以及檢測打分結(jié)果score。
[0116] 人臉識(shí)別結(jié)果單元3124b:合并分類提取數(shù)據(jù)單元中每層的分類結(jié)果,得到人臉 信息及其屬性值。
[0117] 該人臉信息及其屬性值包括人臉信息,人臉關(guān)鍵點(diǎn)信息以及人臉屬性值。該人臉 識(shí)別單元312通過在快速多尺度金字塔特征數(shù)據(jù)提取的基礎(chǔ)上進(jìn)行結(jié)果分類,在保障檢測 準(zhǔn)確度的前提下能夠有效提高運(yùn)算速度。在計(jì)算單元3121b中,為讓每一層縮放后的圖像 更平滑,在計(jì)算縮放系數(shù)時(shí)需要進(jìn)行微調(diào)使得各縮放圖像尺寸之間平滑變化,并確保待縮 放區(qū)域的最大化。在提取單元3122b中,為加速特