使用Python進行圖像增強
本文為 AI 研習社編譯的技術博客,原標題 :
Image Augmentation Examples in Python
翻譯 | 就2 校對 | 老趙 整理 | 志豪
https://towardsdatascience.com/image-augmentation-examples-in-python-d552c26f2873
Python中的圖像增強示例
我目前正在進行一項研究,審查圖像數據增強的深度和有效性。本研究的目標是在有限或者少量數據的情況下,學習如何增加我們的數據集大小,來訓練魯棒性卷積網路模型。
這項研究需要列出所有我們能想到的圖像增強方法,並窮舉所有這些組合,嘗試提高圖像分類模型的性能。首先出現在腦海中最簡單的圖片增強:是翻轉,平移,旋轉,縮放,隔離個別的r,g,b顏色通道,和添加噪音。更令人興奮的增強是使用生成對抗網路模型,或用遺傳演算法交換生成器網路,更有甚者在圖像中應用instagram風格的光照濾鏡、隨機區域銳化濾鏡、基於聚類技術的均值圖像增強等創新方法。
本文將向您展示如何使用NumPy對圖像進行增強。
下面是一些增強技術的列表和說明,如果你能想到任何其他方法來增強圖像,可提高圖像分類器的質量,請留下評論。
原始圖片(未增強)
增強
所有的增強都是在沒有OpenCV庫的情況下使用Numpy完成的
# Image Loading Code used for these examples
fromPILimportImage
importnumpyasnp
importmatplotlib.pyplotasplt
img = Image.open("./NIKE.png")
img = np.array(img)
plt.imshow(img)
plt.show()
翻轉
翻轉圖像是最流行的圖像數據增強方法之一。
這主要是由於翻轉代碼的簡單性以及對於大多數問題的直觀性,翻轉圖像會為模型增加價值。
下面的模型可以被認為是看到左鞋而不是右鞋,因此通過這種數據增加,模型對於看到鞋的潛在變化變得更加健壯。
#Flipping images with Numpy
flipped_img = np.fliplr(img)
plt.imshow(flipped_img)
plt.show()
平移
平移增強對檢測類分類器有很大價值。 這個分類模型試圖檢測鞋子何時在圖像中而不是在圖像中。
平移將有助於它在不看鞋架的整個鞋子的情況下拿起鞋子。
# Shifting Left
foriinrange(HEIGHT, 1, -1):
forjinrange(WIDTH):
if(i
img[j][i] = img[j][i-20]
elif(i
img[j][i] = 0
plt.imshow(img)
plt.show()
# Shifting Right
forjinrange(WIDTH):
foriinrange(HEIGHT):
if(i
img[j][i] = img[j][i+20]
plt.imshow(img)
plt.show()
# Shifting Up
forjinrange(WIDTH):
foriinrange(HEIGHT):
if(j 20):
img[j][i] = img[j+20][i]
else:
img[j][i] =
plt.imshow(img)
plt.show()
#Shifting Down
forjinrange(WIDTH,1,-1):
foriinrange(278):
if(j 20):
img[j][i] = img[j-20][i]
plt.imshow(img)
plt.show()
噪點
噪點是一種有趣的增強技術。 我已經看過很多關於對抗訓練的有趣論文,你可以將一些噪點投入到圖像中,因此模型無法正確分類。 但我仍然在尋找產生比下圖更好的噪點的方法。 添加噪點可能有助於光照畸變並使模型更加魯棒(編者就2:意思是這裡讓邊緣光照發生失真,讓尺度不變的情況下特徵轉變(SIFT),從而能增加魯棒性(SURF),使得識別更加準確 ,不過,看這文章的水平應該是我多慮了)。
GANs(生成對抗網路)
我已經收到很多關於研究使用Generative Adversarial Networks進行數據增強的興趣,下面是我能夠使用MNIST數據集生成的一些圖像。
正如我們從上面的圖片中可以看出的那樣,它們確實看起來像3 ,7和9。我目前在擴展網路架構方面遇到一些麻煩,以支持運動鞋的300x300x3尺寸輸出,而不是28x28x1 MNIST數字。
但是,我對這項研究感到非常興奮,並期待繼續這項研究!感謝您閱讀本文,希望您現在知道如何實現基本數據擴充以改進您的分類模型!
想要繼續查看該篇文章更多代碼、鏈接和參考文獻?
戳鏈接:
http://www.gair.link/page/TextTranslation/1088


※上交大盧策吾團隊 AlphaPose 更新,頂級性能的實時姿態估計
※「特徵工程」與「表示學習」
TAG:AI研習社 |