在8.1 節(jié)中,我們提到大型數(shù)據(jù)集是深度神經(jīng)網(wǎng)絡(luò)在各種應(yīng)用中取得成功的先決條件。圖像增強(qiáng)在對(duì)訓(xùn)練圖像進(jìn)行一系列隨機(jī)變化后生成相似但不同的訓(xùn)練示例,從而擴(kuò)大了訓(xùn)練集的大小。或者,圖像增強(qiáng)的動(dòng)機(jī)可能是訓(xùn)練示例的隨機(jī)調(diào)整允許模型減少對(duì)某些屬性的依賴,從而提高它們的泛化能力。例如,我們可以通過(guò)不同的方式裁剪圖像,使感興趣的對(duì)象出現(xiàn)在不同的位置,從而減少模型對(duì)對(duì)象位置的依賴。我們還可以調(diào)整亮度和顏色等因素,以降低模型對(duì)顏色的敏感度。圖像增強(qiáng)對(duì)于當(dāng)時(shí) AlexNet 的成功來(lái)說(shuō)可能是不可或缺的。在本節(jié)中,我們將討論這種在計(jì)算機(jī)視覺中廣泛使用的技術(shù)。
14.1.1。常見的圖像增強(qiáng)方法
在我們對(duì)常見圖像增強(qiáng)方法的研究中,我們將使用以下方法400×500形象一個(gè)例子。
d2l.set_figsize()
img = image.imread('../img/cat1.jpg')
d2l.plt.imshow(img.asnumpy());
大多數(shù)圖像增強(qiáng)方法都具有一定的隨機(jī)性。為了方便我們觀察圖像增強(qiáng)的效果,接下來(lái)我們定義一個(gè)輔助函數(shù)apply
。aug
此函數(shù)在輸入圖像上多次運(yùn)行圖像增強(qiáng)方法img
并顯示所有結(jié)果。
def apply(img, aug, num_rows=2, num_cols=4, scale=1.5):
Y = [aug(img) for _ in range(num_rows * num_cols)]
d2l.show_images(Y, num_rows, num_cols, scale=scale)
14.1.1.1。翻轉(zhuǎn)和裁剪
左右翻轉(zhuǎn)圖像通常不會(huì)改變對(duì)象的類別。這是最早和最廣泛使用的圖像增強(qiáng)方法之一。接下來(lái),我們使用該transforms
模塊創(chuàng)建實(shí)例RandomHorizontalFlip
,它以 50% 的幾率左右翻轉(zhuǎn)圖像。
上下翻轉(zhuǎn)不像左右翻轉(zhuǎn)那樣常見。但至少對(duì)于這個(gè)示例圖像,上下翻轉(zhuǎn)并不妨礙識(shí)別。接下來(lái),我們創(chuàng)建一個(gè)RandomVerticalFlip
實(shí)例,以 50% 的幾率上下翻轉(zhuǎn)圖像。
Flipping the image left and right usually does not change the category of the object. This is one of the earliest and most widely used methods of image augmentation. Next, we use the transforms
module to create the RandomFlipLeftRight
instance, which flips an image left and right with a 50% chance.
Flipping up and down is not as common as flipping left and right. But at least for this example image, flipping up and down does not hinder recognition. Next, we create a RandomFlipTopBottom
instance to flip an image up and down with a 50% chance.
在我們使用的示例圖像中,貓位于圖像的中間,但一般情況下可能并非如此。在7.5 節(jié)中,我們解釋了池化層可以降低卷積層對(duì)目標(biāo)位置的敏感性。此外,我們還可以隨機(jī)裁剪圖像,讓物體以不同的尺度出現(xiàn)在圖像中的不同位置,這樣也可以降低模型對(duì)目標(biāo)位置的敏感度。
在下面的代碼中,我們隨機(jī)裁剪一個(gè)面積為 10%~100%每次都是原始區(qū)域的大小,這個(gè)區(qū)域的寬高比是隨機(jī)選擇的 0.5~2. 然后,該區(qū)域的寬度和高度都縮放為 200 像素。除非另有說(shuō)明,之間的隨機(jī)數(shù)a和b本節(jié)中指的是從區(qū)間中隨機(jī)均勻采樣得到的連續(xù)值 [a,b].
14.1.1.2。改變顏色
另一種增強(qiáng)方法是改變顏色。我們可以改變圖像顏色的四個(gè)方面:亮度、對(duì)比度、飽和度和色調(diào)。在下面的示例中,我們將圖像的亮度隨機(jī)更改為 50% (1?0.5) 和 150% (1+0.5) 的原始圖像。
同樣,我們可以隨機(jī)改變圖像的色調(diào)。
我們也可以創(chuàng)建一個(gè)RandomColorJitter
實(shí)例,同時(shí)設(shè)置如何隨機(jī)改變圖片的brightness
, contrast
, saturation
, 。hue
評(píng)論