【问题标题】:Recognizing small vessels on CT images with unet用unet识别CT图像上的小血管
【发布时间】:2020-08-16 12:50:39
【问题描述】:

我们正在尝试使用 CT 图像生成 3D 肺血管树。我们使用 VGG-16 作为编码器,使用相同的层(不传输权重)作为解码器。由于 CT 图像与 VGG-16 训练中使用的图像有很大不同,因此对整个网络进行了微调。

数据集包含超过 22000 个训练数据和 8000 个验证数据。对于每个 epoch,网络随机选择 2000 个训练数据和 800 个验证数据。而且,batch size 选择为 3。

我们的问题是网络无法分割小船。例如,我们有:

原始 CT 图像为: original image

图片标签: labeled image

网络预测: predicted image

到目前为止,我们尝试将网络结构从标准的 u-net 更改为带有迁移学习的 u-net。此外,我们尝试让图像更亮,但这些更改并没有解决问题。

我也可以提供预处理代码:

# Pixel intensities we interested in
pixel_range = (-6000, 6000)

# Normalizing the images
image = ((image-pixel_range[0]) / (pixel_range[1]-pixel_range[0]))*255
image[image>255] = 255
image[image<0] = 0

# Histogram equalization
clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8,8))
histogram_equalized_image = clahe.apply(image)

# Enhancing the image
maxIntensity = 255.0
phi = 1
theta = 1
ratio = 1.5
enhanced_image = (maxIntensity/phi)*(histogram_equalized_image/(maxIntensity/theta))**ratio
enhanced_image = np.array(enhanced_image, dtype=np.uint8)

【问题讨论】:

    标签: deep-learning image-segmentation


    【解决方案1】:

    分割小血管对于卷积神经网络来说并非易事。老实说,你可能会更幸运地分割肺区域,然后使用简单的算法(如阈值化)来获得肺血管。

    你提供的信息太少,但如果我要评论你的代码,我会先坚持标准的 U-Net 架构。此外,您的像素范围“增强”有点奇怪。尝试剪裁一些强度值以限制您正在使用的像素范围。尝试使用图像增强。我不确定为什么每个时期只使用 2000 个图像切片。确保您的数据是按患者而非图像随机拆分的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-11
      • 1970-01-01
      • 2017-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多