用于檢測對象的設備和方法
【專利摘要】提供了一種用于檢測對象的設備和方法。所述設備可以包括:存儲器,被配置為存儲指令;以及處理器,被配置為執行所述指令,以獲得包含于圖像幀中的感興趣區域的圖像數據。所述處理器還被配置為比較所述感興趣區域的圖像數據與背景的圖像數據,以檢測在所述感興趣區域中的變化。所述處理器還被配置為基于檢測到的變化檢測在圖像幀中的對象。
【專利說明】
用于檢測對象的設備和方法
技術領域
[0001]本公開總體涉及計算機視覺技術,更具體地,涉及用于從一個或多個圖像幀中檢測和跟蹤移動對象的系統和方法。【背景技術】
[0002]隨著技術的進步和需求的增加,視頻監控技術得以快速發展并廣泛用于多個領域,例如智能監控和運輸。視頻監控指的是這樣的任意一種技術:其利用攝像機或其它成像傳感器來捕捉環境的一個或多個圖像,并執行圖像分析來為各種目的識別對象和/或獲得信息。檢測和跟蹤移動對象是計算機視覺搜索的重要主題。技術進步以及移動對象檢測和跟蹤的實現吸引了社會的大量關注。
[0003]用于檢測移動對象的傳統技術包括:基于光流的方法,基于幀差的方法,基于背景差或基于背景減除的方法,基于顏色跟蹤(例如,均值偏移(meanshift))的方法,以及基于模式識別的對象檢測和跟蹤方法。
[0004]基于光流的方法使用光流的特性(例如,從隨著時間捕捉到的圖像導出的像素移動向量)來檢測和跟蹤移動對象。然而,基于光流的方法需要復雜的計算。另外,基于光流的方法對信號噪聲敏感。為了實現實時地檢測和跟蹤移動對象,這些方法要求較強的計算能力。
[0005]基于幀差的方法基于差別方法在隨著時間連續獲得的兩個或三個圖像中檢測移動區域。這些方法相對簡單并對場景中光的變化不敏感。然而,容易在檢測到的移動對象中具有空隙空間。結果,檢測到的移動區域往往不完整。
[0006]背景差或減除的方法被頻繁用于運動檢測中。這些方法計算當前圖像幀和背景圖像(或圖像幀)之間的差以獲得移動區域。這些方法通常產生完整的移動區域。然而,這些方法對光和場景的變化敏感,并可能在結果中呈現出噪聲,這可能限制這些方法的有效性。
[0007]基于顏色跟蹤的方法的例子包括均值偏移和連續自適應均值偏移(camshift)方法。連續自適應均值偏移方法使用對象顏色的直方圖模型來獲得背投(back project1n) 模型,由此將圖像數據轉換為顏色的概率分布圖,并基于顏色實現跟蹤。均值偏移方法是基于密度函數梯度的非參數方法。這些方法通過經由迭代發現概率分布的極值而在圖像數據中定位對象。這些方法使用對象的顏色作為跟蹤的首要信息,并且快速且有效地跟蹤單顏色移動對象。然而,這些方法對顏色敏感。例如,當背景包括顏色接近移動對象的顏色的對象時,這些方法可能會錯誤地跟蹤背景中的對象。
[0008]基于模式識別的對象檢測和跟蹤方法提前學習對象的特性,然后基于提取學習的特性從圖像中檢測所述對象。這些方法對于某些移動對象(例如,行人、車輛等)是有效的。 然而,這些方法的計算需求較大,這將對處理硬件產生高的負荷。
[0009]所公開的方法和系統解決了上述一個或多個問題。例如,公開的方法和系統可以準確、快速和有效地從圖像中檢測對象的移動方向,并開始跟蹤移動對象。
【發明內容】
[0010]與本公開的一個公開實施例一致地,提供了一種設備。所述設備可以包括:存儲器,被配置為存儲指令;以及處理器,被配置為執行所述指令,以獲得包含于圖像幀中的感興趣區域的圖像數據。所述處理器還被配置為比較所述感興趣區域的圖像數據與背景的圖像數據,檢測在所述感興趣區域中的變化。所述處理器還可以被配置為基于檢測到的變化檢測在圖像幀中的對象。
[0011]與本公開的另一公開實施例一致地,提供了一種用于檢測對象的方法。所述方法可以包括獲得包含于圖像幀中的感興趣區域的圖像數據。所述方法還可以包括比較所述感興趣區域的圖像數據與背景的圖像數據,以檢測在所述感興趣區域中的變化。所述方法還可以包括基于檢測到的變化檢測在圖像幀中的對象。
[0012]與本公開的又一公開實施例一致地,提供了一種非瞬態計算機可讀介質。所述非瞬態計算機可讀介質可以存儲指令,當被處理器執行時,所述指令使得所述處理器執行用于檢測對象的方法。所述方法可以包括獲得包含于圖像幀中的感興趣區域的圖像數據。所述方法還可以包括比較所述感興趣區域的圖像數據與背景的圖像數據,以檢測在所述感興趣區域中的變化。所述方法還可以包括基于檢測到的變化檢測在圖像幀中的對象。
[0013]可以理解的是,上述通用描述和后續詳細描述都只是示例性和解釋性的,而并不限制如所要求保護的本發明。【附圖說明】
[0014]附圖并入并構成本說明書的一部分,示出了與本公開一致的實施例,并與說明書一起用于解釋本公開的原理。
[0015]圖1是示出根據示例性實施例的用于檢測對象的系統的示意圖。
[0016]圖2是根據示例性實施例的用于檢測對象的系統的框圖。
[0017]圖3A是示出根據示例性實施例的用于檢測對象的方法的圖像幀。
[0018]圖3B是示出根據示例性實施例的用于檢測對象的方法的另一圖像幀。
[0019]圖3C是示出根據示例性實施例的用于檢測對象的方法的另一圖像幀。
[0020]圖4是示出根據示例性實施例的用于檢測對象的方法的流程圖。
[0021]圖5是示出根據示例性實施例的用于更新背景的圖像數據的方法的流程圖。[〇〇22]圖6示出了根據示例性實施例的三個感興趣區域的布置。
[0023]圖7是示出根據示例性實施例的用于檢測對象的方法的流程圖。【具體實施方式】[〇〇24]所公開的實施例提供用于從攝像機所捕捉的圖像幀中檢測對象(例如,移動對象) 的基于計算機視覺的系統和方法。所公開的實施例可以檢測移動對象并實時跟蹤移動對象。所公開的實施例可以以準確、快速和有效的方式從圖像幀中檢測和跟蹤移動對象。另夕卜,所公開的系統和方法可以實現同時監視環境中的特定區域并檢測和跟蹤在所述區域中的移動對象。因此,所公開的系統可以消除建立兩個不同系統的必要,其中一個系統用于監視區域,而另一系統檢測和跟蹤在所述區域中的移動對象。此外,所公開的方法可以實現為需要小的存儲器尺寸和低的計算成本的算法。因此,所公開的方法可以實現于嵌入式系統中,例如,車輛、可穿戴設備、飛機等,其不具有較強的計算能力。
[0025]現在詳細參考示例性實施例,其例子在附圖中示出。后續描述參考附圖,除非另有表示,否則在附圖的不同圖中相同的標記表示相同或類似元件。在示例性實施例的后續描述中闡述的實現方式不表示與本發明一致的所有實現方式。相反,它們只是與在隨附權利要求中記敘的本發明相關的各方面一致的設備和方法的例子。
[0026]圖1是示出用于從圖像幀中檢測對象的系統100的示意圖。如圖1所示,系統100可以包括圖像捕捉設備105,其被配置為捕捉環境的多個圖像幀。所述系統100可以包括對象 110,例如移動對象。由圖像捕捉設備105捕捉到的圖像幀可以包括一個或多個圖像。在圖像幀中包含的對象可以是靜止的或移動的任意對象,例如,人、車輛、飛機、飛球、輪船、動物、 昆蟲,等等。僅出于說明性目的,在圖1中將對象110示出為人。
[0027]圖像捕捉設備105可以包括攝像機,例如視頻攝像機、數字照相機、紅外攝像機,等等。為了討論的簡便,圖像捕捉設備105可以被稱作攝像機105。攝像機105可以具有由虛線 112和113示出的視野。攝像機105可以安裝在攝像機架115上,后者還可以(例如,作為可穿戴設備)附到另一人、車輛、家具、街道上的桿、辦公室的墻壁、房屋、或建筑物、屋頂等。攝像機架115可以包括電動機120。電動機120可以配置為調整攝像機105的角度,例如,搖頭角度、傾斜角度。在一些實施例中,攝像機105的角度可以在所有方向上進行調整。當電動機 120調整攝像機105的角度時,攝像機105的視野也相應被調整。電動機120可以包括任意適當的電動機,例如步進式電動機、無刷電動機等。[〇〇28] 所公開的系統可以包括計算機130。計算機130可以包括監視器、處理器、存儲器、 存儲設備和其它部件。計算機130可以通過網絡135與攝像機105通信,所述網絡135可以是有線或無線網絡。網絡135可以通過有線連接(例如,電線、電纜等)或無線連接(例如,紅外、 Wif1、藍牙、近場通信連接、蜂窩連接、無線電連接等),在攝像機105和計算機130之間進行數據傳輸。攝像機105可以將捕捉到的圖像幀發送到計算機130。計算機130可以將信號發送到攝像機105以控制攝像機105的各種設置,例如縮放、像素分辨率等。計算機130還可以將控制信號發送給電動機120以調整攝像機105的角度,由此改變攝像機105的視野。例如,當計算機130從由攝像機105捕捉到的圖像幀中檢測到移動對象(例如,人110)時,計算機130 可以將控制信號發送到電動機120以調整攝像機105的角度,從而視野跟隨移動對象110移動。因此,系統100可以從多個圖像幀中檢測移動對象110,并跟蹤移動對象110。
[0029]雖然在圖1中示出為單獨的部件,但計算機130的一些或所有功能可以與攝像機 105集成為單個單元。例如,攝像機105可以包括處理器、存儲器、控制器或控制模塊作為單個單元。在這種實施例中,可以不需要單獨的計算機130和/或網絡135。
[0030]圖2是用于在多個圖像幀中檢測和/或跟蹤對象的系統或設備200的框圖。系統200 可以包括圖像捕捉模塊205、處理器210、存儲器215和控制模塊220。雖然在圖2中僅示出了一個圖像捕捉模塊205、一個處理器210、一個存儲器215和一個控制模塊220,但系統200還可以包括多于一個的圖像捕捉模塊205、多于一個的處理器210、多于一個的存儲器215和多于一個的控制模塊220。另外,系統200可以包括額外的部件。例如,系統200可以包括存儲設備,其配置為存儲數據,例如,從攝像機105接收到的圖像數據。系統200可以包括輸入/輸出設備,例如,鍵盤、鼠標、USB端口、監視器或屏幕等。在一些實施例中,系統200可以包括在系統10 0內包含的一些或所有部件,反之亦然。例如,系統2 0 0可以包括如圖1所示的攝像機 105、攝像機架115、電動機120、計算機130和網絡135。例如,攝像機105和攝像機架115可以包含于圖像捕捉模塊205中。電動機120可以包含于控制模塊220中,并且計算機130可以包括處理器210。網絡135可以包含于系統200中,用于在系統200中包含的各個部件之間進行數據通信。
[0031]在系統200中包含的部件可以通過任意適當的通信方式彼此通信,所述通信方式例如是數據和/或信號傳輸總線、電纜或者其它有線和/或無線傳輸方式。例如,各個部件可以通過在圖1中示出的網絡135彼此通信。雖然在圖2中在處理器210和圖像捕捉模塊205、存儲器215和控制模塊220之間示出了示意性通信線路,但是在圖2中示出的每個部件可以與另一部件直接或間接地通過適當的通信連接而通信(例如,發送數據或信號)。
[0032]在圖2中示出的圖像捕捉模塊205可以包括硬件部件、軟件部件或其組合。圖像捕捉模塊205可以配置為捕捉包括對象的環境的一個或多個圖像幀,所述對象可以是靜止對象或移動對象。雖然所公開的系統和方法在以下實施例中被說明為被配置為檢測移動對象,但是所公開的系統和方法還可以用于從圖像幀中檢測任意對象,包括靜止對象。
[0033]圖像捕捉模塊205可以包括硬件部件,例如任意適當的光學或非光學圖像捕捉設備或傳感器。例如,圖像捕捉模塊205可以包括一個或多個視頻攝像機、數字攝像機、膠片攝像機、紅外攝像機等。在一個實施例中,圖像捕捉模塊205包括圖1所示的攝像機105。圖像捕捉模塊205還可以包括圖1所示的攝像機架115和/或電動機120。[〇〇34]圖像捕捉模塊205可以包括軟件部件,例如圖像處理代碼,用于實現與圖像捕捉和/或處理相關的方法。在一些實施例中,可以將圖像捕捉模塊205捕捉到的圖像幀直接發送到處理器210以供處理。在一些實施例中,由圖像捕捉模塊205捕捉到的圖像幀可以存儲于存儲器215中(或在系統200內包含的其它存儲設備中),并通過處理器210取回或讀出以供處理。[〇〇35]處理器210可以配置為(例如,編程為)處理指令以執行所公開的用于從圖像捕捉模塊205捕捉到的多個圖像幀中檢測和/或跟蹤對象(例如,移動對象)的方法。例如,處理器 210可以配置為從圖像捕捉模塊205或存儲器215獲得一個或多個圖像幀的圖像數據。處理器210可以配置為處理圖像數據以從圖像幀中檢測和/或跟蹤對象,例如移動對象。[〇〇36] 處理器210可以包括硬件和/或軟件部件。例如,處理器210可以包括硬件部件,例如以下中的至少一個:中央處理單元(CPU)、圖形處理單元(GPU)、微處理器、數字信號處理器、電路等。在一些實施例中,處理器210可以包括任意適當類型的通用處理器、微處理器和控制器。在一些實施例中,處理器210還可以包括專用微處理器、數字信號處理器(DSP)、專用集成電路(ASIC)、數字信號處理器(DSP)、數字信號處理設備(DSPD)、可編程邏輯設備 (PLD)、或現場可編程門陣列(FPGA)。[〇〇37] 處理器210還可以包括可執行軟件代碼,其嵌入到處理器210的電路中或存儲于存儲器215中,用于執行處理器210所提供的計算功能和/或圖像處理功能。在一些實施例中, 處理器210可以實現為軟件,用于執行所公開用于檢測和/或跟蹤對象(例如,移動對象)的方法。在一個實施例中,處理器210可以包含于圖1所示的計算機130中。計算機130可以包含于圖2所示的系統200中。
[0038]存儲器215可以包括任意適當的非瞬態計算機可讀介質。存儲器215可以利用以下任意類型的設備實現:易失性或非易失性存儲器設備,或其組合,例如,靜態隨機存取存儲器(SRAM)、電可擦除可編程只讀存儲器(EEPROM)。可擦除可編程只讀存儲器(EPROM)、可編程只讀存儲器(PROM)、只讀存儲器(ROM)、磁存儲器、閃存、磁盤或光盤。[〇〇39]除了可執行代碼外,存儲器215還可以配置為存儲數據,例如由圖像捕捉模塊205 捕捉到的多個圖像幀的圖像數據。在一些實施例中,處理器210可以從存儲器215中讀出或取回圖像數據以供處理。
[0040]存儲器215可以包括各種數據庫和圖像處理軟件。例如,存儲器215可以存儲可以由處理器210執行的指令。當由處理器210執行時,指令可以使得處理器210(和/或系統200) 執行所公開的用于從圖像幀中檢測和/或跟蹤對象的方法,例如,檢測和跟蹤移動對象。
[0041]控制模塊220可以包括硬件和/或軟件部件,其配置為執行各種控制功能。例如,控制模塊220可以包括一個或多個電路,其配置為驅動安裝在裝有攝像機(例如,攝像機105) 的攝像機架(例如,攝像機架115)上的電動機(例如,電動機120)。電動機120可以配置為改變攝像機105的安裝角度或者攝像機105指向的角度,由此改變攝像機105的視野。例如,當處理器210從由圖像捕捉模塊205(其可以包括攝像機105)捕捉到的多個圖像幀檢測到移動對象時,處理器210可以例如通過控制模塊220將控制信號發送到電動機120。所述控制信號可以驅動電動機120調整攝像機105的角度(例如,搖頭角度和/或傾斜角度),由此改變攝像機105的視野,例如用于跟蹤在圖像幀中識別出的移動對象。[〇〇42]圖3A示出了用于說明所公開的用于檢測和/或跟蹤對象(例如,移動對象)的方法的示例性圖像幀。如圖3A所示,圖像幀301由圖像捕捉模塊205所捕捉。圖像捕捉模塊205可以包括攝像機(例如,攝像機105),其視野由圖像幀301的邊界表示。處理器210可以從圖像捕捉模塊205或從存儲由圖像捕捉模塊205捕捉到的圖像幀的圖像數據的存儲器215獲得圖像幀301的圖像數據。[〇〇43]在圖3A中,圖像幀301包括由攝像機捕捉到的辦公室環境的圖像。人們可以在辦公室空間四處走動。人可以進入攝像機的視野并被檢測為移動對象。在圖3A所示的例子中,對象305 (人)在攝像機的視野內在辦公室空間中走動。[〇〇44] 在每個圖像幀中可以布置一個或多個感興趣區域(R0I)。在圖3A中示出的R0I包括左邊R0I 311、中間R0I 312和右邊R0I 313。雖然示出在圖像幀301中布置了三個R0I,但所公開的系統和方法可以使用僅一個R01、兩個R0I或多于三個R0I,例如四個R01、五個R0I。當使用一個R0I時,系統可以檢測進入或離開R0I的移動對象。然而,一 R0I系統不可以檢測R0I 的移動方向。當使用兩個R0I時,系統可以檢測移動對象的移動方向和速度。然而,兩R0I系統可能對環境變化敏感。當使用三個R0I,如圖3A所示,系統可以實現健壯、快速和準確地檢測移動對象。[〇〇45]三個R0I可以布置在視野的中央部分處(例如,在圖像幀301的中央部分處)。例如, 三個R0I可以在約圖像幀301的中央1/3部分布置為一組。雖然示出了一組三個R0I布置在圖像幀301的中央部分處,但所公開的系統和方法可以使用多組R0I在圖像幀301中用于同時檢測多個移動對象。例如,圖像幀301可以包括兩組或更多組R0I布置在圖像幀301的適當位置處,用于檢測和/或跟蹤在圖像幀301的兩個或更多區域中的兩個或更多移動對象。包含于不同組的R0I中的R0I數量可以相同或不同。[〇〇46] 在圖3A所示的實施例中,R0I 311、312、313中的每一個可以包括由兩個垂直平行線限定的狹窄、垂直延伸的矩形區域,如圖3A中所示。在其它實施例中,可以通過形成其它形狀(例如,圓形、橢圓、三角形等)的線限定ROI。另外,可以限定ROI具有不同形狀。如圖3A 所示,限定不同ROI的垂直線可以以不同顏色示出。在一些實施例中,它們可以以相同的顏色示出。在一些實施例中,限定ROI的線可能不隨同圖像幀顯示。它們可能僅為說明所公開方法而在圖3A-3C中示出。在一些實施例中,可以隨同圖像幀一起顯示其他形式的指示符 (不同于圖3A-3C中示出的線)來表示ROI。在圖3A示出的實施例中,ROI 31U312和313彼此分離,并且在視野內布置在同一高度處。在一些實施例中,ROI可以均勻地分布在圖像幀301 的中央1/3區域中。在一些實施例中,在左邊ROI 311和中間ROI 312之間的距離可以不同于在中間ROI 312和右邊ROI 313之間的距離。包含于圖像幀中的ROI的維度和形狀可以相同或不同,并可以是固定的或可以動態調整的。[〇〇47]在圖3A所示的實施例中,R0I可以顯示為疊加在在顯示器(例如,屏幕、計算機監視器等)上顯示的圖像數據上的線。例如,所公開的系統可以顯示限定了疊加在圖像幀301中包含的圖像上的R0I的垂直延長線,如圖3A所示。在一些實施例中,限定R0I的線可能并不隨同圖像幀301的實際圖像數據一起顯示。限定R0I的線可以用于檢測和/或跟蹤對象的方法中,但是不顯示給所公開系統的用戶。在圖3A所示的實施例中,當系統檢測到人305進入到右邊R0I 313時,系統可以在顯示圖像幀301的顯示器上突出顯示右邊R0I 313,如圖3A所示。例如,可以用顏色填充右邊R0I 313的矩形區域,以指示用戶移動對象進入到右邊R0I 313。也可以使用其它適當的突出方式來突出右邊R0I 313。在一些實施例中,僅當移動對象進入到R0I時才可視地顯示R0I。[〇〇48] 在檢測到移動對象305進入到右邊R0I 313之后,處理器210可以從圖像幀301中獲得右邊R0I 313的圖像數據。處理器210可以利用下述方法將右邊R0I 313的圖像數據(例如,亮度數據)與對應于右邊R0I 313的背景圖像的圖像數據(例如,亮度數據)比較。處理器 210還可以獲得顏色數據作為右邊R0I 313的圖像數據的一部分。右邊R0I 313的顏色數據可以用于與中間ROI 312的顏色數據(可在圖3B所示的圖像幀302中獲得)和/或左邊R0I 311的顏色數據(可在圖3C所示的圖像幀303中獲得)進行比較。
[0049]圖3B示出了用于說明所公開的用于檢測和/或跟蹤對象(例如,移動對象)的方法的示例性圖像幀302。圖像幀302可以在圖像幀301 (圖3A)被捕捉之后由圖像捕捉模塊205所捕捉。例如,圖像幀301可以在時間七處被捕捉,而圖像幀302可以在比^晚的時間t2處被捕捉。如圖3B所示,人305已經從右邊R0I 313移動到中間R0I 312。在一些實施例中,當系統檢測到人305進入中間R0I 312時,可以在顯示圖像幀302的顯示器上突出顯示中間R0I 312, 如圖3B所示。在圖3B所示的實施例中,用與突出右邊ROI 313所使用的顏色不同的顏色填充中間R0I 312。在一些實施例中,可以使用相同的顏色來填充右邊R0I 313和中間312以突出它們。還可以使用其它突出方式。
[0050]在檢測到移動對象305進入到中間R0I 312之后,處理器210可以從圖像幀302中獲得中間R0I 312的圖像數據。處理器210可以利用下述方法將中間R0I 312的圖像數據(例如,亮度數據)與對應于中間R0I 312的背景圖像的圖像數據(例如,亮度數據)比較。處理器 210還可以獲得顏色數據作為中間R0I 311的圖像數據的一部分。中間R0I 311的顏色數據可以用于與右邊R0I 313的顏色數據(可在圖3A所示的圖像幀301中獲得)和/或左邊R0I 311的顏色數據(可在圖3C所示的圖像幀303中獲得)進行比較。
[0051]圖3C示出了用于說明所公開的用于檢測和/或跟蹤對象(例如,移動對象)的方法的示例性圖像幀303。圖像幀303可以在圖像幀302(圖3B)被捕捉之后由圖像捕捉模塊205所捕捉。例如,圖像幀303可以在時間t3處被捕捉,其中t3晚于t2,而t2晚于t。如圖3C所示,人 305已經從中間R0I 312移動到左邊R0I 311。在一些實施例中,當系統檢測到人305進入左邊R0I 311時,可以在顯示圖像幀302的顯示器上突出顯示左邊R0I 311,如圖3C所示。在圖 3C所示的實施例中,用與突出中間R0I 312和右邊R0I 313所使用的顏色不同的顏色填充中間左邊R0I 311。可以使用相同的顏色來填充左邊R0I 311、中間312和右邊R0I 313以突出它們。還可以使用其它突出方式。[〇〇52] 在檢測到移動對象305進入到左邊R0I 311之后,處理器210可以從圖像幀303中獲得左邊R0I 311的圖像數據。處理器210可以利用下述方法將左邊R0I 311的圖像數據(例如,亮度數據)與對應于左邊R0I 311的背景圖像的圖像數據(例如,亮度數據)比較。處理器 210還可以獲得顏色數據作為左邊R0I 311的圖像數據的一部分。左邊R0I 311的顏色數據可以用于與中間R0I 311的顏色數據(可在圖3B所示的圖像幀302中獲得)和/或右邊R0I 313的顏色數據(可在圖3A所示的圖像幀301中獲得)進行比較。[〇〇53] 如圖3C所示,當處理器210識別移動對象305并確定跟蹤移動對象305時,可以在顯示器(例如,屏幕、監視器等)上顯示的圖像幀中疊加跟蹤指示符310。跟蹤指示符310可以在移動對象305繼續向左移動時跟蹤移動對象305。雖然將圓圈用作跟蹤指示符310的例子,但跟蹤指示符310可以是其它形式或形狀,例如圍繞移動對象305的矩形。在一些實施例中,可能不顯示跟蹤指示符310。當處理器210識別移動對象305并確定跟蹤移動對象305時,處理器210可以將控制信號發送到電動機120 (圖1 ),以啟動驅動電動機120來調節攝像機105的角度,從而攝像機105的視野跟隨移動對象305的移動。換句話說,在跟蹤期間,電動機120可以調節攝像機105的角度,從而保持移動對象305在視野中。[〇〇54]圖4是示出用于從多個圖像幀中檢測和/或跟蹤對象的方法400的流程圖。方法400 可以由系統200執行,例如處理器210。對象可以是移動對象,例如車輛、人等。方法400可以包括獲得多個圖像幀的圖像數據(步驟405)。例如,當視頻攝像機用作攝像機105(或包含于圖像捕捉模塊205)時,獲得多個圖像幀的圖像數據可以包括從視頻攝像機接收視頻信號, 或從存儲視頻數據的存儲器215取回視頻數據。所述視頻數據可以包括多個圖像幀的圖像數據。[〇〇55] 對于每個圖像幀,處理器210可以執行步驟410、415和420中的一個或多個。在步驟 410、415和420中,處理器210可以對不同的感興趣區域(R0I)執行類似的分析和處理。可以獨立于任意其它R0I而執行對R0I及其對應背景圖像(還稱作“背景”)的分析。例如,在步驟 410中,處理器210可以分析在圖像幀(例如,圖像幀301)中的左邊R0I (例如,左邊R0I 311) 和對應背景圖像的圖像數據。在步驟415中,處理器210可以分析在圖像幀(例如,圖像幀 302)中的中間R0I (例如,中間R0I 311)和對應背景圖像的圖像數據。在步驟420中,處理器 210可以分析在圖像幀(例如,圖像幀303)中的右邊R0I (例如,右邊R0I 313)和對應背景圖像的圖像數據。在一些實施例中,針對每個圖像幀,處理器210僅執行步驟410、415和420中的一個。在其它實施例中,針對每個圖像幀,處理器210可以執行步驟410、415和420中的兩個或更多個。在步驟410、415和420中,分析R0I和對應的背景圖像可以包括:比較R0I的圖像數據與背景的圖像數據,當基于比較結果滿足特定標準時更新背景的圖像數據,以及獲得時間和/或顏色數據用于從圖像幀中檢測對象(例如,移動對象)。當在圖像幀中包括多于三個ROI時,方法400可以包括類似于那些步驟410、415和420的額外步驟。當在圖像幀中包括少于三個ROI時,在方法400中可能不包括步驟410、415和420中的一個或多個。例如,當在圖像幀中僅包括兩個R〇I(右邊ROI 313和中間ROI 312)時,可以省略步驟410。[〇〇56]可以針對每個R0I獨立地執行在當前圖像幀中更新對應于R0I的背景的圖像數據。 首先,在已經獲得了特定數量(例如,N,其可以是正整數,如2、3、5、10、15、20等)的圖像幀之后,獲得R0I的背景的初始圖像數據。隨著圖像數據被頻繁地獲得,可以利用新獲得的R0I的圖像數據更新背景。可以利用以下方法獲得背景的初始圖像數據。[〇〇57]對每個R0I,可以基于來自預定數量的圖像幀的R0I的圖像數據(例如,如下所述最后N個圖像幀),確定背景的初始圖像數據。最后N個圖像幀指的是從正在分析的當前圖像幀向后計數的先前獲得的圖像幀。術語“最后N個圖像幀”可以包括含有正在分析的R0I的當前圖像幀。最后N個圖像幀可以是最后N個連續獲得的或非連續獲得的圖像幀。在其它實施例中,術語“最后N個圖像幀”可能不包括含有正在分析的R0I的當前圖像幀。[〇〇58](例如,R0I或背景的)圖像的圖像數據可以包括包含于圖像中的像素的像素值。像素值可以包括像素的亮度數據和顏色數據。首先,對于任意圖像幀,可以獲得包含于R0I中的像素的亮度作為nXm亮度矩陣Mn,m,其中n是表示行數的正整數,而m是表示列數的正整數。可以通過基于每行的所有m列計算值,而將亮度矩陣Mn,m轉換或變換為nXl的亮度向量 P。例如,處理器可以將每行的所有m列中的值相加,并使用該和作為向量P的行中的值。換句話說,可以通過P(i) = sum(M(i,1),M(i,2),…,M(i,m))獲得亮度向量P中的每行,其中sum 0表示求和的數學函數,并且其中i = l,2,...,n表示向量P的行數。
[0059]針對最后N個圖像幀執行該轉換或變換,以生成表示最后N個圖像幀的圖像數據的N個亮度向量Pf 1、Pf 2.Pf n。可以基于對對應于最后N個連續圖像幀的Pf 1、Pf.Pf n的統計分析,獲得對應于ROI的背景圖像的初始亮度向量Q。統計分析可以包括任意適當的統計分析。在一個實施例中,統計分析可以包括基于Pfl、Pf2..PfN計算中值向量。例如,可以將初始向量0的每行計算為0(:〇=1116(^11沾1(;〇,?£2(:〇,...,?£〃(:〇),其中1116(^11()表示中值計算的數學函數,i = l,2,...,n表示向量Q的行數。換句話說,背景圖像的初始向量Q的每行可以是最后N個圖像數據的亮度向量的對應行的中值。在另一實施例中,統計分析可以包括基于Pf1、Pf2、...、PfN計算均值向量。例如,初始向量Q的每行可以計算為Q(i)=mean(Pfi (1),?^(1),...,?^(1)),其中!116&11()表示均值或平均運算的數學函數。換句話說,背景圖像的初始向量Q的每行可以是最后N個圖像幀的亮度向量的對應行的平均值。
[0060] 基于對應于最后N個圖像幀的Pfl、Pf2.P預計算出的其它統計值也可以用于背景圖像的初始向量Q。[0061 ]在針對R0I的背景圖像獲得初始向量Q之后,隨著攝像機105捕捉到更多圖像幀時可以更新初始向量Q。一些現有技術實時地更新背景圖像(例如,更新Q),意味著用每個新捕捉到的圖像幀更新Q。這種方法往往將在前景中出現的移動對象的圖像數據混入到背景圖像中,這影響了背景圖像的提取。其它現有技術壓根不更新背景圖像,這對于變化場景來說是無效的。
[0062]本公開提供了用于更新背景圖像的新方法,其解決了與現有技術相關聯的問題。 圖5是示出用于更新對應于R0I的背景圖像的數據的方法500的流程圖。換句話說,對于每個ROI,可以執行方法500,以確定是否應該更新背景圖像。方法500可以包括獲得多個圖像幀的圖像數據(步驟505)。例如,處理器210可以從攝像機105(或圖像捕捉模塊205)或從存儲器215獲得多個圖像幀的圖像數據。方法500還可以包括從當前圖像幀(例如,圖像幀301、 302和303之一)獲得R0I(例如,R0I 311、312和313之一)的圖像數據。對于每個R0I,處理器 210可以比較R0I(例如,R0I 311)的圖像數據與對應的背景圖像的數據(步驟515)。[〇〇63]處理器210可以確定R0I的圖像數據和背景的圖像數據之間的差是否大于或等于預定的差值(步驟520)。當差不大于或等于(S卩,小于)預定差值時(步驟520中的“否”),處理器210可以利用從當前圖像幀獲得的R0I的圖像數據來更新背景的圖像數據(步驟525)。當差大于或等于預定差值時(步驟520中的“是”),處理器210可以確定在最后的N個圖像幀中檢測到該差的圖像幀的總數Nf是否大于或等于預定幀數量N1(S卩,心多他)(步驟530)。當圖像幀的總數Nf不大于或等于N1(S卩,Nf〈N〇時(步驟530中的“否”),處理器210可以不更新背景的圖像數據(步驟535)。當圖像幀的總數Nf大于或等于仏(8卩,NfSNO時(步驟530中的 “是”),處理器210可以更新背景的圖像數據(步驟540)。在一些實施例中,處理器210可以利用來自最后N個圖像幀的R0I的圖像數據更新背景的圖像數據。可以將更新后的背景的圖像數據存儲于存儲器215中或其它存儲設備中。[〇〇64] 在一些實施例中,可以如下執行步驟515。以左邊R0I 311 (圖3A-3C)為例,可以將背景圖像的初始向量表示為Q=[qi,q2,...,qN]T,并且可以通過基于在亮度矩陣的每行中所有列中的亮度值(例如,將亮度值相加)計算亮度值而獲得表示在當前圖像幀中的左邊如1311的圖像數據的亮度向量?=[?1,?2,...,?〃]7,所述亮度矩陣包含在左邊如1311中包括的像素的亮度值,如上所述。符號[]T表示向量轉置的數學運算。因此,P和Q是N乘以1向量。可以將亮度向量P和Q彼此相減以獲得亮度差向量D = [ d 1,d2,...dn ]T。D的每行表示在P 和Q的對應行之間的差。在一些實施例中,D可以表示在P和Q之間的絕對差,S卩,D(i)=P(i)_ Q(i),其中i = l,2,...,n。也就是說,D的每行可以表示亮度值的絕對變化。在一些實施例中,D可以表示在P和Q之間的相對差(以百分比表示),例如,D(i) = 100%*(P(i)-Q(i))/Q (i)。也就是說,D的每行可以表示亮度值的相對變化。在一些實施例中,計算兩個差向量Di 和02,其中0:包括亮度值的絕對變化,而D2包括亮度值的相對變化。
[0065]在一些實施例中,步驟520可以如下實現的每行(S卩,DKi))可以與預定絕對變化〇如(例如,5、10、15、20等)進行比較。處理器210可以確定0心)是否大于或等于0心。備選地或另外地,D2的每行(S卩,D2(i))可以與預定的相對變化Dperc(例如,15%、20%、30%等)進行比較。處理器210可以確定出(1)是否大于或等于Dperc。
[0066]可以使用各種方法來在步驟520中確定R0I的圖像數據與背景的圖像數據之間的差是否大于或等于預定差值。例如,在一些實施例中,當處理器210確定Di中大于或等于Dabs 的行的總數大于或等于預定行數RK例如,5、8、10等)以及D2中大于Dperc的行的總數大于或等于預定行數R2(例如,5、8、10等)時,處理器210可以確定在R0I的圖像數據和背景的圖像數據之間的差大于或等于預定差值(步驟520中的“是”)。否則,如果Di中大于或等于Dabs的行的總數小于R:,和/或D沖大于Dperc的行的總數小于1?2,則處理器210可以確定在R0I的圖像數據和背景的圖像數據之間的差小于預定差值(步驟520中的“否”)。例如,即使D2中大于 Dper。的行的總數大于或等于中大于或等于Dabs的行的總數小于心時(這表示絕對變化較小),處理器210也可以確定差小于預定差值,反之亦然。在這些實施例中,“在R0I的圖像數據和背景的圖像數據之間的差”包括絕對差和相對差,并且“預定差值”包括預定的絕對變化Dabs和預定的相對變化Dper。。[〇〇67]在其它實施例中,方法500可以在步驟520中執行的確定中僅使用絕對差向量DjP 相對差向量〇2中的一個。例如,處理器210可以通過以下方式實現步驟520:確定0:中大于或等于Dabs的行的總數大于或等于心(步驟520中的“是”)或小于心(步驟520中的“否”)。在該例子中,通過亮度值的絕對變化表示差,并且預定的差值是Dabs。又如,處理器210可以通過以下方式實現步驟520:確定D2中大于Dperc的行的總數大于或等于辦(步驟520中的“是”)或小于R2(步驟520中的“否”)。在該例子中,通過亮度值的相對變化表示差,并且預定的差值是Dperc 〇[〇〇68]如果處理器210在步驟520中確定“否”(例如,通過確定不滿足下述中的至少一個: “D沖大于或等于Dabs的行的總數大于或等于心”、“D沖大于Dper。的行的總數大于或等于R2” 或兩者),則處理器210可以更新背景的圖像數據(步驟525)。這意味著,當在R0I的圖像數據和背景之間的差較小時,利用當前圖像幀中的R0I的圖像數據更新背景圖像。所述更新可以與上述背景圖像更新方法相同,即,使用來自包括當前圖像幀的最后N個圖像幀的R0I圖像數據的中值或平均值。例如,可以利用基于對應于最后N個圖像幀的亮度向量Pfl、Pf2......PfN獲得的中值或平均值向量來代替背景圖像的亮度向量Q。[〇〇69]如果處理器210在步驟520中確定“是”(例如,通過確定滿足下述中的至少一個: “D沖大于或等于Dabs的行的總數大于或等于心”、“D沖大于Dper。的行的總數大于或等于R2” 或兩者),則處理器210可以檢查針對最后N個圖像幀(其可能包括或不包括當前圖像幀)在步驟520中做出的類似確定的結果。處理器210可以計算最后N個圖像幀中在先前執行的類似步驟520中做出了 “是”確定的圖像幀的總數Nf。換句話說,在這些Nf個圖像幀中,滿足以下中的至少一個:“Dl中大于或等于Dabs的行的總數大于或等于心”、“〇2中大于Dperc的行的總數大于或等于R2”或兩者。
[0070] 在步驟530中,處理器210還可以確定Nf是否大于或等于預定幀數量他。如果Nf彡見,則處理器210可以利用R0I的圖像數據(例如,亮度向量P)更新背景的圖像數據(例如,亮度向量Q)(步驟540)。否則,處理器210可以不更新背景的圖像數據(步驟535)。在步驟540中的背景圖像更新可以類似于在上述步驟525中討論的。也就是說,背景圖像更新可以基于最后N個圖像幀,包括當前圖像幀。[〇〇71] 返回參考圖4,在每個步驟410、415和420中,處理器210還可以確定R0I首先發生變化的時刻。例如,當移動對象進入由在圖3A中示出的兩條垂直線限定的R0I時,移動對象可以引起R0I的圖像數據相對其對應的背景圖像的改變。例如,參考圖3A,當人305首先進入右邊R0I 313(例如,穿過右邊R0I 313的右垂直線)時,處理器210可以在存儲器215中記錄時亥丨JT1。參考圖3B,當人305首先進入R0I 312(例如,穿過中間R0I 312的右垂直線)時,處理器 210可以在存儲器215中記錄時刻T2。參考圖3C,當人305首先進入左邊R0I 311 (例如,穿過左邊R0I 311的右垂直線)時,處理器210可以在存儲器215中記錄時刻T3。[〇〇72] 在步驟425中,處理器210可以基于記錄的時刻和T3確定右邊、中間和左邊R0I 313、312和311發生變化的時間順序。例如,當h早于T2且T2早于T3時,處理器210可以按如下確定變化的時間順序:右邊R0I 313首先發生變化,然后是中間R0I 312,最后是左邊R0I 311。備選地,如果T3早于^且!^早于Ti,則處理器210可以按如下確定變化的時間順序:左邊ROI 311首先變化,然后是中間ROI 312,最后是右邊ROI 313。[〇〇73] 參考圖4,處理器210可以比較從左邊、中間和右邊ROI 311、312和313獲得的顏色數據(步驟430)。處理器210可以從不同的圖像幀獲得R0I的顏色數據。例如,處理器210可以從圖像幀301獲得右邊R0I 313的顏色數據,從圖像幀302獲得中間R0I 312的顏色數據,以及從圖像幀301獲得左邊ROI 311的顏色數據。對于在每個R0I中包含的像素,圖像數據可以包括亮度數據和顏色數據。類似于亮度數據,顏色數據可以包含于一個或多個顏色矩陣中。 例如,一個或多個顏色矩陣可以包括紅色的顏色矩陣、綠色的顏色矩陣以及藍色的顏色矩陣。在一些實施例中,R0I的顏色數據可以包含于包括像素的色度數據的矩陣中。為了討論的簡便,假設顏色數據存儲于顏色矩陣中,每個數據點表示R0I的每個像素的顏色數據。利用類似于以上結合獲得亮度向量類似的過程,可以通過將矩陣的每行中的所有列相加作為 V。的行而從顏色矩陣獲得顏色向量V。。[0〇74] 處理器210可以選擇顏色向量V。的特定行,并生成包含所選行的另一顏色向量Vc2。 所選的行包括ROI的發生變化的區域(例如,大約特定高度的區域)的顏色數據。處理器210 可以基于在R0I的亮度向量P中的行來確定從V。中選擇哪些行,在亮度向量P中在步驟520中檢測到差(與背景圖像的亮度向量Q相比)大于或等于預定差值。例如,當將P與Q比較時,可以滿足以下條件中的一個或兩個:Di中大于或等于Dabs的行的總數大于或等于心,并且D2中大于Dperc的行的總數大于或等于辦。取決于應用,如果上述一個或兩個條件都滿足,則處理器210確定在R0I中存在移動對象。識別滿足在DjP/SD2中這些條件的一個或兩個的那些行,并記錄其在向量中的位置(例如,保存在命名為“p〇si t1n_Move”的變量中)。識別在這些位置處的亮度向量P的那些行(例如,行號1、5、8、10)。然后,識別在顏色矩陣V。中在這些位置處的對應行,并進行選擇以形成顏色向量Vc^Vu包括R0I的發生變化的區域的顏色數據。例如,Vu的每行表示R0I的在對應于行的位置的高度處的區域的顏色。[〇〇75] 處理器210可以針對每個R0I獲得顏色向量Vc2。例如,左邊R0I 311可以與顏色向量乂。2』相關聯,中間如1312可以與顏色向量¥。2_(:相關聯,以及右邊1?01313可以與顏色向量 Vc2_R相關聯。[〇〇76] 在步驟430中,處理器210可以基于確定顏色向量Vc2_L、Vc2_(^PVc2_R之間的差是否較小(例如,小于預定顏色差值)或基本相同,來確定是否同一移動對象已經移動穿過右邊、 中間和左邊R0I 313、312和311。可以使用各種方法來量化顏色差,并確定在顏色向量之間的顏色差是否足夠小,從而處理器210可以確定同一移動對象已經移動穿過R0I。在一個實施例中,處理器210可以比較顏色向量以獲得顏色差向量,例如(Vc2_L-Vc2_C)和(Vc2_C-Vc2_ R)。處理器210可以確定結果顏色差向量的每行的值是否落入到顏色差值的預定范圍內,或者小于預定顏色值。例如,如果顏色差向量的每行落入到顏色差值的預定范圍內或小于預定顏色差值,則可以確定R0I中的顏色差足夠小以表示同一對象移動穿過R0I。否則,可以確定三個R0I中的顏色差較大,并且處理器210可以確定R0I內的移動對象引起的變化不是由同一對象引起的。在一個實施例中,當顏色差較大(表示不同的移動對象引起在R0I中的變化)時,處理器210可以不執行步驟435-455。當R0I之間的顏色差足夠小時,如上所述,處理器210可以繼續執行步驟435-455。[〇〇77] 在步驟435中,處理器210可以在圖像幀中檢測移動對象(例如,同一移動對象305) 在視野中從右移動到左。在步驟445中,處理器210可以在圖像幀中檢測移動對象在視野中從左移動到右。在一些實施例中,處理器210可以執行步驟435和445中的一個。在一些實施例中,處理器210可以執行步驟435和445兩者。[〇〇78]在步驟435和445中檢測移動對象可以基于從圖像幀獲得的時間信息和/或顏色數據。圖6示意性示出了在圖像幀中的R0I的布置。如圖3A-3C所示的,當移動對象305在視野中從右移動到左時,移動對象305可以在和T3連續地進入右邊R0I 313、中間R0I 312和左邊R0I 311。出于說明的目的,在圖6中示出了三個時刻h、T2和T3。在右邊R0I 313和中間R0I 312之間的距離是cb,在中間R0I 312和左邊R0I 311之間的距離是d2。右邊R0I 313的寬度是 wi,中間R0I 312的寬度是W2,以及左邊R0I 311的寬度是W3。距離di可以與距離d2相同或不同。寬度WH2I3彼此可以相同或彼此可以不同(例如,至少兩個不同)。當設置在圖像幀中的R0I的布置時,距離di和d2以及寬度W1、W2和W3可以是已知參數。可以根據Tii = (T2-Ti)*di/ (cU+W1)來確定移動對象305從右邊R0I 313到中間R0I 312行進距離cU的第一時間間隔Tu。 可以根據Ti2 = (T3-T2)*d2/(d2+w2)來確定移動對象305從中間R0I 312到左邊R0I 311行進距離d2的第二時間間隔!^。
[0079]處理器210可以比較第一時間間隔Tu和第一預定時間延遲Tdl,并比較第二時間間隔Ti2和第二預定時間延遲Td2。在一些實施例中,Tdi與Td2相同。在一些實施例中,Tdi和Td2彼此不同。在一些實施例中,基于R0I之間的距離cb或d2,確定時間延遲Tdi和Td2中的每一個。例如,第一預定時間延遲Tdl可以與距離cU成比例,并且第二預定時間延遲Td2與距離山成比例。 當cU大于d2時,了也可以預設為大于Td2。當滿足時間要求和顏色要求時,處理器210可以檢測移動對象305移動穿過右邊R0I 313、中間R0I 312和左邊R0I 311。時間要求可以是第一時間間隔Tu小于第一預定時間延遲Tdl(即,Tu〈Tdl),并且第二時間間隔Tl2小于第二預定時間延遲Td2(即,Ti2〈Td2)。顏色要求可以是顏色差向量之間的顏色差(例如(Vc2_L-Vc2_C)和(Vc2_ C-Vc2_R))較小,或者換句話說,當R0I的顏色向量基本相同時。另外,在一些實施例中,處理器210還可以計算右邊和左邊R0I之間的顏色差向量,例如(Vc2_L-Vc2_R),并且將該向量與上述兩個顏色差向量比較。
[0080]在步驟435中,處理器210可以基于右邊、中間和左邊R0I 313、312和313發生變化的時間順序,確定移動對象305在攝像機105的視野中從右移動到左。例如,如圖3A-3C所示, 右邊R0I 313首先發生變化,然后是中間R0I 312,然后是左邊R0I 311。變化的時間順序由如下指示早于T2,T2早于T3。處理器210可以確定第一時間間隔Tn小于第一預定時間延遲 Tdl,并且第二時間間隔Tl2小于第二預定時間延遲Td2。另外,處理器210可以確定R0I的顏色向量之間的顏色差較小(或顏色向量實質相同),如以上結合圖4的步驟430所討論的。在一些實施例中,當處理器210確定滿足時間要求和顏色要求兩者時,處理器210可以基于確定同一對象305移動穿過R0I而在圖像幀中檢測移動對象305。在一些實施例中,顏色要求是可選的。當處理器210確定滿足時間要求時,處理器210可以在圖像幀中檢測移動對象305,而不管是否滿足顏色要求。滿足顏色要求可以增加移動對象檢測的準確度。
[0081]仍參考圖4,除了步驟435外或作為步驟435的替代,處理器210還可以基于左邊、中間和右邊R0I 311、312和313發生變化的順序以及R0I的顏色數據,確定移動對象305在攝像機105的視野中正從左移動到右(步驟445)。檢測移動對象在視野中從左移動到右的過程類似于上述結合步驟435討論的過程。因此,不重復在步驟445中執行的詳細過程。在一些實施例中,當滿足類似于以上討論的時間要求和顏色要求兩者時,處理器210可以檢測移動對象305從左移動到右。在一些實施例中,顏色要求是可選的。[〇〇82] 如圖4所示,處理器210可以確定向左移動對象的移動速度(步驟440)。備選地或另外地,處理器210可以確定向右移動對象的移動速度(步驟450)。參考圖6,并且以在圖3A-3C 中示出的向左移動對象為例,可以將從右邊R0I 313到中間R0I 312的移動速度確定為SL1 = (wdddAlVTi),并且從中間R0I 312到左邊R0I 311的移動速度確定為SL2=(w2+d2)/(T3-T2)。可以基于速度SL1和SL2確定移動對象305的移動速度。例如,移動對象305的移動速度可以確定為Sl#PSl2的平均。可以將平均速度用作跟蹤移動對象305的跟蹤速度。可以用類似的方式執行確定向右移動對象的移動速度,將不進行重復。[〇〇83] 如圖4所示,在檢測移動對象及其移動方向并且確定移動速度之后,處理器210可以基于移動方向和速度發起對移動對象的跟蹤(步驟455)。在一些實施例中,處理器210可以將控制信號發送給電動機120以驅動電動機120,從而電動機120可以調整攝像機105的角度以沿著移動方向跟隨移動對象305。換句話說,電動機120可以調整攝像機105的角度(例如,搖頭角度和/或傾斜角度)以改變攝像機的視野,從而將移動對象305保持在視野內。驅動電動機120的速度(或稱作跟蹤速度)可以基于移動對象的移動速度。例如,跟蹤速度可以是使得視野以與對象移動速度相同的速度移動。[〇〇84] 如圖3C所示,當處理器210識別移動對象305并確定跟蹤移動對象305時,可以將跟蹤指示符310疊加到在顯示器上顯示的圖像幀上,并可以隨著移動對象305繼續向左移動而跟隨移動對象305。跟蹤指示符310可以是可選的,也就是,在一些實施例中,跟蹤指示符310 可以不被顯示。[〇〇85]圖7是示出用于從多個圖像幀中檢測對象的方法700的流程圖。方法700可以由處理器210執行。方法700可以包括獲得在圖像幀中的感興趣區域(R0I)的圖像數據(步驟 705)。例如,處理器210可以從圖3A示出的圖像幀301中獲得右邊R0I 313的圖像數據(其可以包括像素的亮度數據和/或顏色數據)。處理器210可以從圖3B示出的圖像幀302中獲得中間R0I 312的圖像數據(其可以包括像素的亮度數據和/或顏色數據)。處理器210可以從圖 3C示出的圖像幀303中獲得左邊R0I 311的圖像數據(其可以包括像素的亮度數據和/或顏色數據)。處理器210可以比較感興趣區域的圖像數據與背景圖像的圖像數據,以檢測在感興趣區域中的變化(步驟710)。例如,處理器210可以利用例如以上結合圖4描述的方法比較右邊R0I 313的亮度向量與對應背景圖像的亮度向量。處理器210可以基于檢測到的變化在圖像幀中檢測對象,例如,移動對象(步驟715)。關于從圖像幀中識別對象(例如,移動對象) 的方法的細節在以上進行了討論,并且將不在此重復。方法700可以包括在方法400和方法 500中包含的一個或多個步驟。[〇〇86]雖然在此已經描述了說明性實施例,但是基于本公開本領域技術人員將理解,任意和所有實施例的范圍可以具有等同的元件、修改、省略、(例如,跨各個實施例的方面的) 組合、適配和/或改變。應基于權利要求中采用的語言對權利要求中的限定進行寬泛解釋, 而不應將其限制到在本說明書中描述的或在本申請審查期間的例子。所述例子將被解釋為非排它的。此外,可以以任何方式修改所公開的過程的步驟,包括通過重新排序步驟和/或插入或刪除步驟。因此,意圖將說明書和例子視為僅說明性的,真實的范圍和精神由所附權利要求及等同物的全部范圍表示。
【主權項】
1.一種設備,包括:存儲器,被配置為存儲指令;以及 處理器,被配置為執行所述指令,以:獲得包含于圖像幀中的感興趣區域的圖像數據;比較所述感興趣區域的圖像數據與背景的圖像數據,以檢測在所述感興趣區域中的變 化;以及基于檢測到的變化來檢測在圖像幀中的對象。2.根據權利要求1所述的設備,其中,所述處理器還被配置為執行所述指令,以基于以 下各項來檢測在圖像幀中的對象:時間信息,指示所述感興趣區域何時發生變化;以及從所述感興趣區域中發生變化的位置獲得的亮度數據或顏色數據中的至少一個。3.根據權利要求1所述的設備,其中,所述處理器還被配置為執行所述指令,以:基于所述比較,確定在所述感興趣區域的圖像數據與所述背景的圖像數據之間的差。4.根據權利要求3所述的設備,其中,所述處理器還被配置為執行所述指令,以:確定存儲所述感興趣區域的圖像數據的第一向量和存儲所述背景的圖像數據的第二向量之間的差向量;以及確定所述差向量是否滿足預定條件。5.根據權利要求3所述的設備,其中,所述處理器還被配置為執行所述指令,以:確定所述差小于預定的差值;以及利用所述感興趣區域的圖像數據來更新所述背景的圖像數據。6.根據權利要求5所述的設備,其中,更新所述背景的圖像數據包括:利用來自預定數量的圖像數據幀的感興趣區域的圖像數據,更新所述背景的圖像數 據。7.根據權利要求3所述的設備,其中,所述處理器還被配置為執行所述指令,以:確定所述差大于或等于預定差值;從預定的多個圖像幀中確定差大于或等于預定差值的圖像幀的數量;以及 當所述圖像幀的數量大于或者等于預定幀數量值時,利用來自所述預定的多個圖像幀 的感興趣區域的圖像數據來更新所述背景的圖像數據。8.根據權利要求1所述的設備,其中,每個圖像幀包括多個感興趣區域,并且其中所述 處理器還被配置為執行所述指令,以:根據所述比較,確定多個感興趣區域中每個感興趣區域中已經發生變化的位置;獲得來自不同圖像幀的不同感興趣區域中的所述位置處的顏色數據;以及 比較從不同圖像幀中的不同感興趣區域獲得的顏色數據。9.根據權利要求8所述的設備,其中,所述處理器還被配置為執行所述指令,以:獲得指示多個感興趣區域中何時發生變化的時刻;基于所述時刻,確定變化的時間順序;以及基于所述時間順序,確定對象穿過感興趣區域的移動方向。10.根據權利要求9所述的設備,其中,所述處理器還被配置為執行所述指令,以:基于多對相鄰的時刻,計算多個時間間隔;比較所述時間間隔與多個預定時間延遲值;以及在以下情形時,確定同一對象沿所述移動方向穿過感興趣區域:每個時間間隔小于每個對應的預定時間延遲值;以及從不同圖像幀中的不同感興趣區域獲得的顏色數據的差小于預定顏色值。11.根據權利要求10所述的設備,其中,所述處理器還被配置為執行所述指令,以:通過 發送控制信號以驅動電動機沿所述運動方向轉動攝像機跟隨對象,而發起沿所述移動方向 跟蹤對象。12.根據權利要求11所述的設備,其中,所述處理器還被配置為執行所述指令,以基于 所述時刻和相鄰感興趣區域之間的距離來確定對象的移動速度,并且其中所述控制信號基 于所述移動速度來控制驅動所述電動機的速度。13.根據權利要求1所述的設備,其中,所述處理器還被配置為執行所述指令,以:獲得亮度矩陣,所述亮度矩陣包括所述感興趣區域中包含的像素的亮度值;以及將所述亮度矩陣轉換為亮度向量,所述向量的每行是基于所述行的所有列的亮度值計 算的,其中,所述感興趣區域的圖像數據由所述亮度向量表示。14.根據權利要求13所述的設備,其中,所述處理器還被配置為執行所述指令,以: 獲得顏色數據矩陣,所述顏色數據矩陣包括所述感興趣區域中包含的像素的顏色數據;以及將所述顏色矩陣轉換為顏色值向量,所述向量的每行是所述行的所有列的顏色值的 和,其中,與所述感興趣區域相關聯的圖像數據包括所述顏色值向量。15.根據權利要求13所述的設備,其中,所述處理器還被配置為執行所述指令,以: 基于從預定數量的圖像幀獲得的亮度向量,獲得初始亮度向量作為所述背景的圖像數據。16.根據權利要求1所述的設備,其中,所述圖像幀包括三個感興趣區域。17.—種用于檢測對象的方法,包括:獲得包含于圖像幀中的感興趣區域的圖像數據;比較所述感興趣區域的圖像數據與背景的圖像數據,以檢測在所述感興趣區域中的變 化;以及基于檢測到的變化來檢測在圖像幀中的對象。18.根據權利要求17所述的方法,其中,檢測在圖像幀中的對象包括:基于指示多個圖 像幀中的多個感興趣區域何時發生多個變化的時間信息,以及基于從所述多個感興趣區域 中的位置獲得的顏色數據,來識別所述對象。
【文檔編號】G06T7/20GK105957110SQ201610498023
【公開日】2016年9月21日
【申請日】2016年6月29日
【發明人】丁大鈞, 趙麗麗
【申請人】上海小蟻科技有限公司