$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Esta seção apresenta uma abordagem abrangente projetada para melhorar o diagnóstico e a classificação da osteoartrite do joelho por meio do uso de um modelo XceptionNet modificado. A metodologia apresentada é baseada em pré-processamento cuidadoso de dados, personalização completa da arquitetura do modelo e fortes técnicas de avaliação, todas destinadas a resolver os problemas complexos associados à imagem da OA do joelho. Na Figura 2, o fluxo do modelo foi ilustrado.

Figura 2: Fluxo de trabalho do modelo. Clique aqui para ver uma versão maior desta figura.
Descrição do conjunto de dados
O conjunto de dados usado nesta pesquisa compreende 9.786 imagens de raios-X do joelho do conjunto de dados OAI que receberam uma nota OA com base na técnica de classificação KL. Esse conjunto de dados, que oferece uma ampla gama de instâncias que cobrem as várias fases do KOA, é essencial tanto para o treinamento quanto para a avaliação do modelo proposto24. A interpolação bilinear foi usada para dimensionar todas as imagens. Essa técnica foi selecionada porque atinge um compromisso entre a eficácia computacional e a manutenção da qualidade da imagem, ambas essenciais para a manutenção de características anatômicas importantes para a categorização da osteoartrite no joelho. No conjunto de dados, as notas são de 0 a 4, com o Grau 0 representando um joelho saudável e o Grau 4 denotando osteoartrite grave. Este grau oferece uma gama complexa de evolução da doença, o que é essencial para que o modelo entenda as variações mínimas entre os estágios.
Além disso, o conjunto de dados foi organizado em conjuntos de teste, validação e treinamento. Para avaliar o desempenho do modelo e garantir que ele aprenda a generalizar de forma eficaz sem sobreajustar o conjunto de treinamento, essa divisão foi essencial. O conjunto de testes oferece uma avaliação objetiva da eficácia do modelo finalizado, pois também foi usado para modificar os pesos do modelo. Além disso, um conjunto de validação auxilia no ajuste fino dos hiperparâmetros e na avaliação de modelos ao longo do estágio de treinamento. Um breve resumo da distribuição de dados é fornecido na Tabela 2, e a Figura 3 fornece uma representação visual do mesmo.
| Classe | Teste automático | Teste | Trem | 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 |
Tabela 2: Breve descrição do conjunto de dados.

Figura 3: Distribuição do conjunto de dados. O conjunto de dados foi organizado em conjuntos de teste, validação e treinamento. Clique aqui para ver uma versão maior desta figura.
Pré-processamento de dados
Esta etapa é crucial e visa melhorar o desempenho do modelo, melhorando a qualidade dos dados de entrada. As etapas envolvidas no pré-processamento são as seguintes.
Redimensionamento de imagem: Uma dimensão padrão é aplicada a cada imagem de raio-X para fornecer consistência em todo o conjunto de imagens. Esta etapa é essencial para que o modelo processe imagens de forma consistente e eficaz. A equação 1 é usada neste processo.
Novo tamanho de imagem = Redimensionar (imagem original, dimensão padrão) (1)
Normalização: Os valores de pixel nas imagens foram padronizados para obter uma média de zero e um desvio padrão de um. Esse tipo de normalização garante que os valores de entrada caiam em um intervalo semelhante, o que acelera a convergência do modelo durante o treinamento. A Equação 2 é usada para realizar esta etapa de normalização.
(2)
Aumento de dados: Estratégias de aumento de dados foram empregadas para resolver problemas devido a dados insuficientes e aumentar a capacidade de generalização do modelo. Esses métodos incluem inversões, zooms, rotações e translações. Eles introduzem novas imagens que são adicionadas intencionalmente ao conjunto de dados de treinamento. A Equação 3 é usada na implementação deste procedimento de aumento.
Imagem aumentada = Aplicar transformação (imagem original) (3)
Uma variedade de técnicas de aumento foi empregada para fornecer variabilidade ao conjunto de treinamento, a fim de melhorar a robustez do modelo e minimizar o sobreajuste. Uma faixa de cisalhamento de 0,2, uma faixa de zoom de 0,8 a 1,2 (correspondendo a um fator de zoom de 0,2) e uma faixa de rotação aleatória de -30° a +30° foram incluídas no aumento dos dados de treinamento. Tanto a inversão horizontal quanto a vertical foram permitidas com uma probabilidade de 0,5 para melhorar a generalização do modelo. Para cisalhamento vertical e horizontal, também foi empregado um fator de cisalhamento de 0,1, ou ± 10% de distorção.
Balanceamento de classe: Algoritmos de ponderação de classe foram usados devido ao possível desequilíbrio de classe do conjunto de dados (com mais imagens de algumas classes OA do que outras). Para evitar que o modelo mostre viés em favor de classes mais comuns, esse método dá às classes sub-representadas pesos maiores. A Equação 4 é utilizada neste processo. Os seguintes valores foram usados para determinar os pesos: Saudável: 3857, Duvidoso: 1770, Mínimo: 2578, Moderado: 1286 e Severo: 295 são as distribuições por classe das 9786 amostras totais e 5 classes.
(4)
Divisão de validação de treinamento: O conjunto de dados foi organizado em conjuntos de validação e treinamento usando proporções tradicionais de 80:20. A divisão dos dados permite que o modelo aprenda com os dados de treinamento e avalie seu desempenho regularmente usando o conjunto de validação. Isso permite identificar o sobreajuste e avaliar a capacidade de generalização do modelo.
Otimização do pipeline de dados: Um pipeline de dados aprimorado foi configurado para garantir o tratamento eficaz dos dados durante o treinamento do modelo. Para reduzir gargalos de entrada/saída e aumentar o desempenho da computação, esse pipeline usa técnicas de lote, pré-busca e extração paralela de dados. Para melhorar a eficiência e o rendimento do treinamento, o pipeline de dados de entrada foi desenvolvido. Para garantir a utilização equilibrada da memória e da carga computacional, um tamanho de lote de 32 foi empregado. Para aumentar a eficiência da entrada de dados, num_parallel_calls=4 foi usado na função map para paralelizar o carregamento e o pré-processamento de dados. Além disso, para minimizar a latência de E/S, a pré-busca (buffer_size=tf.data.AUTOTUNE) do TensorFlow foi usada para permitir o ajuste automatizado do tamanho do buffer de pré-busca. Isso efetivamente se sobrepôs ao pré-processamento de dados e à execução do modelo
Na Figura 4, algumas instâncias de diferentes classes de imagens foram mostradas após o pré-processamento básico.

