一、數據集介紹
醫學圖像數據集是一組醫學圖像的集合。這些圖像通常用於研究醫學領域中的各種問題,如診斷、治療和疾病預防。這些數據集可以包含各種類型的圖像,如X射線、CT掃描、MRI和超聲波圖像。隨着醫學成像技術的進步,醫學圖像數據集變得越來越豐富,使用這些數據集進行機器學習和深度學習研究也變得越來越重要。
下面介紹幾個常見的醫學圖像數據集。
二、數據集一:ChestX-ray8
ChestX-ray8是一種廣泛使用的醫學圖像數據集,用於胸部X射線圖像中的疾病檢測。該數據集中包含約10萬張圖像,共8種可能的疾病:心臟擴大、肺充血、間質性疾病、結節、浸潤性、肺氣腫、肺實質增厚和肺纖維化。該數據集是在國立衛生研究院標註數據集基礎上擴展而來。
ChestX-ray8數據集可以用於機器學習和深度學習研究,以幫助醫療工作者更準確地診斷疾病。
代碼示例:
import numpy as np import pandas as pd import tensorflow as tf from tensorflow.keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D, BatchNormalization from tensorflow.keras.models import Sequential from tensorflow.keras.preprocessing.image import ImageDataGenerator from tensorflow.keras.callbacks import ModelCheckpoint, EarlyStopping train_datagen = ImageDataGenerator(rescale = 1./255, shear_range = 0.2, zoom_range = 0.2, horizontal_flip = True, validation_split = 0.2) test_datagen = ImageDataGenerator(rescale = 1./255) training_set = train_datagen.flow_from_directory('Data_Entry_2017', target_size = (224, 224), batch_size = 32, class_mode = 'categorical', subset = 'training') validation_set = train_datagen.flow_from_directory('Data_Entry_2017', target_size = (224,224), batch_size = 32, class_mode = 'categorical', subset='validation') classifier = Sequential() classifier.add(Conv2D(32, (3, 3), activation = 'relu', input_shape = (224, 224, 3))) classifier.add(BatchNormalization()) classifier.add(MaxPooling2D(pool_size = (2, 2))) # add other layers classifier.compile(optimizer = 'adam', loss = 'categorical_crossentropy', metrics = ['accuracy']) classifier.fit_generator(training_set, steps_per_epoch = len(training_set), epochs = 30, validation_data = validation_set, validation_steps = len(validation_set))
三、數據集二:MURA
MURA是一種用於機器學習和深度學習研究的醫學圖像數據集,主要用於手臂、手肘、手腕等部位的正常和異常圖像分類。該數據集包含了14,863張X射線圖像,包括正常和異常的圖像。
MURA數據集可以用於研究如何使用機器學習和深度學習來幫助醫生進行圖像識別和疾病診斷。
代碼示例:
import tensorflow as tf from tensorflow.keras.preprocessing.image import load_img, img_to_array from tensorflow.keras.models import load_model import numpy as np img = load_img('MURA-v1.0/valid/XR_WRIST/patient11185/study1_positive/image1.png', target_size=(224, 224)) img = img_to_array(img) img = np.expand_dims(img, axis=0) img = img/255 model = load_model('my_model.h5') prediction = model.predict(img) if prediction < 0.5: print('This is a normal image.') else: print('This image is abnormal.')
四、數據集三:LIDC-IDRI
LIDC-IDRI是一種開源的醫療圖像數據集,收集了肺部計算機斷層掃描(CT)圖像和醫生的肺癌診斷注釋。該數據集包含1018個病例的數據,每個病例包含一個或多個CT圖像和人工標註的肺癌標記。
LIDC-IDRI數據集可以用於機器學習和深度學習研究,以幫助醫生在肺癌診斷和治療方面做出更準確的決策。
代碼示例:
import pydicom import numpy as np import os path = 'LIDC-IDRI/LIDC-IDRI-0001/01-01-2000-30178/3000566-03192/' slices = [pydicom.dcmread(os.path.join(path, s)) for s in os.listdir(path)] slices.sort(key=lambda x: int(x.InstanceNumber)) image = np.stack([s.pixel_array for s in slices]) image = image.astype(np.float32) image = np.asarray(np.clip(image, 0, 4096) / 4096 * 255, np.uint8) print(image.shape)
五、小結
醫學圖像數據集是醫學研究和診斷中非常重要的資源。隨着醫學成像技術的不斷進步,醫學圖像數據集越來越豐富,也給機器學習和深度學習在醫學領域的應用帶來了更多機會。
原創文章,作者:OSGCL,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/331507.html