本申請涉及跟蹤系統(tǒng),尤其涉及機器視覺特征跟蹤系統(tǒng)。
背景技術(shù):
用于自動地標識數(shù)字圖像和視頻中的對象或特征的機器視覺技術(shù)被用于各種各樣的使用。視頻幀中的可見特征(諸如面部或車牌)可移動、旋轉(zhuǎn)或變得有陰影或以其他方式被遮擋,例如隨著特征(例如對象)的移動在視頻的多個幀上被捕捉。這樣的事件可減少機器視覺算法(諸如對象定位、朝向檢測、人臉檢測和跟蹤)的準確性。
技術(shù)實現(xiàn)要素:
本發(fā)明描述了用于在視頻的多個幀上跟蹤特征的系統(tǒng)、方法和計算機可讀介質(zhì)。如本文中使用的,“跟蹤”指在后續(xù)幀中確定在先前幀中檢測到的特征的位置。在一些示例中,計算系統(tǒng)可至少部分基于視頻的幀和先前特征位置圖來產(chǎn)生候選特征位置圖。計算系統(tǒng)可至少部分基于候選特征位置圖來確定候選特征區(qū)域。計算系統(tǒng)接著可通過將視頻的幀中測試區(qū)域的直方圖與視頻的先前幀中對應(yīng)區(qū)域的直方圖進行比較來定位視頻的幀中候選特征區(qū)域處的特征。根據(jù)本文描述的示例技術(shù),測試區(qū)域可至少部分基于候選特征區(qū)域來被確定。根據(jù)本文描述的示例技術(shù),特征可在來自圖像傳感器的視頻上被跟蹤并且被跟蹤的特征的指示可例如經(jīng)由電子顯示被呈現(xiàn)。
提供概述以便以簡化形式介紹將在以下詳細描述中進一步描述的一些概念的選集。本發(fā)明內(nèi)容不旨在標識所要求保護的主題的關(guān)鍵或必要特征,也不旨在用于幫助確定所要求保護的主題的范圍。例如術(shù)語“技術(shù)”可指代上述上下文和通篇文檔中所準許的系統(tǒng)、方法、計算機可讀指令、模塊、算法、硬件邏輯和/或操作。
附圖說明
在各附圖中,使用相同的標號來指示相同的特征和組件。附圖不必縮放。
圖1是描繪了用于實現(xiàn)本文描述的視頻中的特征跟蹤的示例環(huán)境的框圖。
圖2是其中特征被跟蹤的視頻的示例幀的圖形表示。
圖3顯示了根據(jù)本文描述的特征跟蹤的一示例的圖像數(shù)據(jù)區(qū)域的示例直方圖。
圖4是描繪了在特征跟蹤期間的示例模塊交互的數(shù)據(jù)流圖。
圖5是示出用于跟蹤視頻幀中的特征的示例過程的流程圖。
圖6是示出用于跟蹤并檢測視頻幀中的特征的示例過程的流程圖。
圖7是示出用于跨可見度減低來跟蹤視頻幀中的特征的示例過程的流程圖。
圖8是描繪了根據(jù)本文描述的各示例的被配置成參與特征跟蹤的示例計算設(shè)備的框圖。
具體實施方式
概覽
本文描述的示例提供跟蹤數(shù)字視頻中的特征的技術(shù)和構(gòu)造。這些技術(shù)可使得能夠用增加的速度、增加的精確度、減低的計算時間和/或減低的存儲器要求來實現(xiàn)跨視頻的多個幀的特征跟蹤。該跟蹤還可允許附加的技術(shù)被執(zhí)行,諸如遮擋或突出顯示視頻中的特征(諸如面部)或選擇視頻的相關(guān)部分以供進一步分析,例如車牌的字符識別。
本文描述的一些示例提供相比于傳統(tǒng)的跟蹤算法而言改進的性能。一些現(xiàn)有的方案重新檢測視頻的每個幀中的特征。本文的一些示例檢測多個幀的分組中一個幀中的特征并接著在幀之間跟蹤特征,從而減少對跟蹤的計算需求。一些示例允許即使在特征不出現(xiàn)在一些幀的情況下(例如,因為它們被遮擋在其他特征后面)依然跟蹤它們。
如本文所使用的,術(shù)語“視頻”指的是數(shù)字圖像的時間序列。圖像可在時間方面被規(guī)律地間隔(例如,每秒29.97、30或60幀(fps))或可在時間方面被不規(guī)律的間隔。視頻可按例如未被壓縮的形式或被壓縮的形式被存儲和操 縱。示例壓縮技術(shù)可包括但不限于,在可移植網(wǎng)絡(luò)圖形(PNG)、聯(lián)合圖像專家組(JPEG)、運動JPEG和運動圖片專家組(MPEG)標準中描述的那些。
用于特征跟蹤的一些示例場景和示例技術(shù)在以下關(guān)于附圖的描述中被更加詳細地呈現(xiàn)。
說明性環(huán)境
圖1顯示了特征跟蹤系統(tǒng)的各示例可在其中操作的或諸如以下描述的特征跟蹤方法可在其中被執(zhí)行的示例環(huán)境100。在示出的示例中,環(huán)境100的各個設(shè)備和/或組件包括計算設(shè)備102,其被描繪為服務(wù)器計算機。計算設(shè)備102表示可接收和處理視頻內(nèi)容的任何類型的設(shè)備。作為示例而非限制,計算設(shè)備102可被實現(xiàn)為啟用因特網(wǎng)的電視機、電視機機頂盒、游戲控制臺、臺式計算機、膝上型計算機、平板計算機或智能電話。不同的設(shè)備或不同類型的設(shè)備可具有對特征跟蹤數(shù)據(jù)的不同使用。例如,機器人或工業(yè)機器的控制者可使用來自它們的工作場所的視頻的特征跟蹤信息來確定工作件在移動或工步期間的位置。例如在公共空間中操作的監(jiān)視或其他視頻記錄系統(tǒng)可使用特征跟蹤數(shù)據(jù)來在視頻中突出顯示可疑對象或遮擋人的面部以保護他們的隱私。
在所示示例中,計算設(shè)備102包括被描繪為相機的圖像源104或通信地與其連接。圖像源104可包括一個或多個計算設(shè)備或其他被配置成提供視頻幀106的系統(tǒng)。在示出的示例中,圖像源104提供場景108的視頻。視頻具有多個視頻幀106。場景108包括主體110,在這個示例中為一人。該示例場景108是出于說明的目的,而不是限制。
在一些示例中,計算設(shè)備102或圖像源104可包括例如被配置成捕捉視頻幀106或以其他方式提供視頻幀106或能被處理成視頻幀106的數(shù)據(jù)的一個或多個傳感器112。例如,圖像傳感器112可被配置成提供具有多個幀106的視頻。示例圖像傳感器可包括智能電話前向和后向相機、光傳感器(例如,CdS光敏電阻器或光敏晶體管)、照片成像器(例如,電耦合器件(CCD)、互補金屬氧化物半導體(CMOS)傳感器等)、視頻成像器(例如,CCD或CMOS)、指紋讀取器、視網(wǎng)膜掃描儀、虹膜掃描儀、計算機射線照相掃描儀,等等。一些示例傳感器112可包括可見光圖像傳感器(例如,λ∈[400nm(納米),700nm])或紅外光圖像傳感器(例如,λ∈[700nm,15μm]或λ∈[700nm, 1mm])。一個或多個傳感器112中的各個可被配置成輸出對應(yīng)于至少一個物理特性(例如,設(shè)備的環(huán)境的物理特性)的傳感器數(shù)據(jù),諸如環(huán)境光或場景圖像或視頻幀。
在(諸)視頻幀106的一個或多個中表示主體110的圖像數(shù)據(jù)具有特征114,在這個示例中為人的面部。除了面部之外,其他示例特征可包括但不限于,標識記號(例如車輛上的車牌或停車證、船體或帆上的船注冊標記、飛機尾翼編號(例如,“N38290”或“B-8888”))、顯示在建筑物或郵箱上的街道地址號碼、衣物上的圖案(例如,卡通臉、奇形怪狀的圖案、或體恤上的企業(yè)或政府標志)、或具有可容易地從場景108的背景中區(qū)分的顏色或圖案的衣物、配飾或車輛,例如紅色的雨傘、黑的帽子或條紋裙子。此處的各個方面跨多個視頻幀106來跟蹤面部或其他特征114。
計算設(shè)備102包括至少一個處理器116和被配置成存儲例如被處理的(諸)視頻幀(106)或其他視頻數(shù)據(jù)的存儲器118。存儲器118還可存儲以下中的一個或多個:被存儲在存儲器118中并可在處理器116上執(zhí)行的檢測組件120、跟蹤組件122和報告組件124。組件120、122或124可包括例如存儲在計算機可讀介質(zhì)(諸如計算機存儲介質(zhì)(以下討論))上并在其上具有計算機可執(zhí)行指令的模塊。示例計算設(shè)備102的細節(jié)可代表其他計算設(shè)備102或圖像源104。然而,計算設(shè)備102或圖像源104中的各個可包括附加的或替換的硬件和/或軟件組件。
檢測組件120(或它的模塊,本文中都如此)可被配置成在一個或多個視頻幀106中定位特征114(例如,面部)。跟蹤組件122可被配置成跨多個視頻幀106來跟蹤特征114例如以確定給定特征如何在兩個連續(xù)的幀之間移動、或基于陰影、遮擋或特征的可見度方面的其他改變來激活或停用針對特定特征的跟蹤器。報告組件124可被配置成例如提供視頻的(諸)幀106中被定位的特征(諸如面部)的視覺表示。在一些示例中,報告組件124可被配置成渲染幀106和跟蹤指示中的至少一些以供經(jīng)由顯示設(shè)備126來顯示。顯示設(shè)備126可包括有機發(fā)光二極管(OLED)顯示器、液晶顯示器(LCD)、陰極射線管(CRT)或另一類型的視覺顯示器。顯示設(shè)備126可以是觸摸屏的組件,或可包括觸摸屏。
在一些示例中,報告組件124可經(jīng)由顯示設(shè)備126提供視頻幀或特征跟蹤數(shù)據(jù)的視覺表示128,如以下討論的。在一些示例中,報告組件124可呈現(xiàn)來顯示視頻的一個或多個幀106以及被定位的特征中被跟蹤的那些中的至少一些的視覺表示128。示例視覺表示128(1)–128(3)(本文個別地或共同地使用標記128)被顯示在圖1中。表示128可表示跟蹤和視頻信息的可能圖形顯示,并可表示以下討論的內(nèi)部數(shù)據(jù)結(jié)構(gòu)。
表示128(1)表示在第一時間t=0的視頻幀106。在t=0的視頻幀包括人類主體110的圖像數(shù)據(jù)。時間可被表示為,例如掛鐘時間(小時、分鐘或秒)、幀或字段(例如,如被表示為由電影與電視工程師協(xié)會(SMPTE)標準化的時間碼)或它們的任意組合。顯示了突出顯示感興趣的特征(在這個示例中為主體110的面部)的跟蹤器130(1)。如本文描述的,跟蹤器是跨視頻幀106中的一個或多個來表示特定特征的數(shù)據(jù)結(jié)構(gòu),并可被圖形地表示為突出顯示(諸如輪廓(示出的))或被圖形地表示為模糊(諸如變暗的或模糊的區(qū)域)。其他示例類型的突出顯示以及模糊在以下討論。
表示128(2)表示在稍后時間t=1的視頻幀106。相對于在時間t=0的視頻幀,主體110移動到了幀106的右邊(主體的左邊)。類似地,跟蹤器130(2)移動到了幀106的右邊以便跨在時間t=0,1的視頻幀106來指示特征的位置。
表示128(3)表示在稍后時間t=2的視頻幀106。主體110移動到幀106的更右邊(主體的左邊),并開始移動出幀106。跟蹤器130(3)也移動到了幀106的更右邊以便跨在時間t=0,1,2的視頻幀106來指示特征的位置。即使特征被幀106的邊緣部分地遮擋,跟蹤器130(3)在這個示例中依然能夠跟蹤特征。
在示出的示例環(huán)境100中,檢測組件120、跟蹤組件122和報告組件124各自可以是操作系統(tǒng)(未示出)的組件或者以其他方式在計算設(shè)備102或圖像源104上本地地存儲或執(zhí)行。然而,在其他示例中,這些系統(tǒng)組件中的一個或多個可被實現(xiàn)為分布式系統(tǒng)的一部分,例如實現(xiàn)為基于云的服務(wù)的一部分或者另一應(yīng)用的組件。例如,圖像源104可被具體化在智能電話中并且計算設(shè)備102能被具體化在云或其他托管的特征跟蹤服務(wù)中。
在一些示例中,圖像源104被具體化在計算設(shè)備102中或連接到計算設(shè)備102。例如,圖像源104和計算設(shè)備102可被具體化在智能電話、平板、MICROSOFT(微軟)SURFACE、APPLE(蘋果)IPAD或其他被配置成捕 捉視頻并跟蹤其中的特征或顯示其中的特征的跟蹤信息的設(shè)備中。這能有利地在即使未連接到網(wǎng)絡(luò)的情況下允許跟蹤特征。在一些示例中,圖像源104的處理器(未顯示)可經(jīng)由網(wǎng)絡(luò)132(諸如因特網(wǎng))與計算設(shè)備102通信。計算設(shè)備102可主存檢測組件120、跟蹤組件122和報告組件124中的一個或多個,并且可以經(jīng)由網(wǎng)絡(luò)132與圖像源104交換數(shù)據(jù)以執(zhí)行本文描述的處理。網(wǎng)絡(luò)132可包括有線電視網(wǎng)、射頻(RF)微波、衛(wèi)星和/或諸如因特網(wǎng)等數(shù)據(jù)網(wǎng)絡(luò),并且還可使用諸如廣播、單播或多播等任何格式和/或協(xié)議來支持有線或無線介質(zhì)。另外,網(wǎng)絡(luò)132可以是使用任何類型的網(wǎng)絡(luò)拓撲和任何網(wǎng)絡(luò)通信協(xié)議的任何類型的網(wǎng)絡(luò)(有線或無線),且可被表示為或以其它方式實現(xiàn)為兩個或更多網(wǎng)絡(luò)的組合。
說明性處理
圖2顯示了例如場景108的視頻的示例幀106的圖像表示200,其中特征被跟蹤,例如,如在此討論的。圖2顯示了四個幀202(1)–202(4)(個別地或共同地本文用標記202來參考)的表示。點狀的或短虛線的矩形表示跟蹤器204(1)-204(3)(個別地或共同地本文用標記204來參考)的表示。跟蹤器204(1)–204(3)對應(yīng)于幀202的各個被跟蹤的區(qū)域。幀202顯示了總共三個不同的人,即主體206(1)–206(3)(個別地或共同地本文用標記206來參考)。出于闡述的目的而非限制,跟蹤器204對應(yīng)于三個主體206來編號。
在幀202(1)和202(2)之間,主體206(1)(描繪為男人)向幀的右邊移動并且主體206(2)(描繪為女人)向幀的左邊移動,相比于主體206(1)而言更靠近相機。跟蹤器204(1)和204(2)分別突出顯示并表示被檢測或被跟蹤的特征,在這個示例中分別為主體206(1)和206(2)的面部。跟蹤器204(1)和204(2)的初始位置可例如由檢測組件120來確定。
在幀202(2)中,主體206(2)移動到了主體206(1)的前面(從相機的視角而言)。跟蹤組件122確定了跟蹤器204(2)的新位置對應(yīng)于主體206(2)的面部的新(被跟蹤的)位置。然而,主體206(1)的面部被遮擋。跟蹤組件122檢測到了該遮擋并將跟蹤器204(1)指定為幀外跟蹤器208,出于解釋的目的被圖形地表示在幀202(2)的下方。即,被跟蹤器204(1)跟蹤的特征在幀202(2)中不可見。如本文使用的,術(shù)語“幀內(nèi)跟蹤器”指不是幀外跟蹤器208的跟蹤器。
插圖210顯示了幀202(2)中主體206(1)和206(2)的面部的放大視圖。跟蹤器204(2)指示主體206(2)的面部的被跟蹤的部分。候選特征區(qū)域212顯示例如通過跟蹤組件122確定為對應(yīng)于幀202(1)中的跟蹤器204(1)的被跟蹤的區(qū)域的區(qū)域。跟蹤組件122可通過將視頻的幀202(2)中測試區(qū)域(例如,候選特征區(qū)域212)的直方圖與視頻的先前幀202(1)中對應(yīng)區(qū)域的直方圖進行比較來在候選特征區(qū)域212中定位感興趣的特征114,或確定感興趣的特征114在候選特征區(qū)域212中不可見。
在這個示例中,跟蹤組件122將直方圖214確定為幀202(1)中跟蹤器204(1)的被跟蹤區(qū)域的示例直方圖。為了解釋的清楚而非限制,直方圖214顯示了跟蹤器204(1)的被跟蹤的區(qū)域中黑色(“K”)、棕色(“Br”)和膚色(“Fl”)的百分比,例如,25%K、15%Br和60%Fl。在各個示例中,直方圖包括幀的一區(qū)域中像素的各個顏色分量的直條分組數(shù)據(jù)(binned data),例如,如以下參考等式(2)討論的。通常在直方圖中表示的具體顏色對應(yīng)于顏色空間(例如,在RGB顏色空間中紅色、綠色和藍色的具體數(shù)量)。黑色、棕色和膚色被用在這個示例中,僅僅是為了簡化解釋。然而,在一示例實現(xiàn)中,棕色、黑色和膚色實際上被表示為例如紅色、綠色和藍色信息或色調(diào)、飽和度和值信息的組合。還在這個示例中,跟蹤組件122確定了幀202(2)中候選特征區(qū)域212的直方圖216。在示出的示例中,主體206(1)具有相對較少量的黑發(fā),并且主體206(2)具有相對較大量的棕發(fā)。如顯示的,因為候選特征區(qū)域212包括主體206(2)的棕發(fā)中的一些,直方圖216不同于直方圖214。在這個示例中,直方圖216具有20%K、50%Br和30%Fl。
跟蹤組件122可例如通過計算直方圖之間的差別或距離來比較直方圖。在示出的示例中,跟蹤組件122確定直方圖214和直方圖216之間的距離(或差別,本文中都如此)。跟蹤組件122確定該距離大于所選閾值,并且由此該候選特征區(qū)域212不對應(yīng)于被跟蹤的特征114,在這個示例中為主體206(1)的面部。跟蹤組件122由此將幀202(2)中的跟蹤器204(1)標記或以其他方式指定為幀外跟蹤器208,如顯示的。
在幀202(2)和202(3)之間,主體206(2)移動到了主體206(1)的左邊(從相機的視角而言)。跟蹤組件122確定了對應(yīng)于主體206(2)的面部的被跟蹤的位 置的跟蹤器204(2)的經(jīng)更新的位置。在一些示例中,由于在先前幀202(2)中存在幀外跟蹤器208,所以檢測組件120可檢測幀202(3)中的特征(例如,面部)。在示出的示例中,檢測組件120檢測不再被遮擋在主體206(2)后面的主體206(1)的面部。跟蹤組件122可將主體206(1)的新檢測到的面部與幀內(nèi)跟蹤器、幀外跟蹤器208或它們的任意組合進行比較。例如,跟蹤組件122可將(諸)幀外跟蹤器208(諸如跟蹤器204(1))的所存儲的位置信息與(諸)檢測到的特征的位置信息進行比較。跟蹤組件122可附加地或替換地將新發(fā)現(xiàn)特征114的直方圖與幀內(nèi)跟蹤器或幀外跟蹤器208的直方圖進行比較。在示出的示例中,跟蹤組件122確定了跟蹤器204(1)對應(yīng)于幀202(3)中主體206(1)的檢測到的面部。
在一些示例中,跟蹤組件122可附加地或替換地至少部分基于不同于被跟蹤的區(qū)域的測試區(qū)域來跟蹤特征。這可允許例如替代于或附加于主體面部的圖像數(shù)據(jù),使用主體穿戴的衣服的圖像數(shù)據(jù)來在主體的面部之間進行區(qū)分。由于衣服比膚色而言可更加按人來變化,所以例如當一人在另一人前面穿過(“面部交錯”)(例如,如在幀202(1)–202(3)中顯示的)時或當面部消失并接著重新出現(xiàn)(“遮擋”)(例如,如幀202(2)和202(3)中顯示的)時,使用衣服可提升跟蹤面部的準確度。這還可提供例如在跟蹤車輛的車牌方面提升的準確度。例如,車輛顏色和保險杠貼紙顏色和圖案相比于車牌顏色而言可更加按車輛來變化。因此,附加于(或替代于)車輛的車牌的各部分的圖像數(shù)據(jù),至少部分基于車輛的保險杠的各部分的圖像數(shù)據(jù)的跟蹤可允許更加準確地跟蹤場景108中的多輛車。為了解釋的清楚,除了被跟蹤的區(qū)域之外,本文僅描述了一個測試區(qū)域。然而,對于給定的被跟蹤的區(qū)域,可使用任意數(shù)量的測試區(qū)域。對于給定被跟蹤的區(qū)域的測試區(qū)域的數(shù)量可在幀202之間變化。跟蹤組件122可基于候選特征區(qū)域(諸如候選特征區(qū)域212)、基于被跟蹤的區(qū)域(諸如針對跟蹤器204)或它們的任意組合來確定測試區(qū)域。
在示出的示例中,跟蹤組件122可至少部分基于例如跟蹤器204(1)的被跟蹤的區(qū)域來確定幀202(1)中的測試區(qū)域218。跟蹤組件122還可至少部分基于幀202(3)中跟蹤器204(1)和204(2)的被跟蹤的區(qū)域(例如,主體206(1)、206(2)的各個被檢測到的面部的位置)來確定幀202(3)中的各個測試區(qū)域220(1)和220(2)。這些區(qū)域的直方圖可被用在跟蹤中,如以下參考圖3討論的。幀 202(1)–202(4)中由跟蹤器204(1)和204(2)顯示的部分可以例如是如本文參考跟蹤組件122討論的候選特征區(qū)域或測試區(qū)域。例如,如果主體206(1)和206(2)具有非常類似的膚色和頭發(fā)顏色,則對應(yīng)于主體衣服的測試區(qū)域220(1)和220(2)可被用于對主體進行相互區(qū)分。
在幀202(4)中,新主體206(3)出現(xiàn)在場景108中。檢測組件120在幀202(4)中定位新特征,例如新出現(xiàn)的主體206(3)的面部。跟蹤組件122可例如使用本文描述的對位置、直方圖或其他數(shù)據(jù)的比較來確定新特征不對應(yīng)于現(xiàn)有的跟蹤器(例如,幀外跟蹤器208)并可由此分配用檢測結(jié)果初始化的新跟蹤器204(3)。在這個示例中,出于說明的目的,跟蹤器204(3)的視覺表示被顯示為對主體206(3)的面部進行陰影化的模糊。模糊的其他示例在本文中討論。
在一些示例中,跟蹤組件122可使用分配算法來確定被檢測的特征114和跟蹤器204之間的對應(yīng)關(guān)系。對特征的檢測的示例在以上參考幀202(1)和202(4)來討論。分配算法(諸如匈牙利(Hungarian)算法或其他動態(tài)編程或組合優(yōu)化算法)使用分數(shù),例如給定跟蹤器(幀內(nèi)或幀外)和給定被檢測的特征之間的差別或距離。例如,分數(shù)可以是被跟蹤的區(qū)域中的圖像數(shù)據(jù)與保持被檢測的特征的區(qū)域中的圖像數(shù)據(jù)之間的直方圖距離;跟蹤器和特征之間的重疊率,以下參考等式(3)討論的;或它們的組合,例如,加權(quán)的和。
分配算法可確定給定一組被檢測的特征和給定一組跟蹤器(例如,幀內(nèi)、幀外或兩者)之間的對應(yīng)關(guān)系,使得分數(shù)在數(shù)學上被最大化(例如,對于適合度分數(shù))或最小化(例如,對于距離分數(shù))。其他數(shù)學優(yōu)化算法(例如,梯度下降算法)還可使用或替換地被使用??墒褂闷渌惴?,例如將圖像分區(qū)到各區(qū)域并對相同區(qū)域中的跟蹤器和被檢測的特征執(zhí)行分配或其他測試。
在一些示例中,幀內(nèi)跟蹤器和幀外跟蹤器兩者均被提供給分配算法(或其他數(shù)學優(yōu)化技術(shù))。例如在處理器116上執(zhí)行的算法可確定跟蹤器和被檢測的特征之間的映射。映射可指示一些跟蹤器不對應(yīng)任何被檢測的特征。響應(yīng)于這樣的映射,這些跟蹤器可接著被指定為幀外跟蹤器208。
圖3顯示了以上參考圖2討論的示例測試區(qū)域的示例直方圖300。如以上討論的,在一些示例中,測試區(qū)域(例如,衣服區(qū)域)而非特征區(qū)域(例如,面部區(qū)域)被用在例如跨遮擋跟蹤特征114中。參考圖2和圖3兩者,在幀202(1) 中,跟蹤組件122可至少部分基于例如幀202(1)中跟蹤器204(1)的位置信息或其他特性或幀202(1)中的跟蹤器204(1)表示的被檢測的特征來確定測試區(qū)域218。跟蹤組件122還可至少部分基于例如幀202(3)中跟蹤器204(1)和204(2)的位置信息或其他特性或幀202(3)中的跟蹤器204(1)和204(2)表示的被檢測的特征來確定測試區(qū)域220(1)和220(2)。
在示出的示例中,主體206(1)穿著白色(“Wh”)襯衫并且主體206(2)穿著紅色(“R”)裙子。因此,第二測試區(qū)域220(1)和220(2)的示出的各自直方圖302(1)和302(2)分別顯示5%R/95%Wh和100%R/0%Wh。測試區(qū)域218的直方圖304顯示0%R/100%Wh。如以上參考圖2提到的,示例直方圖是出于解釋的目的被顯示的,而非限制。在一個示例中,替代于簡單紅/白直條,直方圖可包括以[0°,15°,...,360°)為中心的大小相等的色調(diào)直條、以[0%,10%,...,100%]為中心的大小相等的飽和度直條以及以[0%,10%,...,100%]為中心的大小相等的值直條。在這個示例中,紅色可被表示為接近0°的色調(diào)、接近100%的飽和度以及值(例如,50%或更高)的直方圖峰值。白色可被表示為具有接近0%的飽和度和接近100%的值的直方圖峰值的像素。
跟蹤組件122可計算直方圖距離并確定跟蹤器204(1)應(yīng)該與在測試區(qū)域220(1)上方的一區(qū)域而非與在測試區(qū)域220(2)上方的一區(qū)域相關(guān)聯(lián),這是因為直方圖304(對應(yīng)于測試區(qū)域218)和直方圖302(1)(對應(yīng)于測試區(qū)域220(1))之間的距離小于直方圖304和直方圖302(2)(對應(yīng)于測試區(qū)域220(2))之間的距離。即,幀202(3)中的由跟蹤器204(1)跟蹤的特征對應(yīng)于靠近測試區(qū)域220(1)的部分,而非對應(yīng)于靠近測試區(qū)域220(2)的部分,如顯示的。在示出的示例中,結(jié)果是,即使主體206(1)被遮擋(幀202(2))并接著重新出現(xiàn)(幀202(3)),跟蹤器204(1)依然保持與主體206(1)相關(guān)聯(lián)。
因此,在一些示例中,跟蹤組件122可通過將視頻的幀202(3)中的第二測試區(qū)域220(1)的直方圖302(1)與視頻的先前幀202(1)中的對應(yīng)的測試區(qū)域218的直方圖304進行比較來定位在視頻的幀202(3)中候選特征區(qū)域處的特征(由跟蹤器204(2)指示)。
在一些示例中,如果測試區(qū)域的直方圖對應(yīng)、或如果候選區(qū)域的直方圖對應(yīng)、或如果測試區(qū)域和候選區(qū)域兩者的直方圖均對應(yīng)、或如果大部分直方圖(候選區(qū)域和任意(諸)測試區(qū)域)的直方圖對應(yīng)、或如果所選數(shù)量的直方圖對應(yīng)、或它們的任意組合,則跟蹤組件122可定位特征。在一些示例中,如果沒有直方圖、或少數(shù)直方圖、或少于所選數(shù)量的直方圖沒有對應(yīng)或具有超過所選閾值 的距離、或它們的任意組合、或在這個段落中任意項的任意組合,則跟蹤組件122可定位特征。
圖4是示出圖1中示出的各組件之間的示例交互以及顯示跟蹤組件122的示例模塊的數(shù)據(jù)流圖400。跟蹤組件122的各模塊(例如,存儲在存儲器118中)可包括一個或多個模塊,例如外殼(shell)模塊或應(yīng)用編程接口(API)模塊,其被示為跟蹤模塊402和更新模塊404。在一些示例中,圖像源104提供要被例如檢測組件120或跟蹤組件122處理的(諸)視頻幀106。跟蹤組件122可例如使用跟蹤信息或候選區(qū)域的顏色直方圖來跟蹤視頻的幀106中的特征114。在一些示例中,跟蹤組件122被配置成至少部分基于幀106的所選區(qū)域的圖像內(nèi)容的直方圖來更新來自Kanade-Lucas-Tomasi(KLT)跟蹤器的跟蹤結(jié)果,如本文描述的。
在一些示例中,檢測組件120可被配置成定位視頻的第一幀106或視頻的其他(諸)幀中的(諸)特征114。在一些示例中,檢測組件120可被配置成至少部分基于視頻的幀106來產(chǎn)生被檢測的特征位置圖406。被檢測的特征位置圖406可包括例如幀106中一個或多個被檢測的特征114的位置或邊界矩形或其他邊界部分。這可例如使用在MICROSOFT FACESDK中實現(xiàn)的算法來實現(xiàn)。這樣的算法可包括但不限于,動態(tài)級聯(lián)、增強分類器、提升鏈學習、神經(jīng)網(wǎng)絡(luò)分類、支持向量機(SVM)分類器或貝葉斯分類。一個示例算法是使用對使用矩形哈爾型特征的級聯(lián)式子檢測器的適應(yīng)增強學習(AdaBoost)的Viola-Jones檢測器。在一些示例中,跟蹤模塊402可被配置成至少部分基于視頻的后續(xù)幀106以及被檢測的特征位置圖406來產(chǎn)生候選特征位置圖408。特征可對應(yīng)于視頻的該幀的至少一些圖像數(shù)據(jù)。跟蹤模塊402可進一步基于視頻的先前幀106、對應(yīng)的先前特征位置圖(例如,先前幀特征位置圖410(例如,由檢測組件120或跟蹤模塊402提供的))、或它們的組合來產(chǎn)生候選特征位置圖408。這可例如通過使用KLT或其他跟蹤技術(shù)來實現(xiàn),例如縮放快速壓縮跟蹤(SFCT)或撞擊(Struck)跟蹤器。例如,KLT可被應(yīng)用到先前幀106和后續(xù)幀106。候選特征位置圖408可包括例如針對位于被檢測的特征位置圖406中的各個特征的0個、一個、或多個候選部分。在一些示例中,跟蹤模塊402可使用對縮放改變穩(wěn)健的跟蹤器(諸如KLT)。這可允許在主體110靠近或遠 離相機時跟蹤特征114。
在一些示例中,被檢測的特征位置圖406對應(yīng)于第一視頻幀,而候選特征位置圖408對應(yīng)于緊跟在第一視頻幀后的第二視頻幀。在一些示例中,被檢測的特征位置圖406是與被安排在視頻中的就在候選特征位置圖408針對其被確定的視頻的幀之前的先前視頻幀相對應(yīng)的先前特征位置圖。對這樣的配置的示例在以上參考圖2的幀202(1)和202(2)來討論。
在一些示例中,跟蹤模塊402使用KLT跟蹤器。在一些示例中,KLT跟蹤器使用數(shù)學優(yōu)化來確定與較早幀中的區(qū)域相對應(yīng)的較后幀中的區(qū)域。較后幀中的該區(qū)域的像素與較早幀的所選區(qū)域的像素之間的平方強度差的和在數(shù)學上被最小化。較后幀的該區(qū)域接著是較早幀的該區(qū)域的被跟蹤的等價物。例如,較早幀(例如,第一幀)的該區(qū)域可包括特征114(例如面部)的圖像數(shù)據(jù)。較早幀中的該區(qū)域以及較后幀的對應(yīng)區(qū)域(例如,根據(jù)KLT算法經(jīng)由數(shù)學最小化來確定的)可以是相應(yīng)幀中特征114的跟蹤器130的區(qū)域。較后幀中的該區(qū)域可以是候選特征位置圖408的一個示例。在一些示例中,可至少部分基于較早幀的一區(qū)域中點的所選子集來計算KLT或另一跟蹤器。
在一些示例中,跟蹤模塊402可被配置成在視頻的后續(xù)第二幀上跟蹤被定位的特征。例如,在幀1,2,……的序列中,跟蹤模塊402可使用KLT或另一跟蹤技術(shù)來從幀1到幀2、接著從幀2到幀3等來跟蹤特征。跟蹤模塊402可被配置成確定第二幀中的特定一幀的第一特征區(qū)域的直方圖不對應(yīng)于第一幀的第一特征區(qū)域的直方圖。作為響應(yīng),跟蹤模塊402可記錄指示對應(yīng)于第一特征區(qū)域的被跟蹤的特征已移動出該幀(例如,移動出第二幀中的至少一個)的指示。這在以上關(guān)于幀外跟蹤器208被更加詳細地討論。這可允許即使特征被遮擋(例如,對于少數(shù)的幀),依然能夠跟蹤它們。
在一些示例中,更新模塊404可被配置成至少部分基于候選特征位置圖408來確定候選特征點。例如,更新模塊404可統(tǒng)一地或不統(tǒng)一地從候選特征位置圖408中的給定區(qū)域選擇預定數(shù)量的點,例如10×10網(wǎng)格。在一些示例中,更新模塊404可選擇給定區(qū)域的預定數(shù)量的點,所選點具有該區(qū)域內(nèi)相對高的幅度梯度,例如,對于整數(shù)n而言,具有該區(qū)域內(nèi)的最高幅度梯度的n個點。在一些示例中,更新模塊404可選擇具有曲率局部最大值的點,例如如通過海賽 矩陣或使用Haar(哈爾)濾波器的對海賽矩陣的近似的行列式來測量的。在一些示例中,更新模塊404可通過例如使用哈爾小波來分解和下采樣并選擇被分解的圖像中具有所選幅度(例如,在小波變換后最高幅度值的一定百分比內(nèi))的點來選擇點。
在一些示例中,更新模塊404可應(yīng)用跟蹤器(諸如KLT)或使用來自跟蹤模塊402的結(jié)果來雙向地跟蹤所選點,例如從第一幀到第二幀,并接著從第二幀中被跟蹤的點返回到第一幀。在雙向跟蹤后第一幀中的起始點和該點可以不是同一點;它們之間的距離被稱為“前后誤差”(FBE)。在一些示例中,更新模塊404可為所選點中的各個點確定FBE。更新模塊404可接著確定代表性FBE值,例如所確定的FBE中的至少一些的中間值或平均值,或所確定的FBE中的全部、或這些中任意的所選百分比。在一些示例中,更新模塊404可接著將點中滿足所選規(guī)則(例如,具有少于所確定的代表性FBE值的相應(yīng)FBE)的一個或多個確定為候選特征點。這可有利地減少跟蹤中的噪音,例如由于一個幀和下一幀之間陰影或光照的改變引起的噪音。
在一些示例中,更新模塊404可被配置成至少部分基于所確定的候選特征點來確定候選特征區(qū)域。在一些示例中,更新模塊404可為候選特征點中的一個或多個確定在較早幀中的該點與較后幀中被跟蹤的點之間的點位移向量。更新模塊404可接著將區(qū)域位移向量確定為例如點位移向量中的一個或多個的中間值或平均值。在一些示例中,更新模塊404可將候選特征點的各對的對比例因子確定為在較早幀中的該對中的點與較后幀中的該對中的被跟蹤的點之間的距離的商。更新模塊404可接著將區(qū)域比例因子確定為例如對比例因子中的一個或多個的中間值或平均值。在一些示例中,更新模塊404可接著將區(qū)域位移向量和區(qū)域比例因子應(yīng)用到先前幀特征位置圖410的一區(qū)域以確定候選特征位置圖408中的對應(yīng)區(qū)域。
在一些示例中,更新模塊404可被配置成至少部分基于FBE值來確定候選特征區(qū)域。例如,對于任一特定候選特征區(qū)域,如果中間值(或平均值或其他代表性)FBE大于所選閾值,則更新模塊404可例如忽略該候選特征區(qū)域或認為對應(yīng)于該候選特征區(qū)域的跟蹤器130是幀外跟蹤器,如以上參考圖2的幀外跟蹤器208所討論的。這可允許檢測跟蹤失敗,例如由于雨傘造成的對面部特 征的遮擋或由于建筑物造成的對車牌特征的遮擋。
在一些示例中,更新模塊404可被配置成通過將視頻的幀中測試區(qū)域的直方圖與視頻的先前幀中對應(yīng)區(qū)域的直方圖進行比較來定位在視頻的幀中候選特征區(qū)域處(或至少部分地在候選特征區(qū)域中、上、內(nèi)、上方或下方,本文中都如此)的特征114。這可例如如以上參考圖2中顯示的直方圖214和216以及圖3中顯示的直方圖302(1)、302(2)和304所討論的那樣來實現(xiàn)。在一些示例中,更新模塊404可被配置成如果視頻幀106的被候選特征區(qū)域定義的一部分的圖像數(shù)據(jù)的直方圖在對應(yīng)于特征114的先前確定的圖像數(shù)據(jù)直方圖的所選距離內(nèi),則定位特征114。至少部分基于直方圖比較來定位特征可改進跟蹤器的穩(wěn)健性以在幀序列上漂移。
在一些示例中,直方圖之間的距離可使用各種度量來計算,包括但不限于,χ2(卡方)、Kolmogorov-Smirnov(KS)、Cramer/von Mises(CvM)、二次形式(QF)、推土機(Wasserstein-Rubinstein-Mallows)距離、Kullback-Liebler(KL)、對稱KL、Jeffrey散度(JD)、在具有與直方圖的各直條一樣多的維度的特征空間中的歐幾里得距離或Overton的直方圖交叉。
在一些示例中,兩個直方圖H1和H2之間的距離如等式(1)中那樣被計算:
其中L是直方圖中直條的數(shù)量,并且是直方圖的平均。在一些示例中,如果對于選擇閾值TH,d(H1,H2)<TH,則兩個直方圖(例如,被檢測的直方圖和被跟蹤的候選直方圖)被確定為相對應(yīng)。在一些示例中,通過計算各個顏色分量的相應(yīng)直方圖(例如,色調(diào)直方圖、飽和度直方圖和值直方圖)來形成直方圖Hi。每個直方圖可通過使用圖像的對應(yīng)顏色分量的值來被計算??山又ㄟ^串接所計算的各個直方圖來形成直方圖Hi。例如,給定色調(diào)直方圖[h1,...,hn]、飽和度直方圖[s1,...,sn]和值直方圖[v1,...,vn],Hi可如等式(2)中那樣形成:
Hi=[h1,...,hn,s1,...,sn,v1,...,vn] (2)
色調(diào)、飽和度和值分量可替換地被交錯(例如,h1,s1,v1,h2,……),或直方圖的一部分(例如,特定分量或范圍)可被交錯并且一部分不被交錯或它們 的任意組合。
參考圖2中顯示的示例,由于直方圖216和直方圖214之間的距離超過所選閾值TH,則跟蹤組件122確定候選特征區(qū)域212不與跟蹤器204(1)指示的被檢測的區(qū)域相關(guān)聯(lián)。在這些示例中的一些中,響應(yīng)于這個確定或其他直方圖匹配或直方圖距離準則,跟蹤組件122將被跟蹤的候選特征區(qū)域212選擇為對應(yīng)于幀外跟蹤器208的區(qū)域。在一些示例中,跟蹤組件122可在以下情況下確定跟蹤器204是幀外跟蹤器208:例如當前幀中沒有候選區(qū)域直方圖與該跟蹤器204相關(guān)聯(lián)的先前幀直方圖匹配或在與該跟蹤器204相關(guān)聯(lián)的先前幀直方圖的所選距離內(nèi)。
在一些示例中,更新模塊404可被配置成至少部分基于候選特征區(qū)域來確定測試區(qū)域。例如,測試區(qū)域可在大小上等于或大于或小于候選特征區(qū)域,并可具有覆蓋候選特征區(qū)域的(諸)角或質(zhì)心或與其隔開的(諸)角或質(zhì)心。在一些示例中,測試區(qū)域可與候選特征區(qū)域覆蓋或與它隔開。測試區(qū)域可例如基于存儲的空間關(guān)系來確定。在一些示例中,測試區(qū)域是或包括候選特征區(qū)域。在這些示例或其他示例的一些中,特征是面部。在一些示例中,測試區(qū)域相比于候選特征區(qū)域而言具有不同的大小或位置。以上參考圖2的測試區(qū)域220(1)和220(2)討論了確定測試區(qū)域的一些示例。
在一些示例中,兩個區(qū)域基于顏色距離被認為是對應(yīng)的。例如,兩個區(qū)域可在以下情況下被認為是對應(yīng)的:這些區(qū)域中的相應(yīng)主要顏色(例如,最頻繁出現(xiàn)的顏色或顏色直條)在顏色空間中的指定距離內(nèi)(例如,≤1.0的CIELAB ΔE*)。其他示例色差度量包括L2范數(shù)||·||2(即顏色空間(例如L*a*b*或RGB)中的歐幾里得距離)、L1范數(shù)||·||1(Manhattan(曼哈頓)距離)和顏色空間中的其他Lp范數(shù)。其他示例色差度量包括顏色表示或顏色空間中一個或多個分量的數(shù)字表示之間的色調(diào)角差、每分量或多分量差(例如CIELAB ΔL*、ΔC*、Δh*、Δa*或Δb*)、漢明距離以及CIE 1976 UCS Δu’v’。
在一些示例中,更新模塊還被配置成至少部分基于候選特征區(qū)域和測試區(qū)域之間存儲的空間關(guān)系來確定測試區(qū)域。例如,存儲的空間關(guān)系可以是指定測試區(qū)域與候選特征區(qū)域例如以預定方向隔開預定量的近端不相交關(guān)系。這可允許使用附近圖像數(shù)據(jù)來定位特征。存儲的空間關(guān)系可用比例不變項(例如,特 征區(qū)域的大小的百分比)來表示。這可允許即使特征在大小或比例方面改變(例如,由于主體110移動地更靠近相機(例如,圖像傳感器112)或更遠離相機),至少部分基于測試區(qū)域來跟蹤。
例如,當特征114是面部時,由于人類皮膚具有有限范圍,可能難以基于顏色來區(qū)分面部。然而,衣服趨向于在人們之間變化并趨向于靠近面部并與面部隔開。類似地,保險杠貼紙趨向于靠近車牌,但與車牌隔開。使用具有與候選特征區(qū)域的(諸)近端不相交關(guān)系的(諸)測試區(qū)域允許使用靠近特征114的圖像數(shù)據(jù)來區(qū)分并跟蹤那些特征114。以上參考圖2的測試區(qū)域220(1)和220(2)討論了其他示例。
在一些示例中,如本文描述的直方圖可在一個或多個顏色空間中計算,諸如由國際照明委員會(CIE)、國家電視制式委員會(NTSC)或國際電工委員會(IEC)定義的那些顏色空間。可被使用的示例顏色空間包括CIE L*a*b*(CIELAB)、CIE L*u*v*(CIELUV,1976)、CIE Yu’v’(CIE 1976統(tǒng)一坐標比例,UCS,加亮度Y)、YIQ(NTSC 1953)、sRGB(IEC 61966-2-1:1999)、線性RGB或其他顏色空間。在一些示例中,直方圖可在具有至少色調(diào)和彩度維度的顏色空間中計算或以其他方式確定。這樣的顏色空間的示例包括但不限于,色調(diào)/飽和度/值(HSV)、色調(diào)/飽和度/亮度(HSL)、色調(diào)/飽和度/強度(HSI)和CIE L*C*h*。例如,圖像可包括對應(yīng)于顏色空間的各維度的相應(yīng)顏色分量。
在一些示例中,跟蹤組件122被配置成例如在所選顏色空間中計算一幀中第一特征區(qū)域的直方圖和較早幀中第一特征區(qū)域的直方圖之間的距離。跟蹤組件122還可被配置成響應(yīng)于所計算的距離超過所選閾值(例如ΔE*≥1.0),確定那些直方圖不對應(yīng)。
在一些示例中,特征跟蹤系統(tǒng)可包括顯示設(shè)備126。在一些示例中,報告組件124可被配置成提供視頻的幀中被定位的特征的視覺表示以供顯示。在一些示例中,報告組件124可被配置成經(jīng)由顯示設(shè)備126來提供視覺表示。以上參考圖1中的表示128討論了各示例。在一些示例中,報告組件124可被配置成呈現(xiàn)視頻的各幀以及被檢測和/或被跟蹤的特征的至少一些的視覺表示以供顯示。
在一些示例中,視覺表示可包括至少一個模糊。示例模糊可包括例如,變 暗(例如,黑色)的部分、變亮(例如,白色)的部分、在其中圖像數(shù)據(jù)在空間上失真的部分、或在其中圖像數(shù)據(jù)被模糊的部分。使用模糊可減少在查看表示128時視覺地標識特征的可能性,例如以保護走過交通攝像頭的人的隱私。
在一些示例中,視覺表示可包括至少一個突出顯示。示例突出顯示可包括例如,特征的輪廓或包括特征的部分的輪廓(例如,如圖1中圖形表示的跟蹤器130)、在被檢測的特征之下或覆蓋被檢測的特征的變亮的或變暗的背景(例如,覆蓋在特征的圖像數(shù)據(jù)上的半透明的有色的突出顯示)、或指向或以其他方式指示特征的箭頭或其他形狀。在一些示例中,表示128可包括用于各個被跟蹤的特征的模糊或突出顯示的任意組合。
在一些示例中,報告組件124可被配置成提供被檢測和/或被跟蹤的特征的至少一些的指示。例如,報告組件124可被配置成呈現(xiàn)被檢測組件120檢測的特征114、被跟蹤模塊402或更新模塊404跟蹤的特征114、或它們的任意組合的表示128。例如,檢測突出顯示和跟蹤突出顯示可用不同的顏色或線條樣式來呈現(xiàn)以允許在表示128中容易地區(qū)別它們。
說明性過程
圖5-7示出了用于跟蹤視頻幀中的特征的示例過程。方法被示為作為分立框示出的操作組。方法可用任何合適的硬件、軟件、固件或其組合來實現(xiàn)。例如,圖5-7中顯示的功能可被實現(xiàn)在一個或多個計算設(shè)備102或圖像源104上或以其他方式體現(xiàn)在一個或多個計算設(shè)備102或圖像源104中(例如,通過使用運行在這樣的設(shè)備上的軟件)。在軟件的上下文中,各個操作表示在由一個或多個處理器執(zhí)行時使得一個或多個處理器執(zhí)行既定操作的計算機可執(zhí)行指令。在硬件的上下文中,操作表示在電路中實現(xiàn)的邏輯功能,例如數(shù)據(jù)路徑控制和有限狀態(tài)機定序功能。
描述操作的次序并不旨在被解釋為限制,并且所述操作中任何數(shù)量的操作可以按任何次序和/或并行地組合以實現(xiàn)每個過程。為了解釋清楚,引用可執(zhí)行或參與示例性方法的各步驟的圖1-4所示的各種組件和數(shù)據(jù)項。然而,應(yīng)注意,可使用其他組件;即,圖5-7所示的示例性方法不限于由所標識的組件執(zhí)行。
圖5示出了用于跟蹤視頻幀中的特征的示例過程500。
在框502,一個或多個特征在第一幀中被檢測。例如,檢測組件120檢測 視頻的第一幀內(nèi)的一個或多個特征以及對應(yīng)的被檢測的第一幀特征區(qū)域。視頻可包括第一幀和之后的第二幀。視頻幀可按任意次序被接收和處理。以下描述的處理步驟除非特別指定,可被交錯或按任意次序執(zhí)行。例如,檢測(框502)可在第一和第二幀都被接收到之后來針對第一幀執(zhí)行。
在框504,被檢測的特征中的一個或多個在第二幀中被跟蹤。例如,跟蹤模塊402至少部分基于第一幀、第二幀以及被檢測的第一幀特征區(qū)域來確定第二幀中對應(yīng)的被跟蹤的候選第二幀特征區(qū)域。在一些示例中,框504包括將第二幀的至少一些圖像數(shù)據(jù)與第一幀的至少一些圖像數(shù)據(jù)進行比較。在一些示例中,跟蹤模塊402可使用跟蹤算法(諸如KLT)來通過尋找第一幀特征區(qū)域中第一幀的圖像數(shù)據(jù)與第二幀的圖像數(shù)據(jù)之間數(shù)學上的最佳擬和來確定候選第二幀特征區(qū)域。
在一些示例中,框504包括將第二幀的至少一些圖像數(shù)據(jù)與第一幀的至少一些圖像數(shù)據(jù)和在第二幀之后的一幀的至少一些圖像數(shù)據(jù)進行比較。這在本文被稱為“雙向”跟蹤。雙向跟蹤可允許跨三個或更多幀的集合來更準確地跟蹤特征例如以供對其中在特征在幀中被標識以前多個幀能被接收到的所記錄的視頻或其他應(yīng)用的分析。在一些示例中,圖像源104或計算設(shè)備102可將幀重新安排成例如序列,諸如在一個或多個MPEG視頻標準(例如,MPEG-2、MPEG-4部分2、或MPEG-4部分10)中指定的I-、P-和B-圖片序列。這可允許在具有視頻中較早的時戳的幀之前來處理具有視頻中較后的時戳的幀,例如以供雙向跟蹤。
在框506,被跟蹤的候選第二幀特征區(qū)域的直方圖與被檢測的第一幀特征區(qū)域的直方圖進行比較。例如,更新模塊404在具有至少色調(diào)和彩度維度的顏色空間中確定直方圖。在一些示例中,更新模塊404通過計算被跟蹤的候選第二幀特征區(qū)域的直方圖與被檢測的第一幀特征區(qū)域的直方圖之間的距離來比較直方圖。
在一些示例中,在框506,替代于或附加于被跟蹤的候選第二幀特征區(qū)域或被檢測的第一幀特征區(qū)域,計算測試區(qū)域的直方圖。這可例如如以上參考圖3中顯示的直方圖302(1)、302(2)和304(其可與圖2中顯示的直方圖214和216單獨地或結(jié)合地來使用)所討論的那樣來實現(xiàn)。
在框508,該比較對其指示至少閾值程度的相似性的被跟蹤的候選第二幀特征區(qū)域可被選為被跟蹤的第二幀特征區(qū)域。例如,更新模塊404在以下情況下不將候選第二幀特征區(qū)域考慮為被跟蹤的第二幀特征區(qū)域:該候選區(qū)域的直方圖和被檢測的區(qū)域的直方圖之間的距離超過所選閾值。
圖6示出用于例如使用計算設(shè)備(諸如計算設(shè)備102)來跟蹤和檢測視頻的幀中的特征的示例過程600。圖6的框502-508可例如如以上參考圖5描述的那樣來執(zhí)行???08隨后可以是框602。
在一些示例中,視頻的幀包括晚于第二幀的第三幀。在一些示例中,視頻的幀包括晚于第三幀的第四幀。標記“第一”、“第二”、“第三”和“第四”被用于闡述的清楚而非限制,除非明確指出。在一些示例中,本文關(guān)于第一、第三和第四幀描述的操作可在沒有第二幀的情況下被使用。這樣的示例可包括例如,檢測第一幀(例如,圖2的幀202(1))中的特征、確定一個或多個特征在第二幀(例如,圖2的幀202(2))中不可見以及確定該一個或多個特征中的至少一些在第三和第四幀(例如,圖2的幀202(3)和202(4))中可見。
在框602,跟蹤(框504)針對第三幀來重復。在一些示例中,跟蹤組件122至少部分基于第二幀、第三幀以及包括被跟蹤的第二幀特征區(qū)域的一個或多個被跟蹤的第二幀特征區(qū)域來確定第三幀的一個或多個被跟蹤的候選第三幀特征區(qū)域。
在框604,比較(框506)針對第三幀來重復。在一些示例中,跟蹤組件122在第三幀中的候選區(qū)域和第一幀中的被檢測的區(qū)域之間比較直方圖。在一些示例中,跟蹤組件122在第三幀中的候選區(qū)域和第二幀中的被跟蹤的區(qū)域之間比較直方圖。
在框606,選擇(框508)針對第三幀被重復以確定一個或多個被跟蹤的候選第三幀特征區(qū)域???02-606中的操作可如以上參考圖2-5(例如,參考圖2的幀202(2)或202(3)或參考圖3)所描述的那樣來執(zhí)行。如以上提到的,一些跟蹤器204可不被選擇并可被標記為幀外跟蹤器208,本文中都如此。
在框608,檢測(框502)針對第三幀被重復以確定一個或多個被檢測的第三幀特征區(qū)域。這可例如如以上參考圖2的幀202(3)中的跟蹤器204(1)所討論的那樣來實現(xiàn)。
在框610,被跟蹤的候選第三幀特征區(qū)域中的至少一些與被檢測的第三幀特征區(qū)域相關(guān)聯(lián)。這可例如如以上參考圖2的幀202(3)描述的以及例如至少部分基于測試區(qū)域220(1)和測試區(qū)域218中的直方圖的幀外跟蹤器204(1)與主體206(1)的關(guān)聯(lián)來實現(xiàn)。
在一些示例中,框610包括針對候選第三幀特征區(qū)域和被檢測的第三幀特征區(qū)域的成對組合來計算相應(yīng)的重疊率。被跟蹤的特征的區(qū)域RT和被檢測的特征的區(qū)域RD的重疊率R(RT,RD)可如等式(3)中那樣計算:
其中RT和RD是相應(yīng)區(qū)域中的像素位置的集合并且|·|表示集合勢。
在框612,不與被檢測的第三幀特征區(qū)域相關(guān)聯(lián)的被跟蹤的候選第三幀特征區(qū)域被選為幀外區(qū)域。這可例如如以上參考圖2的幀202(2)所描述的那樣來實現(xiàn)。在一些示例中,框612之后可以是框614和/或框620。
在框614,跟蹤(框504)針對第四幀來重復。
在框616,比較(框506)針對第四幀來重復。
在框618,選擇(框508)針對第四幀被重復以確定一個或多個被跟蹤的候選第四幀特征區(qū)域???14-618中的操作可如以上參考圖2-5(例如,參考圖2中顯示的幀202(3))所描述的那樣來執(zhí)行。
在框620,檢測(框502)針對第四幀被重復以確定一個或多個被檢測的第四幀特征區(qū)域。這可例如如以上參考圖2的幀202(3)或202(4)所討論的那樣來實現(xiàn)。
在框622,被跟蹤的候選第四幀特征區(qū)域中的至少一些與對應(yīng)的幀外區(qū)域相關(guān)聯(lián)。這可例如如以上參考圖2中顯示的幀202(3)中的跟蹤器204(1)所描述的那樣來實現(xiàn)。如以上提到的,這可允許即使特征被遮擋(例如,對于少于所選數(shù)量的幀),依然能夠跟蹤它們。在一些示例中,被跟蹤的候選第四幀特征區(qū)域中的至少一些可與對應(yīng)的被檢測的第四幀特征區(qū)域相關(guān)聯(lián)。
圖7示出了用于例如跨遮擋事件或其他在特征的可見性方面的降低來跟蹤視頻的幀中的特征的示例過程700。圖7的框502和504可如以上參考圖5描 述的那樣來執(zhí)行。圖7中顯示的框502和504以及其他框可針對視頻的一個或多個幀來執(zhí)行。
在決策框702,確定是否任意跟蹤器例如由于不能與被檢測的特征相關(guān)聯(lián)而被移動出幀。這可例如如以上參考圖6的框610所討論的那樣或如以上參考圖2中顯示的直方圖214和216所討論的那樣來實現(xiàn)。
如果確定存在幀外跟蹤器(來自決策框702的“是”分支),則在框704,幀外跟蹤器的信息被記錄。這可例如如以上參考圖2的幀202(2)所討論的那樣來實現(xiàn)。在一些示例中,框704之后可以是框708、框704之后可以是框714或者框704之后可以按例如直接是框708和714的次序或通過諸如決策框710等中間框的框708和714的次序。
如果確定不存在幀外跟蹤器(來自決策框702的“否”分支),則在決策框706,確定是否檢測時隙已過期。例如,跟蹤組件122對自對其執(zhí)行檢測的最近幀以來被處理的視頻幀進行計數(shù),如參考框502或框708所討論的。每一幀或每n幀,跟蹤組件122就將該計數(shù)與存儲的計數(shù)器TG時間進行比較以確定檢測時隙是否過期。在這個示例中,在框502和在框708中,跟蹤組件122將計數(shù)器重置為0。
示例檢測時隙可包括但不限于,所選的掛鐘時間的量、所選的其中跟蹤已被執(zhí)行的幀的數(shù)量、或所選的接收到的視頻的幀的數(shù)量。在一些示例中,檢測時隙是30幀、或如構(gòu)成視頻的1秒那樣多的幀。在一些示例中,跟蹤(例如,KLT)按每幀來執(zhí)行并且檢測(例如,F(xiàn)ACESDK)僅按每n幀來執(zhí)行(對于檢測時隙n)。
如果確定檢測時隙沒有過期(來自框704的“否”分支),則處理如上參考框504所述那樣繼續(xù)。
另一方面,如果確定檢測時隙已過期(來自框704的“是”分支),則在框708,特征可在視頻中被檢測。這可例如以上參考檢測組件120和框502所討論的那樣完成。例如,如以上參考幀202(3)和202(4)所討論的那樣,先前被遮擋的特征可在幀中重新出現(xiàn)或新特征可出現(xiàn)在幀中。
在決策框710,確定是否任意特征在框708處被檢測。這可如以上參考檢測組件120所討論的那樣來實現(xiàn)。
如果沒有特征被檢測到(來自決策框710的“否”分支),則在決策框712,跟蹤組件122確定是否存在任意幀內(nèi)跟蹤器,例如圖2的跟蹤器204(2)。如果存在幀內(nèi)跟蹤器(來自決策框712的“是”分支),則處理如以上參考框504所述那樣繼續(xù)。另一方面,如果沒有活動的幀內(nèi)跟蹤器(來自決策框712的“否”分支),則處理如以上參考框708所述那樣繼續(xù)。因此,檢測跨多個視頻幀來重復,直到在視頻幀中存在要被跟蹤的特征。
參考回決策框710,如果特征被檢測到(來自決策框710的“是”分支),則在框714,一個或多個幀內(nèi)或幀外跟蹤器被更新例如以與被檢測的特征相關(guān)聯(lián)。這可例如如以上參考圖6的框610或622所描述的那樣來實現(xiàn)。
在一些示例中,在框716,跟蹤組件122可刪除過期的跟蹤器。在一些示例中,跟蹤組件122丟棄未被更新達預定時隙(諸如多個幀、流逝的時間、或其他以上描述的時間,例如10幀、30幀或1秒)的幀外跟蹤器208。在這些示例中的跟蹤組件122移除針對沒有重新出現(xiàn)的特征(例如,已經(jīng)離開傳感器112的視野的人的面部)的跟蹤器。
在一些示例中,例如其中特征在顏色上類似于背景,跟蹤器可在若干幀上漂移以跟蹤背景的靜止部分(例如,墻)而非特征。在一些示例中,在框716,跟蹤組件122丟棄未被更新達所選數(shù)量TA個幀(例如,50幀或100幀)的幀內(nèi)跟蹤器。在這些示例中的跟蹤組件122移除例如已漂移到背景的跟蹤器。跟蹤組件122可在以下情況下確定幀內(nèi)跟蹤器未被更新:該跟蹤器在TA幀期間未被移動超過所選距離、或該跟蹤器在TA幀期間未被調(diào)整大小達超過所選絕對百分比部分改變(例如,±5%)。
說明性組件
圖8示出了示例計算設(shè)備102,800的選擇組件。在所示示例中,計算設(shè)備102包括一個或多個處理器116、存儲器118、輸入/輸出(I/O)接口802和/或通信接口804。存儲器118可被實現(xiàn)為各種類型的存儲器組件的任意組合,例如計算機可讀介質(zhì)或計算機存儲介質(zhì)組件??赡艿拇鎯ζ鹘M件的示例包括隨機存取存儲器(RAN)、盤驅(qū)動器、大容量組件以及非易失性存儲器(例如,ROM、閃存、EPROM、EEPROM等)。計算設(shè)備102的替代實現(xiàn)可包括一定范圍的處理和存儲器能力。例如,全資源計算設(shè)備可被實現(xiàn)為具有大量存儲器 和處理資源,包括用于存儲供查看者回放的內(nèi)容的盤驅(qū)動器。然而,低資源計算設(shè)備可具有有限的處理和存儲器能力,諸如有限量的RAM、沒有盤驅(qū)動器和有限的處理能力。
處理器116處理各種指令以控制計算設(shè)備102的操作并與其他電子和計算設(shè)備通信。例如,(諸)處理器116可被配置成在存儲器118上執(zhí)行多個模塊中的各模塊,如以下討論的。在一些示例中,存儲在存儲器118上的計算機可執(zhí)行指令在執(zhí)行之際,可配置計算機(諸如計算設(shè)備102(例如計算設(shè)備102或圖像源104))來執(zhí)行本文關(guān)于例如檢測組件120、跟蹤組件122、報告組件124或這些中的任意的模塊所描述的操作。存儲器118中存儲的模塊可包括當被一個或多個處理單元116執(zhí)行時使得一個或多個處理器116執(zhí)行本文描述的操作的指令。
存儲器118存儲各種信息和/或數(shù)據(jù),包括例如,檢測組件120、跟蹤組件122(包括例如圖4的跟蹤模塊402和更新模塊404)、報告組件124以及任選地操作系統(tǒng)806和/或一個或多個其他應(yīng)用808。與示出的組件或模塊相關(guān)聯(lián)描述的功能可被組合以由更少數(shù)量的組件或模塊執(zhí)行或可被劃分并由更多數(shù)量的組件或模塊執(zhí)行。其他應(yīng)用808可包括例如包括視頻能力的因特網(wǎng)瀏覽器、媒體播放器應(yīng)用、視頻編輯應(yīng)用、視頻流傳輸應(yīng)用、電視觀看應(yīng)用,等等。在一些示例中,存儲在一個或多個計算機可讀介質(zhì)(例如,存儲器118)中的檢測組件120、跟蹤組件122、報告組件124和應(yīng)用808的計算機可執(zhí)行指令當在計算設(shè)備102的處理器116上執(zhí)行時指示計算設(shè)備102執(zhí)行本文參考存儲器118中的相關(guān)組件列出的功能。
在示出的示例中,存儲器118包括數(shù)據(jù)存儲810。在一些示例中,數(shù)據(jù)存儲810可包括用于存儲一個或多個視頻幀812(例如,圖1的視頻幀106)的第一存儲器。各個視頻幀可包括例如多個像素的數(shù)據(jù)。各個像素的數(shù)據(jù)可包括各個顏色通道(平面)的相應(yīng)值,例如紅(R)、綠(G)以及藍(B)顏色通道;亮度(Y)、藍色度(Cb)和紅色度(Cr)顏色通道;或其他色彩組織。在一些示例中,數(shù)據(jù)存儲810可存儲一個或多個特征位置圖814,該一個或多個特征位置圖814例如保持檢測到的特征的位置(例如,圖4的檢測到的特征位置圖406)、先前幀特征的位置(例如,圖4的先前幀特征位置圖410)或 候選特征的位置(例如,圖4的候選特征位置圖408)。在一些示例中,數(shù)據(jù)存儲810可存儲諸如以上參考等式(1)描述的TH等參數(shù)或例如參考以下給出的說明性結(jié)果的本文描述的(諸)其他參數(shù)。
通信接口804使計算設(shè)備102能夠與其他計算設(shè)備通信,并且可表示計算設(shè)備102可用來接收視頻內(nèi)容的其他裝置。例如,在支持通過IP網(wǎng)絡(luò)傳輸視頻內(nèi)容的環(huán)境中,通信接口804可表示連接,計算設(shè)備102能經(jīng)由該連接,例如通過特定的統(tǒng)一資源定位符(URL)來接收視頻內(nèi)容。在一些示例中,通信接口804可包括但不限于,用于以太網(wǎng)、蜂窩式(3G、4G或其他)、WI-FI、超寬帶(UWB)、BLUETOOTH(藍牙)、衛(wèi)星或其他無線傳輸?shù)氖瞻l(fā)器。通信接口804可包括有線I/O接口,如以太網(wǎng)接口、串行接口、通用串行總線(USB)接口、INFINIBAND接口或其他有線接口。
視頻或視頻的幀106可附加地或替換地經(jīng)由I/O接口802接收。I/O接口802可包括例如一個或多個調(diào)諧器、視頻捕捉設(shè)備、視頻編碼器或格式轉(zhuǎn)換器或通信地與其連接,以使得計算設(shè)備102能夠接收和存儲視頻。在一些示例中,I/O接口802可包括一個或多個傳感器112或通信地與其連接,如以上參考圖1描述的。(諸)傳感器112可被配置成捕捉例如場景108的視頻幀106,如以上討論的。
I/O接口802可附加地或替換地包括例如顯示設(shè)備126或通信地與其連接,以使得計算設(shè)備102能夠呈現(xiàn)視頻內(nèi)容。在示例實現(xiàn)中,I/O接口802向電視或其他顯示視頻數(shù)據(jù)的顯示設(shè)備提供信號,例如以上關(guān)于圖1討論的。
I/O接口802可附加地或替換地包括例如用戶可操作輸入設(shè)備816(圖形地表示為游戲墊)或通信地與其連接,以使得用戶能夠例如指示計算設(shè)備102跟蹤特定特征。用戶可操作輸入設(shè)備816還可被用于例如經(jīng)由快進、回放、播放、暫停和停止功能來控制視頻的回放。報告組件124可至少部分基于經(jīng)由用戶可操作輸入設(shè)備816接收的輸入來調(diào)節(jié)顯示設(shè)備126上視頻的顯示。這可允許例如在實時安全性或監(jiān)視上下文中使用系統(tǒng)。
在一些示例中,當被(諸)處理器116執(zhí)行時(本文中都如此),檢測組件120至少部分基于視頻的第一幀來產(chǎn)生特征位置圖。這可如以上參考圖4來描述,例如使用諸如那些以上描述的FACESDK算法。
在一些示例中,跟蹤組件122至少部分基于例如來自檢測組件120的視頻的幀和先前特征位置圖來產(chǎn)生候選特征位置圖。特征對應(yīng)于視頻的幀的至少一些圖像數(shù)據(jù)。這可如以上參考圖4的跟蹤模塊402所描述的那樣。跟蹤組件122接著至少部分基于候選特征位置圖來確定候選特征點,至少部分基于所確定的候選特征點來確定候選特征區(qū)域,以及通過將視頻的幀中測試區(qū)域的直方圖與視頻的先前幀中對應(yīng)區(qū)域的直方圖進行比較來定位視頻的該幀中候選特征區(qū)域處的特征,其中測試區(qū)域至少部分基于候選特征區(qū)域來確定。這可如以上參考圖4的更新模塊404所描述的那樣。
在一些示例中,報告組件124例如經(jīng)由圖形用戶界面提供視頻的幀中被定位的特征的視覺表示。這可如以上參考圖1和圖4所描述的那樣。
在例如提供特征跟蹤服務(wù)的計算設(shè)備102的一些示例中,計算設(shè)備102可包括跟蹤組件122、但不包括傳感器112。在例如諸如使用特征跟蹤服務(wù)的智能電話之類的圖像源104的一些示例中,表示圖像源104的計算設(shè)備102可包括傳感器112,但不實現(xiàn)跟蹤組件122。在例如實現(xiàn)特征跟蹤服務(wù)和對其的使用兩者的計算設(shè)備102或圖像源104的一些示例中,計算設(shè)備102可包括傳感器112并實現(xiàn)跟蹤組件122。在一些示例中,特征跟蹤服務(wù)系統(tǒng)(諸如計算設(shè)備102或圖像捕捉系統(tǒng)(諸如圖像源104))可實現(xiàn)檢測組件120或報告組件124。
盡管被分開地顯示,但是計算設(shè)備102的各組件中的一些可被一起實現(xiàn)在單個硬件設(shè)備中,諸如在現(xiàn)場可編程門陣列(FPGA)、應(yīng)用專用集成電路(ASIC)、應(yīng)用專用標準產(chǎn)品(ASSP)、片上系統(tǒng)(SOC)、復雜可編程邏輯器件(CPLD)、數(shù)字信號處理器(DSP)或其他類型的可定制處理器中。例如,處理器116可表示混合設(shè)備,諸如來自包括內(nèi)嵌在FPGA結(jié)構(gòu)中的CPU核的ALTERA或XILINX的設(shè)備。這些或其他硬件邏輯組件可獨立地操作,或在一些實例中,可由CPU驅(qū)動。在一些示例中,處理器116可以是或可包括一個或多個單核處理器、多核處理器、中央處理單元(CPU)、圖形處理單元(GPU)、通用GPU(GPGPU)或例如經(jīng)由來自模塊或API的專用編程配置以執(zhí)行本文描述的功能的硬件邏輯組件。
另外,系統(tǒng)總線818通常連接計算設(shè)備102內(nèi)的各個組件。系統(tǒng)總線818 可被實現(xiàn)為若干類型的總線結(jié)構(gòu)中的任一個或多個,包括存儲器總線或存儲器控制器、外圍總線、加速圖形端口或使用各種總線體架構(gòu)中的任一種的局部總線。作為示例,這樣的架構(gòu)可以包括工業(yè)標準體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA)總線、增強型ISA(EISA)總線、視頻電子標準協(xié)會(VESA)局部總線、以及外圍部件互連(PCI)總線,例如夾層(Mezzanine)總線。
圖8所示的任一組件可以是硬件、軟件或硬件和軟件的組合。此外,圖8所示的任一組件(例如,存儲器118)可使用可由計算設(shè)備102本地或遠程(包括通過網(wǎng)絡(luò)132)訪問的任何形式的計算機可讀介質(zhì)來實現(xiàn)。計算機可讀介質(zhì)包括兩種類型的計算機可讀介質(zhì),即計算機存儲介質(zhì)和通信介質(zhì)。計算機存儲介質(zhì)(例如,一計算機存儲介質(zhì))包括有形存儲單元,諸如在用于存儲信息(諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù))的任意方法或技術(shù)中實現(xiàn)的易失性存儲器、非易失性存儲器和/或其他持久和/或輔助計算機存儲介質(zhì)、可移動和不可移動計算機存儲介質(zhì)。計算機存儲介質(zhì)包括有形或物理形式的介質(zhì),該介質(zhì)被包括在設(shè)備或作為設(shè)備的一部分或外置于設(shè)備的硬件組件中,該介質(zhì)包括但不限于:隨機存取存儲器(RAM)、靜態(tài)隨機存取存儲器(SRAM)、動態(tài)隨機存取存儲器(DRAM)、相變存儲器(PRAM)、只讀存儲器(ROM)、可擦除可編程只讀存儲器(EPROM)、電可擦除可編程只讀存儲器(EEPROM)、閃存、光盤只讀存儲器(CD-ROM)、數(shù)字多功能盤(DVD)、光卡或其它光存儲介質(zhì)、磁帶盒、磁帶、磁盤存儲、磁卡或其他磁存儲設(shè)備或介質(zhì)、固態(tài)存儲器設(shè)備、存儲陣列、網(wǎng)絡(luò)附連存儲、存儲區(qū)域網(wǎng)絡(luò)、被托管的計算機存儲或存儲器、存儲、設(shè)備和/或可用于存儲并維護供計算設(shè)備102或圖像源104訪問的信息的存儲介質(zhì)。
與計算機存儲介質(zhì)相反,通信介質(zhì)可在諸如載波之類的已調(diào)制數(shù)據(jù)信號或其他傳輸機制中體現(xiàn)計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)。如本文所定義的,計算機存儲介質(zhì)不包括通信介質(zhì)。在一些示例中,存儲器118可以是或包括計算機存儲介質(zhì)。
說明性結(jié)果
SFCT和Struck跟蹤器(相當?shù)?作為根據(jù)本文中的各個方面的跟蹤器(示例)在兩個不同的視頻序列上被測試。示例跟蹤器的參數(shù)按經(jīng)驗被確定,并包 括至少每50幀的檢測、丟棄已在幀外達55幀的幀外跟蹤器、丟棄未被更新達100幀的幀內(nèi)跟蹤器、0.3的最小重疊率(等式(3))、10的閾值中間值FBE(超過該值則跟蹤器被認為是幀外的)以及0.5的閾值直方圖距離(超過該值則跟蹤器被認為是幀外的)。針對這兩個序列,被測試的示例配置相比于SFCT和Struck而言提供了相當或提升的成功率,并針對偏離地面真值高于大約20的位置錯誤閾值提供了相比于SFCT和Struck而言提供了提升的精確度率。被測試的示例配置還提供了相比SFCT或Struck而言更快的結(jié)果,如表1中顯示的。
表1顯示了按毫秒的每幀處理時間。如顯示的,被測試的示例配置能夠在包括INTEL CORE(英特爾核)i7 3.40GHz CPU的計算系統(tǒng)上處理超過100fps。
表
示例條款
A:一種系統(tǒng),包括:處理單元:可操作地耦合到處理器的計算機可讀介質(zhì)(CRM);跟蹤模塊,其被存儲在CRM中并可由處理單元執(zhí)行以至少部分基于視頻的一幀以及先前特征位置圖來產(chǎn)生候選特征位置圖,其中候選特征位置圖指示一個或多個特征的候選位置以及對應(yīng)于視頻的該幀的至少一些圖像數(shù)據(jù)的特征中的各個特征;以及更新模塊,其被存儲在CRM中并可由處理單元執(zhí)行來:至少部分基于候選特征位置圖來確定候選特征區(qū)域;以及通過將視頻的幀中測試區(qū)域的直方圖與視頻的先前幀中對應(yīng)區(qū)域的直方圖進行比較來定位視頻的幀中候選特征區(qū)域處的特征,其中測試區(qū)域至少部分基于候選特征區(qū)域來確定。
B:如段落A中引用的系統(tǒng),進一步包括檢測組件,其被存儲在CRM中并可由處理單元執(zhí)行以至少部分基于視頻的先前幀來產(chǎn)生先前特征位置圖。
C:如段落A或B引用的系統(tǒng),其中先前特征位置圖對應(yīng)于視頻的先前幀,并且視頻的先前幀在視頻中被安排在就在視頻的幀之前。
D:如段落A-C中的任一引用的系統(tǒng),其中測試區(qū)域包括候選特征區(qū)域并且特征是面部。
E:如段落A-D中的任一引用的系統(tǒng),其中更新模塊可由處理單元進一步執(zhí)行來:至少部分基于候選特征區(qū)域或測試區(qū)域來確定第二測試區(qū)域;以及通過將視頻的幀中第二測試區(qū)域的直方圖與視頻的先前幀中對應(yīng)區(qū)域的直方圖進行比較來在視頻的幀中定位候選特征區(qū)域處的特征。
F:如段落A-E中的任一引用的系統(tǒng),其中更新模塊可由處理單元進一步執(zhí)行來至少部分基于候選特征區(qū)域和測試區(qū)域之間的空間關(guān)系來確定測試區(qū)域。
G:如段落F引用的系統(tǒng),其中空間關(guān)系是近端不相交關(guān)系。
H:如段落A-G中的任一引用的系統(tǒng),還包括顯示設(shè)備和報告組件,該報告組件被存儲在CRM中并可由處理單元執(zhí)行來經(jīng)由顯示設(shè)備提供視頻的幀中被定位的特征的視覺表示。
I:如段落A-H中的任一引用的系統(tǒng),其中一個或多個特征包括一個或多個面部或標識符號。
J:一種方法,包括:檢測視頻的多個幀的第一幀中的特征,該視頻的多個幀包括第一幀和之后的第二幀;確定第一幀的對應(yīng)于被檢測的特征的被檢測的第一幀特征區(qū)域;至少部分基于第一幀、第二幀和被檢測的第一幀特征區(qū)域來確定第二幀的被跟蹤的候選第二幀特征區(qū)域;將被跟蹤的候選第二幀特征區(qū)域的直方圖與被檢測的第一幀特征區(qū)域的直方圖進行比較;以及響應(yīng)于指示至少閾值程度的相似性的比較,將被跟蹤的候選第二幀特征區(qū)域選擇為被跟蹤的第二幀特征區(qū)域。
K:如段落J引用的方法,其中比較包括計算被跟蹤的候選第二幀特征區(qū)域的直方圖和被檢測的第一幀特征區(qū)域的直方圖之間的距離。
L:如段落K引用的方法,進一步包括在具有至少色調(diào)和彩度維度的顏色空間中確定直方圖。
M:如段落J-L中任一所引用的方法,其中確定被跟蹤的候選第二幀特征區(qū)域包括將Kanade-Lucas-Tomasi跟蹤器應(yīng)用到第一幀和第二幀。
N:如段落J–M中任一所引用的方法,其中視頻的多個幀包括晚于第二幀的第三幀,并且其中該方法進一步包括:至少部分基于第二幀、第三幀以及包 括被跟蹤的第二幀特征區(qū)域的一個或多個被跟蹤的第二幀特征區(qū)域來確定第三幀的一個或多個被跟蹤的候選第三幀特征區(qū)域;檢測第三幀中的一個或多個特征;確定第三幀的對應(yīng)于第三幀中被檢測的特征的相應(yīng)被檢測的第三幀特征區(qū)域;將被跟蹤的候選第三幀特征區(qū)域中的至少一些與被檢測的第三幀特征區(qū)域中的多個相關(guān)聯(lián);以及將不與被檢測的第三幀特征區(qū)域中的各個相關(guān)聯(lián)的被跟蹤的候選第三幀特征區(qū)域中的各個選為幀外區(qū)域。
O:如段落N引用的方法,其中視頻的多個幀包括晚于第三幀的第四幀,并且其中該方法進一步包括:針對第四幀來重復該檢測以確定被檢測的第四幀特征區(qū)域;以及將幀外區(qū)域之一與被檢測的第四幀特征區(qū)域相關(guān)聯(lián)。
P:如段落J–O中任一所引用的方法,其中確定被跟蹤的候選第二幀特征區(qū)域包括將第二幀的至少一些圖像數(shù)據(jù)與第一幀的至少一些圖像數(shù)據(jù)以及在第二幀之后的一幀的至少一些圖像數(shù)據(jù)進行比較。
Q:如段落J–P中任一所引用的方法,其中特征包括一個或多個面部或標識符號。
R:一種系統(tǒng),包括:用于檢測視頻的多個幀的第一幀中的特征的裝置,該視頻的多個幀包括第一幀和之后的第二幀;用于確定第一幀的對應(yīng)于被檢測的特征的被檢測的第一幀特征區(qū)域的裝置;用于至少部分基于第一幀、第二幀和被檢測的第一幀特征區(qū)域來確定第二幀的被跟蹤的候選第二幀特征區(qū)域的裝置;用于將被跟蹤的候選第二幀特征區(qū)域的直方圖與被檢測的第一幀特征區(qū)域的直方圖進行比較的裝置;以及用于響應(yīng)于指示至少閾值程度的相似性的比較,將被跟蹤的候選第二幀特征區(qū)域選擇為被跟蹤的第二幀特征區(qū)域的裝置。
S:如段落R引用的系統(tǒng),其中用于比較的裝置包括用于計算被跟蹤的候選第二幀特征區(qū)域的直方圖和被檢測的第一幀特征區(qū)域的直方圖之間的距離的裝置。
T:如段落S引用的系統(tǒng),進一步包括用于在具有至少色調(diào)和彩度維度的顏色空間中確定直方圖的裝置。
U:如段落R–T中任一所引用的系統(tǒng),其中用于確定被跟蹤的候選第二幀特征區(qū)域的裝置包括用于將Kanade-Lucas-Tomasi跟蹤器應(yīng)用到第一幀和第二幀的裝置。
V:如段落R–U中任一所引用的系統(tǒng),其中視頻的多個幀包括晚于第二幀的第三幀,并且其中該系統(tǒng)進一步包括:用于至少部分基于第二幀、第三幀以及包括被跟蹤的第二幀特征區(qū)域的一個或多個被跟蹤的第二幀特征區(qū)域來確定第三幀的一個或多個被跟蹤的候選第三幀特征區(qū)域的裝置;用于檢測第三幀中的一個或多個特征的裝置;用于確定第三幀的對應(yīng)于第三幀中被檢測的特征的相應(yīng)被檢測的第三幀特征區(qū)域的裝置;用于將被跟蹤的候選第三幀特征區(qū)域中的至少一些與被檢測的第三幀特征區(qū)域中的多個相關(guān)聯(lián)的裝置;以及用于將不與被檢測的第三幀特征區(qū)域中的各個相關(guān)聯(lián)的被跟蹤的候選第三幀特征區(qū)域中的各個選為幀外區(qū)域的裝置。
W:如段落V引用的系統(tǒng),其中視頻的多個幀包括晚于第三幀的第四幀,并且其中該系統(tǒng)進一步包括:用于針對第四幀來重復該檢測以確定被檢測的第四幀特征區(qū)域的裝置;以及用于將幀外區(qū)域之一與被檢測的第四幀特征區(qū)域相關(guān)聯(lián)的裝置。
X:如段落R–W中任一所引用的系統(tǒng),其中用于確定被跟蹤的候選第二幀特征區(qū)域的裝置包括用于將第二幀的至少一些圖像數(shù)據(jù)與第一幀的至少一些圖像數(shù)據(jù)以及在第二幀之后的一幀的至少一些圖像數(shù)據(jù)進行比較的裝置。
Y:如段落R–X中任一所引用的系統(tǒng),其中特征包括一個或多個面部或標識符號。
Z:一種系統(tǒng),包括:處理單元;可操作地耦合到處理器的計算機可讀介質(zhì);檢測組件,其被存儲在CRM中并可由處理單元執(zhí)行來定位視頻的第一幀中的特征;跟蹤組件,其被存儲在CRM中并可由處理單元執(zhí)行來在視頻的后續(xù)多個第二幀上跟蹤被定位的特征中的各個,其中跟蹤組件被配置成在以下情況下記錄被定位的特征中被跟蹤的各個的第一特征已被移動出多個第二幀的特定幀的指示:該特定幀的第一特征區(qū)域的直方圖不對應(yīng)于第一幀的第一特征區(qū)域的直方圖;以及報告組件,其被存儲在CRM中并可由處理單元執(zhí)行來提供被定位的特征中的被跟蹤的各個的至少一些的指示。
AA:如段落Z引用的系統(tǒng),其中報告組件可由處理單元進一步執(zhí)行來呈現(xiàn)以供顯示視頻的一個或多個幀以及被定位的特征中被跟蹤的各個的至少一些的視覺表示。
AB:如段落AA引用的系統(tǒng),其中視覺表示包括至少一個模糊或至少一個突出顯示。
AC:如段落Z–AB中任一引用的系統(tǒng),其中跟蹤模塊可由處理單元進一步執(zhí)行來:計算特定幀的第一特征區(qū)域的直方圖與第一幀的第一特征區(qū)域的直方圖之間的距離;以及響應(yīng)于計算出的超過所選閾值的距離,確定特定幀的第一特征區(qū)域的直方圖和第一幀的第一特征區(qū)域的直方圖不相互對應(yīng)。
AD:如段落Z–AC中任一引用的系統(tǒng),進一步包括圖像傳感器,其被配置成提供視頻的幀的一個或多個。
AE:如段落Z–AD中任一所引用的系統(tǒng),其中被定位的特征包括一個或多個面部或標識符號。
AF:
其上具有計算機可執(zhí)行指令的計算機可讀介質(zhì)(例如,計算機存儲介質(zhì)),該計算機可執(zhí)行指令在被執(zhí)行時將計算機配置成執(zhí)行段落J–Q中的任一段所述的操作。AG:一種設(shè)備,包括:處理器;以及其上具有計算機可執(zhí)行指令的計算機可讀介質(zhì)(例如,計算機存儲介質(zhì)),該計算機可執(zhí)行指令在由處理器執(zhí)行時將該設(shè)備配置成執(zhí)行段落J–Q中的任一段所述的操作。
AH:一種系統(tǒng),包括:用于處理的裝置;以及用于在其上存儲有計算機可執(zhí)行指令的裝置,這些計算機可執(zhí)行指令包括用于將該設(shè)備配置成執(zhí)行如段落J–Q中的任一段所述的方法的裝置。
結(jié)語
本文描述的視頻分析技術(shù)可使用相比于現(xiàn)有方案而言減少的處理時間和存儲器消耗來提供特征跟蹤,例如面部跟蹤。這可提供在各種各樣的上下文中使用特征跟蹤數(shù)據(jù)的能力,諸如實時地突出顯示或模糊化視頻中可見的感興趣的面部或車牌。
雖然已經(jīng)用對結(jié)構(gòu)特征和/或方法步驟專用的語言描述了檢測和跟蹤特征,但是應(yīng)當理解,所附權(quán)利要求書中定義的本發(fā)明不必限于所描述的具體特征或步驟。相反,各具體特征和步驟是作為實現(xiàn)所要求保護的本發(fā)明的優(yōu)選形式來公開的。
示例過程的操作在單獨的框中示出,并且參考這些框來概括。這些過程被 示為邏輯框流,其每個框可表示可用硬件、軟件或其組合實現(xiàn)的一個或多個操作。在軟件的上下文中,這些操作表示存儲在一個或多個計算機可讀介質(zhì)上的計算機可執(zhí)行指令,這些指令在由一個或多個處理器執(zhí)行時使得一個或多個處理器執(zhí)行既定操作。一般而言,計算機可執(zhí)行指令包括執(zhí)行特定功能或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、模塊、組件、數(shù)據(jù)結(jié)構(gòu)等。描述操作的次序并不旨在解釋為限制,并且任何數(shù)量的所述操作可以按任何次序執(zhí)行、按任何次序進行組合、細分成多個子操作、和/或并行執(zhí)行,以實現(xiàn)所描述的過程??捎膳c一個或多個計算設(shè)備102相關(guān)聯(lián)的資源(諸如一個或多個內(nèi)部或外部CPU或GPU)和/或硬件邏輯的一個或多個片段(諸如FPGA、DSP或其他類型的加速器)來執(zhí)行所描述的過程。
上述方法和過程可以用由一個或多個通用計算機或處理器執(zhí)行的軟件代碼模塊來具體化,并且可經(jīng)由這些軟件代碼模塊來完全自動化。這些代碼模塊可以存儲在任何類型的計算機可執(zhí)行存儲介質(zhì)或其他計算機存儲設(shè)備中。這些方法中的某些或全部可另選地用專用計算機硬件來具體化。
除非另外具體聲明,否則在上下文中可以理解條件語言(諸如“能”、“能夠”、“可能”或“可以”)表示特定示例包括而其他示例不包括特定特征、元素和/或步驟。因此,這樣的條件語言一般并非旨在暗示對于一個或多個示例需要特定特征、元素和/或步驟,或者一個或多個示例必然包括用于決定的邏輯、具有或不具有用戶輸入或提示、在任何特定實施例中是否要包括或要執(zhí)行特定特征、元素和/或步驟。除非另外具體聲明,應(yīng)理解聯(lián)合語言(諸如短語“X、Y或Z中至少一個”)表示項、詞語等可以是X、Y或Z中的任一者、或其組合。
本文所述和/或附圖中描述的流程圖中任何例行描述、元素或框應(yīng)理解成潛在地表示包括用于實現(xiàn)該例程中具體邏輯功能或元素的一個或多個可執(zhí)行指令的代碼的模塊、片段或部分。替換實現(xiàn)被包括在本文描述的示例的范圍內(nèi),其中各元素或功能可被刪除,或與所示出或討論的順序不一致地執(zhí)行,包括基本上同步地執(zhí)行或按相反順序執(zhí)行,這取決于所涉及的功能,如本領(lǐng)域技術(shù)人也將理解的。應(yīng)當強調(diào),可對上述示例作出許多變型和修改,其中的元素如同其他可接受的示例那樣應(yīng)被理解。所有這樣的修改和變型本文旨在包括在本公開的范圍內(nèi)并且由以下權(quán)利要求書保護。