Figura 4: Instâncias do conjunto de dados. A figura mostra algumas instâncias de diferentes classes de imagens após o pré-processamento básico. Clique aqui para ver uma versão maior desta figura.
Por meio dessas etapas meticulosas de pré-processamento, o conjunto de dados é transformado em uma base robusta para treinar o modelo XceptionNet modificado, preparando o terreno para detecção e classificação precisas e confiáveis de KOA.
Arquitetura do modelo
Modelo base: Com seu design distinto que usa convoluções separáveis em profundidade para alcançar o melhor equilíbrio possível entre eficiência computacional e complexidade do modelo, o modelo XceptionNet criado por François Chollet se destaca25. A Equação 5 foi utilizada para implementar as convoluções separáveis em profundidade.
Convolução Separada em Profundidade(x) = Pontual(Profundidade(x)) (5)
É particularmente relevante para este estudo por vários motivos. Primeiro, sua arquitetura é conhecida por extrair recursos detalhados e hierárquicos das imagens, o que é crucial para a análise de imagens médicas, onde recursos sutis podem indicar diferentes estágios de uma condição. Em segundo lugar, o modelo proposto é baseado na arquitetura XceptionNet, que demonstrou excelente eficácia em várias tarefas de classificação de imagens, visando detectar e classificar a osteoartrite do joelho26.
O OsteoXceptionNet apresentado é uma versão personalizada da arquitetura XceptionNet, criada especialmente para classificar automaticamente a osteoartrite no joelho a partir de imagens de raios-X. Mudanças importantes incluem a adição de mais três blocos convolucionais (filtros: 512, 256 e 128) para melhorar a extração de recursos específicos para estruturas da articulação do joelho, bem como camadas convolucionais com tamanhos de filtro de 3 x 3 e contagens de filtro variáveis variando de 32 a 1024 nos fluxos de entrada, meio e saída. A normalização em lote e a ativação de ReLU vêm após cada camada convolucional, e camadas de dropout são adicionadas para minimizar o sobreajuste. O padrão de 224 x 224 pixels é usado para entradas de modelo.
Ajuste fino e modificações
Modificações: O modelo XceptionNet foi estrategicamente modificado de algumas maneiras para torná-lo adequado para classificação e detecção de KOA.
Ajuste fino: As camadas superiores do modelo XceptionNet pré-treinado foram descongeladas, permitindo que o modelo aprendesse recursos de alto nível específicos para imagens de raios-X do joelho. O ajuste fino do modelo foi realizado de acordo com a Equação 6.
(6)
onde θajustado são os parâmetros após o ajuste fino; θpré-treinados são os parâmetros pré-treinados; λ é a taxa de aprendizagem; ∇θpré-treinadoLoss é o gradiente da função de perda relacionado aos parâmetros que foram pré-treinados.
Camadas convolucionais adicionais: Camadas convolucionais adicionais foram introduzidas na fase final do modelo. Essas camadas têm um tamanho de kernel menor para se concentrar na extração de detalhes mais finos pertinentes aos diferentes graus de AA. Foi empregado usando a equação 7.
Saída Convolucional = Convolução(Entrada,Kernel) (7)
Normalização em lote: Após cada camada convolucional adicionada, a normalização em lote é aplicada para estabilizar o aprendizado e aumentar a velocidade de convergência. É empregado usando a equação 8.
(8)
onde
é a saída normalizada; x é a entrada da camada de normalização do lote; μ é a média do lote de entrada; σ2 é a variância no lote de entrada; ε é uma constante mínima para estabilidade numérica.
Funções de ativação: As funções de ativação do ReLU são utilizadas nas camadas suplementares para introduzir a não linearidade, permitindo assim que o modelo adquira estruturas mais intrincadas nos dados. O ReLU é calculado usando a equação 9.
ReLU(x) = max(0,x) (9)
onde, x é a entrada da função de ativação ReLU.
Dropout: Para evitar o sobreajuste, as camadas de dropout são incorporadas, principalmente após as camadas recém-adicionadas, para garantir a generalização do modelo mesmo em dados não vistos. Isso foi feito por meio da equação 10.
Saída = Máscara de × de entrada (10)
Configuração da camada de saída
Camada de saída: O modelo XceptionNet original é estruturado para classificação multiclasse com função de ativação Softmax em uma camada de saída. Neste modelo adaptado, a camada de saída é personalizada para representar os cinco graus de osteoartrite do joelho, abrangendo do Grau 0 ao Grau 4, ou seja, do nível saudável ao grave. Precisamente, essa camada compreende cinco neurônios, cada um correspondendo a um dos graus de OA. A função de ativação Softmax foi utilizada nesta camada para produzir uma distribuição de probabilidade em cinco classes, permitindo que o modelo proposto preveja o grau de OA apropriado para uma determinada imagem de raios-X do joelho. Essa abordagem alinha a saída do modelo diretamente com a escala de classificação clínica, facilitando uma interpretação intuitiva e prática das previsões do modelo para profissionais de saúde.
A arquitetura XceptionNet é especificamente adaptada - que foi pré-treinada pela primeira vez no conjunto de dados ImageNet - para o objetivo do estudo apresentado de classificar a gravidade da osteoartrite no joelho. O modelo aproveitou os recursos aprendidos de um conjunto de dados grande e diversificado usando os pesos pré-treinados do ImageNet, o que lhe deu uma base sólida. Para personalizar o modelo fundamental do XceptionNet para a pesquisa proposta, muitas novas camadas foram adicionadas.
Primeiro, as camadas convolucionais 2D foram combinadas com diferentes números de filtros e tamanhos de kernel, cada um dos quais foi ativado por ReLU e normalização em lote para adicionar não linearidade. Essas camadas extras foram destinadas a capturar e amplificar características relacionadas à gravidade da osteoartrite no joelho. O modelo estava então pronto para o último estágio de classificação, adicionando uma camada Global Average Pooling 2D (GAP), que reduz o mapa de feição enquanto mantém dados importantes. Em particular, a operação GAP alcança a redução da dimensionalidade com perda mínima de dados, reduzindo as dimensões espaciais de cada mapa de recursos para um único valor, mantendo a profundidade, que pode variar de 7 x 7 x 1024 a 1 x 1 x 1024. A saída da camada GAP foi alimentada na função de ativação Softmax, que permitiu a classificação multiclasse convertendo logits em probabilidades. As equações 11, 12, 13, 14, 15, 16 e 17 são usadas para GAP, Ativação Softmax, Cálculo do Mapa de Recursos, Redução da Taxa de Aprendizado, Compilação de Modelos, Ajuste de Peso de Classe e Perda de Classificação Multiclasse, respectivamente.
(11)
onde, x i,j é a ativação da i-ésima linha e j-ésima coluna do mapa de recursos; H é a altura do mapa de recursos; W é a largura do mapa de recursos.
(12)
onde, xi é a entrada para a função Softmax para a classe i; n é o número de classes.
Mapa de recursos = σ(Convolução(Entrada,Kernel) + Viés) (13)
onde, Convolução é uma operação de convolução; i é a função de ativação; A entrada é o tensor de entrada para a camada; Kernel é o kernel convolucional; Viés é o termo preconceito.
Nova taxa de aprendizado = Taxa de aprendizado × fator (14)
Modelo = Compilar(Arquitetura,Perda,Otimizador,Métricas) (15)
(16)
em que,Classe de peso é o peso atribuído a uma classe; Total de amostras é o total_number_of_samples do conjunto de dados; Number_of_Classes é o número de classes distintas dentro do conjunto de dados; Amostra em Classe é a contagem de amostras em uma classe específica.
(17)
onde, yi é a distribuição de probabilidade real para a classe i; pi é a previsão de distribuição de probabilidade de classe i ; N é o número de classes.
Finalmente, o modelo, agora compreendendo a arquitetura XceptionNet modificada com as camadas personalizadas, foi compilado para prever probabilidades para cada classe. Por meio dessas modificações, o objetivo era aumentar a capacidade do modelo em discernir características diferenciadas associadas a diferentes graus de gravidade da osteoartrite do joelho, melhorando seu desempenho de classificação para a tarefa específica.
Para uma convergência estável e eficaz, o otimizador Adam foi usado para treinar o modelo com uma taxa de aprendizado de 0,0001, com 0,5 usado como taxa de desistência para minimizar o sobreajuste. Para limitar a complexidade do modelo e melhorar a generalização, foram utilizadas estratégias de regularização L1 e L2. Para problemas de classificação multiclasse com rótulos inteiros, a Crossentropia Categórica Esparsa foi a função de perda adequada. O treinamento foi realizado por 50 épocas. Softmax, a função de ativação final, foi usada para gerar distribuições de probabilidade de classe. Além disso, um tamanho de 64 passos foi usado para treinamento.
Treinamento: O processo de treinamento foi uma etapa muito importante. Nesta etapa, o modelo XceptionNet modificado aprende a detecção e classificação precisas de KOA em imagens radiográficas. Keras versão 2.6.0 e TensorFlow back-end versão 2.6.0 foram usados para implementar o modelo XceptionNet. Abaixo estão os detalhes dos principais componentes da fase de treinamento, incluindo a função de perda, o otimizador, os retornos de chamada, o tamanho do lote e as épocas.
Loss_Function: Para a tarefa de classificação multiclasse, foi utilizada a cross_entropy categórica. Essa função de perda é particularmente adequada para problemas em que se espera que cada instância seja atribuída a um e apenas um rótulo de um conjunto de categorias27. Ele avalia o desempenho do modelo produzindo pontuação de probabilidade dentro de zero e um. Essa perda foi usada como um indicador para treinar efetivamente esse modelo para a previsão precisa da gravidade da OAJ, uma vez que aumenta quando a probabilidade prevista difere do rótulo real.
Otimizador: Foi empregado o otimizador Adam, que é bem conhecido por sua eficácia e características dinâmicas de taxa de aprendizado. Adam amalgama as características vantajosas dos algoritmos AdaGrad e RMSProp, fornecendo um algoritmo de otimização adepto do gerenciamento de gradientes esparsos em configurações de problemas ruidosos28.
Parâmetros-chave para o otimizador Adam
Taxa de aprendizado: Uma taxa de aprendizado de 0,0001 foi empregada, permitindo que o otimizador fizesse ajustes substanciais nos pesos inicialmente, otimizando assim o processo de aprendizado.
Beta1 e Beta2: Esses parâmetros regulam as taxas nas quais o gradiente quadrado e as médias móveis dos gradientes anteriores diminuem, respectivamente. Os valores padrão de 0,9 para beta1 e 0,999 para beta2 são utilizados.
Epsilon: Este parâmetro evita qualquer divisão por zero na implementação, definida como um pequeno número próximo de zero.
Retornos de chamada: os retornos de chamada são usados durante o treinamento para monitorar o desempenho do modelo e para ajuste. Os seguintes retornos de chamada foram empregados:
Early_Stopping: Isso é usado para monitorar a perda de validação do modelo, bem como para interromper o processo de treinamento se a perda parar de diminuir para um número predefinido de épocas (conhecido como paciência). Quando os dados de validação não mostram mais melhoria no desempenho do modelo, eles interrompem o processo de treinamento, o que ajuda a evitar o sobreajuste.
Reduzir o platô LROn: Esse retorno de chamada diminui a taxa de aprendizado quando a perda de validação deixa de melhorar, permitindo ajustes mais finos nos pesos, resultando potencialmente em melhor desempenho geral do modelo29.
Ponto de verificação do modelo: esse retorno de chamada salva o modelo em um determinado intervalo, para que a melhor versão do modelo possa ser recuperada assim que o processo de treinamento for concluído. Normalmente, ele monitora a precisão ou perda de validação e salva o peso do modelo sempre que um aprimoramento é detectado.
Tamanho do lote e épocas:
Tamanho do lote: 32 é o tamanho típico do lote que foi usado para equilibrar os requisitos de estabilidade de convergência do modelo e eficiência de computação. Um tamanho de lote de 32 atinge um equilíbrio, sendo suficientemente grande para alavancar otimizações computacionais e ainda pequeno o suficiente para oferecer uma estimativa estável do gradiente.
Épocas: o modelo está definido para treinar por até 50 épocas, embora o treinamento possa ser interrompido antecipadamente se o retorno de chamada EarlyStopping for disparado. As 50 épocas fornecem iterações suficientes para que os pesos se ajustem e para que o modelo converja, enquanto o EarlyStopping garante que o treinamento não continue desnecessariamente.
Ao definir meticulosamente esses parâmetros e utilizar retornos de chamada, o processo de treinamento foi otimizado para garantir que o modelo aprenda de forma eficaz e generalize bem para dados não vistos. A fim de garantir que todas as classes sejam representadas de forma justa e precisa nas previsões do modelo, várias abordagens foram usadas para resolver o problema do desequilíbrio de dados. Primeiro, para compensar a sub-representação de algumas classes, a ponderação de classe foi usada durante toda a fase de treinamento. As classes com menos amostras receberam pesos maiores. Para diminuir ainda mais os impactos do desequilíbrio de classes durante o treinamento, o ImageDataGenerator da Keras também foi usado para garantir que o modelo fosse exposto a uma variedade de classes em cada lote30.
Métricas de avaliação
Na avaliação da eficácia do modelo desenvolvido, foram utilizados vários parâmetros descritos abaixo.
Precisão (ACC): A proporção de observações previstas com precisão para todas as observações é quantificada por esta estatística. Quando as classes-alvo se espalham igualmente, é benéfico. Seu cálculo é baseado na equação 18.
(18)
Precisão (PR): A precisão do modelo mede o quão bem ele pode distinguir entre todos os casos positivos e positivos esperados. Em circunstâncias em que a taxa de falsos positivos é substancial, é muito importante. Seu cálculo é baseado na equação 19.
(19)
Recordação (R): A recordação, também conhecida como sensibilidade, quantifica a porcentagem de verdadeiros positivos detectados corretamente. É especialmente importante em situações em que ignorar um bom exemplo pode ter sérias repercussões. Seu cálculo envolve a equação 20.
(20)
F1_Score: É uma média harmônica de precisão (PR) e recall (R), fornece uma avaliação justa, particularmente na presença de uma distribuição de classe desigual. Seu cálculo envolve a equação 21.
(21)
ROC AUC: Área sob a curva para características operacionais do receptor (ROC AUC) quantifica a capacidade do modelo de diferenciar entre classes. Valores elevados de AUC significam desempenho superior do modelo. Seu cálculo é baseado na equação 22.
(22)
Kappa de Cohen (CK): Esta métrica avalia a concordância entre dois avaliadores que categorizam N itens em classes C mutuamente exclusivas. Oferece maior robustez em comparação com a precisão, especialmente quando se trata de classes desequilibradas. Seu cálculo envolve a equação 23.
(23)
Erro Absoluto Médio (MAE), Erro Quadrático Médio (RMSE) e Erro Quadrático Médio (MSE): Embora comumente empregados para tarefas de regressão, esses parâmetros podem fornecer revelações úteis em cenários de classificação, particularmente em classificações ordinais. Eles calculam a diferença entre os valores reais e previstos. Essas métricas foram calculadas usando as equações 24, 25 e 26, respectivamente.
(24)
(25)
(26)
Pontuação F2: a pontuação F2 prioriza a lembrança em vez da precisão, o que é valioso em cenários em que ignorar uma previsão positiva incorre em custos maiores do que gerar um falso positivo. Seu cálculo envolve a equação 27.
(27)
Curva de precisão e recall: Este gráfico mostra como o recall e a exatidão são equilibrados em vários níveis. Quanto maior a área sob uma curva, maiores os níveis de recall e precisão.
Os parâmetros acima foram escolhidos para fornecer uma avaliação completa do desempenho do modelo em todas as dimensões, especialmente no contexto do desequilíbrio do conjunto de dados e da importância de identificar com precisão os vários graus de osteoartrite do joelho.