本公開(kāi)涉及視頻分析領(lǐng)域,特別涉及通過(guò)視頻分析對(duì)昆蟲的特征進(jìn)行自動(dòng)識(shí)別。
背景技術(shù):
動(dòng)物行為學(xué)是生物學(xué)中的一個(gè)重要的研究方向。傳統(tǒng)的動(dòng)物行為學(xué)研究主要靠人工識(shí)別分析動(dòng)物行為的強(qiáng)度,這樣做不僅耗費(fèi)人力與時(shí)間,還會(huì)因不同人對(duì)行為的主觀標(biāo)準(zhǔn)不統(tǒng)一降低不同實(shí)驗(yàn)間的可比性。目前已存在一些對(duì)昆蟲的行為視頻進(jìn)行自動(dòng)分析的算法。然而,已有算法適用于比較理想的視頻拍攝環(huán)境,難以應(yīng)對(duì)例如生物學(xué)實(shí)驗(yàn)室等低成本拍攝條件下的視頻噪聲,魯棒性不強(qiáng)。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本公開(kāi)提出了視頻分析設(shè)備、方法、計(jì)算機(jī)程序。
根據(jù)本公開(kāi)的一方面,提供了一種視頻分析設(shè)備,所述設(shè)備包括:前景提取部,用于從輸入視頻中提取昆蟲前景圖像,以及三維姿態(tài)重建部,包括:特征點(diǎn)求解單元,用于從所述昆蟲前景圖像中計(jì)算初始特征點(diǎn),并且利用在所述昆蟲前景圖像中所標(biāo)定的特征點(diǎn)生成特征點(diǎn)信號(hào)子空間,根據(jù)所述初始特征點(diǎn)和所標(biāo)定的特征點(diǎn)、在所述特征點(diǎn)信號(hào)子空間的約束下訓(xùn)練迭代矩陣,以將所述迭代矩陣限制在所述特征點(diǎn)信號(hào)子空間上,通過(guò)對(duì)所述初始特征點(diǎn)利用所訓(xùn)練的迭代矩陣進(jìn)行迭代,求解出每一視頻幀中的昆蟲身體最終特征點(diǎn),以及姿態(tài)計(jì)算單元,所述姿態(tài)計(jì)算單元通過(guò)所述昆蟲身體最終特征點(diǎn)來(lái)重建所述昆蟲的姿態(tài)。
根據(jù)本公開(kāi)的其它方面,提供了一種視頻分析方法,包括:從輸入視頻中提取昆蟲前景圖像;從所述昆蟲前景圖像中計(jì)算初始特征點(diǎn),并且利用在所述昆蟲前景圖像中所標(biāo)定的特征點(diǎn)生成特征點(diǎn)信號(hào)子空間;根據(jù)所述初始特征點(diǎn)和所標(biāo)定的特征點(diǎn)、在所述特征點(diǎn)信號(hào)子空間的約束下訓(xùn)練迭代矩陣,以將所述迭代矩陣限制在所述特征點(diǎn)信號(hào)子空間上;通過(guò)對(duì)所述初始特征點(diǎn)利用所訓(xùn)練的迭代矩陣進(jìn)行迭代,求解出每一視頻幀中的昆蟲身體最終特征點(diǎn);以及通過(guò)所述昆蟲身體最終特征點(diǎn)來(lái)重建所述昆蟲的姿態(tài)。
根據(jù)本公開(kāi)的其它方面,提供一種視頻分析設(shè)備,其特征在于,包括:處理器,用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器,其中,所述處理器被配置為執(zhí)行上述任一可能的實(shí)施方式所述的視頻分析方法。
根據(jù)本公開(kāi)的其它方面,提供一種計(jì)算機(jī)程序產(chǎn)品,包括用于使處理器實(shí)現(xiàn)上述任一可能的實(shí)施方式所述的視頻分析方法的計(jì)算機(jī)可讀程序指令。
本公開(kāi)的實(shí)施例可以對(duì)昆蟲三維特征的迭代過(guò)程進(jìn)行自適應(yīng),有助于提高昆蟲三維姿態(tài)重建的魯棒性。
進(jìn)一步地,根據(jù)本公開(kāi)的實(shí)施例,例如可以通過(guò)昆蟲身體結(jié)構(gòu)來(lái)限制視頻中的前景面積,對(duì)昆蟲三維特征的閾值進(jìn)行自適應(yīng),有助于提高昆蟲三維姿態(tài)重建的魯棒性和/或準(zhǔn)確性。
根據(jù)下面參考附圖對(duì)示例性實(shí)施例的詳細(xì)說(shuō)明,本公開(kāi)的其它特征及方面將變得清楚。
附圖說(shuō)明
包含在說(shuō)明書中并且構(gòu)成說(shuō)明書的一部分的附圖與說(shuō)明書一起示出了本公開(kāi)的示例性實(shí)施例、特征和方面,并且用于解釋本公開(kāi)的原理。
圖1示出根據(jù)示例實(shí)施方式的用于從輸入視頻中自動(dòng)識(shí)別昆蟲的特征的視頻分析設(shè)備1的示意框圖。
圖2示出根據(jù)一個(gè)示例的視頻預(yù)處理部16的示意框圖。
圖3示出了根據(jù)一個(gè)示例的前景提取部12的示意框圖。
圖4示出了根據(jù)一個(gè)具體示例的背景亮度畸變估計(jì)單元的結(jié)構(gòu)的示意框圖。
圖5示出了根據(jù)一個(gè)實(shí)施方式的昆蟲的身體姿態(tài)重建示意圖。
圖6示出了根據(jù)一個(gè)示例實(shí)施方式的視頻分析設(shè)備2的示意框圖。
圖7示出了根據(jù)一個(gè)示例實(shí)施方式的視頻分析設(shè)備3的示意框圖。
圖8示出了根據(jù)一個(gè)示例實(shí)施方式的視頻分析方法的示意流程圖。
圖9是根據(jù)示例實(shí)施例示出的一種用于視頻分析裝置1900的框圖。
具體實(shí)施方式
以下將參考附圖詳細(xì)說(shuō)明本公開(kāi)的各種示例實(shí)施例、特征和方面。附圖中相同的附圖標(biāo)記表示功能相同或相似的元件。盡管在附圖中示出了實(shí)施例的各種方面,但是除非特別指出,不必按比例繪制附圖。
在這里專用的詞“示例”意為“用作例子、實(shí)施例或說(shuō)明性”。這里作為“示例”所說(shuō)明的任何實(shí)施例不必解釋為優(yōu)于或好于其它實(shí)施例。舉例而言,本公開(kāi)中涉及的“閾值”可以理解為子視頻中的亮度的閾值。
另外,為了更好的說(shuō)明本公開(kāi),在下文的具體實(shí)施方式中給出了眾多的具體細(xì)節(jié)。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,沒(méi)有某些具體細(xì)節(jié),本公開(kāi)同樣可以實(shí)施。在一些實(shí)例中,對(duì)于本領(lǐng)域技術(shù)人員熟知的方法、手段、元件和電路未作詳細(xì)描述,以便于凸顯本公開(kāi)的主旨。
圖1示出了根據(jù)示例實(shí)施方式的視頻分析設(shè)備1的示意框圖。該設(shè)備可用于從輸入視頻中自動(dòng)識(shí)別昆蟲的特征。如圖1所示,視頻分析設(shè)備1可包括前景提取部12和三維姿態(tài)重建部14。前景提取部12可從輸入視頻中提取昆蟲前景圖像。三維姿態(tài)重建部14可包括特征點(diǎn)求解單元142和姿態(tài)計(jì)算單元144。特征點(diǎn)求解單元142可從昆蟲前景圖像中計(jì)算初始特征點(diǎn),并且利用在昆蟲前景圖像中所標(biāo)定的特征點(diǎn)生成特征點(diǎn)信號(hào)子空間。特征點(diǎn)求解單元142還可以根據(jù)初始特征點(diǎn)和所標(biāo)定的特征點(diǎn)、在信號(hào)子空間的約束下訓(xùn)練迭代矩陣,以將迭代矩陣限制在特征點(diǎn)信號(hào)子空間上,通過(guò)對(duì)初始特征點(diǎn)利用所訓(xùn)練的迭代矩陣進(jìn)行迭代計(jì)算,求解出每一視頻幀中的昆蟲身體最終特征點(diǎn)。姿態(tài)計(jì)算單元144可通過(guò)求出的昆蟲身體最終特征點(diǎn)來(lái)重建昆蟲的姿態(tài)。在一個(gè)具體實(shí)現(xiàn)中,前景提取部12可利用昆蟲活動(dòng)臺(tái)(arena,有時(shí)稱為“打架臺(tái)”)模型進(jìn)行迭代以自適應(yīng)地計(jì)算輸入視頻中的前景,從而提取昆蟲前景圖像。
在一個(gè)示例中,視頻分析設(shè)備1還可以包括視頻預(yù)處理部16。圖2示出了根據(jù)一個(gè)示例的視頻預(yù)處理部16的示意框圖。視頻預(yù)處理部16用于對(duì)輸入視頻進(jìn)行預(yù)處理,以得到多個(gè)子視頻。視頻預(yù)處理部16可包括活動(dòng)臺(tái)估計(jì)單元162和子視頻生成單元164。如圖2所示,活動(dòng)臺(tái)估計(jì)單元162可從輸入視頻中提取多個(gè)幀,估計(jì)多個(gè)幀中各昆蟲活動(dòng)臺(tái)的位置、大小以及出現(xiàn)和移出各昆蟲活動(dòng)臺(tái)的時(shí)刻。在一個(gè)具體實(shí)現(xiàn)中,活動(dòng)臺(tái)估計(jì)單元162可對(duì)多個(gè)輸入幀應(yīng)用與多個(gè)昆蟲活動(dòng)臺(tái)的已知形狀相對(duì)應(yīng)的數(shù)學(xué)變換,以檢測(cè)多個(gè)幀中與已知形狀相對(duì)應(yīng)的物體。子視頻生成單元164可根據(jù)活動(dòng)臺(tái)估計(jì)單元162估計(jì)得到的各昆蟲活動(dòng)臺(tái)的位置、大小和出現(xiàn)各昆蟲活動(dòng)臺(tái)的時(shí)刻,對(duì)輸入視頻進(jìn)行切割,以得到各自包含一個(gè)單獨(dú)昆蟲活動(dòng)臺(tái)的多個(gè)子視頻。圖1中例示出的前景提取部12可根據(jù)歸一化后的多個(gè)子視頻,提取昆蟲前景圖像。應(yīng)當(dāng)理解,活動(dòng)臺(tái)估計(jì)單元162可用于檢測(cè)視頻中的圓形活動(dòng)臺(tái),但不以此為限,例如也可以用于檢測(cè)多個(gè)其它形狀的活動(dòng)臺(tái)。檢測(cè)其它形狀的活動(dòng)臺(tái)時(shí),只需將變換替換為檢測(cè)其它特定形狀的以霍夫變換為例的數(shù)學(xué)變換。利用與上述數(shù)學(xué)變換相適應(yīng)的各種修改,可實(shí)現(xiàn)針對(duì)任意形狀活動(dòng)臺(tái)的檢測(cè),這是本領(lǐng)域技術(shù)人員容易理解的,上述各種修改均在本公開(kāi)的范圍之內(nèi)。
背景模型
在一個(gè)具體示例中,可以通過(guò)將視頻背景的像素值建模成一定的概率分布,得到不屬于背景模型的前景像素,并在此基礎(chǔ)上通過(guò)自適應(yīng)算法得到準(zhǔn)確的前景。在一個(gè)具體實(shí)現(xiàn)中,所使用的測(cè)試視頻在通過(guò)例如子視頻生成單元164切割后,可以只包含單獨(dú)的固定活動(dòng)臺(tái),因此可以使用例如單高斯背景模型對(duì)視頻背景進(jìn)行建模。具體地,根據(jù)一個(gè)示例,視頻分析設(shè)備1可以首先將視頻中每個(gè)像素的取值建模成單高斯分布,然后通過(guò)統(tǒng)計(jì)整個(gè)視頻,得到像素(x,y)的高斯分布均值和方差作為背景模型的分布參數(shù)。
在一個(gè)示例中,昆蟲活動(dòng)臺(tái)模型可以是輸入視頻中活動(dòng)臺(tái)空腔的圓心和半徑,其可以刻畫活動(dòng)臺(tái)中昆蟲的可移動(dòng)范圍,對(duì)象昆蟲可被限制在昆蟲活動(dòng)臺(tái)內(nèi)部活動(dòng)。在一個(gè)示例中,當(dāng)昆蟲活動(dòng)臺(tái)中昆蟲的移動(dòng)比較頻繁,且其移動(dòng)區(qū)域遍布整個(gè)活動(dòng)臺(tái)空腔時(shí),可以利用背景模型參數(shù)的變化來(lái)對(duì)活動(dòng)臺(tái)進(jìn)行建模。在一個(gè)示例中,輸入視頻中各像素的初始亮度畸變均方根在活動(dòng)臺(tái)的空腔內(nèi)外具有明顯的差異,因此可以用來(lái)確定活動(dòng)臺(tái)空腔的范圍,其算法流程如以下算法所示。應(yīng)當(dāng)理解,盡管以下算法的偽代碼以果蠅作為對(duì)象昆蟲的示例,但本公開(kāi)的設(shè)備和方法還可以應(yīng)用于其它昆蟲的視頻分析,不以果蠅為限。在以下算法實(shí)例中,n為亮度畸變r(jià)ms的二值化圖像中連通區(qū)域的個(gè)數(shù),m為所述連通區(qū)域中不靠近邊緣的連通區(qū)域的個(gè)數(shù)。
圖3示出了根據(jù)一個(gè)示例的前景提取部12的示意框圖。
如圖3所示,在一個(gè)示例中,前景提取部12可以包括背景亮度畸變估計(jì)單元122、昆蟲平均尺寸估計(jì)單元126、昆蟲翅膀估計(jì)單元124、和昆蟲身體估計(jì)單元128。背景亮度畸變估計(jì)單元122可用于劃分子視頻中的背景。昆蟲平均尺寸估計(jì)單元126可用于根據(jù)子視頻和初始昆蟲身體閾值來(lái)獲得身體二值圖像,還可以與活動(dòng)臺(tái)中的昆蟲的已知數(shù)量相對(duì)應(yīng)地,在身體二值圖像中針對(duì)昆蟲的身體進(jìn)行建模,以求出昆蟲的平均尺寸。昆蟲翅膀估計(jì)單元124可用于根據(jù)子視頻和初始昆蟲翅膀閾值來(lái)獲得昆蟲整體二值圖像,其中,可以針對(duì)所述多個(gè)幀中的各幀進(jìn)行迭代,在迭代中,根據(jù)昆蟲整體二值圖像中的連通域面積,對(duì)初始昆蟲翅膀閾值進(jìn)行自適應(yīng)調(diào)整。昆蟲翅膀估計(jì)單元124可以輸出昆蟲整體二值圖像和自適應(yīng)后的昆蟲翅膀閾值。昆蟲身體估計(jì)單元128可接收昆蟲整體二值圖像,并且接收子視頻、初始昆蟲身體閾值和子視頻中的已知的昆蟲數(shù)量。昆蟲身體估計(jì)單元128可使用初始昆蟲身體閾值求出身體二值圖像,其中,針對(duì)所述多個(gè)幀中的各幀進(jìn)行迭代,在迭代中,可以根據(jù)身體二值圖像中的連通域面積,對(duì)初始昆蟲身體閾值進(jìn)行自適應(yīng)調(diào)整,以輸出自適應(yīng)后的昆蟲身體閾值和根據(jù)自適應(yīng)后的昆蟲身體閾值獲得的昆蟲身體二值圖像。在一個(gè)示例中,昆蟲前景圖像可以包括根據(jù)自適應(yīng)后的昆蟲身體閾值獲得的昆蟲身體二值圖像。示例的實(shí)施方式可以有助于應(yīng)對(duì)短時(shí)間光照變化對(duì)視頻分析的影響。
在一個(gè)具體實(shí)現(xiàn)中,可以通過(guò)昆蟲的平均尺寸,得到視頻中昆蟲的平均身體面積??梢愿鶕?jù)平均身體面積對(duì)前景圖像中檢到的身體和翅膀的面積進(jìn)行限制,從而自適應(yīng)地得到合理的前景閾值。除可用于優(yōu)化前景提取外,活動(dòng)臺(tái)模型和昆蟲模型還可以輔助建立昆蟲姿態(tài),并可以用來(lái)對(duì)昆蟲特征進(jìn)行歸一化。
在一個(gè)具體示例中,以果蠅作為對(duì)象昆蟲。例如,視頻分析設(shè)備1中的背景亮度畸變估計(jì)單元122可以利用像素層模型初步劃分屬于背景、果蠅身體和果蠅翅膀的像素點(diǎn)。例如,還可以利用活動(dòng)臺(tái)模型、果蠅身體模型和果蠅翅膀模型(統(tǒng)稱為物體層模型)更精確地估計(jì)果蠅身體和翅膀的位置和大小,其中表征活動(dòng)臺(tái)、身體和翅膀的閾值等的參數(shù)可以由自適應(yīng)算法迭代計(jì)算得到。
在一個(gè)具體示例中,在得到視頻模型后,可以根據(jù)視頻模型自適應(yīng)調(diào)整昆蟲的身體閾值和翅膀閾值。前景圖像中的昆蟲身體可以決定昆蟲的位置、方向、身體傾角等特征,而翅膀可以決定昆蟲的翅膀角度。在一個(gè)具體示例中,在前景圖像中,昆蟲身體可以具有比翅膀更高的重要性。
例如,在一個(gè)具體實(shí)現(xiàn)中,可以先對(duì)昆蟲翅膀閾值進(jìn)行自適應(yīng),得到比較準(zhǔn)確的翅膀區(qū)域。例如,還可以結(jié)合昆蟲模型和昆蟲翅膀的自適應(yīng)結(jié)果對(duì)昆蟲身體閾值進(jìn)行自適應(yīng),以得到更準(zhǔn)確的昆蟲身體。再例如,還可以根據(jù)昆蟲身體的自適應(yīng)結(jié)果對(duì)前景圖像中的昆蟲翅膀進(jìn)行優(yōu)化,從而得到更精確的前景圖像。在一個(gè)具體示例中,可以根據(jù)昆蟲身體尺寸的統(tǒng)計(jì)值消除固定閾值所引起的噪聲,得到比較精確的昆蟲模型。
在一個(gè)具體實(shí)現(xiàn)中,例如,可以根據(jù)果蠅模型來(lái)確定前景中期望得到的果蠅身體和翅膀面積,從而根據(jù)當(dāng)前前景面積對(duì)閾值進(jìn)行自適應(yīng),以增加前景提取的魯棒性。
在一個(gè)具體實(shí)現(xiàn)中,例如,對(duì)于視頻中的果蠅,其前景像素可分為身體和翅膀兩個(gè)部分。其中,由于果蠅身體一般為黑色,例如可以根據(jù)像素亮度變化對(duì)其進(jìn)行區(qū)分。另一方面,由于果蠅翅膀具有一定的透光性,可能導(dǎo)致其像素值色調(diào)和背景相同、而亮度不同,表現(xiàn)出與陰影相似的特點(diǎn)。因此,在一個(gè)示例實(shí)現(xiàn)中,可以使用例如horprasert等(horprasertt,harwoodd,davisls.arobustbackgroundsubtractionandshadowdetection.proc.accv,2000.983–988.)提出的亮度畸變來(lái)刻畫背景像素的亮度變化,以區(qū)分果蠅的身體和翅膀。
由于不同像素的變化幅度可能不同,為使用統(tǒng)一的閾值處理全部像素,背景亮度畸變估計(jì)單元122可使用去均值后的均方根(rootmeansquare,rms)對(duì)視頻中的各像素值進(jìn)行歸一化,以得到最終的亮度畸變。
在一個(gè)具體示例中,在前景提取部12的上述迭代計(jì)算中,昆蟲平均尺寸估計(jì)單元126可以在子視頻中的昆蟲身體連通域的數(shù)量與昆蟲的數(shù)量不同時(shí),對(duì)子視頻中的各像素的坐標(biāo)進(jìn)行聚類,以求出昆蟲的平均尺寸。例如,昆蟲平均尺寸估計(jì)單元126還可以根據(jù)昆蟲的平均尺寸求出昆蟲的平均身體面積。昆蟲平均尺寸估計(jì)單元126還可以根據(jù)平均身體面積對(duì)昆蟲前景圖像中檢測(cè)到的昆蟲身體和翅膀的面積進(jìn)行限制,從而對(duì)昆蟲翅膀閾值和昆蟲身體閾值進(jìn)行自適應(yīng)調(diào)整。
在一個(gè)具體示例中,昆蟲翅膀估計(jì)單元124可以與平均身體面積、子視頻中的昆蟲數(shù)量的乘積和昆蟲的可能姿勢(shì)相對(duì)應(yīng)地來(lái)確定昆蟲整體最小面積值和昆蟲整體最大面積值。例如,在迭代計(jì)算中,可以將昆蟲整體二值圖像中的各連通域的面積之和與昆蟲整體最大面積值進(jìn)行比較,如果各連通域的面積之和大于昆蟲整體最大面積值,則使昆蟲翅膀閾值減小預(yù)定的自適應(yīng)步長(zhǎng),如果各連通域的面積之和小于昆蟲整體最小面積值,則使昆蟲翅膀閾值增大預(yù)定的自適應(yīng)步長(zhǎng),由此得到自適應(yīng)后的昆蟲翅膀閾值。
例如,在一個(gè)具體實(shí)現(xiàn)中,通過(guò)迭代計(jì)算進(jìn)行的最大自適應(yīng)次數(shù)和預(yù)定的自適應(yīng)步長(zhǎng)可以根據(jù)子視頻的幀率或光照變化條件來(lái)確定。
在一個(gè)具體示例中,例如通過(guò)昆蟲翅膀估計(jì)單元124對(duì)果蠅翅膀閾值進(jìn)行自適應(yīng)的方法如以下算法所示。
上述算法的示例中有5個(gè)參數(shù):最大自適應(yīng)次數(shù)imax,fly、噪聲閾值snoise、自適應(yīng)步長(zhǎng)δ,以及果蠅面積限制smin,fly和smax,fly。在一個(gè)示例中,smin,fly可表示昆蟲整體最小面積值,smax,fly可表示昆蟲整體最大面積值。其中imax,fly可用來(lái)限制自適應(yīng)次數(shù),以預(yù)防視頻中的極端惡劣條件。ffly表示昆蟲整體二值圖像。snoise可用來(lái)對(duì)ffly的連通域進(jìn)行降噪,可根據(jù)視頻信噪比對(duì)其合理取值。自適應(yīng)步長(zhǎng)δ可用來(lái)控制每次自適應(yīng)的精細(xì)度,其可以和imax,fly一起決定算法的最大自適應(yīng)速度,可根據(jù)視頻的fps、光照變化條件等因素合理選擇δ和imax,fly。
smin,fly和smax,fly是用于自適應(yīng)調(diào)整的參數(shù),其可以用來(lái)決定自適應(yīng)后前景中果蠅身體和翅膀的面積。在一個(gè)理想情況下,sfly可以只包含果蠅的身體和翅膀,從而可根據(jù)果蠅的身體結(jié)構(gòu)和視頻中的果蠅數(shù)確定合理的smin,fly和smax,fly。
在一個(gè)具體示例中,在迭代計(jì)算中,昆蟲身體估計(jì)單元128可以在昆蟲身體二值圖像中各身體連通域的面積之和大于昆蟲身體最大面積值時(shí),使昆蟲身體閾值減小預(yù)定的自適應(yīng)步長(zhǎng)。在一個(gè)具體實(shí)現(xiàn)中,在各身體連通域的面積之和小于昆蟲身體最小面積值時(shí),可以使昆蟲身體閾值增大預(yù)定的自適應(yīng)步長(zhǎng)。其中,在一個(gè)具體實(shí)現(xiàn)中,昆蟲身體最大面積值和昆蟲身體最小面積值可以與平均身體面積和昆蟲的可能姿勢(shì)相對(duì)應(yīng)地確定。
在一個(gè)具體示例中,昆蟲身體估計(jì)單元128也可以在如下情況時(shí)也使昆蟲身體閾值增大預(yù)定的自適應(yīng)步長(zhǎng):例如,檢測(cè)到的昆蟲身體連通域的數(shù)量大于子視頻中的昆蟲的數(shù)量、并且存在昆蟲整體連通域內(nèi)部的昆蟲身體連通域的數(shù)量大于或等于2的昆蟲整體連通域。示例的實(shí)施方式可以有助于應(yīng)對(duì)初始昆蟲身體閾值設(shè)置較低、以致昆蟲身體連通域發(fā)生分裂的情況。
例如,與翅膀閾值自適應(yīng)的方法類似,例如可以由昆蟲身體估計(jì)單元128根據(jù)其連通域面積進(jìn)行自適應(yīng),其算法流程可以基本與上述果蠅翅膀閾值自適應(yīng)算法相同,其各參數(shù)的意義也可以和上述算法中的各參數(shù)相對(duì)應(yīng),以下僅對(duì)兩算法的區(qū)別進(jìn)行說(shuō)明。
首先,昆蟲身體估計(jì)自適應(yīng)算法中,除限制了果蠅身體的最小面積外,還可以額外增加條件。例如,為使昆蟲處于其它姿態(tài)時(shí)不發(fā)生漏檢,在對(duì)象昆蟲例如為果蠅時(shí),可以使用果蠅身體和果蠅整體連通域的從屬關(guān)系對(duì)smin,body進(jìn)行補(bǔ)足。測(cè)試表明,當(dāng)初始昆蟲身體閾值較低時(shí),身體的連通域可能會(huì)發(fā)生分裂,此時(shí)可以增加的條件例如是以下兩者:
1.檢測(cè)到的果蠅身體連通域數(shù)量大于視頻中的果蠅數(shù),即m>k;并且
2.存在一個(gè)果蠅整體連通域,其內(nèi)部的果蠅身體連通域數(shù)量大于等于2。
在一個(gè)具體實(shí)現(xiàn)中,在得到自適應(yīng)后的昆蟲身體閾值和昆蟲身體二值圖像fbody后,可以對(duì)ffly進(jìn)行二次降噪。例如,可以通過(guò)刪除ffly中不包含果蠅身體的連通域得到更準(zhǔn)確的視頻前景。在引入了基于視頻模型的前景閾值自適應(yīng)算法后,例如,當(dāng)視頻中發(fā)生短時(shí)間光照變化導(dǎo)致前景判別錯(cuò)誤時(shí),可以根據(jù)自適應(yīng)條件對(duì)昆蟲身體閾值和昆蟲翅膀閾值進(jìn)行對(duì)應(yīng)的調(diào)整,以得到更準(zhǔn)確的前景二值圖像,即昆蟲翅膀二值圖像ffly和昆蟲身體二值圖像fbody。
圖4示出了根據(jù)一個(gè)具體示例的背景亮度畸變估計(jì)單元的結(jié)構(gòu)的示意框圖。在一個(gè)具體示例中,如圖4所示,背景亮度畸變估計(jì)單元122可以包括精確估計(jì)單元1222。在一個(gè)示例實(shí)現(xiàn)中,精確估計(jì)單元1222可以從視頻預(yù)處理部16接收子視頻,并且以初始視頻亮度畸變值作為閾值對(duì)子視頻進(jìn)行二值化,在所得到的活動(dòng)臺(tái)二值圖像中求出各連通域。例如,精確估計(jì)單元1222還可以選擇大于特定閾值的連通域作為活動(dòng)臺(tái)的空腔范圍,針對(duì)所選擇出的空腔范圍求出活動(dòng)臺(tái)的精確位置和大小。在一個(gè)具體示例中,背景亮度畸變估計(jì)單元122還可以利用精確估計(jì)單元1222所求出的位置和大小,將活動(dòng)臺(tái)的空腔內(nèi)各像素的統(tǒng)計(jì)值用活動(dòng)臺(tái)的空腔外的各像素的均值來(lái)替換,以確定背景。
在一個(gè)具體示例中,特征點(diǎn)求解單元142可以根據(jù)前景提取部12提取出的昆蟲前景圖像估計(jì)昆蟲的姿態(tài)。其中,特征點(diǎn)求解單元142可以使用例如由昆蟲身體估計(jì)單元128得出的身體二值圖像估計(jì)昆蟲身體基本特征。在一個(gè)具體實(shí)現(xiàn)中,特征點(diǎn)求解單元142可以根據(jù)昆蟲身體估計(jì)單元128得出的身體基本特征以及昆蟲所處的位置、方向或傾斜角度,計(jì)算昆蟲身體初始特征點(diǎn)。然后,在一個(gè)具體實(shí)現(xiàn)中,特征點(diǎn)求解單元142還可以根據(jù)例如由昆蟲翅膀估計(jì)單元124得出的昆蟲整體二值圖像來(lái)估計(jì)昆蟲翅膀初始特征點(diǎn)。
在一個(gè)具體實(shí)現(xiàn)中,特征點(diǎn)求解單元142可以利用昆蟲活動(dòng)臺(tái)模型,求得昆蟲在活動(dòng)臺(tái)中的相對(duì)半徑和昆蟲頭部的相對(duì)方向,以估計(jì)昆蟲的姿態(tài)。
進(jìn)一步,例如,特征點(diǎn)求解單元142可以將所標(biāo)定的特征點(diǎn)集合和相對(duì)應(yīng)的初始特征點(diǎn)集合按照初始特征點(diǎn)的頭部方向?qū)R,利用監(jiān)督下降算法即sdm算法訓(xùn)練迭代矩陣,以獲得昆蟲身體最終特征點(diǎn)。
特征點(diǎn)標(biāo)定
在一個(gè)具體實(shí)現(xiàn)中,對(duì)象昆蟲以果蠅為例。例如,在定義了果蠅特征點(diǎn)的位置后,可以對(duì)果蠅特征點(diǎn)進(jìn)行標(biāo)定,以訓(xùn)練特征點(diǎn)定位模型。
引入子空間約束的sdm算法
相比涉及人臉等的特征點(diǎn)定位問(wèn)題,由于昆蟲特征點(diǎn)數(shù)量少,且當(dāng)昆蟲傾斜、旋轉(zhuǎn)時(shí),特征點(diǎn)在圖像中的位置不明確,導(dǎo)致sdm算法容易迭代計(jì)算出錯(cuò)誤的結(jié)果,影響昆蟲姿態(tài)的重建。而由于所標(biāo)定的昆蟲身體特征點(diǎn)具有一定的對(duì)稱性,可以認(rèn)為正確的特征點(diǎn)集合同屬于一個(gè)信號(hào)子空間。例如,可以參考aam(cootestf,edwardsgj,taylorcj.activeappearancemodels.ieeetransactionsonpatternanalysis&machineintelligence,2001,(6):681–685.)等算法,利用標(biāo)定點(diǎn)建立信號(hào)子空間,將sdm算法的迭代限制在信號(hào)子空間上。此時(shí),sdm算法的自變量變?yōu)樾盘?hào)子空間內(nèi)果蠅不同特征姿態(tài)的權(quán)重,例如可以通過(guò)圖像特征直接對(duì)昆蟲姿態(tài)進(jìn)行更新,從而確保得到可重建的特征點(diǎn)。
在一個(gè)具體實(shí)現(xiàn)中,為降低信號(hào)子空間的維度,可以對(duì)昆蟲特征點(diǎn)進(jìn)行對(duì)齊。下表示出了以果蠅為例的各示例特征點(diǎn)的意義及其符號(hào)表示。昆蟲的特征點(diǎn)向量的一個(gè)描述可以為
其中,
在一個(gè)具體示例中,可以使用主成分分析(principalcomponentsanalysis,pca)對(duì)果蠅標(biāo)定特征點(diǎn)建立信號(hào)子空間,得到果蠅特征點(diǎn)在子空間上的投影
其中,w為pca得到的投影矩陣,
得到果蠅的特征點(diǎn)在子空間上的投影向量
對(duì)應(yīng)地,可得
此時(shí)sdm算法的迭代過(guò)程為
在一個(gè)具體實(shí)現(xiàn)中,該迭代訓(xùn)練時(shí)的優(yōu)化函數(shù)為
其中,為第i個(gè)標(biāo)定點(diǎn)和其對(duì)應(yīng)的初始點(diǎn)迭代k次后所得到的迭代點(diǎn)在信號(hào)子空間上的差值,||·||f表示弗羅貝尼烏斯范數(shù)(frobeniusnorm)。在一個(gè)具體實(shí)現(xiàn)中,特征點(diǎn)求解單元142還可以根據(jù)昆蟲翅膀與身體的連接點(diǎn)初始位置以及昆蟲頭部方向計(jì)算昆蟲翅膀角度,以得到昆蟲翅膀初始特征點(diǎn)。
在求解時(shí),可令
其中n為標(biāo)定點(diǎn)個(gè)數(shù)。sdm算法中使用的點(diǎn)的圖像特征h(·)可以是lbp、sift或hog等任意圖像特征。
由此可以解得sdm算法的迭代矩陣a(k)。
在一個(gè)具體示例中,姿態(tài)計(jì)算單元144可以根據(jù)例如由特征點(diǎn)求解單元142獲得的昆蟲身體最終特征點(diǎn)來(lái)計(jì)算翅膀連接點(diǎn)的三維坐標(biāo)。在一個(gè)具體實(shí)現(xiàn)中,姿態(tài)計(jì)算單元144可以根據(jù)昆蟲身體的建模,利用三角函數(shù)計(jì)算翅膀振翅角和翅膀傾角,來(lái)重建昆蟲翅膀姿態(tài)。
以下在一個(gè)具體示例中,以果蠅為例描述昆蟲身體與翅膀姿態(tài)的重建。
例如,所考慮的昆蟲姿態(tài)特征可以包括以下中的至少一個(gè):昆蟲身體的傾角、身體與水平面的夾角、自旋果蠅繞身體長(zhǎng)軸自旋的角度、翅膀振翅角、翅膀在身體水平面的投影與果蠅身體的夾角、翅膀傾角果蠅翅膀與身體水平面的夾角。
例如,果蠅身體的傾角在果蠅頭朝上時(shí)為正,否則為負(fù)。為確定昆蟲身體傾角的符號(hào),需考慮昆蟲身體特定軸特征點(diǎn)的相對(duì)位置。
圖5示出了根據(jù)一個(gè)實(shí)施方式的昆蟲的身體姿態(tài)重建示意圖。
對(duì)于橢球形的昆蟲身體,其身體中心上與兩短軸相交的截面為圓,下記其為昆蟲圓截面。昆蟲圓截面在視頻中的投影為橢圓或線段,其為橢圓時(shí)如圖7中中部的扁橢圓所示,該橢圓的尺寸可以求得。當(dāng)昆蟲身體傾角的符號(hào)不同時(shí),昆蟲頭部方向的右手向在圓截面投影上的旋轉(zhuǎn)方向不同。因此,可利用該性質(zhì)判斷昆蟲身體傾角的符號(hào)與極軸方向。
在一個(gè)具體示例中,姿態(tài)計(jì)算單元144可以利用昆蟲的身體的對(duì)稱性,對(duì)昆蟲的特征進(jìn)行降噪。
圖6示出了根據(jù)一個(gè)示例實(shí)施方式的視頻分析設(shè)備2的示意框圖。與視頻分析設(shè)備1相比,視頻分析設(shè)備2還可以包括行為識(shí)別部16。在一個(gè)具體實(shí)現(xiàn)中,行為識(shí)別部16可以包括行為分析單元162和特征分類單元164。例如,特征分類單元164可以對(duì)昆蟲的特征進(jìn)行分類,還可以在得到全部分類特征后,對(duì)昆蟲的特征的訓(xùn)練樣本進(jìn)行白化,以使各特征在特征分類單元中的權(quán)重相同。例如,行為分析單元162可以接收例如由特征點(diǎn)求解單元142求解出的昆蟲身體最終特征點(diǎn),并可用于根據(jù)已標(biāo)定行為的特征和該最終特征點(diǎn)對(duì)特征分類單元164進(jìn)行訓(xùn)練,從而分析昆蟲的行為。示例的實(shí)施方式可以有助于提高動(dòng)物行為分類的準(zhǔn)確度。
在一個(gè)具體示例中,對(duì)昆蟲身體特征進(jìn)行估計(jì)的算法例如可以如以下算法所示。以果蠅為例,θh即
在一個(gè)具體示例中,昆蟲翅膀特征可以是根據(jù)昆蟲翅膀二值圖像ffly得到的對(duì)昆蟲二維翅膀角度的粗略估計(jì)出的特征。
在一個(gè)具體實(shí)現(xiàn)中,針對(duì)昆蟲的求偶行為,用于分類的特征可以額外包括昆蟲的頭部到其它昆蟲的距離和方向。
在一個(gè)具體實(shí)現(xiàn)中,針對(duì)昆蟲的連續(xù)性行為進(jìn)行分類時(shí),直到輸入視頻的固定數(shù)量的幀中大于一半的幀被判斷為屬于同一個(gè)新的分類時(shí),才將當(dāng)前分類切換為新的分類。例如,由于果蠅求偶行為是連續(xù)性行為,可根據(jù)各類別的連續(xù)性減少突發(fā)噪聲。
行為分類
在一個(gè)具體實(shí)施方式中,特征分類單元164的輸入可以為根據(jù)昆蟲行為特點(diǎn)設(shè)計(jì)的分類特征,其可分為幀特征和圖片組(groupofpictures,gop)特征兩部分。以下以打架行為為例進(jìn)行說(shuō)明。其中,幀特征為視頻的單幀分類特征,gop特征為若干連續(xù)幀中無(wú)法由幀特征線性組合得到的連續(xù)幀分類特征。gop特征的一個(gè)示例如下表。
例如,可以取gop長(zhǎng)度為3,則此時(shí)第t幀的gop表示從第t-1幀至第t+1幀的幀集合。在一個(gè)具體實(shí)現(xiàn)中,每一幀的分類特征可以包含該幀與前后幀的幀特征,可以從中得到昆蟲信息的幀間變化。此外,分類特征還包含了該幀附近的gop特征,可以從中得到在該幀附近的總體信息。
雖然不同的行為間可能具有較大的差異,但基本都和特征相關(guān),因此可定義不同行為共通的基礎(chǔ)分類幀特征。在一個(gè)具體實(shí)現(xiàn)中,可以進(jìn)行歸一化。例如,歸一化一列是指在得到長(zhǎng)度相關(guān)量后,使用對(duì)應(yīng)的視頻模型進(jìn)行歸一化,以消除不同視頻中活動(dòng)臺(tái)尺寸和個(gè)體差異的影響。
在一個(gè)具體實(shí)現(xiàn)中,基礎(chǔ)分類幀特征或者等于原特征,或者可根據(jù)相鄰幀的特征與視頻模型簡(jiǎn)單計(jì)算得到,具體的計(jì)算過(guò)程這里不再闡述。
對(duì)于昆蟲的打架行為來(lái)講,例如,其可能具有在后挫、前沖過(guò)程中速度方向改變,且在打架過(guò)程中頭部方向基本朝向另一只的特點(diǎn),可相應(yīng)地定義打架行為的額外幀特征。在一個(gè)具體實(shí)現(xiàn)中,最終的打架行為幀特征可以是額外幀特征和基礎(chǔ)幀特征。
在得到分類特征后,可對(duì)所有訓(xùn)練樣本的分類特征進(jìn)行白化,以使各特征在分類器中的權(quán)重相同。
根據(jù)打架行為的標(biāo)定與分類特征可以訓(xùn)練打架行為分類器。由于昆蟲的打架行為具有突發(fā)性,其正樣本幀占視頻全部幀的比例可能很少。因此,在一個(gè)具體實(shí)現(xiàn)中,可以取每次打架行為的全部三幀作為正樣本,而負(fù)樣本例如通過(guò)在視頻中均勻抽取若干非打架幀得到,再通過(guò)給svm算法施加不同的類權(quán)重避免類別間的不平衡。此外,在訓(xùn)練svm分類器時(shí),例如可以使用k折交叉校驗(yàn)(k-foldcross-validation)來(lái)防止過(guò)擬合。在實(shí)際訓(xùn)練中,例如可以取k=5。
應(yīng)當(dāng)理解,盡管此處以打架行為為例進(jìn)行說(shuō)明,但本公開(kāi)同樣可適用于昆蟲的求偶行為等其它行為。
圖7示出了根據(jù)一個(gè)示例實(shí)施方式的視頻分析設(shè)備3的示意框圖。與視頻分析設(shè)備1、2相比,視頻分析設(shè)備3還可以包括行為輸出部18。在一個(gè)具體實(shí)現(xiàn)中,行為輸出部18可以包括用于輸出行為日志的圖形用戶界面。
圖8示出了根據(jù)一個(gè)示例實(shí)施方式的視頻分析方法的示意流程圖。視頻分析方法可以包括以下步驟。從輸入視頻中提取昆蟲前景圖像。從所述昆蟲前景圖像中計(jì)算初始特征點(diǎn),并且利用在所述昆蟲前景圖像中所標(biāo)定的特征點(diǎn)生成特征點(diǎn)信號(hào)子空間。根據(jù)所述初始特征點(diǎn)和所標(biāo)定的特征點(diǎn)、在所述特征點(diǎn)信號(hào)子空間的約束下訓(xùn)練迭代矩陣,以將所述迭代矩陣限制在所述特征點(diǎn)信號(hào)子空間上;通過(guò)對(duì)所述初始特征點(diǎn)利用所訓(xùn)練的迭代矩陣進(jìn)行迭代,求解出每一視頻幀中的昆蟲身體最終特征點(diǎn);以及通過(guò)所述昆蟲身體最終特征點(diǎn)來(lái)重建所述昆蟲的姿態(tài)。
根據(jù)其它可能的實(shí)施方式,視頻分析方法可能包含的步驟如前所述,此處不再贅述。應(yīng)當(dāng)理解,圖8示出的步驟順序以及本公開(kāi)其它部分對(duì)各步驟進(jìn)行描述的順序僅為示例。例如,本技術(shù)領(lǐng)域的技術(shù)人員可以在不偏離本公開(kāi)的范圍和精神的情況下,改變一些步驟之間的執(zhí)行順序或者使一些步驟同時(shí)執(zhí)行。
在可能的實(shí)施方式中,所述視頻分析方法還可包括:從所述輸入視頻中提取多個(gè)幀,估計(jì)所述多個(gè)幀中各昆蟲活動(dòng)臺(tái)的位置、大小及出現(xiàn)和移出各昆蟲活動(dòng)臺(tái)的時(shí)刻;根據(jù)估計(jì)得到的所述各昆蟲活動(dòng)臺(tái)的位置、大小和出現(xiàn)各昆蟲活動(dòng)臺(tái)的時(shí)刻,對(duì)所述輸入視頻進(jìn)行切割,以得到各自包含一個(gè)單獨(dú)昆蟲活動(dòng)臺(tái)的多個(gè)子視頻。其中,從輸入視頻中提取昆蟲前景圖像可以包括:根據(jù)歸一化后的多個(gè)子視頻,提取所述昆蟲前景圖像。
在可能的實(shí)施方式中,從輸入視頻中提取昆蟲前景圖像可包括:劃分所述子視頻中的背景;根據(jù)所述子視頻的亮度畸變和初始昆蟲翅膀閾值來(lái)獲得昆蟲整體二值圖像,其中,針對(duì)所述多個(gè)幀中的各幀進(jìn)行迭代,在迭代中,根據(jù)所述昆蟲整體二值圖像中的連通域面積,對(duì)所述初始昆蟲翅膀閾值進(jìn)行自適應(yīng)調(diào)整,輸出昆蟲整體二值圖像和自適應(yīng)后的昆蟲翅膀閾值;以及接收所述昆蟲整體二值圖像,并且接收所述子視頻、所述初始昆蟲身體閾值和所述子視頻中的已知的昆蟲數(shù)量,其中,針對(duì)所述多個(gè)幀中的各幀進(jìn)行迭代,在迭代中,根據(jù)所述子視頻使用所述初始昆蟲身體閾值求出身體二值圖像,并且根據(jù)身體二值圖像中的連通域面積大小,對(duì)所述初始昆蟲身體閾值進(jìn)行自適應(yīng)調(diào)整,以輸出自適應(yīng)后的昆蟲身體閾值和根據(jù)自適應(yīng)后的昆蟲身體閾值所獲得的昆蟲身體二值圖像。
在可能的實(shí)施方式中,從輸入視頻中提取昆蟲前景圖像可包括:根據(jù)所述子視頻的亮度畸變和初始昆蟲身體閾值來(lái)獲得身體二值圖像;與所述昆蟲活動(dòng)臺(tái)中的昆蟲的已知數(shù)量相對(duì)應(yīng)地,在身體二值圖像中針對(duì)昆蟲的身體進(jìn)行建模,以求出昆蟲的平均尺寸,其中,在迭代中、所述子視頻中的昆蟲身體連通域的數(shù)量與所述昆蟲的數(shù)量不同時(shí),對(duì)所述子視頻中的各像素的坐標(biāo)進(jìn)行聚類以求出昆蟲的平均尺寸;根據(jù)昆蟲的平均尺寸求出昆蟲的平均身體面積;以及根據(jù)所述平均身體面積對(duì)所述昆蟲前景圖像中檢測(cè)到的昆蟲身體和翅膀的面積進(jìn)行限制,從而對(duì)所述初始昆蟲翅膀閾值和所述初始昆蟲身體閾值進(jìn)行自適應(yīng)調(diào)整。
在可能的實(shí)施方式中,從所述昆蟲前景圖像中計(jì)算初始特征點(diǎn)可包括:根據(jù)提取出的所述昆蟲前景圖像估計(jì)昆蟲的姿態(tài);使用所述昆蟲身體二值圖像估計(jì)昆蟲的身體基本特征;根據(jù)所述身體基本特征以及昆蟲所處的位置、方向或傾斜角度,計(jì)算昆蟲身體初始特征點(diǎn);以及根據(jù)所述昆蟲整體二值圖像估計(jì)昆蟲翅膀初始特征點(diǎn)。
在可能的實(shí)施方式中,通過(guò)所述昆蟲身體最終特征點(diǎn)來(lái)重建所述昆蟲的姿態(tài)可包括:根據(jù)所述昆蟲身體最終特征點(diǎn)來(lái)計(jì)算翅膀連接點(diǎn)的三維坐標(biāo);以及根據(jù)昆蟲身體的建模,利用三角函數(shù)計(jì)算翅膀振翅角和翅膀傾角,來(lái)重建昆蟲翅膀姿態(tài)。
在可能的實(shí)施方式中,所述視頻分析方法還可包括:對(duì)所述昆蟲的特征進(jìn)行分類,其中,對(duì)所述昆蟲的特征的訓(xùn)練樣本進(jìn)行白化,以使各特征在特征分類中的權(quán)重相同;以及根據(jù)已標(biāo)定行為和求解得出的所述昆蟲身體最終特征點(diǎn),對(duì)所述特征分類進(jìn)行訓(xùn)練,從而分析所述昆蟲的行為。
在可能的實(shí)施方式中,對(duì)所述初始昆蟲身體閾值進(jìn)行自適應(yīng)調(diào)整可包括:在如下情況時(shí)可以使昆蟲身體閾值增大預(yù)定的自適應(yīng)步長(zhǎng):檢測(cè)到的昆蟲身體連通域的數(shù)量大于所述子視頻中的昆蟲的數(shù)量、并且存在內(nèi)部的所述昆蟲身體連通域的數(shù)量不小于2的昆蟲整體連通域。
在可能的實(shí)施方式中,劃分子視頻中的背景可包括:以初始視頻亮度畸變值作為閾值對(duì)所述子視頻進(jìn)行二值化,在所得到的活動(dòng)臺(tái)二值圖像中求出各連通域;選擇大于特定閾值的連通域作為所述昆蟲活動(dòng)臺(tái)的空腔范圍;以及針對(duì)所選擇出的空腔范圍求出所述昆蟲活動(dòng)臺(tái)的位置和大小。
圖9是根據(jù)示例實(shí)施例示出的一種用于視頻分析裝置1900的框圖。例如,裝置1900可以被提供為一服務(wù)器。參照?qǐng)D9,裝置1900包括處理組件1922,其進(jìn)一步包括一個(gè)或多個(gè)處理器,以及由存儲(chǔ)器1932所代表的存儲(chǔ)器資源,用于存儲(chǔ)可由處理組件1922執(zhí)行的指令,例如應(yīng)用程序。存儲(chǔ)器1932中存儲(chǔ)的應(yīng)用程序可以包括一個(gè)或一個(gè)以上的模塊,每一個(gè)模塊對(duì)應(yīng)于一組指令。此外,處理組件1922被配置為執(zhí)行指令,以執(zhí)行上述的視頻分析方法。
裝置1900還可以包括一個(gè)電源組件1926被配置為執(zhí)行裝置1900的電源管理,一個(gè)有線或無(wú)線網(wǎng)絡(luò)接口1950被配置為將裝置1900連接到網(wǎng)絡(luò),和一個(gè)輸入輸出(i/o)接口1958。裝置1900可以操作基于存儲(chǔ)在存儲(chǔ)器1932的操作系統(tǒng),例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或類似。
在示例性實(shí)施例中,還提供了一種包括指令的非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),例如包括指令的存儲(chǔ)器1932,上述指令可由裝置1900的處理組件1922執(zhí)行以完成上述方法。
本公開(kāi)可以是系統(tǒng)、方法和/或計(jì)算機(jī)程序產(chǎn)品。計(jì)算機(jī)程序產(chǎn)品可以包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上載有用于使處理器實(shí)現(xiàn)本公開(kāi)的各個(gè)方面的計(jì)算機(jī)可讀程序指令。
計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是可以保持和存儲(chǔ)由指令執(zhí)行設(shè)備使用的指令的有形設(shè)備。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是但不限于電存儲(chǔ)設(shè)備、磁存儲(chǔ)設(shè)備、光存儲(chǔ)設(shè)備、電磁存儲(chǔ)設(shè)備、半導(dǎo)體存儲(chǔ)設(shè)備或者上述的任意合適的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括:便攜式計(jì)算機(jī)盤、硬盤、隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、可擦式可編程只讀存儲(chǔ)器(eprom或閃存)、靜態(tài)隨機(jī)存取存儲(chǔ)器(sram)、便攜式壓縮盤只讀存儲(chǔ)器(cd-rom)、數(shù)字多功能盤(dvd)、記憶棒、軟盤、機(jī)械編碼設(shè)備、例如其上存儲(chǔ)有指令的打孔卡或凹槽內(nèi)凸起結(jié)構(gòu)、以及上述的任意合適的組合。這里所使用的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)不被解釋為瞬時(shí)信號(hào)本身,諸如無(wú)線電波或者其他自由傳播的電磁波、通過(guò)波導(dǎo)或其他傳輸媒介傳播的電磁波(例如,通過(guò)光纖電纜的光脈沖)、或者通過(guò)電線傳輸?shù)碾娦盘?hào)。
這里所描述的計(jì)算機(jī)可讀程序指令可以從計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)下載到各個(gè)計(jì)算/處理設(shè)備,或者通過(guò)網(wǎng)絡(luò)、例如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)和/或無(wú)線網(wǎng)下載到外部計(jì)算機(jī)或外部存儲(chǔ)設(shè)備。網(wǎng)絡(luò)可以包括銅傳輸電纜、光纖傳輸、無(wú)線傳輸、路由器、防火墻、交換機(jī)、網(wǎng)關(guān)計(jì)算機(jī)和/或邊緣服務(wù)器。每個(gè)計(jì)算/處理設(shè)備中的網(wǎng)絡(luò)適配卡或者網(wǎng)絡(luò)接口從網(wǎng)絡(luò)接收計(jì)算機(jī)可讀程序指令,并轉(zhuǎn)發(fā)該計(jì)算機(jī)可讀程序指令,以供存儲(chǔ)在各個(gè)計(jì)算/處理設(shè)備中的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中。
用于執(zhí)行本公開(kāi)操作的計(jì)算機(jī)程序指令可以是匯編指令、指令集架構(gòu)(isa)指令、機(jī)器指令、機(jī)器相關(guān)指令、微代碼、固件指令、狀態(tài)設(shè)置數(shù)據(jù)、或者以一種或多種編程語(yǔ)言的任意組合編寫的源代碼或目標(biāo)代碼,所述編程語(yǔ)言包括面向?qū)ο蟮木幊陶Z(yǔ)言—諸如smalltalk、c++等,以及常規(guī)的過(guò)程式編程語(yǔ)言—諸如“c”語(yǔ)言或類似的編程語(yǔ)言。計(jì)算機(jī)可讀程序指令可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過(guò)任意種類的網(wǎng)絡(luò)—包括局域網(wǎng)(lan)或廣域網(wǎng)(wan)—連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來(lái)通過(guò)因特網(wǎng)連接)。在一些實(shí)施例中,通過(guò)利用計(jì)算機(jī)可讀程序指令的狀態(tài)信息來(lái)個(gè)性化定制電子電路,例如可編程邏輯電路、現(xiàn)場(chǎng)可編程門陣列(fpga)或可編程邏輯陣列(pla),該電子電路可以執(zhí)行計(jì)算機(jī)可讀程序指令,從而實(shí)現(xiàn)本公開(kāi)的各個(gè)方面。
這里參照根據(jù)本公開(kāi)實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述了本公開(kāi)的各個(gè)方面。應(yīng)當(dāng)理解,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)可讀程序指令實(shí)現(xiàn)。
這些計(jì)算機(jī)可讀程序指令可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些指令在通過(guò)計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時(shí),產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的裝置。也可以把這些計(jì)算機(jī)可讀程序指令存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,這些指令使得計(jì)算機(jī)、可編程數(shù)據(jù)處理裝置和/或其他設(shè)備以特定方式工作,從而,存儲(chǔ)有指令的計(jì)算機(jī)可讀介質(zhì)則包括一個(gè)制造品,其包括實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的各個(gè)方面的指令。
也可以把計(jì)算機(jī)可讀程序指令加載到計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過(guò)程,從而使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上執(zhí)行的指令實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作。
附圖中的流程圖和框圖顯示了根據(jù)本公開(kāi)的多個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專用的基于硬件的系統(tǒng)來(lái)實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。
以上已經(jīng)描述了本公開(kāi)的各實(shí)施例,上述說(shuō)明是示例性的,并非窮盡性的,并且也不限于所披露的各實(shí)施例。在不偏離所說(shuō)明的各實(shí)施例的范圍和精神的情況下,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō)許多修改和變更都是顯而易見(jiàn)的。本文中所用術(shù)語(yǔ)的選擇,旨在最好地解釋各實(shí)施例的原理、實(shí)際應(yīng)用或?qū)κ袌?chǎng)中的技術(shù)的技術(shù)改進(jìn),或者使本技術(shù)領(lǐng)域的其它普通技術(shù)人員能理解本文披露的各實(shí)施例。