新四季網

圖像處理怎麼計算最大灰度值(用多大解析度的圖像做分類更適合)

2023-05-27 10:53:50

作者 | 小馬

編輯 | CV君

報導 | 我愛計算機視覺(微信id:aicvml)

【寫在前面】

為了獲得更高的精度,深卷積神經網絡(CNN)通常具有複雜的設計,具有許多卷積層和可學習的參數。為了減輕在行動裝置上部署網絡的成本,最近的工作開始研究在預定義的結構中挖掘冗餘的模塊和參數。然而,目前CNN的輸入解析度冗餘尚未得到充分研究。在本文中,作者觀察到,使用相同的神經網絡,精確預測不同圖像的最小解析度是不同的

為此,作者提出了一種新的動態解析度網絡(DRNet),其中解析度是根據每個輸入樣本動態確定的 。基於此,作者提出了一個具有可忽略計算成本的解析度預測器,並與分類網絡一起進行了優化。在實現上,預測器學習的最小解析度可以保持甚至超過每個圖像原始識別精度。在推斷過程中,每個輸入圖像將調整到其預測的解析度,以最小化總體計算負擔。

然後,作者在幾個基準網絡和數據集上進行了廣泛的實驗。結果表明,本文的DRNet可以嵌入任何現成的網絡結構中,從而大大降低計算複雜度。例如,與ImageNet上的原始ResNet-50相比,DRNet在計算量減少約34%的情況下實現了類似的性能,而在計算量減少10%的情況下,DRNet的精度提高了1.4%。

1. 論文和代碼地址

Dynamic Resolution Network

論文地址:https://arxiv.org/abs/2106.02898

代碼地址:未開源

2. Motivation

在算法、計算能力和大規模數據集的發展下,深卷積神經網絡(CNN)在各種計算機視覺任務中取得了顯著的成功。然而,卓越的性能伴隨著巨大的計算成本,這使得CNN難以部署在行動裝置上。隨著實際應用對CNN的需求不斷增加,降低計算成本,同時保持神經網絡的性能勢在必行。

最近,研究人員致力於研究模型壓縮和加速方法,包括網絡剪枝、低比特量化、知識蒸餾和輕量級網絡設計。網絡剪枝 旨在通過一定的標準剪枝對模型性能不敏感的濾波器進行剪枝;低比特量化 指用低比特值來量化權重參數和激活值;知識蒸餾 將教師模型學習到的知識轉移到學生模型從而來提高性能;輕量級網絡設計 通過設計一些輕量級操作(如depth-wise convolution)來構建新的網絡。

輸入解析度是影響CNN計算量和性能的重要因素。對於同一網絡,更高的解析度通常會導致更大的FLOPs和更高的精度。雖然解析度較小的模型性能較低,但FLOPs也較小,這能減輕CNN的計算負擔。作者用預訓練好的ResNet50測試了一些不同解析度下的圖像,並計算了每個樣本正確預測所需的最小解析度,如上圖所示。「簡單」樣本 ,如前景明顯的panda,可以在低解析度和高解析度下正確分類。

「複雜」樣本 ,如前景與背景混合的damselfly,只能在高解析度下準確預測。這意味著對於那些簡單的樣本,低解析度計算可以節省大量的計算成本。這一現象也與人類感知相兼容,一些樣本僅在模糊模式下即可輕鬆理解,而其他樣本則需要在清晰模式下才能看到。

在本文中,作者提出了一種動態網絡的解決方案(DRNet),它可以動態調整每個樣本的輸入解析度,以便進行有效的推理。在DRNet中,不同的樣本需要不同的解析度才能給出正確的預測。作者引入了一個解析度預測器,為每個輸入圖像動態選擇一個合適的解析度,然後將圖像調整到預測的解析度,用於圖片分類。

具體實現上,作者將幾個不同的解析度設置為候選解析度,並將圖像輸入到解析度預測器中,以生成候選解析度的概率分布作為輸出。該解析度預測器以簡潔的方式設計,由幾個卷積層和全連接層組成。解析度預測器與分類網絡端到端聯合訓練。通過這個簡單而有效的框架,讓輸入樣本動態地選擇合適的解析度,以進行準確而有效的推理。對於簡單樣本可以節省大量額外的冗餘計算成本,對於複雜樣本也可以保持準確的預測能力。同時,該方法與網絡結構解耦,可以推廣到任何網絡中。

3. 方法3.1 Dynamic Resolution Network

為了能夠在不同的樣本在訓練和測試過程中有不同的解析度,作者提出了一種實例感知解析度的選擇方法。如上圖所示,本文的模型主要由兩部分組成:用於分類的基礎網絡 ,如ResNet和EfficientNet,以及解析度預測器 ,該預測器輸出的解析度在性能和計算上都是高效的。將一個樣本送入改pipeline時,解析度預測器首先對其進行預處理,並為輸入圖像輸出合適的解析度r。有了這個合適的解析度,圖像會相應地調整大小,然後被送入基本網絡以繼續分類。這種方式可以節省大量冗餘計算,並保持高性能。解析度預測器和基礎網絡在訓練過程中進行端到端優化。

