本發(fā)明涉及圖像處理領(lǐng)域,具體而言,涉及一種人臉區(qū)域的確定方法和裝置。
背景技術(shù):
人臉識別,是基于人的臉部特征信息進(jìn)行身份識別的一種生物識別技術(shù)。用攝像機或攝像頭采集含有人臉的圖像或視頻流,并自動在圖像中檢測和跟蹤人臉,進(jìn)而對檢測到的人臉進(jìn)行臉部的一系列相關(guān)技術(shù),通常也叫做人像識別、面部識別。
人臉檢測作為人臉識別、人臉關(guān)鍵點定位、人臉檢索等應(yīng)用的基礎(chǔ),一直以來受到廣泛研究。人臉檢測是從給定的一幅圖像中,采用一定的方式判斷圖像中是否存在人臉,如果存在,則給出人臉的大小和位置,如圖1所示,對左側(cè)的圖像進(jìn)行檢測,得到右側(cè)圖像,并標(biāo)識出人臉區(qū)域(即虛線區(qū)域)。
雖然人類可以很容易的從一幅圖像中找出人臉,但要計算機自動地檢測出人臉仍然存在困難,其主要的難點來自于以下兩個方面:人臉本身可以存在多種形式的細(xì)節(jié)變化,如不同的膚色、臉型、表情和人臉姿態(tài)帶來的變化;圖像中的人臉還會受到多種外部因素的影響,如光照、相機抖動、人臉上的裝飾物帶來的遮擋等。
在相關(guān)技術(shù)中,人臉檢測方法多種多樣,可以分為基于特征的檢測方法和基于統(tǒng)計模型的檢測方法。基于特征的人臉檢測方法主要是基于一些經(jīng)驗規(guī)則和人工構(gòu)造的特征進(jìn)行人臉檢測,例如基于一些面部器官結(jié)構(gòu)和紋理特征的檢測方法;基于統(tǒng)計模型的檢測方法雖然也需要在樣本上先提取特征,但與基于特征的檢測方法不同的是,基于統(tǒng)計模型的人臉檢測不是純粹的基于一些設(shè)定規(guī)則,而是采用大量的樣本來訓(xùn)練檢測器模型,常見的有基于支持向量機(svm)的人臉檢測算法,基于adaboost的人臉檢測算法等。
評估人臉檢測方法(也稱為檢測器)的常用指標(biāo)主要有以下幾種:(1)檢測率,即在給定的圖像集合中,被正確檢測到的人臉數(shù)與圖像中總的人臉數(shù)之間的比值;(2)錯誤檢測數(shù),即被當(dāng)做人臉區(qū)域檢測出來的,實際為非人臉區(qū)域的數(shù)量,理想的人臉檢測器應(yīng)該具有100%的檢測率和0個錯誤檢測數(shù);(3)檢測速度,從開始檢測到正確定位出人臉區(qū)域所需要消耗的時間,目前很多應(yīng)用中對檢測速度有較高的要求,如直播美顏、人臉跟蹤都需要實時地檢測人臉,在檢測率高,誤檢數(shù)低的情況下,檢測速度自然越快越能提高用戶的體驗;(4)魯棒性,用于表示在各種條件下,人臉檢測器對環(huán)境的適應(yīng)能力,檢測器魯棒性越高,在光照、人臉姿態(tài)、表情等變化以及人臉出現(xiàn)遮擋等情況下能準(zhǔn)確地檢測出人臉的概率越大。
為了克服上述提及的問題,實現(xiàn)對人臉區(qū)域的準(zhǔn)確檢測,利用相關(guān)技術(shù)中基于特征的檢測方法時,由于需要使用經(jīng)驗規(guī)則和人工構(gòu)造的特征,容易受到使用者主觀因素的影響,無法保證人臉識別的檢測率和魯棒性;若利用相關(guān)技術(shù)中的基于統(tǒng)計模型的檢測方法,目前常用的模型為了保證識別的準(zhǔn)確度,往往設(shè)置的層數(shù)較多,會導(dǎo)致模型比較大,基本上這些模型均超過15mb,雖然層數(shù)較多會保證識別的準(zhǔn)確率,但是層數(shù)的增加會帶來人臉檢測速度降低(在主流pc上大于300ms)的缺陷,無法滿足實時性的要求。
針對相關(guān)技術(shù)中進(jìn)行人臉檢測的實時性較差的技術(shù)問題,目前尚未提出有效的解決方案。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種人臉區(qū)域的確定方法和裝置,以至少解決相關(guān)技術(shù)中進(jìn)行人臉檢測的實時性較差的技術(shù)問題。
根據(jù)本發(fā)明實施例的一個方面,提供了一種人臉區(qū)域的確定方法,該人臉區(qū)域的確定方法包括:接收定位請求,其中,定位請求用于請求在目標(biāo)圖片中定位出人臉區(qū)域;通過卷積神經(jīng)網(wǎng)絡(luò)對目標(biāo)圖片進(jìn)行人臉定位操作,得到定位結(jié)果,其中,卷積神經(jīng)網(wǎng)絡(luò)用于調(diào)用圖形處理器對目標(biāo)圖片進(jìn)行卷積操作,人臉定位操作包括卷積操作;在定位結(jié)果用于表示目標(biāo)圖片中定位出存在人臉區(qū)域的情況下,返回定位結(jié)果。
根據(jù)本發(fā)明實施例的另一方面,還提供了一種人臉區(qū)域的確定裝置,該人臉區(qū)域的確定裝置包括:接收單元,用于接收定位請求,其中,定位請求用于請求在目標(biāo)圖片中定位出人臉區(qū)域;定位單元,用于通過卷積神經(jīng)網(wǎng)絡(luò)對目標(biāo)圖片進(jìn)行人臉定位操作,得到定位結(jié)果,其中,卷積神經(jīng)網(wǎng)絡(luò)用于調(diào)用圖形處理器對目標(biāo)圖片進(jìn)行卷積操作,人臉定位操作包括卷積操作;返回單元,用于在定位結(jié)果用于表示目標(biāo)圖片中定位出存在人臉區(qū)域的情況下,返回定位結(jié)果。
在本發(fā)明實施例中,在接收定位請求時,通過卷積神經(jīng)網(wǎng)絡(luò)對目標(biāo)圖片進(jìn)行人臉定位操作,得到定位結(jié)果,在定位結(jié)果用于表示目標(biāo)圖片中定位出存在人臉區(qū)域的情況下,返回定位結(jié)果,由于進(jìn)行人臉識別的過程中,在初步識別中是通過卷積神經(jīng)網(wǎng)絡(luò)中的全卷積網(wǎng)絡(luò)直接調(diào)用圖形處理器對目標(biāo)圖片進(jìn)行卷積操作,采用這種硬件加速的方式,而不是通過cpu進(jìn)行逐個區(qū)域的掃描這一軟件處理方式,可以解決了相關(guān)技術(shù)中進(jìn)行人臉檢測的實時性較差的技術(shù)問題,進(jìn)而達(dá)到了提高人臉檢測的實時性的技術(shù)效果。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
圖1是相關(guān)技術(shù)中的可選的人臉區(qū)域的示意圖;
圖2是根據(jù)本發(fā)明實施例的人臉區(qū)域的確定方法的硬件環(huán)境的示意圖;
圖3是根據(jù)本發(fā)明實施例的一種可選的人臉區(qū)域的確定方法的流程圖;
圖4是根據(jù)本發(fā)明實施例的一種可選的人臉重合程度的示意圖;
圖5是根據(jù)本發(fā)明實施例的一種可選的樣本的示意圖;
圖6是根據(jù)本發(fā)明實施例的一種可選的網(wǎng)絡(luò)結(jié)構(gòu)的示意圖;
圖7是根據(jù)本發(fā)明實施例的一種可選的人臉區(qū)域的示意圖;
圖8是根據(jù)本發(fā)明實施例的一種可選的人臉區(qū)域的示意圖;
圖9是根據(jù)本發(fā)明實施例的一種可選的人臉區(qū)域的確定方法的流程圖;
圖10是根據(jù)本發(fā)明實施例的一種可選的概率圖的示意圖;
圖11是根據(jù)本發(fā)明實施例的一種可選的人臉區(qū)域的確定裝置的示意圖;以及
圖12是根據(jù)本發(fā)明實施例的一種終端的結(jié)構(gòu)框圖。
具體實施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
首先,在對本發(fā)明實施例進(jìn)行描述的過程中出現(xiàn)的部分名詞或者術(shù)語適用于如下解釋:
卷積神經(jīng)網(wǎng)絡(luò)(convolutionalneuralnetwork,cnn)是一種前饋神經(jīng)網(wǎng)絡(luò),它的人工神經(jīng)元可以響應(yīng)一部分覆蓋范圍內(nèi)的周圍單元,對于大型圖像處理有出色表現(xiàn),它主要包括卷積層和池層。
adaboost:一種迭代算法,可用于針對同一訓(xùn)練集訓(xùn)練不同的分類器,然后將這些分類器集合起來構(gòu)成一個更強的分類器。
實施例1
根據(jù)本發(fā)明實施例,提供了一種人臉區(qū)域的確定方法的方法實施例。
可選地,在本實施例中,上述人臉區(qū)域的確定方法可以應(yīng)用于如圖2所示的由服務(wù)器202和終端204所構(gòu)成的硬件環(huán)境中。如圖2所示,服務(wù)器202通過網(wǎng)絡(luò)與終端204進(jìn)行連接,上述網(wǎng)絡(luò)包括但不限于:廣域網(wǎng)、城域網(wǎng)或局域網(wǎng),終端204并不限定于pc、手機、平板電腦等。本發(fā)明實施例的人臉區(qū)域的確定方法可以由服務(wù)器202來執(zhí)行,也可以由終端204來執(zhí)行,還可以是由服務(wù)器202和終端204共同執(zhí)行。其中,終端204執(zhí)行本發(fā)明實施例的人臉區(qū)域的確定方法也可以是由安裝在其上的客戶端來執(zhí)行。
例如,對于需要進(jìn)行人臉區(qū)域識別的終端,可以直接在終端上集成本申請的方法所提供的人臉識別功能,或者安裝用于實現(xiàn)本申請的方法的客戶端,這樣,終端在接收到用于請求在目標(biāo)圖片中定位出人臉區(qū)域的定位請求時,通過卷積神經(jīng)網(wǎng)絡(luò)對目標(biāo)圖片進(jìn)行人臉定位操作,得到定位結(jié)果,卷積神經(jīng)網(wǎng)絡(luò)用于調(diào)用圖形處理器對目標(biāo)圖片進(jìn)行卷積操作,人臉定位操作包括卷積操作;在定位結(jié)果用于表示目標(biāo)圖片中定位出存在人臉區(qū)域的情況下,返回定位結(jié)果。
再如,本申請所提供的方法還可以軟件開發(fā)工具包sdk(softwaredevelopmentkit)的形式運行在服務(wù)器等設(shè)備上,以sdk的形式提供給應(yīng)用使用,提供人臉區(qū)域識別功能的接口,其它設(shè)備通過提供的接口即可實現(xiàn)人臉區(qū)域的識別。服務(wù)器在接收到其它設(shè)備通過該接口發(fā)送的定位請求時,通過卷積神經(jīng)網(wǎng)絡(luò)對目標(biāo)圖片進(jìn)行人臉定位操作,得到定位結(jié)果,卷積神經(jīng)網(wǎng)絡(luò)用于調(diào)用圖形處理器對目標(biāo)圖片進(jìn)行卷積操作,人臉定位操作包括卷積操作;在定位結(jié)果用于表示目標(biāo)圖片中定位出存在人臉區(qū)域的情況下,返回定位結(jié)果給發(fā)起請求的設(shè)備。
圖3是根據(jù)本發(fā)明實施例的一種可選的人臉區(qū)域的確定方法的流程圖,如圖3所示,該方法可以包括以下步驟:
步驟s302,接收定位請求,定位請求用于請求在目標(biāo)圖片中定位出人臉區(qū)域;
步驟s304,通過卷積神經(jīng)網(wǎng)絡(luò)對目標(biāo)圖片進(jìn)行人臉定位操作,得到定位結(jié)果,卷積神經(jīng)網(wǎng)絡(luò)用于調(diào)用圖形處理器對目標(biāo)圖片進(jìn)行卷積操作,人臉定位操作包括卷積操作;
步驟s306,在定位結(jié)果用于表示目標(biāo)圖片中定位出存在人臉區(qū)域的情況下,返回定位結(jié)果。
通過上述步驟s302至步驟s306,在接收定位請求時,通過卷積神經(jīng)網(wǎng)絡(luò)對目標(biāo)圖片進(jìn)行人臉定位操作,得到定位結(jié)果,在定位結(jié)果用于表示目標(biāo)圖片中定位出存在人臉區(qū)域的情況下,返回定位結(jié)果,由于進(jìn)行人臉識別的過程中,在初步識別中是通過卷積神經(jīng)網(wǎng)絡(luò)中的全卷積網(wǎng)絡(luò)直接調(diào)用圖形處理器對目標(biāo)圖片進(jìn)行卷積操作,采用這種硬件加速的方式,而不是通過cpu進(jìn)行逐個區(qū)域的掃描這一軟件處理方式,可以解決了相關(guān)技術(shù)中進(jìn)行人臉檢測的實時性較差的技術(shù)問題,進(jìn)而達(dá)到了提高人臉檢測的實時性的技術(shù)效果。
相關(guān)技術(shù)中的人臉檢測算法在通用應(yīng)用場景下存在諸多問題,如基于特征的人臉檢測雖然檢測速度快,但對于稍復(fù)雜的場景該類算法的檢測率偏低,缺乏魯棒性;基于adaboost人臉檢測算法雖然模型小,檢測速度也較快,但對于復(fù)雜場景的魯棒性較差,如對于極端場景下的人臉檢測,如戴口罩、戴黑框眼鏡、模糊圖像等檢測場景。
而在本申請中,采用的卷積神經(jīng)網(wǎng)絡(luò)主要有三個,分別為第一級卷積神經(jīng)網(wǎng)絡(luò)net-1、第二級卷積神經(jīng)網(wǎng)絡(luò)net-2、第三級卷積神經(jīng)網(wǎng)絡(luò)net-3,采用級聯(lián)結(jié)構(gòu),給定一幅圖像,通過net-1后輸出候選人臉框集合,將候選集合輸入到net-2,得到較精準(zhǔn)的候選人臉框集合,再將得到的候選集合輸入到net-3,得到最終的人臉框集合,即是最終的人臉位置,這是一個由粗到精的過程。使用本申請的方法,能夠在保證魯棒性、檢測率及準(zhǔn)確率的前提下解決相關(guān)技術(shù)中實時性較差的問題,主要體現(xiàn)如下:
(1)采用了卷積神經(jīng)網(wǎng)cnn來表達(dá)人臉特征,相較于相關(guān)技術(shù)中的基于adaboost或svm的人臉檢測方法,對于側(cè)臉、暗光以及模糊等場景的檢測具有更強的魯棒性,同時采用三級級聯(lián)結(jié)構(gòu)的卷積神經(jīng)網(wǎng),能夠保證識別的準(zhǔn)確度;
(2)將人臉框(即人臉區(qū)域)的初始定位和精確定位分別用一個分類分支和回歸分支來代替,兩個分支共享中間層,相較于目前出現(xiàn)的一些人臉檢測方法所使用的模型(如基于深度學(xué)習(xí)的模型),減小了模型的大小,使得檢測速度更快;
(3)本申請的三級級聯(lián)結(jié)構(gòu)中的第一級網(wǎng)絡(luò)采用了全卷積神經(jīng)網(wǎng)絡(luò),代替了傳統(tǒng)的掃描窗(slidingwindow)的方式,全卷積神經(jīng)網(wǎng)絡(luò)直接調(diào)用gpu進(jìn)行處理,使得生成候選人臉框的過程大大加快。
下面結(jié)合圖3進(jìn)一步詳述本申請的實施例:
在執(zhí)行步驟s302的接收定位請求之前,可以采用如下方式學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)中的參數(shù):通過圖片集合中的圖片對卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,以確定卷積神經(jīng)網(wǎng)絡(luò)中參數(shù)的數(shù)值,圖片集合中的圖片為包括部分或者全部人臉區(qū)域的圖像。上述的學(xué)習(xí)過程主要包括選擇合適的訓(xùn)練數(shù)據(jù)和訓(xùn)練得到參數(shù)數(shù)值兩個部分。
(1)選擇合適的訓(xùn)練數(shù)據(jù)
為了使訓(xùn)練得到的模型參數(shù)更為準(zhǔn)確,數(shù)據(jù)越豐富越好,在本申請中,作為一種可選的實施方式,訓(xùn)練以上的卷積神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)可分為三類:正樣本、回歸樣本以及負(fù)樣本,這三類樣本基于樣本中標(biāo)識出的人臉區(qū)域(即人臉框)與真實人臉區(qū)域的iou(intersectionoverunion)來劃分,iou定義了兩個框的重疊程度,樣本人臉區(qū)域a框和真實人臉區(qū)域b框的公共面積a∩b(即相互重疊的部分),與樣本人臉區(qū)域和真實人臉區(qū)域的面積之和a∪b的比值,即:
如圖4所示,在x軸和y軸組成的二維平面中,a∩b為樣本人臉區(qū)域a框和真實人臉區(qū)域b框的公共面積,a∪b為a框和b框占有的總面積。
如圖5所示,虛線的框為真實的人臉框(groundtruth,真實人臉區(qū)域),實線的框為生成的樣本框(即樣本人臉區(qū)域),在進(jìn)行訓(xùn)練時,可以從圖5中得到訓(xùn)練所用的樣本數(shù)據(jù),如將樣本人臉區(qū)域輸入卷積神經(jīng)網(wǎng)絡(luò)。
為了使模型對噪聲有較強的魯棒性,三類樣本可按照如下方式進(jìn)行定義:正樣本,iou大于0.7的樣本;回歸樣本,iou在0.5~0.7之間的樣本;負(fù)樣本,iou小于0.25的樣本。
需要說明的是,本申請上述的分為三類樣本進(jìn)行訓(xùn)練僅為示意性的描述,為了使學(xué)習(xí)得到的卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)更為準(zhǔn)確,可以增加樣本的學(xué)習(xí)量;同時對樣本進(jìn)行進(jìn)一步細(xì)分,如劃分為五類,iou在0.8~1.0之間的為一類;iou在0.6~0.8之間的為一類,以此類推。
完成訓(xùn)練數(shù)據(jù)準(zhǔn)備之后,即可使用準(zhǔn)備好的數(shù)據(jù)對卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
(2)訓(xùn)練過程
由圖6中的網(wǎng)絡(luò)結(jié)構(gòu)可以看出,本申請所采用的網(wǎng)絡(luò)結(jié)構(gòu)可為雙分支結(jié)構(gòu)。其中一個分支為人臉分類分支(faceclassification),用以判斷當(dāng)前的輸入是否含有人臉,得到候選人臉框集合,得到人臉框集合,另外一個分支為人臉框回歸分支(faceboxregression),用以在分類分支給出初始的人臉框坐標(biāo)后,進(jìn)行人臉區(qū)域的坐標(biāo)調(diào)整,以得到精確的人臉框位置。
對于人臉分類分支,圖6中三個net的人臉分類分支優(yōu)化的目標(biāo)均是最小化誤差softmaxloss,最終的分類神經(jīng)元的softmax表達(dá)式為:
在softmax表達(dá)式中,h為結(jié)果,θ是模型參數(shù),k表示待估計的狀態(tài)個數(shù),本申請中可以為區(qū)分人臉和非人人臉的兩個狀態(tài),因此k=2,i=1…m,m為一次前向過程中采用的樣本數(shù)量,xi表示第i個輸入,即訓(xùn)練樣本,t為參數(shù),
通過以上表達(dá)式即可得到待優(yōu)化的代價函數(shù)
式中“1{·}”為示性函數(shù),僅當(dāng)表達(dá)式中值為真時,該函數(shù)的值為1?!皔(i)”(也即表示為yi)為樣本“xi”對應(yīng)的標(biāo)簽,在訓(xùn)練過程每個樣本即一幅圖像,若不含人臉則標(biāo)簽為0,若包含人臉則標(biāo)簽為1,其余參數(shù)與softmax表達(dá)式中的相同,參數(shù)m與表達(dá)式中m相同。
對于人臉框回歸分支,對于人臉分類分支得到的候選框,可包含四個維度的信息,即(xi,yi,wi,hi),如圖7所示,一幅圖像中人臉框位置如圖7中實線框所示,虛線框為一個選取的樣本示例。
待優(yōu)化的歐式距離損失函數(shù)((euclideanloss)為:
式中zi表示人臉框的四個維度r4,故zi∈r4。
上述各維度信息使用的是相對量,以zi的第一個分量為例,即:
zi為訓(xùn)練過程中輸入的監(jiān)督信息,
在利用前述的三類樣本進(jìn)行參數(shù)訓(xùn)練時,首先可以將卷積神經(jīng)網(wǎng)絡(luò)中的參數(shù)進(jìn)行初始化,然后將樣本圖片輸入到卷積神經(jīng)網(wǎng)絡(luò)中,得到卷積神經(jīng)網(wǎng)絡(luò)輸出的結(jié)果(即人臉定位結(jié)果,包括識別出的iou等),將輸出的結(jié)果與真實的結(jié)果(如實際的iou)通過上述的兩個公式進(jìn)行誤差等信息的計算,若誤差在允許范圍內(nèi),則說明當(dāng)前的參數(shù)是合理的;若誤差不在允許范圍內(nèi),則根據(jù)誤差大小對參數(shù)進(jìn)行調(diào)整,然后重新輸入樣本圖片,再次將輸出的結(jié)果與真實的結(jié)果通過上述的兩個公式進(jìn)行誤差等信息的計算,直至調(diào)整參數(shù)后的卷積神經(jīng)網(wǎng)絡(luò)得到的結(jié)果誤差在允許范圍內(nèi)為止。
在對卷積神經(jīng)網(wǎng)絡(luò)中的參數(shù)訓(xùn)練完畢之后,即可通過本申請?zhí)峁┑姆椒ㄟM(jìn)行人臉區(qū)域的識別。具體如下:
在步驟s302提供的技術(shù)方案中,在接收定位請求時,定位請求主要包括但不局限于以下幾種來源:
(1)在本申請的方法是集成在終端上、或者以客戶端a的形式安裝在終端上的情況下,可以接收終端上的客戶端b向終端發(fā)起的人臉定位請求,該客戶端b可以為直播美顏、人臉跟蹤等需要實時地檢測人臉的客戶端;
(2)在本申請的方法是集成在終端a上、或者以客戶端的形式安裝在終端a上的情況下,終端b與終端a通訊連接(如通過wifi、藍(lán)牙、nfc等方式連接),終端a接收到的終端b發(fā)起的人臉定位請求;
(3)在本申請所提供的方法以軟件開發(fā)工具包sdk的形式運行在服務(wù)器上的情況下,在服務(wù)器上接收到的其它設(shè)備通過調(diào)用接口發(fā)起的人臉定位請求,其它設(shè)備可以為手機、電腦、平板電腦等設(shè)備。
在步驟s304提供的技術(shù)方案中,本申請三級卷積神經(jīng)網(wǎng)絡(luò)為采用級聯(lián)的方式工作,第一級卷積神經(jīng)網(wǎng)絡(luò)的人臉框集合1可以作為三級卷積神經(jīng)網(wǎng)絡(luò)中第二級卷積神經(jīng)網(wǎng)絡(luò)net-2(即第二卷積神經(jīng)網(wǎng)絡(luò))的輸入,進(jìn)行進(jìn)一步過濾篩選,第二級卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行過濾篩選的輸出又可以作為第三級卷積神經(jīng)網(wǎng)絡(luò)(第三卷積神經(jīng)網(wǎng)絡(luò))的輸入,將第三級卷積神經(jīng)網(wǎng)絡(luò)過濾篩選的輸出作為最終的結(jié)果。具體實現(xiàn)方案如下:
在通過卷積神經(jīng)網(wǎng)絡(luò)對目標(biāo)圖片進(jìn)行人臉定位操作時,可通過三級卷積神經(jīng)網(wǎng)絡(luò)中的第一卷積神經(jīng)網(wǎng)絡(luò)net-1調(diào)用圖形處理器對目標(biāo)圖片進(jìn)行卷積操作,得到卷積結(jié)果,其中,卷積神經(jīng)網(wǎng)絡(luò)包括第一卷積神經(jīng)網(wǎng)絡(luò);根據(jù)卷積結(jié)果確定目標(biāo)圖片中的第一區(qū)域為人臉區(qū)域的置信度;根據(jù)置信度在第一區(qū)域中確定出人臉區(qū)域。
在通過第一卷積神經(jīng)網(wǎng)絡(luò)調(diào)用圖形處理器對目標(biāo)圖片進(jìn)行卷積操作,得到卷積結(jié)果時,具體是通過調(diào)用圖形處理器執(zhí)行第一卷積神經(jīng)網(wǎng)絡(luò)上的卷積算法,以對目標(biāo)圖片中的各個第一區(qū)域進(jìn)行一類特征的識別,得到卷積結(jié)果,卷積結(jié)果用于指示一類特征中第一區(qū)域所具有的特征。這樣在根據(jù)卷積結(jié)果確定目標(biāo)圖片中的第一區(qū)域為人臉區(qū)域的置信度時,即可根據(jù)一類特征中第一區(qū)域所具有的特征確定第一區(qū)域為人臉區(qū)域的置信度。
如圖6所示,對于第一級卷積神經(jīng)網(wǎng)絡(luò)net-1,輸入的圖片的參數(shù)為12*12*3,“12*12”表示輸入圖片的像素大小至少為12*12(即第三閾值),也即支持識別的最小人臉區(qū)域為“12*12”,“3”表示為3通道的圖像;第一級卷積神經(jīng)網(wǎng)絡(luò)用于對較為粗粒度的人臉特征(即上述的一類特征)的識別,對于圖片中的每個區(qū)域(即第一區(qū)域),均包括識別出來的特征,然后用預(yù)先設(shè)置的特征匹配算法來確定該區(qū)域為人臉區(qū)域的置信度。最終將置信度大于第一閾值的第一區(qū)域放入候選人臉框集合1(集合中的區(qū)域記為第二區(qū)域)。
在根據(jù)置信度在第一區(qū)域中確定出人臉區(qū)域之前,為了使可能是人臉區(qū)域的第一區(qū)域中人臉處于較為居中的位置,可根據(jù)人臉參考特征在第一區(qū)域中的位置對第一區(qū)域進(jìn)行位置調(diào)整,以使人臉參考特征位于經(jīng)過位置調(diào)整后的第一區(qū)域中的預(yù)設(shè)位置。
采用上述的調(diào)整方式時,在根據(jù)置信度在第一區(qū)域中確定出人臉區(qū)域時,可根據(jù)置信度在經(jīng)過位置調(diào)整后的第一區(qū)域中確定出人臉區(qū)域。
可選地,為了提高處理效率,在根據(jù)人臉參考特征在第一區(qū)域中的位置對第一區(qū)域進(jìn)行位置調(diào)整時,可以僅對第一區(qū)域中的第二區(qū)域(即置信度大于第一閾值的第一區(qū)域)進(jìn)行位置調(diào)整,避免資源的浪費。
采用上述的調(diào)整方式時,在根據(jù)置信度在第一區(qū)域中確定出人臉區(qū)域時,可以是根據(jù)置信度在經(jīng)過位置調(diào)整后的第二區(qū)域中確定出人臉區(qū)域。
上述的人臉參考特征可以為人臉的面部特征(如鼻子、眼睛、嘴、眉毛等),某一固定的面部特征在人臉上的位置是相對固定的,例如對于鼻子而言,一般位于臉部居中的位置,也即在識別出第一區(qū)域中的鼻子之后,可以對第一區(qū)域進(jìn)行調(diào)整,以使鼻子位于調(diào)整后第一區(qū)域中的中心位置。
本申請的卷積神經(jīng)網(wǎng)絡(luò)可以為三級卷積神經(jīng)網(wǎng)絡(luò),第一級卷積神經(jīng)網(wǎng)絡(luò)主要完成臉部區(qū)域的初步識別,得到上述的候選人臉框集合1。
在根據(jù)置信度在第一區(qū)域中確定出人臉區(qū)域時,上述的人臉框集合1可以作為第二卷積神經(jīng)網(wǎng)絡(luò)輸入,通過第二卷積神經(jīng)網(wǎng)絡(luò)確定人臉框集合1中第二區(qū)域為人臉區(qū)域的置信度,第二區(qū)域為第一區(qū)域中置信度大于第一閾值的區(qū)域。
具體可以在通過第二卷積神經(jīng)網(wǎng)絡(luò)確定第二區(qū)域為人臉區(qū)域的置信度之前,將第二區(qū)域的區(qū)域大小調(diào)整為第四閾值,第四閾值大于第三閾值,例如將像素大小調(diào)整為“24*24”的3通道圖像,然后通過第二卷積神經(jīng)網(wǎng)絡(luò)對經(jīng)過區(qū)域大小調(diào)整后的第二區(qū)域進(jìn)行特征識別,此處識別的特征類型與前述的第一級卷積神經(jīng)網(wǎng)絡(luò)所識別的特征類型不同,完成識別后可根據(jù)識別出的特征確定第二區(qū)域為人臉區(qū)域的置信度,具體可以通過預(yù)置的特征匹配算法進(jìn)行計算。
在通過第二卷積神經(jīng)網(wǎng)絡(luò)確定第二區(qū)域為人臉區(qū)域的置信度之后,可將第二區(qū)域中置信度大于第二閾值的區(qū)域放入人臉框集合2(該集合中的區(qū)域記為第三區(qū)域)。然后可通過第三卷積神經(jīng)網(wǎng)絡(luò)識別出第三區(qū)域中的人臉區(qū)域。
可選地,在完成對第三區(qū)域的篩選之后,可以按照前述的對于第二區(qū)域的位置調(diào)整方法對人臉框集合2中的第三區(qū)域進(jìn)行位置調(diào)整。
可選地,在通過第三卷積神經(jīng)網(wǎng)絡(luò)識別出第三區(qū)域中的人臉區(qū)域之前,可以將第三區(qū)域的區(qū)域大小調(diào)整為第五閾值,第五閾值大于第四閾值,例如將第三區(qū)域調(diào)整為“48*48”的圖像作為第三卷積神經(jīng)網(wǎng)絡(luò)的輸入,通過第三卷積神經(jīng)網(wǎng)絡(luò)對經(jīng)過區(qū)域大小調(diào)整后的第三區(qū)域進(jìn)行特征識別,此處所識別的特征類型與前述的第一級卷積神經(jīng)網(wǎng)絡(luò)和第二級卷積神經(jīng)網(wǎng)絡(luò)所識別的特征類型不同,完成識別后可根據(jù)識別出的特征確定第三區(qū)域中的人臉區(qū)域,具體可以通過預(yù)置的特征匹配算法進(jìn)行計算匹配度的計算,將匹配度最高的第三區(qū)域作為人臉區(qū)域。
在上述實施例中,第一級卷積神經(jīng)網(wǎng)絡(luò)所識別的特征比較簡單,判別閾值可以設(shè)置得比較寬松,這樣就可以在保持較高召回率的同時排除掉大量的非人臉窗口;第二極卷積神經(jīng)網(wǎng)絡(luò)和第二極卷積神經(jīng)網(wǎng)絡(luò)可以設(shè)計得比較復(fù)雜,但由于只需要處理前面剩下的窗口,因此可以保證足夠的效率。
采用級聯(lián)的思想可以幫助去組合利用性能較差的分類器,同時又可以獲得一定的效率保證,由于每一級輸入的圖像像素大小不一,可以使網(wǎng)絡(luò)學(xué)習(xí)到多尺度特征組合,便于完成對人臉的最終識別。
目前已有的深度模型都比較大(卷積神經(jīng)網(wǎng)絡(luò)的級數(shù)較多),如相關(guān)技術(shù)中的模型超過15mb,導(dǎo)致人臉檢測速度比較慢(在主流pc上大于300ms),無法滿足實時性的要求。本申請采用的級聯(lián)結(jié)果的深度網(wǎng)絡(luò)架構(gòu)具有檢測率高、誤檢低、速度快(主流pc上小于40ms)、模型小等特點,充分彌補了已有的人臉檢測方法的不足。
在步驟s306提供的技術(shù)方案中,返回定位結(jié)果包括:返回卷積神經(jīng)網(wǎng)絡(luò)定位出的人臉區(qū)域的位置信息,其中,位置信息用于指示人臉區(qū)域在目標(biāo)圖片中的位置。
在相關(guān)的產(chǎn)品應(yīng)用中,本申請可返回人臉框在圖像中的位置信息,如位置信息(xi,yi,wi,hi),i=1…k,k為檢測到的人臉個數(shù)。(xi,yi)(xi,yi)表示人臉框左上頂點的圖像坐標(biāo),wi和hi分別表示人臉框的寬度和高度。如圖8所示,對圖8中左側(cè)圖像完成檢測之后,得到如右側(cè)圖所示的人臉區(qū)域,并將位置信息返回給發(fā)起請求的對象。
需要說你的是,上述的位置信息為在圖像中能夠唯一確定出一個人臉區(qū)域的信息,上述的(xi,yi,wi,hi)僅為一種示意性的位置信息的表示方式,具體可以更加需要進(jìn)行調(diào)整,如返回左下角、右下角以及右下角中任意一個角的坐標(biāo),并返回人臉框的寬度和高度;也可以區(qū)域中心點的坐標(biāo),并返回人臉框的寬度和高度;還可以返回左下角、左上角、右下角以及右下角中任意兩個點的坐標(biāo)。
在得到圖像中的人臉位置之后可完成人臉關(guān)鍵點定位、活體檢測、人臉識別與檢索等應(yīng)用,如對于人臉關(guān)鍵點定位而言,可以根據(jù)相關(guān)算法定位出人臉區(qū)域內(nèi)的眼睛、鼻子、嘴、眉毛等特征部位。
在本申請的實施例中,采用基于卷積神經(jīng)網(wǎng)絡(luò)(cnn)的人臉檢測方法,由于卷積網(wǎng)絡(luò)對樣本具有更強的特征表示能力,卷積神經(jīng)網(wǎng)絡(luò)的基于深度學(xué)習(xí)的人臉檢測在多種復(fù)雜場景下能夠取得更為優(yōu)異的檢測性能。
下面結(jié)合圖9和圖10進(jìn)一步詳述本申請的實施例:
步驟s902,學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)中參數(shù)的數(shù)值。
步驟s904,輸入一幅圖像p到第一級卷積神經(jīng)網(wǎng)絡(luò)net-1,net-1的人臉分類分支將輸出一個概率圖prob(如圖10所示),prob中一個點對應(yīng)人臉在圖像p中某個位置出現(xiàn)的可能性(即置信度)。設(shè)定閾值cls-1,將prob中大于cls-1的位置保留,假設(shè)得到人臉框為
步驟s906,通過net-1的人臉框回歸分支調(diào)整r1中各個人臉框的位置,得到更精確的人臉框集合
步驟s908,將
步驟s910,將
步驟s912,通過net-2的人臉框回歸分支調(diào)整r2中各個人臉框的位置,得到更精確的人臉框集合
步驟s914,將
步驟s916,將
步驟s918,通過net-3的人臉框回歸分支調(diào)整r3中各個人臉框的位置,得到更精確的人臉框集合
步驟s920,將
使用本申請實施例提供的技術(shù)方案,可以sdk的形式為各類場景提供服務(wù),可以使得人臉檢測的檢測率高、誤檢低,使得基于深度學(xué)習(xí)的人臉檢測在移動端實時人臉檢測成為可能。
需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機,計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
實施例2
根據(jù)本發(fā)明實施例,還提供了一種用于實施上述人臉區(qū)域的確定方法的人臉區(qū)域的確定裝置。圖11是根據(jù)本發(fā)明實施例的一種可選的人臉區(qū)域的確定裝置的示意圖,如圖11所示,該裝置可以包括:接收單元112、定位單元114以及返回單元116。
接收單元112,用于接收定位請求,定位請求用于請求在目標(biāo)圖片中定位出人臉區(qū)域;
定位單元114,用于通過卷積神經(jīng)網(wǎng)絡(luò)對目標(biāo)圖片進(jìn)行人臉定位操作,得到定位結(jié)果,卷積神經(jīng)網(wǎng)絡(luò)用于調(diào)用圖形處理器對目標(biāo)圖片進(jìn)行卷積操作,人臉定位操作包括卷積操作;
返回單元116,用于在定位結(jié)果用于表示目標(biāo)圖片中定位出存在人臉區(qū)域的情況下,返回定位結(jié)果。
需要說明的是,該實施例中的接收單元112可以用于執(zhí)行本申請實施例1中的步驟s302,該實施例中的定位單元114可以用于執(zhí)行本申請實施例1中的步驟s304,該實施例中的返回單元116可以用于執(zhí)行本申請實施例1中的步驟s306。
此處需要說明的是,上述模塊與對應(yīng)的步驟所實現(xiàn)的示例和應(yīng)用場景相同,但不限于上述實施例1所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運行在如圖2所示的硬件環(huán)境中,可以通過軟件實現(xiàn),也可以通過硬件實現(xiàn)。
通過上述模塊,在接收定位請求時,通過卷積神經(jīng)網(wǎng)絡(luò)對目標(biāo)圖片進(jìn)行人臉定位操作,得到定位結(jié)果,在定位結(jié)果用于表示目標(biāo)圖片中定位出存在人臉區(qū)域的情況下,返回定位結(jié)果,由于進(jìn)行人臉識別的過程中,在初步識別中是通過卷積神經(jīng)網(wǎng)絡(luò)中的全卷積網(wǎng)絡(luò)直接調(diào)用圖形處理器對目標(biāo)圖片進(jìn)行卷積操作,采用這種硬件加速的方式,而不是通過cpu進(jìn)行逐個區(qū)域的掃描這一軟件處理方式,可以解決了相關(guān)技術(shù)中進(jìn)行人臉檢測的實時性較差的技術(shù)問題,進(jìn)而達(dá)到了提高人臉檢測的實時性的技術(shù)效果。
相關(guān)技術(shù)中的人臉檢測算法在通用應(yīng)用場景下存在諸多問題,如基于特征的人臉檢測雖然檢測速度快,但對于稍復(fù)雜的場景該類算法的檢測率偏低,缺乏魯棒性;基于adaboost人臉檢測算法雖然模型小,檢測速度也較快,但對于復(fù)雜場景的魯棒性較差,如對于極端場景下的人臉檢測,如戴口罩、戴黑框眼鏡、模糊圖像等檢測場景。
而在本申請中,采用的卷積神經(jīng)網(wǎng)絡(luò)主要有三個,分別為第一級卷積神經(jīng)網(wǎng)絡(luò)net-1、第二級卷積神經(jīng)網(wǎng)絡(luò)net-2、第三級卷積神經(jīng)網(wǎng)絡(luò)net-3,采用級聯(lián)結(jié)構(gòu),給定一幅圖像,通過net-1后輸出候選人臉框集合,將候選集合輸入到net-2,得到較精準(zhǔn)的候選人臉框集合,再將得到的候選集合輸入到net-3,得到最終的人臉框集合,即是最終的人臉位置,這是一個由粗到精的過程。使用本申請的方法,能夠在保證魯棒性、檢測率及準(zhǔn)確率的前提下解決相關(guān)技術(shù)中實時性較差的問題,主要體現(xiàn)如下:
(1)采用了卷積神經(jīng)網(wǎng)cnn來表達(dá)人臉特征,相較于相關(guān)技術(shù)中的基于adaboost或svm的人臉檢測方法,對于側(cè)臉、暗光以及模糊等場景的檢測具有更強的魯棒性,同時采用三級級聯(lián)結(jié)構(gòu)的卷積神經(jīng)網(wǎng),能夠保證識別的準(zhǔn)確度;
(2)將人臉框(即人臉區(qū)域)的初始定位和精確定位分別用一個分類分支和回歸分支來代替,兩個分支共享中間層,相較于目前出現(xiàn)的一些人臉檢測方法所使用的模型(如基于深度學(xué)習(xí)的模型),減小了模型的大小,使得檢測速度更快;
(3)本申請的三級級聯(lián)結(jié)構(gòu)中的第一級網(wǎng)絡(luò)采用了全卷積神經(jīng)網(wǎng)絡(luò),代替了傳統(tǒng)的掃描窗(slidingwindow)的方式,全卷積神經(jīng)網(wǎng)絡(luò)直接調(diào)用gpu進(jìn)行處理,使得生成候選人臉框的過程大大加快。
可選地,在進(jìn)行人臉識別之前,可以采用如下方式學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)中的參數(shù):本申請裝置所包括的訓(xùn)練單元,在接收定位請求之前,通過圖片集合中的圖片對卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,以確定卷積神經(jīng)網(wǎng)絡(luò)中參數(shù)的數(shù)值,其中,圖片集合中的圖片為包括部分或者全部人臉區(qū)域的圖像。上述的學(xué)習(xí)過程主要包括選擇合適的訓(xùn)練數(shù)據(jù)和訓(xùn)練得到參數(shù)數(shù)值兩個部分。
在對卷積神經(jīng)網(wǎng)絡(luò)中的參數(shù)訓(xùn)練完畢之后,即可通過本申請?zhí)峁┑难b置進(jìn)行人臉區(qū)域的識別。具體如下:
通過接收單元接收定位請求,定位請求用于請求在目標(biāo)圖片中定位出人臉區(qū)域。定位請求主要包括但不局限于以下幾種來源:
(1)在本申請的方法是集成在終端上、或者以客戶端a的形式安裝在終端上的情況下,可以接收終端上的客戶端b向終端發(fā)起的人臉定位請求,該客戶端b可以為直播美顏、人臉跟蹤等需要實時地檢測人臉的客戶端;
(2)在本申請的方法是集成在終端a上、或者以客戶端的形式安裝在終端a上的情況下,終端b與終端a通訊連接(如通過wifi、藍(lán)牙、nfc等方式連接),終端a接收到的終端b發(fā)起的人臉定位請求;
(3)在本申請所提供的方法以軟件開發(fā)工具包sdk的形式運行在服務(wù)器上的情況下,在服務(wù)器上接收到的其它設(shè)備通過調(diào)用接口發(fā)起的人臉定位請求,其它設(shè)備可以為手機、電腦、平板電腦等設(shè)備。
本申請三級卷積神經(jīng)網(wǎng)絡(luò)為采用級聯(lián)的方式工作,第一級卷積神經(jīng)網(wǎng)絡(luò)的人臉框集合1可以作為三級卷積神經(jīng)網(wǎng)絡(luò)中第二級卷積神經(jīng)網(wǎng)絡(luò)net-2(即第二卷積神經(jīng)網(wǎng)絡(luò))的輸入,進(jìn)行進(jìn)一步過濾篩選,第二級卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行過濾篩選的輸出又可以作為第三級卷積神經(jīng)網(wǎng)絡(luò)(第三卷積神經(jīng)網(wǎng)絡(luò))的輸入,將第三級卷積神經(jīng)網(wǎng)絡(luò)過濾篩選的輸出作為最終的結(jié)果。
可選地,定位單元包括:卷積模塊,用于通過第一卷積神經(jīng)網(wǎng)絡(luò)調(diào)用圖形處理器對目標(biāo)圖片進(jìn)行卷積操作,得到卷積結(jié)果,其中,卷積神經(jīng)網(wǎng)絡(luò)包括第一卷積神經(jīng)網(wǎng)絡(luò);第一確定模塊,用于根據(jù)卷積結(jié)果確定目標(biāo)圖片中的第一區(qū)域為人臉區(qū)域的置信度;第二確定模塊,用于根據(jù)置信度在第一區(qū)域中確定出人臉區(qū)域。
可選地,第二確定模塊包括:調(diào)整子模塊,用于根據(jù)人臉參考特征在第一區(qū)域中的位置對第一區(qū)域進(jìn)行位置調(diào)整,以使人臉參考特征位于經(jīng)過位置調(diào)整后的第一區(qū)域中的預(yù)設(shè)位置;第二確定子模塊,用于根據(jù)置信度在第一區(qū)域中確定出人臉區(qū)域包括:根據(jù)置信度在經(jīng)過位置調(diào)整后的第一區(qū)域中確定出人臉區(qū)域。
可選地,卷積模塊還用于通過調(diào)用圖形處理器執(zhí)行第一卷積神經(jīng)網(wǎng)絡(luò)上的卷積算法,以對目標(biāo)圖片中的各個第一區(qū)域進(jìn)行一類特征的識別,得到卷積結(jié)果,其中,卷積結(jié)果用于指示一類特征中第一區(qū)域所具有的特征;第一確定模塊還用于根據(jù)一類特征中第一區(qū)域所具有的特征確定第一區(qū)域為人臉區(qū)域的置信度。
可選地,卷積神經(jīng)網(wǎng)絡(luò)還包括第二卷積神經(jīng)網(wǎng)絡(luò)和第三卷積神經(jīng)網(wǎng)絡(luò),其中,第一確定模塊包括:第一確定子模塊,用于通過第二卷積神經(jīng)網(wǎng)絡(luò)確定第二區(qū)域為人臉區(qū)域的置信度,其中,第二區(qū)域為第一區(qū)域中置信度大于第一閾值的區(qū)域;識別子模塊,用于通過第三卷積神經(jīng)網(wǎng)絡(luò)識別出第三區(qū)域中的人臉區(qū)域,其中,第三區(qū)域為第二區(qū)域中置信度大于第二閾值的區(qū)域。
具體可以在通過第二卷積神經(jīng)網(wǎng)絡(luò)確定第二區(qū)域為人臉區(qū)域的置信度之前,將第二區(qū)域的區(qū)域大小調(diào)整為第四閾值,第四閾值大于第三閾值,例如將像素大小調(diào)整為“24*24”的3通道圖像,然后通過第二卷積神經(jīng)網(wǎng)絡(luò)對經(jīng)過區(qū)域大小調(diào)整后的第二區(qū)域進(jìn)行特征識別,此處識別的特征類型與前述的第一級卷積神經(jīng)網(wǎng)絡(luò)所識別的特征類型不同,完成識別后可根據(jù)識別出的特征確定第二區(qū)域為人臉區(qū)域的置信度,具體可以通過預(yù)置的特征匹配算法進(jìn)行計算。
可選地,第一區(qū)域的區(qū)域大小不小于第三閾值,其中,第一確定子模塊還用于:在通過第二卷積神經(jīng)網(wǎng)絡(luò)確定第二區(qū)域為人臉區(qū)域的置信度之前,將第二區(qū)域的區(qū)域大小調(diào)整為第四閾值,其中,第四閾值大于第三閾值;通過第二卷積神經(jīng)網(wǎng)絡(luò)對經(jīng)過區(qū)域大小調(diào)整后的第二區(qū)域進(jìn)行特征識別,并根據(jù)識別出的特征確定第二區(qū)域為人臉區(qū)域的置信度;識別子模塊還用于:將第三區(qū)域的區(qū)域大小調(diào)整為第五閾值,其中,第五閾值大于第四閾值;通過第三卷積神經(jīng)網(wǎng)絡(luò)對經(jīng)過區(qū)域大小調(diào)整后的第三區(qū)域進(jìn)行特征識別,并根據(jù)識別出的特征確定第三區(qū)域中的人臉區(qū)域。
也即在通過第三卷積神經(jīng)網(wǎng)絡(luò)識別出第三區(qū)域中的人臉區(qū)域之前,可以將第三區(qū)域的區(qū)域大小調(diào)整為第五閾值,第五閾值大于第四閾值,例如將第三區(qū)域調(diào)整為“48*48”的圖像作為第三卷積神經(jīng)網(wǎng)絡(luò)的輸入,通過第三卷積神經(jīng)網(wǎng)絡(luò)對經(jīng)過區(qū)域大小調(diào)整后的第三區(qū)域進(jìn)行特征識別,此處所識別的特征類型與前述的第一級卷積神經(jīng)網(wǎng)絡(luò)和第二級卷積神經(jīng)網(wǎng)絡(luò)所識別的特征類型不同,完成識別后可根據(jù)識別出的特征確定第三區(qū)域中的人臉區(qū)域,具體可以通過預(yù)置的特征匹配算法進(jìn)行計算匹配度的計算,將匹配度最高的第三區(qū)域作為人臉區(qū)域。
在上述實施例中,第一級卷積神經(jīng)網(wǎng)絡(luò)所識別的特征比較簡單,判別閾值可以設(shè)置得比較寬松,這樣就可以在保持較高召回率的同時排除掉大量的非人臉窗口;第二極卷積神經(jīng)網(wǎng)絡(luò)和第二極卷積神經(jīng)網(wǎng)絡(luò)可以設(shè)計得比較復(fù)雜,但由于只需要處理前面剩下的窗口,因此可以保證足夠的效率。
采用級聯(lián)的思想可以幫助去組合利用性能較差的分類器,同時又可以獲得一定的效率保證,由于每一級輸入的圖像像素大小不一,可以使網(wǎng)絡(luò)學(xué)習(xí)到多尺度特征組合,便于完成對人臉的最終識別。
目前已有的深度模型都比較大(卷積神經(jīng)網(wǎng)絡(luò)的級數(shù)較多),如相關(guān)技術(shù)中的模型超過15mb,導(dǎo)致人臉檢測速度比較慢(在主流pc上大于300ms),無法滿足實時性的要求。本申請采用的級聯(lián)結(jié)果的深度網(wǎng)絡(luò)架構(gòu)具有檢測率高、誤檢低、速度快(主流pc上小于40ms)、模型小等特點,充分彌補了已有的人臉檢測方法的不足。
可選地,返回單元還用于返回卷積神經(jīng)網(wǎng)絡(luò)定位出的人臉區(qū)域的位置信息,其中,位置信息用于指示人臉區(qū)域在目標(biāo)圖片中的位置。
在相關(guān)的產(chǎn)品應(yīng)用中,本申請可返回人臉框在圖像中的位置信息,如位置信息(xi,yi,wi,hi),i=1…k,k為檢測到的人臉個數(shù)。(xi,yi)(xi,yi)表示人臉框左上頂點的圖像坐標(biāo),wi和hi分別表示人臉框的寬度和高度。
需要說你的是,上述的位置信息為在圖像中能夠唯一確定出一個人臉區(qū)域的信息,上述的(xi,yi,wi,hi)僅為一種示意性的位置信息的表示方式,具體可以更加需要進(jìn)行調(diào)整,如返回左下角、右下角以及右下角中任意一個角的坐標(biāo),并返回人臉框的寬度和高度;也可以區(qū)域中心點的坐標(biāo),并返回人臉框的寬度和高度;還可以返回左下角、左上角、右下角以及右下角中任意兩個點的坐標(biāo)。
在得到圖像中的人臉位置之后可完成人臉關(guān)鍵點定位、活體檢測、人臉識別與檢索等應(yīng)用,如對于人臉關(guān)鍵點定位而言,可以根據(jù)相關(guān)算法定位出人臉區(qū)域內(nèi)的眼睛、鼻子、嘴、眉毛等特征部位。
在本申請的實施例中,采用基于卷積神經(jīng)網(wǎng)絡(luò)(cnn)的人臉檢測方法,由于卷積網(wǎng)絡(luò)對樣本具有更強的特征表示能力,卷積神經(jīng)網(wǎng)絡(luò)的基于深度學(xué)習(xí)的人臉檢測在多種復(fù)雜場景下能夠取得更為優(yōu)異的檢測性能。
此處需要說明的是,上述模塊與對應(yīng)的步驟所實現(xiàn)的示例和應(yīng)用場景相同,但不限于上述實施例1所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運行在如圖2所示的硬件環(huán)境中,可以通過軟件實現(xiàn),也可以通過硬件實現(xiàn),其中,硬件環(huán)境包括網(wǎng)絡(luò)環(huán)境。
實施例3
根據(jù)本發(fā)明實施例,還提供了一種用于實施上述人臉區(qū)域的確定方法的服務(wù)器或終端。
圖12是根據(jù)本發(fā)明實施例的一種終端的結(jié)構(gòu)框圖,如圖12所示,該終端可以包括:一個或多個(圖中僅示出一個)處理器1201、存儲器1203、以及傳輸裝置1205(如上述實施例中的發(fā)送裝置),如圖12所示,該終端還可以包括輸入輸出設(shè)備1207。
其中,存儲器1203可用于存儲軟件程序以及模塊,如本發(fā)明實施例中的人臉區(qū)域的確定方法和裝置對應(yīng)的程序指令/模塊,處理器1201通過運行存儲在存儲器1203內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實現(xiàn)上述的人臉區(qū)域的確定方法。存儲器1203可包括高速隨機存儲器,還可以包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態(tài)存儲器。在一些實例中,存儲器1203可進(jìn)一步包括相對于處理器1201遠(yuǎn)程設(shè)置的存儲器,這些遠(yuǎn)程存儲器可以通過網(wǎng)絡(luò)連接至終端。上述網(wǎng)絡(luò)的實例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動通信網(wǎng)及其組合。
上述的傳輸裝置1205用于經(jīng)由一個網(wǎng)絡(luò)接收或者發(fā)送數(shù)據(jù),還可以用于處理器與存儲器之間的數(shù)據(jù)傳輸。上述的網(wǎng)絡(luò)具體實例可包括有線網(wǎng)絡(luò)及無線網(wǎng)絡(luò)。在一個實例中,傳輸裝置1205包括一個網(wǎng)絡(luò)適配器(networkinterfacecontroller,nic),其可通過網(wǎng)線與其他網(wǎng)絡(luò)設(shè)備與路由器相連從而可與互聯(lián)網(wǎng)或局域網(wǎng)進(jìn)行通訊。在一個實例中,傳輸裝置1205為射頻(radiofrequency,rf)模塊,其用于通過無線方式與互聯(lián)網(wǎng)進(jìn)行通訊。
其中,具體地,存儲器1203用于存儲應(yīng)用程序。
處理器1201可以通過傳輸裝置1205調(diào)用存儲器1203存儲的應(yīng)用程序,以執(zhí)行下述步驟:接收定位請求,其中,定位請求用于請求在目標(biāo)圖片中定位出人臉區(qū)域;通過卷積神經(jīng)網(wǎng)絡(luò)對目標(biāo)圖片進(jìn)行人臉定位操作,得到定位結(jié)果,其中,卷積神經(jīng)網(wǎng)絡(luò)用于調(diào)用圖形處理器對目標(biāo)圖片進(jìn)行卷積操作,人臉定位操作包括卷積操作;在定位結(jié)果用于表示目標(biāo)圖片中定位出存在人臉區(qū)域的情況下,返回定位結(jié)果。
處理器1201還用于執(zhí)行下述步驟:通過第一卷積神經(jīng)網(wǎng)絡(luò)調(diào)用圖形處理器對目標(biāo)圖片進(jìn)行卷積操作,得到卷積結(jié)果,其中,卷積神經(jīng)網(wǎng)絡(luò)包括第一卷積神經(jīng)網(wǎng)絡(luò);根據(jù)卷積結(jié)果確定目標(biāo)圖片中的第一區(qū)域為人臉區(qū)域的置信度;根據(jù)置信度在第一區(qū)域中確定出人臉區(qū)域。
采用本發(fā)明實施例,在接收定位請求時,通過卷積神經(jīng)網(wǎng)絡(luò)對目標(biāo)圖片進(jìn)行人臉定位操作,得到定位結(jié)果,在定位結(jié)果用于表示目標(biāo)圖片中定位出存在人臉區(qū)域的情況下,返回定位結(jié)果,由于進(jìn)行人臉識別的過程中,在初步識別中是通過卷積神經(jīng)網(wǎng)絡(luò)中的全卷積網(wǎng)絡(luò)直接調(diào)用圖形處理器對目標(biāo)圖片進(jìn)行卷積操作,采用這種硬件加速的方式,而不是通過cpu進(jìn)行逐個區(qū)域的掃描這一軟件處理方式,可以解決了相關(guān)技術(shù)中進(jìn)行人臉檢測的實時性較差的技術(shù)問題,進(jìn)而達(dá)到了提高人臉檢測的實時性的技術(shù)效果。
可選地,本實施例中的具體示例可以參考上述實施例1和實施例2中所描述的示例,本實施例在此不再贅述。
本領(lǐng)域普通技術(shù)人員可以理解,圖12所示的結(jié)構(gòu)僅為示意,終端可以是智能手機(如android手機、ios手機等)、平板電腦、掌上電腦以及移動互聯(lián)網(wǎng)設(shè)備(mobileinternetdevices,mid)、pad等終端設(shè)備。圖12其并不對上述電子裝置的結(jié)構(gòu)造成限定。例如,終端還可包括比圖12中所示更多或者更少的組件(如網(wǎng)絡(luò)接口、顯示裝置等),或者具有與圖12所示不同的配置。
本領(lǐng)域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令終端設(shè)備相關(guān)的硬件來完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存儲介質(zhì)可以包括:閃存盤、只讀存儲器(read-onlymemory,rom)、隨機存取器(randomaccessmemory,ram)、磁盤或光盤等。
實施例4
本發(fā)明的實施例還提供了一種存儲介質(zhì)??蛇x地,在本實施例中,上述存儲介質(zhì)可以用于執(zhí)行人臉區(qū)域的確定方法的程序代碼。
可選地,在本實施例中,上述存儲介質(zhì)可以位于上述實施例所示的網(wǎng)絡(luò)中的多個網(wǎng)絡(luò)設(shè)備中的至少一個網(wǎng)絡(luò)設(shè)備上。
可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:
s11,接收定位請求,定位請求用于請求在目標(biāo)圖片中定位出人臉區(qū)域;
s12,通過卷積神經(jīng)網(wǎng)絡(luò)對目標(biāo)圖片進(jìn)行人臉定位操作,得到定位結(jié)果,卷積神經(jīng)網(wǎng)絡(luò)用于調(diào)用圖形處理器對目標(biāo)圖片進(jìn)行卷積操作,人臉定位操作包括卷積操作;
s13,在定位結(jié)果用于表示目標(biāo)圖片中定位出存在人臉區(qū)域的情況下,返回定位結(jié)果。
可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:
s21,通過第一卷積神經(jīng)網(wǎng)絡(luò)調(diào)用圖形處理器對目標(biāo)圖片進(jìn)行卷積操作,得到卷積結(jié)果,卷積神經(jīng)網(wǎng)絡(luò)包括第一卷積神經(jīng)網(wǎng)絡(luò);
s22,根據(jù)卷積結(jié)果確定目標(biāo)圖片中的第一區(qū)域為人臉區(qū)域的置信度;
s23,根據(jù)置信度在第一區(qū)域中確定出人臉區(qū)域。
可選地,本實施例中的具體示例可以參考上述實施例1和實施例2中所描述的示例,本實施例在此不再贅述。
可選地,在本實施例中,上述存儲介質(zhì)可以包括但不限于:u盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
上述實施例中的集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在上述計算機可讀取的存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在存儲介質(zhì)中,包括若干指令用以使得一臺或多臺計算機設(shè)備(可為個人計算機、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。
在本發(fā)明的上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關(guān)描述。
在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的客戶端,可通過其它的方式實現(xiàn)。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。