《Learning from Synthetic Data for Crowd Counting in the Wild》論文筆記

論文翻譯

Abstract

      ~~~~~~最近,統計人羣中的人數成爲熱門話題,因爲它具有廣泛的用途(例如,視頻監視,公共安全)。在戶外,這是一項艱鉅的任務:多變的環境,大量重疊的人導致當前的方法無法正常工作。此外,由於缺乏數據,許多方法在不同程度上都存在過度擬合的問題。爲了解決上述兩個問題,首先,我們開發了一種數據收集器和標籤器,可以生成人工場景並同時對它們進行批註,而無需任何人工操作。在此基礎上,我們構建了一個大規模,多樣化的綜合數據集。其次,我們提出了兩種利用合成數據來提高野外人羣計數性能的方案:1)在合成數據上預訓練人羣計數器,然後使用真實數據對其進行微調,這極大地促進了模型在真實數據上的性能; 2)提出了一種通過域自適應的人羣計數方法,可以使人類擺脫繁重的數據註釋。大量實驗表明,第一種方法可以在四個真實數據集上實現最先進的性能,而第二種方法則優於基線。

1. Introduction

      ~~~~~~人羣計數是人羣分析的一個分支,它在視頻監控、公共區域規劃、交通流監測等方面起着至關重要的作用。這項任務的目的是預測密度地圖和估計人羣場景的人數。目前,許多CNN和GAN在現有的數據集上獲得了驚人的性能。上述方法着重於如何學習有效的和有區別的特徵(如局部模式、全局上下文、多尺度特徵等)來提高模型的性能。
      ~~~~~~同時,上述主流的深度學習方法需要大量的準確標記和多樣化的數據。不幸的是,當前的數據集不能完全滿足需求,這也導致了兩個難以解決的難題。首先,它導致現有的方法無法處理一些在野外看不到的極端情況(如多變的天氣、不同的照明和大範圍的人)。其次,由於帶標籤的數據很少,很多算法都存在過度擬合的問題,導致算法在野外或其他場景中的性能大幅下降。此外,擁擠的人羣數據集有一個固有的問題:標籤不是很準確,比如UCFCC50和Shanghai Tech A(簡稱SHTA)中的一些樣本。
      ~~~~~~爲了解決上述問題,我們從數據和方法兩個方面入手。從數據的角度,我們開發了一個數據收集器和標籤器,它可以生成合成的人羣場景並自動標註。通過收集器和標籤器,我們構建了一個大規模的、多樣化的合成人羣計數數據集。數據收集自電子遊戲《俠盜獵車手V》(GTA5),因此被命名爲GTA5Crowd Counting(簡稱GCC)數據集。與現有的真實數據集相比,它有四個優點:1)無需收集和註釋;2)數據量大,分辨率高;3)場景更豐富,4)註釋更準確。具體統計數據見表1:
在這裏插入圖片描述
      ~~~~~~從方法學的角度,我們提出了兩種利用合成數據來提高野外性能的方法。首先,我們提出一種監督策略來減少過擬合現象。具體來說,我們首先利用大規模的合成數據來預訓練一個人羣計數器,這就是我們設計的空間全卷積網絡(SFCN)。然後利用實際數據對得到的計數器進行了修正。該策略可以有效地提高實際數據的性能。傳統的模型(從零開始訓練或圖像分類模型)存在一些層具有隨機初始化或規則分佈,這不是一個好的方案。與它們相比,我們的策略可以提供更完整和更好的初始化參數。
      ~~~~~~其次,我們提出了一種領域自適應的人羣計數方法,可以提高跨領域的轉移能力。具體來說,我們提出了一個SSIM嵌入(SE)循環GAN,它可以有效地把合成的人羣場景轉換成真實的場景。在訓練過程中,我們引入了結構相似度指標(SSIM)損失。這是原始圖像和通過兩個生成器重建的圖像之間的一個損失。與原循環GAN相比,該方法有效地保留了局部圖案和紋理信息,特別是在特別擁擠的人羣區域和某些背景下。最後,我們將合成的數據轉換成逼真的圖像。基於這些數據,我們訓練了一個沒有真實數據標籤的人羣計數器,它可以在野外很好地工作。圖1展示了提出的方法的兩個流程圖。
