利用多個立體相機的對象檢測結(jié)果定位對象的方法和裝置制造方法
【專利摘要】公開了一種利用多個立體相機的對象檢測結(jié)果來定位對象的方法和裝置。所述方法包括:獲取每個所述立體相機對于對象進行持續(xù)的跟蹤檢測而產(chǎn)生的對象的多個位置信息;針對每個所述立體相機,對于其跟蹤檢測的每個對象,基于所產(chǎn)生的多個位置信息形成該對象的軌跡;以及通過將對應(yīng)于不同立體相機的所形成的對象的軌跡相互融合來確定對象的位置。上述方法和裝置能夠避免在采用多個立體相機對對象進行檢測和定位時發(fā)生融合結(jié)果分裂和融合歧義,從而精確地檢測和定位對象。
【專利說明】利用多個立體相機的對象檢測結(jié)果定位對象的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明總體涉及圖像處理,具體涉及利用多個立體相機的對象檢測結(jié)果來定位對象的方法和裝置。
【背景技術(shù)】
[0002]目前已知一些使用單臺立體相機來對對象進行檢測和定位的技術(shù)。比如,MichaelHarville 在 2003 年發(fā)表的文章 “Stereo Person Tracking with Adaptive Plan-ViewTemplates of Height and Occupancy Statistics” 中對此進行了闡述。
[0003]但是,使用一個立體相機,檢測的視角受限,而且檢測率不夠高。因此,人們逐漸開始考慮使用多個立體相機來對對象進行檢測和定位。使用多個立體相機可以增大檢測的覆蓋區(qū)域,更重要的是,可以提高檢測精度。但是,目前對于如何使用多個立體相機進行對象的檢測和定位的研究還相對較少。
[0004]使用多個立體相機進行對象檢測和定位的關(guān)鍵之一是多個相機的檢測結(jié)果的融合。當使用多個立體相機進行對象檢測和定位時,所使用的多個立體相機的視野相互重疊,從而有些區(qū)域可能被多于一個相機拍到。由于每個相機均單獨地進行對象的檢測和定位,因此當某個對象被多臺相機檢測到時,需要進行融合處理來將不同相機檢測到的有關(guān)同一個對象的檢測結(jié)果合并,以得到最終的檢測結(jié)果。
[0005]目前,對于如何進行融合處理,已經(jīng)有一些已知的方法。一個傳統(tǒng)的方法是比較不同相機的檢測結(jié)果中對象之間的距離,如果距離非常近,就認為它們對應(yīng)于同一個對象;反之,如果距離較遠,則認為它們對應(yīng)于不同對象。但是,由于檢測結(jié)果和真實位置存在誤差,這一方法往往存在融合結(jié)果分裂和融合歧義的問題。以下將參考圖1A、1B和圖2對此進行簡要介紹。
[0006]圖1A示出了兩個立體相機對預(yù)定空間中的對象的檢測結(jié)果在統(tǒng)一世界坐標系下的示意圖。如圖1A所示,圖中頂部和底部的兩個小三角形分別表示兩個相機的位置,兩條折線分別表示對應(yīng)相機的視野。小圓圈表示其中一個相機的對象檢測結(jié)果,黑色的圓點表示另一個相機對象檢測結(jié)果。顯然,真實的結(jié)果是預(yù)定空間中應(yīng)該有4個對象。圖1B示意性地示出了使用傳統(tǒng)的融合方法出現(xiàn)的融合結(jié)果分裂現(xiàn)象。圖1B中的每一個黑色的菱形表示融合的對象位置,可以看出,其中有一個真實的對象被錯誤的處理成為2個對象。
[0007]圖2示出了兩個立體相機對預(yù)定空間中的對象的檢測結(jié)果在統(tǒng)一世界坐標系下產(chǎn)生融合歧義的示意圖。與圖1A類似,圖2中頂部和底部的兩個小三角形分別表示兩個相機的位置,兩條折線分別表示對應(yīng)相機的視野,小圓圈表示其中一個相機的對象檢測結(jié)果,黑色的圓點表示另一個相機對象檢測結(jié)果??梢钥吹?,在一個小范圍內(nèi),有3個小圓圈和2個黑色的圓點距離非常近,在該情況下很難判定哪個小圓圈和哪個黑色的圓點對應(yīng)于同一個對象,由此產(chǎn)生了融合歧義。
[0008]因此,需要一種能夠避免在采用多個立體相機對對象進行檢測和定位時發(fā)生融合結(jié)果分裂和融合歧義的技術(shù),從而精確地檢測和定位對象。
【發(fā)明內(nèi)容】
[0009]產(chǎn)生上述融合結(jié)果分裂和融合歧義現(xiàn)象的原因是在融合時僅僅將兩個立體相機的單幀檢測結(jié)果進行比較。也就是說,在融合各個相機的檢測結(jié)果時僅考慮了空間的關(guān)系?;谶@一認識,本發(fā)明人提出一種新的利用多個立體相機的對象檢測結(jié)果來檢測和定位對象的方法。在該方法中,不是只比較各個立體相機的單幀檢測結(jié)果,而是將由各個相機的多幀的檢測結(jié)果形成的軌跡進行比較。軌跡是由多幀的檢測結(jié)果組成的點集,其不但能表示空域關(guān)系還能表示時域關(guān)系,因此是一種更加穩(wěn)定的特性。通過利用軌跡進行融合處理,較好地解決了在采用多個立體相機對對象進行檢測和定位時的融合結(jié)果分裂和融合歧義問題。
[0010]根據(jù)本發(fā)明的一個方面,提供了一種利用多個立體相機的對象檢測結(jié)果來定位對象的方法,包括:獲取每個所述立體相機對于對象進行持續(xù)的跟蹤檢測而產(chǎn)生的對象的多個位置信息;針對每個所述立體相機,對于其跟蹤檢測的每個對象,基于所產(chǎn)生的多個位置信息形成該對象的軌跡;以及通過將對應(yīng)于不同立體相機的所形成的對象的軌跡相互融合來確定對象的位置。
[0011]根據(jù)本發(fā)明的另一個方面,提供了一種利用多個立體相機的對象檢測結(jié)果來定位對象的裝置,包括:位置信息獲取部件,獲取每個所述立體相機對于對象進行持續(xù)的跟蹤檢測而產(chǎn)生的對象的多個位置信息;軌跡生成部件,針對每個所述立體相機,對于其跟蹤檢測的每個對象,基于所產(chǎn)生的多個位置信息形成該對象的軌跡;以及定位部件,通過將對應(yīng)于不同立體相機的所形成的對象的軌跡相互融合來確定對象的位置。
【專利附圖】
【附圖說明】
[0012]從下面結(jié)合附圖對本發(fā)明實施例的詳細描述中,本發(fā)明的這些和/或其它方面和優(yōu)點將變得更加清楚并更容易理解,其中:
[0013]圖1A示出了兩個立體相機對預(yù)定空間中的對象的檢測結(jié)果在統(tǒng)一世界坐標系下的示意圖。
[0014]圖1B示意性地示出了使用傳統(tǒng)的融合方法出現(xiàn)的融合結(jié)果分裂現(xiàn)象。
[0015]圖2示出了兩個立體相機對預(yù)定空間中的對象的檢測結(jié)果在統(tǒng)一世界坐標系下產(chǎn)生融合歧義的示意圖。
[0016]圖3示出了應(yīng)用根據(jù)本發(fā)明實施例的對象定位技術(shù)的系統(tǒng)的示意圖。
[0017]圖4示出了根據(jù)本發(fā)明第一實施例的利用多個立體相機的對象檢測結(jié)果來定位對象的方法的總體流程圖。
[0018]圖5示出了根據(jù)本發(fā)明第一實施例的生成對應(yīng)于一定時間長度的軌跡的處理的流程圖。
[0019]圖6示出了根據(jù)本發(fā)明第一實施例的將對應(yīng)于不同立體相機的對象軌跡相互融合來確定對象的位置的示例處理的流程圖。
[0020]圖7示出了根據(jù)本發(fā)明實施例的利用多個立體相機的對象檢測結(jié)果定位對象的裝置的總體配置圖。
[0021]圖8示出了根據(jù)本發(fā)明實施例的利用多個立體相機的對象檢測結(jié)果來定位對象的系統(tǒng)的總體硬件框圖。
[0022]圖9中例示了軌跡在2維空間的示意圖。
【具體實施方式】
[0023]為了使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明,下面結(jié)合附圖和【具體實施方式】對本發(fā)明作進一步詳細說明。
[0024]首先需要說明的是,作為應(yīng)用根據(jù)本發(fā)明的利用多個立體相機的對象檢測結(jié)果來定位對象的技術(shù)的前提條件,假設(shè)所有的立體相機都已經(jīng)將各自的坐標系轉(zhuǎn)換到一個統(tǒng)一的世界坐標系內(nèi),在該坐標系中,X-Z平面與地面重合,Y軸為相對于地面的高度。如何進行這一轉(zhuǎn)換是本領(lǐng)域中公知,此處不進行具體描述。在本發(fā)明的描述中,各個對象的位置坐標均是指在該世界坐標系 內(nèi)的坐標。
[0025]另外,本發(fā)明適用于兩個及兩個以上的立體相機的情況,但是為了便于描述,在后面的實施例中以兩個立體相機為例進行描述。
[0026]下面,將結(jié)合圖3,對應(yīng)用根據(jù)本發(fā)明實施例的對象定位技術(shù)的示意系統(tǒng)進行描述。如圖3中所示,該系統(tǒng)包含多個(雙目)立體相機。對于每個立體相機,捕捉的對象視頻幀經(jīng)由對象檢測和跟蹤處理而產(chǎn)生位置信息11。這一對象檢測和跟蹤處理可以采用任何已有的技術(shù),例如,Michael Harville在2003年發(fā)表的文章〃Stereo Person Trackingwith Adaptive Plan-View Templates of Height and Occupancy Statistics"描述了一種可能的處理方法。所產(chǎn)生的位置信息11通過有線或無線方式傳送到根據(jù)本發(fā)明的對象定位裝置12,該對象定位裝置12對位置信息進行根據(jù)本發(fā)明實施例的處理,最終確定對象的位置。根據(jù)需要,可以輸出包含最終確定的各個對象的位置的列表13。
[0027]如前所述,位置信息11表示的是對象在統(tǒng)一的世界坐標系內(nèi)的位置。為了便于后面的描述,本文中將該位置信息的格式定義為:
[0028]
Data:= {timestamp, (M1,Xwl, Yw1,Zw1),(id2, Xw2,Yw2,Zw2),.,Xwm, Ywm,Zwm)} (I)
object!ohjecTlobjectm
[0029]其中Data表示作為檢測結(jié)果的位置信息11 ;timestamp是時間戳,表示相機捕獲視頻幀的具體時刻;m表示檢測出的對象的數(shù)量;idj(j=0, I,..., m)表示被跟蹤檢測的對象的編號;XWj, Ywj, Zwj表示對象j的頭頂在統(tǒng)一世界坐標系下的3維坐標,其中Xwj, Zwj表示對象j在地面的投影點的坐標位置,Ywj表示對象j的高度。容易理解,位置信息11可以采用任意格式來表示,上述定義的格式僅僅是其中的一個示例。例如,可以使用2維坐標,即不使用Yw坐標,而是利用表示對象在地面的投影點的位置的Xw,Zw坐標來代表該對象的位置。
[0030]<第一實施例>
[0031]圖4示出了根據(jù)本發(fā)明第一實施例的利用多個立體相機的對象檢測結(jié)果來定位對象的方法的總體流程圖。
[0032]如圖4所示,在步驟S41中,獲取每個所述立體相機對于對象進行持續(xù)的跟蹤檢測而產(chǎn)生的對象的多個位置信息。
[0033]由于每個立體相機對于對象進行持續(xù)的跟蹤檢測,因而對于每個相機檢測到的每個對象,將獲得對應(yīng)于不同的檢測時間的多個位置信息。例如,以使用兩個立體相機A和B進行跟蹤檢測為例,采用表達式(I)定義的格式,通過相機A的跟蹤檢測而產(chǎn)生的位置信息表示如下:
[0034]
[0035]{tAl,(idA1,Xw^11, Yw1ai , Zw1m ),Qdi2, Xw1a2,Ywii2,Zw142 ),...,},
[0036]{tA2,(idAl,Xw2il,Yw24l,Zw^1),Qd42,Xw2i2,Yur2,Zw^2(2 )
[0037]......,
[0038]{tAn, (idM, Xwn41, Ywn4l, Zw11m ), (idA2, Xw1^2, YwnA2, Zw1^2
[0039]其中,tAi(i=0, I,..., n)表示按時序排列的時間戳值,Xw1ai, Yw1ai, Zw1ai表示對象Al的頭頂在tAi時刻在統(tǒng)一世界坐標系下的3維坐標。每行的數(shù)據(jù)為單幀的跟蹤結(jié)果。需要說明的是,由于在跟蹤檢測過程 中,新的對象可能會進入到檢測區(qū)域中或已有對象可能會離開檢測區(qū)域,因此在不同幀中,檢測到的對象的數(shù)量以及檢測到的具體對象可能會不同。
[0040]類似的,由相機B的跟蹤檢測而產(chǎn)生的位置信息如下:
[0041 ] {(B0, (idBl, Xw0bi , Yw0bi, Zw0n), {idB1, Xw032, Yw0b2 ,Z^82),
[0042]{tBl,Qdm,-Xwfll,Y^b-1 , 2wm ),(idB2, ,YwB2, Ζμ.Β2 )”..,},
[0043]{tB2,(idm, Xw2m, Yw2m, ZMjjl), (idB2, Xw1b2, Yw2b2 , Zw^2(3)
[0044].....,
[0045]{tBn Aidmy Xwnmy Ywnm, Zw^1 ),{idB2, XwnB2, Ywn32,Zwna2
[0046]在步驟S42中,針對每個所述立體相機,對于其跟蹤檢測的每個對象,基于所產(chǎn)生的多個位置信息形成該對象的軌跡。
[0047]一條軌跡描述一個對象,并由該對象在多個檢測時間的多個位置信息組成。例如,圖9中例示了所述軌跡在2維空間的示意圖(事實上,一條軌跡表示的是一段時間內(nèi)的三維位置的集合,但是為了可視化以及更簡單易懂,圖9中示出的是2維空間是的情況)。其中,水平坐標軸表示時間,每個黑色圓點表示在某個時刻的位置,該位置是通過將三維坐標系中的位置投影到地面(Xw和Zw平面)得到的。
[0048]容易理解,對于每一個立體相機,其在跟蹤檢測過程中檢測到多少個對象,就應(yīng)當形成多少條軌跡。在本實施例中,對象軌跡的格式如下所示:
[0049]Trajectory: = {id, (t1; Xw1id, Yw1id, Zw1id), (t2, Xw2id, Yw2id, Zw2id),..., (tn, Xw2id,Yw2id, Zw2idM (4)
[0050]其中Trajectory表示所形成的軌跡,id表示跟蹤檢測的對象的編號,ti(i=0, I,..., η)表示按時序排列的時間戳值,Xw1id, Yw1id, Zw1id表示對象id在時刻在統(tǒng)一的世界坐標系內(nèi)的位置坐標。
[0051]考慮到執(zhí)行根據(jù)本發(fā)明實施例的定位對象的方法所需的計算量、計算時間以及輸出由此確定的對象位置的可接受的延遲,作為一種優(yōu)選的方式,可以僅生成對應(yīng)于一定時間長度的軌跡。下面,將結(jié)合圖5對該優(yōu)選的方式進行具體的描述。
[0052]首先,在步驟S421,確定軌跡對應(yīng)的時間長度。該時間長度可以根據(jù)具體情況來確定。一個可能的時間長度是I秒,其既是上述可接受的延遲時間,同時在這一時間內(nèi)也能觀察到對象明顯的移動。[0053]隨后,在步驟S422中,針對每個立體相機,對于其跟蹤檢測的每個對象,從所產(chǎn)生的多個位置信息中截取在所述時間長度內(nèi)的位置信息。
[0054]在該步驟中,對于每個立體相機跟蹤檢測到的位置信息,均執(zhí)行截取操作。通過位置信息中包含的時間戳,可以確定應(yīng)當截取的位置信息。例如,以立體相機A為例,對應(yīng)于立體相機A的位置信息如表達式(2)所示,需要從中找到一個時間戳tAi (OS i〈n),以滿足:
[0055](tAn-tAi) < 時間長度,且) > 時間長度 (5)
[0056]其中tAn為相機A跟蹤檢測到的位置信息中最新的時間戳。
[0057]如果找到符合表達式(5)的tAi,則可以在后面的步驟中使用從tAi時刻到^時刻的數(shù)據(jù)來組成軌跡,否則,說明相機A跟蹤檢測到的位置信息不足,還無法組成軌跡,因此需要等待相機A繼續(xù)進行跟蹤檢測。
[0058]最后,在步驟S423,針對每個立體相機跟蹤檢測的每個對象,采用所截取的位置信息形成一條對象軌跡。
[0059]再次回到圖4,在形成對象軌跡之后,在步驟S43中,通過將對應(yīng)于不同立體相機的所形成的對象軌跡相互融合來確定對象的位置。更明確的說,該步驟中將由不同立體相機檢測到的有關(guān)同一個對象的檢測結(jié)果(軌跡)進行合并,從而最終確定該對象的位置。
[0060]該步驟可以通過以下具體操作來執(zhí)行:將對應(yīng)于不同立體相機的所形成的對象的軌跡進行匹配,從而對于每一個對象,確定與其對應(yīng)的各條相互匹配的軌跡;當對于某一對象存在多條與其相對應(yīng)的相互匹配的軌跡時,將該多條軌跡各自的最新的位置信息進行合并來確定該對象的位置;當對于某一對象僅存在一條軌跡時,則基于該條軌跡的最新的位置信息確定該對象的位置。
[0061]容易想到,上述操作可以通過各種適當?shù)姆绞絹韺崿F(xiàn)。下面將參考圖6描述一種實現(xiàn)上述操作的具體方法。應(yīng)當注意,該具體方法并非是對發(fā)明的限制,而是為了使得本發(fā)明更加清楚易懂而給出的一種示例性描述。
[0062]如圖6所示,在步驟S431,對于每個立體相機,創(chuàng)建一個軌跡列表,并將對應(yīng)于該立體相機的所形成的各條軌跡存儲在該軌跡列表中。例如,對于立體相機A,創(chuàng)建軌跡列表A,并將在前述步驟S42中形成的、分別對應(yīng)于立體相機A跟蹤檢測的各個對象的各條軌跡存儲在軌跡列表A中。類似的,對于立體相機B,創(chuàng)建軌跡列表B,并將在前述步驟S42中形成的、分別對應(yīng)于立體相機B跟蹤檢測的各個對象的各條軌跡存儲在軌跡列表B中。
[0063]在步驟S432,從任一個軌跡列表中選擇任意一條軌跡,將該選擇的軌跡與其他軌跡列表中存儲的軌跡進行比較,以查找與該選擇的軌跡匹配的軌跡。
[0064]例如,當選擇了列表A中的軌跡Tra jectorya時,將該軌跡與其他列表B、列表C……列表N中存儲的軌跡依次進行比較,以查找列表B、列表C……列表N中所有與軌跡Trajectorya匹配的軌跡。
[0065]隨后,在步驟S433中確定,在其他軌跡列表中是否存在與選擇的軌跡匹配的軌跡。當存在匹配的軌跡時執(zhí)行步驟S434,當不存在匹配的軌跡時執(zhí)行步驟S435。
[0066]在步驟S434中,從相應(yīng)的軌跡列表中刪除該選擇的軌跡以及與該選擇的軌跡匹配的軌跡;將該選擇的軌跡以及與其匹配的軌跡各自的最新的位置信息進行合并來確定對應(yīng)對象的位置。[0067]例如,假設(shè)通過步驟S432確定僅在軌跡列表B中存在與軌跡Trajectorya匹配的軌跡Trajectoryb,軌跡Trajectorya和Trajectoryb對應(yīng)于對象Objectl,并具有如下格式:
【權(quán)利要求】
1.一種利用多個立體相機的對象檢測結(jié)果來定位對象的方法,包括: 獲取每個所述立體相機對于對象進行持續(xù)的跟蹤檢測而產(chǎn)生的對象的多個位置信息; 針對每個所述立體相機,對于其跟蹤檢測的每個對象,基于所產(chǎn)生的多個位置信息形成該對象的軌跡;以及 通過將對應(yīng)于不同立體相機的所形成的對象的軌跡相互融合來確定對象的位置。
2.如權(quán)利要求1所述的對象定位方法,其中所述對象的位置信息包括時間戳、對象編號以及對應(yīng)于該時間戳的對象的位置坐標。
3.如權(quán)利要求2所述的對象定位方法,其中基于所產(chǎn)生的多個位置信息形成該對象的軌跡進一步包括: 指定重采樣的時間戳; 通過對所述產(chǎn)生的多個位置信息進行插值來計算該對象在指定的時間戳?xí)r的位置坐標; 基于指定的時間戳和在該時間戳?xí)r的位置坐標形成該對象的軌跡。
4.如權(quán)利要求2所述的對象定位方法,其中所述針對每個所述立體相機,對于其跟蹤檢測的每個對象,基于所產(chǎn)生的多個位置信息形成該對象的軌跡進一步包括: 確定軌跡對應(yīng)的時間長度; 針對每個所述立體相機,對于其跟蹤檢測的每個對象,從所產(chǎn)生的多個位置信息中截取該時間長度內(nèi)的位置信息; 采用所截取的位置信息形成對象的軌跡。
5.如權(quán)利要求4所述的對象定位方法,其中所述時間長度的終點為最新的時間戳。
6.如權(quán)利要求1-5中任一項所述的對象定位方法,其中通過將對應(yīng)于不同立體相機的所形成的對象的軌跡相互融合來確定對象的位置進一步包括: 將對應(yīng)于不同立體相機的所形成的對象的軌跡進行匹配,從而對于每一個對象,確定與其對應(yīng)的各條相互匹配的軌跡, 當對于某一對象存在多條與其相對應(yīng)的相互匹配的軌跡時,將該多條軌跡各自的最新的位置信息進行合并來確定該對象的位置;當對于某一對象僅存在一條軌跡時,則基于該條軌跡的最新的位置信息確定該對象的位置。
7.如權(quán)利要求1-5任一項所述的對象定位方法,其中通過將對應(yīng)于不同立體相機的所形成的對象的軌跡相互融合來確定對象的位置進一步包括步驟: a.對于每個立體相機,創(chuàng)建一個軌跡列表,并將對應(yīng)于該立體相機的所形成的各條軌跡存儲在該軌跡列表中; b.從各個所述軌跡列表中的任一個軌跡列表中選擇任意一條軌跡,將該選擇的軌跡與其他軌跡列表中存儲的軌跡進行比較,以查找與該選擇的軌跡匹配的軌跡; c.當存在與該選擇的軌跡匹配的軌跡時,從相應(yīng)的軌跡列表中刪除該選擇的軌跡以及與該選擇的軌跡匹配的軌跡;將該選擇的軌跡以及與其匹配的軌跡各自的最新的位置信息進行合并來確定對應(yīng)對象的位置; d.當不存在與該選擇的軌跡匹配的軌跡時,從相應(yīng)的軌跡列表中刪除該選擇的軌跡;基于該選擇的軌跡的最新的位置信息確定對應(yīng)對象的位置;e.重復(fù)執(zhí)行步驟b-d,直到各個軌跡列表均為空。
8.如權(quán)利要求6或7所述的對象定位方法,其中通過軌跡之間的相關(guān)性來確定軌跡是否是匹配的。
9.一種利用多個立體相機的對象檢測結(jié)果來定位對象的裝置,包括: 位置信息獲取部件,獲取每個所述立體相機對于對象進行持續(xù)的跟蹤檢測而產(chǎn)生的對象的多個位置信息; 軌跡生成部件,針對每個所述立體相機,對于其跟蹤檢測的每個對象,基于所產(chǎn)生的多個位置信息形成該對象的軌跡;以及 定位部件,通過將對應(yīng)于不同立體相機的所形成的對象的軌跡相互融合來確定對象的位 置。
【文檔編號】G06T7/00GK103971359SQ201310045700
【公開日】2014年8月6日 申請日期:2013年2月5日 優(yōu)先權(quán)日:2013年2月5日
【發(fā)明者】王鑫, 范圣印 申請人:株式會社理光