大型場景中透過監督檢視貢獻加權進行多檢視人物檢測 Multi-View People Detection in Large Scenes via Supervised View-Wise Contribution Weighting

AzathothLXL發表於2024-04-10

Multi-View People Detection in Large Scenes via Supervised View-Wise Contribution Weighting 大型場景中透過監督檢視貢獻加權進行多檢視人物檢測

論文url https://ojs.aaai.org/index.php/AAAI/article/view/28553

論文簡述:

這篇論文提出了一個用於大型場景中多視角人體檢測的網路框架結構,該框架透過監督視角貢獻加權方法來更好地融合多攝像頭資訊。

總體框架圖:

figure1

輸入:

  • 不同視角下多個攝像頭的同步影像資料

特徵提取(Feature Extraction):

  • 使用CNN網路提取不同視角下影像的特徵(論文中未提及具體是什麼網路可以採用ResNet或VGG)
  • 將提取的特徵送入投影層,這個層使用空間變換網路(Spatial Transformer Network, STN)來調整特徵圖,使其與場景的地面平面座標系對齊。STN可以看作是一個可學習的變換模組,它能夠動態地調整輸入特徵圖的空間位置。
    • STN涉及以下操作
      仿射變換:使用仿射變換(如旋轉、縮放和平移)來調整特徵圖的角度和位置,使其與地面平面的座標系對齊。
      透視變換:應用透視變換將二維影像特徵轉換為三維空間中的點,這些點隨後被投影到地面平面上。
  • 輸出:
    • 投影到地面平面上的每個視角的特徵。

投影單視角解碼(Projected Single-View Decoding)

fighure2

  • 引數介紹:
    • Ground-Truth $ V_{s}^{gt} $ 是實際的人體位置圖,這個圖表示了場景中所有人體的位置,而不考慮它們能被哪些視角觀察到。它是評估整個場景人體檢測模型效能的標準。
    • $ V_{i} $ 是prediction中第 $ {i} $ 個視角的預測圖,是指從特定視角觀察時,場景地面平面上人體的佔據圖。這是一個二維圖,其中的每個網格單元表示場景地面上的一個區域,如果該區域內有人,則標記為1,否則標記為0。這個佔據圖是從特定視角的"ground-truth"資料中得到的,它只包含了該視角能夠觀察到的人體資訊。
    • $ V_{i}^{gt} $ 是第 $ {i} $ 個視角的實際人體位置圖。
    • 單視角損失 $ {l}{v} $ 用於衡量每個視角的預測人體位置圖 $ V $ 與該視角的真實人體位置圖 $ V_{i}^{gt} $ 之間的差異。這個損失通常採用均方誤差(Mean Squared Error, MSE)損失函式,它可以計算預測位置圖和真實位置圖之間的畫素級差異。
  • 輸入:
    • 第一階段輸出的投影到地面平面上的每個視角的特徵。
  • 操作:
    • 將上述輸入喂入投影單視角解碼器(論文中未具體給出是什麼解碼器,應該包括一系列卷積層、上取樣層(如轉置卷積)和非線性啟用函式),主要是在從投影到地面平面的特徵圖中恢復出每個視角下的人體位置資訊。輸出的prediction中的每個視角的預測人體位置圖 $ V_{i} $ 可以與該視角的實際人體位置圖 $ V_{i}^{gt} $ 做MSE_Loss : $ {l}{v} $ 計算進行最佳化,公式表示為 $ {l}=MSE({V}{i},V^{gt}) $ 。這個預測結果可以作為該視角對最終結果的貢獻。同時,這個解碼結果還為特徵提取模組的訓練提供了額外的約束,確保從多視角影像中提取的特徵在投影后仍然有效。
  • 輸出:
    • 每個視角的人體位置預測圖。

監督視角貢獻加權融合(Supervised View-Wise Contribution Weighted Fusion)

  • 權重預測:將上述輸出的每個視角的預測人體位置圖輸入到一個共享子網(shared subnet) $ {C} $ (論文中未詳細介紹共享子網的設計),用來預測每個攝像頭視角的權重圖。
  • 權重歸一化:然後,所有視角的權重圖被歸一化,確保場景地面平面圖上每個畫素點的所有視角權重之和等於1。
  • 視角掩碼應用:在歸一化過程中,那些不被任何視角看到的區域被賦予0權重。在歸一化過程中,每個視角的初始權重圖會與其對應的視角掩碼相乘。視角掩碼是一個二值圖,表示該視角能夠觀測到的場景區域。這樣做的目的是確保只有那些在視角fov(field of view)內的區域才會被賦予權重,而fov外的區域權重為0。
    figure3
  • 特徵加權融合:最後,每個視角的特徵圖 $ {F}{i} $ 會與其對應的歸一化權重圖 $ {W} $ 相乘,然後將所有視角的結果求和,得到融合後的特徵圖 $ {F} $ 。這個過程可以表示為: $ {F}={∑}{i}{F} {⊙}{W}_{i} $ ,其中 $ {⊙} $ 表示元素級別的乘法操作。

多視角特徵解碼(Multi-View Feature Decoding)

  • 融合後的特徵圖 $ {F} $ 送入一個解碼器,用於預測整個場景的人體佔據圖。這個解碼器與單視角解碼器不同,因為它們針對的功能不同:單視角解碼器用於解碼每個視角的特徵,而多視角解碼器用於整個場景的特徵表示。(原文中沒有詳細介紹該解碼器的具體設計)輸出結果可以作為整個場景的預測人體位置圖 $ {V}_{s} $ 。
  • 輸出後的整個場景的預測人體位置圖 $ {V}{s} $ 會與實際的人體位置圖 $ V^{gt} $ 進行loss計算,該loss也是採用的均方誤差MSE_Loss,用公式可以表示為 $ {l}{s}=MSE({V},V_{s}^{gt}) $ 。
  • 在計算出 $ {l}{s} $ 之後,會將將單視角損失 $ {l} $ 和場景級損失 $ {l}{s} $ 透過權重係數 $ {λ} $ 行組合,形成最終的損失函式 $ {l} $ , 公式表示為 $ {l}={l}+{λ}{l}_{v} $ 。

泛化到新場景(Generalization to New Scenes)

figure4

  • 輸入:

    • 源域資料的特徵表示:這些是從模型在訓練階段已經學習到的資料中提取的特徵。
    • 目標域資料的特徵表示:這些是從新場景中提取的特徵,可能只有少量標註或者完全沒有標註。
  • 作者透過輕微的微調模型來適應新場景。由上圖可知,作者為了提高模型在新場景中的泛化能力,新增了一個判別器(discriminator)(論文沒有提供該判別器具體層設計細節,可能類似於GAN的結構,來判別是源域資料還是目標域資料),用於進一步減少訓練場景與測試新場景之間的大領域差異,他們使用新場景訓練集的5%影像來訓練模型,然後同時將訓練中的合成影像和測試中的新場景影像輸入到提出的模型中。最後,判別器對這兩種特徵進行分類。微調中的損失包括新場景多視角檢測損失、合成多視角檢測損失和判別器分類損失。

效果圖

figure5

後記:

  • 公式的格式會有一些問題,可能是部落格園的markdown編碼有問題,我在本地VScode看是沒有問題的。

相關文章