本發明涉及人臉識別技術領域,尤其涉及一種基于深度學習的機器人識別用戶身份的方法和裝置。
背景技術:
隨著科學技術的高速發展,機器人制造技術也得以發展迅速,機器人的應用已逐步進入家庭服務行業。
物業服務機器人是一種不受環境、溫度的影響,能夠動態地實現對用戶身份識別的機器人,該類機器人需要在用戶身份識別方面有卓越的辨識能力。
因此,如何提高機器人識別用戶身份的識別率、正確率非常關鍵。
技術實現要素:
有鑒于此,本發明提供一種識別用戶身份的方法和裝置,以提高機器人識別用戶身份的識別率、正確率。技術方案如下:
基于本發明的一方面,本發明提供一種識別用戶身份的方法,包括:
檢測人臉圖片;
將所述人臉圖片輸入至人臉識別模型,利用所述人臉識別模型計算得到所述人臉圖片的深度特征向量;
計算所述深度特征向量分別與預存的深度特征向量組中的每個預存深度特征向量之間的距離值,所述預存的深度特征向量組包括多個預存深度特征向量,所述預存深度特征向量與用戶身份信息一一對應;
確定出距離值最小時對應的目標預存深度特征向量;
確定所述目標預存深度特征向量對應的用戶身份信息為所述人臉圖片中用戶的身份。
優選地,所述人臉識別模型為深度卷積神經網絡Deep CNN人臉識別模型。
優選地,所述檢測人臉圖片之前,所述方法還包括:
基于大量的人臉數據,采用前向傳播和后向傳播的方法來訓練所述大量的人臉數據,以得到所述Deep CNN人臉識別模型。
優選地,所述計算所述深度特征向量分別與預存的深度特征向量組中的每個預存深度特征向量之間的距離值包括:
采用最臨近KNN最近距離算法計算所述深度特征向量分別與預存的深度特征向量組中的每個預存深度特征向量之間的距離值。
基于本發明的另一方面,本發明還提供一種識別用戶身份的裝置,包括:
圖片檢測單元,用于檢測人臉圖片;
圖片處理單元,用于將所述人臉圖片輸入至預設的人臉識別模型,利用所述人臉識別模型計算得到所述人臉圖片的深度特征向量;
距離計算單元,用于計算所述深度特征向量分別與預存的深度特征向量組中的每個預存深度特征向量之間的距離值,所述預存的深度特征向量組包括多個預存深度特征向量,所述預存深度特征向量與用戶身份信息一一對應;
第一確定單元,用于確定出距離值最小時對應的目標預存深度特征向量;
第二確定單元,用于確定所述目標預存深度特征向量對應的用戶身份信息為所述人臉圖片中用戶的身份。
優選地,所述人臉識別模型為深度卷積神經網絡Deep CNN人臉識別模型。
優選地,還包括:
模型訓練單元,用于基于大量的人臉數據,采用前向傳播和后向傳播的方法來訓練所述大量的人臉數據,以得到所述Deep CNN人臉識別模型。
優選地,所述距離計算單元具體用于,采用最臨近KNN最近距離算法計算所述深度特征向量分別與預存的深度特征向量組中的每個預存深度特征向量之間的距離值。
本發明提供的識別用戶身份的方法包括:檢測人臉圖片;將所述人臉圖片輸入至預設的人臉識別模型,利用所述人臉識別模型計算得到所述人臉圖片的深度特征向量;計算所述深度特征向量分別與預存的深度特征向量組中的每個預存深度特征向量之間的距離值,所述預存的深度特征向量組包括多個預存深度特征向量,所述預存深度特征向量與用戶身份信息一一對應;確定出距離值最小時對應的目標預存深度特征向量;確定所述目標預存深度特征向量對應的用戶身份信息為所述人臉圖片中用戶的身份。本發明利用人臉識別模型計算得到人臉圖片的深度特征向量,進而通過計算深度特征向量與各預存深度特征向量間的距離值,確定出距離值最小時對應的目標預存深度特征向量,將該目標預存深度特征向量對應的用戶身份信息為所述人臉圖片中用戶的身份,本發明提高了機器人識別用戶身份的識別率、正確率。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。
圖1為本發明提供的一種識別用戶身份的方法的流程圖;
圖2為本發明提供的一種識別用戶身份的裝置的結構示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例?;诒景l明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
請參閱圖1,其示出了本發明提供的一種識別用戶身份的方法的流程圖,包括:
步驟101,檢測人臉圖片。
其中,人臉圖片指的是包括人臉信息的圖片。一般的,本發明可以利用攝像頭等攝像裝置捕捉人臉圖片,當攝像裝置捕捉到人臉圖片后,本發明可以從攝像裝置處主動獲取或被動接收到所述人臉圖片。
步驟102,將所述人臉圖片輸入至人臉識別模型,利用所述人臉識別模型計算得到所述人臉圖片的深度特征向量。
本發明中,人臉識別模型具體為Deep CNN(Deep Convolutional Neural Networks,深度卷積神經網絡)人臉識別模型。
特別的,在實現本發明步驟101前還應包括:步驟100,基于大量的人臉數據,采用前向傳播(Forward Propagation)和后向傳播(Back Propagation)的方法來訓練所述大量的人臉數據,以得到所述Deep CNN人臉識別模型。
本發明中的Deep CNN人臉識別模型為基于多層CNN(>10層)架構的百萬級參數的Deep CNN人臉識別模型,該Deep CNN人臉識別模型的基礎為深度卷積神經網絡,該深度卷積神經網絡具有37層,包括16個卷積層,且在該網絡中包括百萬級的參數。其中該網絡中包括的百萬級的參數必須通過大量標定好的人臉圖(幾十萬人臉級別)不斷迭待監督訓練學習(supervised learning),調整模型參數值以達到訓練數據庫人臉識別率最小化。
為了使模型參數能夠更好地區分不同地域的不同人臉,例如亞洲人臉,訓練樣本集中需要收集大量的亞洲人臉數據,通過對收集的大量的亞洲人臉數據的訓練,才能保證得到的最深層的深度特征向量具有很強的區分不同人臉的能力。
具體在本發明實施例中,首先需要設定好Deep CNN人臉識別模型的結構,即本發明采用多層的深度學習神經網絡,包括卷積層、pooling層、relu層、全連接層、softmax分類以及triploss層。訓練過程中是訓練卷積層核函數、全連接層鏈接權、softmax分類層以及triplet loss層的參數。在本發明實際應用過程中,以歸一化之后的人臉照片數據作為輸入數據,以對應的人臉的標定數據作為輸出,以softmax損失函數為目標函數。具體如,將人臉圖片的檢測結果經過校準之后歸一化到224×224,輸入到Deep CNN人臉識別模型后便可得到一深度特征向量。
步驟103,計算所述深度特征向量分別與預存的深度特征向量組中的每個預存深度特征向量之間的距離值。
其中,所述預存的深度特征向量組包括多個預存深度特征向量,所述預存深度特征向量與用戶身份信息一一對應。
在本發明實際應用過程中,每一名用戶的人臉對應一個深度特征向量,本發明可以將每個用戶對應的深度特征向量預存在深度特征向量組中,因此本發明中的深度特征向量組中包括上千維的深度特征向量。
具體的,本發明可以采用KNN(k-Nearest Neighbor,最臨近)最近距離算法,依次計算所述深度特征向量分別與預存的深度特征向量組中的每個預存深度特征向量之間的距離值。KNN為經典的分類算法:輸入樣本的分類由其最近K個鄰居分類的“多數表決”確定。當K=1時,樣本的分類即賦為其最近鄰居的分類。
本發明中,經過大量數據監督訓練,同一人的人臉圖片的深度特征向量之間的距離(如歐式距離)比不同人的人臉圖片之間的距離近,即同一人的人臉圖片的深度特征向量之間的距離值會最小。因此本發明將計算得到的人臉圖片的深度特征向量與預存的深度特征向量組中的每個預存深度特征向量一一匹配計算距離值。
步驟104,確定出距離值最小時對應的目標預存深度特征向量。
步驟105,確定所述目標預存深度特征向量對應的用戶身份信息為所述人臉圖片中用戶的身份。
因此應用本發明提供的識別用戶身份的方法,通過利用人臉識別模型計算得到人臉圖片的深度特征向量,進而通過計算深度特征向量與各預存深度特征向量間的距離值,確定出距離值最小時對應的目標預存深度特征向量,將該目標預存深度特征向量對應的用戶身份信息為所述人臉圖片中用戶的身份,本發明提高了機器人識別用戶身份的識別率、正確率。
基于前文本發明提供的一種識別用戶身份的方法,本發明還提供一種識別用戶身份的裝置,如圖2所示,包括:
圖片檢測單元100,用于檢測人臉圖片;
圖片處理單元200,用于將所述人臉圖片輸入至預設的人臉識別模型,利用所述人臉識別模型計算得到所述人臉圖片的深度特征向量;
距離計算單元300,用于計算所述深度特征向量分別與預存的深度特征向量組中的每個預存深度特征向量之間的距離值,所述預存的深度特征向量組包括多個預存深度特征向量,所述預存深度特征向量與用戶身份信息一一對應;
第一確定單元400,用于確定出距離值最小時對應的目標預存深度特征向量;
第二確定單元500,用于確定所述目標預存深度特征向量對應的用戶身份信息為所述人臉圖片中用戶的身份。
其中,所述人臉識別模型為Deep CNN人臉識別模型。
所述裝置還包括:
模型訓練單元600,用于基于大量的人臉數據,采用前向傳播和后向傳播的方法來訓練所述大量的人臉數據,以得到所述Deep CNN人臉識別模型。
所述距離計算單元300具體用于,采用KNN最近距離算法計算所述深度特征向量分別與預存的深度特征向量組中的每個預存深度特征向量之間的距離值。
需要說明的是,本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對于裝置類實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
以上對本發明所提供的一種識別用戶身份的方法和裝置進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發明的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。