Dokumen | Perselisihan | Twitter | LinkedIn
Albumentations adalah perpustakaan Python untuk augmentasi gambar. Augmentasi gambar digunakan dalam pembelajaran mendalam dan tugas visi komputer untuk meningkatkan kualitas model yang dilatih. Tujuan dari augmentasi gambar adalah untuk membuat sampel pelatihan baru dari data yang sudah ada.
Berikut adalah contoh bagaimana Anda dapat menerapkan beberapa augmentasi tingkat piksel dari Albumentations untuk membuat gambar baru dari gambar asli:
Dukungan Computer Vision Lengkap : Bekerja dengan semua tugas utama CV termasuk klasifikasi, segmentasi (semantik & instance), deteksi objek, dan estimasi pose.
API Terpadu yang Sederhana : Satu antarmuka yang konsisten untuk semua tipe data - gambar RGB/skala abu-abu/multispektral, masker, kotak pembatas, dan titik kunci.
Perpustakaan Augmentasi yang Kaya : 70+ augmentasi berkualitas tinggi untuk menyempurnakan data pelatihan Anda.
Cepat : Secara konsisten diukur sebagai perpustakaan augmentasi tercepat, dengan optimalisasi untuk penggunaan produksi.
Integrasi Pembelajaran Mendalam : Bekerja dengan PyTorch, TensorFlow, dan kerangka kerja lainnya. Bagian dari ekosistem PyTorch.
Dibuat oleh Para Ahli : Dibangun oleh pengembang dengan pengalaman mendalam dalam kompetisi visi komputer dan pembelajaran mesin.
Albumentasi berkembang pesat berkat kontribusi pengembang. Kami menghargai sponsor kami yang membantu mempertahankan infrastruktur proyek.
? Sponsor Emas |
---|
Perusahaan Anda mungkin ada di sini |
? Sponsor Perak |
---|
? Sponsor Perunggu |
---|
Sponsor Anda adalah cara untuk mengucapkan "terima kasih" kepada pengelola dan kontributor yang menghabiskan waktu luang mereka untuk membangun dan memelihara Albumentasi. Sponsor ditampilkan di situs web kami dan README. Lihat tingkatan sponsorship di GitHub Sponsor
Albumentasi
Sistem Informasi
Parameter Tolok Ukur
Versi Perpustakaan
Segmentasi semantik pada dataset Inria
Pencitraan medis
Deteksi objek dan segmentasi semantik pada dataset Mapillary Vistas
Augmentasi titik kunci
Transformasi tingkat piksel
Transformasi tingkat spasial
Lihat juga
Saya baru mengenal augmentasi gambar
Saya ingin menggunakan Albumentasi untuk tugas tertentu seperti klasifikasi atau segmentasi
Saya ingin tahu cara menggunakan Albumentations dengan kerangka pembelajaran mendalam
Saya ingin menjelajahi augmentasi dan melihat aksi Albumentasi
Pemelihara Saat Ini
Anggota Tim Inti Emeritus
? Menjadi Sponsor
Mengapa Albumentasi
Proyek Berbasis Komunitas, Didukung Oleh
Daftar isi
Penulis
Instalasi
Dokumentasi
Sebuah contoh sederhana
Memulai
Siapa yang menggunakan Albumentasi
Daftar augmentasi
Beberapa contoh augmentasi lagi
Hasil pembandingan
Perbandingan Kinerja
Berkontribusi
Masyarakat
Mengutip
Vladimir I.Iglovikov | Guru Besar Kaggle
Mikhail Druzhinin | Pakar Kaggle
Alex Parinov | Tuan Kaggle
Alexander Buslaev | Tuan Kaggle
Eugene Khvedchenya | Guru Besar Kaggle
Albumentasi memerlukan Python 3.9 atau lebih tinggi. Untuk menginstal versi terbaru dari PyPI:
pip install -U albumentasi
Opsi instalasi lainnya dijelaskan dalam dokumentasi.
Dokumentasi lengkap tersedia di https://albumentations.ai/docs/ .
impor albumentasi sebagai Aimport cv2# Deklarasikan pipeline augmentasitransform = A.Compose([A.RandomCrop(width=256, height=256),A.HorizontalFlip(p=0.5),A.RandomBrightnessContrast(p=0.2), ])# Membaca gambar dengan OpenCV dan mengubahnya menjadi ruang warna RGBimage = cv2.imread("image.jpg")image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)# Menambah imagetransformed = transform(image=image)transformed_image = berubah["gambar"]
Silakan mulai dengan artikel pendahuluan tentang mengapa augmentasi gambar itu penting dan bagaimana hal itu membantu membangun model yang lebih baik.
Jika Anda ingin menggunakan Albumentasi untuk tugas tertentu seperti klasifikasi, segmentasi, atau deteksi objek, lihat kumpulan artikel yang memiliki penjelasan mendalam tentang tugas ini. Kami juga memiliki daftar contoh penerapan Albumentasi untuk berbagai kasus penggunaan.
Kami memiliki contoh penggunaan Albumentations bersama dengan PyTorch dan TensorFlow.
Periksa demo online perpustakaan. Dengannya, Anda dapat menerapkan augmentasi ke berbagai gambar dan melihat hasilnya. Selain itu, kami memiliki daftar semua augmentasi yang tersedia dan targetnya.
Daftar makalah yang mengutip Albumentasi.
Proyek sumber terbuka yang menggunakan Albumentations.
Transformasi tingkat piksel hanya akan mengubah gambar masukan dan tidak mengubah target tambahan seperti masker, kotak pembatas, dan titik kunci. Daftar transformasi tingkat piksel:
Kebisingan Aditif
Kabur Tingkat Lanjut
Kontras Otomatis
Mengaburkan
CLAHE
Putusnya Saluran
Acak Saluran
Penyimpangan Kromatik
Warna Jitter
Tidak fokus
Turunkan skala
Menatah
Menyamakan
FDA
PCA Mewah
DariFloat
Gauss Kebisingan
GaussianBlur
KacaKabur
Pencocokan Histogram
Nilai HueSaturation
ISONoise
Penerangan
Kompresi Gambar
BalikkanImg
MedianBlur
GerakanBlur
Kebisingan Multiplikatif
Normalisasi
Adaptasi Distribusi Piksel
Planckian Jitter
Kontras Kecerahan Plasma
Bayangan Plasma
Posterisasi
Pergeseran RGB
Kontras Kecerahan Acak
Kabut Acak
Gamma Acak
Kerikil Acak
Hujan Acak
Bayangan Acak
Salju Acak
AcakSunFlare
Kurva Nada Acak
DeringOvershoot
Garam dan merica
Mengasah
Tembakan Kebisingan
Solarisasi
Berhamburan
Superpiksel
Transformasi Templat
Gambar Teks
Untuk Mengambang
UntukAbu-abu
UntukRGB
Ke Sepia
Masker Tidak Tajam
ZoomBlur
Transformasi tingkat spasial akan secara bersamaan mengubah gambar masukan serta target tambahan seperti masker, kotak pembatas, dan titik kunci. Tabel berikut menunjukkan target tambahan mana yang didukung oleh setiap transformasi.
Mengubah | Gambar | Masker | Kotak B | Poin-poin penting |
---|---|---|---|---|
Affine | ✓ | ✓ | ✓ | ✓ |
BBoxSafeRandomCrop | ✓ | ✓ | ✓ | ✓ |
Pangkas Tengah | ✓ | ✓ | ✓ | ✓ |
Putus Sekolah Kasar | ✓ | ✓ | ✓ | ✓ |
Tanaman | ✓ | ✓ | ✓ | ✓ |
PangkasDanPad | ✓ | ✓ | ✓ | ✓ |
CropNonEmptyMaskIfExists | ✓ | ✓ | ✓ | ✓ |
D4 | ✓ | ✓ | ✓ | ✓ |
Transformasi Elastis | ✓ | ✓ | ✓ | ✓ |
Menghapus | ✓ | ✓ | ✓ | ✓ |
FrekuensiMaking | ✓ | ✓ | ✓ | ✓ |
Distorsi Grid | ✓ | ✓ | ✓ | ✓ |
Putusnya Jaringan | ✓ | ✓ | ✓ | ✓ |
GridElasticDeform | ✓ | ✓ | ✓ | ✓ |
Balik Horisontal | ✓ | ✓ | ✓ | ✓ |
Lambda | ✓ | ✓ | ✓ | ✓ |
Ukuran Maksimal Terpanjang | ✓ | ✓ | ✓ | ✓ |
Topeng Putus Sekolah | ✓ | ✓ | ✓ | ✓ |
Morfologis | ✓ | ✓ | ✓ | ✓ |
Tidak ada operasi | ✓ | ✓ | ✓ | ✓ |
Distorsi Optik | ✓ | ✓ | ✓ | ✓ |
Elemen Hamparan | ✓ | ✓ | ||
Bantalan | ✓ | ✓ | ✓ | ✓ |
PadJika Diperlukan | ✓ | ✓ | ✓ | ✓ |
Perspektif | ✓ | ✓ | ✓ | ✓ |
Sedikit demi sedikitAffine | ✓ | ✓ | ✓ | ✓ |
Putus Piksel | ✓ | ✓ | ✓ | ✓ |
Pangkas Acak | ✓ | ✓ | ✓ | ✓ |
RandomCropFromBorders | ✓ | ✓ | ✓ | ✓ |
Pangkas Acak Dekat BBox | ✓ | ✓ | ✓ | ✓ |
RandomGridShuffle | ✓ | ✓ | ✓ | ✓ |
Pangkas yang Diubah Ukurannya secara Acak | ✓ | ✓ | ✓ | ✓ |
Putar Acak90 | ✓ | ✓ | ✓ | ✓ |
Skala Acak | ✓ | ✓ | ✓ | ✓ |
Berukuran AcakBBoxSafeCrop | ✓ | ✓ | ✓ | ✓ |
Pangkas Berukuran Acak | ✓ | ✓ | ✓ | ✓ |
Ubah ukuran | ✓ | ✓ | ✓ | ✓ |
Memutar | ✓ | ✓ | ✓ | ✓ |
Putar Aman | ✓ | ✓ | ✓ | ✓ |
ShiftScaleRotate | ✓ | ✓ | ✓ | ✓ |
Ukuran Maksimum Terkecil | ✓ | ✓ | ✓ | ✓ |
Spline Pelat Tipis | ✓ | ✓ | ✓ | ✓ |
Penyembunyian Waktu | ✓ | ✓ | ✓ | ✓ |
Waktu Terbalik | ✓ | ✓ | ✓ | ✓ |
Mengubah urutan | ✓ | ✓ | ✓ | ✓ |
Balik Vertikal | ✓ | ✓ | ✓ | ✓ |
XYMasking | ✓ | ✓ | ✓ | ✓ |
Peron: macOS-15.0.1-arm64-arm-64bit
Prosesor: lengan
Jumlah CPU: 10
Versi Python: 3.12.7
Jumlah gambar: 1000
Berjalan per transformasi: 10
Iterasi pemanasan maksimal: 1000
albumentasi: 1.4.20
Agustus: 1.0.0
gambar: 0.4.0
kornia: 0.7.3
penglihatan obor: 0.20.0
Angka - adalah jumlah gambar uint8 RGB yang diproses per detik pada satu inti CPU. Lebih tinggi lebih baik.
Mengubah | albumentasi 1.4.20 | Agustus 1.0.0 | gambar 0.4.0 | kornia 0.7.3 | visi obor 0.20.0 |
---|---|---|---|---|---|
Balik Horisontal | 8618 ± 1233 | 4807±818 | 6042±788 | 390 ± 106 | 914 ± 67 |
Balik Vertikal | 22847 ± 2031 | 9153 ± 1291 | 10931 ± 1844 | 1212±402 | 3198±200 |
Memutar | 1146±79 | 1119 ± 41 | 1136 ± 218 | 143 ± 11 | 181 ± 11 |
Affine | 682 ± 192 | - | 774 ± 97 | 147 ± 9 | 130 ± 12 |
Menyamakan | 892 ± 61 | - | 581±54 | 152 ± 19 | 479 ± 12 |
Pangkas Acak80 | 47341±20523 | 25272 ± 1822 | 11503±441 | 1510±230 | 32109 ± 1241 |
PergeseranRGB | 2349±76 | - | 1582±65 | - | - |
Ubah ukuran | 2316±166 | 611±78 | 1806±63 | 232 ± 24 | 195 ± 4 |
Gamma Acak | 8675±274 | - | 2318 ± 269 | 108 ± 13 | - |
Skala abu-abu | 3056±47 | 2720±932 | 1681±156 | 289±75 | 1838±130 |
Perspektif Acak | 412 ± 38 | - | 554 ± 22 | 86 ± 11 | 96 ± 5 |
GaussianBlur | 1728±89 | 242 ± 4 | 1090 ± 65 | 176 ± 18 | 79 ± 3 |
MedianBlur | 868±60 | - | 813±30 | 5 ± 0 | - |
GerakanBlur | 4047 ± 67 | - | 612±18 | 73 ± 2 | - |
Posterisasi | 9094 ± 301 | - | 2097 ± 68 | 430 ± 49 | 3196±185 |
Kompresi JPEG | 918±23 | 778±5 | 459±35 | 71 ± 3 | 625±17 |
Kebisingan Gaussian | 166 ± 12 | 67 ± 2 | 206±11 | 75±1 | - |
Elastis | 201±5 | - | 235±20 | 1 ± 0 | 2 ± 0 |
Bentrok | 454 ± 22 | - | 335 ± 43 | 94 ± 9 | - |
Putus Sekolah Kasar | 13368±744 | - | 671±38 | 536±87 | - |
Mengaburkan | 5267±543 | 246±3 | 3807±325 | - | - |
Warna Jitter | 628±55 | 255±13 | - | 55 ± 18 | 46 ± 2 |
Kecerahan | 8956±300 | 1163±86 | - | 472 ± 101 | 429 ± 20 |
Kontras | 8879 ± 1426 | 736±79 | - | 425±52 | 335 ± 35 |
Pangkas yang Diubah Ukurannya secara Acak | 2828±186 | - | - | 287±58 | 511 ± 10 |
Normalisasi | 1196±56 | - | - | 626±40 | 519 ± 12 |
Plankian Jitter | 2204±385 | - | - | 813 ± 211 | - |
Untuk membuat pull request ke repositori, ikuti dokumentasi di CONTRIBUTING.md
Perselisihan
Jika Anda merasa perpustakaan ini berguna untuk penelitian Anda, mohon pertimbangkan untuk mengutip Albumentasi: Augmentasi Gambar yang Cepat dan Fleksibel :
@Article{info11020125,AUTHOR = {Buslaev, Alexander dan Iglovikov, Vladimir I. dan Khvedchenya, Eugene dan Parinov, Alex dan Druzhinin, Mikhail dan Kalinin, Alexandr A.},TITLE = {Albumentasi: Augmentasi Gambar yang Cepat dan Fleksibel},JOURNAL = {Informasi},VOLUME = {11},TAHUN = {2020},NUMBER = {2}, NOMOR PASAL = {125}, URL = {https://www.mdpi.com/2078-2489/11/2/125}, ISSN = {2078-2489}, DOI = {10.3390/info11020125 }}