在這裏插入圖片描述
      ~~~~~~總之,本文的貢獻有三方面:

  1. 我們是第一個開發人羣計數的數據收集器和標籤器,可以自動收集和註釋圖像,不需要任何勞動力成本。通過使用它們,我們創建了第一個大規模、綜合性和多樣化的人羣計數數據集。
  2. 我們提出了一種預訓練方案,以提高原始方法在真實數據上的性能,與隨機初始化和ImageNet模型相比,能更有效地減少估計誤差。此外,通過該策略,我們提出的SFCN實現了最先進的結果。
  3. 我們首先提出了一種基於領域自適應的人羣計數方法,該方法不使用任何真實數據的標籤。通過我們設計的SE循環GAN,可以顯著減小合成數據與實際數據之間的疇隙。最後,該方法的性能優於兩個基線。

2.Related Works

      ~~~~~~Crowd Counting Methods
      ~~~~~~主流的基於cnn的人羣計數方法通過設計有效的網絡架構,產生了新的記錄。有的利用多任務學習探索不同任務之間的關係,提高計數性能。有的綜合多流、多尺度、多級網絡的特點,提高密度圖的質量。有的嘗試對人羣場景的大範圍上下文信息進行編碼。針對數據量少的問題,有的提出了一種基於自監督學習的無標記網絡數據挖掘方法,或者給出了一種負相關學習方法來減少過擬合。

      ~~~~~~Crowd Counting Datasets
      ~~~~~~除了算法之外,數據集還可能促進人羣計數的發展。UCSD是Chanet等人在加利福尼亞大學聖地亞哥分校發佈的第一個人羣計數數據集,它記錄人行道上的人羣,這是一個稀疏的人羣場景。 切奈特[9] 提出一個公共購物中心數據集,該數據集記錄購物中心場景。Idreeset等人針對高度擁擠的人羣場景發佈UCFCC50數據集。ZhangExp等人提出了WorldExpo’10數據集,該數據集是從2010年上海世博會的監控攝像頭捕獲的。尚特爾目前的上海科技數據集,包括高質量的真實世界圖像。Idreeset al提出大規模的極端擁塞數據集。表1列出了有關它們的更多詳細信息。

      ~~~~~~Synthetic Dataset
      ~~~~~~註釋地面真相是一項耗時且勞動密集的工作,尤其是對於像素級任務(例如語義分割,密度圖估計)。爲了解決這個問題,發佈了一些綜合數據集,以節省人力。Johnson-Robersonet等人提出了一種根據深度信息分析內部引擎緩衝區的方法,該緩衝區可以產生準確的對象蒙版。有的基於一些開源遊戲引擎構建合成模型。利用統一引擎構建自動駕駛的合成街景數據,生成像素級的分割標籤和深度地圖。開發了一個基於虛幻引擎4的合成人再識別數據集。

3. GTA5 Crowd Counting (GCC) Dataset

      ~~~~~~俠盜獵車手V (GTA5)是一款由Rockstar Games於2013年發行的電腦遊戲。在GTA5中,玩家可以沉浸在遊戲的虛擬世界中,即基於洛杉磯的虛構城市洛斯桑托斯。GTA5採用自主研發的Rockstar高級遊戲引擎(RAGE),提高了繪製距離渲染能力。得益於優秀的遊戲引擎,它的場景渲染、紋理細節、天氣效果等都非常接近真實世界的情況。此外,Rockstar遊戲允許玩家開發非商業性或個人使用的mod。
      ~~~~~~考慮到上述優點,我們開發了一種基於Script Hook V的GTA5,用於人羣計數的數據收集器和標籤器。Script Hook V是一個用於開發遊戲插件的C ++庫。我們的數據採集器利用虛擬世界的對象來構造複雜擁擠的人羣場景。然後,收集器從構建的場景中捕獲穩定的圖像。最後,通過對模板繪製數據的分析,自動標註人員頭部的準確位置。
      ~~~~~~之前的合成GTA5數據集是由遊戲編程指導的場景實景。不幸的是,GTA5沒有擁擠的場景。因此,我們需要設計一個策略來構建人羣場景,這是最明顯的區別。

