《電子技術應用》
您所在的位置:首頁 > 人工智能 > 業界動態 > 基于PyTorch的圖像數據增強技術

基于PyTorch的圖像數據增強技術

2022-11-29
來源:機械視覺沙龍
關鍵詞: PyTorch 圖像數據

  機器學習或深度學習模型的訓練的目標是成為“通用”模型。這就需要模型沒有過度擬合訓練數據集,或者換句話說,我們的模型對看不見的數據有很好的了解。數據增強也是避免過度擬合的眾多方法之一。

  擴展用于訓練模型的數據量的過程稱為數據增強。通過訓練具有多種數據類型的模型,我們可以獲得更“泛化”的模型。“多種數據類型”是什么意思呢?本片文章只討論“圖像”數據增強技術,只詳細地介紹各種圖片數據增強策略。我們還將使用 PyTorch 動手實踐并實現圖像數據或計算機視覺中主要使用的數據增強技術。

66.JPG

  因為介紹的是數據增強技術。所以只使用一張圖片就可以了,我們先看看可視話的代碼

  import PIL.Image as Image

  import torch

  from torchvision import transforms

  import matplotlib.pyplot as plt

  import numpy as np

  import warnings

  def imshow(img\_path, transform):

  “”“

  FuncTIon to show data augmentaTIon

  Param img\_path: path of the image

  Param transform: data augmentaTIon technique to apply

  ”“”

  img = Image.open(img\_path)

  fig, ax = plt.subplots(1, 2, figsize=(15, 4))

  ax[0].set\_TItle(f'Original image {img.size}‘)

  ax[0].imshow(img)

  img = transform(img)

  ax[1].set\_title(f'Transformed image {img.size}’)

  ax[1].imshow(img)

  Resize/Rescale

  此函數用于將圖像的高度和寬度調整為我們想要的特定大小。下面的代碼演示了我們想要將圖像從其原始大小調整為 224 x 224。

  path = './kitten.jpeg'

  transform = transforms.Resize((224, 224))

  imshow(path, transform)

 67.JPG

  Cropping

  該技術將要選擇的圖像的一部分應用于新圖像。例如,使用 CenterCrop 來返回一個中心裁剪的圖像。

  transform = transforms.CenterCrop((224, 224))

  imshow(path, transform)

  68.JPG

  RandomResizedCrop

  這種方法同時結合了裁剪和調整大小。

  transform = transforms.RandomResizedCrop((100, 300))

  imshow(path, transform)

 69.JPG

  Flipping

  水平或垂直翻轉圖像,下面代碼將嘗試應用水平翻轉到我們的圖像。

  transform = transforms.RandomHorizontalFlip()

  imshow(path, transform)

70.JPG

  Padding

  填充包括在圖像的所有邊緣上按指定的數量填充。我們將每條邊填充50像素。

  transform = transforms.Pad((50,50,50,50))

  imshow(path, transform)

71.JPG

  Rotation

  對圖像隨機施加旋轉角度。我們將這個角設為15度。

  transform = transforms.RandomRotation(15)

  imshow(path, transform)

 72.JPG

  Random Affine

  這種技術是一種保持中心不變的變換。這種技術有一些參數:

  degrees:旋轉角度

  translate:水平和垂直轉換

  scale:縮放參數

  share:圖片裁剪參數

  fillcolor:圖像外部填充的顏色

  transform = transforms.RandomAffine(1, translate=(0.5, 0.5), scale=(1, 1), shear=(1,1), fillcolor=(256,256,256))

  imshow(path, transform)

 73.JPG

  Gaussian Blur

  圖像將使用高斯模糊進行模糊處理。

  transform = transforms.GaussianBlur(7, 3)

  imshow(path, transform)

 74.JPG

  Grayscale

  將彩色圖像轉換為灰度。

  transform = transforms.Grayscale(num\_output\_channels=3)

  imshow(path, transform)

75.JPG

顏色增強,也稱為顏色抖動,是通過改變圖像的像素值來修改圖像的顏色屬性的過程。下面的方法都是顏色相關的操作。

  Brightness

  改變圖像的亮度當與原始圖像對比時,生成的圖像變暗或變亮。

  transform = transforms.ColorJitter(brightness=2)

  imshow(path, transform)

76.JPG

  Contrast

  圖像最暗和最亮部分之間的區別程度被稱為對比度。圖像的對比度也可以作為增強進行調整。

  transform = transforms.ColorJitter(contrast=2)

  imshow(path, transform)

77.JPG

  Saturation

  圖片中顏色的分離被定義為飽和度。

  transform = transforms.ColorJitter(saturation=20)

  imshow(path, transform)

 78.JPG

  Hue

  色調被定義為圖片中顏色的深淺。

  transform = transforms.ColorJitter(hue=2)

  imshow(path, transform)

  79.JPG

  總結

  圖像本身的變化將有助于模型對未見數據的泛化,從而不會對數據進行過擬合。



更多信息可以來這里獲取==>>電子技術應用-AET<< 

mmexport1621241704608.jpg

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 久久综合给合综合久久| 国产a∨精品一区二区三区不卡| 夜夜高潮夜夜爽夜夜爱爱 | 一级一级女人真片| 无码日韩精品一区二区免费| 亚洲成aⅴ人片在线观| 经典欧美gifxxoo动态图暗网| 大肉大捧一进一出好爽APP| 久久本网站受美利坚法律保护 | 樱花视频入口在线观看| 免费看一级性生活片| 青青草国产免费久久久下载| 国产精品无码久久久久久| 久久国产乱子伦免费精品| 欧美日韩乱妇高清免费| 免费播放春色aⅴ视频| 被催眠暴jian的冷艳美mtxt下载| 国产精品视频网站你懂得| 东京一本一道一二三区| 欧美叉叉叉BBB网站| 免费国产精品视频| 高清国产激情视频在线观看| 国产香蕉一本大道| 一人上面一个吃我电影| 日韩精品武藤兰视频在线| 亚洲欧洲日产国码久在线| 看免费毛片天天看| 四虎影视永久免费观看| 高清不卡毛片免费观看| 国产精品亚洲αv天堂2021| 99久久精品国产一区二区蜜芽| 成人综合久久综合| 久久夜色精品国产嚕嚕亚洲av| 欧美人与zoxxxx另类| 人妻免费一区二区三区最新| 绿巨人草莓香蕉丝瓜菠萝| 国产乱码一区二区三区爽爽爽 | 好硬好湿好大再深一点动态图| 久久久久久国产精品免费免费| 最新中文字幕在线| 亚洲人成在线观看|