本申請涉及2014年8月26日遞交的標題為“用于圖像掃描的系統(tǒng)和方法”的第62/042,161號美國臨時專利申請并且主張所述專利申請的優(yōu)先權(quán),所述專利申請的全部內(nèi)容以引用的方式并入本文中。
技術(shù)領域
本發(fā)明大體上涉及電子裝置。更確切地說,本發(fā)明涉及用于圖像掃描的系統(tǒng)和方法。
背景技術(shù):
在最近幾十年中,電子裝置的使用已變得很普遍。具體地說,電子技術(shù)中的進步已降低了越來越復雜且有用的電子裝置的成本。成本降低和消費者需求已使電子裝置的使用劇增,使得其在現(xiàn)代社會中幾乎隨處可見。由于電子裝置的使用已推廣開來,因此存在對電子裝置的新的且改進的特征的需求。更具體而言,人們常常尋求執(zhí)行新功能和/或更快、更有效或以更高質(zhì)量執(zhí)行功能的電子裝置。
一些電子裝置(例如,相機、視頻攝像機、數(shù)碼相機、蜂窩式電話、智能電話、計算機、電視機等)捕獲和/或利用圖像。舉例來說,智能電話可以捕獲和/或處理靜態(tài)圖像和/或視頻圖像。處理圖像可能需要相對較大量的時間、存儲器和能量資源。所需要的資源可能根據(jù)處理的復雜性而發(fā)生改變。
取決于平臺實施一些復雜的處理任務可能是困難的。舉例來說,移動平臺(例如,智能電話、平板電腦、膝上型計算機等移動裝置)可具有有限的處理、存儲器和/或能量資源(例如,有限的電池壽命)。如從此論述可觀察到,改進圖像處理的系統(tǒng)和方法可為有益的。
技術(shù)實現(xiàn)要素:
描述了一種用于通過電子裝置的圖像掃描的方法。所述方法包括獲得圖像金字塔,所述圖像金字塔包括用于幀的多個尺度層級和至少第一金字塔層級。所述方法還包括提供掃描窗口。所述方法進一步包括掃描在多個掃描窗口位置處的幀的多個尺度層級中的至少兩個。掃描窗口位置的數(shù)目針對第一金字塔層級的至少兩個尺度層級的每個尺度層級是相等的。所述方法可以包括基于掃描來檢測對象。針對幀的至少兩個尺度層級中的每一個通過電子裝置的計算的特征可在于掃描窗口位置的數(shù)目乘以金字塔層級的數(shù)目。
所述方法可以包括確定用于至少兩個尺度層級中的每一個的掃描階躍。所述方法還可以包括掃描隨后幀的至少兩個尺度層級,其中掃描全部的掃描窗口位置的隨后幀的量與較高尺度層級相比在較低尺度層級處較大。
所述方法可以包括在多個尺度層級中選擇用于掃描幀的尺度層級的范圍。可以僅掃描尺度層級范圍內(nèi)的尺度層級。所述方法還可以包括在隨后幀的多個尺度層級之中選擇尺度層級的第二范圍以用于掃描隨后的幀,其中掃描鄰近的或非鄰近的尺度層級。
所述方法可以包括確定用于至少兩個尺度層級中的每一個的掃描階躍。第一尺寸掃描階躍可以與在用于掃描的尺度層級中的每一個的第一金字塔層級處的圖像的第一尺寸成正比并且第二尺寸掃描階躍可以與用于掃描的尺度層級中的每一個的第一金字塔層級處的圖像的第二尺寸成正比。
在尺度層級處的一或多個額外的金字塔層級的第一尺寸掃描階躍可以等于對應于在尺度層級的第一金字塔層級處的圖像的第一尺寸掃描階躍。用于在尺度層級處的一或多個額外的金字塔層級的第二尺寸掃描階躍可以等于對應于在尺度層級的第一金字塔層級處的圖像的第二尺寸掃描階躍。
對應于尺度層級的一或多個額外的金字塔層級中的每一個的掃描窗口位置的數(shù)目可以小于或等于對應于尺度層級的第一金字塔層級的掃描窗口位置的數(shù)目。多個尺度層級可以是倍頻程層級。
還描述一種用于圖像掃描的電子裝置。所述電子裝置包括處理器和與所述處理器電子通信的存儲器。所述電子裝置還包括存儲在存儲器中的指令。所述指令是可執(zhí)行的以獲得圖像金字塔,其包括用于幀的多個尺度層級和至少第一金字塔層級。所述指令也是可執(zhí)行的以提供掃描窗口。所述指令是進一步可執(zhí)行的以掃描在多個掃描窗口位置處的幀的多個尺度層級中的至少兩個。多個掃描窗口位置在第一金字塔層級的至少兩個尺度層級的每個尺度層級處是相等的。
還描述了一種用于圖像掃描的設備。所述設備包括用于獲得圖像金字塔的裝置,所述裝置包括用于幀的多個尺度層級和至少第一金字塔層級。所述設備還包括用于提供掃描窗口的裝置。所述設備進一步包括用于掃描在多個掃描窗口位置處的幀的多個尺度層級中的至少兩個的裝置。掃描窗口位置的數(shù)目針對第一金字塔層級的至少兩個尺度層級的每個尺度層級是相等的。
還描述了一種用于圖像掃描的計算機程序產(chǎn)品。所述計算機程序產(chǎn)品包括具有指令的非暫時性計算機可讀媒體。所述指令包括用于使得電子裝置獲得圖像金字塔的代碼,其包括用于幀的多個尺度層級和至少第一金字塔層級。所述指令還包括用于使得所述電子裝置提供掃描窗口的代碼。所述指令進一步包括用于使得電子裝置在多個掃描窗口位置處掃描幀的多個尺度層級中的至少兩個的代碼。掃描窗口位置的數(shù)目針對第一金字塔層級的至少兩個尺度層級的每個尺度層級是相等的。
附圖說明
圖1為說明用于跟蹤和檢測目標對象的電子裝置的框圖;
圖2為說明對象跟蹤和檢測模塊的框圖;
圖3為說明用于執(zhí)行基于運動跟蹤和對象檢測的方法的流程圖;
圖4為說明用于執(zhí)行基于運動的跟蹤的方法的流程圖;
圖5為說明基于正向反向誤差估計基于運動的跟蹤中的跟蹤誤差的方法的流程圖;
圖6為說明用于執(zhí)行對象檢測和跟蹤的方法的流程圖;
圖7A為說明可與本發(fā)明系統(tǒng)和方法一起使用的具有不同窗口大小的圖像窗口的框圖;
圖7B為說明可與本發(fā)明的系統(tǒng)和方法一起使用的若干實例圖像和窗口的圖式;
圖8為說明對象跟蹤和檢測模塊的另一可能配置的框圖;
圖9為說明平滑模塊的框圖;
圖10為說明用于平滑運動跟蹤結(jié)果中的抖動的方法的流程圖;
圖11為說明高斯金字塔的一部分的一個實例的圖式;
圖12為說明滑動窗口和掃描階躍窗口的實例的圖式;
圖13為說明根據(jù)本文中所公開的系統(tǒng)和方法的一些配置的跨越尺度層級的掃描階躍的實例的圖式;
圖14為說明其中可以實施用于圖像掃描的系統(tǒng)和方法的電子裝置的一個實例的框圖;
圖15為說明用于圖像掃描的方法的一個配置的流程圖;
圖16為說明根據(jù)本文中所公開的系統(tǒng)和方法的一些配置的圖像掃描的一個實例的圖式;
圖17A為說明根據(jù)本文中所公開的系統(tǒng)和方法的一些配置的掃描窗口的數(shù)目相較于圖像大小的圖;
圖17B為說明其中掃描全部可能的窗口位置的方法的實例與其中掃描的窗口位置的數(shù)目是基于尺度層級均衡的本文中所公開的系統(tǒng)和方法的方法的實例相比的圖;
圖17C為說明其中掃描全部可能的窗口位置的方法的實例與其中掃描的窗口位置的數(shù)目是基于尺度層級均衡的本文中所公開的系統(tǒng)和方法的方法的另一實例相比的圖;并且
圖18說明可以包括于電子裝置和/或無線裝置內(nèi)的經(jīng)配置以實施本文中所公開的系統(tǒng)和方法的各種配置的某些組件。
具體實施方式
使用來自移動平臺(例如,平板電腦、手機)的相機跟蹤圖像內(nèi)或所述圖像內(nèi)用戶定義關(guān)注區(qū)域內(nèi)的對象可能是困難的。可能需要實時性能管理(約30幀每秒(fps))。一些配置可組合基于光流跟蹤器與基于圖像內(nèi)容檢測器的輸出以獲得穩(wěn)定性跟蹤。然而,移動平臺可能難以勝任現(xiàn)存算法的計算以達成實時性能管理。
本發(fā)明的系統(tǒng)和方法可實施以下技術(shù)中的一或多個以改進跟蹤和檢測算法的速度:(1)在每一幀處使用可能的檢測(例如,掃描)窗口的一部分,(例如,隨機選擇窗口位置或利用掃描模式);(2)僅選擇有限范圍的空間尺度(例如,僅可供使用的空間標尺的子集)用于尺度接近于對應于先前檢測到的目標大小的尺度的對象檢測;(3)基于先前跟蹤的置信度值,確定是在部分圖像中或是在整個圖像中搜尋對象;(4)基于先前跟蹤結(jié)果動態(tài)調(diào)節(jié)檢測窗口的數(shù)目;(5)依序執(zhí)行跟蹤和檢測(例如,首先應用跟蹤器,因為它在計算上不太昂貴);(6)僅當跟蹤器的置信度低于閾值時運行對象檢測器;并且(7)設置掃描躍階的數(shù)目與圖像位置的總數(shù)成正比。本發(fā)明方法和系統(tǒng)的優(yōu)勢中的一個在于減少用于跟蹤和/或檢測目標對象的計算。
如本文中所使用,術(shù)語“跟蹤”及其變體是指基于運動的過程而不識別特定對象。舉例來說,對象跟蹤和檢測模塊可逐幀跟蹤運動,并基于電子裝置的移動(例如,如果相機水平移動)或?qū)ο蟮闹饚苿哟_定目標對象的位置、大小或幀。術(shù)語“檢測”及其變體是指(例如)通過比較幀的一部分與參考圖像來嘗試識別目標對象的過程。舉例來說,對象跟蹤和檢測模塊可比較所捕獲幀的部分與(目標對象的)參考圖像以嘗試識別目標對象。在一個實例中,當可不再跟蹤目標時(例如,如果對象落于視野外部)可使用檢測。下文更詳細地解釋執(zhí)行基于運動跟蹤和對象檢測的系統(tǒng)和方法。
圖1為說明用于跟蹤和檢測目標對象的電子裝置102的框圖。電子裝置102也可被稱作無線通信裝置、移動裝置、移動臺、訂戶站、客戶端、客戶端站、用戶設備(UE)、遠程站、存取終端、移動終端、終端、用戶終端、訂戶單元等。電子裝置的實例包括膝上型計算機或桌面型計算機、蜂窩式電話、智能電話、無線調(diào)制解調(diào)器、電子閱讀器、平板計算機裝置、游戲系統(tǒng)、機器人、飛機、無人駕駛的飛行器(UAV)、汽車等。這些裝置中的一些可以根據(jù)一或多種行業(yè)標準操作。
舉例來說,例如智能電話或平板計算機等電子裝置102可以包括相機。相機可以包括圖像傳感器114和將位于光學系統(tǒng)118的視野內(nèi)的對象的圖像聚焦于圖像傳感器114上的光學系統(tǒng)118(例如,透鏡)。電子裝置102還可以包括相機軟件應用程序和顯示屏。當執(zhí)行相機應用程序時,可由圖像傳感器114記錄位于光學系統(tǒng)118的視野內(nèi)的對象的圖像。由圖像傳感器114所記錄的圖像可顯示于顯示屏上??梢韵鄬^高的幀速率快速連續(xù)顯示這些圖像,使得在任何給定時刻處,位于光學系統(tǒng)118的視野內(nèi)的對象顯示于顯示屏上。盡管在所捕獲視頻幀方面描述本發(fā)明系統(tǒng)和方法,但本文中所論述的技術(shù)可用于任何數(shù)字圖像上。因此,術(shù)語視頻幀和數(shù)字圖像在本文中可互換使用。
相機應用程序的用戶接口120可準許跟蹤顯示于顯示屏上的一或多個對象。電子裝置的用戶可被準許選擇待跟蹤的對象。另外,所選擇對象可用作稍后檢測對象的參考。額外地或替代地,待跟蹤對象(例如,面部、眼睛、人員、形狀、箱子等)可以預先確定和/或可以符合于模型。
在一個配置中,顯示器為從物理觸摸(例如,通過手指、觸控筆或其它工具)接收輸入的觸摸屏116。觸摸屏116可接收定義待跟蹤目標對象的觸摸輸入。舉例來說,如果電子裝置102正捕獲包含感興趣動物的自然場景,那么(必要時)用戶可圍繞動物繪制指示希望跟蹤或檢測動物的限界框。可以任何合適方式選擇目標對象。舉例來說,面部辨識、行人辨識等可用于選擇待跟蹤、檢測或兩者的目標對象。在一個配置中,可跟蹤多個對象。用戶接口120可允許用戶與對象跟蹤和檢測模塊104互動(例如)以選擇(即,定義)一或多個目標對象。
電子裝置102可包括用于跟蹤所選擇對象和/或在視頻幀中檢測對象的對象跟蹤和檢測模塊104。對象跟蹤和檢測模塊104可包括用于跟蹤一或多個對象的運動跟蹤器106。運動跟蹤器106可基于運動以用于逐幀跟蹤圖像(例如,視頻幀)上的點的運動以估計目標對象在先前視頻幀與當前視頻幀之間的位置和/或位置的改變。
對象跟蹤和檢測模塊104還可以包括用于檢測視頻幀上的對象的對象檢測器108。對象檢測器108可使用對象模型而非基于運動模型以通過比較當前視頻幀的全部或一部分與所選擇對象或(例如,視頻幀序列中)所捕獲先前視頻幀112的部分來檢測對象。對象檢測器108可用于檢測視頻幀內(nèi)的多個對象。在一些配置中,對象檢測器108可掃描一或多個幀和/或圖像以便檢測特定對象。舉例來說,對象檢測器108可根據(jù)結(jié)合圖11到17中的一或多個所描述的方法掃描一或多個幀。
對象跟蹤和檢測模塊104還可以包括存儲緩沖器110。存儲緩沖器110可存儲一或多個所捕獲幀和與所捕獲視頻幀相關(guān)聯(lián)的數(shù)據(jù)。在一個實例中,存儲緩沖器110可存儲先前所捕獲視頻幀112。對象跟蹤和檢測模塊104可使用從存儲緩沖器110所提供的關(guān)于所捕獲先前視頻幀112的數(shù)據(jù)來執(zhí)行基于運動的跟蹤和/或?qū)ο髾z測??山?jīng)由來自存儲緩沖器110的反饋將數(shù)據(jù)提供到運動跟蹤器106或?qū)ο髾z測器108以便修整基于運動的跟蹤和對象檢測以更準確地跟蹤和/或檢測目標對象。舉例來說,存儲緩沖器110可將位置和窗口大小數(shù)據(jù)提供到運動跟蹤器106和對象檢測器108以為運動跟蹤器106和對象檢測器108提供當跟蹤或檢測對象時可用于更準確地精確指出對象的位置和大小的一或多個參數(shù)。
如上文陳述,電子裝置102可執(zhí)行基于運動跟蹤。可使用多種方法執(zhí)行基于運動的跟蹤。在一個實例中,通過中值流方法執(zhí)行跟蹤,其中運動跟蹤器接受一對圖像It、It+1(例如,視頻幀)和限界框βt并輸出限界框βt+1??稍谙藿缈颚?sub>t內(nèi)的矩形網(wǎng)格上初始化點集合并追蹤所述點以在It與It+1之間產(chǎn)生稀疏運動流??晒烙孅c預測品質(zhì)并為每個點指派誤差??蔀V除最差預測的一部分(例如,50%)同時將剩余預測用于估計整個限界框的移位。運動跟蹤器106可在由電子裝置102所捕獲的每一視頻幀上執(zhí)行基于運動的跟蹤。以類似方法,可通過計算一或多個梯度(例如,x和y梯度)并使用一對幀之間的差異來計算時間梯度且使用多個梯度值以準確跟蹤當前視頻幀內(nèi)的目標對象來執(zhí)行基于運動的跟蹤。下文提供關(guān)于基于運動的跟蹤的進一步的細節(jié)。
當執(zhí)行基于運動的跟蹤時,運動跟蹤器106可基于運動跟蹤方法的所計算或所估計準確性,確定跟蹤置信度值。在一些配置中,跟蹤置信度值可為對應于目標對象落于當前視頻幀內(nèi)或視頻幀的所定義窗口內(nèi)的可能性或機率的0與1之間的實數(shù)。可將跟蹤置信度值與跟蹤閾值進行比較。如果跟蹤置信度值大于跟蹤閾值,那么發(fā)現(xiàn)目標對象位于當前視頻幀內(nèi)的可能性可較高。替代性地,如果跟蹤置信度值小于或等于跟蹤閾值,那么可能性可較低或不確定是否在當前視頻幀內(nèi)發(fā)現(xiàn)目標對象。可使用用于確定跟蹤置信度值的各種方法。在一個配置中,通過計算當前視頻幀中的所跟蹤窗口(例如,跟蹤貼片窗口)與來自先前所捕獲視頻幀的先前存儲圖像貼片之間的歸一化互相關(guān)(NCC)來確定跟蹤置信度值。下文提供關(guān)于確定跟蹤置信度值的進一步細節(jié)。
電子裝置102也可執(zhí)行對象檢測。可使用多種方法執(zhí)行對象檢測。在一個配置中,使用滑動窗口方法執(zhí)行對象檢測,其中檢視視頻幀內(nèi)的窗口的多個子集的內(nèi)容以確定是否發(fā)現(xiàn)目標對象在當前視頻幀中或當前視頻幀的特定窗口或窗口子集內(nèi)。額外地或替代地,可以使用掃描躍階方法,其中可以跳過幀或圖像中的一或可能多個掃描窗口。因此,可在視頻幀中搜尋所有可能窗口位置和大小的全部或子集。舉例來說,每一窗口可對應于數(shù)據(jù)像素且對象檢測器108可使用數(shù)據(jù)像素執(zhí)行一或多個計算以確定目標對象在特定窗口或子窗口內(nèi)的置信級(例如,二進制指標)。基于與一或多個窗口相關(guān)聯(lián)的置信級,可獲得當前視頻幀的檢測器置信度值。另外,額外技術(shù)可用于增加對象檢測的準確性或效率。下文解釋這些技術(shù)中的一些。
在一些配置中,運動跟蹤器106和對象檢測器108可依序而非并行操作。舉例來說,電子裝置102可對所選擇對象(例如,目標對象)執(zhí)行基于運動的跟蹤并基于所跟蹤參數(shù)依序執(zhí)行所選擇對象的對象檢測。在一個配置中,電子裝置102可對當前視頻幀執(zhí)行基于運動的跟蹤。電子裝置102可接著基于所跟蹤參數(shù)對當前幀執(zhí)行對象檢測。在一個配置中,所跟蹤參數(shù)可以基于置信度值與閾值之間的比較。舉例來說,如果跟蹤置信度值低于跟蹤閾值,那么電子裝置102可執(zhí)行對象檢測。替代地,如果跟蹤置信度值高于跟蹤閾值,那么電子裝置102可跳過當前視頻幀的對象檢測并基于當前視頻幀的運動跟蹤結(jié)果繼續(xù)對下一視頻幀執(zhí)行基于運動的跟蹤。換句話說,可僅在基于運動的跟蹤并非極好(例如,跟蹤置信度值低于跟蹤閾值)時執(zhí)行對象檢測。當考慮是否執(zhí)行和/或如何執(zhí)行對象檢測時可使用其它所跟蹤參數(shù)。所跟蹤參數(shù)的實例可包含目標對象區(qū)域、窗口位置、窗口大小、尺度層級、目標大小、跟蹤和/或檢測置信度值或可用于促進有效跟蹤和/或檢測目標對象的其它參數(shù)。
依序執(zhí)行基于運動的跟蹤和基于所跟蹤參數(shù)的對象檢測可使得電子裝置102能夠在無需執(zhí)行大量計算的情況下跟蹤和/或檢測視頻幀內(nèi)的目標對象。具體來說,因為相比對象檢測,基于運動的跟蹤可為不太計算密集型,所以電子裝置102可跳過執(zhí)行對象檢測,其中基于運動的跟蹤可用于準確跟蹤當前視頻幀內(nèi)的目標對象。舉例來說,如果電子裝置102確定跟蹤置信度值超出特定目標閾值,那么電子裝置102可確定無需對當前視頻幀進行對象檢測以準確確定當前視頻幀內(nèi)的目標對象的位置或存在。另外,因為對象檢測在許多狀況下可以是有益的,所以電子裝置102可確定對象檢測可用于更準確檢測目標對象的情況或在基于運動的跟蹤不充分的情況下基于與跟蹤閾值的比較執(zhí)行對象檢測。
在一些配置中,基于運動的跟蹤的結(jié)果和/或由存儲緩沖器110所提供的額外信息可用于窄化或修整執(zhí)行對象檢測的過程。舉例來說,在無法使用基于運動的跟蹤方法準確跟蹤目標對象的情況下,電子裝置102仍可估計或獲得關(guān)于位置、窗口尺度或與目標對象相關(guān)聯(lián)的其它所跟蹤參數(shù)的信息,所述信息可在對象檢測期間用以使用比并未經(jīng)由基于運動的跟蹤所提供參數(shù)的情況少的計算能力來更準確地檢測對象。因此,即使在基于運動的跟蹤并不提供超出跟蹤閾值的跟蹤置信度值的情況下,當隨后執(zhí)行對象檢測時可使用基于運動的跟蹤的結(jié)果。
圖2為說明對象跟蹤和檢測模塊204的框圖。對象跟蹤和檢測模塊204可實施于電子或無線裝置內(nèi)。對象跟蹤和檢測模塊204可以包括具有光流模塊226和跟蹤置信度值228的運動跟蹤器206。對象跟蹤和檢測模塊204還可以包括具有掃描儀定位器230、掃描儀定標器236、分類器238和檢測置信度值240的對象檢測器208。存儲緩沖器210可存儲可提供到運動跟蹤器206和對象檢測器208的與所捕獲先前視頻幀212相關(guān)聯(lián)的數(shù)據(jù)。對象跟蹤和檢測模塊204、運動跟蹤器206、對象檢測器208和存儲緩沖器210可為上文結(jié)合圖1所描述的對象跟蹤和檢測模塊104、運動跟蹤器106、對象檢測器108和存儲緩沖器110的配置。
運動跟蹤器206可用于對當前視頻幀(N)224執(zhí)行基于運動的跟蹤。舉例來說,可以接收先前視頻幀(N-1)222和當前視頻幀(N)224(例如,通過電子裝置)。先前視頻幀(N-l)222可在視頻幀序列中緊接著先于當前視頻幀(N)224??捎蓪ο蟾櫤蜋z測模塊204獲得并處理額外視頻幀??蓪⑾惹耙曨l幀(N-l)222提供到運動跟蹤器206。另外,存儲緩沖器210可存儲與先前視頻幀(N-l)222(在本文中被稱作所捕獲先前視頻幀212)相關(guān)聯(lián)的數(shù)據(jù)。在一些配置中,存儲緩沖器210可直接地從電子裝置中(例如,從相機中)獲得關(guān)于先前視頻幀(N-1)222的信息。存儲緩沖器210也可從融合模塊260獲得可規(guī)定先前視頻幀(N-l)222中的對象跟蹤和/或檢測位置的關(guān)于先前視頻幀(N-l)222的跟蹤結(jié)果。關(guān)于先前視頻幀(N-l)222或其它先前所捕獲視頻幀的此信息可存儲于存儲緩沖器210中。
運動跟蹤器206可隨后接收視頻幀序列中的當前視頻幀(N)224。運動跟蹤器206可比較當前視頻幀(N)224與先前視頻幀(N-l)222(例如,使用從存儲緩沖器210中提供的信息)。運動跟蹤器206可使用光流模塊226跟蹤對象在當前視頻幀(N)224上的運動。光流模塊226可以包括用于對當前視頻幀(N)224上的對象執(zhí)行基于運動的跟蹤的硬件和/或軟件。通過比較先前視頻幀(N-l)222與當前視頻幀(N)224,運動跟蹤器206可確定與目標對象處于當前視頻幀(N)224中的可能性相關(guān)聯(lián)的跟蹤置信度值228。在一個實例中,跟蹤置信度值為基于目標對象在當前視頻幀(N)224內(nèi)或當前視頻幀(N)224內(nèi)的窗口內(nèi)的確定性百分比的實數(shù)(例如,0與1之間)。
對象檢測器208可用于檢測當前視頻幀(N)224上的對象。舉例來說,對象檢測器208可接收視頻幀的序列中的當前視頻幀(N)224。對象檢測器208可基于所跟蹤參數(shù)對當前視頻幀(N)224執(zhí)行對象檢測。所跟蹤參數(shù)可包括對應于準確跟蹤目標對象的可能性的跟蹤置信度值228。更確切地說,所跟蹤參數(shù)可以包括跟蹤置信度值228與跟蹤閾值250的比較。所跟蹤參數(shù)還可以包括從存儲緩沖器210中提供的信息。當檢測對象時可使用的所跟蹤參數(shù)的一些實例包括區(qū)域、窗口位置、窗口大小或當執(zhí)行對象檢測時可由對象檢測器208用作參數(shù)的其它信息。
對象檢測器208可以包括掃描儀定位器230。掃描儀定位器230可以包括窗口位置選擇器232和/或隨機化器234。窗口位置選擇器232可在視頻幀內(nèi)選擇多個窗口。舉例來說,視頻幀可以包括多個窗口(例如,掃描窗口),每個具有相關(guān)聯(lián)的位置和大小。在一個配置中,每個視頻幀劃分成多個(例如,大約10,000個)重疊窗口,每個窗口包括視頻幀中的總像素的一部分。替代地,可存在任何合適數(shù)目個窗口且其可并不重疊。在一些配置中,窗口位置選擇器232可選擇掃描窗口的位置,其中掃描窗口的數(shù)目在一或多個金字塔層級處針對每個圖像尺度(例如,尺度層級)是相等的。額外地或替代地,所選擇掃描窗口可遵循特定掃描模式(例如,滑動窗口、掃描躍階等)。舉例來說,掃描窗口可遵循如結(jié)合圖12、14和16中的一或多個所描述的掃描躍階模式。掃描儀定位器230內(nèi)的窗口位置選擇器232可選擇在其中嘗試識別目標對象的窗口位置。
隨機化器234可隨機選擇具有變化大小和位置的窗口以用于檢測對象。在一些配置中,隨機化器234在視頻幀內(nèi)隨機選擇窗口。替代地,隨機化器234可基于一或多個因數(shù)更精確地選擇窗口。舉例來說,隨機化器234可基于區(qū)域、大小或?qū)ο笞羁赡芏ㄎ坏囊话阄恢脕硐拗拼翱谶x擇??山?jīng)由存儲緩沖器210獲得此信息或可經(jīng)由雖然并不足夠準確以完全依賴但可提供當執(zhí)行對象檢測時有用的信息的基于運動的跟蹤獲得此信息。因此,雖然隨機化器234可隨機選擇多個窗口以進行搜尋,但可基于提供到對象檢測器208的信息窄化窗口選擇,且因此不完全隨機。應注意隨機化器234可以是任選的和/或在一些配置中可能不包括于對象檢測器208中。
對象檢測器208還可包括可用于繪制或選擇具有一定大小的窗口的掃描儀定標器236。當檢測對象或比較窗口選擇與原始圖像以檢測圖像是否在特定窗口內(nèi)時,可由掃描儀定位器230使用窗口大小以窄化窗口大小。掃描儀定標器236可最初在定義對象時選擇某些大小的一或多個窗口,或替代地,基于從存儲緩沖器210中提供的信息抽取某些大小的一或多個窗口。額外地或替代地,掃描儀定標器236可將圖像按比例縮放到一或多個不同大小。舉例來說,在一些配置中,掃描儀定標器236可產(chǎn)生圖像金字塔,其中圖像金字塔中的每個圖像可以是基礎圖像(例如,幀)的特定尺度。在一些配置中,舉例來說,可以僅利用單個掃描窗口大小,而所述圖像(例如,幀)可以縮放到不同大小。結(jié)合圖11到16給出更多細節(jié)。
分類器238可用于確定是否發(fā)現(xiàn)目標對象中的一些或全部在特定窗口中。在一些配置中,分類器238可產(chǎn)生用于每一窗口的二進制值以指示是否檢測到目標對象在特定窗口或子窗口內(nèi)??舍槍τ蓪ο髾z測器208所搜尋的每一窗口執(zhí)行此分類(例如,二進制分類)。具體來說,對于檢測到對象的每一窗口,分類器238可產(chǎn)生二進制1且對于未檢測到對象的每一窗口,其可產(chǎn)生二進制0?;谒鰯?shù)目或1和0的組合,對象檢測器208可確定指示目標對象存在于當前視頻幀(N)224內(nèi)的可能性的檢測置信度值240。在一些配置中,檢測置信度值240為指示已準確檢測對象的百分比或概率的0與1之間的實數(shù)。
對象檢測器208可根據(jù)多種所跟蹤參數(shù)(包括區(qū)域、目標大小、窗口大小、尺度層級、窗口位置和/或一或多個置信度值)執(zhí)行對象檢測。一旦搜尋到視頻幀的窗口或窗口子集且對象檢測器208獲得每一所搜尋窗口的二進制值,那么對象檢測器208可確定窗口大小以及當前視頻幀上具有最高置信度的位置或區(qū)域。此位置和窗口大小可用于后續(xù)跟蹤和檢測以更準確地跟蹤和/或檢測目標對象。
如上文陳述,可由對象檢測器208使用各種方法來檢測目標對象。在一個配置中,檢測目標對象可包括在每一可能窗口位置和每一可能窗口大小處對窗口執(zhí)行二進制分類。然而,搜尋每一可能窗口為資源密集型操作。因此,在另一配置中,對象檢測器可搜尋窗口位置和大小的子集而非視頻幀中的所有可能窗口。舉例來說,對象檢測器208可搜尋所有可能窗口的1%。隨后,如果檢測不成功(例如,檢測置信度值240低于檢測閾值252),那么可在后續(xù)所捕獲幀中搜尋較高百分比的窗口位置(例如,2%)。所搜尋窗口位置的百分比階躍可以是均勻的、不均勻的、慢的或快的,即,連續(xù)幀可具有1%、2%、3%、4%或1%、2%、4%、8%。在一個配置中,響應于高檢測置信度值所搜尋幀的百分比可以設置的非常高(例如,80%、90%、100%),即,以確保目標對象處于下一個視頻幀中。舉例來說,響應于檢測和跟蹤置信度值超出檢測和跟蹤閾值,所搜尋幀的百分比可跳轉(zhuǎn)到至少80%。替代地,百分比可跳轉(zhuǎn)到60%、70%、90%等。另外,可使用用于檢測和跟蹤閾值的任何合適值(例如,0.6、0.65、0.7、0.75、0.8、0.85等)。此外,基于隨機化器(隨機數(shù)產(chǎn)生器)可隨機確定所搜尋窗口的百分比,例如,可在所捕獲幀中搜尋在1%與15%之間的隨機窗口百分比。通過搜尋所有窗口位置的子集,對象檢測可使用電子裝置中的較少資源。
此外,本發(fā)明系統(tǒng)和方法可針對每個位置搜尋窗口大小的子集。每個窗口大小可具有特定尺寸和/或包括一定數(shù)目的像素。舉例來說,可能存在20個可能的窗口大小。在一些配置中,并非搜尋全部20個窗口大小,可以在每個窗口位置處搜尋窗口大小的子集。替代地,單個窗口大小可用于掃描一或多個圖像。舉例來說,一個窗口大小可以用于掃描縮放到不同大小(例如,尺度、尺度層級、金字塔層級等)的圖像(例如,幀)。本文中所公開的系統(tǒng)和方法可以應用于任一方法中。
本發(fā)明系統(tǒng)和方法也可使用來自存儲緩沖器210的反饋以修整所搜尋窗口位置和/或大小。換句話說,成功檢測和/或跟蹤到目標對象的最后所捕獲視頻幀的位置和大小可用作用于搜尋當前視頻幀(N)224的開始點。舉例來說,如果在最近視頻幀中檢測并跟蹤到目標對象(即,最近所捕獲視頻幀的檢測和跟蹤置信度值256高于檢測和跟蹤閾值),那么掃描儀定位器可在與最近幀相關(guān)聯(lián)的位置和大小處開始搜尋當前所捕獲幀。舉例來說,在目標對象移動出光學系統(tǒng)的視野或消失于遠處的情況下,目標對象可很可能以與當目標對象離開光學系統(tǒng)的視野或消失于遠處時相同的大小重新出現(xiàn)。因此,當執(zhí)行對象檢測時可預測大小或大小范圍以用于檢測后續(xù)視頻幀中的目標對象。
此外,所捕獲視頻幀(N)224中的所搜尋窗口位置和窗口大小的搜尋范圍可限于類似于與最近視頻幀(例如,先前視頻幀(N-l)222)中的目標對象相關(guān)聯(lián)的窗口位置和窗口大小的那些范圍。如本文所使用,術(shù)語“搜尋范圍”是指當在視頻幀中檢測和/或跟蹤目標對象時可以利用的候選窗口位置、候選窗口大小和/或候選圖像尺度(例如,尺度層級)的集合。舉例來說,可基于發(fā)現(xiàn)目標對象在最近視頻幀中的位置從當前視頻幀(N)224的一部分內(nèi)選擇所搜尋窗口位置的子集(例如,象限中的一者或當前視頻幀(N)224的半邊)。換句話說,搜尋空間可限于最后跟蹤或檢測到目標對象處附近。類似地,針對每個窗口位置搜尋的圖像的尺度(和/或幀的大小)可以是基于所述圖像的尺度(和/或窗口的大小)有限的,其中在最近視頻幀中發(fā)現(xiàn)目標對象。舉例來說,如果使用尺度層級8在最近幀中檢測到對象,那么對于當前視頻幀(N)224,掃描儀定標器236可僅選擇加上或減去1的圖像尺度層級8,即,尺度層級7到9。此情況可進一步消除低概率搜尋并增加對象檢測效率。替代地,如果最近(非當前)視頻幀并未檢測到目標對象(即,最近視頻幀的檢測和跟蹤置信度值256低于檢測和跟蹤閾值),那么對象檢測器208可擴展所搜尋的搜尋空間(例如,圖像尺度和/或窗口位置),例如,更寬范圍的圖像或整個圖像可經(jīng)受搜尋。
對象跟蹤和檢測模塊204可包括用于合并多個窗口以形成單個窗口的融合模塊260。最初存在兩個置信度值:來自對象檢測器208的檢測置信度值240和來自運動跟蹤器206的跟蹤置信度值228。融合模塊260可比較兩個置信度值和/或組合兩個置信度值(例如,選取較大的一個)到檢測和跟蹤置信度值256中。檢測和跟蹤置信度值256可指示是否在視頻幀上識別出目標對象。在一個配置中,檢測和跟蹤置信度值256可為介于0與1之間的實數(shù),其中0指示在特定視頻幀中識別出目標對象的最低可能置信度且1指示在特定視頻幀中識別出目標對象的最高可能置信度。換句話說,檢測和跟蹤置信度值256可充當發(fā)現(xiàn)目標對象的整個可能性指示。另外,檢測和跟蹤置信度值256可以是用于確定圖像尺度、窗口位置、窗口大小或窗口的百分比的參數(shù)以在下一個視頻幀中進行搜尋。融合模塊260可用于將關(guān)于當前視頻幀(N)224的信息提供到存儲緩沖器210。在一個實例中,融合模塊260可將關(guān)于所跟蹤窗口242(例如,窗口位置244、窗口大小246等)和檢測和跟蹤置信度值256的信息提供到存儲緩沖器210。融合模塊260可使用來自運動跟蹤器206和對象檢測器208的跟蹤結(jié)果(例如,限界框)以形成經(jīng)組合跟蹤結(jié)果(例如,限界框)并計算檢測和跟蹤置信度值256。
存儲緩沖器210可存儲與先前視頻幀(N-l)222、當前視頻幀(N)224或其它所捕獲視頻幀相關(guān)聯(lián)的一或多個值。在一個配置中,存儲緩沖器210存儲可以包括對應于先前視頻幀(N-l)222的信息的所捕獲先前視頻幀212。所捕獲先前視頻幀212可以包括關(guān)于一或多個窗口242的信息,包括位置244、窗口大小246和每一窗口242的二進制決策248(例如,來自分類器238)。額外地或替代地,所捕獲的先前視頻幀212可以包括關(guān)于其中對象是最后檢測和/或跟蹤的圖像尺度(例如,尺度層級)的信息。所捕獲先前視頻幀212還可以包括跟蹤閾值250、檢測閾值252和檢測和跟蹤閾值254??蓪⒏欓撝?50提供到對象跟蹤和檢測模塊上的運動跟蹤器206或電路系統(tǒng)(例如,置信級比較器258)以確定跟蹤置信級是否大于跟蹤閾值250??蓪z測閾值252提供到對象跟蹤和檢測模塊204上的對象檢測器208或其它電路系統(tǒng)以確定檢測置信度值240是否大于檢測閾值252。檢測和跟蹤閾值254可為基于跟蹤閾值250和檢測閾值252的經(jīng)組合值。可將檢測和跟蹤閾值254與檢測和跟蹤置信度值256進行比較以確定基于運動的跟蹤和對象檢測的經(jīng)組合置信度值。閾值中的每一者可以是基于目標對象位于視頻幀內(nèi)的可能性。對象跟蹤和檢測模塊204可對當前視頻幀(N)224執(zhí)行基于運動的跟蹤和/或檢測直到獲得特定檢測和跟蹤置信度值256為止。另外,可對多個視頻幀序列中的每一視頻幀執(zhí)行基于運動的跟蹤和對象檢測。
執(zhí)行基于運動的跟蹤和對象檢測可包括依序執(zhí)行基于運動的跟蹤接著基于所跟蹤參數(shù)執(zhí)行對象檢測。具體地說,本發(fā)明系統(tǒng)和方法可實施兩步跟蹤和檢測方法。由于基于運動的跟蹤是基于場景的相對運動而非如對象檢測所使用的實際對象識別,因此相比執(zhí)行對象檢測,基于運動的跟蹤在電子裝置中可以是不太資源密集型的。因此,使用運動跟蹤器206而非對象檢測器208可以是更有效的,其中可無需也執(zhí)行對象檢測來準確地跟蹤目標對象。
因此,在缺乏運動跟蹤器206的情況下(即,依序而非并行執(zhí)行運動跟蹤和對象檢測(如果執(zhí)行)),對象跟蹤和檢測模塊204僅使用對象檢測器208而非并行使用運動跟蹤器206與對象檢測器208。對于其上執(zhí)行跟蹤的每一視頻幀,運動跟蹤器206可產(chǎn)生可為指示目標對象位于當前視頻幀(N)224中的可能性的介于0與1之間的實數(shù)的跟蹤置信度值228。
在兩步跟蹤和檢測方法的一個配置中,運動跟蹤器206可首先對當前視頻幀(N)224執(zhí)行基于運動的跟蹤。運動跟蹤器206可基于基于運動的跟蹤過程確定跟蹤置信度值228。使用跟蹤置信度值228和由存儲緩沖器210所提供的跟蹤閾值250,對象跟蹤和檢測模塊204內(nèi)的電路系統(tǒng)(例如,置信級比較器258)可確定跟蹤置信度值228是否超出跟蹤閾值250。如果跟蹤置信度值228大于跟蹤閾值250,那么對象跟蹤和檢測模塊204可跳過執(zhí)行對象檢測并將跟蹤結(jié)果提供到融合模塊260以產(chǎn)生輸出262。輸出262可以包括目標對象在當前視頻幀(N)224內(nèi)的指示。另外,輸出262可以包括關(guān)于目標對象的額外信息。
如果跟蹤置信度值228并不超出跟蹤閾值250,那么對象檢測器208可隨后對當前視頻幀(N)224執(zhí)行對象檢測??蓪Ξ斍耙曨l幀(N)224內(nèi)的窗口的全部或子集執(zhí)行對象檢測。對象檢測器208也可基于基于運動的跟蹤結(jié)果和/或從存儲緩沖器210所提供的信息來選擇窗口、窗口大小或其它檢測標準的子集??苫谔峁┑綄ο髾z測器208的一或多個所跟蹤參數(shù)來使用或多或少穩(wěn)定性過程執(zhí)行對象檢測。對象檢測器208可確定檢測置信度值240并比較檢測置信度值240與檢測閾值252。如果檢測置信度值240高于檢測閾值252,那么對象檢測器208可將檢測結(jié)果提供到融合模塊260以產(chǎn)生輸出262。輸出可以包括目標對象在當前視頻幀(N)224內(nèi)的指示和/或包括關(guān)于所檢測對象的額外信息。
替代地,如果檢測置信度值240小于或等于檢測閾值252,那么對象檢測器208可使用較穩(wěn)定性方法再次執(zhí)行對象檢測(例如,搜尋當前視頻幀(N)224內(nèi)的較大數(shù)目的窗口)。對象檢測器208可重復對象檢測過程直到獲得令人滿意的檢測置信度值240為止。一旦獲得令人滿意的檢測置信度值240使得識別出當前視頻幀內(nèi)的目標對象,則對象跟蹤和檢測模塊204可用于對下一視頻幀執(zhí)行跟蹤和檢測。
如圖2中所說明,所說明的組件中的一或多個可以任選地通過處理器264實施。舉例來說,對象跟蹤和檢測模塊204可通過處理器264實施。在一些配置中,不同處理器可用于實施不同組件(例如,一個處理器可實施運動跟蹤器206,另一處理器可用于實施對象檢測器208而又一處理器可用于實施存儲緩沖器210)。
圖3為說明用于執(zhí)行基于運動的跟蹤和對象檢測的方法300的流程圖??赏ㄟ^電子裝置102(例如,對象跟蹤和檢測模塊104)實施方法300。電子裝置102可302通過比較先前視頻幀(N-l)222與當前視頻幀(N)224對當前視頻幀(N)224執(zhí)行基于運動的跟蹤。可使用通過跟蹤圖像對之間的點的中值流方法來執(zhí)行跟蹤對象。也可使用基于運動的跟蹤的其它方法。另外,可使用經(jīng)由存儲緩沖器110所提供的關(guān)于所捕獲先前視頻幀112的信息來對當前視頻幀(N)224執(zhí)行基于運動的跟蹤。
電子裝置102可確定304跟蹤置信度值228。跟蹤置信度值228可指示已準確跟蹤目標對象的可能性或確定性。電子裝置102可確定306跟蹤置信度值228是否大于跟蹤閾值250。如果跟蹤置信度值228大于跟蹤閾值250,那么電子裝置102可308對下一視頻幀執(zhí)行基于運動的跟蹤。另外,電子裝置102可基于基于運動的跟蹤的結(jié)果來跳過對當前視頻幀執(zhí)行對象檢測。換句話說,可僅當運動跟蹤并非極好(即,如果跟蹤置信度值不超過跟蹤閾值)時對當前視頻幀執(zhí)行對象檢測。然而,如果跟蹤置信度值228不超過跟蹤閾值250,那么電子裝置102可310對當前視頻幀(N)224執(zhí)行對象檢測。額外地或替代地,可以在下一個視頻幀上執(zhí)行對象檢測。舉例來說,如果跟蹤置信度值228并不大于跟蹤閾值,那么可以在下一個視頻幀上執(zhí)行對象檢測(而不是例如在當前視頻幀224上執(zhí)行對象檢測)。電子裝置102可在基于運動的跟蹤后依序執(zhí)行對象檢測。在一些配置中,可通過變化的穩(wěn)定性多次執(zhí)行對象檢測以獲得較高檢測置信度值240。
圖4為說明用于執(zhí)行基于運動的跟蹤的方法400的流程圖。可通過電子裝置102(例如,對象跟蹤和檢測模塊104)實施方法400。電子裝置102可402使用限界框識別目標對象。可使用觸摸屏116或選擇感興趣對象的其它輸入方法手動地執(zhí)行402對象識別??梢灶愃品绞阶R別多個對象。另外,其它輸入方法可用于識別待跟蹤對象。在一個實例中,通過圍繞目標對象繪制限界框來手動地識別對象。
電子裝置102可初始化404限界框內(nèi)的網(wǎng)格上的點。網(wǎng)格上的點可遍及限界框均勻地間隔開。另外,可跟蹤406兩個圖像(例如,先前視頻幀(N-l)222與當前視頻幀(N)224)之間的網(wǎng)格上的點。在一個實例中,由在圖像之間產(chǎn)生稀疏運動流的Lucas-Kanade跟蹤器來跟蹤點。電子裝置102可估計408兩個圖像(例如,先前視頻幀(N-l)222與當前視頻幀(N)224)之間的跟蹤誤差。估計408跟蹤誤差可包括為跟蹤點的每一點指派誤差值。另外,可使用多種方法執(zhí)行估計408跟蹤誤差,包括(例如)正向反向誤差、歸一化互相關(guān)(NCC)和平方差總和。所估計跟蹤誤差可用于獲得跟蹤置信度值228和最終確定目標對象處于當前視頻幀(N)224中的可能性。在一個配置中,可通過計算當前視頻幀(N)224與先前視頻幀(N-l)222中的所跟蹤窗口之間的歸一化互相關(guān)(NCC)來獲得跟蹤置信度值228。也可使用額外技術(shù)估計跟蹤誤差,包括下文結(jié)合圖5更詳細描述的正向反向誤差估計。另外,電子裝置102可濾除410外圍點預測。舉例來說,電子裝置可濾除最壞預測的50%。剩余預測可用于估計限界框的移位。
電子裝置102可更新412限界框??蓤?zhí)行更新412限界框使得經(jīng)更新限界框變成用于下一視頻幀的新限界框??山又槍ο乱灰曨l幀重復基于運動的跟蹤過程,或者如果跟蹤置信度值小于或等于跟蹤閾值250,那么對于下一視頻幀可中斷基于運動的跟蹤過程直到可準確跟蹤目標對象為止。在當前視頻幀(N)224的基于運動的跟蹤并不提供令人滿意結(jié)果的一些配置中,電子裝置可對當前視頻幀(N)224執(zhí)行對象檢測以在定位目標對象時獲得較高置信級。在基于運動的跟蹤無法產(chǎn)生令人滿意的結(jié)果的一些配置中(例如,當目標對象移動出視頻幀范圍時),可對任何后續(xù)視頻幀執(zhí)行對象檢測直到檢測到目標對象為止。
圖5為說明基于正向反向誤差估計的基于運動的跟蹤中的跟蹤誤差的方法500的流程圖。可通過電子裝置102(例如,對象跟蹤和檢測模塊104)實施方法500。在一些配置中,電子裝置102可計算所跟蹤窗口之間的歸一化互相關(guān)(NCC)。歸一化互相關(guān)(NCC)可用于確定跟蹤置信度值228。電子裝置102也可使用與歸一化互相關(guān)(NCC)互補的各種跟蹤誤差估計技術(shù)(例如,正向反向誤差、平方差總和)。在使用正向反向誤差估計的實例中,電子裝置102可在先前視頻幀(N-l)222與當前視頻幀(N)224之間執(zhí)行502正向跟蹤以確定正向軌跡。正向跟蹤可包括跟蹤向前k步的圖像。所得正向軌跡可等于(xt,xt+1,...,xt+k),其中xt為時間點位置且k指示圖像序列長度。電子裝置102可在當前視頻幀(N)224與先前視頻幀(N-l)222之間執(zhí)行504反向跟蹤以確定反向軌跡。所得反向軌跡可等于其中
電子裝置102可確定506正向軌跡與反向軌跡之間的正向反向誤差。正向反向誤差可定義為正向軌跡與反向軌跡之間的距離。另外,可定義各種距離以用于軌跡比較。在一個配置中,當確定正向反向誤差時,可使用驗證軌跡的初始點與結(jié)束點之間的歐幾里得距離。在一個配置中,正向反向誤差可用作可用于確定跟蹤置信度值228的跟蹤誤差。
圖6為說明用于執(zhí)行對象檢測和跟蹤的方法600的流程圖。可通過電子裝置102(例如,對象跟蹤和檢測模塊104)實施方法600。電子裝置102可通過在當前視頻幀(N)224中搜尋窗口位置和大小的子集來對當前視頻幀(N)224執(zhí)行602對象檢測和基于運動的跟蹤。
電子裝置102可確定604檢測和跟蹤置信度值256。檢測和跟蹤置信度值256可提供是否發(fā)現(xiàn)目標對象在當前視頻幀(N)224中或特定窗口內(nèi)的置信級。電子裝置102也可確定606檢測和置信度值256是否大于檢測和跟蹤閾值254。如果檢測和置信度值大于檢測和跟蹤閾值254,那么電子裝置102可在下一視頻幀中使用窗口和大小的子集(例如,同一子集)來對下一視頻幀執(zhí)行608對象檢測。替代地,如果檢測和置信度值256小于檢測和跟蹤閾值254,那么電子裝置102可在下一視頻幀中使用窗口位置和大小的較大子集來對下一視頻幀執(zhí)行610對象檢測。在置信度值256小于檢測和跟蹤閾值254的一些配置中,電子裝置102可使用整個搜尋空間和/或下一視頻幀的所有窗口來對下一視頻幀執(zhí)行610對象檢測。
圖7為說明可與本發(fā)明系統(tǒng)和方法一起使用的具有不同窗口大小766的圖像窗口700的框圖。具體來說,圖7說明十個可能窗口大小766a到766j的集合。盡管本文中示出為矩形,但所搜尋窗口可為任何形狀,例如,正方形、矩形、圓形、橢圓形、自定義等。此外,任何數(shù)目的窗口大小可以是可供使用的,例如,5、15、20、30等。
在一些配置中,搜尋范圍可由用于特定位置的窗口大小的子集表示,例如,當前視頻幀(N)224中所搜尋的窗口大小可限于類似于與最近幀中的目標對象相關(guān)聯(lián)的窗口位置和窗口大小的那些窗口大小。舉例來說,在并無反饋的情況下,對象檢測器208可針對每一所選擇窗口位置搜尋所有十個窗口大小。然而,如果在最近(非當前)視頻幀中使用具有第五窗口大小766e的窗口檢測對象,那么對于當前所捕獲幀,掃描儀定標器236可僅選擇加上或減去3的窗口大小5(即,窗口大小2到8)。換句話說,基于來自最近或先前視頻幀(N-l)222的反饋,可并不搜尋具有第一窗口大小766a、第九窗口大小766i和第十窗口大小766j的窗口。此情況可進一步消除低概率搜尋并增加對象檢測效率。換句話說,使用來自最近視頻幀的反饋可有助于減少所執(zhí)行計算。替代地,如果最近視頻幀并不檢測目標對象(即,最近所捕獲幀的檢測和跟蹤置信度值256小于檢測和跟蹤閾值254),那么對象檢測器208可通過使用大小層級的子集并不限制搜尋范圍。
圖7B為說明可與本發(fā)明的系統(tǒng)和方法一起使用的若干實例圖像770a到770j和窗口768a到768j的圖式。具體地說,圖7B說明用于掃描圖像的方法。在此方法中,可以搜尋不同圖像大小或尺度,而窗口大小可以保持相同。如圖7B中所說明,圖像A到J 770a到770j具有不同圖像大小或尺度,而窗口A到J 768a到768j中的全部具有相同大小。因而,在圖7B中說明的方法可以根據(jù)本文中所公開的系統(tǒng)和方法的一或多個配置實施。舉例來說,結(jié)合圖7B所描述的方法可以另外地或替代地通過結(jié)合圖7A所描述的方法實施。在一些配置中,可以從基礎圖像中確定不同圖像尺度(例如,尺度層級)。舉例來說,假設圖像A 770a是基礎圖像。圖像B到J 770b到770j可以是基礎圖像A 770a的按比例縮放版本。舉例來說,電子裝置(例如,電子裝置102、1402)可以將基礎圖像770a按比例縮放到一或多個其它尺度。
在一些配置中,按比例縮放基礎圖像可以包括減少取樣所述圖像。舉例來說,電子裝置(例如,電子裝置102、1402)可以使用雙線性內(nèi)插按比例縮放圖像。減少取樣可以包括獲取相鄰像素的加權(quán)平均以產(chǎn)生按比例縮放的像素。舉例來說,假設基礎圖像是通過2的因數(shù)減少取樣或按比例縮放的。在此實例中,第一維度(例如,寬度)中的2像素和第二維度(例如,高度)中的2像素可以得到平均(例如,其中給予每個像素0.25的權(quán)重)以在所述圖像的減少取樣版本中產(chǎn)生單個像素。在一些情況下,減少取樣可以通過并不均勻地劃分像素的數(shù)目的因數(shù)執(zhí)行。在這種情況下,不同像素可以給予不同權(quán)重以產(chǎn)生減少取樣圖像。
圖8為說明對象跟蹤和檢測模塊804的另一可能配置的框圖。圖8中所說明的對象跟蹤和檢測模塊804可以包括類似于圖2中所說明的對象跟蹤和檢測模塊204的模塊并執(zhí)行類似于其的功能性。具體地說,圖8中所說明的對象檢測器808、運動跟蹤器806、掃描儀定位器830、窗口位置選擇器832、隨機化器834、掃描儀定標器836、分類器838、位置和大小確定模塊899、存儲緩沖器810、所捕獲先前視頻幀812、窗口842、位置844、大小846、二進制決策848、跟蹤閾值850、檢測閾值852、檢測和跟蹤閾值854、檢測置信度值840、跟蹤置信度值828和檢測和跟蹤置信度值856可對應于且具有類似于圖2中所說明的對象檢測器208、運動跟蹤器206、掃描儀定位器230、窗口位置選擇器232、隨機化器234、掃描儀定標器236、分類器238、融合模塊260、存儲緩沖器210、所捕獲先前視頻幀212、窗口242、位置244、大小246、二進制決策248、跟蹤閾值250、檢測閾值252、檢測和跟蹤閾值254、檢測置信度值240、跟蹤置信度值228和檢測和跟蹤置信度值256的功能性。
另外,對象跟蹤和檢測模塊804可包括用于減少歸因于目標運動和跟蹤誤差的抖動影響的平滑模塊861。換句話說,平滑模塊861平滑跟蹤結(jié)果,從而使得搜尋窗口在位置(x,y)844和大小(寬度、高度)846兩者中具有更平滑軌跡。平滑模塊861可為簡單移動平均(MA)濾波器或自動回歸(AR)濾波器。對于位置844和大小846的平滑程度可以不同。例如卡爾曼濾波器的預測性濾波器也可以適于位置844平滑。
在一個配置中,位置和大小確定模塊899可輸出運動跟蹤和對象檢測的組合結(jié)果,其可以由限界框表示。此限界框可以包括由平滑模塊861平滑化的位置和大小信息兩者。因此,平滑模塊861可接收未平滑化位置863和未平滑化大小865作為輸入并輸出平滑化位置867和平滑化大小869。在一些配置中,位置和大小確定模塊899可以被實施為結(jié)合圖2所描述的融合模塊260的一部分。在其它配置中,位置和大小確定模塊899可結(jié)合融合模塊260執(zhí)行上文所述的功能中的一或多個,所述融合模塊是結(jié)合圖2描述的。
圖9為說明平滑模塊961的框圖。平滑模塊961可用于減少歸因于目標運動和跟蹤誤差的抖動影響(即,因此跟蹤結(jié)果(限界框)在位置(x,y)和大小(寬度、高度)兩者中具有更平滑軌跡)。在一個配置中,使用自動回歸(AR)模型實施位置平滑濾波器971和大小平滑濾波器973以接收未平滑化位置963和未平滑化大小965作為輸入并輸出平滑化位置967和平滑化大小969。
在自動回歸(AR)模型中,假設X為待平滑變量(位置或大小)。此外,使X'為由對象跟蹤器輸出的X的輸出。在此配置中,可根據(jù)等式(1)描述X在時間t處的平滑化濾波Xt:
Xt=W*X't+(1-W)*Xt-1 (1)
其中X't為X在時間t處的跟蹤器輸出,Xt-1為X在時間t-1處的平滑化結(jié)果,且W(0<=W<=1)為控制平滑效果的平滑權(quán)重。舉例來說,X't可為針對當前視頻幀所選擇的窗口位置或窗口大小且Xt-1可為用于先前視頻幀的窗口位置或窗口大小。
不同平滑權(quán)重W可用于位置平滑濾波器971和大小平滑濾波器973。舉例來說,在一個實施方案中,W位置=0.8且W大小=0.4,使得存在對窗口位置的較小平滑作用但存在對窗口大小的較強平滑作用。此平滑權(quán)重選擇將產(chǎn)生較少跟蹤延遲和較少抖動兩者。
此外,當檢測和跟蹤置信度值856下降為低于一定閾值(例如,檢測和跟蹤閾值854)時,也可減少平滑權(quán)重選擇。當潛在跟蹤或檢測誤差較高時,此情況可帶來較強濾波。舉例來說,響應于低跟蹤置信度(例如,檢測和跟蹤置信度值856低于檢測和跟蹤閾值854),可將用于位置和大小的平滑權(quán)重分別設定成W位置=0.65且W大小=0.2。換句話說,可降低權(quán)重中的一或兩者,此情況可使得窗口位置和大小選擇較大程度上依賴于先前視頻幀的窗口位置和大小而非當前視頻幀的窗口位置和大小。
此外,權(quán)重可以基于跟蹤置信度值828或檢測置信度值840而非檢測和跟蹤置信度值856。舉例來說,響應于跟蹤置信度值828下降為低于跟蹤閾值850,可降低平滑權(quán)重W位置和W大小,即,響應于不佳運動跟蹤可使用較強濾波。替代地,響應于檢測置信度值840下降為低于檢測閾值852,可降低平滑權(quán)重,即,響應于不佳對象檢測可使用較強濾波。
在另一配置中,卡爾曼濾波可用于平滑窗口位置。在此配置中,可根據(jù)等式(2)到(7)定義濾波:
xk=Fkxk-1+wk (2)
zk=Hxk-1+vk (3)
其中zk是xk的觀測結(jié)果或測量結(jié)果,并且xk是由限定的真實狀態(tài),其中(x,y)是限界框中心位置,是在每一方向上的速度。另外,xk-1為時間k-1處的先前狀態(tài)。此外,狀態(tài)轉(zhuǎn)變模型Fk和觀察模型H可分別由等式(4)到(5)定義:
其中Δt是可調(diào)諧參數(shù)。另外,wk是假設根據(jù)等式(6)從具有協(xié)方差Q的零均值多變量正態(tài)分布中得出的過程噪聲(即,wk~N(0,Q)):
其中σ1是可調(diào)參數(shù)。類似地,wk為假設為具有根據(jù)等式(7)的協(xié)方差R的零均值高斯白噪聲的觀察噪聲(即,vk~N(0,R)):
其中σ2為可調(diào)參數(shù)。
圖10為說明用于平滑運動跟蹤結(jié)果中的抖動的方法1000的流程圖??捎呻娮友b置102(例如,電子裝置102中的對象跟蹤和檢測模塊804)執(zhí)行方法1000。電子裝置102可確定1002與當前視頻幀相關(guān)聯(lián)的一或多個窗口位置和一或多個窗口大小,例如,未平滑化位置863和未平滑化大小865。電子裝置102也可濾波1004一或多個窗口位置和一或多個窗口大小以產(chǎn)生一或多個平滑化窗口位置867和一或多個平滑化窗口大小869。舉例來說,此操作可以包括使用移動平均濾波器、自動回歸濾波器或卡爾曼濾波器。在一個配置中,響應于低跟蹤置信度(例如,檢測和跟蹤置信度值856低于檢測和跟蹤閾值854),可減少用于位置和大小的平滑權(quán)重。替代地,可基于檢測置信度值840或跟蹤置信度值828減少平滑權(quán)重。電子裝置也可使用由一或多個平滑化窗口位置867和一或多個平滑化大小869所定義的一或多個窗口來檢測當前視頻幀224內(nèi)的目標對象。
本文中所公開的系統(tǒng)和方法的一些配置可實現(xiàn)均衡滑動窗口和/或掃描躍階窗口以用于圖像金字塔上的多尺度實時對象檢測。對于使用金字塔上的圖像上的滑動窗口和/或掃描窗口的對象檢測,當對象較小時,檢測可能需要在較大金字塔圖像上執(zhí)行,其中待掃描的圖像位置的數(shù)目的增加與圖像的大小成正比。一般而言通過移動裝置上的有限的計算資源實時處理全部窗口可能是困難的。
本文中所公開的系統(tǒng)和方法可均衡每個圖像上的掃描窗口的數(shù)目,使得計算需求并不隨著待檢測對象變得較小而增加。折衷存在于遍歷圖像上的全部可能的位置的時間花費以及每個檢測的準確性中。
本文中所公開的系統(tǒng)和方法可提供以下方法中的一或多個?;瑒哟翱诤?或掃描窗口躍階可以隨著檢測移動到金字塔的較低倍頻程而增大(具有較大圖像大小)。當掃描躍階與圖像的面積增大成正比時,在每個倍頻程中待掃描的窗口的數(shù)目可保持大致相同。這可能提供總計算與檢測時間之間的折衷(例如,幀的數(shù)目)。掃描躍階越大,則可能需要從視頻序列中檢測對象的時間越長(例如,更多幀)。然而,當計算資源有限時,所述方法允許掃描較大圖像而不會掉落幀率,實現(xiàn)“看得更遠且較小”。
圖11為說明高斯金字塔1195的一部分的一個實例的圖式。在圖11中,矩形中的每一個表示圖像。從原始尺度中(例如,具有尺度因數(shù)1的基礎圖像1197),每個增大金字塔層級(例如,m=1、2、3等)是通過因數(shù)s減少取樣的。在一些配置中,因數(shù)其中M是金字塔1195中的金字塔層級1174的總數(shù)。此外,每個增大尺度層級1172是通過數(shù)值因數(shù)減少取樣的??梢允褂迷诔叨葘蛹?172上單調(diào)增大的任何數(shù)值因數(shù)。額外地或替代地,數(shù)值因素可以是每個尺度層級均勻的或不均勻的。在一個實例中,在金字塔層級0上,數(shù)值因數(shù)可以在每個尺度層級1172處均勻地增大2。因而,1.0可以是尺度層級0的數(shù)值因數(shù),2.0可以是尺度層級1的數(shù)值因數(shù)并且4.0可以是尺度層級2的數(shù)值因數(shù)等等。在另一個實例中,1.0可以是尺度層級0的數(shù)值因數(shù),1.5可以是尺度層級1的數(shù)值因數(shù)并且4.0可以是尺度層級2的數(shù)值因數(shù),說明尺度層級上的不均勻的數(shù)值因數(shù)增大。
在圖11中說明的實例中,數(shù)值因數(shù)是2。在所有尺度層級1172中數(shù)值因數(shù)是2的情況下,如圖11中所說明,尺度層級1172可被稱為“倍頻程層級”。通過倍頻程層級,每個倍頻程層級近似為是相鄰較低倍頻程水平的每個維度中的大小的一半(例如,寬度的一半和高度的一半)。另外,每個倍頻程水平可具有相鄰較低倍頻程水平的像素的近似四分之一。在一些情況下,這些可以近似由于不均勻的相除和四舍五入。
因而,圖11說明用于高斯金字塔1195產(chǎn)生的不同尺度(例如,沿著縱軸)。隨著金字塔層級1174和尺度層級1172進一步增大,圖像變得較小。本文中所公開的系統(tǒng)和方法可以在涉及高斯金字塔的掃描計算中提供更大的效率。
本文中所公開的系統(tǒng)和方法可實現(xiàn)跨越金字塔均衡滑動窗口的數(shù)目。舉例來說,本文中所公開的系統(tǒng)和方法可提供允許跨越每個尺度層級的受控制的(例如,有限的、近似恒定的等)計算的掃描窗口策略。在一些配置中,這可以應用于跟蹤視頻中的對象。
圖12為說明滑動窗口和掃描躍階窗口的實例的圖式。具體地說,圖像A 1276a和圖像B 1276b是兩個不同圖像大小或尺度。掃描窗口A 1278a以z字形圖案應用到圖像A 1276a。類似地,掃描窗口B 1278b以z字形圖案應用到圖像B 1276b。在一些配置中,滑動窗口A 1278a和滑動窗口B 1278b可以是相同的或大體上相同的大小(即,固定窗口大小)。除z字形圖案之外或替代地,掃描窗口可以掃描線圖案應用。對于金字塔上的每個圖像(例如,圖11的高斯金字塔1195),電子裝置可在圖像的一或多個可能的位置上運行基于滑動窗口的檢測器(例如,具有固定窗口大小)。
本文中所公開的系統(tǒng)和方法的一些配置可以利用掃描躍階。舉例來說,當掃描圖像的全部可能的位置在計算上過于昂貴時,一個方法是跳過一個幀中的圖像位置(例如,沿著掃描路徑),并且隨后掃描在其它幀(例如,隨后幀)中的跳過窗口??梢詰貌煌瑨呙枘J健T趫D12中的幀A到D 1280a到1280d的實例中,說明了寬度尺寸的2的掃描階躍(例如,x維度,X階躍=2)以及高度尺寸的2的掃描階躍(例如,y維度,Y階躍=2)。每一幀1280a到1280d可以包括像素群組。為了便于在圖12中說明,幀1280a到1280d可以表示較小圖像(例如,6x 6像素圖像)或較大圖像的部分(例如,較大圖像的6x 6像素區(qū)段)。
具體地說,掃描窗口像素1282是在每一幀A到D 1280a到1280d中說明的。每個掃描窗口像素1282是每個掃描窗口的左上像素(例如,開始位置)。舉例來說,幀A 1280a包括9個掃描窗口像素1282,其中掃描窗口像素1282中的每一個是對應的掃描窗口的左上像素。因而,幀A 1280a包括9個掃描窗口。每個掃描窗口可以覆蓋多個像素(例如,16×16個像素、24x 24個像素等)。因而,掃描窗口可以重疊。具體地說,舉例來說,掃描窗口重疊除非掃描階躍大于或等于窗口寬度。
在幀A到D 1280a到1280d的實例中,圖像的全掃描(例如,全部掃描窗口位置)需要4個幀。舉例來說,對應于掃描窗口像素1282的掃描窗口可以在每一幀處掃描。具體地說,可以掃描在幀A 1280a(例如,在第一時間或在第一幀處)在掃描窗口內(nèi)的像素。隨后,可以轉(zhuǎn)移掃描窗口,其中掃描窗口的像素是針對隨后的幀掃描的。舉例來說,在幀B 1280b處包括于掃描窗口中的像素可以得到掃描等等。在一些配置中,窗口的每個群組(例如,圖12中的四個窗口)可以在以z字形圖案、以順時針圖案、以逆時針圖案或以另一順序(例如,左上、右下、右上、左下等)前進的幀上得到掃描。
在一些配置中,掃描階躍可以被視為跳過大小(例如,跳過的窗口和/或像素的數(shù)目)。舉例來說,第一尺寸的2的掃描階躍(例如,寬度維度、x維度等)以及第二尺寸的2的掃描階躍(例如,高度尺寸、y維度等)可引起如圖12中所說明的幀A到D 1280a到1280d的掃描圖案。舉例來說,在每一幀中僅四分之一的可能的掃描窗口可以得到掃描。
在一些配置中,可能的掃描窗口位置(例如,開始位置)可以對應于少于全部的像素。舉例來說,可能的掃描窗口位置(例如,開始位置)可對應于每隔一個像素(例如,在像素索引0、2、4等處的每兩個像素)或更少,例如,每三個像素(例如,在像素索引0、3、6等)處。如上文所述,應注意掃描階躍可以被視為跳過的窗口的數(shù)目。舉例來說,在可能的掃描窗口位置對應于每隔一個像素(例如,0、2、4、6、8、10等的像素索引)的配置中,對于第一幀,2的掃描階躍可引起在像素索引0、4、8等處的掃描窗口的開始像素,以及對于第二幀,2的掃描階躍可引起在像素索引2、6、10等處的掃描窗口的開始像素。
圖13為說明根據(jù)本文中所公開的系統(tǒng)和方法的一些配置的跨越尺度層級1372的掃描躍階的實例的圖式。舉例來說,本文中所公開的系統(tǒng)和方法可提供跨越尺度層級1372中的每一個的近似均衡數(shù)目的掃描窗口。在圖13中,矩形中的每一個表示圖像金字塔中的圖像。舉例來說,左上矩形可表示從其它圖像導出的基礎圖像1397。如上文所述,舉例來說,電子裝置可以將基礎圖像1397按比例縮放(例如,減少取樣)到一或多個尺度層級1372處的一或多個尺度中。如上文所述,每個增大的金字塔層級(例如,m=1、2、3等)是減少取樣的。此外,每個增大尺度層級1372是通過數(shù)值因數(shù)減少取樣的。應注意圖像金字塔中的全部的圖像可對應于幀(例如,基于幀、從幀中衍生、從幀中減少取樣等)。舉例來說,電子裝置可獲得用于每一幀的圖像金字塔(例如,圖像的集合)。舉例來說,電子裝置可按比例縮放基礎圖像以獲得尺度層級1372?;A圖像1397可以是任何大小的(例如,尺寸的任何集合、任何數(shù)目的像素等)。圖像大小的一些實例(例如,以像素計的尺寸(px))包括4K(4096x 2304)、2880x 1800、2560x 1440、1334x 750、1080p(1920x 1080)、720p(1280x 720)、1024x 576、312x 390、272x 340、QVGA(320x 240)等。
在圖13中,說明了四個金字塔層級1374a到1374d和四個尺度層級1372a到1372d。然而,應注意,可以利用金字塔層級1374和/或尺度層級1372的不同標號。
針對一個幀電子裝置可掃描尺度層級1372中的兩個或大于兩個,其中掃描窗口的數(shù)目針對在第一金字塔層級1374a處的每個尺度層級1372是相等的。因而,用于每個尺度層級1372的計算的特征在于(例如,受到限制)掃描窗口的數(shù)目乘以金字塔層級1374的數(shù)目。針對在第一金字塔層級1374a處的每個尺度層級1372均衡掃描窗口的數(shù)目可近似均衡尺度層級1372之間的計算的量(例如,經(jīng)掃描的掃描窗口的數(shù)目)。
舉例來說,假設掃描第一到第三尺度層級1372a到1372c并且使用12個掃描窗口位置掃描第三尺度層級1372c的第一金字塔層級1374a(例如,圖13中的最左列)。在此實例中,第二尺度層級1372b的第一金字塔層級1374a是在12個掃描窗口位置處經(jīng)掃描的并且第一尺度層級1372a的第一金字塔層級1374a是在12個掃描窗口位置處經(jīng)掃描的。因而,在每個尺度層級1372處的計算是大體上恒定的(例如,有限的),這是由于用于每個增大金字塔層級1374a到1374d的掃描窗口位置的數(shù)目將是小于或等于用于第一(例如,最低)金字塔層級1374a處的對應的圖像的掃描窗口位置的數(shù)目。
使用用于較大圖像的相同數(shù)目的相同大小的掃描窗口(例如,在較低尺度層級處)與在較高尺度層級處的圖像相比可引起覆蓋較小比例的較大圖像,舉例來說,這是由于以增大的圖像大小(減小尺度層級)應用增大的掃描階躍。舉例來說,假設在第一尺度層級和第一金字塔層級處的圖像具有在第二尺度層級和第一金字塔層級處的圖像的像素數(shù)目的四倍。使用用于這些圖像的兩者的相同數(shù)目的掃描窗口與較小圖像相比引起覆蓋相對較小比例的較大圖像。因而,與較高尺度(例如,較高尺度層級1372)相比在較低尺度(例如,較低尺度層級1372)處可能需要更多的幀來覆蓋全部掃描窗口位置。
如上文所述,掃描階躍可用于掃描一些配置中的圖像中的一或多個。根據(jù)本文中所公開的系統(tǒng)和方法,掃描階躍可設置成與用于圖像中的一或多個的圖像(例如,第一金字塔層級1374a中的圖像)的尺寸成正比。舉例來說,假設尺度層級1372是倍頻程。在圖13中說明的實例中,掃描階躍1384(針對每個尺寸)針對第一尺度層級1372a可以是4,針對第二尺度層級1372b可以是2,并且針對第三尺度層級1372c可以是1。舉例來說,假設在第三尺度層級1372c處的掃描階躍1384是1(例如,針對x或?qū)挾瘸叽缡?且針對y或高度尺寸是1)。在第一金字塔層級1374a處,在第二尺度層級1372b處的圖像的尺寸是在第三尺度層級1372c處的圖像的尺寸的兩倍。因而,在第二尺度層級1372b處的掃描階躍1384是2(例如,針對x或?qū)挾瘸叽缡?且針對y或高度尺寸是2)。類似地,在第一尺度層級1372a處的圖像的尺寸是在第三尺度層級1372c處的圖像的尺寸的四倍,引起4的掃描階躍1384(例如,針對x或?qū)挾瘸叽缡?且針對y或高度尺寸是4)。
在一些配置中,在尺度層級1372處用于一或多個額外的金字塔層級1374b到1374d的第一尺寸(例如,x尺寸)掃描階躍等于對應于在尺度層級1372的第一金字塔層級1374a處的圖像的第一尺寸掃描階躍1384。此外,用于尺度層級1372處的一或多個額外的金字塔層級1374b到1374d的第二尺寸(例如,y尺寸)掃描階躍等于對應于尺度層級的第一金字塔層級1374a處的圖像的第二維度掃描階躍。額外地或替代地,對應于尺度層級1372的一或多個額外的金字塔層級1374b到1374d中的每一個的掃描窗口的每個數(shù)目小于或等于對應于尺度層級1372的第一金字塔層級1374a的掃描窗口的數(shù)目。因而,用于每個尺度層級1372a到1372d的計算的特征在于掃描窗口的數(shù)目乘以金字塔層級1374的數(shù)目。舉例來說,這些方法中的一或多個可限制在每個尺度層級1372a到1372d處的計算和/或可能近似均衡在每個尺度層級1372a到1372d處(例如,在尺度層級1372a到1372d之間)的計算(例如,掃描窗口的數(shù)目)。
如上文所述,尺度層級1372在一些配置中可以是倍頻程。因而,掃描階躍可以較低倍頻程增大。在一些配置中,在每個尺度層級1372a到1372d(例如,倍頻程層級)上待掃描的窗口的數(shù)目可以是相同的。在這些配置中針對每個倍頻程層級的計算的數(shù)目可以是相同的。因而,可以均衡跨越金字塔的滑動窗口的數(shù)目,即使對于更遠的和較小的對象也是如此(例如,以較大圖像大小)。在一些配置中,這可以應用于圖像中的對象檢測和/或?qū)ο蟮母?例如,較大對象、較小對象等)(例如,視頻)。應注意雖然在本文中描述了“倍頻程”,但是替代于倍頻程可以利用不同尺度(例如,均勻的/不均勻的尺度等)。
應注意所述圖像中的對象的大小可基于對象與圖像傳感器之間的距離和/或基于變焦等級。因而,對象的大小可以在幀之間發(fā)生改變。然而,對象大小的較大瞬時改變是不大可能的。因而,將掃描限制到可能檢測對象的尺度層級1372和/或金字塔層級1374的范圍對于減少計算的量而言可能是有益的。舉例來說,假設圖像傳感器的變焦等級在幀之間保持相同。進一步假設圖像傳感器與對象之間的距離在幀之間降低。因而,圖像內(nèi)的對象的大小可以在幀之間增大(即,在x和/或y方向上的像素的數(shù)目增大)。這可以引起對象不再為在特定掃描尺度(和/或金字塔層級)處檢測到的,但是是在另一掃描尺度(和/或另一金字塔層級)處檢測到的。舉例來說,隨著對象在圖像中的大小的增大對象可以在較高尺度層級處被檢測到。因為圖像中的對象的大小不大可能相對于幀率快速改變,所以相對于最近檢測到對象的尺度(和/或金字塔層級)可以掃描到僅尺度層級(和/或金字塔層級)的范圍。
因而,掃描范圍(例如,尺度層級和/或金字塔層級)可以在幀之間發(fā)生改變。舉例來說,電子裝置可以基于對象大小改變的一或多個指示改變掃描范圍(以尺度層級和/或金字塔層級)。舉例來說,范圍可以基于在兩個或大于兩個幀上的所檢測到的對象的大小改變(例如,尺度層級和/或金字塔層級)的閾值量。舉例來說,如果在第一幀中的第四金字塔層級和第四尺度層級處檢測到對象,并且隨后在第三尺度層級處的第一金字塔層級中檢測到對象(其指示大于大小改變的閾值量),那么電子裝置可以在全部的金字塔層級中從最后檢測到的尺度層級將掃描范圍擴展到±2尺度層級(而不是例如±1尺度層級)。此原理可以類似地適用于變焦和/或檢測運動的情形。具體地說,類似方法可以應用于變焦和/或加速計指示。舉例來說,如果接收到(或例如檢測到)快速(例如,大于閾值量的)變焦輸入,那么電子裝置可以根據(jù)變焦擴展掃描范圍和/或可以轉(zhuǎn)移掃描尺度層級和/或金字塔層級。額外地或替代地,如果(通過例如電子裝置上的加速計)檢測到快速(例如,大于閾值量的)運動,那么電子裝置可以根據(jù)運動擴展掃描范圍和/或可以轉(zhuǎn)移掃描尺度層級和/或金字塔層級。在一些配置中,如果所檢測到的對象大小、變焦和/或檢測到的運動對于幀的數(shù)目是較小的或靜態(tài)的,那么掃描范圍可以收縮(例如,如果針對幀的數(shù)目已經(jīng)出現(xiàn)小于改變的閾值量(在對象、大小、變焦和/或檢測到的運動中))。
在一些配置中,對于在跟蹤期間的對象檢測,在每一幀處僅可以掃描接近對象的尺度的尺度層級和/或金字塔層級。舉例來說,僅掃描被跟蹤對象尺度的范圍內(nèi)的圖像或倍頻程(例如,在0.5x到2x)之間。因此,對于結(jié)合圖13所描述的金字塔,僅可以利用3個尺度層級1372(例如,倍頻程)以用于在每一幀處進行掃描。額外地或替代地,僅掃描具有在被跟蹤對象尺度分辨率的范圍內(nèi)(例如,在0.5x到2x)之間的分辨率的圖像或倍頻程。應注意在一些配置中可以掃描鄰近尺度(例如,倍頻程)。替代地,可以掃描非鄰近尺度(例如,倍頻程)。
因而,在一些配置中可以僅掃描在1386的尺度范圍內(nèi)的圖像尺度。舉例來說,假設對象是在第二尺度層級1372處通過大小最后檢測到的和/或跟蹤到的。電子裝置可以僅掃描針對特定范圍1386內(nèi)(例如,±1尺度層級、±2尺度層級等)的對象。在一些配置中,可以就尺度層級1372而言定義范圍1386。額外地或替代地,可以就金字塔層級1374(例如,±1金字塔層級、±2金字塔層級等)而言定義范圍1386。舉例來說,電子裝置可以從其中針對全部金字塔層級最后檢測到和/或跟蹤到對象的尺度層級中將掃描范圍限制到±1尺度層級。
應注意范圍1386可以在幀之間轉(zhuǎn)移和/或改變(例如,減小或擴展)。舉例來說,假設在第二尺度層級1372處在第一幀處檢測到對象。在第二幀中,對象檢測可以在第一、第二和第三尺度層級1372a到1372c處執(zhí)行,其中對象檢測在第三尺度層級1372c處。因而,范圍1386可以轉(zhuǎn)移到包括第二、第三和第四尺度層級1372b到1372d。
應注意對象的術(shù)語“距離”、“變焦”和“大小”可以指相對于圖像大小的對象的大小。舉例來說,在較遠距離處的目標對象與在較近距離處的相同目標對象相比可占據(jù)圖像的較小部分,其中在較近距離處的目標對象占據(jù)圖像的較大部分。類似地,在較高變焦處的目標對象與在較低變焦處的目標對象相比可占據(jù)圖像的較大部分。
在一些配置中,本文中所公開的系統(tǒng)和方可以限制(例如,均衡)掃描階躍的數(shù)目而無論目標對象距離和/或變焦如何。舉例來說,當目標對象占據(jù)圖像的較小部分時,更多窗口位置可用于掃描以便檢測較小對象。在這種情況下,可以利用較大掃描階躍,這可能需要更多幀來遍歷全部掃描位置。因而,以時間為代價計算可以是有限的。在目標對象占據(jù)圖像的較大部分的另一情況下,可以利用較小掃描階躍,這可能需要較少幀以遍歷全部掃描位置。根據(jù)本文中所公開的系統(tǒng)和方法的一些配置,可以利用每個幀的近似固定數(shù)目(例如,相同固定數(shù)目)的掃描窗口。雖然可能需要更多幀來掃描較小目標對象(例如,在較遠距離處),但是此方法均衡了處理需要而無論目標對象大小如何,這允許較小目標對象得到檢測,尤其是在處理功率受到限制的情況中(例如,在移動裝置中)。
當對象變得較小時,較低數(shù)目的尺度層級1372(例如,倍頻程)得到掃描。當對象變得較大時,較高數(shù)目的尺度層級1372(例如,倍頻程)得到掃描。由于通過將掃描階躍設置成與(例如,第一金字塔層級的)圖像尺寸成正比使得在每個倍頻程處的掃描窗口是有限的(例如,均衡的),所以在每個倍頻程處掃描的窗口的數(shù)目可以是大致相同的。然而,與較高數(shù)目的倍頻程相比,較低的尺度層級(例如,倍頻程)需要更多的幀來執(zhí)行全掃描。此方法允許隨時間推移的若干幀之中的擴展計算而無需請求高的多的資源(計算和電力),尤其是在此類資源不可供使用時。因而,掃描階躍的數(shù)目可以均衡檢測準確性和計算(例如,處理循環(huán)、電力消耗等)。
圖14為說明其中可以實施用于圖像掃描的系統(tǒng)和方法的電子裝置1402的一個實例的框圖。電子裝置1402的實例包括智能電話、蜂窩式電話、計算機(例如,桌面型計算機、膝上型計算機等)、平板計算機裝置、媒體播放器、電視、游戲控制臺、個人數(shù)字助理(PDA)、機器人、飛機、UAV、汽車等。電子裝置1402可以包括圖像掃描模塊1488。如本文所使用,“模塊”可以在硬件(例如,電路系統(tǒng))或兩者的組合(例如,具有指令的處理器)中實施。
電子裝置1402可以執(zhí)行結(jié)合圖1到13中的一或多個描述的功能、程序、方法、步驟等中的一或多個。額外地或替代地,電子裝置1402可以包括結(jié)合圖1到13中的一或多個描述的結(jié)構(gòu)中的一或多個。在一些配置中,結(jié)合圖14描述的圖像掃描可以結(jié)合結(jié)合圖1到13中的一或多個描述的圖像掃描、對象檢測和/或?qū)ο蟾櫡椒ㄖ械囊换蚨鄠€實施。應注意結(jié)合圖13描述的圖像掃描可以另外或替代地于結(jié)合圖1到13中的一或多個描述的圖像掃描的方法中的一或多個實施。舉例來說,另外或替代于結(jié)合對象跟蹤和檢測模塊104、204中的一或多個描述的掃描,結(jié)合圖14描述的圖像掃描模塊1488可以在上文所述的一或多個電子裝置中實施。
電子裝置1402可獲得一或多個圖像幀1490(例如,數(shù)字圖像、視頻等)。舉例來說,電子裝置1402可捕獲一或多個圖像幀1490(例如,使用集成和/或單獨的圖像傳感器)和/或可以從另一裝置(例如,相機、存儲裝置、另一電子裝置等)接收一或多個圖像幀。圖像幀1490中的一或多個可以包括對象(例如,用于檢測和/或跟蹤的目標對象)。
可以將圖像幀1490中的一或多個提供到圖像掃描模塊1488。圖像掃描模塊1488可以掃描一或多個圖像幀1490。舉例來說,圖像掃描模塊1488可以利用滑動窗口和/或階躍掃描方法以為對象掃描圖像幀1490。這可以如上文結(jié)合圖11到13中的一或多個所描述的來實現(xiàn)。
圖像掃描模塊1488可以獲得具有用于幀1490的多個尺度層級和至少第一金字塔層級的圖像金字塔。舉例來說,圖像掃描模塊1488可減少取樣和/或按比例縮放圖像(例如,基礎圖像)以產(chǎn)生如上文所述的圖像金字塔。在一些配置中,圖像金字塔可以是基于倍頻程的高斯金字塔。
在一些實施方案中,圖像掃描模塊1488可以在金字塔中僅產(chǎn)生有限數(shù)目的尺度。舉例來說,僅可以產(chǎn)生被跟蹤或掃描的對象的尺度的0.5x到2x內(nèi)的圖像尺度(例如,尺度層級)。在一些配置中,電子裝置1402可確定對象尺度(例如,從前一幀中基于跟蹤和/或檢測和/或基于指示對象大小的輸入)。電子裝置1402可因而確定圖像金字塔的哪些圖像尺度(例如,尺度層級和/或金字塔層級)是處于范圍內(nèi)的。電子裝置1402可因而僅產(chǎn)生和/或掃描對象的尺度或大小的范圍內(nèi)的圖像尺度。掃描模塊1488可掃描鄰近或非鄰近尺度層級。
圖像掃描模塊1488可在多個掃描窗口位置處掃描幀1490的多個尺度層級中的至少兩個。掃描窗口位置的數(shù)目針對第一金字塔層級的至少兩個尺度層級的每個尺度層級可以是相等的。在一些配置中,掃描窗口大小可以是相同的,而無論圖像大小(例如,尺度層級和/或金字塔層級)如何。舉例來說,這種情況可以如結(jié)合7B中所描述。因而,不同圖像大小可適配圖像內(nèi)的不同總數(shù)的掃描窗口(例如,重疊和/或不重疊掃描窗口)。然而,掃描全部可能的掃描位置可能需要相對較大量的處理功率(例如,速度),尤其是對于高幀率下的較大(例如,高分辨率)圖像。
本文中所公開的系統(tǒng)和方法的一些配置可以基于在每個尺度層級處的計算特征化。舉例來說,本文中所公開的系統(tǒng)和方法可以限制、均衡和/或近似均衡等與在每個尺度層級處處理圖像相關(guān)聯(lián)的計算。這可以通過在(例如,至少第一金字塔層級的)兩個或大于兩個尺度層級處將掃描窗口位置的數(shù)目設置成相等而實現(xiàn)。因而,用于每個尺度層級的每個幀計算的特征可在于(例如,通過以下項限制)在第一金字塔層級處用于圖像的掃描窗口集合的數(shù)目乘以金字塔層級的數(shù)目。與較高尺度相比,可能需要更多幀以覆蓋(例如,掃描)在較低尺度處的全部掃描窗口位置。
根據(jù)本文中所公開的系統(tǒng)和方法,掃描階躍可以與用于圖像中的一或多個(例如,第一金字塔層級中的圖像)的圖像的尺寸成正比。額外地或替代地,用于尺度層級處的一或多個額外的金字塔層級的第一尺寸(例如,x尺寸)掃描階躍可以等于對應于在尺度層級的第一金字塔層級處的圖像的第一尺寸掃描階躍。此外,用于尺度層級處的一或多個額外的金字塔層級的第二尺寸(例如,y尺寸)掃描階躍可以等于對應于在尺度層級的第一金字塔層級處的圖像的第二尺寸掃描階躍。額外地或替代地,對應于尺度層級的一或多個額外的金字塔層級中的每一個的掃描窗口的每個數(shù)目小于或等于對應于尺度層級的第一金字塔層級的掃描窗口的數(shù)目。因而,用于每個尺度層級的計算的特征在于掃描窗口的數(shù)目乘以金字塔層級的數(shù)目。舉例來說,這些方法中的一或多個可限制在每個尺度層級處的計算和/或可近似均衡在每個尺度層級處的計算(例如,掃描窗口的數(shù)目)。
在一些配置中,圖像掃描模塊1488可確定和/或設置掃描階躍(例如,第一尺寸掃描階躍和第二尺寸掃描階躍)為與對應的圖像尺寸成正比。舉例來說,圖像掃描模塊1488可設置第一尺寸(例如,寬度x)掃描階躍針對尺度層級中的每一個與在第一金字塔層級處的圖像的第一尺寸成正比,并且設置第二尺寸(例如,高度y)掃描階躍針對尺度層級中的每一個與在第一金字塔層級處的圖像的第二尺寸成正比。較大圖像將因而具有較大掃描階躍。
在一個方法中,圖像掃描模塊1488可基于圖像的一或多個尺寸確定和/或設置掃描階躍。舉例來說,在特定尺度層級處(以及例如在第一金字塔層級處)的圖像可具有用于一或多個尺寸的預先確定的掃描階躍。替代地,圖像掃描模塊1488可以確定用于圖像的掃描階躍的數(shù)目(基于處理器負載、圖像分辨率等)。舉例來說,假設在第一尺度層級和第一金字塔層級處的圖像具有用于寬度尺寸的4的掃描階躍和用于高度尺寸的4的掃描階躍。進一步假設在第一尺度層級處的圖像具有160px的寬度和120px的高度,且在第二尺度層級處的圖像具有80px的寬度和60px的高度。為了獲得用于在第二尺度層級處(以及例如在第一金字塔層級處)的圖像的掃描階躍,圖像掃描模塊可以將用于寬度尺寸的掃描階躍4除以一個比率以產(chǎn)生用于在第二尺度層級處的圖像的2的掃描階躍,所述比率為在第一尺度層級處的圖像的寬度與在第二尺度層級(例如,4/(120px/60px))處的圖像的寬度的比率。
在另一方法中,圖像掃描模塊1488可以將掃描階躍設置成在第一金字塔層級處與第一尺度層級處的圖像的面積(例如,大小、像素)與在第二尺度層級處的圖像的面積(例如,大小、像素)的比率的平方根正比。舉例來說,假設在第一尺度層級和第一金字塔層級處的圖像具有伴以160x 120的尺寸的4的掃描階躍,且假設在第二尺度層級處的圖像具有80x 60的尺寸。為了獲得用于在第二尺度層級處(以及例如在第一金字塔層級處)的圖像的掃描階躍,圖像掃描模塊1488可以將在一種尺寸(例如,4)中的第一圖像的掃描階躍除以第一圖像的面積與第二圖像的面積的比率的平方根(例如,),以產(chǎn)生用于在第二尺度層級處的圖像的2的掃描階躍。
在又一方法中,圖像掃描模塊1488可以基于在一個圖像大小內(nèi)可以適配的(例如,特定大小的)掃描窗口的總數(shù)確定掃描階躍。在一些配置中,圖像掃描模塊1488可通過比較圖像的大小和掃描窗口的大小確定在一個圖像內(nèi)可以適配的掃描窗口的數(shù)目。舉例來說,如果圖像具有寬度乘以高度的大小(例如,W*H)且掃描窗口具有窗口寬度乘以窗口高度的大小(例如,P*Q;W≥P和H≥Q),那么在圖像內(nèi)可以適配的掃描窗口的總數(shù)為(W-P+1)*(H-Q+1)。掃描階躍可以確定為與圖像中的掃描窗口的總數(shù)成正比。舉例來說,在圖7B中,在圖像掃描模塊1488的一個配置中,用于圖像I的掃描階躍被設置成1,且圖像H的掃描階躍被設置成小于或等于(#H的掃描窗口)/(#I的掃描窗口)的最大整數(shù)。類似地,圖像A的掃描階躍被設置成小于或等于(#A的掃描窗口)/(#I的掃描窗口)的最大整數(shù)。
設置掃描階躍的數(shù)目可近似均衡在圖像金字塔的每個尺度層級(例如,倍頻程)處的掃描窗口。舉例來說,設置掃描階躍的數(shù)目可能引起在每個倍頻程層級處大致相同數(shù)目的計算。設置掃描階躍的數(shù)目可因而均衡檢測準確性與計算和/或電力消耗。應注意,如上文所述在一些配置中可以掃描對象的處于(例如,0.5x到2x)的尺度范圍內(nèi)的僅有的圖像尺度。
應注意圖像掃描模塊1488可根據(jù)掃描階躍掃描一或多個隨后幀。舉例來說,圖像掃描模塊1488可掃描在掃描窗口的初始位置處的用于第一圖像幀的圖像。對于第二隨后幀,圖像掃描模塊1488可轉(zhuǎn)移掃描窗口開始位置(通過整個掃描窗口、通過像素等)等等。
圖像掃描模塊1488可提供掃描結(jié)果1492。在一些配置中,掃描結(jié)果可指示對象是否被檢測到和/或指示用于一或多個掃描窗口和/或幀的對象檢測的置信級。
在一些配置中,圖像掃描模塊1488可以在結(jié)合圖1描述的對象跟蹤與檢測模塊104中實施。舉例來說,結(jié)合圖1描述的對象檢測器108可實施結(jié)合圖11到14描述的掃描方案中的一或多個以便在圖像中檢測對象。
圖15為說明用于圖像掃描的方法1500的一個配置的流程圖。舉例來說,結(jié)合圖14描述的電子裝置1402可執(zhí)行方法1500。
電子裝置1402可獲得1502幀1490。舉例來說,如上文所述,這可以結(jié)合圖14實現(xiàn)。
電子裝置1402可獲得1504具有用于幀1490的多個尺度層級和至少第一金字塔層級的圖像金字塔。舉例來說,這可以如結(jié)合圖7B與圖11到14中的一或多個所描述的實現(xiàn)。
電子裝置1402可提供掃描窗口。舉例來說,電子裝置1402可具有存儲在存儲器中的預先確定的掃描窗口大小。額外地或替代地,電子裝置1402可確定(例如,計算)掃描窗口的大小。舉例來說,電子裝置可確定掃描窗口大小為圖像大小的一部分。在另一個實例中,電子裝置1402可基于掃描窗口位置限制(例如,每個幀可以處理的最大數(shù)目的掃描窗口)來確定掃描窗口大小。舉例來說,電子裝置1402可以將掃描有限數(shù)目的處理循環(huán)用于掃描。掃描窗口位置限制可以是電子裝置1402可以每個幀處理的預先確定的或計算的數(shù)目的掃描窗口位置(具有多個像素或像素的范圍)。在一些配置中,電子裝置1402可以從查找表中查找掃描窗口大小。
電子裝置1402可以掃描1506在多個掃描窗口位置處的幀1490的尺度層級中的至少兩個。掃描窗口位置的數(shù)目針對第一金字塔層級的至少兩個尺度層級的每個尺度層級可以是相等的。掃描1506幀1490的至少兩個尺度層級的尺度層級中的每一個可以如上文結(jié)合圖7B與圖11圖14中的一或多個所述實現(xiàn)。
圖16為說明根據(jù)本文中所公開的系統(tǒng)和方法的一些配置的圖像掃描的一個實例的圖式。具體地說,圖16說明兩個幀1696a到1696b上的圖像掃描的一個實例。在此實例中,矩形網(wǎng)格表示對應于(例如,衍生自)幀1696a到1696b的圖像金字塔的圖像。每個網(wǎng)格框表示一個像素。在圖16中具有加深輪廓的方框示出了掃描窗口像素1694。每個掃描窗口像素1694是每個掃描窗口的左上像素(例如,開始位置)。舉例來說,在第一金字塔層級A 1607a與第一尺度層級A 1601a處的圖像包括12個掃描窗口像素1694,其中掃描窗口像素1694中的每一個是對應的掃描窗口的左上像素。因而,此圖像包括12個掃描窗口(為了清楚起見未描繪)。每個掃描窗口可覆蓋多個像素(例如,16x 16像素、24x 24像素等)。因而掃描窗口可以重疊。
為簡單起見,以像素的尺寸說明圖像。應注意每個掃描窗口可覆蓋多個像素。為了便于說明,在圖16的實例中給出的圖像具有相對較小的尺寸。應注意圖像尺寸可以大于(例如,大的多)和/或小于在圖16中給出的圖像。在結(jié)合圖16描述的實例中,可以根據(jù)結(jié)合圖11描述的金字塔導出圖像大小。舉例來說,在第一金字塔層級A 1607a處的圖像包括具有在第一尺度層級A 1601a處的尺寸16x 12的圖像、具有在第二尺度層級A 1603a處的尺寸8x 6的圖像,以及在第三尺度層級A 1605a處的尺寸4x 3的圖像。此外,在第二金字塔層級A 1609a處的圖像包括具有在第一尺度層級A 1601a處的尺寸13x 10的圖像、具有在第二尺度層級A 1603a處的尺寸6x 5的圖像,以及在第三尺度層級A 1605a處的尺寸3x 2的圖像。另外,在第二金字塔層級A 1611a處的圖像包括具有在第一尺度層級A 1601a處的尺寸10x 8的圖像、具有在第二尺度層級A 1603a處的尺寸5x 4的圖像,以及在第三尺度層級A 1605a處的尺寸3x 2的圖像。對應于在第一金字塔層級B 1607b、第二金字塔層級B 1609b、第三金字塔層級B 1611b、第一尺度層級B 1601b、第二尺度層級B 1601b和第三尺度層級B 1605b處的幀B 1696b的圖像具有與對應于幀A 1696a的那些相同的大小。
如可以在圖16中觀察到的,尺度層級1601、1603、1605布置成倍頻程大小。具體地說,在第一金字塔層級A 1607a處,第二尺度層級A 1603a的尺寸是第一尺度層級A 1601a的對應的尺寸的一半并且第三尺度層級A 1605a的尺寸是第二尺度層級A 1603a的對應的尺寸的一半。
圖16中的掃描窗口像素1694說明了掃描窗口的數(shù)目在第一金字塔層級A 1607a處對于每個尺度層級1601、1603、1605是相等的。具體地說,在第一金字塔層級A 1607a處的圖像中的每一個具有12個掃描窗口,而無論尺度層級或圖像大小如何。如所說明,在第一金字塔層級A 1607a處的掃描窗口位于第三尺度層級A 1605a處的圖像的全部位置(例如,像素)處、位于第二尺度層級A 1603a處的圖像的僅四分之一的位置處,并且位于第一尺度層級A 1601a處的僅十六分之一的位置處。因而,每個尺寸的掃描階躍與在第一金字塔層級1607處的圖像的尺寸成正比。
對于幀B 1696b,掃描窗口可以轉(zhuǎn)移(例如,如通過對應的掃描窗口像素1694所示)。如在第一金字塔層級1607a到1607b處所說明,在每一幀1696處利用在第三尺度層級1605a到1605b處的圖像的全部掃描窗口開始位置,而將需要四個幀以從用于第二尺度層級1603的全部的開始位置掃描并且將需要十六個幀以從用于第一尺度層級1601的全部的開始位置掃描。此情境說明本文中所公開的系統(tǒng)和方法的一些配置的一個優(yōu)點。具體地說,較大圖像(例如,較高分辨率圖像、圖像中的較小對象)可以通過有限量的計算掃描以換得較慢檢測速度和/或較低準確性。這一點可以是重要的,尤其是在高幀率下掃描高分辨率圖像可能壓垮裝置(例如,智能電話、平板計算機等)的處理能力的實施方案中。
如在圖16中進一步說明的,用于每個逐漸地較高的金字塔層級1609的掃描窗口的數(shù)目可以限制在小于或等于用于在第一金字塔層級1607處的圖像的掃描窗口的數(shù)目。舉例來說,對于第一尺度層級A 1601a,在第一金字塔層級A 1607a處的圖像具有12個掃描窗口,在第二金字塔層級A 1609a處的圖像具有12個掃描窗口并且在第三金字塔層級A 1611a處的圖像具有六個掃描窗口。因而,用于每個尺度層級1601、1603、1605的計算的特征在于(例如,通過以下項限制)第一金字塔層級1607的掃描窗口的數(shù)目乘以金字塔層級1607、1609、1611的數(shù)目。舉例來說,用于第一尺度層級A 1601a的計算將限于小于或等于掃描12個掃描窗口乘以三個金字塔層級1607、1609、1611所需要的處理(例如,第一尺度層級A處理=用于30個掃描窗口的處理≤用于12個掃描窗口*3的處理)。在一些配置中(例如,在較高分辨率處),處理每個尺度層級所需要的計算變?yōu)榻葡嗟鹊?,這是因為在每個尺度層級處掃描窗口的數(shù)目是相同的或近似相同的。
雖然圖16說明在每個層級處的掃描窗口可以在位置上對應(例如,在每個尺度層級A 1601a、1603a、1605a處第一掃描窗口像素1694在(0,0)的寬度與高度指數(shù)處),但是可以利用其它方法。舉例來說,掃描窗口可以在不同尺度層級處在非對應的位置處初始化。舉例來說,對于第一金字塔層級A 1607a,在第一尺度層級A 1601a處的第一掃描窗口像素1694(以及對應的掃描窗口)可以是在(0,0)處初始化的并且在第二尺度層級A 1603a處的第一掃描窗口像素1694(以及對應的掃描窗口)可以是在(1,0)的寬度和高度指數(shù)處初始化的。以此方式,可以更多樣化地覆蓋不同掃描位置。
在一些配置中,可以在最后檢測到的對象位置處或附近初始化(例如,可以最初安置)掃描窗口。舉例來說,如果對象是在前一幀中的指數(shù)(2,1)處最后檢測到的,那么第一掃描窗口可以安置在(2,1)(或例如(1,1))處。
圖17A為說明根據(jù)本文中所公開的系統(tǒng)和方法的一些配置的掃描窗口1713的數(shù)目相較于圖像大小1715的圖。在圖17A中,實線曲線說明了一種方法,其中增大圖像大小也增大了掃描窗口的數(shù)目。虛線說明了本文中所公開的系統(tǒng)和方法的一些配置。如所說明,隨著圖像大小的增大,掃描窗口的數(shù)目可以是有限的或近似恒定的。具體地說,無論圖像大小如何,掃描窗口的數(shù)目可以是大致相同的。舉例來說,在已知的方法中,增大圖像大小將需要每個幀更多的掃描窗口。然而,在根據(jù)本文中所公開的系統(tǒng)和方法的一個方法中,隨著圖像大小的增大掃描窗口的數(shù)目可以維持近似恒定,其代價為需要更多的幀來完成全部掃描位置的全掃描。這可允許在高幀率下的較高分辨率圖像的掃描,即使在處理能力特別地有限的實施方案中也是如此。
圖17B為說明其中掃描全部可能的窗口位置的方法的實例與其中掃描的窗口位置的數(shù)目是基于尺度層級均衡的本文中所公開的系統(tǒng)和方法的方法的實例相比的圖。所述圖是以掃描窗口1739b的數(shù)目對圖像大小1741b(以像素計)說明的。在這些實例中,假設掃描窗口具有16x16像素的尺寸。表(1)提供當掃描全部窗口1743b時掃描窗口的數(shù)目與當掃描均衡窗口1745b時掃描窗口的數(shù)目之間的比較。在其中掃描全部窗口1743b(例如,掃描階躍=1)并且其中一個掃描窗口是針對每兩個像素放置的實例中,掃描窗口1739b的總數(shù)隨著圖像大小1741b的增大而顯著增大。然而,在均衡窗口1745b方法中,其中掃描階躍基于尺度層級(例如,倍頻程層級)變化,隨著圖像大小1741b的增大掃描窗口1739b的數(shù)目受到限制(或近似恒定),如在表(1)與圖17B中所說明。
表(1)
圖17C為說明其中掃描全部可能的窗口位置的方法的實例與其中掃描的窗口位置的數(shù)目是基于尺度層級均衡的本文中所公開的系統(tǒng)和方法的方法的另一實例相比的圖。所述圖是以掃描窗口1739c的數(shù)目對圖像大小1741c(以像素計)說明的。在這些實例中,假設掃描窗口具有16x16像素的尺寸。表(2)提供當掃描全部窗口1743c時掃描窗口的數(shù)目與當掃描均衡窗口1745c時掃描窗口的數(shù)目之間的比較。在其中掃描全部窗口1743c(例如,掃描階躍=1)并且其中一個掃描窗口是針對每兩個像素放置的實例中,掃描窗口1739c的總數(shù)隨著圖像大小1741c的增大而顯著增大。然而,在均衡窗口1745c方法中,其中掃描階躍基于尺度層級(例如,倍頻程層級)變化,隨著圖像大小1741c的增大掃描窗口1739c的數(shù)目受到限制(或近似恒定),如表(2)與圖17C中所說明。
表(2)
圖18說明可包括于電子裝置和/或無線裝置1802內(nèi)的某些組件。電子裝置/無線裝置1802可以是存取終端、移動臺、用戶設備(UE)、智能電話、數(shù)碼相機、攝像機、平板計算機裝置、膝上型計算機等,(例如,在圖1和/或圖14中說明的電子裝置102、1402)。電子裝置/無線裝置1802包括處理器1835。處理器1835可以是通用單芯片或多芯片微處理器(例如,ARM)、專用微處理器(例如,數(shù)字信號處理器(DSP))、微控制器、可編程門陣列等。處理器1835可被稱為中央處理單元(CPU)。雖然在電子裝置/無線裝置1802中僅示出單個處理器1835,但在替代配置中,可使用處理器的組合(例如,ARM和DSP)。
電子裝置/無線裝置1802還包括存儲器1817。存儲器1817可以是能夠存儲電子信息的任何電子組件。存儲器1817可體現(xiàn)為隨機存取存儲器(RAM)、只讀存儲器(ROM)、磁盤存儲媒體、光學存儲媒體、RAM中的快閃存儲器裝置、隨處理器包含的機載存儲器、EPROM存儲器、EEPROM存儲器、寄存器等,包含其組合。
數(shù)據(jù)1821a和指令1819a可以存儲于存儲器1817中。指令1819a可以是可由處理器1835執(zhí)行的以實施本文所描述的方法中的一或多個。執(zhí)行指令1819a可涉及使用存儲于存儲器1817中的數(shù)據(jù)。當處理器1835執(zhí)行指令1819時,可將指令1819b的各種部分加載到處理器1835上且可將數(shù)據(jù)1821b的各種片段加載到處理器1835上。
電子裝置/無線裝置1802還可以包括發(fā)射器1825及接收器1827以允許將信號發(fā)射到電子裝置/無線裝置1802且從所述電子裝置/無線裝置接收信號。發(fā)射器1825及接收器1827可統(tǒng)稱為收發(fā)器1829。多個天線1837a到1837b可電耦合到收發(fā)器1829。電子裝置/無線裝置1802還可以包括(未示出)多個發(fā)射器、多個接收器、多個收發(fā)器和/或額外天線。
電子裝置/無線裝置1802可以包括數(shù)字信號處理器(DSP)1831。電子裝置/無線裝置1802還可以包括通信接口1833。通信接口1833可允許啟用一或多個種類的輸入和/或輸出。舉例來說,通信接口1833可以包括一或多個端口和/或通信裝置以用于將其它裝置連接到電子裝置/無線裝置1802。額外地或替代地,通信接口1933可以包括一或多個其它接口(例如,觸摸屏、小鍵盤、鍵盤、麥克風、相機等)。舉例來說,通信接口1833可允許用戶與電子裝置/無線裝置1802交互。
電子裝置/無線裝置1802的各種組件可通過一或多個總線耦合在一起,所述總線可包含電力總線、控制信號總線、狀態(tài)信號總線、數(shù)據(jù)總線等。為清楚起見,各種總線在圖18中說明為總線系統(tǒng)1823。
根據(jù)本發(fā)明,在電子裝置中電路可以適用于獲得幀(例如,圖像幀)。相同電路、不同電路或相同電路或不同電路的第二區(qū)段可以適用于獲得圖像金字塔,其包括具有尺度層級以及用于幀的第一金字塔層級的多個。第二區(qū)段可有利地耦合到第一區(qū)段,或所述第二區(qū)段可以作為第一部分實施于相同的電路中。另外,相同電路、不同電路或相同電路或不同電路的第三區(qū)段可適于掃描尺度層級中的每一個,其中在第一金字塔層級處掃描窗口的數(shù)目針對每個尺度層級是相等的。另外,相同電路、不同電路或相同或不同電路的第四區(qū)段可適于控制提供上文所描述功能性的電路或電路區(qū)段的配置。
術(shù)語“確定”涵蓋多種多樣的動作,且因此“確定”可包括計算、運算、處理、導出、調(diào)查、查找(例如,在表、數(shù)據(jù)庫或另一數(shù)據(jù)結(jié)構(gòu)中查找)、查實及類似者。并且,“確定”可包含接收(例如,接收信息)、存取(例如,在存儲器中存取數(shù)據(jù))及類似者。并且,“確定”可包括解析、選擇、挑選、建立等等。
除非以其它方式明確地指定,否則短語“基于”并不意味著“僅基于”。換句話說,短語“基于”描述“僅基于”與“至少基于”兩者。
術(shù)語“處理器”應廣義上解釋為涵蓋通用處理器、中央處理單元(CPU)、微處理器、數(shù)字信號處理器(DSP)、控制器、微控制器、狀態(tài)機等。在一些情況下,“處理器”可以指專用集成電路(ASIC)、可編程邏輯裝置(PLD)、現(xiàn)場可編程門陣列(FPGA)等。術(shù)語“處理器”可指代處理裝置的組合,例如,DSP和微處理器的組合、多個微處理器的組合、一或多個微處理器結(jié)合DSP核心,或任何其它此類配置。
術(shù)語“存儲器”應廣義上解釋為涵蓋能夠存儲電子信息的任何電子組件。術(shù)語存儲器可指各種類型的處理器可讀媒體,例如,隨機存取存儲器(RAM)、只讀存儲器(ROM)、非易失性隨機存取存儲器(NVRAM)、可編程只讀存儲器(PROM)、可擦除可編程只讀存儲器(EPROM)、電可擦除PROM(EEPROM)、快閃存儲器、磁性或光學數(shù)據(jù)存儲器、寄存器等。如果處理器可從存儲器讀取信息和/或?qū)⑿畔懭氲酱鎯ζ?,那么存儲器被稱為與處理器電子通信。與處理器集成的存儲器與處理器進行電子通信。
術(shù)語“指令”和“代碼”應該廣義地解釋為包含任何類型的計算機可讀語句。舉例來說,術(shù)語“指令”和“代碼”可指代一或多個程序(program)、例程、子例程、函數(shù)、過程(procedure)等?!爸噶睢焙汀按a”可以包括單個計算機可讀語句或許多計算機可讀語句。
本文中所描述的功能可在通過硬件執(zhí)行的軟件或固件中實施。所述功能可以存儲為計算機可讀媒體上的一或多個指令。術(shù)語“計算機可讀媒體”或“計算機程序產(chǎn)品”是指可通過計算機或處理器存取的任何實體存儲媒體。作為實例而非限制,計算機可讀媒體可包括RAM、ROM、EEPROM、CD-ROM或其它光盤存儲裝置、磁盤存儲裝置或其它磁性存儲裝置,或可用于運載或存儲呈指令或數(shù)據(jù)結(jié)構(gòu)的形式的所要程序代碼且可由計算機存取的任何其它媒體。本文中使用的磁盤和光盤包含壓縮光盤(CD)、激光盤、光盤、數(shù)字通用光盤(DVD)、軟盤及藍光盤,其中磁盤通常是以磁性方式再現(xiàn)數(shù)據(jù),而光盤是用激光以光學方式再現(xiàn)數(shù)據(jù)。應注意,計算機可讀媒體可為有形且非暫時性的。術(shù)語“計算機程序產(chǎn)品”是指與可由計算裝置或處理器執(zhí)行、處理或計算的代碼或指令(例如,“程序”)組合的計算裝置或處理器。如本文中所使用,術(shù)語“代碼”可指可由計算裝置或處理器執(zhí)行的軟件、指令、代碼或數(shù)據(jù)。
還可通過傳輸媒體傳輸軟件或指令。舉例來說,如果使用同軸電纜、光纖電纜、雙絞線、數(shù)字訂戶線路(DSL)或無線技術(shù)(例如,紅外線、無線電及微波)從網(wǎng)站、服務器或其它遠程源傳輸軟件,那么同軸電纜、光纖電纜、雙絞線、DSL或無線技術(shù)(例如,紅外線、無線電及微波)包含在傳輸媒體的定義中。
本文中所公開的方法包括用于實現(xiàn)所描述的方法的一或多個步驟或動作。在不脫離權(quán)利要求書的范圍的情況下,方法步驟和/或動作可彼此互換。換句話說,除非正描述的方法的適當操作需要步驟或動作的特定次序,否則在不脫離權(quán)利要求書的范圍的情況下,可修改特定步驟及/或動作的次序及/或使用。
另外,應了解用于執(zhí)行本文中描述的方法和技術(shù)的模塊和/或其它適當裝置可以下載和/或通過裝置獲得。舉例來說,裝置可耦合到服務器以促進用于執(zhí)行本文中所描述的方法的裝置的傳遞。替代地,本文中所描述的各種方法可經(jīng)由存儲裝置(例如,隨機存取存儲器(RAM)、只讀存儲器(ROM)、例如壓縮光盤(CD)或軟盤等物理存儲媒體等等)提供,使得裝置可在將存儲裝置耦合或提供到所述裝置后獲得各種方法。
應理解,所附權(quán)利要求書不限于上文所說明的精確配置和組件。在不脫離權(quán)利要求書的范圍的情況下,可在本文中所描述的系統(tǒng)、方法和設備的布置、操作和細節(jié)方面進行各種修改、改變和變更。