3.1. Data Collection

      ~~~~~~本節介紹數據收集的管道,該管道包括以下三個模塊。
      ~~~~~~Scene Selection
      ~~~~~~《俠盜獵車手5》中的虛擬世界是建立在一個虛構的城市上的,其面積爲252平方公里。在城市中,我們選擇了100個典型的地點,例如海灘,體育場,購物中心,商店等。對於每個位置,四個監視攝像機配備了不同的參數(位置,高度,旋轉/俯仰角)。在這些場景中,我們根據常識精心定義了用於放置人員的感興趣區域(ROI),並排除了一些無效區域。
      ~~~~~~Person Model
      ~~~~~~人是人羣場景的核心,因此,有必要在我們提出的數據集中描述人模型。在GCC數據集中,我們在GTA5中採用了265個人模型:不同的個人模型具有不同的膚色,性別,形狀等。此外,對於每個人模型,它在外觀上有六種變化,例如衣服,髮型等。爲了提高人模型的多樣性,每個模型都被命令在稀疏​​的人羣場景中進行隨機動作。
      ~~~~~~Scenes Synthesis for Congested Crowd
      ~~~~~~由於GTA5的限制,人數必須少於256人。考慮到這一點,對於擁擠的人羣場景,我們採用分步生成場景的方法。具體來說,我們把幾個不重疊的區域分割,然後把人放在每個區域。接下來,我們將多個場景整合到一個場景中。圖3描述了主要的整合過程:人依次被放置在紅色和綠色區域。最後,這兩個圖像被合併在一個圖像中。
在這裏插入圖片描述
在這裏插入圖片描述
      ~~~~~~Summary
      ~~~~~~生成流程圖如下所示。構建場景:a)選擇地點並設置攝像機;b)人羣感興趣區域(ROI);c)設置天氣和時間。放置人物:a)在圖中創建人物並獲取頭部位置;b)從模板中獲取人物面具;c)將多個圖像整合到一個圖像中;d)去除遮擋頭部的位置。

3.2. Properties of GCC

      ~~~~~~GCC數據集由15,212張圖像組成,分辨率爲1080×1920,包含7,625,843人。與現有的數據集相比,GCC在圖像數量和人數上都是更大規模的人羣計數數據集。表1比較了GCC和現有數據集的基本信息。除了上述優點之外,GCC比其他真實世界數據集更加多樣化。
      ~~~~~~Diverse Scenes
      ~~~~~~GCC數據集包含400個不同的場景,其中包括多種類型的位置。室外場景:商場、街道、廣場、體育場等。此外,所有場景都根據它們的空間容量分配了一個級別標籤。圖2的第一行是不同層次的典型場景。一般來說,爲了覆蓋範圍更廣的人,更大的場景會有更多的圖像。因此,如下進行設置:具有前/中/後三個級別的場景包含30/40/50個圖像。 此外,應刪除包含一些不當事件的圖像。 最後,某些場景中的圖像數量可能少於其預期值。 圖4展示了我們GCC數據集的人口分佈直方圖。
在這裏插入圖片描述
      ~~~~~~現有的數據集只關注稀疏或擁擠人羣中的一個。然而,一個大的場景也可能包含很少的人在野外。考慮到在圖像的生成過程中,將人的數量設置爲其水平範圍內的隨機值。因此,GCC具有比其他實際數據集更多的大範圍數據。
      ~~~~~~Diverse Environments
      ~~~~~~爲了構建接近野外的數據,在一天中的任意時間和隨機天氣條件下捕獲圖像。在GTA5中,我們選擇了七種天氣類型:晴天、多雲、雨天、霧天、雷天、陰天和晴天。圖2的最後一幅圖說明了不同時間和不同天氣下的樣本。在生成過程中,我們傾向於在一般條件下生成更多的圖像。圖5中的兩個扇區圖分別顯示了GCC數據集的時間戳和天氣條件的預測分佈。
