Dokumente | Zwietracht | Twitter | LinkedIn
Albumentations ist eine Python-Bibliothek zur Bildvergrößerung. Bildvergrößerung wird bei Deep-Learning- und Computer-Vision-Aufgaben eingesetzt, um die Qualität trainierter Modelle zu erhöhen. Der Zweck der Bilderweiterung besteht darin, aus den vorhandenen Daten neue Trainingsbeispiele zu erstellen.
Hier ist ein Beispiel dafür, wie Sie einige Erweiterungen auf Pixelebene aus Albumentations anwenden können, um aus dem Originalbild neue Bilder zu erstellen:
Vollständige Computer-Vision-Unterstützung : Funktioniert mit allen wichtigen CV-Aufgaben, einschließlich Klassifizierung, Segmentierung (Semantik und Instanz), Objekterkennung und Posenschätzung.
Einfache, einheitliche API : Eine konsistente Schnittstelle für alle Datentypen – RGB-/Graustufen-/multispektrale Bilder, Masken, Begrenzungsrahmen und Schlüsselpunkte.
Umfangreiche Augmentationsbibliothek : Über 70 hochwertige Augmentationen zur Verbesserung Ihrer Trainingsdaten.
Schnell : Kontinuierlich als schnellste Erweiterungsbibliothek bewertet, mit Optimierungen für den Produktionseinsatz.
Deep-Learning-Integration : Funktioniert mit PyTorch, TensorFlow und anderen Frameworks. Teil des PyTorch-Ökosystems.
Von Experten erstellt : Entwickelt von Entwicklern mit umfassender Erfahrung in Wettbewerben im Bereich Computer Vision und maschinelles Lernen.
Albumentations lebt von Entwicklerbeiträgen. Wir danken unseren Sponsoren, die dabei helfen, die Infrastruktur des Projekts aufrechtzuerhalten.
? Goldsponsoren |
---|
Ihr Unternehmen könnte hier sein |
? Silbersponsoren |
---|
? Bronzesponsoren |
---|
Mit Ihrem Sponsoring möchten Sie den Betreuern und Mitwirkenden, die ihre Freizeit damit verbringen, Albumentations aufzubauen und zu pflegen, „Danke“ sagen. Sponsoren werden auf unserer Website und in der README-Datei vorgestellt. Sehen Sie sich die Sponsoring-Stufen auf GitHub Sponsors an
Albumentationen
Systeminformationen
Benchmark-Parameter
Bibliotheksversionen
Semantische Segmentierung im Inria-Datensatz
Medizinische Bildgebung
Objekterkennung und semantische Segmentierung im Mapillary Vistas-Datensatz
Erweiterung der Schlüsselpunkte
Transformationen auf Pixelebene
Transformationen auf räumlicher Ebene
Siehe auch
Ich bin neu in der Bildvergrößerung
Ich möchte Albumentations für eine bestimmte Aufgabe wie Klassifizierung oder Segmentierung verwenden
Ich möchte wissen, wie man Albumentations mit Deep-Learning-Frameworks verwendet
Ich möchte Augmentationen erkunden und Albumentations in Aktion sehen
Aktueller Betreuer
Emeritierte Kernteammitglieder
? Werden Sie Sponsor
Warum Albumentationen
Community-gesteuertes Projekt, unterstützt von
Inhaltsverzeichnis
Autoren
Installation
Dokumentation
Ein einfaches Beispiel
Erste Schritte
Wer verwendet Albumentations?
Liste der Erweiterungen
Noch ein paar Beispiele für Erweiterungen
Benchmarking-Ergebnisse
Leistungsvergleich
Mitwirken
Gemeinschaft
Zitieren
Wladimir I. Iglovikov | Kaggle-Großmeister
Michail Druschinin | Kaggle-Experte
Alex Parinov | Kaggle-Meister
Alexander Buslaev | Kaggle-Meister
Eugene Khvedchenya | Kaggle-Großmeister
Für Albumentations ist Python 3.9 oder höher erforderlich. So installieren Sie die neueste Version von PyPI:
pip install -U Albumentationen
Weitere Installationsmöglichkeiten sind in der Dokumentation beschrieben.
Die vollständige Dokumentation ist unter https://albumentations.ai/docs/ verfügbar.
Albumentationen als Aimport cv2# importieren Deklarieren Sie eine Erweiterungspipelinetransform = A.Compose([A.RandomCrop(width=256, height=256),A.HorizontalFlip(p=0.5),A.RandomBrightnessContrast(p=0.2), ])# Ein Bild mit OpenCV lesen und in den RGB-Farbraum konvertierenimage = cv2.imread("image.jpg")image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)# Ein Bild erweiterntransformed = transform(image=image)transformed_image = transformiert["Bild"]
Bitte beginnen Sie mit den Einführungsartikeln darüber, warum Bildvergrößerung wichtig ist und wie sie dabei hilft, bessere Modelle zu erstellen.
Wenn Sie Albumentations für eine bestimmte Aufgabe wie Klassifizierung, Segmentierung oder Objekterkennung verwenden möchten, lesen Sie die Artikel, die eine ausführliche Beschreibung dieser Aufgabe enthalten. Wir haben auch eine Liste mit Beispielen für die Anwendung von Albumentations für verschiedene Anwendungsfälle.
Wir haben Beispiele für die Verwendung von Albumentations zusammen mit PyTorch und TensorFlow.
Schauen Sie sich die Online-Demo der Bibliothek an. Damit können Sie Erweiterungen auf verschiedene Bilder anwenden und das Ergebnis sehen. Außerdem haben wir eine Liste aller verfügbaren Erweiterungen und ihrer Ziele.
Eine Liste von Artikeln, die Albumentations zitieren.
Open-Source-Projekte, die Albumentations verwenden.
Transformationen auf Pixelebene ändern nur ein Eingabebild und lassen alle zusätzlichen Ziele wie Masken, Begrenzungsrahmen und Schlüsselpunkte unverändert. Die Liste der Transformationen auf Pixelebene:
AdditiveNoise
AdvancedBlur
AutoKontrast
Verwischen
CLAHE
ChannelDropout
ChannelShuffle
Chromatische Aberration
Farbjitter
Defokussieren
Herunterskalieren
Prägen
Ausgleichen
FDA
FancyPCA
VonFloat
GaussNoise
Gaußsche Unschärfe
GlassBlur
HistogramMatching
HueSaturationValue
ISONoise
Beleuchtung
Bildkomprimierung
InvertImg
MedianBlur
Bewegungsunschärfe
Multiplikatives Rauschen
Normalisieren
PixelDistributionAdaptation
Planckscher Jitter
PlasmaHelligkeitKontrast
PlasmaShadow
Posterisieren
RGBShift
RandomBrightnessContrast
RandomFog
RandomGamma
RandomGravel
Zufälliger Regen
RandomShadow
RandomSnow
RandomSunFlare
RandomToneCurve
KlingelnÜberschreitung
Salz und Pfeffer
Schärfen
Schussgeräusch
Solarisieren
Spritzer
Superpixel
TemplateTransform
TextImage
ToFloat
ToGray
ToRGB
ZuSepia
UnscharfMask
ZoomBlur
Transformationen auf räumlicher Ebene verändern gleichzeitig sowohl ein Eingabebild als auch zusätzliche Ziele wie Masken, Begrenzungsrahmen und Schlüsselpunkte. Die folgende Tabelle zeigt, welche zusätzlichen Ziele von jeder Transformation unterstützt werden.
Verwandeln | Bild | Maske | BBoxen | Kernpunkte |
---|---|---|---|---|
Affin | ✓ | ✓ | ✓ | ✓ |
BBoxSafeRandomCrop | ✓ | ✓ | ✓ | ✓ |
CenterCrop | ✓ | ✓ | ✓ | ✓ |
CoarseDropout | ✓ | ✓ | ✓ | ✓ |
Ernte | ✓ | ✓ | ✓ | ✓ |
CropAndPad | ✓ | ✓ | ✓ | ✓ |
CropNonEmptyMaskIfExists | ✓ | ✓ | ✓ | ✓ |
D4 | ✓ | ✓ | ✓ | ✓ |
ElasticTransform | ✓ | ✓ | ✓ | ✓ |
Löschen | ✓ | ✓ | ✓ | ✓ |
Frequenzmaskierung | ✓ | ✓ | ✓ | ✓ |
Gitterverzerrung | ✓ | ✓ | ✓ | ✓ |
GridDropout | ✓ | ✓ | ✓ | ✓ |
GridElasticDeform | ✓ | ✓ | ✓ | ✓ |
HorizontalFlip | ✓ | ✓ | ✓ | ✓ |
Lambda | ✓ | ✓ | ✓ | ✓ |
LongestMaxSize | ✓ | ✓ | ✓ | ✓ |
MaskDropout | ✓ | ✓ | ✓ | ✓ |
Morphologisch | ✓ | ✓ | ✓ | ✓ |
NoOp | ✓ | ✓ | ✓ | ✓ |
Optische Verzerrung | ✓ | ✓ | ✓ | ✓ |
OverlayElements | ✓ | ✓ | ||
Unterlage | ✓ | ✓ | ✓ | ✓ |
PadIfNeeded | ✓ | ✓ | ✓ | ✓ |
Perspektive | ✓ | ✓ | ✓ | ✓ |
StückweiseAffin | ✓ | ✓ | ✓ | ✓ |
PixelDropout | ✓ | ✓ | ✓ | ✓ |
RandomCrop | ✓ | ✓ | ✓ | ✓ |
RandomCropFromBorders | ✓ | ✓ | ✓ | ✓ |
RandomCropNearBBox | ✓ | ✓ | ✓ | ✓ |
RandomGridShuffle | ✓ | ✓ | ✓ | ✓ |
RandomResizedCrop | ✓ | ✓ | ✓ | ✓ |
RandomRotate90 | ✓ | ✓ | ✓ | ✓ |
RandomScale | ✓ | ✓ | ✓ | ✓ |
RandomSizedBBoxSafeCrop | ✓ | ✓ | ✓ | ✓ |
RandomSizedCrop | ✓ | ✓ | ✓ | ✓ |
Größe ändern | ✓ | ✓ | ✓ | ✓ |
Drehen | ✓ | ✓ | ✓ | ✓ |
SafeRotate | ✓ | ✓ | ✓ | ✓ |
ShiftScaleRotate | ✓ | ✓ | ✓ | ✓ |
SmallestMaxSize | ✓ | ✓ | ✓ | ✓ |
ThinPlateSpline | ✓ | ✓ | ✓ | ✓ |
Zeitmaskierung | ✓ | ✓ | ✓ | ✓ |
TimeReverse | ✓ | ✓ | ✓ | ✓ |
Transponieren | ✓ | ✓ | ✓ | ✓ |
VerticalFlip | ✓ | ✓ | ✓ | ✓ |
XYMaskierung | ✓ | ✓ | ✓ | ✓ |
Plattform: macOS-15.0.1-arm64-arm-64bit
Prozessor: arm
CPU-Anzahl: 10
Python-Version: 3.12.7
Anzahl der Bilder: 1000
Läufe pro Transformation: 10
Maximale Aufwärmiterationen: 1000
Albumationen: 1.4.20
hässlich: 1.0.0
Bild: 0.4.0
Kornia: 0,7,3
Fackelsicht: 0.20.0
Anzahl – ist die Anzahl der pro Sekunde auf einem einzelnen CPU-Kern verarbeiteten uint8-RGB-Bilder. Höher ist besser.
Verwandeln | Albumentationen 1.4.20 | schrecklich 1.0.0 | imgaug 0,4,0 | Kornia 0.7.3 | Fackelvision 0,20,0 |
---|---|---|---|---|---|
HorizontalFlip | 8618 ± 1233 | 4807 ± 818 | 6042 ± 788 | 390 ± 106 | 914 ± 67 |
VerticalFlip | 22847 ± 2031 | 9153 ± 1291 | 10931 ± 1844 | 1212 ± 402 | 3198 ± 200 |
Drehen | 1146 ± 79 | 1119 ± 41 | 1136 ± 218 | 143 ± 11 | 181 ± 11 |
Affin | 682 ± 192 | - | 774 ± 97 | 147 ± 9 | 130 ± 12 |
Ausgleichen | 892 ± 61 | - | 581 ± 54 | 152 ± 19 | 479 ± 12 |
RandomCrop80 | 47341 ± 20523 | 25272 ± 1822 | 11503 ± 441 | 1510 ± 230 | 32109 ± 1241 |
ShiftRGB | 2349 ± 76 | - | 1582 ± 65 | - | - |
Größe ändern | 2316 ± 166 | 611 ± 78 | 1806 ± 63 | 232 ± 24 | 195 ± 4 |
RandomGamma | 8675 ± 274 | - | 2318 ± 269 | 108 ± 13 | - |
Graustufen | 3056 ± 47 | 2720 ± 932 | 1681 ± 156 | 289 ± 75 | 1838 ± 130 |
Zufällige Perspektive | 412 ± 38 | - | 554 ± 22 | 86 ± 11 | 96 ± 5 |
Gaußsche Unschärfe | 1728 ± 89 | 242 ± 4 | 1090 ± 65 | 176 ± 18 | 79 ± 3 |
MedianBlur | 868 ± 60 | - | 813 ± 30 | 5 ± 0 | - |
Bewegungsunschärfe | 4047 ± 67 | - | 612 ± 18 | 73 ± 2 | - |
Posterisieren | 9094 ± 301 | - | 2097 ± 68 | 430 ± 49 | 3196 ± 185 |
JPEG-Komprimierung | 918 ± 23 | 778 ± 5 | 459 ± 35 | 71 ± 3 | 625 ± 17 |
Gaußsches Rauschen | 166 ± 12 | 67 ± 2 | 206 ± 11 | 75 ± 1 | - |
Elastisch | 201 ± 5 | - | 235 ± 20 | 1 ± 0 | 2 ± 0 |
Clahe | 454 ± 22 | - | 335 ± 43 | 94 ± 9 | - |
CoarseDropout | 13368 ± 744 | - | 671 ± 38 | 536 ± 87 | - |
Verwischen | 5267 ± 543 | 246 ± 3 | 3807 ± 325 | - | - |
Farbjitter | 628 ± 55 | 255 ± 13 | - | 55 ± 18 | 46 ± 2 |
Helligkeit | 8956 ± 300 | 1163 ± 86 | - | 472 ± 101 | 429 ± 20 |
Kontrast | 8879 ± 1426 | 736 ± 79 | - | 425 ± 52 | 335 ± 35 |
RandomResizedCrop | 2828 ± 186 | - | - | 287 ± 58 | 511 ± 10 |
Normalisieren | 1196 ± 56 | - | - | 626 ± 40 | 519 ± 12 |
PlankianJitter | 2204 ± 385 | - | - | 813 ± 211 | - |
Um eine Pull-Anfrage an das Repository zu erstellen, folgen Sie der Dokumentation unter CONTRIBUTING.md
Zwietracht
Wenn Sie diese Bibliothek für Ihre Recherche nützlich finden, ziehen Sie bitte die Zitierung von Albumentations: Fast and Flexible Image Augmentations in Betracht:
@Article{info11020125,AUTHOR = {Buslaev, Alexander und Iglovikov, Vladimir I. und Khvedchenya, Eugene und Parinov, Alex und Druzhinin, Mikhail und Kalinin, Alexandr A.},TITLE = {Albumentations: Schnelle und flexible Bilderweiterungen},JOURNAL = {Information},VOLUME = {11},YEAR = {2020},NUMBER = {2},ARTICLE-NUMBER = {125},URL = {https://www.mdpi.com/2078-2489/11/2/125},ISSN = {2078-2489},DOI = {10.3390/info11020125 }}