$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Questa sezione presenta un approccio completo progettato per migliorare la diagnosi e la classificazione dell'osteoartrite del ginocchio attraverso l'uso di un modello XceptionNet modificato. La metodologia presentata si basa su un'attenta pre-elaborazione dei dati, un'accurata personalizzazione dell'architettura del modello e tecniche di valutazione avanzate, tutte volte ad affrontare i complessi problemi associati all'imaging OA del ginocchio. Nella Figura 2 è stato illustrato il flusso del modello.

Figura 2: Flusso di lavoro del modello. Fare clic qui per visualizzare una versione più grande di questa figura.
Descrizione del set di dati
Il set di dati utilizzato in questa ricerca comprende 9.786 immagini a raggi X del ginocchio dal set di dati OAI a cui è stato assegnato un grado OA basato sulla tecnica di classificazione KL. Questo set di dati, che offre un'ampia gamma di istanze che coprono le varie fasi della KOA, è essenziale sia per l'addestramento che per la valutazione del modello proposto24. L'interpolazione bilineare è stata utilizzata per ridimensionare tutte le immagini. Questa tecnica è stata scelta perché raggiunge un compromesso tra l'efficacia computazionale e il mantenimento della qualità dell'immagine, entrambi essenziali per il mantenimento delle caratteristiche anatomiche importanti per la categorizzazione dell'osteoartrite del ginocchio. Nel set di dati, i voti sono 0-4, con il grado 0 che rappresenta un ginocchio sano e il grado 4 che denota una grave osteoartrite. Questo grado offre una gamma complessa di evoluzione della malattia, che è essenziale per il modello per comprendere le minime variazioni tra gli stadi.
Inoltre, il set di dati è stato organizzato in set di test, convalida e addestramento. Per valutare le prestazioni del modello e assicurarsi che impari a generalizzare in modo efficace senza sovradimensionare il set di addestramento, questa suddivisione era essenziale. Il set di test offre una valutazione oggettiva dell'efficacia del modello finalizzato, poiché è stato utilizzato anche per modificare i pesi del modello. Inoltre, un set di convalida aiuta a mettere a punto gli iperparametri e a valutare i modelli durante la fase di addestramento. Un breve riassunto della distribuzione dei dati è fornito nella Tabella 2 e la Figura 3 fornisce una rappresentazione visiva degli stessi.
| Classe | Test automatico | Test | Treno | Val |
| 0 | 604 | 639 | 2286 | 328 |
| 1 | 275 | 296 | 1046 | 153 |
| 2 | 403 | 447 | 1516 | 212 |
| 3 | 200 | 223 | 757 | 106 |
| 4 | 44 | 51 | 173 | 27 |
Tabella 2: Breve descrizione del set di dati.

