crowd counting_[crowd_counting]-SFCN-CVPR2019amp;amp;GCC dataset

b98d11425f183fb37e2dfde220f4050b.png

4d8cd37334f9dc3e05a916263bf638d6.png

1.Contribution

(1)主要是提出了基于GTA5的GCC數據集

數據集下載地址:

https://gjy3035.github.io/GCC-CL/?gjy3035.github.io

(2)提出了在如何在GCC上train,然后在傳統的通用數據集上test的遷移學習方案,方案基于Cycle GAN,提出了SE Cycle GAN

(3)也提出了他們自己的counting模型SFCN,不過該模型本身不是亮點

2.GCC dataset

提出GCC數據集的目的是當前已經有的數據集圖片數量太少,很容易overfitting,基于GTA5場景制作出的GCC數據集,擁有豐富的場景,大量的圖片。

6895c64de63d165c52d54292f012f9c6.png

(1)場景的選擇

基于GTA5,選擇了100個地點,然后每個地點通過改變相機的位姿,最終獲得400個場景,然后通過不同的ROI獲得不同的圖片

(2)人模型的設計

選擇了265個人的模型,每個人的模型有不同的膚色,性別,形狀,然后又衣服,發型等6個不同的外觀參數,在場景中采用隨機的動作

(3)場景合成

原始GTA5每個場景不超過256人,為了產生人多的圖片,需要進行場景合成,就是將不同場景下的人拼到一塊兒

be88f4bd4d72edde521395b5cf424eff.png

最終人數分布如下:

1c11532f23cbba2fe0627ea085e0f8ab.png

(4)添加了不同環境因素

通過設置不同的時間因素,以及天氣因素,產生不同的環境:

efad32f878ecfa8a52c316767f1e9bc4.png

(5)如何利用GCC數據集

962ffea8e3af7fe25c05ec7e181cd426.png

①先在GCC在pretain,然后在其他數據集上進行fine-tune,有點在利用在ImageNet上pretrain模型的意思

②在GCC上train,然后直接在其他數據集上,不過中間利用了SE CycleGAN去將GCC的圖片色調改成了測試數據集的風格,才去train,和test

3.SFCN

(1)模型配置

為了進行counting,本文也提出了自己的counting模型SFCN(Spatial FCN):

a4b72375fce054ac958cd25517d0a210.png

就是一個簡單的單列全卷積,encoder-decoder的結構

625e3aaa58e8582f9867d94b8fb7f8f9.png

提出了采用兩種不同backbone的模型,這里有個特殊的部分為Spatial Encoder結構,是《Spatial as deep: Spatial cnn for traffic scene understanding》這篇paper中提出的,具體看那篇paper

基本上backbone+Dilation conv+spatial encoder+upsample4個結構

采用1e-5的lr,Adam+MSE

(2)ablation study

①在GCC上訓練的情況,采用了三種不同的訓練集測試集劃分方法:

194669d387259e1b40fac7274e731f69.png

第一種是75%train,25%test,第二種是每個場景(共4個相機),1個相機用來test,其他3個用來train,第三種是以場景為單位,75個場景做train,25個場景做test

②在GCC上pretrain,在其他數據集上fine tune

6c1f3804807164bd528f5001d8eacbea.png

感覺如果不用ResNet做backbone,效果不如用了ImageNet的CSRNet

4.SE CycleGAN & DA

DA是domain adaption,就是領域自適應,有點像遷移學習,要在讓在數據集A上train的模型,更好地在數據集B上test,本文要做到的就是如何在GCC上train,然后在其他數據集上獲得更好的效果

之所以要提到DA這個概念是因為GTA的圖片太卡通了,相比于實際場景,有一定Gap

(1)SE Cycle GAN

本文采用SE CycleGAN,其實就是給CycleGAN添加了SSIM的loss

e431e00f18d5de08481f4d28a79cfa60.png

根據CycleGAN的原理,GCC的圖片要通過一個Generator,產生于另一個數據集風格相似的圖片,并讓對應的distriminator去判斷,然后又用另一個Generator轉變回來,期望轉變過去又轉變回來的圖片跟原來的圖片越相似越好,

同理,另一條路是從另一個數據集轉變到GCC的風格,再轉變回去,采用的loss如下:

e6b9e3ca202870969f6fcfdf7b8c92f8.png

82bf02dcd67e68758088650f1a8a18da.png

2d38c92bca1361f1ca91478578b2f026.png

LGAN是Discriminator判斷的loss,Lcycle是轉變過去又轉變回來的比較相似度的loss,λ是多少沒說

