$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Datasetbeschrijving
De WinterCropWeedDB-dataset bestaat uit 1.136 hoge-resolutie (rood, groen, blauw) RGB-afbeeldingen van zes wintergewassoorten (tarwe, kikkererwt, erwten, linzen, mosterd en graserwt) en vier onkruidsoorten (gewone wikke, kleine kanariegras, ganzenvoet (Chenopodium album) en Euphorbia clementei) afkomstig van winterlandbouwgrond in de staat Chhattisgarh, India (Figuur 1). De beelden zijn genomen onder natuurlijke omstandigheden, waaronder wisselende verlichting, groeistadia en achtergrondcomplexiteit. Alle afbeeldingen waren aanvankelijk niet geannoteerd en alleen gebruikt voor zelfbegeleide voortraining. Voor supervised fine-tuning werden de beelden handmatig geannoteerd en opgesplitst met behulp van gestratificeerde steekproeven in trainingssets (70%) en validatiesets (30%). De validatieset werd alleen gebruikt voor interne modelevaluatie en was niet uitgebreid. Om problemen met klasse-onbalans en robuustheid tijdens training aan te pakken, werd data-augmentatie alleen uitgevoerd op de trainingsset. De augmentatietechnieken omvatten willekeurige rotaties (+/-20°), horizontale flipping, schaalverdeling, translatie, helderheidsveranderingen en milde affiene transformaties. De trainingsvoorbeelden werden uitgebreid tot een doel van 150 afbeeldingen per les, wat resulteerde in een totaal van 1.500 trainingsbeelden, terwijl de validatieset uit 347 originele beelden bestond. Er werden geen augmented of synthetische beelden opgenomen in de validatieset om evaluatiebias te voorkomen. Naast de hold-out evaluatie werd ook een gestratificeerde vijfvoudige kruisvalidatie uitgevoerd op de oorspronkelijke gelabelde dataset als secundaire analyse. In elke vouw werd data-augmentatie alleen uitgevoerd op de trainingssets, en de validatiesets bleven ongewijzigd om consistentie te behouden met het hoofdevaluatieschema.
Computationele workflow voor zelfbegeleide en supervised modeltraining
Er werd een tweestaps computationele pijplijn gebruikt om de haalbaarheid te onderzoeken van het integreren van zelf-supervised representation learning en supervised fine-tuning voor de classificatie van wintergewassen versus onkruidbeelden (Figuur 2). Deze pijplijn omvat: (i) zelfbegeleide voortraining met niet-gelabelde beelden, en (ii) begeleide fine-tuning met een gelabelde steekproef van de afbeeldingen. Alle beelden werden verkleind tot 300 × 300 pixels en genormaliseerd vóór de training. Evaluaties van de modellen werden slechts uitgevoerd op één interne splitsing, zonder gebruik te maken van een externe testset.
Fase 1 - zelfbegeleide voortraining
In de beginfase werd de EfficientNet-B3-architectuur gebruikt als backbone-netwerk in een zelf-supervised leeropstelling geïnspireerd op SimCLR. De tweelaagse projectiekop reduceerde de backbone-representatie tot een 128-dimensionale embeddingruimte. Voor zelfbegeleid leren werd elke afbeelding omgezet in twee weergaven met willekeurige verkleinde uitsnijding, horizontale flipping, kleurtransformatie, Gaussische vervaging en het converteren naar grijswaarden. De twee weergaven werden samen verwerkt om gezamenlijk de contrastieve verliesfunctie te optimaliseren. Het zelf-supervised leerproces werd uitgevoerd gedurende 30 epochs, waarbij één epoche een volledige doorloop van de volledige trainingsdataset door het model tijdens optimalisatie aanduidt, met een batchgrootte van 16 afbeeldingen met behulp van de Adam-optimizer (een adaptief gradiënt-gebaseerd optimalisatie-algoritme dat eerste- en tweede-orde momenten van de gradiënten schat om leertempo's tijdens training aan te passen). Gradient clipping met een maximale norm van 1,0 werd gebruikt om stabiele training te garanderen. Daarnaast werden modelcontrolepunten na elke epoche opgeslagen om reproduceerbaarheid te vergemakkelijken. De temperatuurwaarde van 0,5 werd gebruikt bij het berekenen van het InfoNCE-verlies tijdens zelfbegeleid leren.
Fase 2 - begeleide fijnafstelling
Na zelfbegeleide voortraining werd de projectiekop verwijderd en werden de vooraf getrainde ruggengraatgewichten gebruikt voor begeleide fijnafstelling. Een volledig verbonden classifier-hoofd werd toegevoegd aan de ruggengraat voor multi-class classificatie. De fijnafstelling werd uitgevoerd met alleen de gelabelde afbeeldingen uit de trainingsset. Onder toezicht werd gebruik gemaakt van kruis-entropieverlies met klasseweging en labelgladstrijken om klasse-onevenwicht op te vangen. De Adam-optimizer werd gebruikt met verschillende leersnelheden voor de backbone (1 × 10⁻⁵) en classifier (1 × 10⁻⁴). Een learning rate scheduler werd gebruikt om de leersnelheid te verlagen wanneer de validatienauwkeurigheid een plateau bereikte. Er werd 20 epochs getraind, en het modelcheckpoint met de hoogste validatienauwkeurigheid werd bewaard voor evaluatie.
Naast de hoofd-hold-out evaluatie werd een gestratificeerde vijfvoudige kruisvalidatie uitgevoerd als aanvullende analyse op de gelabelde set. In elke vouw werd de augmentatie alleen uitgevoerd op de trainingssets, en de validatiesets bleven ongewijzigd. De resultaten van de kruisvalidatie werden afzonderlijk gepresenteerd en werden niet gebruikt voor modelselectie of optimalisatie van de checkpoints. De prestatie-indicatoren die in deze studie worden gepresenteerd, zijn uitsluitend gebaseerd op de interne validatieverdeling en vertegenwoordigen de resultaten van de waargenomen prestaties onder de huidige experimentele opstelling.
Grad-CAM en Grad-CAM++ visualisatie
Voor de kwalitatieve analyse van aandacht in het model werden gradiëntgebaseerde class-activation mapping methoden (Grad-CAM en Grad-CAM++) gebruikt op het fijn afgestemde model. De featuremaps en de gradiënten werden verkregen van de laatste convolutionele laag van het basisnetwerk, en klasse-specifieke heatmaps werden verkregen voor gekozen validatiebeelden. Deze werden alleen gebruikt voor kwalitatieve analyse van het model en waren niet gevalideerd. De Tabel met materialen geeft alle hardware, softwarebibliotheken, datasets en aangepaste trainingsscripts weer die in deze workflow worden gebruikt.