Processamento básico de imagens radiográficas utilizando OpenCV

Eduardo Farina
dadosesaude

--

Antes de treinar uma rede neural convolucional existem dois processamentos básicos que você pode utilizar nas suas imagens para otimizar o treinamento e a sua visualização.

Histogram equalization

Um método utilizado para melhorar o contraste presente dentro das imagens através de uma nova distribuição da intensidade dos pixels. O código em python para essa função pode ser obtido através da biblioteca open cv.

import cv2 as cv
img = cv.imread('img_path')
img_eq = cv.equilizeHist(img)

Normalização

É importante realizar a normalização dos pixels das imagens deixando que os valores dos pixels fiquem com valores entre 0 e 1. Isso é importante pois no processo de treinamento de uma rede neural ocorrem multiplicações por pesos e adições de fatores de correção (bias) e se os valores de pixels diferem muito, por exemplo alguns com valores de 255 e outros com valores 0 ,os resultados das multiplicações podem sair do controle e impactar na função de perda, importante no processo de back propagation que é fundamental para bons resultados em redes neurais convolucionais.

import cv2 as cv
img = cv.imread('img_path')
img_normalized = cv.normalize(img, normalizedImg, 0, 255, cv.NORM_MINMAX)

Referências

  • Zhang et al, Smart detection on abnormal breasts in digital mammography based on contrast-limited adaptive histogram equalization and chaotic adaptive real-coded biogeography-based optimization. DOI: 10.1177/0037549716667834
  • Shuyue et al, Study of Automatic Enhancement for Chest Radiograph. DOI: 10.1007/s10278–006–0623–7
  • Medium Becoming Human AI, Image Data Pre-Processing for Neural Networks.

--

--