實時 3D 深度多攝像頭跟蹤 Real-time 3D Deep Multi-Camera Tracking
論文url https://arxiv.org/abs/2003.11753
論文簡述:
提出了一個名為Deep Multi-Camera Tracking (DMCT)的實時3D多攝像機跟蹤系統。該系統旨在解決使用多個RGB攝像機進行3D人群跟蹤的挑戰性任務。
總體框架圖:
輸入:
- 多個RGB攝像機的實時影片幀,每個影片幀是一個彩色影像,具有高度和寬度的畫素矩陣。
DGPN(Deep GroundPoint Network):
- 基礎卷積層(Base CNN Layers)
- 從輸入影像中提取基本的視覺特徵,如邊緣、角點和紋理等,經過卷積和啟用函式(如ReLU)處理後,輸出的是一組特徵圖(feature maps),這些特徵圖捕捉了輸入影像的重要視覺資訊。
- 深度特徵提取層
- 使用預訓練的深度網路(如ResNet或DLA)作為骨幹網路,進一步提取更深層次的特徵。這些特徵包括物件的部分、姿態和形狀等,輸出的是更豐富、更抽象的特徵圖,這些特徵圖為後續的地面點預測提供了必要的資訊。
- 透視校正層
- 原理:透視校正層的目的是解決由於攝像機視角和距離不同導致的透視變形問題。在多攝像機系統中,同一個物體在不同攝像機檢視中的大小和形狀可能會有所不同,該層透過學習攝像機的內參和外參(即相機矩陣),來消除透視變形的影響(ps:相機矩陣由攝像頭校準過程獲取,可能是相機影像標定操作)
- 校正過程:具體來說,對於每個攝像機檢視,網路會計算一個從影像平面到虛擬地面平面的對映。這個對映可以透過相機的內參矩陣和外參矩陣來實現,其中內參矩陣描述了相機鏡頭的畸變,外參矩陣描述了攝像機在世界座標系中的位置和朝向。(ps:作者提出了一種改進的方法來對映人物位置熱圖到虛擬地面平面。這種方法透過預畸變處理,校正了由於透視變換引起的影像拉伸變形,從而提高了人物檢測的準確性。具體來說,透過將地面平面劃分為等半徑的單元格並建立相應的掩碼,這些掩碼被用於損失函式,以最佳化網路生成的地面點預測。這種方法有效地提高了多視角下人物跟蹤的效能。)
- 輸出:經過透視校正後的特徵圖能夠更準確地反映物體在地面平面上的真實位置和形狀。
- 地面點預測層:
- 原理:地面點預測層的目標是為每個人生成一個地面點機率圖,這個機率圖表示每個人在地面平面上的投影位置的機率分佈。
- 生成heatmap:這一層首先使用一系列卷積層來處理經過透視校正的特徵圖,然後透過一個特定的輸出層(通常是一個卷積層,其卷積核的尺寸與地面點的預期大小相匹配)來生成熱圖。這個輸出層的每個卷積核負責預測一個特定區域的地面點機率。
- 機率轉換:輸出層的每個卷積核會為每個畫素點分配一個機率值,這個值表示該畫素點是某個人體地面點的可能性。這通常是透過一個啟用函式(如softmax)來實現的,確保每個畫素點的機率值在0到1之間,並且整個熱圖中所有畫素點的機率值之和為1。
投影與聚合(Projection & Aggregation):
- 利用相機矩陣將每個視角的機率圖投影到共享的地面平面上。這樣,來自多個相機的投影機率圖就可以融合在一起,形成一個統一的地面平面佔用圖(occupancy map)。這個過程涉及到3D幾何計算,將不同視角的資訊整合到一個共享的二維平面上。
佔用圖融合(Occupancy Map Fusion):
- 融合過程可以透過兩種方式進行。第一種方法是透過對投影的機率圖進行平均,生成最終的佔用圖。第二種方法則是將所有機率圖堆疊起來,作為人員檢測器的輸入。在實際應用中,實驗表明使用視角感知的融合方法能夠更好地處理遮擋和噪聲,提高跟蹤的準確性。
a圖為實際人的分佈位置,b圖為上述操作後生成的候選的人的位置,上述操作後還需要進行下述操作來捕捉目標在時間序列上的動態資訊,進行更精準的人員目標識別
DGN(Deep Glimpse Network):
- 基礎卷積層(Base CNN Layers):
- 提取特徵資訊(作用和輸出同上)
- 時間感知層(Temporal Glimpse Layer):
- 作用:時間感知層的目的是捕捉人員在時間序列上的動態資訊。這一層使用了的“時間瞥見”(glimpse)機制,透過在時間維度上對特徵圖進行取樣和聚合,來模擬人類視覺系統在觀察運動時的聚焦效應。
- 操作:時間感知層透過在特徵圖序列上應用一組特定的卷積核(temporal convolutional layers),將連續幀的資訊融合在一起,生成新的特徵表示。這個過程類似於在時間序列上對特徵圖進行“縮放”,以便更好地捕捉運動模式。
- 輸出:經過時間感知層處理後,得到一組包含時間資訊的特徵圖。這些特徵圖不僅包含了空間資訊,還融入了目標隨時間變化的動態特徵。
- 時間卷積層(Temporal CNN Layer):
- 作用:時間卷積層的作用是進一步處理時間感知層的輸出,透過在時間維度上進行更復雜的特徵融合和抽象,以提取更高層次的時間特徵。
- 操作:時間卷積層使用一系列卷積操作來處理時間感知層的特徵圖,這些操作可以捕捉更長期的時序依賴關係和複雜的動態模式。
- 輸出:時間卷積層輸出一組綜合了空間和時間資訊的高階特徵圖,這些特徵圖用於後續的人員分類和跟蹤。
Tracker
- 輸入:跟蹤器接收來自Deep Glimpse Network的人候選檢測結果,這些結果是在融合的佔用圖上透過人檢測模組得到的。
- Tracking Graph構建:用於表示軌跡和檢測候選之間的關係。在這個圖中,矩形節點代表已經形成軌跡的節點,橢圓形節點代表當前幀中檢測到的候選節點,五邊形節點代表預測節點。
- 軌跡的延伸:對於每個已有的軌跡,跟蹤器嘗試在當前幀中找到它的延伸。這意味著跟蹤器會尋找一個路徑,這個路徑不僅透過當前軌跡的最後一個節點,而且還要透過所有其他節點,並且保證路徑之間不會相交(即節點不共享)。
- 節點間的匹配:跟蹤器透過計算節點間的相似度來確定它們是否匹配。這裡的相似度通常是透過計算檢測候選和軌跡節點之間的歐幾里得距離來衡量的。跟蹤器會為每個軌跡節點找到最可能的匹配候選節點。
- 軌跡的更新:一旦找到匹配,跟蹤器會更新軌跡,將舊的軌跡節點擴充套件到新的匹配節點。如果在一定數量的幀中(例如100幀),一個軌跡沒有找到匹配的候選節點,那麼這個軌跡會被移除。
- 新軌跡建立:對於當前幀中沒有匹配到任何軌跡的檢測候選節點,跟蹤器會建立新的軌跡。這些新的軌跡會被加入到跟蹤圖中,並在下一時刻用於進一步的跟蹤
- 輸出:跟蹤器輸出的是每個人在多個攝像頭視角下的三維軌跡。這些軌跡以時間為序列,展示了每個人在空間中的移動路徑。