因為要比較圖像相似度,參考SANet采用SSIM作為loss,本文引入了SSIM作為loss,將CycleGAN轉變為SE CycleGAN:

0ccdf7076704e830b7e6c7a7db278636.png

02e3960a8ddaae1d4c3cb45d0491b86e.png

μ設置為1

用了SE CycleGAN風格轉換結果如下:

3d711d3c1c0e753d8deed02e114cf16f.png

(2)Density/Scene Regulation

Density Regulation,為了防止density map某些點預測了很大的值這種現象,本文設置了density map每個點出值得上限,超過這個上限,就把這個點設為0

Scene Regulation是對于不同的測試數據集,比如WorldExpo10,其人數不超過500,那么在GCC中也要選擇少人數的場景圖片進行train

(3)ablation Study

①用不用CycleGAN進行風格轉換的對比

952a5b2aeb76673058e3224988fd5ad9.png

296216b9db0acc0c34091f23e38003e8.png

發現如果沒有Density/Scene Regulation,加了GAN反而效果變差了,可能是因為加了GAN導致圖像變模糊,帶來了一些細節的丟失

5.評價

本文最大的亮點在于提出了GCC數據集,在這上面pretrain是否能取代ImageNet,似乎持保留意見,不過對于容易overfitting的counting社區來說,確實是一個不錯的數據集

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/532101.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/532101.shtml
英文地址,請注明出處:http://en.pswp.cn/news/532101.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

代碼更換ui圖片_用技術的方式,在UI設計稿中設置隨機碼,保證高清

本文首發于:行者AI 在工作中會遇到批量給圖片添加文字,隨機碼等需求,當數據碼數量較大時,UI的工作量就會非常大,這時候我們可以用python來幫我們提高工作效率。1. 需求分析我們有這樣一張圖片,我們需要將一…

hash地址_redis中的hash擴容、漸進式rehash過程

背景: redis字典(hash表)當數據越來越多的時候,就會發生擴容,也就是rehash對比:java中的hashmap,當數據數量達到閾值的時候(0.75),就會發生rehash,hash表長度變為原來的二…

是什么牌子_水晶項鏈什么牌子好

閱讀本文前,請您先點擊上面的藍色字體,再點擊“關注”,這樣您就可以免費收到最新內容了。每天都有分享,完全是免費訂閱,請放心關注! …

什么是機器人的五點校正法_機器人校正方法

機器人校正方法【專利說明】機器人校正方法[0001]本申請案主張于2012年9月18日申請之美國臨時專利申請案第61/702,377號的優先權,所述專利申請案的揭示完整結合于此以供參考。技術領域[0002]本發明涉及一種工件加工,尤其涉及一種用于工件加工…

stn算子_深度學習常用算子(二)

1、Tensor維度變換1)Flatten作用:將輸入tensor中從start_axis維度到end_axis維度合并為1維2)Reshape作用:將輸入Tensor描述轉換為新的shape3)FreespaceExtract作用:將h維變成1,其他維度不變,從而完成對h的采樣&#xf…

iframe異步加載_5種延遲加載圖像的方法以幫助你提升網站性能與用戶體驗

英文 | https://www.sitepoint.com/five-techniques-lazy-load-images-website-performance/翻譯 | web前端開發(ID:web_qdkf)由于圖像是Web上最流行也是必不可少的內容類型之一,因此網站上的圖片頁面加載時間很容易成為一個問題。即使進行了適當的優化&…

ubuntu18安裝python3.6.8_ubuntu 18.04 + Python 3.6.8 更換軟件安裝源

國外的開源項目開展的是如火如荼,我們國內的當然也不甘落后。為了更好的玩轉 Python,我使用了 ubuntu Linux 來作為開發環境。但是由于國內網絡的限制,訪問國外的一些軟件源的時候,速度比較慢,這時我們需要更換成國內的…

springframework報錯_應對報錯信息的必殺技!

今天遇到了一個錯誤,一般的錯誤提示會很明顯,一看就知道是什么問題。今天遇到的這個說實話真的不好找原因,一般在這種情況下該怎么解決呢?分享下我的思路吧,不一定是最好的,至少有用。直接上圖吧&#xff0…

電腦運行卡頓怎么處理_【眾點學】電腦運行PS卡頓?可能是你的虛擬內存沒設置好!...

