Rumah > Peranti teknologi > AI > teks badan

Ringkasan 12 teknik peningkatan data imej yang biasa digunakan

王林
Lepaskan: 2023-04-11 22:49:01
ke hadapan
2033 orang telah melayarinya

Matlamat melatih pembelajaran mesin atau model pembelajaran mendalam adalah untuk menjadi model "universal". Ini memerlukan model tidak melebihi set data latihan, atau dengan kata lain, model kami mempunyai pemahaman yang baik tentang data yang tidak kelihatan. Pembesaran data juga merupakan salah satu daripada banyak cara untuk mengelak daripada pemasangan berlebihan.

Proses mengembangkan jumlah data yang digunakan untuk melatih model dipanggil penambahan data. Dengan melatih model dengan pelbagai jenis data, kita boleh mendapatkan model yang lebih "umum". Apakah yang dimaksudkan dengan "berbilang jenis data"? Artikel ini hanya membincangkan teknologi peningkatan data "imej" dan hanya memperkenalkan pelbagai strategi peningkatan data imej secara terperinci. Kami juga akan mendapatkan hands-on dan melaksanakan teknik penambahan data yang digunakan terutamanya dalam data imej atau penglihatan komputer menggunakan PyTorch.

Ringkasan 12 teknik peningkatan data imej yang biasa digunakan


Kerana ia memperkenalkan teknologi peningkatan data. Jadi hanya gunakan satu imej. Mari kita lihat kod visual dahulu. saiz yang dikehendaki. Kod di bawah menunjukkan bahawa kami ingin mengubah saiz imej daripada saiz asalnya kepada 224 x 224.

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):
Salin selepas log masuk

Memotong
path = './kitten.jpeg'
 transform = transforms.Resize((224, 224))
 imshow(path, transform)
Salin selepas log masuk

Teknik ini menggunakan sebahagian daripada imej yang dipilih pada imej baharu. Contohnya, gunakan CenterCrop untuk mengembalikan imej yang dipotong tengah. Ringkasan 12 teknik peningkatan data imej yang biasa digunakan

RandomResizedCrop
transform = transforms.CenterCrop((224, 224))
 imshow(path, transform)
Salin selepas log masuk

Kaedah ini menggabungkan pemangkasan dan saiz semula pada masa yang sama. Ringkasan 12 teknik peningkatan data imej yang biasa digunakan

Terbalikkan
transform = transforms.RandomResizedCrop((100, 300))
 imshow(path, transform)
Salin selepas log masuk

Terbalikkan imej secara mendatar atau menegak, kod di bawah akan cuba menggunakan flip mendatar pada imej kami. Ringkasan 12 teknik peningkatan data imej yang biasa digunakan

Padding
transform = transforms.RandomHorizontalFlip()
 imshow(path, transform)
Salin selepas log masuk

Padding terdiri daripada padding amaun yang ditentukan pada semua tepi imej. Kami akan mengisi setiap tepi dengan 50 piksel. Ringkasan 12 teknik peningkatan data imej yang biasa digunakan

Putaran
transform = transforms.Pad((50,50,50,50))
 imshow(path, transform)
Salin selepas log masuk

Menggunakan sudut putaran rawak pada imej. Kami akan menetapkan sudut ini kepada 15 darjah. Ringkasan 12 teknik peningkatan data imej yang biasa digunakan

Random Affine
transform = transforms.RandomRotation(15)
 imshow(path, transform)
Salin selepas log masuk

Teknik ini ialah transformasi yang meninggalkan pusat tidak berubah. Teknik ini mempunyai beberapa parameter: Ringkasan 12 teknik peningkatan data imej yang biasa digunakan

darjah: sudut putaran

terjemah: terjemahan mendatar dan menegak

    skala: parameter penskalaan
  • kongsi: Imej parameter pemangkasan
  • warna isian: Warna isian di luar imej
Gaussian Blur
transform = transforms.RandomAffine(1, translate=(0.5, 0.5), scale=(1, 1), shear=(1,1), fillcolor=(256,256,256))
 imshow(path, transform)
Salin selepas log masuk

Imej akan gunakan Gaussian blur Lakukan pemprosesan blur. Ringkasan 12 teknik peningkatan data imej yang biasa digunakan

Skala kelabu
transform = transforms.GaussianBlur(7, 3)
 imshow(path, transform)
Salin selepas log masuk

Tukar imej warna kepada skala kelabu. Ringkasan 12 teknik peningkatan data imej yang biasa digunakan

Peningkatan warna, juga dikenali sebagai pewarnaan warna, ialah proses mengubah suai sifat warna imej dengan menukar nilai pikselnya. Kaedah berikut adalah semua operasi berkaitan warna.
transform = transforms.Grayscale(num_output_channels=3)
 imshow(path, transform)
Salin selepas log masuk

KecerahanRingkasan 12 teknik peningkatan data imej yang biasa digunakan

Tukar kecerahan imej Imej yang terhasil menjadi lebih gelap atau lebih terang jika dibandingkan dengan imej asal.

Kontras
transform = transforms.ColorJitter(brightness=2)
 imshow(path, transform)
Salin selepas log masuk

Tahap perbezaan antara bahagian paling gelap dan paling terang bagi sesuatu imej dipanggil kontras. Kontras imej juga boleh dilaraskan sebagai peningkatan. Ringkasan 12 teknik peningkatan data imej yang biasa digunakan

transform = transforms.ColorJitter(cnotallow=2)
 imshow(path, transform)
Salin selepas log masuk

Ringkasan 12 teknik peningkatan data imej yang biasa digunakan

Saturation

Ringkasan 12 teknik peningkatan data imej yang biasa digunakan中颜色的分离被定义为饱和度。

transform = transforms.ColorJitter(saturatinotallow=20)
 imshow(path, transform)
Salin selepas log masuk

Ringkasan 12 teknik peningkatan data imej yang biasa digunakan

Hue

色调被定义为Ringkasan 12 teknik peningkatan data imej yang biasa digunakan中颜色的深浅。

transform = transforms.ColorJitter(hue=2)
 imshow(path, transform)
Salin selepas log masuk

Ringkasan 12 teknik peningkatan data imej yang biasa digunakan

总结

图像本身的变化将有助于模型对未见数据的泛化,从而不会对数据进行过拟合。以上整理的都是我们常见的数据增强技术,torchvision中还包含了很多方法,可以在他的文档中找到:https://pytorch.org/vision/stable/transforms.html

Atas ialah kandungan terperinci Ringkasan 12 teknik peningkatan data imej yang biasa digunakan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:51cto.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!