據點時, 獲得的線性方程組如下:
[0159] 其中,η表示用來進行參數擬合的樣本點的個數,該線性方程組的求解采用最小二 乘法進行。
[0160] 但是需要說明的是,如果使用分割內所有的點進行參數擬合,將會大大增加時 間成本,同時不會明顯提高仿射變換的準確性。因此可以對分割內部的點首先進行均勻 的采樣以獲取數據點集,再采用隨機樣本一致(英文:Random Sample Consensus,簡稱: RANSAC)的方式進行仿射模型的估計。
[0161] 具體的,當初始運動準確性比較好時,只需要選取少量的數據就可以準確的對 仿射模型進行估計,但是當初始運動準確性較差時,就需要選取較多的點進行估計。因 此,數據點集的大小同初始光流的準確性相關,可以通過對初始運動的準確性進行估計, 進而確定數據點集的采樣率。首先,計算根據初始光流獲得的當前幀t中點x t和其在相 鄰幀t'中的對應點xt,之間的顏色差異d,然后計算出當前幀中所有點的平均顏色差異, 即avg_d,然后再統計出顏色差異小于平均avg_d的點的個數,從而得到初始光流的準確
,當r>0. 75時,認為初始光流是比較準確的,采樣率取為 0. 25,即每四個像素選擇一個作為數據點;當0. 75>r>0. 5時,采樣率取為0. 5 ;當r〈0. 5時, 采樣率為1.0。
[0162] 確定了采樣率之后,對于每個可能選為數據點的像素,通過比較該像素處的d同 3^_(1進行比較,確定要不要將該像素選定為數據點。如果其d大于預設閾值,則將該像素 點排除,否則添加到數據點集合中。其中,預設閾值可以根據實際需要進行選取,當像素點 處的初始運動不準確或存在遮擋時,其d值大于該預設閾值。
[0163] 將分割內采樣到的數據點分配到對應的該分割中,從而獲得每個分割Si的數據點 集DSi,接下來對每個分割Si用RANSAC方法進行仿射模型的估計。
[0164] 步驟1032、根據仿射模型得到每一幀圖像的仿射運動場。
[0165] 步驟1033、將仿射運動場與初始光流場進行融合。
[0166] 例如,可以將仿射運動場同初始光流場使用二次偽布爾優化(英文:Quadratic Pseudo-Boolean Optimization,簡稱:QPB0)算法進行融合。圖6是初始光流經過仿射模 型參數估計和融合后的光流示例,通過與仿射運動進行融合之后,能夠有效地改善初始光 流在運動對象邊界上過平滑的現象。
[0167] 步驟1034、根據運動的一致性進行遮擋區域的檢測。
[0168] 步驟1035、對遮擋區域根據所在分割的仿射運動進行顯示地運動矯正。
[0169] 在光流估計中,當圖像序列中的特定目標對象被遮擋住時將導致該目標對象的跟 蹤失敗,遮擋問題是一個比較棘手的問題,現有的大多數光流方法都是隱式地采用魯棒函 數來對遮擋區域進行處理,這種處理方式得到的結果并不夠好。在本發明實施例中,在根據 運動的一致性進行遮擋的檢測后,可以對遮擋區域根據所在分割的仿射運動進行顯示地運 動矯正。
[0170] 例如,對于第t幀圖像中的某一個像素 xt,根據xt的運動,可以得到其在下一幀中 的對應點X'(X' = Xt+V(Xt)。對于點X',根據其所在幀到當前幀的運動,可以得到X'在當前 中貞中的對應點 xt+1 -t(xt+1 -t = Χ'+ν(Χ')),如果 I |xt-xt+1 -11 I > Θ f 并且 s(xt)弇 s(xt+1 -t) (Θ f為閥值,表示允許的最大運動偏差,如設為1個像素),則認為xt在下一幀中被遮擋了, 記為〇 t+1_t(xt) =1,否則〇t+1_t(xt) =〇,表示xt沒有被遮擋。同理,如果xt到前一幀中被 遮擋了,相應地有0 t -t i(xt) = 1。
[0171] 檢測得到的遮擋圖〇如圖7所示,其中白色區域表示被遮擋的部分。根據檢測得 到的遮擋圖〇進行顯示地遮擋處理,如果\被遮擋了,即〇(x t) = 1,則令V(xt) =Axt-xt, 即用仿射運動作為\的運動。
[0172] 可選的,如圖8所示,在步驟106之前,本發明實施例提供的運動估計方法還可以 包括下述步驟104和105中至少一項:
[0173] 步驟104、運動估計裝置根據每一幀圖像中所有分割的初始運動模型,將具有相同 運動形式的初始運動模型進行聚類優化。
[0174] 通過觀察可以發現現實場景中,運動形式往往具有重復性和單一性。運動形式的 重復性是指同一場景中不同對象的運動形式可能是相同的,運動形式的單一性是指同一場 景中的大量對象的運動形式往往是少數的,雖然場景中對象的運動可能是復雜的,但是同 一對象內部或者幾個對象的運動卻符合同一個運動形式。因此,可以提取出場景中的主要 運動形式,進而根據這些主要運動形式對場景中對象的初始運動模型進行聚類優化。
[0175] 具體的,經過仿射模型估計之后,得到一系列的仿射模型,這些仿射模型通常存在 很大的冗余性,因此有必要進行模型的聚類,獲得一個最小仿射模型集{A}。具體的,如圖9 所示,步驟104包括下述步驟1041至1042 :
[0176] 步驟1041、對一幀圖像中的所有分割按照面積大小進行排序,根據面積由大到小 依次篩選仿射模型。
[0177] 步驟1042、當分割Si的面積大于預設面積Sizes或者仿射模型集{A}中仿射模型 的數量小于預設數量Num A時,將分割Si的仿射模型~同{A}進行比較,若{A}中存在一個 仿射模型A'同~的歐式距離小于預設距離Th A,則舍棄當前仿射模型~,否則將~加入到 {A},得到最小仿射模型集{A}。
[0178] 其中,預設面積Sizes表示一個分割大小的閾值,該值可以根據實際需要進行選 取,如Size s = W*H*0. 01。預設數量NumA表示仿射模型個數的下限,根據具體場景設定,如 設為10。預設距離ThA為預設的歐氏距離,如設為0.01。本發明實施例對預設值的取值并 不做限定。
[0179] 進一步的,將{A}中每個仿射模型同一個標記值1相對應,同時添加一個額外的標 記用來表示初始運動,因此標記的個數為K = | {A} |+1,接下來求解關于運動的多標記問 題,當1 < Nfl時,根據仿射模型得到每個點的運動,當1 = Nfl時,根據初始光流得到每 個點的運動。
[0180] 目標方程為:
[0182] 其中,¥。〇〇表示遮擋權值,
;d為RGB空間的 歐式距離,d = | |Γ (x')-I(x) | | ;Ws(x,y)為平滑項系數,根據當前分割獲得,
* N(x)表示X的鄰域空間,XData,Xs_th*別為數據項和平滑項 的權值。
[0183] 使用圖像切割(英文:Graph cut)方法求解上述能量方程最小化問題,并根據得 到的解對光流場進行更新。
[0184] 經過多仿射模型的聯合優化,并根據遮擋估計結果進行運動糾正后,可以有效糾 正遮擋區域的運動。
[0185] 考慮到分割的運動一致性,由于根據聚類算法得到的初始分割是在時序上的一致 性較差的過分割(英文:〇ver segmentation),并且是根據顏色和空間獲取的分割,而不是 根據運動。因此,有必要對初始分割根據運動一致情況進行合并,從而得到運動一致的分 害|J。一方面,經過合并之后能夠有效的減少分割的個數,也即減少了標記的個數,降低了后 續的時空一致性優化過程中的時空復雜度;其次,經過運動一致合并之后,得到的運動分割 在時序上保持了一定的一致性,能夠有效地的加快后續優化的收斂速度。
[0186] 和/或,在步驟106之前,本發明實施例提供的運動估計方法還可以包括:
[0187] 步驟105、運動估計裝置合并每一幀圖像中運動一致的分割。
[0188] 為了提高初始分割在時序上的一致性,有必要對初始分割根據運動一致情況進行 合并,從而得到運動一致的分割。一方面,經過合并之后能夠有效的減少分割的個數,也即 減少了標記的個數,降低了后續的時空一致性優化過程中的時空復雜度;另一方面,經過運 動一致性進行分割的合并之后,得到的運動分割在時序上保持了一定的一致性,從而能夠 有效地的加快后續優化的收斂速度。
[0189] 具體的,如圖10所示,步驟105包括下述步驟1051至1055 :
[0190] 步驟1051、對于每個分割s,計算在當前分割的仿射模型下分割內所有像素的顏 色差異總和。
[0191] 步驟1052、計算分割&的候選相鄰分割集合,其中,對于每個候選相鄰分割 s' 滿足 2|s' | > |s|。
[0192] 步驟1053、對于{SNJ中每個相鄰分割s',分別計算s同s'邊界上運動的一致性 Ss,s,,s中的像素的當前運動同s'的仿射模型的一致性Fs, s,,s中的像素在s'的仿射模型 下顏色差異同自身仿射模型的顏色差異的比值Cs,s,。
[0193] 其中,3^,,?以,,(^5,計算方式分別為:
[0197] 步驟 1054、從{SNJ 中選擇出滿足 Ss,s,> 0. 5, Fs,s,> 0. 5, Cs,s,> 0. 5 的相鄰分 害ij,將cSiS,最大的相鄰分割作為候選分割,記為S%當?. >九時,其中,ew為預設比值,將 S合并到s""中。
[0198] 其中,01^可以根據實際情況選取,如取值為0.9,本發明實施例對此并不做限定。
[0199] 步驟1055、對每個分割s進行合并,若最后被合并的分割的總數超過了初始分割 數的一半,則重新進行仿射模型的估計。
[0200] 通過迭代上述步驟,直至沒有分割可以被合并為止,完成運動具有一致性的分割 的合并。合并之后的示例結果如圖11所示。從結果可以看出,經過合并之后,屬于同一運 動形式的多個分割被合并在一起了。
[0201] 進一步的,在進行分割和運動估計的時空一致性優化時,為了確保同一個對象在 視頻序列上的不同幀中擁有同樣的標記,需要將不同幀的分割進行匹配,如圖12所示,步 驟106具體包括下述步驟1061至1068 :
[0202] 步驟1061、將輸入的圖像序列中的第一幀圖像作為初始匹配模版,其每個分割作 為一個數據分段(英文:volume segment),為每一個所述數據分段分配唯一的標記。
[0203] 步驟1062、對于第t幀中的分割 <,根據t幀到t-Ι幀的光流,跟蹤 < 中的每個 像素 xt在第t-Ι幀中的對應點xt i,其中,xt i在t-Ι幀中所在的分割記為 <"則構成 的集合紀+^表示分割< 在t-Ι幀中對應的所有可能分割。
[0204] 步驟1063、對于中每個分割i i,計算'%同'的匹配率:
[0206] 其中,| xt |為分割 < 中與分割^相對應的像素的個數,分母|表示分割·^^中 點的個數。
[0207] 步驟1064、計算< 同·^的匹配率:
[0209] 其中,對尤>;^中每個分割^^,根據t-Ι幀到t幀的光流,得到及^中每個點xt 1 在t中的對應點xt,統計xt屬于·sf的點的個數記為c,|<|為分割< 中點的個數。
[0210] 步驟1065、計算< 同5^的最終匹配率:
[0212] 步驟1066、當>%時,確定g和匹配,將的標記更新為^^的標記,并且 將<加入到所在的數據分段中,其中,σ "為預設的匹配閾值。
[0213] 具體的,如果> σ,",σ