本發(fā)明涉及人臉識別檢測領(lǐng)域,具體地,涉及一種基于人臉對齊的人臉跟蹤和人臉圖像捕獲方法。
背景技術(shù):
隨著計算機視覺的相關(guān)理論與應(yīng)用研究的快速發(fā)展,計算機視覺技術(shù)在日常生活中應(yīng)用的優(yōu)越性也日益突顯出來。用計算機對圖像進行識別是計算機從相關(guān)的視頻或圖像序列中提取出相應(yīng)的特征,從而讓計算機“理解”圖像的內(nèi)容,并能正確分類的技術(shù)。人臉識別在身份識別與驗證上的作用日趨明顯。對于在線視頻流的人臉識別系統(tǒng),基本程序框架如圖1所示。
在線實時人臉識別的基本流程:
(1)視頻流解析成幀序列,對每一幀利用人臉檢測方法檢測出人臉,標(biāo)記人臉框,圖像預(yù)處理,人臉特征的提取
(2)提取的人臉特征與人臉庫特征對比驗證
(3)存儲相應(yīng)的人臉圖像做日志記錄
(4)對幀序列中同一個人更新對應(yīng)的人臉框
通過以上基本流程可以看出,若對視頻流中每一幀圖像都不加選擇地做人臉檢測,圖像的預(yù)處理,特征提取,人臉識別,最后再存儲相應(yīng)的人臉,每一步都需要復(fù)雜的矩陣運算,gpu的計算壓力非常大,每一幀進行人臉圖像的存儲和更新,會導(dǎo)致數(shù)據(jù)庫存儲壓力巨大。因此對每幀進行暴力計算的方式會消耗巨大的計算和存儲資源,難以保證視頻中人臉檢測的實時性和大規(guī)模部署的可行性。
技術(shù)實現(xiàn)要素:
本發(fā)明提供了一種基于人臉對齊的人臉跟蹤和人臉圖像捕獲方法,解決了現(xiàn)有的在線實時人臉識別存在計算量較大的技術(shù)問題,實現(xiàn)了能高效地對視頻流中的人臉圖像進行提取,為在線實時人臉識別提供冗余較少的人臉圖像數(shù)據(jù)和跟蹤結(jié)果的技術(shù)效果。
人臉質(zhì)心:根據(jù)opencvdlib庫的68點人臉特征點對齊算法計算出的68點人臉關(guān)鍵點的質(zhì)心
人臉圖像入庫:根據(jù)人臉關(guān)鍵點數(shù)據(jù)計算合適的人臉邊框,將t時刻(當(dāng)前幀)人臉圖像截取并存儲,以供人臉識別系統(tǒng)調(diào)用。
在視頻流中,一個人臉從進入畫面到離開畫面范圍,其軌跡為一條連續(xù)的曲線。要對該人臉進行識別,在理想情況下只需要對其中某一幀的人臉圖像進行處理即可,并不需要對每一幀的圖像中的每一個人臉都進行識別。
人臉的移動符合一定的運動規(guī)律(速度,加速度),并且在相鄰的兩幀之間,人臉邊框的移動距離不大,因此能夠采用一定的方法將視頻不同幀中出現(xiàn)的同一個人臉聯(lián)系起來,從而實現(xiàn)的對人臉的跟蹤和高效捕獲提取。
為解決上述技術(shù)問題,本申請?zhí)峁┝艘环N基于opencv的人臉跟蹤和人臉圖像捕獲方法,所述方法包括:
步驟1:獲得具有人臉圖像的視頻流數(shù)據(jù),將視頻流解析成幀序列,計算t時刻每一個人臉的質(zhì)心;
步驟2:依據(jù)基于動量的人臉位置預(yù)測方法,依據(jù)歷史數(shù)據(jù)計算出t時刻中檢測出的人臉的質(zhì)心最可能出現(xiàn)的預(yù)測位置;
設(shè)同一人臉兩幀間時間間隔為δt,則定義時刻速度為vt,時刻速度為:
δx為兩幀之間目標(biāo)移動的x距離,δy為兩幀之間目標(biāo)移動的y距離,δt為兩幀的間隔時間,vx為沿著橫坐標(biāo)的目標(biāo)運動的速度,vy為沿著縱坐標(biāo)的目標(biāo)運動的速度;
根據(jù)物體運動規(guī)律,可得出下一幀人臉質(zhì)心預(yù)測坐標(biāo):
x=xt+vt×δt
y=y(tǒng)t+yt×δt
xt為當(dāng)前幀質(zhì)心的x坐標(biāo),yt為當(dāng)前幀質(zhì)心的y坐標(biāo),vx為當(dāng)前幀質(zhì)心沿著橫坐標(biāo)的速度,vy為當(dāng)前幀質(zhì)心沿著縱坐標(biāo)的速度。
步驟3:對于每一個t時刻的人臉質(zhì)心,計算檢測出的人臉質(zhì)心與所有人臉質(zhì)心預(yù)測結(jié)果之間的歐氏距離,將距離小于閥值的人臉質(zhì)心與該質(zhì)心初步匹配;若不存在距離小于閾值的,則將其與最近的人臉進行初步匹配;
計算對應(yīng)的人臉68點關(guān)鍵點數(shù)據(jù)與所有初步匹配的人臉對應(yīng)的之間每個點的平均歐氏距離:取對應(yīng)的人臉與所有初步匹配的人臉對應(yīng)的之間每個點的平均歐氏距離中最小值,對應(yīng)的初步匹配人臉為m,若最小的平均歐式距離小于閾值,則認(rèn)為人臉與初步匹配人臉m匹配成功,即認(rèn)為人臉與初步匹配人臉m為同一個人臉;若大于閾值,則表明沒有與匹配,認(rèn)為為新出現(xiàn)的人臉,將此人臉圖像入庫。
進一步的,所述計算t時刻每一個人臉的質(zhì)心具體包括:
設(shè)檢出的第i個人臉對齊結(jié)果為shape[i].part,其中,shape[i]結(jié)構(gòu)包括第i個人檢測出的所有關(guān)鍵點,part[n]為第n個關(guān)鍵點,n為檢測到的人臉關(guān)鍵點的個數(shù),未檢測到的關(guān)鍵點不予計算,則定義該人臉的質(zhì)心為:
進一步的,設(shè)同一人臉質(zhì)心軌跡為x,幀間時間間隔為δt,則定義時刻速度為vt,時刻速度為:
δx為兩幀之間目標(biāo)移動的x距離,δy為兩幀之間目標(biāo)移動的y距離,δt為兩幀的間隔時間;
根據(jù)物體運動規(guī)律,可得出下一幀人臉質(zhì)心預(yù)測坐標(biāo):
x=xt+vt×δt
y=y(tǒng)t+yt×δt
xt為當(dāng)前幀質(zhì)心的x坐標(biāo),yt為當(dāng)前幀質(zhì)心的y坐標(biāo),vx為當(dāng)前幀質(zhì)心沿著橫坐標(biāo)的速度,vy為當(dāng)前幀質(zhì)心沿著縱坐標(biāo)的速度。
進一步的,計算對應(yīng)的人臉68點關(guān)鍵點數(shù)據(jù)與所有初步匹配的人臉對應(yīng)的之間每個點的平均歐氏距離為:
其中,
進一步的,當(dāng)認(rèn)為計算對應(yīng)的人臉與初步匹配的人臉為同一個人臉,根據(jù)優(yōu)質(zhì)人臉圖像存儲策略,決定是否將t時刻人臉圖像入庫,具體包括:
在人臉68點中,選擇人臉下頜輪廓線中最左、最右和最下的三個點作為人臉圖像質(zhì)量計算的參考點,記為a,b,c;將三角形面積s作為人臉圖像質(zhì)量參考標(biāo)準(zhǔn):
根據(jù)平面解析幾何,三角形面積:
其中,xa為a點的橫坐標(biāo),xb為b點的橫坐標(biāo),xc為c點的橫坐標(biāo),ya為a點的縱坐標(biāo),yb為b點的縱坐標(biāo),yc為c點的縱坐標(biāo);
若s符合要求,則將t時刻人臉圖像入庫。
本申請?zhí)峁┑囊粋€或多個技術(shù)方案,至少具有如下技術(shù)效果或優(yōu)點:
由于通過該技術(shù)方案,在下一幀圖像中,對于移動范圍很小的人臉,不需要再通過人臉識別網(wǎng)絡(luò)判別人臉屬于哪一個人,而是通過歐式距離判斷是否為同一個人,沒有匹配的人臉時再進行人臉識別,計算量減小,因此,解決了現(xiàn)有的在線實時人臉識別存在計算量較大的技術(shù)問題,進而實現(xiàn)了能高效地對視頻流中的人臉圖像進行提取,為在線實時人臉識別提供冗余較少的人臉圖像數(shù)據(jù)和跟蹤結(jié)果的技術(shù)效果。
附圖說明
此處所說明的附圖用來提供對本發(fā)明實施例的進一步理解,構(gòu)成本申請的一部分,并不構(gòu)成對本發(fā)明實施例的限定;
圖1是本申請中現(xiàn)有在線視頻流的人臉識別系統(tǒng)的基本程序框架示意圖;
圖2是本申請中人臉圖像質(zhì)量計算參考點示意圖。
具體實施方式
本發(fā)明提供了一種基于人臉對齊的人臉跟蹤和人臉圖像捕獲方法,解決了現(xiàn)有的在線實時人臉識別存在計算量較大的技術(shù)問題,實現(xiàn)了能高效地對視頻流中的人臉圖像進行提取,為在線實時人臉識別提供冗余較少的人臉圖像數(shù)據(jù)和跟蹤結(jié)果的技術(shù)效果。
為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點,下面結(jié)合附圖和具體實施方式對本發(fā)明進行進一步的詳細(xì)描述。需要說明的是,在相互不沖突的情況下,本申請的實施例及實施例中的特征可以相互組合。
在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述范圍內(nèi)的其他方式來實施,因此,本發(fā)明的保護范圍并不受下面公開的具體實施例的限制。
本申請?zhí)峁┝艘环N基于opencv的人臉跟蹤和人臉圖像捕獲方法包括:
視頻流人臉跟蹤與人臉圖像提取流程:
步驟1:計算t時刻(當(dāng)前幀)每一個人臉的質(zhì)心。設(shè)檢出的第i個人臉對齊結(jié)果為shape[i].part,其中shape[i]結(jié)構(gòu)包涵第i個人檢測出的所有關(guān)鍵點,part[n]為第n個關(guān)鍵點,n為檢測到的人臉關(guān)鍵點的個數(shù),未檢測到的關(guān)鍵點不予計算;
則定義該人臉的質(zhì)心為:
步驟2:根據(jù)基于動量的人臉位置預(yù)測方法,依據(jù)歷史數(shù)據(jù)計算出時刻中檢測出的人臉的質(zhì)心最可能出現(xiàn)的預(yù)測位置;
線性人臉位置預(yù)測:設(shè)同一人臉質(zhì)心軌跡為x,幀間時間間隔為δt,則定義時刻速度為vt,時刻速度為:
δx為兩幀之間目標(biāo)移動的x距離,δy為兩幀之間目標(biāo)移動的y距離,δt為兩幀的間隔時間,根據(jù)物體運動規(guī)律,可得出下一幀人臉質(zhì)心預(yù)測坐標(biāo):
x=xt+vt×δt
y=y(tǒng)t+yt×δt
xt為當(dāng)前幀質(zhì)心的x坐標(biāo),yt為當(dāng)前幀質(zhì)心的y坐標(biāo),vx為當(dāng)前幀質(zhì)心沿著橫坐標(biāo)的速度,vy為當(dāng)前幀質(zhì)心沿著縱坐標(biāo)的速度。
步驟3:對于每一個t時刻的人臉質(zhì)心,計算檢測出的人臉質(zhì)心與所有人臉質(zhì)心預(yù)測結(jié)果之間的歐氏距離,將距離小于閾值的與該質(zhì)心初步匹配;若不存在距離小于閾值的,則與其最近的人臉進行初步匹配;
計算對應(yīng)的人臉68點關(guān)鍵點數(shù)據(jù)與所有初步匹配的人臉(可能有多個初步匹配的人臉)對應(yīng)的之間每個點的平均歐氏距離:
取所有平均歐式距離中最小值,對應(yīng)的初步匹配人臉為m,若最小歐式距離小于閾值,則認(rèn)為人臉與初步匹配人臉m匹配成功,即認(rèn)為人臉與初步匹配人臉m為同一個人臉,根據(jù)優(yōu)質(zhì)人臉圖像存儲策略,決定是否將t時刻人臉圖像入庫。若最小歐式距離大于閾值,則表明沒有與匹配,認(rèn)為為新出現(xiàn)的人臉,將此人臉圖像入庫。
優(yōu)質(zhì)人臉圖像存儲策略
在對人臉入庫時,需要選擇更加優(yōu)質(zhì)的人臉圖像,即利于提高人臉識別精度的圖像。請參考圖2,在圖2中,選擇人臉下頜輪廓線中最左(1號點)、最右(17號點)和最下(9號點)的三個點作為人臉圖像質(zhì)量計算的參考點,記為a,b,c。將三角形面積作為人臉圖像質(zhì)量參考標(biāo)準(zhǔn):
根據(jù)平面解析幾何,三角形面積:
s越大表明此人臉圖像大小和角度更好,更利于提升人臉識別網(wǎng)絡(luò)效果。
上述本申請實施例中的技術(shù)方案,至少具有如下的技術(shù)效果或優(yōu)點:
由于通過該技術(shù)方案,在下一幀圖像中,對于移動范圍很小的人臉,不需要再通過人臉識別網(wǎng)絡(luò)判別人臉屬于哪一個人,而是通過歐式距離判斷是否為同一個人,沒有匹配的人臉時再進行人臉識別,計算量減小,,因此,解決了現(xiàn)有的在線實時人臉識別存在計算量較大的技術(shù)問題,進而實現(xiàn)了能高效地對視頻流中的人臉圖像進行提取,為在線實時人臉識別提供冗余較少的人臉圖像數(shù)據(jù)和跟蹤結(jié)果的技術(shù)效果。
盡管已描述了本發(fā)明的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明范圍的所有變更和修改。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。