06.08 tensorflow實現數據增強

數據增強(Data Augmentation):是指對圖片進行隨機的旋轉、翻轉、裁剪、隨機設置圖片的亮度和對比度以及對數據進行標準化(數據的均值為0,方差為1)。通過這些操作,我們可以獲得更多的圖片樣本,原來的一張圖片可以變為多張圖片,擴大了樣本容量,對於提高模型的準確率和提升模型的泛化能力非常有幫助,在進行數據增強的同時也會需要消耗大量的系統資源。

利用opencv來讀取圖片,然後利用tensorflow來對圖片進行增強處理,最後再通過matplotlib來顯示圖片,需要注意的是matplotlib顯示圖片的時候是使用RGB通道順序來顯示圖片,而opencv則是採用BGR的順序來處理圖片的,所以在對圖片進行imshow之前需要先進行通道轉換。

1、隨機裁剪

原始圖片的大小為300×300,將圖片隨機裁剪為280×280,通道大小不變。

tensorflow實現數據增強

tensorflow實現數據增強

2、隨機翻轉

對圖片的水平方向和垂直方向進行隨機翻轉。

tensorflow實現數據增強

tensorflow實現數據增強

3、隨機亮度、對比度、色度、飽和度的設置

tensorflow實現數據增強

tensorflow實現數據增強

4、圖片的標準化

標準化後圖片的均值為0,方差為1

tensorflow實現數據增強

tensorflow實現數據增強

完整代碼參考:https://blog.csdn.net/sinat_29957455/article/details/80629098


分享到:


相關文章: