本申請屬于圖像信息數(shù)據(jù)處理領域,尤其涉及一種人臉位置跟蹤方法、裝置和電子設備。
背景技術(shù):
人臉跟蹤通常可以指在視頻或圖像序列中確定某個人臉的運動軌跡及大小變化的過程。一直以來,人臉跟蹤在圖像分析與識別、圖像監(jiān)控與檢索、即時視頻通信等領域都具有重大意義和廣泛應用。
一般的,所述的人臉跟蹤的處理過程可以主要包括在視頻中找到人臉的位置,在視頻拍攝時期,當人臉移動時,可以根據(jù)特定的算法例如粒子偏移、Mean shift(均值偏移)等跟蹤出人臉在視頻的具體位置。目前現(xiàn)有技術(shù)中主要采用的人臉跟蹤方法的處理過程包括:對每一幀圖片做人臉檢測,即可以認為每一幀為單獨的一張圖片,然后對每幀圖片做人臉檢測,從而計算得到每一幀圖片中人臉的位置。而在實際的應用中,例如用戶用手機前置攝像頭進行自拍的過程中,往往由于光線或者場景的突然變化、強光或測光的干擾、人臉的快速移動等造成人臉跟蹤丟失或者檢測錯誤的問題。這樣往往會導致用戶視頻監(jiān)測、視頻通話等使用過程中出現(xiàn)人臉跟蹤畫面不連續(xù),不能達到實時流暢跟蹤的效果,大大降低了用戶體驗,尤其是在處理性能較低的終端設備中表現(xiàn)的更為明顯。當然,現(xiàn)有技術(shù)中的人臉跟蹤方法也難以滿足對人臉跟蹤要求較高的用戶的需要。
現(xiàn)有技術(shù)中的人臉跟蹤方法,尤其是在光線變化強烈、光線干擾、人臉快速移動等復雜場景中仍然存在人臉跟蹤丟失或錯誤的問題,導致視頻畫面中人臉圖片模糊、人臉跟蹤畫面不連續(xù)等,降低了人臉檢測和跟蹤的效果和用戶的使用體驗。
技術(shù)實現(xiàn)要素:
本申請目的在于提供一種人臉位置跟蹤方法、裝置和電子設備,可以在光線變化強烈、光線干擾、人臉快速移動等復雜場景中較準確定位出幀圖片中的人臉區(qū)域,提高人臉跟蹤效果。同時解決了人臉跟蹤丟失的問題,達到較為流程的人臉位置跟蹤效率,提高用戶使用體驗。
本申請?zhí)峁┑囊环N人臉位置跟蹤方法、裝置和電子設備是這樣實現(xiàn)的:
一種人臉位置跟蹤方法,所述方法包括:
獲取當前幀圖片的人臉區(qū)域;
根據(jù)所述當前幀圖片的人臉區(qū)域確定所述當前幀圖片的下一幀圖片中人臉出現(xiàn)的預測區(qū)域;
在所述預測區(qū)域內(nèi)查找與所述人臉區(qū)域相似度達到預定要求的第一預選區(qū)域;
檢測所述下一幀圖片的人臉區(qū)域;基于所述第一預選區(qū)域和所述下一幀圖片的人臉區(qū)域的檢測結(jié)果,按照預設的選取規(guī)則確定所述下一幀圖片的人臉位置跟蹤結(jié)果。
一種人臉位置跟蹤裝置,所述裝置包括:
檢測模塊,用于檢測幀圖片的人臉區(qū)域;
預測區(qū)域計算模塊,用于根據(jù)所述檢測模塊檢測出的當前幀圖片的人臉區(qū)域計算所述當前幀圖片的下一幀圖片中人臉出現(xiàn)的預測區(qū)域;
預選區(qū)域計算模塊,用于在所述預測區(qū)域內(nèi)查找與所述人臉區(qū)域相似度達到預定要求的第一預選區(qū)域;
跟蹤結(jié)果選取模塊,用于基于所述第一預選區(qū)域和所述檢測模塊對所述當前幀圖片的下一幀圖片人臉區(qū)域的檢測結(jié)果,按照預設的選取規(guī)則確定所述下一幀圖片的人臉位置跟蹤結(jié)果。
一種人臉位置跟蹤的電子設備,所述電子設備被設置成,包括:
信息獲取單元,用于獲取待處理的幀圖片;
處理單元,用于檢測所述幀圖片的人臉區(qū)域;還用于根據(jù)檢測出的當前幀圖片的人臉區(qū)域計算所述當前幀圖片的下一幀圖片中人臉出現(xiàn)的預測區(qū)域,并在所述預測區(qū)域內(nèi)查找與所述人臉區(qū)域相似度達到預定要求的第一預選區(qū)域;還用于基于所述第一預選區(qū)域和所述檢測模塊對所述當前幀圖片的下一幀圖片人臉區(qū)域的檢測結(jié)果,按照預設的選取規(guī)則確定所述下一幀圖片的人臉位置跟蹤結(jié)果;
顯示單元,用于顯示所述處理單元得到的人臉位置跟蹤結(jié)果。
本申請?zhí)峁┑娜四樜恢酶櫡椒?、裝置和電子設備,可以根據(jù)當前幀圖片中的人臉區(qū)域預測下一幀圖片中人臉出現(xiàn)的預測區(qū)域的范圍。然后可以在所述預測區(qū)域的范圍內(nèi)找到與前一幀圖片的人臉區(qū)域相似度達到預定要求(例如相似度最高)的人臉區(qū)域的預選區(qū)域。這樣,在所述當前幀的下一幀圖片中可以獲取根據(jù)上一幀圖片根據(jù)得到的預選人臉的信息。進一步的,本申請方案中可以檢測所述下一幀圖片的人臉區(qū)域,如果在所述下一幀圖片中檢測不到 人臉區(qū)域,則可以使用根據(jù)上一幀計算得到的預選區(qū)域作為所述下一幀的人臉區(qū)域。如果可以檢測到人臉區(qū)域,則所述下一幀圖片的至少兩個人臉區(qū)域,然后可以根據(jù)預先設置的選取規(guī)則選取符合要求的人臉區(qū)域作為所述下一幀圖片最終的人臉位置跟蹤的結(jié)果。因此,在本申請中,即使發(fā)生光線突變等復雜場景導致當前幀檢測不到人臉區(qū)域,也可以使用基于上一幀的人臉區(qū)域預測的得到的預選區(qū)域定位跟蹤人臉位置,保障了人臉檢測、跟蹤的連續(xù)性,提高人臉檢測和跟蹤效果,以及用戶使用人臉跟蹤的使用體驗。
附圖說明
為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對于本領域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本申請所述一種人臉位置跟蹤方法一種實施例的方法流程圖;
圖2是根據(jù)當前幀圖片的人臉區(qū)域確定下一幀圖片中人臉出現(xiàn)的預測區(qū)域的示意圖;
圖3是本申請在所述預測區(qū)域匹配查找到的第一預選區(qū)域的示意圖;
圖4是本申請?zhí)峁┑囊环N確定人臉位置跟蹤結(jié)果的選取場景示意圖;
圖5是本申請實施例中進一步查找所述第二預選區(qū)域的示意圖;
圖6是本申請所述人臉位置跟蹤裝置一種實施例的模塊結(jié)構(gòu)示意圖;
圖7是本申請?zhí)峁┑乃鲱A選區(qū)域計算模塊一種實施例的模塊結(jié)構(gòu)示意圖;
圖8是本申請所述預選區(qū)域計算模塊另一種實施例的模塊結(jié)構(gòu)示意圖;
圖9是本申請?zhí)峁┑母櫧Y(jié)果選取模塊一種實施例的模塊結(jié)構(gòu)示意圖;
圖10是本申請所述人臉位置跟蹤的電子裝置的一種實施例的結(jié)構(gòu)示意圖。
具體實施方式
為了使本技術(shù)領域的人員更好地理解本申請中的技術(shù)方案,下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本申請保護的范圍。
下面結(jié)合附圖對本申請所述的基礎數(shù)據(jù)處理方法進行詳細的說明。圖1是本申請所述一種人臉位置跟蹤方法一種實施例的方法流程圖。雖然本申請?zhí)峁┝巳缦率鰧嵤├蚋綀D所示的方法操作步驟,但基于常規(guī)或者無需創(chuàng)造性的勞動在所述方法中可以包括更多或者更少的 操作步驟。在邏輯性上不存在必要因果關系的步驟中,這些步驟的執(zhí)行順序不限于本申請實施例提供的執(zhí)行順序。所述的方法的在實際中的裝置或終端產(chǎn)品執(zhí)行時,可以按照實施例或者附圖所示的方法順序執(zhí)行或者并行執(zhí)行(例如并行處理器或者多線程處理的環(huán)境)。
具體的本申請?zhí)峁┑囊环N人臉位置跟蹤方法的一種實施例如圖1所示,所述方法可以包括:
S1:獲取當前幀圖片中人臉區(qū)域。
一般的,人臉位置跟蹤多用于利用攝像裝置拍攝的視頻流信息處理中,例如監(jiān)控設備,或者用戶使用手機攝像頭視頻拍攝等。本申請?zhí)峁┑娜四樜恢酶櫡椒梢园ǖ幌抻谝曨l流的信息處理,在其他的一些跟蹤圖像序列中人臉位置的應用場景中連續(xù)圖畫或電影膠片數(shù)字信息中的人臉跟蹤等仍然可以使用本申請方案。為便于清楚的描述本申請方案,本實施例中可以以用戶使用手機前置攝像頭進行自拍的應用場景進行說明。在本實施例中,可以先獲取當前視頻當前幀圖片中的人臉區(qū)域。具體的可以在視頻流剛開始對視頻幀圖片進行人臉檢測。一般的,需要對每一幀圖片進行人臉檢測,直至檢測出人臉。通常情況,在當前幀圖片檢測到人臉時,可以獲取得到與該人臉圖像相關的信息,如圖像色彩參數(shù)、大小、邊框距等。通常的還可以以一定的區(qū)域范圍表示人臉的位置,例如常用的表示方式可以包括使用矩形框表示檢測到的人臉所在的位置區(qū)域。
考慮到本申請在移動通訊終端、車載視頻記錄儀等相比于PC電腦數(shù)據(jù)處理能力較弱的終端產(chǎn)品中的應用場景,本申請可以提供一種檢測人臉區(qū)域的實施方式。在一種實施例中,所述的獲取當前幀圖片的人臉區(qū)域可以包括:
采用降低分類級數(shù)的Adaboost方法檢測并獲取當前幀圖片的人臉區(qū)域。
所述的Adaboost是一種迭代算法,其主要處理過程可以包括針對同一個訓練集訓練不同的分類器(弱分類器),然后把這些弱分類器集合起來,構(gòu)成一個更強的最終分類器(強分類器)。所述的Adaboost算法通??梢愿鶕?jù)每次訓練集之中每個樣本的分類是否正確以及上次的總體分類的準確率,來確定每個樣本的權(quán)值。然后可以將修改過權(quán)值的新數(shù)據(jù)集送給下層分類器進行訓練,最后將每次訓練得到的分類器最后融合起來,作為最后的決策分類器。Adaboost級聯(lián)結(jié)構(gòu)的分類器通常是由一系列的分類器的串聯(lián)組成。對待識別的樣本進行判別時,只有被前面一級的分類器判決為正的樣本才被送入后面的分類器繼續(xù)處理,反之則被認為是負樣本直接拒絕。在級聯(lián)結(jié)構(gòu)中,前面幾級的分類器相對來說結(jié)構(gòu)比較簡單,使用的特征數(shù)也較少,但檢測率很高,同時能夠盡可能地濾除那些與目標差異較大的負樣本。后面級次的分類器則使用更多的特征和更復雜的結(jié)構(gòu),從而可以將那些與目標相似的負樣本與目標物體區(qū)分開。
需要說明的是,本實施例在采用所述Adaboost方法檢測所述當前幀圖片的人臉區(qū)域的處理過程中,可以根據(jù)需求適當減少分類級數(shù),從而實現(xiàn)減少人臉檢測的計算量,實現(xiàn)快速人臉檢測。
本申請的所述人臉位置跟蹤方法的一種應用場景中,用戶在利用手機前置或者后置攝像頭主動拍攝的情況下,如果存在對多人進行拍攝,通常情況下是主要的被拍攝者的人臉所占屏幕或顯示器的比例較大。此時往往是里攝像頭最近的人臉為主要關注焦點。因此,為了更加準確的跟蹤人臉位置,更加符合用戶人臉位置跟蹤的預期,本申請的另一種實施例中,在人臉位置跟蹤處理時可以只跟蹤離攝像頭最近的人臉,在實施過程中可以取當前幀圖片中最大的人臉框作為人臉跟蹤對象。因此,本申請的另一種實施例中,所述獲取當前幀圖片的人臉區(qū)域可以包括:
在檢測出當前幀圖片中至少存在兩組人臉時,選取所述當前幀中圖片面積最大的人臉對應的區(qū)域作為所述當前幀圖片的人臉區(qū)域。
本實施例中可以獲取視頻當前幀圖片的人臉區(qū)域。
S2:根據(jù)所述當前幀圖片的人臉區(qū)域確定所述當前幀圖片的下一幀圖片中人臉出現(xiàn)的預測區(qū)域。
在獲取所述當前幀圖片的人臉區(qū)域后,可以根據(jù)所述當前幀圖片的人臉區(qū)域確定出下一幀圖片中人臉出現(xiàn)的預測區(qū)域。所述的預測區(qū)域可以包括根據(jù)一定的算法或者規(guī)則計算確定的在當前幀的下一幀圖片中人臉出現(xiàn)的區(qū)域范圍。圖2是一種根據(jù)當前幀圖片的人臉區(qū)域確定下一幀圖片中人臉出現(xiàn)的預測區(qū)域的示意圖。如圖2所示,在當前幀圖片N中,矩形框A為檢測獲取的所述當前幀圖片的人臉區(qū)域。在所述下一幀圖片(N+1)中,可以以上一幀(即上述的當前幀N)圖片N中的人臉區(qū)域A的矩形框區(qū)域長和寬分別擴展K個像素后形成的矩形框B作為所述下一幀圖片(N+1)中人臉出現(xiàn)的預測區(qū)域。當然,在其他的實施例中也可以采取其他的方式確定所述預測區(qū)域,例如將所述當前幀圖片的人臉區(qū)域的矩形框A長和寬分開擴大1.5倍后形成的矩形框作為所述預測區(qū)域等方式。
基于所述當前幀圖片的人臉區(qū)域,按照一定的規(guī)則確定所述當前幀圖片的下一幀圖片中人臉出現(xiàn)的預測區(qū)域。
S3:在所述預測區(qū)域內(nèi)查找與所述人臉區(qū)域相似度達到預定要求的第一預選區(qū)域。
確定出所述下一幀圖片人臉可能出現(xiàn)的預測區(qū)域后,可以在所述預測區(qū)域范圍內(nèi)查找匹配與上一幀(即S2中的所述當前幀N)圖片中獲取的人臉區(qū)域相似度高的人臉區(qū)域的第一 預選區(qū)域。
在本實施例可以提供一種模板匹配的方法來計算所述下一幀圖片中的第一預選區(qū)域所述人臉區(qū)域的相似性。實施過程中,可以以所述當前幀圖片人臉區(qū)域為原模板,可以設置以所述人臉區(qū)域的邊界范圍為移動窗口的大小,每次窗口移動可以形成新的匹配模塊。在本實施例所述預測區(qū)域范圍內(nèi),每次移動一個步長可以獲取新的移動窗口區(qū)域的數(shù)據(jù),分別計算所述移動窗口區(qū)域與所述人臉區(qū)域的相似性。本申請中可以不限制具體的某一種計算或判斷兩個區(qū)域相似性的方法,其他的可實現(xiàn)相同或相似功能的方法仍然可以適用本申請的實施過程中。具體的,所述根據(jù)所述當前幀圖片的人臉區(qū)域確定所述當前幀圖片的下一幀圖片中人臉出現(xiàn)的預測區(qū)域可以包括:
S301:按照第一移動步長遍歷所述預測區(qū)域,獲取所述人臉區(qū)域的比對區(qū)域。
所述的第一步長可以根據(jù)實際人臉位置跟蹤的處理速度或處理精度需求進行設置??梢赃x的實施例中,為減少數(shù)據(jù)計算量以提高數(shù)據(jù)處理速度,同時保障人臉位置跟蹤的精度要求,本實施例所述第一移動步長的取值范圍額可以為大于或等于兩個像素點。
S302:計算得到所述人臉區(qū)域與比對區(qū)域的相似度。
不同圖像區(qū)域相似度的計算可以根據(jù)不同的應用場景或數(shù)據(jù)處理的需求選取相應的計算方式及計算參數(shù)。例如可以基于不同區(qū)域的圖像的色彩、紋理、梯度等計算所述人臉區(qū)域與比對區(qū)域的相似度。本申請?zhí)峁┝艘环N計算所述相似度的實施方式,具體的,本申請的一種實施例中,可以利用下述公式計算所述人臉區(qū)域與所述比對區(qū)域的相似度dis:
min X=max(-leftori,-leftdes)
max X=max(width-leftori,width-leftdes)
min Y=max(-topori,-topdes)
max Y=max(height-topori,height-topdes)
effctiveNum=[min(width,max X)-max(1,min X)]*[min(height,max X)-max(1,min Y)]
dis=sumDis*(width*height)/effctiveNum
上述公式中,leftori、leftdes、topori、topdes可以分別表示為所述人臉區(qū)域的左邊 界位置、當前比對區(qū)域的左邊界位置、所述人臉區(qū)域的上邊界位置、當前比對區(qū)域的上邊界位置;width可以表示為所述人臉區(qū)域的寬度,height可以表示為所述人臉區(qū)域的高度,f(i,j)可以表示為所述當前幀圖片(即所述下一幀K+1的上一幀K)人臉區(qū)域中坐標為(i,j)像素點的灰度值,g(i,j)可以表示為所述下一幀圖片比對區(qū)域中坐標為(i,j)像素點的灰度值;x可以表示為設置的經(jīng)驗閾值,dis為所述人臉區(qū)域與所述比對區(qū)域的相似度。上述公式中,max(a,b)可以不表示為取a、b中值較大的項,min(a,b)可以表為取a、b中值較小的項。
S303:將所述下一幀圖片中相似度達到預定要求的比對區(qū)域作為所述下一幀圖片的第一預選區(qū)域。
本實施例中可以設置預定要求,可以用于篩選出所述預測區(qū)域中符合預測要求的比對區(qū)域。例如所述預定要求可以設置為所述比對區(qū)域于所述人臉區(qū)域的相似度達到90%以上?;蛘咚鱿嗨贫扰判蚝笾付ò俜直葍?nèi)的比對區(qū)域,例如所述相似度最高的前三個比對區(qū)域。本申請可選的一種實施例中,所述相似度達到預定要求的比對區(qū)域可以設置為,包括:
所述下一幀圖片的比對區(qū)域中相似度的值最大的比對區(qū)域。
圖3是本申請在所述預測區(qū)域匹配查找到的第一預選區(qū)域的示意圖。如圖3所示,在所述下一幀圖片(N+1)的預測區(qū)域B內(nèi),可以查找到與所述當前幀圖片N中的人臉區(qū)域A匹配度符合要求的第一預選區(qū)域C。本實施例可以僅選取所述下一幀比對區(qū)域中與所述當前幀圖片的人臉區(qū)域最相似的區(qū)域作為所述第一預選區(qū)域。這樣,相比于選取出多個預先區(qū)域可以減少數(shù)據(jù)處理量,更快的篩選出預先區(qū)域,提高人臉位置處理速度。
本實施例采用的模板匹配方法在計算獲取所述第一預選區(qū)域時可以僅對一定區(qū)域內(nèi)做像素灰度值的加減運算,相比于現(xiàn)有的其他跟蹤算法,無需做過多處理和存儲,時間和空間復雜度低。適用范圍更廣,尤其是對信息數(shù)據(jù)處理能力較弱的中低端類型手機、監(jiān)控設備,可以有效減少計算量的同時提高人臉跟蹤精度。另一方面,在近距離視頻拍攝的人臉跟蹤環(huán)境下,例如在手機前置攝像頭的應用場景下,使用者在自拍的時候,人臉所占屏幕的比例旺旺會較大。采用本實施例所述的模板匹配方法可以獲取整個視頻界面內(nèi)更多比例的人臉區(qū)域的有效信息,相比于其他跟蹤算法,跟蹤結(jié)果更可靠。
本實施例中可以在所述預測區(qū)域內(nèi)根據(jù)一定的計算方法查找獲取與所述人臉區(qū)域相似度達到預定要求的第一預選區(qū)域。
S4:檢測所述下一幀圖片的人臉區(qū)域;基于所述第一預選區(qū)域和所述下一幀圖片的人臉區(qū)域的檢測結(jié)果,按照預設的選取規(guī)則確定所述下一幀圖片的人臉位置跟蹤結(jié)果。
在切換到所述下一幀圖片時,可以檢測所述下一幀圖片是否存在人臉區(qū)域。如果檢測出所述下一幀圖片存在人臉區(qū)域,那么所述下一幀圖片會得到所述檢測出的人臉區(qū)域和人臉跟蹤預測得到第一預選區(qū)域的至少兩個人臉區(qū)域。本申請中可以結(jié)合所述的至少兩個人臉區(qū)域通過一定的協(xié)同計算分析得到所述下一幀圖片最終的人臉跟蹤結(jié)果。
本申請可以采用所述根據(jù)預先設置的選取規(guī)則來判斷選用哪一個人臉區(qū)域作為最終的人臉位置跟蹤結(jié)果。本實施例中所述的選取規(guī)則可以包括根據(jù)所述下一幀圖片的人臉區(qū)域與所述第一預選區(qū)域的重合面積占到其中一個人臉區(qū)域面積的不同百分比設置的選取所述下一幀圖片人臉區(qū)域還是所述第一預選區(qū)域的選取規(guī)則。在本實施例中可以將所述下一幀圖片的人臉區(qū)域與所述第一預選區(qū)域的重合面積占到所述下一幀圖片的人臉區(qū)域或者所述第一預選區(qū)域面積的百分比定義為重合系數(shù)Q。
圖4是本申請?zhí)峁┑囊环N確定人臉位置跟蹤結(jié)果的選取場景示意圖。如圖4中所示,矩形框D可以表示為檢測出的所述下一幀圖片的人臉區(qū)域,在此簡稱為檢測結(jié)果;矩形框C可以表示通過上述步驟S1至S3以及其他實施例跟蹤計算得到的所述下一幀圖片的第一預選區(qū)域,在此簡稱為跟蹤結(jié)果;陰影部分為最終確定的所述下一幀圖片的人臉位置跟蹤結(jié)果。在所述下一幀圖片中同時存在所述檢測結(jié)果和所述跟蹤結(jié)果時,如果所述檢測結(jié)果與所述跟蹤結(jié)果不重合,即所述重合系數(shù)Q為0,可以使用跟蹤結(jié)果作為所述人臉位置跟蹤結(jié)果,如圖4中4-1所示。如果所述檢測結(jié)果和所述跟蹤結(jié)果有重合區(qū)域,但重合面積較小,未達到設定的重合要求,此時可以使用跟蹤結(jié)果作為所述人臉位置跟蹤結(jié)果,如圖4中4-2所示。另一種情況下,如果所述檢測結(jié)果與所述跟蹤結(jié)果大面積重合,達到設定重合要求,例如95%的面積重合,此時可以選取檢測結(jié)果作為所述人臉位置跟蹤結(jié)果,如圖4中4-3所示。當然,如果所述下一幀圖片未檢測到人臉區(qū)域,則可以直接使用所述跟蹤結(jié)果作為所述人臉位置跟蹤結(jié)果,如圖4中4-4所示。
因此,可選的實施例中,所述根據(jù)所述下一幀圖片的人臉區(qū)域的檢測結(jié)果和預設的選取規(guī)則確定所述下一幀圖片的人臉位置跟蹤結(jié)果可以包括:
所述下一幀圖片的人臉區(qū)域的檢測結(jié)果為未檢測到人臉區(qū)域時,以所述第一預選區(qū)域作為所述下一幀圖片的人臉位置跟蹤結(jié)果;
檢測出的所述下一幀圖片的人臉區(qū)域與所述第一預選區(qū)域的重合系數(shù)為0時,以所述第一預選區(qū)域作為所述下一幀圖片的人臉位置跟蹤結(jié)果;
檢測出的所述下一幀圖片的人臉區(qū)域與所述第一預選區(qū)域的重合系數(shù)小于預定閥值時,以所述第一預選區(qū)域作為所述下一幀圖片的人臉位置跟蹤結(jié)果;
檢測出的所述下一幀圖片的人臉區(qū)域與所述第一預選區(qū)域的重合系數(shù)大于或等于預定 閥值時,以所述檢測出的所述下一幀圖片的人臉區(qū)域作為所述下一幀圖片的人臉位置跟蹤結(jié)果。
本實施例給出了一種從所述檢測結(jié)果和跟蹤結(jié)果中如何選取最終人臉位置跟蹤結(jié)果的實施方法。利用本申請所述實施例可以實現(xiàn)在人臉快速移動、光線突變、強光干擾等復雜環(huán)境下準確、快速的跟蹤人臉位置。實施方案中在幀圖片中出現(xiàn)幀丟失,未檢測到人臉的情況時,仍然可以實現(xiàn)人臉位置的跟蹤確認,達到人臉位置的連續(xù)跟蹤的效果,使人臉跟蹤畫面流暢。即使未出現(xiàn)幀丟失,在幀圖片中也可以在檢測結(jié)果和跟蹤結(jié)果之間根據(jù)預定的選取規(guī)則選取更為合適的區(qū)域作為人臉位置跟蹤結(jié)果,提高人臉跟蹤效果,提升用戶體驗。
需要主要說明的是,本申請中所述的當前幀、下一幀、上一幀以及前一陣等描述在實際的應用中可以認為是對幀圖片信息處理對象描述的相對概念。如可以標記視頻流中某個時刻的幀圖片為當前幀圖片N,那么相應的下一幀可以為第N+1幀圖片,上一幀可以為第N-1幀圖片。在跟蹤處理完所述下一幀第N+1幀圖片后可以繼續(xù)處理跟蹤第N+2幀圖片中的人臉位置,此時,所述的當前幀圖片應該為第N+1幀圖片,相應的,相對應所述當前幀圖片(N+1)的下一幀圖片可以為第N+2幀圖片。
在連續(xù)幀圖片處理時,在跟蹤處理完當前幀圖片的人臉位置跟蹤后,可以以當前幀圖片的處理結(jié)果作為下一幀人臉位置跟蹤時的參考或者初始化信息繼續(xù)跟蹤下一幀圖片中的人臉位置。在一些應用場景中,一般的,所述視頻流中每秒需要處理的幀圖片較多,可以到達十幾幀甚至幾十幀。在人臉位置跟蹤處理時,如果出現(xiàn)光線強烈變、人臉快速移動等導致某一幀N中人臉跟蹤丟失導致未檢測出人臉時,可以將上一幀(N-1)檢測或處理的結(jié)果得到的人臉區(qū)域作為該人臉跟蹤丟失的幀N跟蹤出的人臉區(qū)域??蓴U展的實施方式中,如果所述上一幀(N-1)仍然未檢測和跟蹤出出人臉,則可以繼續(xù)使用前一幀(N-2)的檢測或者根據(jù)處理得到人臉區(qū)域結(jié)果,依次類推。當然,如果根據(jù)預先設定的判斷規(guī)則,如果連續(xù)多幀未檢測出人臉,可以判斷當前人臉不再攝像范圍內(nèi)。
上述實施例在所述下一幀圖片中查找人臉出現(xiàn)的預測區(qū)域時,可以根據(jù)需要設置所述第一移動步長的值,例如可以設置每次移動2個像素點或者每次移動5個像素點。一般的,所述的移動步長的值設置的越大,查找與上一幀人臉區(qū)域相似區(qū)域的速度越快,處理的數(shù)據(jù)量也越少。所述移動步長的值設置的越小,相應的查找的精度也就越高。在上述所述第一移動步長的取值范圍為大于或等于兩個像素點的實施例中,為進一步提高查找所述第一預選區(qū)域的精度,本申請?zhí)峁┑牧硪环N優(yōu)選的實施例中,所述方法還可以包括:
S304:在所述第一預選區(qū)域周圍的第二步長范圍內(nèi)以查找與所述人臉區(qū)域相似度最高的 第二預選區(qū)域,所述第二步長的取值小于所述第一步長;此時,可以將通過更精細的查找獲得的第二預選區(qū)域作為所述下一幀圖片人臉位置區(qū)域的跟蹤結(jié)果。在后續(xù)確認最終的人臉位置跟蹤結(jié)果時可以在檢測結(jié)果和所述第二預選區(qū)域之間進行選取,因此,
相應的,所述基于所述第一預選區(qū)域和所述下一幀圖片的人臉區(qū)域的檢測結(jié)果,按照預設的選取規(guī)則確定所述下一幀圖片的人臉位置跟蹤結(jié)果包括:基于所述第二預選區(qū)域和所述下一幀圖片的人臉區(qū)域的檢測結(jié)果,按照預設的選取規(guī)則確定所述下一幀圖片的人臉位置跟蹤結(jié)果。
具體的應用中,例如所述第一步長為2個像素,那么本實施例中可以將在所述第一預選區(qū)域周圍一個像素點的范圍內(nèi)人臉區(qū)域與所述上一幀圖片的人臉區(qū)域進行相似性計算,獲取相似度值最高的區(qū)域。具體的,本實施例中可以使用步驟S302中所述的相似度計算方法來計算得出所述第二預選區(qū)域,當然也不排除其他的判斷兩個區(qū)域相似性的計算方法,在此不做贅述。圖5是本申請實施例中進一步查找所述第二預選區(qū)域的示意圖。如圖5所示,矩形框C為在預測區(qū)域內(nèi)以步長2個像素確定的人臉區(qū)域的第一預選區(qū)域,矩形框D為所述第一預選區(qū)域C右上角一個像素點的一個比對區(qū)域C_ru。當然,所述第一預選區(qū)域周圍一個像素點的范圍可以包括所述第一預選區(qū)域向下移動一個像素點形成的比對區(qū)域C_d、向上移動一個像素點形成的比對區(qū)域C_u、向左下角移動一個像素點形成的比對區(qū)域C_ld等。然后可以分別計算所述第一預選區(qū)域周圍一個像素點的比對區(qū)域與所述人臉區(qū)域的相似度,可以從中選取所述相似度數(shù)值最高的比對區(qū)域作為所述第二預選區(qū)域。
本實施例中通過值設置較大第一步長的計算得到第一預選區(qū)域,可以有效減少圖片對比查找的計算量,提高人臉位置跟蹤的數(shù)據(jù)處理速度。然后本實施例可以基于所述第一預選區(qū)域的結(jié)果在周圍比第一步長小的第二步長范圍內(nèi)進行更精細的查找,獲取跟蹤結(jié)果更為準確的第二預選區(qū)域。這樣,可以達到快速查找處理的同時,又可以提供人臉跟蹤的準確性,提高人臉跟蹤效果。
基于本申請所述的人臉位置跟蹤方法,本申請?zhí)峁┮环N人臉位置跟蹤裝置。圖6是本申請所述人臉位置跟蹤裝置一種實施例的模塊結(jié)構(gòu)示意圖,如圖6所示,所述裝置可以包括:
檢測模塊101,可以用于檢測幀圖片的人臉區(qū)域;
預測區(qū)域計算模塊102,可以用于根據(jù)所述次檢測模塊101檢測出的當前幀圖片的人臉區(qū)域計算所述當前幀圖片的下一幀圖片中人臉出現(xiàn)的預測區(qū)域;
預選區(qū)域計算模塊103,可以用于在所述預測區(qū)域內(nèi)查找與所述人臉區(qū)域相似度達到預定要求的第一預選區(qū)域;
跟蹤結(jié)果選取模塊104,可以用于基于所述第一預選區(qū)域和所述檢測模塊101對所述當前幀圖片的下一幀圖片人臉區(qū)域的檢測結(jié)果,按照預設的選取規(guī)則確定所述下一幀圖片的人臉位置跟蹤結(jié)果。
在本申請所述人臉位置跟蹤裝置的實施例中,所述檢測模塊101可以隨著時間軸的推進連續(xù)檢測攝像裝置拍攝獲取的幀圖片中的人臉區(qū)域。例如視頻流中每秒拍攝15幀視頻圖片,在進行人臉位置跟蹤時可以檢測當前幀(第N幀)圖片中的人臉區(qū)域。檢測、跟蹤處理完當前幀(第N幀)圖片的信息數(shù)據(jù)后可以繼續(xù)檢測下一幀(第N+1)圖片中的人臉區(qū)域。
本申請裝置所述檢測模塊101的一種實施例中可以采用降低分類級數(shù)的Adaboost方法檢測并獲取當前幀圖片的人臉區(qū)域。這樣,可以減少人臉檢測的數(shù)據(jù)計算量,提高人臉位置跟蹤的定位、處理速度。
本申請裝置的另一種實施例中,在人臉位置跟蹤處理時可以只跟蹤離攝像頭最近的人臉,在實施過程中可以取當前幀圖片中最大的人臉框作為人臉跟蹤對象。因此,本申請所述裝置的另一種實施例中,所述述檢測模塊101檢測幀圖片的人臉區(qū)域包括:
在檢測出當前幀圖片中至少存在兩組人臉時,選取所述當前幀中圖片面積最大的人臉對應的區(qū)域作為所述當前幀圖片的人臉區(qū)域。
本申請中不限制所述的預選區(qū)域計算模塊103查找計算所述第一預選區(qū)域的方法。圖7是本申請所述裝置提供的所述預選區(qū)域計算模塊103一種實施例的模塊結(jié)構(gòu)示意圖。如圖7所示,所述預選區(qū)域計算模塊103可以包括:
比對區(qū)域模塊1031,可以用于按照設定的第一步長遍歷所述預測區(qū)域,獲取所述人臉區(qū)域的比對區(qū)域;
相似度計算模塊1032,可以用于計算得到所述人臉區(qū)域與比對區(qū)域的相似度。
本申請所述裝置的一種實施例中,所述相似度計算模塊1032可以利用下述公式計算所述人臉區(qū)域與所述比對區(qū)域的相似度dis:
min X=max(-leftori,-leftdes)
max X=max(width-leftori,width-leftdes)
min Y=max(-topori,-topdes)
max Y=max(height-topori,height-topdes)
effctiveNum=[min(width,max X)-max(1,min X)]*[min(height,max X)-max(1,min Y)]
dis=sumDis*(width*height)/effctiveNum
上述公式中,leftori、leftdes、topori、topdes分別表示為所述人臉區(qū)域的左邊界位置、當前比對區(qū)域的左邊界位置、所述人臉區(qū)域的上邊界位置、當前比對區(qū)域的上邊界位置;width表示為所述人臉區(qū)域的寬度,height表示為所述人臉區(qū)域的高度,f(i,j)表示為所述當前幀圖片人臉區(qū)域中坐標為(i,j)像素點的灰度值,g(i,j)表示為所述下一幀圖片比對區(qū)域中坐標為(i,j)像素點的灰度值;x表示為設置的經(jīng)驗閾值,dis為所述人臉區(qū)域與所述比對區(qū)域的相似度;
第一預選模塊1033,可以用于將所述下一幀圖片中相似度達到預定要求的比對區(qū)域作為所述下一幀圖片的第一預選區(qū)域。
上述所述裝置以及包括所述相似度計算模塊1032中利用的計算公式,可以所述裝置/模塊具體的實施過程中可以以計算機可讀的程序語言實現(xiàn),例如C語言。或者結(jié)合必要的硬件結(jié)構(gòu)以硬件+軟件的方式實現(xiàn)。
可以選取實施例中,所述第一預選模塊1033中設定的預選要求可以設置為與所述人臉區(qū)域相似度最高。因此,另一種實施例中,所述第一預選模塊1033中所述相似度達到預定要求的比對區(qū)域可以包括:
所述下一幀圖片的比對區(qū)域中相似度的值最大的比對區(qū)域。
上述實施例中,所述比對區(qū)域模塊1031中設置的第一步長可以根據(jù)本申請對人臉位置跟蹤裝置的處理速度或精度的要求進行設置。本申請所述裝置的一種實施方式中,所述第一移動步長的取值范圍可以設置為大于或等于兩個像素點。
本申請還可以提供所述人臉位置跟蹤裝置一種優(yōu)選的實施例。圖8本申請所述預選區(qū)域計算模塊另一種實施例的模塊結(jié)構(gòu)示意圖。如圖8所示,所述預選區(qū)域計算模塊103還可以包括:
第二預選模塊1034,可以用于在所述第一預選區(qū)域周圍的第二步長范圍內(nèi)查找與所述人臉區(qū)域相似度最高的第二預選區(qū)域,其中,所述第二步長的取值小于所述第一步長。
相應的,所述跟蹤結(jié)果選取模塊104基于所述第一預選區(qū)域和所述檢測模塊101對所述 當前幀圖片的下一幀圖片人臉區(qū)域的檢測結(jié)果,按照預設的選取規(guī)則確定所述下一幀圖片的人臉位置跟蹤結(jié)果,包括:所述跟蹤結(jié)果選取模塊104基于所述第二預選區(qū)域和所述檢測模塊101對所述當前幀圖片的下一幀圖片人臉區(qū)域的檢測結(jié)果,按照預設的選取規(guī)則確定所述下一幀圖片的人臉位置跟蹤結(jié)果。
在本實施例所述的人臉位置跟蹤裝置,可以基于所述第一預選區(qū)域的結(jié)果在周圍比第一步長小的第二步長范圍內(nèi)進行更精細的查找,獲取跟蹤結(jié)果更為準確的第二預選區(qū)域。這樣,可以達到快速查找處理的同時,又可以提供人臉位置跟蹤的準確性,提高人臉跟蹤效果。
圖9是本申請?zhí)峁┑母櫧Y(jié)果選取模塊104一種實施例的模塊結(jié)構(gòu)示意圖。如圖9所示,所述跟蹤結(jié)果選取模塊104可以包括:
檢測計算模塊1041,可以用于檢測所述下一幀圖片的人臉區(qū)域;還可以用于在檢測出所述下一幀圖片的人臉區(qū)域時計算所述下一幀人臉區(qū)域與所述第一預選區(qū)域的重合系數(shù)Q。該實施例中,所述的重合系數(shù)Q可以表示為所述下一幀圖片的人臉區(qū)域與所述第一預選區(qū)域的重合面積占到所述下一幀圖片的人臉區(qū)域或者所述第一預選區(qū)域面積的百分比。
選取模塊1042,可以用于在所述檢測計算模塊1041滿足未檢測到所述下一幀圖片的人臉區(qū)域、所述檢測計算模塊1041計算得到的重合系數(shù)為0、所述檢測計算模塊1041計算得到的重合系數(shù)小于預定閥值中的至少一項時,以所述第一預選區(qū)域作為所述下一幀圖片的人臉位置跟蹤結(jié)果;還可以用于在所述檢測計算模塊1041計算得到的重合系數(shù)大于或等于預定閥值時,以檢測模塊101檢測出的所述下一幀圖片的人臉區(qū)域作為所述下一幀圖片的人臉位置跟蹤結(jié)果。
本實施例方案提供了一種從檢測結(jié)果和跟蹤結(jié)果中確定最終人臉位置跟蹤結(jié)果的選取方案。利用本申請所述實施例可以實現(xiàn)在人臉快速移動、光線突變、強光干擾等復雜環(huán)境下準確、快速的跟蹤人臉位置。本實施例在幀圖片中出現(xiàn)幀丟失,未檢測到人臉的情況時,仍然可以實現(xiàn)人臉位置的跟蹤確認,達到人臉位置的連續(xù)跟蹤效果,使人臉跟蹤畫面流暢。即使未出現(xiàn)幀丟失,在幀圖片中也可以在檢測結(jié)果和跟蹤結(jié)果之間根據(jù)預定的選取規(guī)則選取更為合適的區(qū)域作為人臉位置跟蹤結(jié)果,提高人臉跟蹤效果,提升用戶體驗。
本申請所述的人臉位置跟蹤方法或裝置可以適用在多種終端設備上,實現(xiàn)人臉更加快速、準確、流程的人臉位置跟蹤,例如基于Android或iOS系統(tǒng)的移動通訊終端的視頻拍攝、監(jiān)控設備、連續(xù)幀序列圖片的人臉位置跟蹤設備等。因此,本申請還提供一種人臉位置跟蹤的電子設備,所述電子設備可以包括檢測獲取視頻幀圖片的攝像裝置、視頻播放顯示的顯示器和信息數(shù)據(jù)處理的處理單元等。具體的,圖10是本申請所述人臉位置跟蹤的電子裝置的 一種實施例結(jié)構(gòu)示意圖,如圖10所示,所述電子設備可以被設置成,包括:
信息獲取單元1,可以用于獲取待處理的幀圖片;
處理單元2,可以用于檢測所述幀圖片的人臉區(qū)域;還可以用于根據(jù)檢測出的當前幀圖片的人臉區(qū)域計算所述當前幀圖片的下一幀圖片中人臉出現(xiàn)的預測區(qū)域,并在所述預測區(qū)域內(nèi)查找與所述人臉區(qū)域相似度達到預定要求的第一預選區(qū)域;還可以用于基于所述第一預選區(qū)域和所述檢測模塊對所述當前幀圖片的下一幀圖片人臉區(qū)域的檢測結(jié)果,按照預設的選取規(guī)則確定所述下一幀圖片的人臉位置跟蹤結(jié)果;
顯示單元3,可以用于顯示所述處理單元2得到的人臉位置跟蹤結(jié)果。
本申請中所述的電子設備中的信息獲取單元1,可以包括移動終端的前置攝像頭、后置設置頭,或者監(jiān)控設置的攝像裝置。在其他的應用場景中,也可以包括計算機處理實時或者已經(jīng)攝像完成的圖像信息數(shù)據(jù)的實施方式,例如通過計算機對一段視頻信息進行人臉位置跟蹤的處理。所述的處理單元2可以包括中央處理器(CPU),當然也可以包括其他的具有邏輯處理能力的單片機、邏輯門電路、集成電路等等。所述顯示單元3一般的可以包括顯示器、移動終端顯示屏、投影設備等。
盡管本申請內(nèi)容中提到人臉檢測方法、模塊單元之間的數(shù)據(jù)交互等的數(shù)據(jù)處理、信息展示的描述,但是,本申請并不局限于必須是完全標準或者實施例中所提及的數(shù)據(jù)處理、信息展示的情況。本申請中各個實施例所涉及的上述描述僅是本申請中的一些實施例中的應用,在某些標準、方法的基礎上略加修改后的處理方法也可以實行上述本申請各實施例的方案。當然,在符合本申請上述各實施例的中所述的處理方法步驟的其他無創(chuàng)造性的變形,仍然可以實現(xiàn)相同的申請,在此不再贅述。
雖然本申請?zhí)峁┝巳鐚嵤├蛄鞒虉D所述的方法操作步驟,但基于常規(guī)或者無創(chuàng)造性的勞動在所述方法中可以包括更多或者更少的操作步驟。實施例中列舉的步驟順序僅僅為眾多步驟執(zhí)行順序中的一種方式,不代表唯一的執(zhí)行順序。在實際中的裝置或客戶端產(chǎn)品執(zhí)行時,可以按照實施例或者附圖所示的方法順序執(zhí)行或者并行執(zhí)行(例如并行處理器或者多線程處理的環(huán)境)。
上述實施例闡明的單元或模塊,具體可以由計算機芯片或?qū)嶓w實現(xiàn),或者由具有某種功能的產(chǎn)品來實現(xiàn)。為了描述的方便,描述以上裝置、設備時以功能分為各種模塊、單元分別描述。當然,在實施本申請時可以把多個模塊的功能在同一個或多個軟件和/或硬件中實現(xiàn),如第一預選模塊和第二預選模塊。也可以將實現(xiàn)同一功能的模塊由多個子模塊或子單元的組合實現(xiàn)。
本領域技術(shù)人員也知道,除了以純計算機可讀程序代碼方式實現(xiàn)控制器以外,完全可以通過將方法步驟進行邏輯編程來使得控制器以邏輯門、開關、專用集成電路、可編程邏輯控制器和嵌入微控制器等的形式來實現(xiàn)相同功能。因此這種控制器可以被認為是一種硬件部件,而對其內(nèi)部包括的用于實現(xiàn)各種功能的裝置也可以視為硬件部件內(nèi)的結(jié)構(gòu)?;蛘呱踔?,可以將用于實現(xiàn)各種功能的裝置視為既可以是實現(xiàn)方法的軟件模塊又可以是硬件部件內(nèi)的結(jié)構(gòu)。
本申請可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如C語言、或者基于Android、iOS設計平臺的程序模塊等。一般地,程序模塊包括執(zhí)行特定任務或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)、類等等。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡而被連接的遠程處理設備來執(zhí)行任務。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設備在內(nèi)的本地和遠程計算機存儲介質(zhì)中。
通過以上的實施方式的描述可知,本領域的技術(shù)人員可以清楚地了解到本申請可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本申請的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,移動終端,服務器,或者網(wǎng)絡設備等)執(zhí)行本申請各個實施例或者實施例的某些部分所述的方法。
本說明書中的各個實施例采用遞進的方式描述,各個實施例之間相同或相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。本申請可用于眾多通用或?qū)S玫挠嬎銠C系統(tǒng)環(huán)境或配置中。例如:個人計算機、服務器計算機、手持設備或便攜式設備、平板型設備、移動通信終端、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、可編程的電子設備、網(wǎng)絡PC、小型計算機、大型計算機、包括以上任何系統(tǒng)或設備的分布式計算環(huán)境等等。
雖然通過實施例描繪了本申請,本領域普通技術(shù)人員知道,本申請有許多變形和變化而不脫離本申請的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本申請的精神。