Resolution Predictor

解析度預測器以輕量級的方式來設計,用來預測達到較高性能的最低解析度,從而來降低網絡的計算量。一方面,解析度預測器的目標是通過推斷候選解析度的概率分布,找到適當的實例感知解析度 。但是,在1×1到224×224之間有大量的候選解析度,這使得解析度預測器很難在這麼大的解析度範圍內準確搜索,並且這也是毫無意義的。

作為簡化策略和實際需求,作者選擇m個候選解析度以縮小搜索範圍。另一方面,必須保持解析度預測器的模型儘可能小,因為它會帶來額外的FLOPs,如果額外引入的計算量超過低解析度下節省的計算量,則實現這樣一個模塊就變得沒有意義 。因此,作者設計了由幾個卷積層和全連接層組成的解析度預測器,以完成解析度分類任務。解析度預測器的預處理如下所示:

其中是解析度預測器的輸入樣本,是候選解析度的數量,是解析度預測器的輸出,表示每個候選解析度的概率。然後,選擇與最高概率的解析度作為分類器的解析度。由於從解析度預測器的軟輸出到離散解析度調整操作的過程不支持端到端的訓練,因此作者採用Gumbel Softmax模塊將軟決策轉化為硬決策,通過應用Gumbel Softmax trick解決不可微的問題:

對於訓練和測試過程,解析度預測器首先做出決策,然後將具有選定解析度的輸入圖片送入分類網絡中。由於在一個Batch中有m種解析度,作者將一個大Batch劃分為m個小Batch。不同BatchNorm層處理不同解析度的樣本,這樣,每個BatchNorm層只需統計每個解析度下對應的樣本數即可。

Resolution-aware BN

作者在本文的框架中只採用一個分類器網絡,這個分類器網絡需要處理多解析度輸入,這就會導致兩個問題。第一個問題是,全連接層將無法處理不同的輸入解析度 。這個問題可以通過全局平均池來解決,因此,可以在一個網絡中處理多個解析度的數據。

另一個問題存在於BatchNorm(BN)層中 。BN通過通道維度的歸一化使得模型可以更快、更穩定的收斂。然而,不同解析度下的均值和方差是不兼容的。由於BN層包含的參數數量可以忽略不計,因此作者使用解析度感知的BN層。作者對每個解析度的BN層進行解耦,並選擇相應的BN層來歸一化特徵:

其中,是一個非常小的數,來防止分母為0;和是不同解析度下的均值和方差;和是不同解析度下可學習的縮放權重和bias。由於共享卷積對性能不敏感,所有卷積的參數在不同解析度下還是共享的。

3.2 OptimizationLoss Function

基礎分類器和解析度預測器聯合優化。損失函數包括兩部分:用於圖像分類的交叉熵損失 和用於限制計算預算的FLOPs損失

給定一個預訓練的基本圖像分類網絡F,它將圖像X作為輸入,並輸出圖像分類的概率預測,接下來優化解析度預測器,並同時微調預訓練的分類器,使他們可以聯合優化。對於輸入圖像X,首先將其調整為m個候選解析度,如。然後使用解析度預測器來輸出每張圖片的解析度概率向量,並使用Gumbel-Softmax trick將軟解析度概率轉換為one-hot形式。根據來選擇相應大小的圖像:

所選解析度的識別結果為。交叉熵損失在和ground-truth標籤之間執行,如下所示:

如果僅使用交叉熵損失,解析度預測器將收斂到次優點,並傾向於選擇最大解析度,因為解析度最大的樣本通常對應相對較低的分類損失。雖然低解析度圖像的分類置信度相對較低,但預測是正確的,且需要更少的FLOPs。為了降低計算成本並平衡不同解析度的選擇,作者提出了FLOPs約束正則化來指導解析度預測器的學習:

其中,是實際的FLOPs,是樣本的期望,是目標FLOPs。通過這個正則化,如果平均FLOPs值太大,將導致懲罰,從而使得解析度預測器預測性能充分(預測正確)和成本有效(解析度低)的解析度。

最後,總損失是分類損失和解析度波動正則化項的加權總和:

其中,是一個超參數,用於平衡和的大小。

Gumbel Softmax trick

由於在從解析度預測器的連續輸出到離散解析度選擇的過程中存在不可微問題,作者採用Gumbel Softmax trick在反向傳播過程中使離散決策可微。解析度預測器給出了候選解析度的概率,然後可以使用下面的方式來離散化候選解析度選擇:

其中,是通過對從均勻分布中的樣本應用兩次函數得到的Gumbel噪聲。

在訓練期間,one-hot的導數由連續且可微的Gumbel softmax函數近似:

其中τ是溫度參數。

4.實驗4.1. ImageNet-100 Experiments