不少小伙伴都遇到過這樣的煩惱明明自己的電腦擁有大內存PS用著用著就卡頓了經過教體君的仔(bai)細(du)研(yi)究(xia)發現原來電腦的 虛擬內存 只有2G當我們用大型軟件或玩大型游戲電腦越用越卡時該怎么做?今天【眾點學】我們一起來看看Win7和Win10系統下分別如何設置…

線程池拒絕策略 開發中常用什么策略_面試官:說說你知道多少種線程池拒絕策略...

往期文章為什么阿里Java規約要求謹慎使用SimpleDateFormathttps://www.toutiao.com/i6696127929048367629/為什么我強烈推薦你用枚舉來實現單例模式https://www.toutiao.com/i6696861933687013901/為什么不要在MySQL中使用UTF-8編碼方式https://www.toutiao.com/i6697966437727…

css html 雙面打印_從 Linux 命令行進行打印 | Linux 中國

導讀:在 Linux 命令行進行打印的內容比單單一個 lp 命令多得多,讓我們來看一些可用選項。       本文字數:4305,閱讀時長大約:5分鐘https://linux.cn/article-13012-1.html作者:Sandra Henry-stocker譯…

python保存快捷鍵是什么_python常用快捷鍵

最重要的快捷鍵1. ctrlshiftA:萬能命令行2. shift兩次:查看資源文件新建工程第一步操作1. module設置把空包分層去掉,compact empty middle package2. 設置當前的工程是utf-8,設置的Editor-->File Encodings-->全部改成utf-8,注釋1. ctrl/:單行注釋光標操作1. ctrlaltent…

服務器內存超限問題_服務器內存爆滿最佳處置方案

內存爆滿截圖:分析:內存持續飆升,應該是有大量內存一直沒有釋放,考慮僵尸對象,僵尸進程,最簡單的就是重啟服務器,但是就無法找到罪魁禍首了。驗證:top命令查看活躍進程的資源使用情況…

js map對象遍歷_何時使用 Map 來代替變通的 JS 對象

JS 普通對象 {key: value} 用于存放結構化數據。但有一件事我覺得很煩:對象鍵必須是字符串(或很少使用的 symbol)。如果將數字用作鍵會怎樣?在這種情況下不會有錯誤:const names { 1: One, 2: Two,};Object.keys(names); // > [1, 2]JS 會隱式地將…

mysql怎么顯示結果窗口_mysql8中窗口函數

在以前的MySQL版本中是沒有窗口函數的,直到MySQL8.0才引入了窗口函數。窗口函數是對查詢中的每一條記錄執行一個計算,并且這個計算結果是用與該條記錄相關的多條記錄得到的。1.窗口函數與聚合函數窗口函數與聚合函數很像,他們都是在一組記錄而…

python控制臺輸入字符串作為參數_Python-如何將字符串傳遞到subprocess.Popen(使用stdin參數)?...

小編典典Popen.communicate() 說明文件:請注意,如果要將數據發送到進程的stdin,則需要使用stdin PIPE創建Popen對象。同樣,要在結果元組中獲得除None以外的任何內容,你還需要提供stdout PIPE和/或stderr PIPE。替換…

log4jdbc mysql_[簡單]log4jdbc-log4j2配置簡記_MySQL

log4jdbc-log4j2,就不多說了,不了解的可以谷歌,附上log4jdbc-log4j2的官方鏈接:https://code.google.com/p/log4jdbc-log4j2/ ,上面有非常詳細的介紹。簡單的貼下配置文件,其他的見附件:databas…

vb實時錯誤6 溢出_java內存溢出系列(6): Out of swap space?

本文是java內存溢出系列第6小篇。JVM啟動參數指定了最大內存限制。如 -Xmx 以及相關的其他啟動參數. 假若JVM使用的內存總量超過可用的物理內存, 操作系統就會用到虛擬內存。錯誤信息 java.lang.OutOfMemoryError: Out of swap space? 表明, 交換空間(swap space,虛擬內存) 不…

java備份還原mysql數據庫_Java備份還原Mysql數據庫

///實體類package com.ews.util;/*** 系統備份展示對象** */public class DataFile {private String fileName;//備份文件的名稱private String fileDate;//備份文件的日期private String filePath;//備份文件的地址private String fileSize;//備份文件的大小public String get…

學pyqt5之前需要學python嗎_快速學習pyqt5(1)--入門

學習于:PyQt5圖形界面編程 想要系統學習的同學建議可以去這個專欄好好學習,沒有任何語言基礎和計算機基礎的也建議直接去看那個專欄。我這里是有java基礎了,所以就不重復,針對快速學習使用。學習這個的目的是完成學校的SIT項目&am…