Detecção e localização de tumores cerebrais

Conteúdo

  • Conte os valores de cada classe.
brain_df['mascarar'].valor_contas()
623403-1459003
  • Exibir aleatoriamente uma imagem de ressonância magnética do conjunto de dados.
image = cv2.imread(brain_df.image_path[1301])
plt.imshow(imagem)
907024-5349408

Image_path armazena o caminho de ressonância magnética do cérebro para que possamos exibir a imagem usando matplotlib.

Sugestão: a parte esverdeada da imagem acima pode ser considerada como o tumor.

  • O que mais, mostrar a imagem de máscara correspondente.
image1 = cv2.imread(brain_df.mask_path[1301])
plt.imshow(imagem1)
215495-5315675

Agora, você pode ter percebido o que a máscara realmente é. A máscara é a imagem da parte do cérebro afetada por um tumor a partir da imagem de ressonância magnética correspondente. Aqui, a máscara é da ressonância magnética do cérebro mostrada acima.

  • Analise os valores de pixel da imagem da máscara.
cv2.imread(brain_df.mask_path[1301]).max()

Partida: 255

O valor máximo de pixels na imagem da máscara é 255, o que a cor branca indica.

cv2.imread(brain_df.mask_path[1301]).min()

Partida: 0

O valor mínimo de pixels na imagem da máscara é 0, o que a cor preta indica.

  • Visualização de ressonância magnética do cérebro, la máscara correspondiente y la resonancia magnética con la máscara.
contagem = 0
FIG, axs = plt.subplots(12, 3, figsize = (20, 50))
para eu no alcance(len(brain_df)):
  if brain_df['mascarar'][eu] ==1 and count <5:
    img = io.imread(brain_df.image_path[eu])
    machados[contar][0].title.set_text('Brain MRI')
    machados[contar][0].imshow(img)
    
    mask = io.imread(brain_df.mask_path[eu])
    machados[contar][1].title.set_text('Mask')
    machados[contar][1].imshow(mascarar, cmap = 'gray')
    
    img[máscara == 255] = (255, 0, 0) #Red color
    axs[contar][2].title.set_text('MRI with Mask')
    machados[contar][2].imshow(img)
    count+=1

fig.tight_layout()
437678-2925223
  • Elimine la identificación, ya que no es necesaria para su procesamiento.
# Drop the patient id column
brain_df_train = brain_df.drop(colunas = ['patient_id'])
brain_df_train.shape

Obtendrá el tamaño del marco de datos en la salida: (3929, 3)

  • Convierta los datos en la columna de máscara de formato entero a formato de cadena, ya que necesitaremos los datos en formato de cadena.
brain_df_train['mascarar'] = brain_df_train['mascarar'].Aplique(lambda x: str(x))
brain_df_train.info()
349879-8334281

Como você pode ver, ahora cada característica tiene el tipo de datos como objeto.

  • Divida los datos en conjuntos de prueba y de tren.
# split the data into train and test data
from sklearn.model_selection import train_test_split
train, test = train_test_split(brain_df_train, test_size = 0.15)
  • Aumente más datos con ImageDataGenerator. ImageDataGenerator genera lotes de datos de imágenes de tensores con aumento de datos en tiempo real.

Referir aqui para obtener más información sobre ImageDataGenerator y los parámetros en detalle.

Crearemos un train_generator y validation_generator a partir de los datos del tren y un test_generator a partir de los datos de prueba.

# create an image generator
from keras_preprocessing.image import ImageDataGenerator

#Create a data generator which scales the data from 0 para 1 and makes validation split of 0.15
datagen = ImageDataGenerator(rescale=1./255., validation_split = 0.15)

train_generator=datagen.flow_from_dataframe(
dataframe=train,
directory= './',
x_col="caminho_da_imagem",
y_col="mascarar",
subconjunto ="Treinamento",
batch_size=16,
shuffle = True,
class_mode="categórico",
target_size=(256,256))

valid_generator=datagen.flow_from_dataframe(
dataframe=train,
directory= './',
x_col="caminho_da_imagem",
y_col="mascarar",
subconjunto ="validation",
batch_size=16,
shuffle = True,
class_mode="categórico",
target_size=(256,256))

# Create a data generator for test images
test_datagen=ImageDataGenerator(rescale=1./255.)

test_generator=test_datagen.flow_from_dataframe(
dataframe=test,
directory= './',
x_col="caminho_da_imagem",
y_col="mascarar",
batch_size=16,
shuffle = False,
class_mode="categórico",
target_size=(256,256))
Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.