上表展示了在ImageNet-100上,DRNet和baseline(ResNet-50)的對比結果,可以看出動態自適應的多解析度和解析度感知的BN層都有利於性能的提升。

上表展示了不同和的實驗結果,更高的可以達到更高的性能,但也會帶來更多的計算量;在0.2時可以達到比較好的結果。

4.2. ImageNet-1K Experiments

上表展示了DRNet和baseline在ImageNet-1K的實驗結果,可以看出,FLOPs降低10%的時候,模型的準確率居然還提升了。

上表比較了本文方法和其他模型壓縮方法的結果對比,本文的方法是唯一壓縮之後還能提升性能的。

為了驗證動態解析度的有效性,作者採用了隨機解析度進行了實驗,如上表所示,可以看出DRNet的性能比他們更高(不過這裡計算量也更高)。

上表展示了DRNet的真實加速,這是通過在Intel(R) Xeon(R) Gold 6151 CPU上測量前向傳播的時間獲得的。DRNet遠遠超過ResNet-50。

上表展示了動態解析度應用在MobileNet上時的結果,可以看出本文的方法對於輕量級網絡也是有效的。

4.3. Visualization

從上圖可以看出,更大解析度的圖片大多是複雜的圖片,更小解析度的圖片往往是簡單的圖片。

5. 總結

在本文中,作者發現在實現相同精度的情況下,不同樣本可以具有不同的最小解析度。因此,對於一些較簡單的樣本,在較低解析度下可以節省大量的計算成本。為了使CNN有效預測,作者提出了一種新的動態解析度網絡,用於動態選擇解析度,使得在性能和計算量都能達到較好的水平。然後將輸入圖片調整為預測解析度,並輸入到分類器中,在該分類器中,作者使用解析度感知BN層替換每個BN層,以適應多解析度輸入。在各種網絡上的廣泛實驗證明了DRNet的有效性。

個人認為,這篇文章和黃高老師在ICLR2018上的Multi-Scale DenseNet和NIPS2021上的Dynamic Vision Transformers的Motivation很像,都是通過根據圖像的內容來自適應的進行對一些部分(網絡深度、網絡結構或者解析度)進行動態調整,從而來達到性能和計算量的平衡。不過這篇文章還能夠通過減少解析度來提升性能,這一點還是挺驚喜的。

,
同类文章
葬禮的夢想

葬禮的夢想

夢見葬禮,我得到了這個夢想,五個要素的五個要素,水火只好,主要名字在外面,職業生涯良好,一切都應該對待他人治療誠意,由於小,吉利的冬天夢想,秋天的夢是不吉利的
找到手機是什麼意思?

找到手機是什麼意思?

找到手機是什麼意思?五次選舉的五個要素是兩名士兵的跡象。與他溝通很好。這是非常財富,它擅長運作,職業是仙人的標誌。單身男人有這個夢想,主要生活可以有人幫忙
我不怎麼想?

我不怎麼想?

我做了什麼意味著看到米飯烹飪?我得到了這個夢想,五線的主要土壤,但是Tu Ke水是錢的跡象,職業生涯更加真誠。他真誠地誠實。這是豐富的,這是夏瑞的巨星
夢想你的意思是什麼?

夢想你的意思是什麼?

你是什​​麼意思夢想的夢想?夢想,主要木材的五個要素,水的跡象,主營業務,主營業務,案子應該抓住魅力,不能疏忽,春天夢想的吉利夢想夏天的夢想不幸。詢問學者夢想
拯救夢想

拯救夢想

拯救夢想什麼意思?你夢想著拯救人嗎?拯救人們的夢想有一個現實,也有夢想的主觀想像力,請參閱週宮官方網站拯救人民夢想的詳細解釋。夢想著敵人被拯救出來
2022愛方向和生日是在[質量個性]中

2022愛方向和生日是在[質量個性]中

[救生員]有人說,在出生88天之前,胎兒已經知道哪天的出生,如何有優質的個性,將走在什麼樣的愛情之旅,將與生活生活有什么生活。今天
夢想切割剪裁

夢想切割剪裁

夢想切割剪裁什麼意思?你夢想切你的手是好的嗎?夢想切割手工切割手有一個真正的影響和反應,也有夢想的主觀想像力。請參閱官方網站夢想的細節,以削減手
夢想著親人死了

夢想著親人死了

夢想著親人死了什麼意思?你夢想夢想你的親人死嗎?夢想有一個現實的影響和反應,還有夢想的主觀想像力,請參閱夢想世界夢想死亡的親屬的詳細解釋
夢想搶劫

夢想搶劫

夢想搶劫什麼意思?你夢想搶劫嗎?夢想著搶劫有一個現實的影響和反應,也有夢想的主觀想像力,請參閱週恭吉夢官方網站的詳細解釋。夢想搶劫
夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂什麼意思?你夢想缺乏異常藥物嗎?夢想缺乏現實世界的影響和現實,還有夢想的主觀想像,請看官方網站的夢想組織缺乏異常藥物。我覺得有些東西缺失了