在這裏插入圖片描述

4. Supervised Crowd Counting

      ~~~~~~基於FCN的方法可獲得良好的人羣計數性能。 在本節中,我們設計了一個有效的空間全卷積網絡(SFCN),以直接回歸密度圖,該密度圖能夠對全局上下文信息進行編碼。

4.1. Network Architecture

      ~~~~~~Longet等人提出了全卷積網絡(FCN)。在2016年,它專注於像素級任務(例如語義分割,顯着性檢測)。FCN使用卷積層代替傳統CNN中的全連接層,從而確保網絡可以接收任意大小的圖像併產生相應大小的輸出。爲了對上下文信息進行編碼,Panet等人通過在四個方向(向下,向上,從左到右和從右到左)上的卷積等式,提出一種空間編碼器。
在這裏插入圖片描述
      ~~~~~~在本文中,我們設計了一個空間FCN(SFCN)來生成密度圖,該圖以VGG-16或ResnNet-101爲骨幹。具體而言,將空間編碼器添加到骨幹網的頂部。功能圖流程如圖6所示。在空間編碼器之後,添加了一個迴歸圖層,該圖層直接輸出是輸入1/8大小的密度圖。在這裏,我們不審查空間編碼器,因爲有限的空間。在訓練階段,目標是在像素級最小化標準均方誤差;學習率設定爲 10510^{-5};並利用Adam算法對SFCN進行了優化。

4.2. Experiments

      ~~~~~~在本節中,介紹了兩種類型的實驗:1)在GCC數據集中進行訓練和測試;2) GCC預培訓和實際數據集的調優。

4.2.1 Experiments on GCC Dataset

      ~~~~~~我們報告了GCC數據集中廣泛實驗的結果,該數據從三種不同的訓練策略驗證了SFCN:隨機,跨相機和跨位置拆分。1)隨機分割:將整個數據集隨機分爲兩組,分別爲訓練集(75%)和測試集(25%)。2)跨攝像機拆分:針對特定位置,隨機選擇一臺監控攝像機進行測試,其他進行訓練。3)跨位置拆分:我們隨機選擇75/25個位置進行培訓/測試。 這些方案可以有效地評估GCC算法。 表2報告了我們的SFCN的性能以及在建議的GCC數據集上兩種流行的方法(MCNN [43]和CSRNet [19])的性能。
在這裏插入圖片描述

4.2.2 Experiments of Pretraining & Finetuning

      ~~~~~~目前的許多方法都存在過度擬合的問題,因爲缺乏真實的標記數據。一些方法利用基於ImageNet數據的預訓練模型。然而,經過訓練的分類模型(VGG、ResNet和DenseNet)並不是迴歸問題的最佳初始化:迴歸層和特定的模塊仍然按照隨機或常規的分佈初始化。
      ~~~~~~針對上述問題,本文提出了一種新的解決方案:首先,在大型GCC數據集上對設計的模型進行預處理;然後利用真實數據集對GCC的預訓練模型進行細化。在最後一步中,對總體參數進行訓練,優於傳統方法。爲了驗證我們的策略,我們對兩個數據集(UCF-QNRF和SHT B)進行了MCNN,CSR和SFCN。 請注意,SFCN採用VGG-16作爲主幹,SFCN+使用ResNet101主幹。表3示出了比較實驗的結果。從中我們發現,使用預訓練的GCC模型比不使用或使用ImageNet分類模型更好。具體來說,對於從零開始的MCNN,我們的策略可以將估算誤差減少30%左右。對於使用預訓練的ImageNet分類模型的SFCN,我們的方案在四組實驗中也平均減少了12%的誤差。
在這裏插入圖片描述
      ~~~~~~我們還在五個真實的數據集上展示了我們的SFCN的最終結果,這些數據集是在使用GCC的預先訓練過的SFCN上完成的。與最先進的性能相比,SFCN刷新四個數據集上的記錄。具體結果比較見表4。

