$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Figuur 1 toont een overzicht van de protocolworkflow. Deze studie onderzoekt het effect van klassieke beeldpreprocessing op de prestaties van CNN's en het gedrag van optimizers bij hersentumorclassificatie met behulp van MRI. Het protocol omvat datasetvoorbereiding, dual-path preprocessing pipelines, modelarchitectuur, configuratie van optimizers, prestatie-evaluatie en interpreteerbaarheidsvalidatie. Alle experimenten werden uitgevoerd in Python 3.10.12 met Keras versie 2.13.1 met TensorFlow backend, OpenCV versie 4.8.0 en Matplotlib versie 3.8.0.
Datasetvoorbereiding
De BR35H hersentumor MRI-dataset van Kaggle21, bestaande uit 3.000 beelden gelijk verdeeld in tumor-aanwezige ("ja") en tumor-afwezige ("nee") klassen, werd in deze studie gebruikt. Alle afbeeldingen werden verkleind tot 128 × 128 pixels met behulp van OpenCV's cv2.resize-functie om invoerafmetingen tussen experimenten te standaardiseren. Gestratificeerde steekproef met Scikit-learn's train_test_split zorgde voor een evenwichtige representatie over de trainingsset (80%) en validatieset (20%), waardoor consistentie in de klassenverdeling over elke vouw werd behouden.
Naast de BR35H publieke dataset valideerden we dit protocol met behulp van een onafhankelijke dataset verzameld uit de Ultralytics Brain Tumor Dataset (https://docs.ultralytics.com/datasets/detect/brain-tumor/). Deze dataset bestaat uit een geldige trainingsset van 878 afbeeldingen en een testset van 223 afbeeldingen, met twee duidelijk gedefinieerde klassen: Negatief (beelden zonder hersentumoren) en Positief (beelden met hersentumoren). De opname van deze onafhankelijke dataset stelde ons in staat om de generaliseerbaarheid en robuustheid van het kader verder te beoordelen dan de oorspronkelijke brongegevens.
Preprocessing-pijplijnen
Er werden twee verschillende preprocessing-pijplijnen geïmplementeerd om de impact van klassieke beeldpreprocessing te evalueren. De Baseline Preprocessing (BP) pijplijn heeft eenvoudigweg afbeeldingen verkleind naar 128 × 128 pixels zonder verdere transformaties, waardoor de ruwe pixelintensiteit en structurele kenmerken als controlevoorwaarde behouden bleven. De Traditional Preprocessing (TP) pijplijn paste een reeks klassieke beeldverwerkingsstappen toe met behulp van OpenCV-functies: grijswaardenconversie (cv2.cvtColor) om de kanaaldimensionaliteit te verminderen, Gaussiaanse vervaging (cv2. GaussianBlur) om ruis te onderdrukken en contrast24 te verhogen, drempelen (cv2.threshold) om hoogintensiteitsstructuren25 te segmenteren, morfologische bewerkingen (cv2.erode, cv2.dilate) om randen te verfijnen en artefacten te verminderen26, en contourdetectie (cv2.findContours) om interessegebieden te identificeren. Deze pijplijn verbeterde het contrast en verminderde visuele rommel, hoewel het het risico liep diagnostisch relevante textuur te onderdrukken.
Modelarchitectuur
Er werd een aangepaste CNN geïmplementeerd en constant gehouden in alle experimenten om de effecten van preprocessing en keuze van optimizers te isoleren. De architectuur bestond uit een invoerlaag (128 × 128 × 1), drie convolutionele lagen (de eerste met 32 filters en de volgende twee met 64 filters, allemaal met 2 × 2 kernels en Rectified Linear Unit (ReLU) activatie), elk gevolgd door maximaal 2 × 2 pooling. De uitgang werd afgevlakt en door een dichte laag van 128 eenheden geleid met ReLU-activatie, gevolgd door een dropoutlaag (snelheid = 0,5), en tenslotte een enkele sigmoid-eenheid voor binaire classificatie. Dit ontwerp vindt een balans tussen interpreteerbaarheid en rekenkundige efficiëntie, waardoor het geschikt is voor klinisch hardware met beperkte middelen.
Optimizerconfiguratie
Drie optimizers werden geëvalueerd met vaste hyperparameters: Adam (leersnelheid = 0,001, β1 = 0,9, β2 = 0,999, epsilon = 1e−07), RMSProp (leersnelheid = 0,001, rho = 0,9, epsilon = 1e−07) en SGD (leersnelheid = 0,005, momentum = 0,9, Nesterov uitgeschakeld). Trainingsparameters werden constant gehouden over experimenten heen, met een batchgrootte van 32, 50 epochs en vroegtijdig stoppen (geduld = 10) geïmplementeerd via Keras-callbacks om overfitting te voorkomen.
Prestatie-evaluatie
De prestaties werden beoordeeld met nauwkeurigheid, precisie, herinnering en F1-score, berekend met de classification_report van Scikit-learn. Trainings- en validatieverliescurves werden met Matplotlib uitgezet om convergentiesnelheid te evalueren en overfitting te detecteren. De resultaten werden getabelleerd en gevisualiseerd om de gevoeligheid van de optimizer onder verschillende preprocessingvoorwaarden te vergelijken.
Validatie van interpreteerbaarheid
De interpreteerbaarheid werd gevalideerd met behulp van Grad-CAM-visualisaties die werden gegenereerd vanuit de laatste convolutionele laag. Heatmaps werden gegenereerd met behulp van Keras- en TensorFlow-functies en vervolgens over de originele MRI-beelden gelegd met Matplotlib. Deze stap zorgde ervoor dat de ruimtelijke aandacht van het CNN overeenkwam met klinisch relevante tumorregio's, waardoor transparantie en diagnostisch vertrouwen werden ondersteund.