本發(fā)明涉及人工智能技術領域,特別地,涉及一種基于深度卷積網絡的人物親緣關系識別方法與裝置。
背景技術:
針對人臉圖像的研究一直是計算機視覺領域十分重要的內容。人臉圖像的研究之所以重要,是因為人臉表達了諸多個人信息,在社會生活的中有著特殊作用。在人工智能領域,模仿人類視覺完成對人臉的認知已經取得了豐碩的成果。如今在人臉識別、身份認證等多個方面,計算機視覺已經可以成功的替代人類。通過人臉圖像識別人物的親緣關系仍是新穎而富有挑戰(zhàn)的工作。
從人臉圖像中研究人物關系是近幾年興起的課題,近年來,相關的幾個數據庫和算法相繼被提出,然而大多數現有的數據庫都規(guī)模過小且標準不一。2014年召開了第一屆的親緣關系識別大賽,以統一的衡量體系來評估現下的一些方法,建立了兩個關于親緣關系的數據庫kinfacew-i和kinfacew-ii。
過去的五年在心理學、生物學和計算機視覺領域里,關于基于人臉圖像的人物關系識別主要分為兩個流派,一種是基于人工設計的描述子,另一種是基于相似性學習。對于基于描述子的方法來說,人們提取了一些重要的特征例如膚色、梯度直方圖、gabor梯度方向金字塔、顯著性信息、自相似特征和動態(tài)表情等作為常用的人臉表征,還提出了一種基于空間金字塔的特征描述子作為人臉圖像的特征,改進了的支撐向量機用以將兩個個體間的特征距離予以分類;在基于相似性學習的方法中,子空間和度量學習被用作來學習更好的特征空間來衡量面部樣本的相似性。具有代表性的算法包括:子空間學習和鄰近空間度量學習,將多特征融合,學習一種區(qū)分性度量用以擴大非親關系距離,縮小親緣關系距離,以達到識別目的。
然而,當機器視覺試圖模擬人類視覺時,往往難以模仿人類的社會經驗,現如今的人工智能用以補足這個缺點的方式是大量的人工標注數據,以充分的訓練來構造更魯棒的模式識別算法。人物間的關系識別難度較普通人臉識別大上許多,比較對象從一種容貌和對應的一個身份到一對人臉和某種關系,這種關系是經過人類設定的。而當一個人只擁有一個身份的同時,關系與人物對、人物之間可以是多對多的復雜關系。
針對現有技術只能進行人臉識別、無法進行人物間關系識別的問題,目前尚未有有效的解決方案。
技術實現要素:
有鑒于此,本發(fā)明的目的在于提出一種基于深度卷積網絡的人物親緣關系識別方法與裝置,能夠進行人物間的親緣關系識別。
基于上述目的,本發(fā)明提供的技術方案如下:
根據本發(fā)明的一個方面,提供了一種基于深度卷積網絡的人物親緣關系識別方法,包括:
輸入人臉圖像并進行預處理;
構建卷積神經網絡并設置卷積核;
使用卷積核在卷積神經網絡中對人臉圖像反復進行卷積與池化操作;
對卷積與池化操作后的圖像進行回歸獲得身份特征;
提取身份特征之間的關聯特征;
根據關聯特征識別人臉圖像之間的親緣關系。
在一些實施方式中,所述輸入人臉圖像并進行預處理包括:
輸入待識別的人臉圖像;
對人臉圖像進行人臉檢測與旋轉校正;
將人臉圖像剪切為指定尺寸的樣本。
在一些實施方式中,所述構建卷積神經網絡并設置卷積核包括:
根據逐層貪婪算法訓練網絡初始值;
根據反向傳播算法調整網絡參數;
根據局部感知方法與權值共享方法設置多個卷積核。
在一些實施方式中,所述根據逐層貪婪算法訓練網絡初始值包括:
分層訓練卷積神經網絡各層參數;
將以前每一層訓練好的輸出作為后一層的輸入;
根據訓練好的網絡各層參數確定網絡初始值。
在一些實施方式中,所述根據反向傳播算法調整網絡參數包括:
根據數據集樣本在神經網絡中前向傳播的結果確定代價函數;
根據代價函數確定神經網絡中每層每個神經元的殘差;
根據每層每個神經元的殘差計算代價函數對每層每個神經元參數的偏導;
根據代價函數對每層每個神經元參數的偏導、網絡學習速率調整網絡參數。
在一些實施方式中,所述根據局部感知方法設置多個卷積核為:設置多個卷積核,其中每個卷積核均與人臉圖像中指定大小的局部而非整體進行卷積操作;所述根據權值共享方法設置多個卷積核為:設置多個卷積核,其中每個卷積核至指定范圍內的局部進行采樣,而將未采樣的部分視為與采樣的部分具有相同的特征。
在一些實施方式中,所述使用卷積核在卷積神經網絡中對人臉圖像反復進行卷積與池化操作包括:
使用卷積核在卷積神經網絡中對人臉圖像進行卷積,生成特征圖;
對特征圖進行最大池化操作,更新特征圖;
使用卷積核在卷積神經網絡中對特征圖進行卷積,更新特征圖;
重復以上步驟直到特征圖成為具有空間不變性的壓縮數據。
在一些實施方式中,所述人臉圖像之間的親緣關系包括父子關系、父女關系、母子關系、母女關系。
在一些實施方式中,所述構建卷積神經網絡為使用以親緣關系種類為主要線索的數據集樣本構建卷積神經網絡;所述對卷積與池化操作后的圖像進行回歸獲得身份特征為人臉圖像具有指定特征的概率。
根據本發(fā)明的一個方面,還提供了一種電子設備,包括至少一個處理器;以及與所述至少一個處理器通信連接的存儲器;其中,所述存儲器存儲有可被所述至少一個處理器執(zhí)行的指令,所述指令被所述至少一個處理器執(zhí)行,以使所述至少一個處理器能夠執(zhí)行上述方法。
從上面所述可以看出,本發(fā)明提供的技術方案通過使用輸入人臉圖像并進行預處理、構建卷積神經網絡并設置卷積核、使用卷積核在卷積神經網絡中對人臉圖像反復進行卷積與池化操作、對卷積與池化操作后的圖像進行回歸獲得身份特征、提取身份特征之間的關聯特征與根據關聯特征識別人臉圖像之間的親緣關系的技術手段,能夠進行人物間的親緣關系識別。
附圖說明
為了更清楚地說明本發(fā)明實施例或現有技術中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為根據本發(fā)明實施例的一種基于深度卷積網絡的人物親緣關系識別方法的流程圖;
圖2為根據本發(fā)明實施例的一種基于深度卷積網絡的人物親緣關系識別方法中,深度神經網絡的結構圖;
圖3為根據本發(fā)明實施例的一種基于深度卷積網絡的人物親緣關系識別方法中,深度卷積神經網絡中多卷積核的卷及區(qū)域圖;
圖4為根據本發(fā)明實施例的一種基于深度卷積網絡的人物親緣關系識別方法中,深度卷積神經網絡的模型圖;
圖5為根據本發(fā)明實施例的一種基于深度卷積網絡的人物親緣關系識別方法中,深度卷積自編碼神經網絡的總體結構圖;
圖6為根據本發(fā)明實施例的一種基于深度卷積網絡的人物親緣關系識別方法中,深度身份卷積神經網絡的結構圖;
圖7為根據本發(fā)明實施例的一種基于深度卷積網絡的人物親緣關系識別方法中,最大池化操作的流程圖;
圖8為本發(fā)明的執(zhí)行一種同步相量測量單元在線校準方法的電子設備的一個實施例的硬件結構示意圖。
具體實施方式
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚明白,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進一步進行清楚、完整、詳細地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
基于上述目的,根據本發(fā)明的一個實施例,提供了一種基于深度卷積網絡的人物親緣關系識別方法。
如圖1所示,根據本發(fā)明實施例提供的基于卷積網絡的人臉圖像親緣關系識別方法包括:
步驟s101,輸入人臉圖像并進行預處理;
步驟s103,構建卷積神經網絡并設置卷積核;
步驟s105,使用卷積核在卷積神經網絡中對人臉圖像反復進行卷積與池化操作;
步驟s107,對卷積與池化操作后的圖像進行回歸獲得身份特征;
步驟s109,提取身份特征之間的關聯特征;
步驟s111,根據關聯特征識別人臉圖像之間的親緣關系。
在一些實施方式中,所述輸入人臉圖像并進行預處理包括:
輸入待識別的人臉圖像;
對人臉圖像進行人臉檢測與旋轉校正;
將人臉圖像剪切為指定尺寸的樣本。
在一些實施方式中,所述構建卷積神經網絡并設置卷積核包括:
根據逐層貪婪算法訓練網絡初始值;
根據反向傳播算法調整網絡參數;
根據局部感知方法與權值共享方法設置多個卷積核。
在一些實施方式中,所述根據逐層貪婪算法訓練網絡初始值包括:
分層訓練卷積神經網絡各層參數;
將以前每一層訓練好的輸出作為后一層的輸入;
根據訓練好的網絡各層參數確定網絡初始值。
在一些實施方式中,所述根據反向傳播算法調整網絡參數包括:
根據數據集樣本在神經網絡中前向傳播的結果確定代價函數;
根據代價函數確定神經網絡中每層每個神經元的殘差;
根據每層每個神經元的殘差計算代價函數對每層每個神經元參數的偏導;
根據代價函數對每層每個神經元參數的偏導、網絡學習速率調整網絡參數。
在一些實施方式中,所述根據局部感知方法設置多個卷積核為:設置多個卷積核,其中每個卷積核均與人臉圖像中指定大小的局部而非整體進行卷積操作;所述根據權值共享方法設置多個卷積核為:設置多個卷積核,其中每個卷積核至指定范圍內的局部進行采樣,而將未采樣的部分視為與采樣的部分具有相同的特征。
在一些實施方式中,所述使用卷積核在卷積神經網絡中對人臉圖像反復進行卷積與池化操作包括:
使用卷積核在卷積神經網絡中對人臉圖像進行卷積,生成特征圖;
對特征圖進行最大池化操作,更新特征圖;
使用卷積核在卷積神經網絡中對特征圖進行卷積,更新特征圖;
重復以上步驟直到特征圖成為具有空間不變性的壓縮數據。
在一些實施方式中,所述人臉圖像之間的親緣關系包括父子關系、父女關系、母子關系、母女關系。
在一些實施方式中,所述構建卷積神經網絡為使用以親緣關系種類為主要線索的數據集樣本構建卷積神經網絡;所述對卷積與池化操作后的圖像進行回歸獲得身份特征為人臉圖像具有指定特征的概率。
綜上所述,借助于本發(fā)明上述的技術方案,通過使用輸入人臉圖像并進行預處理、構建卷積神經網絡并設置卷積核、使用卷積核在卷積神經網絡中對人臉圖像反復進行卷積與池化操作、對卷積與池化操作后的圖像進行回歸獲得身份特征、提取身份特征之間的關聯特征與根據關聯特征識別人臉圖像之間的親緣關系的技術手段,能夠進行人物間的親緣關系識別。
基于上述目的,根據本發(fā)明的第二個實施例,提供了一種基于深度卷積網絡的人物親緣關系識別方法。
機器學習的目的是要通過樣本學習到一個函數,通過這個函數來預測將來的樣本值。要找到這個函數需要大量工作,建立起深度學習網絡是其中一種。在監(jiān)督學習中,假設有訓練樣本集(xi,yi),那么神經網絡可以用模型hw,b(x)來表示一種非線性函數,其中(w,b)是用來擬合數據的參數。
神經網絡由諸多神經元組成,他們彼此相互連接,一個神經元的輸出作為下一個神經元的輸入。圖2示出的是一個典型的深度神經網絡示意圖。神經網絡的參數(w,b),其中
z(i+1)=w(i)x+b(i),a(i+1)=f(z(i+1))(1)
hw,b(x)=a(n)(2)
將輸入數據經由網絡參數計算,輸出激活值的過程叫做前向傳播。其中函數
雖然深度網絡在理論上的簡潔性和較強學習特征能力是在十幾年前就被發(fā)掘的,但真正興起卻是近幾年的工作,原因是貪婪算法出現之前的網絡訓練存在著巨大的困難。本發(fā)明實施例將分別闡述兩個對深度神經網絡十分重要的算法,一個是逐層貪婪算法,另一個是反向傳導算法。
逐層貪婪算法:以往深度神經網絡的訓練方法是對網絡參數進行隨機設定初始值,計算網絡激活值后根據網絡輸出與標簽的差調整參數,直至網絡收斂。這導致了以下的問題:隨機設定初始值會引發(fā)收斂到局部最小值問題,再者,用整體的誤差調整參數對低層級的參數影響太小,使得低層級的隱層難以有效的學習。逐層貪婪算法極大地改進了深度神經網絡的訓練方法,使得網絡性能進一步提高。逐層貪婪算法的主要思想為:分層訓練各層參數,每次只訓練網絡中的一層。將已經訓練好的前
反向傳導算法:對數據集{(x1,y1)…(xm,ym)},通過樣本進入神經網絡進行前向傳播得到結果y=hw,b(x)后,可以定義樣本(x,y)的代價函數為:
數據集整體的代價函數為:
公式中第二項的目的在于減小權重的幅度,防止過度擬合。
要求得參數(w,b),使得網絡的代價函數最小,不斷的迭代優(yōu)化中,可以使用梯度下降法不斷對參數進行更新,其中α是學習速率:
反向傳導算法是用來計算偏導數
首先,神經網絡進行前向傳播,對每個j得到第lj層的輸出值。
對一個有著n層的網絡來說,計算第n層的每個神經元i殘差:
這個殘差表示的是,第i個神經元對最終輸出值與真實值的誤差的貢獻。
輸出層下的其它層l,都繼續(xù)計算殘差:
δ1=(w(l))tδl+1·f′(z(l))(8)
反向傳導的意義正在以上兩步中體現了出來,即從后向前逐次求導。
計算偏導數值,用以更新權重。
計算得到偏導數后,即可根據公式(6)更新網絡權重,逐步減小j(w,b)的值,最終得以求解神經網絡。
自動編碼器(auto-encoder,ae)是一種無監(jiān)督的學習算法,深度自編碼器利用了圖3所示神經網絡已有的深度結構,是一種用輸入重構輸出的神經網絡。即學習的函數為hw,b(x)≈x,網絡同樣也是應用逐層貪婪算法訓練,反向傳播算法調整網絡參數。輸入即會隨著層數不同而變換為不同的表示,這些表示就是原始輸入的特征。自編碼器為了重構原始的輸入,就必須學習到數據中隱藏的重要特征。
一個恒等函數的學習看似簡單,但假如稀疏的限制就會迫使深度自編碼器學到有意義的特征。設定一個向量維度為n作為輸入數據,網絡的一個隱藏層l2有m個隱藏神經元。ae要完成的是輸入在域
加入稀疏性原則來自生物學上的啟發(fā),生物學上研究表明,人類視覺對某個輸入有所響應時僅有一部分的神經元是被激活的,其余大部分神經元都是被抑制的。稀疏性原則的限制是要使得大部分的神經元都是被抑制的。由于應用了公式(3)中給出的sigmoid函數作為激活函數,所以輸出接近0認為是抑制狀態(tài),輸出靠近1是激活狀態(tài)。
要加入稀疏性原則,定義稀疏因子為:
其中
整個深度自編碼器的代價函數為:
其中,j(w,b)如之前公式(4)定義;β是控制稀疏性權重的參數。
卷積神經網絡(convolutionalneuralnetworks,cnn)受視覺系統的結構啟發(fā)而產生,是目前解決圖像中模式識別問題效果最好的深度模型,在imagenet上取得了目前的最好成績。
卷積神經網絡可以學習到一種輸入到輸出的映射關系,這一過程中可以隱式的學習數據中暗藏的特征,而不需要任何精確數學表達式。卷積神經網絡的諸多特點使其在圖像問題上有著巨大的優(yōu)勢。cnn的卷積神經元設計使其十分適應圖像數據的結構,局部感知和權值共享的特點減少了計算復雜度,也可以得到一定的空間不變性。而不斷加深的層次計算,也使得原始數據逐漸成為抽象程度更好的特征。
普通的神經網絡采用的計算方式是全連接的方式,如圖3所示,全連接的運算方式使得隱含層中每一個神經元需要遍歷輸入圖像的每一個像素,這種方式會直接產生巨大的計算量。
為了降低參數數目,卷積神經網絡采用了局部感受的方式。這與人類視覺系統對外界的認知一致,首先感受局部的視野,綜合局部來掌握全局信息。實際的自然圖像中,由于圖像中有意義內容的分布并非全局而是局部,并不需要每個神經元對所有像素進行感知。圖3所示的加入卷積核的卷積操作直接減少了所需計算的參數量。
進一步減少參數的操作是權值共享。之所以可以應用權值共享的思想,是因為在自然圖像中,并非所有的內容都特征鮮明,不同部分的內容可以共享同樣的特征,某一部分的特征可能在另一部分也是適用的。從統計學的角度來看,特征與其所在的位置無關。從某個位置學習到的特征可以作為一種探測器,當這個特征與樣本的其它位置做卷積操作,得到的就是整個大尺寸圖像對于這個特征的不同激活值。
如果只設置一個大小為10*10的卷積核,會得到100個特征,這樣的特征提取并不充分。添加多個卷積核,如圖3所示,就可以學習到更多的特征,完成充分的特征提取。每個卷積核都會通過卷積操作生成新圖像,稱為特征圖(featuremap)。特征圖的個數與卷積核的個數一樣,如前文所說,將卷積核看作是探測器,特征圖實際上反映了原圖對某個卷積核所代表的特征的響應。
卷積操作利用下面的公式進行運算:
其中,mj代表了要進行卷積操作的第j個特征圖。
通過卷積操作獲取的特征降低了原始數據的維度,但這個數據依舊過于龐大,例如,輸入圖像是一個100×100的灰度圖像,如果定義了100個大小為10×10的卷積核,這一百個卷積核和圖像進行卷積操作,得到的特征圖大小為:(100-10+1)×(100-10+1)=8,281。由于有100個特征,故所有特征圖的大小總共為828,100。如果將這樣的特征圖應用于訓練分類器等任務,仍會面臨計算困難和過擬合(over-fitting)的現象。
之所以使用卷積操作和權值共享,依據的是圖像相對“靜態(tài)”的屬性,前文已經默認不同位置可能共享相同的特征,為了處理大尺寸圖像,可以對不同位置的特征進行聚合統計。用某個區(qū)域的平均值(average-pooling)或者最大值(max-pooling)來替代該區(qū)域的值,這種操作叫做池化(pooling)。池化操作實際上完成了一種空間下采樣,不僅僅使得特征的維度有效降低,還會獲得一定的空間不變性。最大池化計算如下所示:
在公式中,ri表示了要進行池化操作的區(qū)域,在一個步長為[m,n]的區(qū)域里,區(qū)域中最大值將成為這個區(qū)域的表征。
卷積核的二維設計和空間下采樣的操作,十分適用于圖像的數據特點。在圖像中的連續(xù)范圍里進行池化,那所下采樣的特征實際上來自同一個卷積核,是對同一種特征的響應,這樣的池化使得特征具有了平移不變性。卷積神經網絡在圖像處理方面有著獨特優(yōu)勢,總結上述特點如下:
第一,局部感受和權值共享的特殊結構更適應圖像數據,布局模仿了生物神經網絡,網絡復雜性較其它神經網絡模型大大降低。
第二,使用cnn所提取的特征來自對數據的學習,而非人工設計,使得特征更加高效,有通用性。cnn可以直接將圖像作為輸入,融合多層感知器,在提取圖像特征的同時直接處理分類、識別等問題。
第三,cnn網絡權值共享的特點保證了網絡運算支持并行運算,這一點大大提高了網絡訓練的效率,在大數據時代極為重要。
在實際的cnn構造中,常見的模型均使用多層卷積,卷積層和池化層交替進行,最后加入全連接層。在cnn的底層,學到的特征通常是局部的,特征的全局化是隨著層級加深而進行的,最終實現輸入數據的特征提取。
圖4示出的深度神經網絡結構是目前cnn的經典結構,該模型采用2個gpu進行并行計算。第一層、第二層、第四層和第五層的卷積層將參數分為了兩個部分,并行訓練,相同的數據在兩個不同的gpu上進行訓練,得到的輸出直接連接作為下一層的輸入。
輸入是224×224×3大小的彩色圖像。
第一層為卷積層,共有96個大小為11×11的卷積核,每個gpu上48個。
第二層為池化層,采用最大池化方法(max-pooling),池化核大小為2×2。
第三層為卷積層,共有256個大小為5×5的卷積核,每個gpu上128個。
第四層為池化層,采用最大池化方法(max-pooling),池化核大小為2×2。
第五層為卷積層,共有384個大小為3×3的卷積核,每個gpu上192個。與上一層全連接。
第六層為卷積層,共有384個大小為3×3的卷積核,每個gpu上192個。這一層卷積層與上一層之間沒有加入池化層。
第七層為卷積層,共有256個大小為5×5的卷積核,每個gpu上128個。
第八層為池化層,采用最大池化方法(max-pooling),池化核大小為2×2。
第九層為全連接層:將第八層經過池化的特征圖連接成一個4,096維的向量作為本層的輸入。
第十層為全連接層:輸入4,096維的向量到softmax層進行softmax回歸,輸出的1,000維向量代表圖片屬于該類別的概率。
該模型在imagenetlsvrc中取得2012年的冠軍,top-5錯誤率為15.3%。這個cnn網絡的訓練集圖片數目約127萬,驗證集約5萬,測試集約15萬。
如圖4所示的深度模型中,最后一層是softmax層。softmax回歸是一種在深度模型中常用的多分類器??梢酝ㄟ^衡量網絡輸出的標簽與給定真實標簽的錯誤來進行反向傳播。當選取分類結果作為網絡的輸出時,整個深度網絡可以被認為是一個分類器。當所需要的不是分類結果,而只是中間值,那么深度神經網絡高層級的神經元的激活值即是所需的特征。
事實上,深度神經網絡的每一層都是原始數據的另一種特征,只是隨著網絡層級的加深,網絡普遍設計成越深越緊湊的結構,更深隱層的激活值往往更具有表達能力。
本發(fā)明實施例認為,要想識別出兩人之間是否具有某種關系,一定要首先對兩個人物都有所了解。首先提取出分別代表兩個人物的身份特征,這一過程需要基于一個深度卷積自編碼網絡,即圖中的deeepconvfidnet;在獲得各自的身份特征后,再對其之間的關系進行學習,這一過程基于一個深度自編碼器,即圖中的deepaefp。本發(fā)明將詳細給出需要構建的兩種不同深度神經網絡的構造和訓練過程,并將兩個網絡有效結合起來,用以提取關聯特征。
當前的研究表明,雖然深度卷積網絡可以將提取特征和完成分類功能同時實現,但對于人臉圖像來說,網絡本身對人臉識別的準確率并不高,本發(fā)明應用深度卷積網絡提取出代表個人身份的身份特征。在得到一對人物的身份特征后,利用多層自編碼器探尋兩者之間的關系。自編碼器的思想是利用輸入重構目標值,本發(fā)明旨在這個重構過程中找到輸入和輸出的中間值來代表兩者的緊密關系。本發(fā)明整合了兩種深度網絡設計了一個新的深度卷積自編碼神經網絡(deepconvolutionalauto-encodernetworks,cnn-aenet),這個深度模型如圖5所示。本發(fā)明所設計的深度卷積自編碼神經網絡通過輸入一對人物,最終學習出人物對之間的關聯項特征。
整個深度卷積自編碼神經網絡定義為cnn-ae。在這個深度模型里,輸入圖像首先會經過一個卷積神經網絡,定義為convfidnet(convolutionalnetworksforfacialid)。原始輸入經過convfid網絡會被轉化更具有身份代表性的fid(facialid)。一對人物的fid將作為一個多層自編碼器的輸入,圖5所示的上方箭頭表示自編碼器前向運算,下方箭頭表示自編碼網絡反向反饋。這個多層自編碼器被定義為ae-fp(auto-encoderforfacepairs)。網絡高層級的激活值會被取做關聯向量rf(relationalfeatures)。
將輸入人物對的人臉圖像(person1andperson2)定義為(p1,p2),本發(fā)明構建的深度卷積自編碼網絡將完成以下學習過程:
為了得到有效的fid,必須構建高效的convfid。圖6中給出了獲取身份特征的深度卷積神經網絡convfid結構。圖中展示了深度網絡的細節(jié),包括卷積核的大小和個數、卷積后特征圖的大小和個數、下采樣層的個數和下采樣步長。softmax回歸作為最后一層,用以將身份特征與身份標簽匹配。最后一個卷積層是全連接層,輸入圖像最終將被網絡置為一個160維的向量,作為其身份特征。
為表示圖像的尺寸,本發(fā)明全篇使用x×y×c的形式表示,其中(x,y)代表圖像的尺寸,而c代表圖像的通道數。卷積核實際上也可以認為是一個具有二維結構的小圖像,故使用同樣的表達方法。
如圖6所示,輸入是一個大小為63×55×3的彩色圖像,這里需要注意,在訓練中本發(fā)明為了得到更好的網絡效果,在訓練時使用了不同尺寸的輸入,在其他尺度的圖像作為網絡輸入時,經過各層卷積核操作輸出的特征圖的大小會有所變化,會通過改變最后一層卷積層,使得全連接層的大小為160維的向量。
輸入圖像進入convfid,經過第一個卷積核,其大小為4×4,共20個。我們定義卷積操作遵循的下面的公式(14):
對于輸入圖像xl-1中的每一個像素(i,j),其中l(wèi)代表了神經網絡的層數,經過卷積操作均會與卷積核相乘求和,其中k1,k2代表了卷積核的大小,在第一個卷積層即k1=k2=4。
卷積核會在圖像上進行滑動,對于一個尺寸為(m,n)的圖像經過核尺寸為(k1,k2)卷積操作后,圖像尺寸會變?yōu)?m+k1-1,n+k2-1)。
在實際利用matlab實現卷積操作的時候,我們使用conv2函數。函數在實際運行的時候,會先將卷積核旋轉180度。
經過第一層卷積操作,輸入圖像尺寸變?yōu)?0個60×52的特征圖。隨后這些特征圖將進行最大池化的操作。最大池化的原理在圖7中給出了清晰的說明。
下述公式給出了最大池化具體的表示:
為了獲得一定的空間不變性,也為了進一步的對數據進行壓縮,如圖7所示,進一步對得到的特征圖進行最大池化的操作。簡單來說,就是在選定的步長的一定區(qū)域中,即(15)中為經過池化的s×s大小的區(qū)域中,選取區(qū)域中的最大值來代替這個區(qū)域的值,總體特征圖的大小將被壓縮。
隨后經過第一次池化的特征圖成為圖6中的p2層,包含20個30×26大小為的特征圖。再次經過下一層40個大小為3×3的卷積核,生成c3層,包含40個28×24大小為的特征圖。池化后的p4層這40個特征圖的尺寸為上一層的一半。如圖6所示,經過多次卷積核池化,在c7層,擁有80個4×3大小的特征圖,經過80個大小為3×3的卷積核成為c8層2×80的特征向量,使用全連接的方式與c9層相連。圖中所示的fid層也是一個全連接層,維度為160維。
最后一層是softmax回歸層,這一層將通過給定的標簽,給出人物身份的預測。這里需要注意,網絡本身具備的分類功能并不是最終目的,如果要對人物識別的準確率作出提升,可以在得到fid后使用其他分類器。softmax回歸由于其設計面向多分類問題,故在各種深度模型中被廣泛使用。
在多分類問題中,softmax具有良好的性能,分類器對各個標簽是互斥的。
從人臉圖像中識別親緣關系是人臉分析領域的拓展,這項工作可以拓展人工智能的應用。針對一個家族,親緣關系的識別可以幫助他們建立家譜,甚至找尋龐大的氏族。在社會的熱點話題尋找走失兒童中,機器視覺的方法可以迅速輔助人工決策等。
如何從人臉圖像中識別出人物之間的親緣關系是本發(fā)明要研究的問題。本發(fā)明依次提取出人物的身份特征和關聯特征,基于關聯特征識別人物的親緣關系。對驗證算法的過程和設置給出詳細的說明,對結果進行多方比較和分析。
本發(fā)明從數據集kinfacew-i和kinfacew-ii中選取識別親緣關系的數據樣本,包括父子關系、父女關系、母子關系和母女關系。兩個數據庫所有家長們和子女們的人臉圖像均是來自非限制條件下公開數據的網絡采集,并沒有限制人物的動作、光照、表情、年齡、人種、背景等方面。兩個數據集的不同之處在于,kinfacew-i中擁有親緣關系的一對人臉圖像是在不同的照片上獲取的,而在kinfacew-ii中,大多數的具有親緣關系的人臉圖像是在同一張照片上獲取的。
在這兩個數據庫中,有上文定義過的父子、父女、母子、母女的親緣關系。在kinfacew-i數據庫中,共有156對父子、134對父女、116對母子、127對母女。在kinfacew-ii數據庫中,四種親緣關系均含有250對人臉圖像。
數據庫經過了人工的標注,還給出了部分負樣本。在kinfacew-i數據庫的驗證集中,給出了156對正樣本和156對負樣本,其中每一種關系大概是27對人臉圖像。在kinfacew-ii數據庫中,將數據分為五份,其中一份作為測試集。測試集匯中共包含250對正樣本和250對負樣本,每一種關系有50對正負樣本。
在獲取kinfacew-i和kinfacew-ii數據庫后,將其尺寸裁剪到63×55×3的尺寸以適應所設計的convfid模型。并同樣將每一張樣本圖取樣成不同位置的小塊,來訓練多個convfid。
本發(fā)明的算法分為兩個階段:提取關聯特征和識別關系階段。在提取關聯特征階段,最主要的部分是提前訓練深度模型,使用訓練好的模型進行前向傳播即可得到特征。在識別關系階段,又分為訓練和測試兩個部分。本發(fā)明按照步驟順序陳述算法實現的全部配置。分為訓練深度網絡部分、提取關聯特征部分以及利用關聯特征識別親緣關系部分。
訓練深度卷積神經網絡convfid階段:
訓練數據:youtubefacedatabase,共使用47,850張圖片進行訓練。
訓練環(huán)境:基于osxyosemite系統下的python2.7&theano0.7[65]。處理器2.7ghzintelcorei5,內存8g。
訓練時間:共訓練6個convfid網絡,每個網絡訓練時迭代均為20次,平均每次迭代約480s,訓練時間總計約16小時。
訓練深度自編碼器aefp階段:
訓練數據:kinfacew-ii數據集中1,000對人臉圖像進行訓練。
訓練環(huán)境:基于windows7系統下的matlabr2012b[66].處理器irgpug2030,內存4g。
訓練時間:對網絡迭代次數為300次,總計約17分鐘。
提取關聯特征階段:
提取數據:提取kinfacew-i/ii數據集中所有圖像的關聯特征。
提取環(huán)境:os系統python2.7下提取身份特征fid耗時217s。
win7系統matlab下提取關聯特征rf。
識別親緣關系階段:
訓練集與測試集:根據評測規(guī)則指向的人臉圖像的關聯特征rf。
識別環(huán)境:win7系統下的matlab&libsvm。
算法按照上述實踐依據的評價規(guī)則如下:通常來說,對于驗證和識別的任務有兩種評測標準],在本發(fā)明提到的所有識別率中,均采用了open-set。這是因為希望達到的人物關系識別系統是可以針對未知圖像做出判斷的,而不需要重新設計系統。
在設置訓練集和測試集中,將兩個數據庫中的各種關系都均分為五份,使得訓練集和測試集的數目比約為4:1。值得注意的是,負樣本的產生也是源自這兩個數據集體,即選取一位家長,隨即再選取一位不是他后代的人臉圖像,這樣的一對數據作為負樣本。
在學習人臉圖像中親緣關系的關聯特征中,本節(jié)以父子關系為例,定義父子關系為f-s關系。數據來自kinfacew-i和kinfacew-ii數據庫中經過預處理的人臉圖像。
將經過預處理的人臉圖像在訓練好的cnn-ae模型中進行前向傳播,得到的特征圖和身份fid。
定義(p1,p2),為輸入的人臉圖像,首先要分別經過式(16)所示的計算:
這里(w,b)是深度卷積神經網絡convfid的參數,已經在前文中經過youtubeface數據庫大量的訓練后,在測試中表現出優(yōu)越的性能。可以確信,
在這里,值得注意的是在高層的神經元響應中,可以發(fā)現神經元的響應總是稀疏的,實際最后參與表達fid身份特征的神經元數目并不多。
顯然,并不是所有神經元都做出了響應,越是高級的神經元越是具有特定的模式,可以識別更高級的語義信息。
對算法的整體實現,這里給出一段偽代碼說明。
算法:基于深度學習從人臉圖像中識別父子親緣關聯特征。
輸入:
父親人臉圖像f;兒子人臉圖像s;
定義的網絡cnnaew,b(其中包括兩部分:convfidw,b與aefpw,b)
convfidw,b:{input,layer1,layer2,…layer9,fid_layer,softmaxlayer};
aefpw,b:{input,layer1,layer2,rflayer,output},{input,layer1,output};
步驟:
f=p1;s=p2;rf(label)=n;
標記所有人臉,對應的親緣關系給出相同標簽;
前向計算fidf=convfidw,b(f);fids=convfidw,b(s);
無監(jiān)督的計算:
output_layer_f=aefpw,b(fidf);
minimize(output_layer_s,output_layer_f);
rf(f,s)=aefpw,blayer3(fidf,fids);
提取訓練集和驗證集中所有人物關系的rf;
使用svm分類器進行rf的二分類計算。
選取關聯特征時,所選取的隱層是在實驗中對比得到。我們比較網絡aefp中的隱層1,隱層2和輸出層。在網絡進行迭代的過程中,隨著迭代次數的增加,在400次的迭代運算時,aefp網絡中提取出的關聯特征在經過svm分類器后,對父子關系的識別中識別率為73.8%。
從上面所述可以看出,本發(fā)明提供的技術方案通過使用輸入人臉圖像并進行預處理、構建卷積神經網絡并設置卷積核、使用卷積核在卷積神經網絡中對人臉圖像反復進行卷積與池化操作、對卷積與池化操作后的圖像進行回歸獲得身份特征、提取身份特征之間的關聯特征與根據關聯特征識別人臉圖像之間的親緣關系的技術手段,能夠進行人物間的親緣關系識別。
基于上述目的,根據本發(fā)明的第三個實施例,提供了一種執(zhí)行所述同步相量測量單元在線校準方法的電子設備的一個實施例。
所述執(zhí)行所述同步相量測量單元在線校準方法的電子設備包括至少一個處理器;以及與所述至少一個處理器通信連接的存儲器;其中,所述存儲器存儲有可被所述至少一個處理器執(zhí)行的指令,所述指令被所述至少一個處理器執(zhí)行,以使所述至少一個處理器能夠執(zhí)行如上所述任意一種方法。
如圖8所示,為本發(fā)明提供的執(zhí)行所述實時通話中的語音處理方法的電子設備的一個實施例的硬件結構示意圖。
以如圖8所示的電子設備為例,在該電子設備中包括一個處理器801以及一個存儲器802,并還可以包括:輸入裝置803和輸出裝置804。
處理器801、存儲器802、輸入裝置803和輸出裝置804可以通過總線或者其他方式連接,圖8中以通過總線連接為例。
存儲器802作為一種非易失性計算機可讀存儲介質,可用于存儲非易失性軟件程序、非易失性計算機可執(zhí)行程序以及模塊,如本申請實施例中的所述同步相量測量單元在線校準方法對應的程序指令/模塊。處理器801通過運行存儲在存儲器802中的非易失性軟件程序、指令以及模塊,從而執(zhí)行服務器的各種功能應用以及數據處理,即實現上述方法實施例的同步相量測量單元在線校準方法。
存儲器802可以包括存儲程序區(qū)和存儲數據區(qū),其中,存儲程序區(qū)可存儲操作系統、至少一個功能所需要的應用程序;存儲數據區(qū)可存儲根據同步相量測量單元在線校準裝置的使用所創(chuàng)建的數據等。此外,存儲器802可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他非易失性固態(tài)存儲器件。在一些實施例中,存儲器802可選包括相對于處理器801遠程設置的存儲器。上述網絡的實例包括但不限于互聯網、企業(yè)內部網、局域網、移動通信網及其組合。
輸入裝置803可接收輸入的數字或字符信息,以及產生與同步相量測量單元在線校準裝置的用戶設置以及功能控制有關的鍵信號輸入。輸出裝置804可包括顯示屏等顯示設備。
所述一個或者多個模塊存儲在所述存儲器802中,當被所述處理器801執(zhí)行時,執(zhí)行上述任意方法實施例中的同步相量測量單元在線校準方法。
所述執(zhí)行所述同步相量測量單元在線校準方法的電子設備的任何一個實施例,可以達到與之對應的前述任意方法實施例相同或者相類似的效果。
本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(read-onlymemory,rom)或隨機存儲記憶體(randomaccessmemory,ram)等。所述計算機程序的實施例,可以達到與之對應的前述任意方法實施例相同或者相類似的效果。
此外,典型地,本公開所述的裝置、設備等可為各種電子終端設備,例如手機、個人數字助理(pda)、平板電腦(pad)、智能電視等,也可以是大型終端設備,如服務器等,因此本公開的保護范圍不應限定為某種特定類型的裝置、設備。本公開所述的客戶端可以是以電子硬件、計算機軟件或兩者的組合形式應用于上述任意一種電子終端設備中。
此外,根據本公開的方法還可以被實現為由cpu執(zhí)行的計算機程序,該計算機程序可以存儲在計算機可讀存儲介質中。在該計算機程序被cpu執(zhí)行時,執(zhí)行本公開的方法中限定的上述功能。
此外,上述方法步驟以及系統單元也可以利用控制器以及用于存儲使得控制器實現上述步驟或單元功能的計算機程序的計算機可讀存儲介質實現。
此外,應該明白的是,本發(fā)明所述的計算機可讀存儲介質(例如,存儲器)可以是易失性存儲器或非易失性存儲器,或者可以包括易失性存儲器和非易失性存儲器兩者。作為例子而非限制性的,非易失性存儲器可以包括只讀存儲器(rom)、可編程rom(prom)、電可編程rom(eprom)、電可擦寫可編程rom(eeprom)或快閃存儲器。易失性存儲器可以包括隨機存取存儲器(ram),該ram可以充當外部高速緩存存儲器。作為例子而非限制性的,ram可以以多種形式獲得,比如同步ram(dram)、動態(tài)ram(dram)、同步dram(sdram)、雙數據速率sdram(ddrsdram)、增強sdram(esdram)、同步鏈路dram(sldram)以及直接rambusram(drram)。所公開的方面的存儲設備意在包括但不限于這些和其它合適類型的存儲器。
本領域技術人員還將明白的是,結合這里的公開所描述的各種示例性邏輯塊、模塊、電路和算法步驟可以被實現為電子硬件、計算機軟件或兩者的組合。為了清楚地說明硬件和軟件的這種可互換性,已經就各種示意性組件、方塊、模塊、電路和步驟的功能對其進行了一般性的描述。這種功能是被實現為軟件還是被實現為硬件取決于具體應用以及施加給整個系統的設計約束。本領域技術人員可以針對每種具體應用以各種方式來實現所述的功能,但是這種實現決定不應被解釋為導致脫離本公開的范圍。
結合這里的公開所描述的各種示例性邏輯塊、模塊和電路可以利用被設計成用于執(zhí)行這里所述功能的下列部件來實現或執(zhí)行:通用處理器、數字信號處理器(dsp)、專用集成電路(asic)、現場可編程門陣列(fpga)或其它可編程邏輯器件、分立門或晶體管邏輯、分立的硬件組件或者這些部件的任何組合。通用處理器可以是微處理器,但是可替換地,處理器可以是任何傳統處理器、控制器、微控制器或狀態(tài)機。處理器也可以被實現為計算設備的組合,例如,dsp和微處理器的組合、多個微處理器、一個或多個微處理器結合dsp核、或任何其它這種配置。
結合這里的公開所描述的方法或算法的步驟可以直接包含在硬件中、由處理器執(zhí)行的軟件模塊中或這兩者的組合中。軟件模塊可以駐留在ram存儲器、快閃存儲器、rom存儲器、eprom存儲器、eeprom存儲器、寄存器、硬盤、可移動盤、cd-rom、或本領域已知的任何其它形式的存儲介質中。示例性的存儲介質被耦合到處理器,使得處理器能夠從該存儲介質中讀取信息或向該存儲介質寫入信息。在一個替換方案中,所述存儲介質可以與處理器集成在一起。處理器和存儲介質可以駐留在asic中。asic可以駐留在用戶終端中。在一個替換方案中,處理器和存儲介質可以作為分立組件駐留在用戶終端中。
在一個或多個示例性設計中,所述功能可以在硬件、軟件、固件或其任意組合中實現。如果在軟件中實現,則可以將所述功能作為一個或多個指令或代碼存儲在計算機可讀介質上或通過計算機可讀介質來傳送。計算機可讀介質包括計算機存儲介質和通信介質,該通信介質包括有助于將計算機程序從一個位置傳送到另一個位置的任何介質。存儲介質可以是能夠被通用或專用計算機訪問的任何可用介質。作為例子而非限制性的,該計算機可讀介質可以包括ram、rom、eeprom、cd-rom或其它光盤存儲設備、磁盤存儲設備或其它磁性存儲設備,或者是可以用于攜帶或存儲形式為指令或數據結構的所需程序代碼并且能夠被通用或專用計算機或者通用或專用處理器訪問的任何其它介質。此外,任何連接都可以適當地稱為計算機可讀介質。例如,如果使用同軸線纜、光纖線纜、雙絞線、數字用戶線路(dsl)或諸如紅外線、無線電和微波的無線技術來從網站、服務器或其它遠程源發(fā)送軟件,則上述同軸線纜、光纖線纜、雙絞線、dsl或諸如紅外先、無線電和微波的無線技術均包括在介質的定義。如這里所使用的,磁盤和光盤包括壓縮盤(cd)、激光盤、光盤、數字多功能盤(dvd)、軟盤、藍光盤,其中磁盤通常磁性地再現數據,而光盤利用激光光學地再現數據。上述內容的組合也應當包括在計算機可讀介質的范圍內。
公開的示例性實施例,但是應當注公開的示例性實施例,但是應當注意,在不背離權利要求限定的本公開的范圍的前提下,可以進行多種改變和修改。根據這里描述的公開實施例的方法權利要求的功能、步驟和/或動作不需以任何特定順序執(zhí)行。此外,盡管本公開的元素可以以個體形式描述或要求,但是也可以設想多個,除非明確限制為單數。
應當理解的是,在本發(fā)明中使用的,除非上下文清楚地支持例外情況,單數形式“一個”(“a”、“an”、“the”)旨在也包括復數形式。還應當理解的是,在本發(fā)明中使用的“和/或”是指包括一個或者一個以上相關聯地列出的項目的任意和所有可能組合。
上述本公開實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
本領域普通技術人員可以理解實現上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。