GridMask 一種資料增強方法

2022-05-14 18:08:03 字數 1577 閱讀 4535

gridmask data augmentation, arxiv 2020

這篇**提出了一種簡單的資料增強方法,在影象分類、檢測、分割三個任務進行實驗,效果提公升明顯。

作者首先回顧了資料增強(data augmentation)方法,指出當前方法有三類:spatial transformation, color distortion, 以及 information dropping。本文提出的方法屬於 information dropping,作者指出,對於此類方法,避免過度刪除或保持連續區域是核心問題:一方面,過度刪除區域將造成完整目標被刪除或者上下文資訊缺失,因此,剩下的區域不足以表達目標資訊,會成為noisy data。另一方面,保留過多區域,將會使得目標不受影響(untouched),會影響網路的魯棒性。

作者重點介紹了 cutout 和 has 方法。cutout方法只刪除影象中的一塊連續區域,因此,容易出現刪除掉整個目標,或者一點目標也沒有刪除的情況;has方法把影象劃分為若干小塊的區域,然後隨機刪除,但仍然會出現和 cutout 相同的問題。下圖展示了 gridmask 方法與當前方法的對比。

gridmask 通過生成乙個和原圖相同解析度的mask,然後將該mask與原圖相乘得到乙個影象。下圖中灰色區域的值為1,黑色區域的值為0。這樣,就實現了特定區域的 information dropping,本質上可以理解為一種正則化方法。

gridmask對應4個引數,為 \((x,y,r,d)\) ,四個引數的設定如下圖所示:

從圖中可以看出,\(r\) 代表了保留原影象資訊的比例,有乙個計算方法,具體可以閱讀**。\(d\) 決定了乙個dropped square的大小, 引數 \(x\)和\(y\)的取值有一定隨機性,細節可以閱讀**。

在imagenet-1k影象分類任務上,cutout對resnet50的提公升為0.6%,has的提公升為0.7%,autoaugement提公升為1.1%,相比而言,gridmask的提公升為1.4%。作者還在cifar10資料集上進行了實驗,這裡不再詳述。

在ablation study中,作者首先分析了引數\(r\)。如下圖所示,在imagenet-1k資料集上,設定為0.6比較好;在cifar10資料集上,設定為0.4比較好。作者解釋為,在複雜的資料集上應該保持更多的資訊來避免under-fitting,在簡單資料集上應該丟棄更多的資訊來減少over-fitting。這和 common sense 是一致的。

作者還在目標檢測、語義分割任務上進行了實驗,具體可閱讀**,不再詳述。此外,作者還把方法和 mixup方法進行了結合,結果表明效能同樣可以得到提公升。

gridmask是簡單、通用性強並且有效的資料增強工具,同時,作者相信未來可以構造more excellent structures 來進一步改進效能。

樹 一種資料結構(二)

通過樹形結構的構造,進行組合設計模式 composite 的實現 node作為基類 本身不持有資料,用於維護共同的節點結構 class node protected node size t id,boost shared ptrp parent p id id 通過建構函式傳遞進來的父類指標建立與其...

指標也是一種資料型別

int getabc1 char p1 int getabc2 char p2 int getabc3 char p3 int getabc4 char p4 30 int getabc5 char p5 10 30 指標做函式引數時,形參有多級指標的時候,站在編譯器的角度,只需要分配4個位元組的記...

模板類 型別也是一種資料

template class base class class type class ctypedptrarray public base class ctypedptrarray型別化指標陣列類的模板類決定其要派生的父類 type類則是其元素的型別 常見的模板引數用法 class cobarray...