Figura 3: Distribuzione del set di dati. Il set di dati è stato organizzato in set di test, convalida e addestramento. Clicca qui per visualizzare una versione più grande di questa figura.
Pre-elaborazione dei dati
Questa fase è fondamentale e mira a migliorare le prestazioni del modello migliorando la qualità dei dati di input. Le fasi coinvolte nella pre-elaborazione sono le seguenti.
Ridimensionamento dell'immagine: a ogni immagine radiografica viene applicata una dimensione standard per garantire la coerenza dell'intero set di immagini. Questa fase è essenziale per consentire al modello di elaborare le immagini in modo coerente ed efficace. In questo processo viene utilizzata l'equazione 1.
Nuova dimensione immagine = Ridimensiona (immagine originale, dimensione standard) (1)
Normalizzazione: i valori dei pixel nelle immagini sono stati standardizzati per ottenere una media di zero e una deviazione standard di uno. Questo tipo di normalizzazione garantisce che i valori di input rientrino in un intervallo simile, accelerando la convergenza del modello durante l'addestramento. L'equazione 2 viene utilizzata per eseguire questa fase di normalizzazione.
(2)
Aumento dei dati: le strategie di aumento dei dati sono state impiegate per affrontare i problemi dovuti a dati insufficienti e migliorare la capacità di generalizzazione del modello. Questi metodi includono capovolgimenti, zoom, rotazioni e traslazioni. Introducono nuove immagini che vengono aggiunte intenzionalmente al set di dati di addestramento. L'equazione 3 viene utilizzata nell'attuazione di questa procedura di aumento.
Immagine Aumentata = Applica Trasformazione (Iamge Originale) (3)
Sono state impiegate una varietà di tecniche di aumento per fornire variabilità al set di addestramento al fine di migliorare la robustezza del modello e ridurre al minimo l'overfitting. Un intervallo di taglio di 0,2, un intervallo di zoom da 0,8 a 1,2 (corrispondente a un fattore di zoom di 0,2) e un intervallo di rotazione casuale da -30° a +30° sono stati tutti inclusi nell'aumento dei dati di addestramento. Sia il capovolgimento orizzontale che quello verticale sono stati consentiti con una probabilità di 0,5 al fine di migliorare la generalizzazione del modello. Sia per il taglio verticale che per quello orizzontale, è stato impiegato anche un fattore di taglio di 0,1, o ± 10% di distorsione.
Bilanciamento delle classi: gli algoritmi di ponderazione delle classi sono stati utilizzati a causa del possibile squilibrio di classe del set di dati (con più immagini di alcune classi OA rispetto ad altre). Per evitare che il modello mostri distorsioni a favore di classi più comuni, questo metodo assegna alle classi sottorappresentate un peso maggiore. In questo processo viene utilizzata l'equazione 4. Per determinare i pesi sono stati utilizzati i seguenti valori: Sano: 3857, Dubbio: 1770, Minimo: 2578, Moderato: 1286 e Grave: 295 sono le distribuzioni per classe dei 9786 campioni totali e delle 5 classi.
(4)
Divisione Training-Validazione: il set di dati è stato organizzato in set di convalida e addestramento utilizzando i tradizionali rapporti 80:20. La divisione dei dati consente al modello di apprendere dai dati di addestramento e di valutare le prestazioni su base regolare utilizzando il set di convalida. Ciò consente di identificare l'overfitting e valutare la capacità di generalizzazione del modello.
Ottimizzazione della pipeline di dati: è stata creata una pipeline di dati migliorata per garantire un'efficace gestione dei dati durante l'addestramento del modello. Per ridurre i colli di bottiglia di input/output e aumentare le prestazioni di calcolo, questa pipeline utilizza tecniche di batching, prelettura ed estrazione parallela dei dati. Per migliorare l'efficienza e la produttività della formazione, è stata sviluppata la pipeline di dati di input. Per garantire un utilizzo bilanciato della memoria e del carico computazionale, sono stati utilizzati 32 batch. Per aumentare l'efficienza dell'input dei dati, nella funzione map è stato utilizzato num_parallel_calls=4 per parallelizzare il caricamento e la pre-elaborazione dei dati. Inoltre, al fine di ridurre al minimo la latenza di I/O, è stato utilizzato il prefetch(buffer_size=tf.data.AUTOTUNE) di TensorFlow per consentire la regolazione automatica delle dimensioni del buffer di prelettura. Ciò si sovrapponeva efficacemente alla pre-elaborazione dei dati e all'esecuzione del modello
Nella Figura 4, sono state mostrate alcune istanze di diverse classi di immagini dopo la pre-elaborazione di base.

