您當前的位置 :實況網-重新發現生活>資訊頻道 > 快訊 > 正文
圖像數據增強(一)
2023-08-30 22:16:30 來源:嗶哩嗶哩

1. 加載和顯示圖片

由于imgaug只處理增強而不是圖像輸入/輸出,我們需要另一個庫來加載圖像。在Python中,常見的選擇是imageio和CV2。然而,()以BGR顏色空間返回圖像,而不是RGB,需要重新排序通道軸。后一種方法的缺點是所有可視化函數(例如下面的())仍然需要輸入RGB格式。

觀察imshow源碼后發現,imshow只能輸入RGB格式,如果采用imageio讀取不用轉換通道格式,而使用CV2的話,需要轉成RGB格式。其實當使用CV2的時候,()內部還是調用了(),只不過又把RGB轉成了BGR……所以感覺這個()相當雞肋。


【資料圖】

2. 圖像增強

imgaug的增強技術是從Augmenter父類派生的。要使用一種增強技術,我們需要用一組參數實例化增強對象。

仿射變換

Augmenter to apply affine transformations to images.

Affine類是對圖片進行仿射變化的增強類,包括平移旋轉縮放

如果不傳入參數,該類會自動賦值一些變換參數,內部實現如下

幾個主要的參數如下:

scale=None

縮放因子,表示無變化,表示縮小50%,還支持其他類型的參數以對不同軸做不同變化。

translate_percent=None

其中0表示無變化,表示平移圖片大小的一半。常用的方式如下:

x軸隨機平移左右平移0~比例,y軸同理上下平移

translate_px=None

以像素單位平移,和上面相同。

rotate=None

旋轉取值范圍在[-360,360],如果是元組,例如(30,60),會在范圍內隨機均勻采樣。如果是列表,隨機取列表中的某個值。

shear=None

錯切角度在[-360,360],但是合適的范圍在[-45,45]

order=1

插值方法,0表示最近鄰,1表示雙線性,常用的是這兩個,還有其他方法。

cval=0

mode="constant"時要填充的常數值,輸入元組代表范圍取值,列表代表隨機取值。

mode="constant"

填充新創建的像素時要使用的模式,默認用常數填充。

fit_output=False

經過一些仿射變化后,圖像的一些邊緣可能就會丟失,如果將該參數設置為True,那么整張圖片會完整的顯示出來,但是此時圖像大小會發生改變。如果不想圖像大小發生變化,用包裹增強對象即可。

以上輸入的參數類型大致分為三類,數字,元組,列表,字典。其中數字就是對應的值,元組就是在這個范圍內部均勻隨機采樣,列表就是隨機采樣列表值,字典可以針對x軸和y軸做不同變化,字典key對應的value可以是數字,元組,列表類型。此外,還有一種隨機數類型,這里不做介紹。

?批量增強

imgaug支持批量圖片的增強,如果這批圖片的大小不一,那么只能使用數組,如果圖片大小相同例如一批圖片為[B,H,W,C],可以使用numpy張量格式,速度上會更快一些。

注意這里傳入的參數是images。

?同時使用多種增強

我們可以使用Sequential來整合一系列增強對象,這和pytorch里面的有異曲同工之妙。如果希望增強不是按照定義的順序而是隨機,可以設置random_order=True。

其他的類似方法還有:

SomeOf表示選取給定增強中的某些增強;

OneOf表示只應用所有給定增強中的一個;

Sometimes按概率隨機增強;

關鍵詞:

相關閱讀
分享到:
版權和免責申明

凡注有"實況網-重新發現生活"或電頭為"實況網-重新發現生活"的稿件,均為實況網-重新發現生活獨家版權所有,未經許可不得轉載或鏡像;授權轉載必須注明來源為"實況網-重新發現生活",并保留"實況網-重新發現生活"的電頭。

国产又粗又猛又黄视频,97超碰亚洲中文字幕校园,中文字幕在线视频网站,国产阿v视频高清在线观看
中文手机字幕大香视频蕉 | 无遮挡国产在线视频 | 亚洲欧美精品伊人久久 | 亚洲乱码小电影AV | 亚洲国产精品久久精品 | 尹人香蕉综合网在线观看 |