本公開涉及視頻分析領(lǐng)域,特別涉及通過視頻分析對視頻中的多個對象進(jìn)行定位。
背景技術(shù):
視頻分析、尤其是對視頻中出現(xiàn)的對象進(jìn)行定位分析等存在跨學(xué)科的廣泛應(yīng)用。例如,在生物學(xué)的情境下,動物行為學(xué)是一個重要研究方向,對動物行為視頻進(jìn)行自動分析的算法被越來越多地應(yīng)用到該領(lǐng)域。對該視頻中的對象進(jìn)行自動提取和分割是自動分析方法的重要步驟。但是,目前傳統(tǒng)的提取算法一般存在定位精度差、對象位置漏檢等問題,嚴(yán)重影響到流程的自動化。
技術(shù)實現(xiàn)要素:
本發(fā)明人意識到,現(xiàn)有的視頻分析算法沒有充分利用視頻中對象之間的固有信息。有鑒于此,本公開提出了一種視頻分析設(shè)備、方法和計算機可讀存儲介質(zhì)。
根據(jù)本公開的一方面,提供了一種視頻分析設(shè)備,其特征在于,包括:理想位置確定單元,被配置為利用視頻中的多個對象的預(yù)定排列模式,確定所述多個對象的理想位置;幾何變換建立單元,被配置為利用坐標(biāo)變換方法,建立所述多個對象的初始位置到理想位置的幾何變換;以及精確位置獲得單元,被配置為根據(jù)所述幾何變換的映射矩陣的逆變換,獲得所述多個對象的精確位置。通過利用視頻中多個對象的預(yù)定排列模式,根據(jù)本公開的各方面的視頻分析設(shè)備、方法和計算機可讀存儲介質(zhì)能夠提高對視頻中對象的定位精度。
在一種可能的實現(xiàn)方式中,所述預(yù)定排列模式包括大致中心對稱的排列。
在一種可能的實現(xiàn)方式中,所述理想位置確定單元被配置為對于所述預(yù)定排列模式,指定其排列的方向、尺度和坐標(biāo)原點,以確定理想情況下所述多個對象的理想位置。
在一種可能的實現(xiàn)方式中,所述幾何變換包括仿射變換或透視變換;所述精確位置獲得單元被配置為求解所述仿射變換或透視變換的映射矩陣的逆變換,將所述逆變換作用于所述多個對象的理想位置,以獲得所述多個對象的精確位置。
在一種可能的實現(xiàn)方式中,所述多個對象是多個昆蟲活動臺,昆蟲能夠在所述昆蟲活動臺處活動,并且所述預(yù)定排列模式為正多邊形排列。
在一種可能的實現(xiàn)方式中,所述視頻分析設(shè)備還包括:初始位置獲得單元,被配置為利用所述多個對象的形狀信息,初步獲得所述多個對象的位置作為所述初始位置,其中,初步獲得所述多個對象的位置包括:從視頻中提取多個幀,并檢測所述多個幀中的所述多個對象的形狀所在的位置,將所述位置聚類為所述對象的數(shù)目,獲得所述初始位置。
根據(jù)本公開的另一方面,提供了一種視頻分析方法,其特征在于,包括:利用視頻中的多個對象的預(yù)定排列模式,確定所述多個對象的理想位置;利用坐標(biāo)變換方法,建立所述多個對象的初始位置到理想位置的幾何變換;根據(jù)所述幾何變換的映射矩陣的逆變換,獲得所述多個對象的精確位置。
在一種可能的實現(xiàn)方式中,所述視頻分析方法還包括:利用所述多個對象的形狀信息,初步獲得所述多個對象的位置作為所述初始位置;其中,初步獲得所述多個對象的位置包括:從視頻中提取多個幀,并檢測所述多個幀中的所述多個對象的形狀所在的位置,將所述位置聚類為所述對象的數(shù)目,獲得所述初始位置。
在一種可能的實現(xiàn)方式中,所述預(yù)定排列模式包括大致中心對稱的排列。
在一種可能的實現(xiàn)方式中,利用視頻中的多個對象的預(yù)定排列模式確定所述多個對象的理想位置包括:對于所述預(yù)定排列模式,指定其排列的方向、尺度和坐標(biāo)原點,以確定理想情況下所述多個對象的理想位置。
在一種可能的實現(xiàn)方式中,所述幾何變換包括仿射變換或透視變換;以及根據(jù)所述幾何變換的映射矩陣的逆變換獲得所述多個對象的精確位置包括:求解所述仿射變換或透視變換的映射矩陣的逆變換,將所述逆變換作用于所述多個對象的理想位置,以獲得所述多個對象的精確位置。
在一種可能的實現(xiàn)方式中,所述多個對象是多個昆蟲活動臺,昆蟲能夠在所述昆蟲活動臺處活動,并且所述預(yù)定排列模式為正多邊形排列。
根據(jù)本公開的另一方面,提供了一種視頻分析設(shè)備,包括:處理器;用于存儲處理器可執(zhí)行指令的存儲器;其中,所述處理器被配置為執(zhí)行上述方法。
根據(jù)本公開的另一方面,提供了一種計算機可讀存儲介質(zhì),該計算機程序被處理器執(zhí)行時實現(xiàn)上述方法。
通過利用視頻中多個對象的預(yù)定排列模式,根據(jù)本公開的各方面的視頻分析設(shè)備、方法和計算機可讀存儲介質(zhì)能夠提高對視頻中對象的定位精度。
根據(jù)下面參考附圖對示例性實施例的詳細(xì)說明,本公開的其它特征及方面將變得清楚。
附圖說明
包含在說明書中并且構(gòu)成說明書的一部分的附圖與說明書一起示出了本公開的示例性實施例、特征和方面,并且用于解釋本公開的原理。
圖1示出根據(jù)示例性實施方式的視頻分析設(shè)備的示意裝置框圖。
圖2示出根據(jù)一個具體實現(xiàn)例子示出的視頻分析設(shè)備的示意細(xì)節(jié)框圖。
圖3示出根據(jù)示例性實施方式的視頻分析方法的示意流程圖。
圖4示出根據(jù)一個具體實現(xiàn)例子示出的視頻分析方法的示意細(xì)節(jié)流程圖。
圖5是根據(jù)一個具體實現(xiàn)例子示出的多個對象a~f按正六邊形排列的示意圖。
圖6是根據(jù)示例性實施方式示出的視頻分析設(shè)備1900的框圖。
具體實施方式
以下將參考附圖詳細(xì)說明本公開的各種示例性實施例、特征和方面。附圖中相同的附圖標(biāo)記表示功能相同或相似的元件。盡管在附圖中示出了實施例的各種方面,但是除非特別指出,不必按比例繪制附圖。
在這里專用的詞“示例性”意為“用作例子、實施例或說明性”。這里作為“示例性”所說明的任何實施例不必解釋為優(yōu)于或好于其它實施例。
另外,為了更好的說明本公開,在下文的具體實施方式中給出了眾多的具體細(xì)節(jié)。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,沒有某些具體細(xì)節(jié),本公開同樣可以實施。在一些實例中,對于本領(lǐng)域技術(shù)人員熟知的方法、手段、元件和電路未作詳細(xì)描述,以便于凸顯本公開的主旨。
盡管本公開以生物領(lǐng)域所用的昆蟲活動臺(昆蟲能夠在該昆蟲活動臺處活動)作為視頻中的定位對象進(jìn)行示例性說明,但本領(lǐng)域技術(shù)人員容易理解,本公開同樣適用于對各種不同領(lǐng)域的視頻中的各類對象進(jìn)行定位。
圖1示出根據(jù)示例性實施方式的視頻分析設(shè)備100的示意裝置框圖。視頻分析設(shè)備100包括理想位置確定單元102、幾何變換建立單元104和精確位置獲得單元106。其中,理想位置確定單元102被配置為利用視頻中的多個對象的預(yù)定排列模式,確定多個對象的理想位置。這里,預(yù)定排列模式可以是對象具有對于視頻分析設(shè)備100而言已知的排列規(guī)律的任何排列模式。在一個具體示例中,預(yù)定排列模式包括大致中心對稱的排列。本領(lǐng)域技術(shù)人員都了解,對象的排列在實際中很難達(dá)到幾何上嚴(yán)格的中心對稱。“大致中心對稱”表示對象在本領(lǐng)域技術(shù)人員公知或普遍接受的誤差范圍內(nèi)以中心對稱方式排列。在一個具體示例中,優(yōu)選地,預(yù)定排列模式可以包括方格排列或正方形排列、長方形排列(正方形和長方形排列可統(tǒng)稱為矩形排列)、或者正六邊形排列。當(dāng)然,如本領(lǐng)域技術(shù)人員所能理解的,預(yù)定排列模式可以包括正八邊形等其它正多邊形排列。幾何變換建立單元104被配置為利用坐標(biāo)變換方法,建立多個對象的初始位置到理想位置的幾何變換。精確位置獲得單元106被配置為根據(jù)所述幾何變換的映射矩陣的逆變換,獲得所述多個對象的精確位置。
圖2示出根據(jù)一個具體實現(xiàn)例子示出的視頻分析設(shè)備200的示意細(xì)節(jié)框圖。除理想位置確定單元102、幾何變換建立單元104和精確位置獲得單元106以外,視頻分析設(shè)備200可以在視頻分析設(shè)備100的基礎(chǔ)上進(jìn)一步包括初始位置獲得單元202。在一個具體實現(xiàn)中,視頻分析設(shè)備200接收輸入視頻。初始位置獲得單元202從輸入視頻中提取多個幀,利用視頻中的多個對象的形狀信息,檢測多個對象的形狀所在的位置,將所述位置聚類為對象的數(shù)目,從而獲得多個對象的形狀所在的初始位置。由此,視頻分析設(shè)備200可以初步獲得該多個對象的初始位置。
圖3示出根據(jù)示例性實施方式的視頻分析方法的示意流程圖。視頻分析方法可以包括以下步驟。在步驟s302中,利用視頻中的多個對象的預(yù)定排列模式,確定所述多個對象的理想位置。在步驟s304中,利用坐標(biāo)變換方法,建立所述多個對象的初始位置到理想位置的幾何變換。在步驟s306中,根據(jù)所述幾何變換的映射矩陣的逆變換,獲得多個對象的精確位置。
圖4示出根據(jù)一個具體實現(xiàn)例子示出的視頻分析方法的示意細(xì)節(jié)流程圖。在一個具體實現(xiàn)例子中,本公開的視頻分析方法可以應(yīng)用于分析視頻中的作為對象的昆蟲活動臺。但本領(lǐng)域技術(shù)人員顯然能夠理解,本公開所能分析的對象不以昆蟲活動臺為限。如圖4所示,可以執(zhí)行以下步驟。
●初步提取昆蟲活動臺的位置
從輸入視頻中提取若干幀,并檢測其中的昆蟲活動臺形狀所在的位置。例如,對于圓形昆蟲活動臺,可以使用霍夫圓變換算法。對于其他形狀,可以采用與其他形狀相對應(yīng)的已知的形狀檢測算法。將檢測到的昆蟲活動臺位置進(jìn)行聚類,例如可以使用kmeans或者gmm等算法,得到n個聚類中心,即昆蟲活動臺的初始位置p1,p2,…,pn,其中n為昆蟲活動臺的數(shù)目。p1,p2,…,pn大致指向了昆蟲活動臺的位置。
對于已知的昆蟲活動臺排列方式,指定其排列的方向、尺度和坐標(biāo)原點,并確定理想情況下活動臺的位置。例如,在一個具體示例中,昆蟲活動臺可以按照方格排列。這時,可以假設(shè)昆蟲活動臺的理想位置分別為q1,q2,…,qn,其中qi=(mi,ni),mi和ni分別表示在方格排列中的行數(shù)和列數(shù)。當(dāng)然,也可以指定其他的尺度、方向和坐標(biāo)原點。在不同的坐標(biāo)系下q1,q2,…,qn有不同的表示。例如,在另一個具體示例中,昆蟲活動臺的排列可以為正六邊形排列。圖5是根據(jù)一個具體實現(xiàn)例子示出的多個對象a~f按正六邊形排列的示意圖,正六邊形的對稱中心示出為o。這時,作為對象的示例的昆蟲活動臺的坐標(biāo)可以表示為
●建立昆蟲活動臺的初始位置p1,p2,…,pn和理想位置q1,q2,…,qn之間的映射關(guān)系。假設(shè)p1,p2,…,pn和
設(shè)映射矩陣
得到超定方程
在一個具體示例中,例如可以根據(jù)最小二乘法求解映射矩陣a,并求解映射矩陣a的逆變換b。
●昆蟲活動臺的理想位置
應(yīng)當(dāng)注意,事實上,本公開所應(yīng)用于的視頻及在視頻中所分析的對象不以昆蟲視頻和昆蟲活動臺為限。用戶完全可根據(jù)實際應(yīng)用場景靈活設(shè)定選擇,只要視頻中的多個對象以預(yù)定排列模式排列即可。
圖6是根據(jù)示例性實施方式示出的視頻分析設(shè)備1900的框圖。例如,裝置1900可以被提供為一服務(wù)器。參照圖5,裝置1900包括處理組件1922,其進(jìn)一步包括一個或多個處理器,以及由存儲器1932所代表的存儲器資源,用于存儲可由處理組件1922執(zhí)行的指令,例如應(yīng)用程序。存儲器1932中存儲的應(yīng)用程序可以包括一個或一個以上的模塊,每一個模塊對應(yīng)于一組指令。此外,處理組件1922被配置為執(zhí)行指令,以執(zhí)行上述的視頻分析方法。
裝置1900還可以包括一個電源組件1926被配置為執(zhí)行裝置1900的電源管理,一個有線或無線網(wǎng)絡(luò)接口1950被配置為將裝置1900連接到網(wǎng)絡(luò),和一個輸入輸出(i/o)接口1958。裝置1900可以操作基于存儲在存儲器1932的操作系統(tǒng),例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或類似。
在示例性實施例中,還提供了一種包括指令的非易失性計算機可讀存儲介質(zhì),例如包括指令的存儲器1932,上述指令可由裝置1900的處理組件1922執(zhí)行以完成上述方法。
本公開可以是系統(tǒng)、方法和/或計算機程序產(chǎn)品。計算機程序產(chǎn)品可以包括計算機可讀存儲介質(zhì),其上載有用于使處理器實現(xiàn)本公開的各個方面的計算機可讀程序指令。
計算機可讀存儲介質(zhì)可以是可以保持和存儲由指令執(zhí)行設(shè)備使用的指令的有形設(shè)備。計算機可讀存儲介質(zhì)例如可以是但不限于電存儲設(shè)備、磁存儲設(shè)備、光存儲設(shè)備、電磁存儲設(shè)備、半導(dǎo)體存儲設(shè)備或者上述的任意合適的組合。計算機可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:便攜式計算機盤、硬盤、隨機存取存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、靜態(tài)隨機存取存儲器(sram)、便攜式壓縮盤只讀存儲器(cd-rom)、數(shù)字多功能盤(dvd)、記憶棒、軟盤、機械編碼設(shè)備、例如其上存儲有指令的打孔卡或凹槽內(nèi)凸起結(jié)構(gòu)、以及上述的任意合適的組合。這里所使用的計算機可讀存儲介質(zhì)不被解釋為瞬時信號本身,諸如無線電波或者其他自由傳播的電磁波、通過波導(dǎo)或其他傳輸媒介傳播的電磁波(例如,通過光纖電纜的光脈沖)、或者通過電線傳輸?shù)碾娦盘枴?/p>
這里所描述的計算機可讀程序指令可以從計算機可讀存儲介質(zhì)下載到各個計算/處理設(shè)備,或者通過網(wǎng)絡(luò)、例如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)和/或無線網(wǎng)下載到外部計算機或外部存儲設(shè)備。網(wǎng)絡(luò)可以包括銅傳輸電纜、光纖傳輸、無線傳輸、路由器、防火墻、交換機、網(wǎng)關(guān)計算機和/或邊緣服務(wù)器。每個計算/處理設(shè)備中的網(wǎng)絡(luò)適配卡或者網(wǎng)絡(luò)接口從網(wǎng)絡(luò)接收計算機可讀程序指令,并轉(zhuǎn)發(fā)該計算機可讀程序指令,以供存儲在各個計算/處理設(shè)備中的計算機可讀存儲介質(zhì)中。
用于執(zhí)行本公開操作的計算機程序指令可以是匯編指令、指令集架構(gòu)(isa)指令、機器指令、機器相關(guān)指令、微代碼、固件指令、狀態(tài)設(shè)置數(shù)據(jù)、或者以一種或多種編程語言的任意組合編寫的源代碼或目標(biāo)代碼,所述編程語言包括面向?qū)ο蟮木幊陶Z言—諸如smalltalk、c++等,以及常規(guī)的過程式編程語言—諸如“c”語言或類似的編程語言。計算機可讀程序指令可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠(yuǎn)程計算機上執(zhí)行、或者完全在遠(yuǎn)程計算機或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計算機的情形中,遠(yuǎn)程計算機可以通過任意種類的網(wǎng)絡(luò)—包括局域網(wǎng)(lan)或廣域網(wǎng)(wan)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。在一些實施例中,通過利用計算機可讀程序指令的狀態(tài)信息來個性化定制電子電路,例如可編程邏輯電路、現(xiàn)場可編程門陣列(fpga)或可編程邏輯陣列(pla),該電子電路可以執(zhí)行計算機可讀程序指令,從而實現(xiàn)本公開的各個方面。
這里參照根據(jù)本公開實施例的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品的流程圖和/或框圖描述了本公開的各個方面。應(yīng)當(dāng)理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機可讀程序指令實現(xiàn)。
這些計算機可讀程序指令可以提供給通用計算機、專用計算機或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機器,使得這些指令在通過計算機或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時,產(chǎn)生了實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。也可以把這些計算機可讀程序指令存儲在計算機可讀存儲介質(zhì)中,這些指令使得計算機、可編程數(shù)據(jù)處理裝置和/或其他設(shè)備以特定方式工作,從而,存儲有指令的計算機可讀介質(zhì)則包括一個制造品,其包括實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的各個方面的指令。
也可以把計算機可讀程序指令加載到計算機、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計算機、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計算機實現(xiàn)的過程,從而使得在計算機、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上執(zhí)行的指令實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作。
這樣,通過充分利用預(yù)定排列模式信息,根據(jù)本公開上述實施例的視頻分析設(shè)備、方法和計算機可讀存儲介質(zhì)能夠提高視頻中對象定位的準(zhǔn)確性。
附圖中的流程圖和框圖顯示了根據(jù)本公開的多個實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。在有些作為替換的實現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
以上已經(jīng)描述了本公開的各實施例,上述說明是示例性的,并非窮盡性的,并且也不限于所披露的各實施例。在不偏離所說明的各實施例的范圍和精神的情況下,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說許多修改和變更都是顯而易見的。本文中所用術(shù)語的選擇,旨在最好地解釋各實施例的原理、實際應(yīng)用或?qū)κ袌鲋械募夹g(shù)的技術(shù)改進(jìn),或者使本技術(shù)領(lǐng)域的其它普通技術(shù)人員能理解本文披露的各實施例。