Figura 4: Istanze del set di dati. La figura mostra alcune istanze di diverse classi di immagini dopo la pre-elaborazione di base. Clicca qui per visualizzare una versione più grande di questa figura.
Attraverso queste meticolose fasi di pre-elaborazione, il set di dati viene trasformato in una solida base per l'addestramento del modello XceptionNet modificato, ponendo le basi per un rilevamento e una classificazione KOA accurati e affidabili.
Architettura del modello
Modello di base: con il suo design distinto che utilizza convoluzioni separabili in profondità per ottenere il miglior equilibrio possibile tra efficienza computazionale e complessità del modello, il modello XceptionNet creato da François Chollet si distingue25. L'equazione 5 è stata utilizzata per implementare le convoluzioni separabili in profondità.
Convoluzione separabile in profondità(x) = Punto(Profondità(x)) (5)
È particolarmente rilevante per questo studio per diversi motivi. Innanzitutto, la sua architettura è nota per l'estrazione di caratteristiche dettagliate e gerarchiche dalle immagini, che è fondamentale per l'analisi delle immagini mediche, dove le caratteristiche sottili possono indicare diverse fasi di una condizione. In secondo luogo, il modello proposto si basa sull'architettura XceptionNet, che ha dimostrato un'eccezionale efficacia in diverse attività di classificazione delle immagini, volte a rilevare e classificare l'osteoartrite del ginocchio26.
OsteoXceptionNet presentato è una versione su misura dell'architettura XceptionNet, creata appositamente per classificare automaticamente l'artrosi del ginocchio dalle immagini radiografiche. Importanti modifiche includono l'aggiunta di altri tre blocchi convoluzionali (filtri: 512, 256 e 128) per migliorare l'estrazione di caratteristiche specifiche per le strutture dell'articolazione del ginocchio, nonché livelli convoluzionali con dimensioni dei filtri di 3 x 3 e conteggi variabili dei filtri che vanno da 32 a 1024 nei flussi di entrata, centrale e di uscita. La normalizzazione batch e l'attivazione ReLU vengono aggiunte dopo ogni livello convoluzionale e vengono aggiunti strati di dropout per ridurre al minimo l'overfitting. Lo standard di 224 x 224 pixel viene utilizzato per gli input del modello.
Messa a punto e modifiche
Modifiche: Il modello XceptionNet è stato strategicamente modificato in alcuni modi per renderlo adatto alla classificazione e al rilevamento di KOA.
Messa a punto: gli strati superiori del modello XceptionNet pre-addestrato sono stati sbloccati, consentendo al modello di apprendere le caratteristiche di alto livello specifiche per le immagini a raggi X del ginocchio. La messa a punto del modello è stata condotta secondo l'equazione 6.
(6)
dove θfine-tuned sono i parametri dopo la fine-tuning; θpre-addestrato sono i parametri pre-addestrati; λ è il tasso di apprendimento; ∇θpre-addestratoPerdita è il gradiente della funzione di perdita correlato ai parametri che sono stati pre-addestrati.
Livelli convoluzionali aggiuntivi: nella fase finale del modello sono stati introdotti ulteriori livelli convoluzionali. Questi strati hanno una dimensione del kernel più piccola per concentrarsi sull'estrazione di dettagli più fini pertinenti ai diversi gradi OA. È stato utilizzato utilizzando l'equazione 7.
Output convoluzionale = Convoluzione(Input,Kernel) (7)
Normalizzazione batch: dopo ogni livello convoluzionale aggiunto, viene applicata la normalizzazione batch per stabilizzare l'apprendimento e migliorare la velocità di convergenza. Viene impiegato utilizzando l'equazione 8.
(8)
dove
è l'output normalizzato; x è l'input del livello di normalizzazione batch; μ è la media per il batch di input; σ2 è la varianza nel batch di input; ε è una costante minima per la stabilità numerica.
Funzioni di attivazione: Le funzioni di attivazione ReLU vengono utilizzate nei livelli supplementari per introdurre la non linearità, consentendo così al modello di acquisire strutture più complesse nei dati. ReLU viene calcolato utilizzando l'equazione 9.
ReLU(x) = max(0,x) (9)
dove, x è l'ingresso della funzione di attivazione ReLU.
Dropout: per evitare l'overfitting, vengono incorporati dei livelli di dropout, in particolare dopo i nuovi layer aggiunti, per garantire la generalizzazione del modello anche su dati non visibili. È stato fatto per mezzo dell'equazione 10.
Uscita = Maschera × di ingresso (10)
Configurazione del livello di output
Livello di output: il modello XceptionNet originale è strutturato per la classificazione multiclasse con funzione di attivazione Softmax in un livello di output. In questo modello adattato, il livello di output è personalizzato per rappresentare i cinque gradi di osteoartrite del ginocchio, che vanno dal grado 0 al grado 4, cioè dal livello sano a quello grave. Precisamente, questo strato comprende cinque neuroni, ciascuno corrispondente a uno dei gradi di OA. La funzione di attivazione Softmax è stata utilizzata in questo strato per produrre una distribuzione di probabilità su cinque classi, consentendo al modello proposto di prevedere il grado di OA appropriato per una data immagine radiografica del ginocchio. Questo approccio allinea l'output del modello direttamente con la scala di classificazione clinica, facilitando un'interpretazione intuitiva e pratica delle previsioni del modello per gli operatori sanitari.
L'architettura XceptionNet è specificamente adattata, che è stata prima pre-addestrata sul set di dati ImageNet, per l'obiettivo dello studio presentato di classificare la gravità dell'osteoartrite al ginocchio. Il modello ha sfruttato le caratteristiche apprese da un set di dati ampio e diversificato utilizzando i pesi pre-addestrati di ImageNet, che gli hanno fornito una solida base. Per personalizzare il modello fondamentale di XceptionNet per la ricerca proposta, sono stati aggiunti molti nuovi livelli.
In primo luogo, i livelli convoluzionali 2D sono stati combinati con diversi numeri di filtri e dimensioni del kernel, ognuno dei quali è stato attivato da ReLU e dalla normalizzazione batch per aggiungere non linearità. Questi strati extra avevano lo scopo di catturare e amplificare le caratteristiche relative alla gravità dell'osteoartrite del ginocchio. Il modello era quindi pronto per l'ultima fase di classificazione aggiungendo un livello GAP (Global Average Pooling 2D), che riduce la mappa delle caratteristiche mantenendo i dati importanti. In particolare, l'operazione GAP consente di ridurre la dimensionalità con una perdita minima di dati, riducendo le dimensioni spaziali di ciascuna mappa a un singolo valore, mantenendo la profondità, che potrebbe variare da 7 x 7 x 1024 a 1 x 1 x 1024. L'output del livello GAP è stato inserito nella funzione di attivazione Softmax, che ha consentito la classificazione multiclasse convertendo i logit in probabilità. Le equazioni 11, 12, 13, 14, 15, 16 e 17 vengono utilizzate rispettivamente per il GAP, l'attivazione di Softmax, il calcolo della mappa delle funzioni, la riduzione del tasso di apprendimento, la compilazione del modello, l'adeguamento del peso della classe e la perdita di classificazione multiclasse.
(11)
dove, xi,j è l'attivazione della i-esima riga e j-esima colonna della feature map; H è l'altezza della mappa delle caratteristiche; W è la larghezza della mappa delle feature.
(12)
dove, xi è l'input della funzione Softmax per la classe i; n è il numero di classi.
Mappa delle funzionalità = σ(Convoluzione(Input,Kernel) + Bias) (13)
dove, la convoluzione è un'operazione di convoluzione; i è la funzione di attivazione; L'input è il tensore di input del livello; Kernel è il kernel convoluzionale; Bias è il termine bias.
Nuovo tasso di apprendimento = Tasso di apprendimento × fattore (14)
Modello = Compila (Architettura,Perdita,Ottimizzatore,Metriche) (15)
(16)
dove, Laclasse di peso è il peso assegnato a una classe; Campioni totali è la total_number_of_samples del set di dati; Number_of_Classes è il numero di classi distintive all'interno del set di dati; Sample in Class è il conteggio dei campioni in una classe specifica.
(17)
dove, yi è la distribuzione di probabilità effettiva per la classe i; pi è la previsione della distribuzione di probabilità di classe I ; N è il numero di classi.
Infine, il modello, che ora comprende l'architettura XceptionNet modificata con i livelli personalizzati, è stato compilato per prevedere le probabilità per ogni classe. Attraverso queste modifiche, l'obiettivo era quello di aumentare la capacità del modello di discernere le caratteristiche sfumate associate a diversi gradi di gravità dell'osteoartrite del ginocchio, migliorando le sue prestazioni di classificazione per il compito specifico.
Per una convergenza stabile ed efficace, l'ottimizzatore Adam è stato utilizzato per addestrare il modello con una velocità di apprendimento di 0,0001, con 0,5 utilizzato come tasso di dropout per ridurre al minimo l'overfitting. Per limitare la complessità del modello e migliorare la generalizzazione, sono state utilizzate strategie di regolarizzazione sia L1 che L2. Per problemi di classificazione multiclasse con etichette intere, la crossentropia categoriale sparsa era la funzione di perdita adatta. L'addestramento è stato condotto per 50 epoche. Softmax, la funzione di attivazione finale, è stata utilizzata per generare distribuzioni di probabilità di classe. Inoltre, per l'allenamento è stata utilizzata una dimensione di 64 passi.
Formazione: Il processo di formazione è stata una fase molto importante. In questa fase, il modello XceptionNet modificato apprende il rilevamento e la classificazione accurati della KOA nelle immagini radiografiche. Keras versione 2.6.0 e TensorFlow backend versione 2.6.0 sono stati utilizzati per implementare il modello XceptionNet. Di seguito sono riportati i dettagli dei componenti chiave della fase di addestramento, tra cui la funzione di perdita, l'ottimizzatore, i callback, le dimensioni del batch e le epoche.
Loss_Function: Per l'attività di classificazione multiclasse, è stato utilizzato il cross_entropy categoriale. Questa funzione di perdita è particolarmente adatta per i problemi in cui si prevede che ogni istanza venga assegnata a una e una sola etichetta da un insieme di categorie27. Valuta le prestazioni del modello producendo un punteggio di probabilità compreso tra zero e uno. Questa perdita è stata utilizzata come indicatore per addestrare efficacemente questo modello per la previsione accurata della gravità della KOA poiché aumenta quando la probabilità prevista differisce dall'etichetta effettiva.
Ottimizzatore: è stato utilizzato l'ottimizzatore Adam, noto per la sua efficacia e le caratteristiche del tasso di apprendimento dinamico. Adam amalgama le caratteristiche vantaggiose degli algoritmi AdaGrad e RMSProp, fornendo un algoritmo di ottimizzazione abile nella gestione di gradienti sparsi in impostazioni di problemi rumorosi28.
Parametri chiave per l'ottimizzatore Adam
Tasso di apprendimento: è stato impiegato un tasso di apprendimento di 0,0001, che ha consentito all'ottimizzatore di apportare inizialmente modifiche sostanziali ai pesi, ottimizzando così il processo di apprendimento.
Beta1 e Beta2: questi parametri regolano la velocità con cui il gradiente al quadrato e le medie mobili dei gradienti precedenti diminuiscono, rispettivamente. Vengono utilizzati i valori predefiniti di 0,9 per beta1 e 0,999 per beta2.
Epsilon: Questo parametro impedisce qualsiasi divisione per zero nell'implementazione, impostato su un numero piccolo vicino allo zero.
Callback: i callback vengono utilizzati durante il training per monitorare le prestazioni del modello e per la regolazione. Sono stati utilizzati i seguenti richiami:
Early_Stopping: Viene utilizzato per monitorare la perdita di convalida del modello e per interrompere il processo di addestramento se la perdita cessa di diminuire per un numero predefinito di epoche (indicato come pazienza). Quando i dati di convalida non mostrano più un miglioramento delle prestazioni del modello, interrompe il processo di addestramento, il che aiuta a prevenire l'overfitting.
Riduci plateau LROn: questo callback riduce la velocità di apprendimento quando la perdita di convalida cessa di migliorare, consentendo regolazioni più precise nei pesi, con conseguente potenziale miglioramento delle prestazioni complessive del modello29.
Checkpoint del modello: questo callback salva il modello a un determinato intervallo, in modo che la versione migliore del modello possa essere recuperata una volta completato il processo di addestramento. Di solito, monitora l'accuratezza o la perdita di convalida e salva il peso del modello ogni volta che viene rilevato un miglioramento.
Dimensione del lotto ed epoche:
Dimensione batch: 32 è la dimensione tipica del batch utilizzata per bilanciare i requisiti per la stabilità della convergenza del modello e l'efficienza di calcolo. Una dimensione del batch di 32 raggiunge un equilibrio, essendo sufficientemente grande da sfruttare le ottimizzazioni computazionali e tuttavia abbastanza piccola da offrire una stima stabile del gradiente.
Epoche: il modello è impostato per il training per un massimo di 50 epoche, anche se il training può interrompersi anticipatamente se viene attivato il callback EarlyStoping. Le 50 epoche forniscono iterazioni sufficienti per la regolazione dei pesi e la convergenza del modello, mentre EarlyStopping garantisce che l'allenamento non continui inutilmente.
Impostando meticolosamente questi parametri e utilizzando i callback, il processo di addestramento è stato ottimizzato per garantire che il modello apprenda in modo efficace e generalizzi bene ai dati non visibili. Al fine di garantire che tutte le classi siano rappresentate in modo equo e accurato nelle previsioni del modello, sono stati utilizzati una serie di approcci per affrontare il problema dello squilibrio dei dati. In primo luogo, per compensare la sottorappresentazione di alcune classi, è stata utilizzata la ponderazione per classe durante tutta la fase di formazione. Alle classi con meno campioni è stato assegnato un peso maggiore. Per ridurre ulteriormente l'impatto dello squilibrio di classe durante l'addestramento, è stato utilizzato anche ImageDataGenerator di Keras per assicurarsi che il modello fosse esposto a una varietà di classi in ogni batch30.
Metriche di valutazione
Nella valutazione dell'efficacia del modello sviluppato, sono stati utilizzati numerosi parametri che sono descritti di seguito.
Precisione (ACC): il rapporto tra le osservazioni previste con precisione e tutte le osservazioni è quantificato da questa statistica. Quando le classi target si distribuiscono equamente, è vantaggioso. Il suo calcolo si basa sull'equazione 18.
(18)
Precisione (PR): la precisione del modello misura la capacità di distinguere tra tutti i casi positivi e positivi previsti. In circostanze in cui il tasso di falsi positivi è sostanziale, è molto importante. Il suo calcolo si basa sull'equazione 19.
(19)
Richiamo (R): il richiamo, noto anche come sensibilità, quantifica la percentuale di veri positivi rilevati correttamente. È particolarmente importante in situazioni in cui ignorare un buon esempio potrebbe avere gravi ripercussioni. Il suo calcolo coinvolge l'equazione 20.
(20)
F1_Score: È la media armonica di precisione (PR) e di richiamo (R), fornisce una valutazione equa, in particolare in presenza di una distribuzione di classe non uniforme. Il suo calcolo coinvolge l'equazione 21.
(21)
ROC AUC: Area Under the Curve for Receiver Operating Characteristics (ROC AUC) quantifica la capacità del modello di distinguere tra le classi. Valori AUC elevati indicano prestazioni superiori del modello. Il suo calcolo si basa sull'equazione 22.
(22)
Kappa di Cohen (CK): questa metrica valuta la concordanza tra due valutatori che classificano N elementi in classi C che si escludono a vicenda. Offre una maggiore robustezza rispetto alla precisione, soprattutto quando si tratta di classi sbilanciate. Il suo calcolo coinvolge l'equazione 23.
(23)
Metriche Errore assoluto medio (MAE), Errore quadratico medio radice (RMSE) ed Errore quadratico medio (MSE): sebbene comunemente utilizzati per le attività di regressione, questi parametri possono fornire rivelazioni utili negli scenari di classificazione, in particolare nelle classificazioni ordinali. Calcolano la differenza tra i valori reali e quelli previsti. Queste metriche sono state calcolate utilizzando le equazioni 24, 25 e 26, rispettivamente.
(24)
(25)
(26)
Punteggio F2: il punteggio F2 assegna la priorità al richiamo rispetto alla precisione, che è utile negli scenari in cui trascurare una stima positiva comporta costi maggiori rispetto alla generazione di un falso positivo. Il suo calcolo coinvolge l'equazione 27.
(27)
Precisione e curva di richiamo: questo grafico mostra come il richiamo e l'accuratezza sono bilanciati a vari livelli. Maggiore è l'area sotto una curva, maggiori sono i livelli di richiamo e precisione.
I parametri di cui sopra sono stati scelti al fine di fornire una valutazione approfondita delle prestazioni del modello su tutte le dimensioni, soprattutto nel contesto dello squilibrio del set di dati e dell'importanza di identificare con precisione i vari gradi di osteoartrite del ginocchio.