關鍵點檢測中,為什麼要生成高斯圖,而不是直接與ground truth比較?

時間 2021-06-02 00:36:26

1樓:

在醫學影象中,解剖關鍵點檢測是可以直接回歸的。直接回歸的精度也不差。但是,如果你需要更好的精度,可以替換成高斯核這種。

兩種方法的計算量,看你實際需求進行取捨。

2樓:張良懷

對於關鍵點檢測任務,有兩種方式去監督:

(1)直接用目標點的座標進行監督,這樣網路是乙個回歸網路(最後是全連線層),網路輸出應該是目標點的座標(x,y),即2個輸出神經元。k個點同時檢測,那就是2k個輸出神經元。

(2)用heatmap去監督,即網路的輸出是乙個和輸入大小相同尺寸的特徵圖,在檢測點的位置為1,其他位置為0。多個點的檢測就輸出多個通道的特徵圖。網路實際上是乙個全卷積網路,也可以做成encoder-decoder的形式。

方式(1)相比於方式(2)是一種更難學習的監督方式,網路需要自行將空間位置轉換為座標。

方式(2)中網路的任務很直觀,把和目標相似的位置輸出高啟用值就OK,這其實可以理解成在做濾波,也就是卷積幹的事情,網路只需要訓練處合適的濾波引數,因此網路收斂必然會更快。

方式(2)有點類似於對方式(1)進行one-hot編碼,解空間更小。

再回到題述關鍵問題:方式(2)的Label為什麼要在目標點上附上高斯圖?

也是為了讓訓練變得簡單,收斂更快。

很多任務中,目標點其實很難準確的被某乙個畫素位置定義的,也就很難被準確的標註。目標點附近的點其實也很像目標點,我們直接將其標為負樣本,可能給網路的訓練帶來干擾,將其用高斯函式做乙個「軟標註」,網路也就更好收斂。

加上高斯圖,也能夠給網路的訓練增加乙個方向性的引導,距離目標點越近,啟用值越大,這樣網路能有方向的去快速到達目標點。

最後想多說一點:

全卷積網路是乙個偉大的網路結構,很多影象的任務,用全卷積網路會比用分類網路、回歸網路更加的直觀有效。

語義分割一開始是用CNN逐畫素分類,後來被FCN取代;

關鍵點檢測以前用CNN回歸,後來被FCN取代;

目標檢測目前還是盛行CNN回歸,但是我覺得FCN的思路會慢慢開始取代CNN回歸,因為回歸中心點座標和偏移量什麼的,真的都不直觀,所以Faster-RCNN什麼的,都不好訓練。現在開始出現越來越多的anchor-free的目標檢測框架,已經開始把檢測bounding box中心點的任務用FCN去做了(類似做關鍵點檢測,參考CVPR2019的CSP-Center and Scale Prediction),但是bounding box寬度高度,還是用回歸去做的,如何把寬和高也用FCN一套搞定,那目標檢測就也可以被FCN給統一了。

3樓:蕭葉

不知道到題主所說「直接與ground_truth比較」是指regression的方法嗎?

事實上,從直覺上來看,heatmap和CNN更加切合。如果把CNN中的卷積核看做某種「響應機制的過濾器」的話,這種想法就會天然的任務heatmap天然的契合性,而高斯圖則剛好為了這種契合而準備的。

可能是我視野有限,在我看來,基本上就分為heatmap和regression兩大類的方法,而兩大類方法的最大區別就是如何表示式ground_truth(事實上我一直認為這是個很大的問題,所謂feature representation)。當然,兩大類方法各有千秋。

regression模型很容易訓練,甚至即是很少的資料也能夠訓練。當然與此帶來的就是極度的容易過擬合和泛化問題(如果說資料能夠覺得那當我沒說)。key points之間的能夠保持某種潛在的「秩序」(比如face alignment中雙眼+鼻子+兩嘴角構成的5個點,這5個點總是會保持方位上的秩序)。

這種秩序性更體現在,如果輸入是一張完全不相關的影象,regression依然可以給出乙個形狀上非常合理的結果(反觀heatmap所給的key points則會完全亂了套)。所以,我一直不明白regression類方法的本質是什麼?

相比之下,heatmap方法相比前者泛化能力更好,但是模型也往往更加複雜[2]。同時,對於異常資料也會更加敏感。但是heatmap方法在設計上有個很致命的缺陷:

通常推斷出來的feature map,通常乙個channel表示乙個關鍵點(該channel內啟用值最高的單元表示關鍵點的 location),但是以heatmap為基礎建立的損失函式往往沒用同「關鍵點座標的量化數值」建立比較直接的關係,換句話說模型是非end-to-end(最後一步求最高啟用值的位置不是),進而直接影響了梯度的flow(以hourglass為例,損失函式就是predict和ground_truth的heatmap之間使用了L2損失)。當然,對這個問題也有一些工作,比如[1]。雖然結果只在低解析度上比較明顯,但是通過巧妙的設計把所謂的numerical coordinate引入到了heatmap中(算是結合了兩者的優點?

),算是給這個方面的工作帶來了一些新的思路。

[1] Numerical Coordinate Regression with Convolutional Neural Networks

[2] How far are we from solving the 2D \& 3D Face Alignment problem?

為什麼核酸檢測要收費

Su Yu 樓上很多人認為核酸檢測就是用棉籤轉那麼幾秒鐘,其實真不是,那只是取樣而已,樣本進入實驗室還有一系列的實驗步驟,樣本的轉移 病毒核酸提取 上機擴增 螢光PCR 結果分析。這些在實驗室的環節大家看不見,實際上主要的成本都在這裡,包括試劑 裝置 耗材 當然還有人力成本。一般24小時出報告,大部...

高鐵為什麼要分次提速?

hc丶衝 3感覺說白了還是當下的技術條件達不到,現在的高鐵應該用的都是電機驅動,而電機運轉速度的公式為n 60f p,普通的電機同步轉速最高也才到3000轉 當然現在都是變頻啟動和控制速度 如果用普通的電機的話那麼傳動比就是1 1km那麼這麼大的傳動比電機能啟動的起來麼?電機需要多大的啟動轉矩?電機...

考研為什麼要考名校?哪幾個優勢很關鍵?

研大神考研 考研選擇考名校的主要原因有以下兩方面 一方面,名校的學習氛圍與師資力量。很多同學選擇考研的原因是為了提高自己的專業能力,名校中的學習氛圍更為濃厚,可以對大家起到很好的督促作用。身邊的同學很優秀,自己在這樣的環境中也不想當一條無所事事的鹹魚。再者,名校的師資力量強,軟體和硬體都是一流水平,...