本技術(shù)涉及圖像處理,特別是涉及人臉檢測模型的訓練方法、檢測方法、裝置、設(shè)備及介質(zhì)。
背景技術(shù):
1、人臉檢測是計算機視覺和模式識別領(lǐng)域的研究熱點與難點。人臉檢測是指對于任意一幅給定的圖像,采用一定策略對圖像進行搜索以確定圖像中是否包括有人臉,如果圖像中包括人臉,則獲取人臉的位置、大小以及姿態(tài)。人臉檢測在智能交通、身份識別、情緒分析等領(lǐng)域已得到廣泛應用。
2、在進行人臉檢測的場景中,圖像中的人臉可能會出現(xiàn)旋轉(zhuǎn)的情況,也就是說,人臉在圖像中存在一定旋轉(zhuǎn)角度,并不是豎直的狀態(tài),即圖像中人臉的兩眼中點連線與水平面不平行,例如,用戶上傳的證件照中人臉可能是上下倒置的等。那么在采用目前的人臉檢測模型對這樣的圖像進行人臉檢測時,容易出現(xiàn)人臉的誤檢和漏檢,人臉檢測準確度低。
技術(shù)實現(xiàn)思路
1、本技術(shù)實施例的目的在于提供人臉檢測模型的訓練方法、檢測方法、裝置、設(shè)備及介質(zhì),以減少圖像中人臉誤檢和漏檢,提高人臉檢測準確度。具體技術(shù)方案如下:
2、第一方面,本技術(shù)實施例提供了一種人臉檢測模型的訓練方法,所述方法包括:
3、獲取多個訓練圖像以及每個訓練圖像對應的標定標簽;
4、將所述每個訓練圖像輸入至初始人臉檢測模型,獲得所述每個訓練圖像包括的各區(qū)域?qū)念A測標簽;
5、針對每個訓練圖像,根據(jù)該訓練圖像包括的各區(qū)域?qū)念A測標簽與標定標簽之間的差異以及該訓練圖像中人臉的旋轉(zhuǎn)角度與預設(shè)角度閾值范圍之間的關(guān)系,確定該訓練圖像中的正樣本和負樣本;
6、基于所述正樣本對應的預測標簽與標定標簽之間的差異,以及所述負樣本對應的預測標簽與標定標簽之間的差異,計算人臉檢測損失;
7、基于所述人臉檢測損失調(diào)整所述初始人臉檢測模型的參數(shù),直到所述初始人臉檢測模型滿足收斂條件,得到所述人臉檢測模型,其中,所述人臉檢測模型用于對輸入的待檢測圖像進行人臉檢測,并在所述待檢測圖像中的人臉的旋轉(zhuǎn)角度在所述預設(shè)角度閾值范圍內(nèi)時輸出人臉檢測結(jié)果,在所述待檢測圖像中的人臉的旋轉(zhuǎn)角度不在所述預設(shè)角度閾值范圍內(nèi)時不輸出人臉檢測結(jié)果。
8、可選的,所述根據(jù)該訓練圖像包括的各區(qū)域?qū)念A測標簽與標定標簽之間的差異以及該訓練圖像中人臉的旋轉(zhuǎn)角度與預設(shè)角度閾值范圍之間的關(guān)系,確定該訓練圖像中的正樣本和負樣本的步驟,包括:
9、基于該訓練圖像對應的標定標簽的中心點位置,從該訓練圖像包括的各區(qū)域中確定正樣本候選區(qū)域;
10、根據(jù)每個正樣本候選區(qū)域?qū)念A測標簽與標定標簽之間的差異,以及該訓練圖像中人臉的旋轉(zhuǎn)角度與預設(shè)角度閾值范圍之間的關(guān)系,確定該訓練圖像中的正樣本的正樣本數(shù)量;
11、針對每個正樣本候選區(qū)域,基于該正樣本候選區(qū)域?qū)念A測標簽與標定標簽之間的差異,計算該正樣本候選區(qū)域?qū)哪繕藫p失,其中,所述目標損失包括位置先驗損失、樣本回歸損失以及樣本分類損失;
12、基于所述每個正樣本候選區(qū)域?qū)哪繕藫p失,從所述正樣本候選區(qū)域中確定所述正樣本數(shù)量個正樣本候選區(qū)域,作為正樣本;
13、將該訓練圖像中除所述正樣本之外的其他區(qū)域,確定為負樣本。
14、可選的,所述根據(jù)每個正樣本候選區(qū)域?qū)念A測標簽與標定標簽之間的差異,以及該訓練圖像中人臉的旋轉(zhuǎn)角度與預設(shè)角度閾值范圍之間的關(guān)系,確定該訓練圖像中的正樣本的正樣本數(shù)量的步驟,包括:
15、針對每個正樣本候選區(qū)域,計算該正樣本候選區(qū)域?qū)念A測標簽與標定標簽之間的交并比;
16、將所述交并比中最大的預設(shè)數(shù)量個交并比進行求和,得到求和結(jié)果;
17、對所述求和結(jié)果進行取整,作為所述標定標簽所對應的候選正樣本數(shù)量;
18、基于所述候選正樣本數(shù)量以及該訓練圖像中人臉的旋轉(zhuǎn)角度與預設(shè)角度閾值范圍之間的關(guān)系,確定該訓練圖像中的正樣本的正樣本數(shù)量。
19、可選的,所述基于所述候選正樣本數(shù)量以及該訓練圖像中人臉的旋轉(zhuǎn)角度與預設(shè)角度閾值范圍之間的關(guān)系,確定該訓練圖像中的正樣本的正樣本數(shù)量的步驟,包括:
20、基于該訓練圖像中人臉的旋轉(zhuǎn)角度與預設(shè)角度閾值范圍之間的關(guān)系以及預設(shè)系數(shù)確定規(guī)則,計算該訓練圖像對應的數(shù)量系數(shù),其中,所述預設(shè)系數(shù)確定規(guī)則使得:人臉的旋轉(zhuǎn)角度在所述預設(shè)角度閾值范圍內(nèi)時,所述數(shù)量系數(shù)為第一預設(shè)值;人臉的旋轉(zhuǎn)角度在第一預設(shè)范圍內(nèi)時,所述數(shù)量系數(shù)為第二預設(shè)值;人臉的旋轉(zhuǎn)角度在第二預設(shè)范圍內(nèi)時,所述數(shù)量系數(shù)為0,所述第二預設(shè)范圍大于所述第一預設(shè)范圍大于所述預設(shè)角度閾值范圍,所述第一預設(shè)值大于所述第二預設(shè)值大于0;
21、將所述數(shù)量系數(shù)與所述候選正樣本數(shù)量的乘積,確定為該訓練圖像中的正樣本的正樣本數(shù)量。
22、可選的,所述基于該訓練圖像中人臉的旋轉(zhuǎn)角度與預設(shè)角度閾值范圍之間的關(guān)系以及預設(shè)系數(shù)確定規(guī)則,計算該訓練圖像對應的數(shù)量系數(shù)的步驟,包括:
23、基于該訓練圖像中人臉的旋轉(zhuǎn)角度與預設(shè)角度閾值范圍之間的關(guān)系以及如下公式所示的預設(shè)系數(shù)確定規(guī)則,計算該訓練圖像對應的數(shù)量系數(shù);
24、
25、其中,x為所述人臉的旋轉(zhuǎn)角度,[0,θ)為所述預設(shè)角度閾值范圍,[θ,90)為所述第一預設(shè)范圍,[90,180]為所述第二預設(shè)范圍。
26、可選的,所述基于該正樣本候選區(qū)域?qū)念A測標簽與標定標簽之間的差異,計算該正樣本候選區(qū)域?qū)哪繕藫p失的步驟,包括:
27、獲取該正樣本候選區(qū)域?qū)闹眯哦龋?/p>
28、根據(jù)該正樣本候選區(qū)域?qū)念A測標簽的中心點位置坐標,以及標定標簽的中心點位置坐標,按照如下公式計算該正樣本候選區(qū)域?qū)念A測標簽的中心點位置與所述標定標簽的中心點位置之間的先驗中心距離;
29、
30、其中,centergt用于表示所述預測標簽的中心點位置坐標,centerpos_box用于表示所述標定標簽的中心點位置坐標;
31、基于該正樣本候選區(qū)域?qū)闹眯哦群徒徊⒈龋凑杖缦鹿接嬎阍撜龢颖竞蜻x區(qū)域的損失,其中,所述損失包括樣本回歸損失以及樣本分類損失;
32、costiou,conf=iouα+confβ
33、其中,iou為所述交并比,conf為所述置信度,α為第一預設(shè)閾值,β為第二預設(shè)閾值;
34、基于所述先驗中心距離、所述損失,按照如下公式計算得到該正樣本候選區(qū)域?qū)哪繕藫p失:
35、cost=f(x)costiou,conf+(1-f(x))dist(gt,posbox)
36、其中,f(x)為所述數(shù)量系數(shù)。
37、可選的,所述基于所述每個正樣本候選區(qū)域?qū)哪繕藫p失,從所述正樣本候選區(qū)域中確定所述正樣本數(shù)量個正樣本候選區(qū)域,作為正樣本的步驟,包括:
38、基于所述每個正樣本候選區(qū)域?qū)哪繕藫p失,將所述目標損失中最小的正樣本數(shù)量個目標損失所對應的正樣本候選區(qū)域,作為正樣本。
39、第二方面,本技術(shù)實施例提供了一種人臉檢測方法,所述方法包括:
40、獲取待檢測圖像;
41、將所述待檢測圖像輸入至預先訓練的人臉檢測模型,確定所述人臉檢測模型是否輸出人臉檢測結(jié)果,其中,所述人臉檢測模型為預先根據(jù)上述第一方面任一所述的方法訓練得到的;
42、如果所述人臉檢測模型未輸出人臉檢測結(jié)果,按照預設(shè)方向以及預設(shè)角度對所述待檢測圖像進行旋轉(zhuǎn),得到旋轉(zhuǎn)后的待檢測圖像,作為待檢測圖像,其中,所述預設(shè)角度基于所述預設(shè)角度閾值范圍確定;
43、返回所述將所述待檢測圖像輸入至預先訓練的人臉檢測模型的步驟,直到所述人臉檢測模型輸出人臉檢測結(jié)果,或,所述待檢測圖像旋轉(zhuǎn)至初始狀態(tài);
44、如果所述人臉檢測模型輸出人臉檢測結(jié)果,確定所述人臉檢測結(jié)果為所述待檢測圖像的人臉檢測結(jié)果。
45、可選的,所述預設(shè)角度使得所述待檢測圖像在旋轉(zhuǎn)過程中,所述待檢測圖像中的人臉的旋轉(zhuǎn)角度至少一次屬于所述預設(shè)角度閾值范圍。
46、第三方面,本技術(shù)實施例提供了一種人臉檢測模型的訓練裝置,所述裝置包括:
47、第一獲取模塊,用于獲取多個訓練圖像以及每個訓練圖像對應的標定標簽;
48、第二獲取模塊,用于將所述每個訓練圖像輸入至初始人臉檢測模型,獲得所述每個訓練圖像包括的各區(qū)域?qū)念A測標簽;
49、正負樣本確定模塊,用于針對每個訓練圖像,根據(jù)該訓練圖像包括的各區(qū)域?qū)念A測標簽與標定標簽之間的差異以及該訓練圖像中人臉的旋轉(zhuǎn)角度與預設(shè)角度閾值范圍之間的關(guān)系,確定該訓練圖像中的正樣本和負樣本;
50、人臉檢測損失計算模塊,用于基于所述正樣本對應的預測標簽與標定標簽之間的差異,以及所述負樣本對應的預測標簽與標定標簽之間的差異,計算人臉檢測損失;
51、第三獲取模塊,用于基于所述人臉檢測損失調(diào)整所述初始人臉檢測模型的參數(shù),直到所述初始人臉檢測模型滿足收斂條件,得到所述人臉檢測模型,其中,所述人臉檢測模型用于對輸入的待檢測圖像進行人臉檢測,并在所述待檢測圖像中的人臉的旋轉(zhuǎn)角度在所述預設(shè)角度閾值范圍內(nèi)時輸出人臉檢測結(jié)果,在所述待檢測圖像中的人臉的旋轉(zhuǎn)角度不在所述預設(shè)角度閾值范圍內(nèi)時不輸出人臉檢測結(jié)果。
52、可選的,所述正負樣本確定模塊,包括:
53、正樣本候選區(qū)域確定單元,用于基于該訓練圖像對應的標定標簽的中心點位置,從該訓練圖像包括的各區(qū)域中確定正樣本候選區(qū)域;
54、正樣本數(shù)量確定單元,用于根據(jù)每個正樣本候選區(qū)域?qū)念A測標簽與標定標簽之間的差異,以及該訓練圖像中人臉的旋轉(zhuǎn)角度與預設(shè)角度閾值范圍之間的關(guān)系,確定該訓練圖像中的正樣本的正樣本數(shù)量;
55、目標損失計算單元,用于針對每個正樣本候選區(qū)域,基于該正樣本候選區(qū)域?qū)念A測標簽與標定標簽之間的差異,計算該正樣本候選區(qū)域?qū)哪繕藫p失,其中,所述目標損失包括位置先驗損失、樣本回歸損失以及樣本分類損失;
56、正樣本確定單元,用于基于所述每個正樣本候選區(qū)域?qū)哪繕藫p失,從所述正樣本候選區(qū)域中確定所述正樣本數(shù)量個正樣本候選區(qū)域,作為正樣本;
57、負樣本確定單元,用于將該訓練圖像中除所述正樣本之外的其他區(qū)域,確定為負樣本。
58、可選的,所述正樣本數(shù)量確定單元,包括:
59、交并比確定子單元,用于針對每個正樣本候選區(qū)域,計算該正樣本候選區(qū)域?qū)念A測標簽與標定標簽之間的交并比;
60、求和結(jié)果獲取子單元,用于將所述交并比中最大的預設(shè)數(shù)量個交并比進行求和,得到求和結(jié)果;
61、候選正樣本數(shù)量獲取子單元,用于對所述求和結(jié)果進行取整,作為所述標定標簽所對應的候選正樣本數(shù)量;
62、正樣本數(shù)量確定子單元,用于基于所述候選正樣本數(shù)量以及該訓練圖像中人臉的旋轉(zhuǎn)角度與預設(shè)角度閾值范圍之間的關(guān)系,確定該訓練圖像中的正樣本的正樣本數(shù)量。
63、可選的,所述正樣本數(shù)量確定子單元,包括:
64、數(shù)量系數(shù)計算子單元,用于基于該訓練圖像中人臉的旋轉(zhuǎn)角度與預設(shè)角度閾值范圍之間的關(guān)系以及預設(shè)系數(shù)確定規(guī)則,計算該訓練圖像對應的數(shù)量系數(shù),其中,所述預設(shè)系數(shù)確定規(guī)則使得:人臉的旋轉(zhuǎn)角度在所述預設(shè)角度閾值范圍內(nèi)時,所述數(shù)量系數(shù)為第一預設(shè)值;人臉的旋轉(zhuǎn)角度在第一預設(shè)范圍內(nèi)時,所述數(shù)量系數(shù)為第二預設(shè)值;人臉的旋轉(zhuǎn)角度在第二預設(shè)范圍內(nèi)時,所述數(shù)量系數(shù)為0,所述第二預設(shè)范圍大于所述第一預設(shè)范圍大于所述預設(shè)角度閾值范圍,所述第一預設(shè)值大于所述第二預設(shè)值大于0;
65、第一確定子單元,用于將所述數(shù)量系數(shù)與所述候選正樣本數(shù)量的乘積,確定為該訓練圖像中的正樣本的正樣本數(shù)量。
66、可選的,所述數(shù)量系數(shù)計算子單元,包括:
67、第一計算子單元,用于基于該訓練圖像中人臉的旋轉(zhuǎn)角度與預設(shè)角度閾值范圍之間的關(guān)系以及如下公式所示的預設(shè)系數(shù)確定規(guī)則,計算該訓練圖像對應的數(shù)量系數(shù);
68、
69、其中,x為所述人臉的旋轉(zhuǎn)角度,[0,θ)為所述預設(shè)角度閾值范圍,[θ,90)為所述第一預設(shè)范圍,[90,180]為所述第二預設(shè)范圍。
70、可選的,所述目標損失計算單元,包括:
71、置信度獲取子單元,用于獲取該正樣本候選區(qū)域?qū)闹眯哦龋?/p>
72、先驗中心距離計算子單元,用于根據(jù)該正樣本候選區(qū)域?qū)念A測標簽的中心點位置坐標,以及標定標簽的中心點位置坐標,按照如下公式計算該正樣本候選區(qū)域?qū)念A測標簽的中心點位置與所述標定標簽的中心點位置之間的先驗中心距離;
73、
74、其中,centergt用于表示所述預測標簽的中心點位置坐標,centerpos_box用于表示所述標定標簽的中心點位置坐標;
75、損失計算子單元,用于基于該正樣本候選區(qū)域?qū)闹眯哦群徒徊⒈龋凑杖缦鹿接嬎阍撜龢颖竞蜻x區(qū)域的損失,其中,所述損失包括樣本回歸損失以及樣本分類損失;
76、costiou,conf=iouα+confβ
77、其中,iou為所述交并比,conf為所述置信度,α為第一預設(shè)閾值,β為第二預設(shè)閾值;
78、目標損失計算子單元,用于基于所述先驗中心距離、所述損失,按照如下公式計算得到該正樣本候選區(qū)域?qū)哪繕藫p失:
79、cost=f(x)costiou,conf+(1-f(x))dist(gt,posbox)
80、其中,f(x)為所述數(shù)量系數(shù)。
81、可選的,所述正樣本確定單元,包括:
82、正樣本確定子單元,用于基于所述每個正樣本候選區(qū)域?qū)哪繕藫p失,將所述目標損失中最小的正樣本數(shù)量個目標損失所對應的正樣本候選區(qū)域,作為正樣本。
83、第四方面,本技術(shù)實施例提供了一種人臉檢測裝置,所述裝置包括:
84、待檢測圖像獲取模塊,用于獲取待檢測圖像;
85、檢測結(jié)果判斷模塊,用于將所述待檢測圖像輸入至預先訓練的人臉檢測模型,確定所述人臉檢測模型是否輸出人臉檢測結(jié)果,其中,所述人臉檢測模型為預先根據(jù)訓練圖像包括的正樣本和負樣本訓練得到的,所述正樣本為所述訓練圖像中用于預測人臉的樣本,所述負樣本為所述訓練圖像中不用于預測人臉的樣本,所述正樣本的數(shù)量和所述負樣本的數(shù)量是基于所述訓練圖像中人臉的旋轉(zhuǎn)角度與預設(shè)角度閾值范圍確定的;
86、待檢測圖像旋轉(zhuǎn)模塊,如果所述人臉檢測模型未輸出人臉檢測結(jié)果,按照預設(shè)方向以及預設(shè)角度對所述待檢測圖像進行旋轉(zhuǎn),得到旋轉(zhuǎn)后的待檢測圖像,作為待檢測圖像,其中,所述預設(shè)角度基于所述預設(shè)角度閾值范圍確定;
87、檢測結(jié)果獲取模塊,用于返回所述將所述待檢測圖像輸入至預先訓練的人臉檢測模型的步驟,直到所述人臉檢測模型輸出人臉檢測結(jié)果,或,所述待檢測圖像旋轉(zhuǎn)至初始狀態(tài);
88、人臉檢測結(jié)果確定模塊,用于如果所述人臉檢測模型輸出人臉檢測結(jié)果,確定所述人臉檢測結(jié)果為所述待檢測圖像的人臉檢測結(jié)果。
89、可選的,所述預設(shè)角度使得所述待檢測圖像在旋轉(zhuǎn)過程中,所述待檢測圖像中的人臉的旋轉(zhuǎn)角度至少一次屬于所述預設(shè)角度閾值范圍。
90、第五方面,本技術(shù)實施例提供了一種電子設(shè)備,包括:
91、存儲器,用于存放計算機程序;
92、處理器,用于執(zhí)行存儲器上所存放的程序時,實現(xiàn)上述第一方面或第二方面任一所述的方法。
93、第六方面,本技術(shù)實施例提供了一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)內(nèi)存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)上述第一方面或第二方面任一所述的方法。
94、本技術(shù)實施例有益效果:
95、本技術(shù)實施例提供的方案,電子設(shè)備可以獲取多個訓練圖像以及每個訓練圖像對應的標定標簽;將每個訓練圖像輸入至初始人臉檢測模型,獲得每個訓練圖像包括的各區(qū)域?qū)念A測標簽;針對每個訓練圖像,根據(jù)該訓練圖像包括的各區(qū)域?qū)念A測標簽與標定標簽之間的差異以及該訓練圖像中人臉的旋轉(zhuǎn)角度與預設(shè)角度閾值范圍之間的關(guān)系,確定該訓練圖像中的正樣本和負樣本;基于正樣本對應的預測標簽與標定標簽之間的差異,以及負樣本對應的預測標簽與標定標簽之間的差異,計算人臉檢測損失;基于人臉檢測損失調(diào)整初始人臉檢測模型的參數(shù),直到初始人臉檢測模型滿足收斂條件,得到人臉檢測模型。其中,人臉檢測模型用于對輸入的待檢測圖像進行人臉檢測,并在待檢測圖像中的人臉的旋轉(zhuǎn)角度在預設(shè)角度閾值范圍內(nèi)時輸出人臉檢測結(jié)果,在待檢測圖像中的人臉的旋轉(zhuǎn)角度不在預設(shè)角度閾值范圍內(nèi)時不輸出人臉檢測結(jié)果。由于人臉檢測模型是基于正樣本和負樣本訓練得到的,正樣本的數(shù)量和負樣本是根據(jù)訓練圖像包括的各區(qū)域?qū)念A測標簽與標定標簽之間的差異以及該訓練圖像中人臉的旋轉(zhuǎn)角度與預設(shè)角度閾值范圍之間的關(guān)系確定的,用于對輸入的待檢測圖像來說,在待檢測圖像中的人臉的旋轉(zhuǎn)角度在預設(shè)角度閾值范圍內(nèi)時,人臉檢測模型輸出人臉檢測結(jié)果,在待檢測圖像中的人臉的旋轉(zhuǎn)角度不在預設(shè)角度閾值范圍內(nèi)時,人臉檢測模型不輸出人臉檢測結(jié)果。因此利用該人臉檢測模型進行人臉檢測時,可以在人臉的旋轉(zhuǎn)角度在預設(shè)角度閾值范圍內(nèi)時輸出人臉檢測結(jié)果,在人臉的旋轉(zhuǎn)角度超出預設(shè)角度閾值范圍時抑制輸出人臉檢測結(jié)果,這樣可以減少圖像中人臉誤檢和漏檢,提高人臉檢測準確度。當然,實施本技術(shù)的任一產(chǎn)品或方法并不一定需要同時達到以上所述的所有優(yōu)點。