無監督多視角行人檢測 Unsupervised Multi-view Pedestrian Detection
論文url:https://arxiv.org/abs/2305.12457
論文簡述
該論文提出了一種名為Unsupervised Multi-view Pedestrian Detection (UMPD)的新方法,旨在透過多視角影片監控資料準確地定位行人,而無需依賴於人工標註的影片幀和相機視角。
總體框架圖
當我第一時間看到這個框架圖,頓時感覺頭髮都掉了好幾根,他這個設計確實有點複雜,並且和之前看的多視角檢測方法很不一樣,可能有些理解偏差,歡迎指正。
輸入
- 不同視角下多個攝像頭的同步影像資料
語義感知迭代分割 Semantic-aware Iterative Segmentation(SIS)
PS: 該模組所在部分就是上圖綠色框部分,該模組主要分為兩個部分,一個是PCA主成分迭代分析生成前景掩碼部分,一個是零樣本分類視覺-語言模型CLIP部分生成 $ {S}^{human} $ 語意掩碼選擇PCA的前景掩碼部分。
-
PCA主成分迭代分析:
- 首先, 多個攝像頭的同步影像資料透過無監督模型提取預訓練特徵,將所有影像的預訓練特徵向量集合併成一個更大的特徵矩陣,在這個矩陣中,每一行代表一個影像的特徵向量,每一列代表特徵向量中的一個維度。(猜測具體操作應該是模型中的最後一個卷積層的特徵圖進行展平操作,變成一個一維特徵向量。將所有的一維特徵向量堆疊起來就形成了一個二維的特徵矩陣。)
- 然後將這個二維的特徵矩陣進行PCA降維操作,PCA的目的是找到一個新的低維特徵空間,其中第一個主成分捕捉原始高維特徵中的最大方差。透過PCA,資料被投影到第一個主成分(即PCA向量)上,生成一個新的一維特徵表示。這個一維表示是每個原始高維特徵向量在PCA方向上的投影長度。
- 根據一維PCA值為每個視角生成初步的行人掩膜(即二值影像,設定一個閾值,其中行人前景(大於閾值)被標記為1,背景(小於等於閾值)為0)。
-
零樣本分類視覺-語言模型CLIP:
CLIP擁有兩個模組- CLIP Visual Encoder
輸入的是多個攝像頭的同步影像資料
輸出是視覺特徵圖 - CLIP Text Encoder
輸入是與行人相關的文字描述
生成語言特徵向量 - 將語言特徵向量與視覺特徵圖進行餘弦相似度計算,得出圖 $ {S}^{human} $
- CLIP Visual Encoder
-
兩模組結合操作:
- 將CLIP生成的 $ {S}^{human} $ 與PCA生成的前景掩碼進行重疊,來判斷哪些前景掩碼屬於行人前景,然後將這些前景掩碼繼續用PCA進行迭代以及CLIP判斷直到規定的迭代次數將前景掩碼輸入到下一部分作為偽標籤。
幾何感知體積探測器 Geometric-aware Volume-based Detector(GVD)
PS: 該模組所在部分就是第一張圖紅色框部分
- 2D特徵提取:每個視角拍攝的圖都用ResNet Visual Encoder進行特徵提取。
- 2D到3D的幾何投影:提取的特徵隨後被對映到3D空間中。這一步驟涉及到使用相機的內參和外參矩陣,將2D影像中的畫素點對映到3D空間中的體素上。這個過程基於針孔相機模型,透過幾何變換將2D影像中的資訊轉換為3D體積的一部分。
- 3D體積融合:由於每個視角都會生成一個3D體積,GVD模組需要將這些體積融合成一個統一的3D體積。這通常透過一個Soft-Max Volume Feat. Fusion函式來實現,該函式可以對來自不同視角的3D體積進行加權和融合。
- 3D卷積網路解碼器:融合後的3D體積被送入一個3D卷積網路解碼器,該解碼器負責預測每個體素的密度和顏色。這個解碼器通常由一系列3D卷積層組成,能夠學習從2D影像到3D體積的複雜對映關係。(論文中沒有給出該解碼器具體是怎麼設計的)
- 3D渲染為2D:作者用PyTorch3D可微分渲染框架將預測的3D密度 $ {D} $ 渲染為2D掩碼 \(\tilde{M}\) ,並且將預測的3D顏色 $ {C} $ 渲染為2D影像 \(\tilde{I}\) , $ {M} $ 為SIS輸出的前景掩碼, $ {I} $ 論文中說是根據前景掩碼得出的顏色影像(猜測應該是前景影像中為1的部分才保留原圖顏色)。
垂直感知BEV正則化 Vertical-aware BEV Regularization
- 透過GVD得出的3D體積中的密度資訊沿著Z軸(垂直軸)進行最大值投影,以生成BEV(Bird Eye View)表示。這樣可以得到一個二維平面圖,其中高密度區域表示行人的位置,得出結果。
- 並且為了應對出現的行人躺著或者斜著的情況(在大多數情況下,行人的姿態是接近垂直的),論文提出了Vertical-aware BEV Regularization(VBR)方法。透過計算 $ {L}_{VBR} $ 損失函式來最佳化這個影響。
- 損失函式
運用了Huber Loss
效果圖
後記
作者最後應該還做了些後處理,但是論文中沒有提及具體內容。該篇內容細節很多,公式變換複雜,有些細節我做了一定的省略,建議結合著論文原文來看。
ps:終於幹完這篇了,鼠鼠我要逝了🥵