本發明涉及圖像處理技術領域,具體涉及一種人臉檢測方法及裝置、計算機可讀存儲介質、設備。
背景技術:
人臉檢測技術是一種在任意圖像中自動搜索人臉位置和大小的技術。人臉檢測技術在基于人臉的計算機視覺、模式識別應用中占有很重要的地位,例如視頻監控和身份識別系統等。
目前大多數人臉檢測方法,尤其是基于錨點框的檢測方法,如fasterrcnn、ssd、r-fcn,隨著人臉尺度的變小,其檢測性能會急劇下降。具體地,在對小尺度人臉檢測還存在下述問題:
1、在構建檢測框架、設計錨點框的關聯層和錨點框的大小時,小尺度的人臉沒有得到足夠的重視,不僅錨點框關聯層的位置太深,導致小尺度人臉的特征消失無法用于檢測,而且錨點框大小、有效感受野、小尺度人臉三者間互不匹配,導致無法充分利用人臉的圖像特征。
2、為了檢測小尺度人臉必須要密集地鋪設大量的小錨點框,這些小錨點框會帶來很多的人臉虛檢問題。
3、錨點框與人臉標注框匹配的策略不夠完善,有些尺度的人臉標注框不能匹配到足夠多的錨點框,導致它們有著較低的召回率。
技術實現要素:
為了解決現有技術中的上述問題,即為了解決小尺度人臉檢測準確性較低的技術問題,本發明提供了一種基于多尺度錨點框的人臉檢測方法,可以對小尺度人臉進行有效檢測,同時還提供了一種人臉檢測裝置,及相應的計算機可讀存儲介質、計算機設備。
第一方面,本發明提供的一種人臉檢測方法的技術方案是:
所述方法包括:
依據預設的人臉檢測模型,獲取待測圖像的多個檢測結果框;
選取所獲取的多個檢測結果框中滿足預設的篩選條件的檢測結果框;
其中:
所述預設的人臉檢測模型為依據深度卷積神經網絡構建的檢測模型,具體步驟包括:
在深度卷積神經網絡的低卷積層、中卷積層和高卷積層中分別關聯錨點框,并設置各錨點框的邊長;
確定所述低卷積層中最淺層所關聯錨點框的背景預測概率;
依據預設的訓練圖像,對所述關聯錨點框的深度卷積神經網絡進行網絡訓練,得到滿足預設的收斂條件的人臉檢測模型。
進一步地,本發明提供的一個優選技術方案為:
所述設置錨點框的邊長包括依據有效感受野的半徑r設置所述錨點框的邊長ascale,具體為:
ascale≈2r
所述錨點框的邊長ascale的約束條件為:
ascale=n×ainterval
其中,所述ainterval為錨點框在待測圖像上的鋪設間隔,所述n為預設的正整數。
進一步地,本發明提供的一個優選技術方案為:
所述確定低卷積層中最淺層所關聯錨點框的背景預測概率,包括:
獲取錨點框為待測圖像中背景的多個預測概率,并選取所獲取的多個預測概率的最大值作為所述錨點框的背景預測概率。
進一步地,本發明提供的一個優選技術方案為:
所述依據預設的訓練圖像,對關聯錨點框的深度卷積神經網絡進行網絡訓練,包括:
對所述預設的訓練圖像進行數據增廣處理,得到訓練樣本;
對錨點框與所述訓練樣本中的人臉標注框進行匹配,并依據匹配結果將錨點框劃分為正樣本和負樣本;所述正樣本為與人臉標注框匹配的錨點框,所述負樣本為與人臉標注框未匹配的錨點框;
采用困難負樣本挖掘方法選取預設的第三數量的負樣本;
依據所述正樣本與所選取的負樣本計算損失函數值,并依據損失函數值更新所述深度卷積神經網絡;
對更新后的深度卷積神經網絡重新進行網絡訓練,直至其滿足預設的收斂條件;
其中:
所述對錨點框與訓練樣本中的人臉標注框進行匹配,包括:
計算各錨點框與各人臉標注框的交除并重疊比;
選取與各人臉標注框的交除并重疊比最大的錨點框,并將所選取的各錨點框與各對應的人臉標注框進行匹配;
判斷去除所選取的錨點框之后,剩余的各錨點框與各人臉標注框的交除并重疊比是否大于預設的第一閾值:若大于則進行匹配;
獲取錨點框匹配數量小于預設的第四數量的人臉標注框,并選取與所述人臉標注框的交除并重疊比大于預設的第二閾值的所有錨點框;所述預設的第一閾值大于預設的第二閾值;
按照所選取的所有錨點框的交除并重疊比由大到小的順序,選取預設的第五數量的錨點框與對應的人臉標注框進行匹配;所述預設的第五數量的取值為錨點框匹配數量大于或等于預設的第四數量的人臉標注框的錨點框平均匹配數量。
第二方面,本發明提供的一種人臉檢測裝置的技術方案是:
所述裝置包括:
檢測結果框獲取模塊,配置為依據預設的人臉檢測模型,獲取待測圖像的多個檢測結果框;
檢測結果框篩選模塊,配置為選取所獲取的多個檢測結果框中滿足預設的篩選條件的檢測結果框;
所述裝置還包括人臉檢測模型構建模塊;所述人臉檢測模型構建模塊,配置為依據深度卷積神經網絡構建的檢測模型,具體包括:
錨點框關聯單元,配置為在深度卷積神經網絡的低卷積層、中卷積層和高卷積層中分別關聯錨點框,并設置各錨點框的邊長;
背景預測概率確定單元,配置為確定所述低卷積層中最淺層所關聯錨點框的背景預測概率;
網絡訓練單元,配置為依據預設的訓練圖像,對所述關聯錨點框的深度卷積神經網絡進行網絡訓練,得到滿足預設的收斂條件的人臉檢測模型。
進一步地,本發明提供的一個優選技術方案為:
所述錨點框關聯單元包括錨點框邊長設置子單元;所述錨點框邊長設置子單元,配置為依據有效感受野的半徑r設置所述錨點框的邊長ascale,具體為:
ascale≈2r
所述錨點框的邊長ascale的約束條件為:
ascale=n×ainterval
其中,所述ainterval為錨點框在待測圖像上的鋪設間隔,所述n為預設的正整數。
進一步地,本發明提供的一個優選技術方案為:
所述背景預測概率確定單元包括:
數據獲取子單元,配置為獲取錨點框為待測圖像中背景的多個預測概率;
數據篩選子單元,配置為選取所獲取的多個預測概率的最大值作為所述錨點框的背景預測概率。
進一步地,本發明提供的一個優選技術方案為:
所述網絡訓練單元包括:
訓練圖像處理子單元,配置為對所述預設的訓練圖像進行數據增廣處理,得到訓練樣本;
正負樣本劃分子單元,配置為對錨點框與所述訓練樣本中的人臉標注框進行匹配,并依據匹配結果將錨點框劃分為正樣本和負樣本;所述正樣本為與人臉標注框匹配的錨點框,所述負樣本為與人臉標注框未匹配的錨點框;
負樣本篩選子單元,配置為采用困難負樣本挖掘方法選取預設的第三數量的負樣本;
網絡更新子單元,配置為依據所述正樣本與所選取的負樣本計算損失函數值,并依據損失函數值更新所述深度卷積神經網絡;對更新后的深度卷積神經網絡重新進行網絡訓練,直至其滿足預設的收斂條件。
其中:
所述正負樣本劃分子單元包括匹配子單元;所述匹配子單元包括:
交除并重疊比計算子單元,配置為計算各錨點框與各人臉標注框的交除并重疊比;
第一匹配子單元,配置為選取與各人臉標注框的交除并重疊比最大的錨點框,并將所選取的各錨點框與各對應的人臉標注框進行匹配;
第二匹配子單元,配置為判斷去除所選取的錨點框之后,剩余的各錨點框與各人臉標注框的交除并重疊比是否大于預設的第一閾值:若大于則進行匹配;所述預設的第一閾值大于預設的第二閾值;
第三匹配子單元,配置為獲取錨點框匹配數量小于預設的第四數量的人臉標注框,并選取與所述人臉標注框的交除并重疊比大于預設的第二閾值的所有錨點框;按照所選取的所有錨點框的交除并重疊比由大到小的順序,選取預設的第五數量的錨點框與對應的人臉標注框進行匹配;所述預設的第五數量的取值為錨點框匹配數量大于或等于預設的第四數量的人臉標注框的錨點框平均匹配數量。
第三方面,本發明提供的一種計算機可讀存儲介質的技術方案是:
所述計算機可讀存儲介質中存儲有計算機程序,其特征在于,所述程序適用于由處理器加載并執行以實現上述技術方案所述的人臉檢測方法中的各步驟。
第四方面,本發明提供的一種計算機設備的技術方案是:
所述計算機設備包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執行所述程序時實現上述技術方案所述的人臉檢測方法中的各步驟。
與現有技術相比,上述技術方案至少具有以下有益效果:
1、本發明提供的一種人臉檢測方法,其依據深度卷積神經網絡構建人臉檢測模型,并在深度卷積神經網絡的低卷積層、中卷積層和高卷積層中分別關聯錨點框,可以對待測圖像中不同尺寸的人臉進行有效檢測。
2、本發明提供的一種人臉檢測裝置,其人臉檢測模型構建模塊可以依據深度卷積神經網絡構建人臉檢測模型,并在深度卷積神經網絡的低卷積層、中卷積層和高卷積層中分別關聯錨點框,可以對待測圖像中不同尺寸的人臉進行有效檢測。
3、本發明提供的一種計算機可讀存儲介質,其存儲有計算機程序,該程序可以適用于由處理器加載并執行以實現上述人臉檢測方法中的各步驟。
4、本發明提供的一種計算機設備,其包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,該處理器執行程序時可以實現上述人臉檢測方法中的各步驟。
附圖說明
圖1是本發明實施例中一種人臉檢測方法的實施流程圖;
圖2是本發明實施例中第一卷積模塊示意圖;
圖3是本發明實施例中第二卷積模塊示意圖;
圖4是本發明實施例中歸一化模塊、預測模塊和輸出模塊示意圖;
圖5是本發明實施例中待測圖像結果示意圖;
其中,1:第一卷積模塊;11:第7個卷積層;12:第10個卷積層;13:第13個卷積層;2:第二卷積模塊;21:第14個卷積層;22:第15個卷積層;23:第16個卷積層;24:第17個卷積層;25:第18個卷積層;26:第19個卷積層;3:歸一化模塊;4:預測模塊;5:背景預測概率最大化模塊;6:輸出模塊。
具體實施方式
下面參照附圖來描述本發明的優選實施方式。本領域技術人員應當理解的是,這些實施方式僅僅用于解釋本發明的技術原理,并非旨在限制本發明的保護范圍。
基于錨點框的人臉檢測方法,通常可以很好地檢測到大尺度人臉,而不能準確檢測小尺度人臉。基于此,本發明提供了一種人臉檢測方法,該方法克服了常規人臉檢測方法的檢測性能隨人臉尺度變小而下降的缺陷,可以適用于不同尺度的人臉檢測。
下面結合附圖,對本發明提供的一種人臉檢測方法進行說明。
圖1示例性示出了本實施例中一種人臉檢測方法的實施流程,如圖所示,本實施例中人臉檢測方法可以包括下述內容:
步驟s101:依據預設的人臉檢測模型,獲取待測圖像的多個檢測結果框。
本實施例中預設的人臉檢測模型為依據深度卷積神經網絡構建的檢測模型,具體地,可以按照下述步驟構建人臉檢測模型:
1、在深度卷積神經網絡的低卷積層、中卷積層和高卷積層中分別關聯錨點框,并設置各錨點框的邊長。
其中,卷積神經網絡包括多個級聯的卷積層,本實施例中按照卷積層與卷積神經網絡的輸入圖像的相對位置,將多個級聯的卷積層劃分為低卷積層、中卷積層和高卷積層,且低卷積層、中卷積層和高卷積層相對于輸入圖像的距離依次增大。同時,本實施例中低卷積層、中卷積層和高卷積層均可以包括一個或多個卷積層。
卷積神經網絡中低卷積層的特征可以很好地表達小尺度人臉,但是由于感受野較小,因而對大尺度人臉的鑒別能力較差。同時,卷積神經網絡中高卷積層的特征可以很好地表達大尺度人臉,而對小尺度人臉的響應會因為特征被壓縮而消失。本實施例中通過在卷積神經網絡中大范圍鋪設錨點框,即在其低卷積層、中卷積層和高卷積層中分別關聯錨點框,可以保證卷積神經網絡可以對不同尺度的人臉進行準確檢測。其中,本實施例中卷積神經網絡所關聯的錨點框為長寬比例為1:1的正方形框。
本實施例提供的一個優選實施方案中,卷積神經網絡包括19個卷積層、1個歸一化模塊、1個預測模塊和1個輸出模塊。其中,19個卷積層依次級聯。下面結合該卷積神經網絡對錨點框的關聯方式進行說明。
圖2示例性示出了本實施例中卷積神經網絡的第一卷積模塊1,該第一卷積模塊1為卷積神經網絡vgg16的卷積模塊。
圖3示例性示出了本實施例中卷積神經網絡的第二卷積模塊2,該第二卷積模塊2為在第一卷積模塊1上額外添加的卷積模塊。
本實施例中以第一卷積模塊1和第二卷積模塊2形成的卷積層結構為基礎,分別在其低卷積層、中卷積層和高卷積層中關聯錨點框。如圖所示,本實施例中低卷積層包括第7個卷積層11和第10個卷積層12,中卷積層包括第13個卷積層13和第15個卷積層22,高卷積層包括第17個卷積層24和第19個卷積層26。本實施例中低卷積層、中卷積層和高卷積層中關聯錨點框,具體為:在第一卷積模塊1的第7個卷積層11、第10個卷積層12和第13個卷積層13中關聯錨點框,在第二卷積模塊2的第15個卷積層22、第17個卷積層24和第19個卷積層26中關聯錨點框。
圖4示例性示出了本實施例中歸一化模塊、預測模塊和輸出模塊,如圖所示,本實施例中歸一化模塊3與第一卷積模塊1中的第7個卷積層11、第10個卷積層12和第13個卷積層13連接。歸一化模塊3的輸出、以及第二卷積模塊2的第15個卷積層22、第17個卷積層24和第19個卷積層26分別與預測模塊4連接。
其中:歸一化模塊3可以用于對第7個卷積層11、第10個卷積層12和第13個卷積層13進行數值歸一化處理。預測模塊4可以輸出人臉檢測框的位置參數和置信度。輸出模塊6在進行網絡訓練時包括softmaxloss層和smoothl1loss層,在對待測圖像進行人臉檢測時包括softmax層和accuracy層。
圖5示例性示出了本實施例中待測圖像的檢測結果,如圖所示,本實施例中待測圖像輸入至第一卷積模塊1,輸出模塊6輸出該待測圖像的人臉檢測框的位置參數和置信度。
本實施例中可以依據有效感受野的半徑r設置錨點框的邊長ascale,具體為:
ascale≈2r(1)
其中:
有效感受野erf是理論感受野trf的很小一部分,且該部分真正決定卷積神經網絡中神經元輸出的像素區域。有效感受野對神經元輸出的影響力,是以理論感受野的中心為原點,呈高斯分布形態,形狀大致為一個圓形區域,具體為:
erf=gaussian(xc,yc)∈trf(2)
公式(2)中各參數含義為:
(xc,yc)為理論感受野trf的中心。
本實施例中卷積神經網絡的6個卷積層所關聯的錨點框對應的理論感受野的大小分別為:48×48、108×108、228×228、340×340、468×468、724×724。相應地,本實施例中有效感受野erf的半徑r和理論感受野trf的邊長d的關系如下式(3)所示:
理論感受野trf是理論上影響卷積神經網絡中神經元輸出的像素區域,具體為:
trf=[xc,yc,w,h](4)
公式(4)中各參數含義為:
w和h分別為理論感受野trf的寬和長。
本實施例中通過匹配錨點框與有效感受野erf,使得卷積神經網絡利用有效感受野erf的信息,對錨點框進行分類和回歸等操作。
進一步地,為保證不同人臉標注框可以匹配到數量相等的錨點框,使得人臉檢測模型公平地對待不同尺度的人臉,本實施例中在不同卷積層上鋪設相同密度的錨點框。基于此,本實施例中可以依據錨點框的鋪設間隔,設置錨點框的邊長。具體地,本實施例中滿足相同鋪設密度的錨點框的邊長ascale的約束條件如下式(5)所示:
ascale=n×ainterval(5)
公式(5)中各參數含義為:
ainterval為錨點框在待測圖像上的鋪設間隔,n為預設的正整數,本實施例中n=4。
例如:本實施例中卷積神經網絡的6個卷積層分別關聯錨點框,這6個錨點框的鋪設間隔分別為4,8,16,32,64,128,邊長分別為16,32,64,128,256,512。根據公式(5)可以得到,各卷積層的錨點框邊長的約束條件為ascale=4×ainterval。
2、確定低卷積層中最淺層所關聯錨點框的背景預測概率,該背景預測概率指的是錨點框為待測圖像中背景的最終預測概率。
其中,最淺層指的是低卷積層中最靠近卷積神經網絡的輸入圖像的卷積層,如圖2所示,本實施例中低卷積層包括第7個卷積層11和第10個卷積層12,該低卷積層的最淺層為第7個卷積層11。如圖4所示,本實施例中背景預測概率最大化模塊5對第7個卷積層11所關聯的錨點框為背景的多個預測概率進行最大化處理。
具體地,本實施例中可以按照下述步驟確定低卷積層中最淺層所關聯錨點框的背景預測概率:
(1)獲取錨點框為待測圖像中背景的多個預測概率,如下式(6)所示:
[b1,b2,b3,...,bnm](6)
(2)選取步驟(1)中所獲取的多個預測概率的最大值作為錨點框的背景預測概率,如下式(7)所示:
b=max(b1,b2,b3,...,bnm)(7)
本實施例中將多個預測概率的最大值設置為錨點框的背景預測概率,可以解決人臉檢測中小錨點框帶來的虛檢問題,提升人臉檢測模型的準確性。
3、依據預設的訓練圖像,對關聯錨點框的深度卷積神經網絡進行網絡訓練,得到滿足預設的收斂條件的人臉檢測模型。
具體地,本實施例中可以按照下述步驟對關聯錨點框的深度卷積神經網絡進行網絡訓練:
(1)將預設的訓練圖像輸入至人臉檢測模型,并對預設的訓練圖像進行數據增廣處理,得到訓練樣本。本實施例中對訓練圖像進行數據增廣處理,可以包括顏色抖動操作、隨機裁剪操作、水平翻轉操作和尺度變換操作:
首先,對訓練圖像進行顏色抖動操作,具體為:分別以0.5的概率,隨機地調整訓練圖像的亮度、對比度和飽和度等參數。
其次,對經過顏色抖動操作后的訓練圖像進行隨機裁剪操作,具體為:隨機裁剪5張正方形的子圖像。其中,1個子圖像是該訓練圖像中最大的正方形子圖像,其余4個子圖像的邊長為訓練圖像短邊的0.3~1.0倍。隨機選取5張子圖像中的1個子圖像作為最終的訓練樣本。
再次,對選取的訓練樣本進行水平翻轉操作,具體為:以0.5的概率隨機進行水平翻轉操作。
最后,對經水平翻轉操作后的訓練樣本進行尺度變換操作,具體為:將該訓練樣本縮放為640×640的圖像。
本實施例中依次對訓練圖像進行顏色抖動操作、隨機裁剪操作、水平翻轉操作和尺度變換操作,可以在不改變圖像類別的情況下,增加數據量,能提高模型的泛化能力。
(2)對錨點框與訓練樣本中的人臉標注框進行匹配,并依據匹配結果將錨點框劃分為正樣本和負樣本。本實施例中正樣本為與人臉標注框匹配的錨點框,負樣本為與人臉標注框未匹配的錨點框。
具體地,本實施例中可以按照下述步驟對錨點框與訓練樣本中的人臉標注框進行匹配:
首先,計算各錨點框與各人臉標注框的交除并重疊比,該交除并重疊比指的是錨點框與人臉標注框的交疊率,可以理解為錨點框與人臉標注框的交集、及錨點框與人臉標注框的并集的比值。
其次,選取與各人臉標注框的交除并重疊比最大的錨點框,并將所選取的各錨點框與各對應的人臉標注框進行匹配。即對于每個人臉標注框,選出與其交除并重疊比最大的一個錨點框進行匹配。
再次,判斷去除所選取的錨點框之后,剩余的各錨點框與各人臉標注框的交除并重疊比是否大于預設的第一閾值:若大于則進行匹配。即判斷剩余的錨點框與人臉標注框的交除并重疊比是否大于預設的第一閾值,如果大于則將對于的錨點框匹配到人臉標注框。
再一次,獲取錨點框匹配數量小于預設的第四數量的人臉標注框,并選取與人臉標注框的交除并重疊比大于預設的第二閾值的所有錨點框。本實施例中錨點框匹配數量小于預設的第四數量的人臉標注框指的是沒有匹配到足夠錨點框的人臉標注框,且預設的第一閾值大于預設的第二閾值。
最后,按照所選取的所有錨點框的交除并重疊比由大到小的順序,選取預設的第五數量的錨點框與對應的人臉標注框進行匹配。本實施例中預設的第五數量的取值為錨點框匹配數量大于或等于預設的第四數量的人臉標注框的錨點框平均匹配數量。本實施例中錨點框平均匹配數量也可以理解為匹配到足夠錨點框的所有人臉標注框所匹配的錨點框數量的平均值。
本實施例提供的一個優選實施方案中第一閾值為0.35,第二閾值為0.1,下面對該優選實施方案進行具體說明。
首先,計算各錨點框與各人臉標注框的交除并重疊比。
其次,選取與各人臉標注框的交除并重疊比最大的錨點框,并將所選取的各錨點框與各對應的人臉標注框進行匹配。
再次,判斷去除所選取的錨點框之后,剩余的各錨點框與各人臉標注框的交除并重疊比是否大于0.35:若大于則進行匹配。本實施例中匹配到足夠錨點框的所有人臉標注框所匹配的錨點框數量的平均值為np。
再一次,獲取錨點框匹配數量小于預設的第四數量的人臉標注框,并選取與人臉標注框的交除并重疊比大于0.1的所有錨點框。本實施例中交除并重疊比大于0.1的所有錨點框如下式(8)所示:
[a1,a2,a3...ai...an](8)
公式(8)中各參數含義為:
ai表示錨點框的位置和大小。
最后,按照所選取的所有錨點框的交除并重疊比由大到小的順序,選取預設的第五數量的錨點框與對應的人臉標注框進行匹配。
本實施例中對公式(8)所示的錨點框進行交除并重疊比降序排列可以得到:
[a1,a2,a3...aj...an](9)
公式(9)中各參數含義為:
aj表示交除并重疊比降序排列后第j個錨點框的位置和大小。
(3)采用困難負樣本挖掘方法選取預設的第三數量的負樣本。具體地,本實施例中可以按照下述步驟選取負樣本:
計算所有負樣本分類預測所帶來的誤差值,并按照誤差值由大到小的順序選取nneg個負樣本,使得負樣本與正樣本具有下述關系:
nneg=3npos(10)
公式(10)中各參數含義為:
npos為正樣本的數量。
(4)依據正樣本與所選取的負樣本計算損失函數值,并依據損失函數值更新深度卷積神經網絡。本實施例中可以采用隨機梯度下降法,反向傳播誤差,對深度卷積神經網絡更新,從而完成一次網絡訓練。
本實施例中損失函數如下式(11)所示:
公式(11)中各參數含義為:
i是錨點框的標號。pi為第i個錨點框被預測為人臉的概率。
具體地,ti和
公式(12)和(13)中各參數含義為:
(x,y)為預測的人臉邊界框的中心坐標,w和h分別為預測的人臉邊界框的寬和長。x、xa和x*分別表示預測的人臉邊界框、錨點框和人臉標注框。
具體地,分類損失lcls如下式(14)所示:
進一步地,本實施例中采用魯棒回歸損失函數(smoothl1),可以得到如下式(15)所示的回歸損失函數:
其中:
由公式(11)可知,兩項損失函數分別依據ncls和nreg歸一化,并由加權系數λ加權,可得:
同時,由公式(10)可知正樣本npos與負樣本nneg的比例為1:3,因此設置加權系數λ=4,使得分類損失lcls與回歸損失lreg具有相同水平的權重值。
(5)對更新后的深度卷積神經網絡重新進行網絡訓練,直至其滿足預設的收斂條件。本實施例中可以通過重復執行步驟(1)~(4),得到滿足預設的收斂條件的網絡模型,即人臉檢測模型。
步驟s102:選取所獲取的多個檢測結果框中滿足預設的篩選條件的檢測結果框。
本實施例中預設的篩選條件包括第一篩選條件和第二篩選條件。其中,第一篩選條件為檢測結果框的置信度大于預設的第一置信度閾值。第二篩選條件為檢測結果框的數量大于預設的第一數量。
具體地,本實施例中可以按照下述步驟獲取滿足預設的篩選條件的檢測結果框:
1、獲取多個檢測結果框中滿足第一篩選條件的第一檢測結果框,并按照第一檢測結果框的置信度由高到低的順序,選取預設的第二數量的第一檢測結果框。本實施例中在人臉檢測模型輸出的大量檢測結果框的情況下,通過設置置信度閾值刪除大部分的檢測結果框。
2、采用非極大值抑制算法去除所選取的第一檢測結果框中重復的檢測結果框后,得到第二檢測結果框。
3、按照第二檢測結果框的置信度由高到低的順序,選取預設的第一數量的第二檢測結果框。其中,預設的第二數量大于預設的第一數量。
4、選取第二檢測結果框中置信度大于預設的第二置信度閾值的檢測結果框作為最佳人臉檢測框。其中,預設的第二置信度閾值大于預設的第一置信度閾值。
本實施例提供的一個優選實施方案中第二數量na=400,第一數量nb=200,第一置信度閾值為0.05,第二置信度閾值為0.8,下面對該優選實施方案進行具體說明。
1、選取人臉檢測模型輸出的檢測結果框中置信度大于0.05的檢測結果框。
2、將步驟1選取的檢測結果框按照置信度降序排列,選取前400個檢測結果框。
3、采用非極大值抑制算法去除步驟2中選取的400個檢測結果框中重復的檢測結果框。
4、將步驟3得到的檢測結果框按照置信度降序排列,選取前200個檢測結果框。
5、選取步驟4中得到的200個檢測結果框中置信度大于0.8的檢測結果框,并將所選取的檢測結果框作為最佳人臉檢測框。
上述實施例中雖然將各個步驟按照上述先后次序的方式進行了描述,但是本領域技術人員可以理解,為了實現本實施例的效果,不同的步驟之間不必按照這樣的次序執行,其可以同時(并行)執行或以顛倒的次序執行,這些簡單的變化都在本發明的保護范圍之內。
基于與方法實施例相同的技術構思,本發明實施例還提供了一種人臉檢測裝置。下面對該人臉檢測裝置進行具體說明。
本實施例中人臉檢測裝置可以包括檢測結果框獲取模塊、檢測結果框篩選模塊和人臉檢測模型構建模塊。其中,檢測結果框獲取模塊可以配置為依據預設的人臉檢測模型,獲取待測圖像的多個檢測結果框。檢測結果框篩選模塊可以配置為選取所獲取的多個檢測結果框中滿足預設的篩選條件的檢測結果框。人臉檢測模型構建模塊可以配置為依據深度卷積神經網絡構建的檢測模型。
具體地,本實施例中人臉檢測模型構建模塊可以包括錨點框關聯單元、背景預測概率確定單元和網絡訓練單元。其中,錨點框關聯單元可以配置為在深度卷積神經網絡的低卷積層、中卷積層和高卷積層中分別關聯錨點框,并設置各錨點框的邊長。背景預測概率確定單元可以配置為確定低卷積層中最淺層所關聯錨點框的背景預測概率。網絡訓練單元可以配置為依據預設的訓練圖像,對關聯錨點框的深度卷積神經網絡進行網絡訓練,得到滿足預設的收斂條件的人臉檢測模型。
其中:
本實施例中錨點框關聯單元可以包括錨點框邊長設置子單元。錨點框邊長設置子單元可以配置為依據有效感受野的半徑r設置錨點框的邊長ascale,如公式(1)所示。同時,錨點框的邊長ascale的約束條件如公式(5)所示。
本實施例中背景預測概率確定單元可以包括數據獲取子單元和數據篩選子單元。其中,數據獲取子單元可以配置為獲取錨點框為待測圖像中背景的多個預測概率。數據篩選子單元可以配置為選取所獲取的多個預測概率的最大值作為錨點框的背景預測概率。
本實施例中網絡訓練單元可以包括訓練圖像處理子單元、正負樣本劃分子單元、負樣本篩選子單元和網絡更新子單元。其中,訓練圖像處理子單元可以配置為對預設的訓練圖像進行數據增廣處理,得到訓練樣本。正負樣本劃分子單元可以配置為對錨點框與訓練樣本中的人臉標注框進行匹配,并依據匹配結果將錨點框劃分為正樣本和負樣本;其中,正樣本為與人臉標注框匹配的錨點框,負樣本為與人臉標注框未匹配的錨點框。負樣本篩選子單元可以配置為采用困難負樣本挖掘方法選取預設的第三數量的負樣本。網絡更新子單元可以配置為依據正樣本與所選取的負樣本計算損失函數值,并依據損失函數值更新深度卷積神經網絡;對更新后的深度卷積神經網絡重新進行網絡訓練,直至其滿足預設的收斂條件。
本實施例中正負樣本劃分子單元可以包括匹配子單元,該匹配子單元可以包括交除并重疊比計算子單元、第一匹配子單元、第二匹配子單元和第三匹配子單元。其中,交除并重疊比計算子單元可以配置為計算各錨點框與各人臉標注框的交除并重疊比。第一匹配子單元可以配置為選取與各人臉標注框的交除并重疊比最大的錨點框,并將所選取的各錨點框與各對應的人臉標注框進行匹配。第二匹配子單元可以配置為判斷去除所選取的錨點框之后,剩余的各錨點框與各人臉標注框的交除并重疊比是否大于預設的第一閾值:若大于則進行匹配。第三匹配子單元可以配置為獲取錨點框匹配數量小于預設的第四數量的人臉標注框,并選取與人臉標注框的交除并重疊比大于預設的第二閾值的所有錨點框;按照所選取的所有錨點框的交除并重疊比由大到小的順序,選取預設的第五數量的錨點框與對應的人臉標注框進行匹配。其中,預設的第一閾值大于預設的第二閾值,預設的第五數量的取值為錨點框匹配數量大于或等于預設的第四數量的人臉標注框的錨點框平均匹配數量。
進一步地,本實施例中檢測結果框篩選模塊可以包括下述結構,具體為:
本實施例中檢測結果框篩選模塊可以包括第一篩選單元、第二篩選單元和第三篩選單元。
其中:
第一篩選單元可以配置為獲取多個檢測結果框中滿足第一篩選條件的第一檢測結果框,并按照第一檢測結果框的置信度由高到低的順序,選取預設的第二數量的第一檢測結果框。
第二篩選單元可以配置為采用非極大值抑制算法去除所選取的第一檢測結果框中重復的檢測結果框后,得到第二檢測結果框。
第三篩選單可以,配置為按照第二檢測結果框的置信度由高到低的順序,選取預設的第一數量的第二檢測結果框;并將所選取的第二檢測結果框中置信度大于預設的第二置信度閾值的檢測結果框作為最佳人臉檢測框。
本實施例中預設的篩選條件包括第一篩選條件和第二篩選條件;第一篩選條件為檢測結果框的置信度大于預設的置信度閾值;第二篩選條件為檢測結果框的數量大于預設的第一數量。預設的第二數量大于預設的第一數量。
上述人臉檢測裝置實施例可以用于執行上述人臉檢測方法實施例,其技術原理、所解決的技術問題及產生的技術效果相似,所屬技術領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的人臉檢測的具體工作過程及有關說明,可以參考前述人臉檢測方法實施例中的對應過程,在此不再贅述。
本領域技術人員可以理解,上述人臉檢測裝置還包括一些其他公知結構,例如處理器、控制器、存儲器等,其中,存儲器包括但不限于隨機存儲器、閃存、只讀存儲器、可編程只讀存儲器、易失性存儲器、非易失性存儲器、串行存儲器、并行存儲器或寄存器等,處理器包括但不限于cpld/fpga、dsp、arm處理器、mips處理器等。
本領域技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變并且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
本發明的各個部件實施例可以以硬件實現,或者以在一個或者多個處理器上運行的軟件模塊實現,或者以它們的組合實現。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數字信號處理器(dsp)來實現根據本發明實施例的服務器、客戶端中的一些或者全部部件的一些或者全部功能。本發明還可以實現為用于執行這里所描述的方法的一部分或者全部的設備或者裝置程序(例如,pc程序和pc程序產品)。這樣的實現本發明的程序可以存儲在pc可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網網站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
應該注意的是上述實施例對本發明進行說明而不是對本發明進行限制,并且本領域技術人員在不脫離所附權利要求的范圍的情況下可設計出替換實施例。在權利要求中,不應將位于括號之間的任何參考符號構造成對權利要求的限制。單詞“包含”不排除存在未列在權利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發明可以借助于包括有若干不同元件的硬件以及借助于適當編程的pc來實現。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
基于與方法實施例相同的技術構思,本發明實施例還提供了一種計算機可讀存儲介質。下面對該計算機可讀存儲介質進行具體說明。
本實施例中計算機可讀存儲介質中存儲有計算機程序,該計算機程序可以適用于由處理器加載并執行以實現上述人臉檢測方法實施例中的各步驟。
基于與方法實施例相同的技術構思,本發明實施例還提供了一種計算機設備。下面對該計算機設備進行具體說明。
本實施例中計算機設備可以包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序。其中,處理器可以在執行計算機程序時實現上述人臉檢測方法實施例中的各步驟。
此外,本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發明的范圍之內并且形成不同的實施例。例如,在本發明的權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
至此,已經結合附圖所示的優選實施方式描述了本發明的技術方案,但是,本領域技術人員容易理解的是,本發明的保護范圍顯然不局限于這些具體實施方式。在不偏離本發明的原理的前提下,本領域技術人員可以對相關技術特征作出等同的更改或替換,這些更改或替換之后的技術方案都將落入本發明的保護范圍之內。