5. Crowd Counting via Domain Adaptation

      ~~~~~~最後一部分提出了對合成或真實數據集的監督學習,它採用了真實數據的標籤。對於非常擁擠的場景,手動註釋它們是一件乏味的工作。 不僅如此,還有人造標籤的標籤錯誤。 因此,我們嘗試提出一種通過域自適應的人羣計數方法以節省人力,該方法從合成數據中學習特定的模式或特徵並將其轉移到現實世界中。通過這種思想,我們不需要任何實際數據的手動標籤。遺憾的是,生成的合成數據與現實世界的數據(如顏色樣式、紋理等)有很大的不同,這些數據被視爲域間隙。即使在現實生活中,領域差距也很常見。例如,上海科技館B區和世博10區分別採用不同的攝像機在不同的地點進行拍攝,導致它們的數據有很大的差異。因此,如何在不同的域之間傳輸有效的特徵是一個重要的問題,這被稱爲域適應問題。
      ~~~~~~在這項工作中,我們提出了一種通過域自適應的人羣計數方法,該方法可以有效地學習合成數據和真實數據之間的域不變特徵。具體來說,我們提出了一個SSIM嵌入(SE)循環GAN,將合成圖像轉換爲逼真的圖像。然後,我們將在翻譯後的數據上訓練SFCN。最後,我們直接在真實數據上測試模型。整個過程不需要任何手動標記的數據。圖7給出了該方法的流程圖。
在這裏插入圖片描述

5.1. SSIM Embedding Cycle GAN

      ~~~~~~在這裏,我們回顧了通過數學符號領域適應進行的人羣計數。 DA的目的是學習合成域 SS 和真實域 RR 之間的翻譯映射。合成域 SS 提供圖像 ISI_{S} 和計數標籤LSL_{S} 。真實域 RR 僅提供圖像 IRI_{R} 。總之,給定 iSISi_{S}∈I_{S}lSLSl_{S}∈L_{S}iRIRi_{R}∈I_{R}(小寫字母表示相應集中的樣本),我們想訓練一個人羣計數器來預測 RR 的密度圖。

      ~~~~~~Cycle GAN
      ~~~~~~最初的Cycle GAN由Zhuet等人提出,其重點是未配對的圖像到圖像轉換。 對於兩個不同的領域,我們可以利用Cycle GAN來處理DA問題,這可以將合成圖像轉換爲逼真的圖像。對於域 SSRR ,我們定義了兩個生成器 GSRG_{S}→RGRSG_{R}→S。 前者試圖學習從域SSRR 的映射函數,反之亦然,後者的目標是學習從域 RRSS 的映射。我們引入了週期一致的損失來規範訓練過程。 具體來說,對於樣本 iSi_{S}iRi_{R} ,我們的目標詞之一是 iSGSR(iS)GRS(GSR(iS))iSi_{S} → G_{S} → R(iS) → G_{R} → S(G_{S} → R(i_{S})) ≈ i_{S}。另一個目標是 iRi_{R} 的逆過程。 週期一致的損失是週期體系結構中的 L1L1 損失,定義如下:
在這裏插入圖片描述
      ~~~~~~另外,對應於 GSRG_{S}→RGRSG_{R}→S 對兩個鑑別器 DRD_{R}DSD_{S} 建模。 具體而言,DRD_{R} 試圖區分圖像來自哪裏( IRI_{R}GSR(IS))G_{S}→R(IS))DSD_{S} 試圖區分圖像來自$ I_{S}$或者 GRs(IR))G_{R}→s(IR))。以DR爲例,其訓練目標是對抗損失,其公式爲:
在這裏插入圖片描述
      ~~~~~~
      ~~~~~~
      ~~~~~~
      ~~~~~~
      ~~~~~~
      ~~~~~~
      ~~~~~~
      ~~~~~~
      ~~~~~~

發佈了26 篇原創文章 · 獲贊 6 · 訪問量 6491
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章