电镜图像后处理(四):Dragonfly 3D world 的 Super Resolution 超分辨图像

健康   2024-07-31 19:00   美国  


  基本概念:


深度学习(神经网络)模型可以用来提升图像分辨率,通常称为Super Resolution的方法。


具体来讲,模型的input为低分辨图像,output为高分辨图像,模型训练时需提供真实的低分辨与高分辨图像,训练后的模型可以从新的低分辨图像中推理出高分辨的图像。推理出来的图像不是真实的高分辨图像,称为超分辨(super resolution)图像。


该模式的神经网络的input和output均为灰度值图像。与之不同的是,图像分割的神经网络的input为灰度值图像,output为区域标记即分类;因此,图像分割模型属于分类模型,超分辨模型属于回归模型。

实验操作:


工具:Dragonfly 3D World软件(重点是深度学习工具 Deep Learning Tool)

注:Segmentation Wizard工具是针对图像分割模型的,不适用于回归模型例如这里的super resolution.


素材:同一个样品的两次CT扫描图像(低分辨、高分辨)。


步骤:


1. 对低分辨和高分辨两组图像进行空间配准

2. 对高分辨图像数据进行重新采样(此步骤根据后面模型设定不同,有两种采样方式)

注:便于学习本文附有两组经过配准和采样的图像数据。使用此数据可略过上述两步。

3. 在Deep Learning Tool工具里对模型进行训练

注:通常不会在整个CT图像的所有slice上都进行训练,而是选一些局部

4. 在未参与训练的低分辨图像上检验模型效果

实验方法一:

下载数据(链接:https://pan.baidu.com/s/1a26MNkwEGyaz5I3NsoyEjQ?pwd=jqrk )

  • train_input.ORSObject:训练模型时提供给模型的输入图像,即低分辨图像(该图像是对原始低分辨图像进行重采样,使其像素点大小和下面的高分辨图像完全一样)


(1)因为模型是从低分辨图像来预测高分辨图像,因此模型训练时用来学习的低分辨图像和高分辨图像需要最大程度的对齐,来减少位置偏差带来的干扰。

(2)Dragonfly深度学习模块(Deep Learning Tool)在导入图像进行训练的时候,是不使用图像在空间中的位置信息的,而是按照图像自身的像素点下标位置进行两组图像之间的对应。因此,两组图像数据在Dragonfly做好对齐(registration)之后,还需要把对齐后的图像采用同样的geometry导出,这样才能在deep learning tool导入两组数据时,像素点是一一对应的。

(3)有两个工具可以实现(2)中的导出:第一个方法,在低分辨图像上使用Modify and Transform右键菜单下面的Resample Geometry工具,使得低分辨图像按照高分辨图像的像素点位置进行重新采样,这样产生的新的低分辨图像就和高分辨图像具有完全一致的geometry了;第二个方法,在Shape工具栏中创建一个box对象,调整box位置大小,然后用这个box对低分辨和高分辨图像分别进行裁剪(extract structured grid),新产生的低分辨和高分辨图像具有完全一致的像素点大小和位置。推荐使用第一种方法,因为只对一组图像进行插值采样,而第二种方法对两组图像都需要进行插值采样以产生新数据。

  • train_output.ORSObject:训练模型时提供给模型的输出图像,即高分辨图像(已与上面的低分辨图像进行了高精度的空间配准,同时两组图像的空间范围也裁剪成完全一样,即两个数据具有同样大小和数目的像素点、因此也具有同样大小的Box)

  • test_mask.ORSObject:测试集区域(通过ROI遮罩来定义)

  • train_mask.ORSObject:训练集区域(通过ROI遮罩来定义)

  • visual_feedback.ORSObject:用来显示视觉反馈的区域(通过区域工具来定义)


导入上述五个对象文件到Dragonfly 2024.1,可以观察和对比一下input低分辨图像和output高分辨图像:




打开Artificial Intelligence主目录下面的Deep Learning Tool菜单,选择U-Net架构(注意除U-Net外还有其它架构可以用以super resolution),Model type改为Regression(如上文所述,该模型是回归模型),输入模型名称(可输入任意文字包括中文),其它参数可以保持默认值:



模型创建之后,就可以进入训练环节了。这里再次强调一下:使用U-Net模型进行super resolution时,input和output的图像必须配准并且具有一致的geometry(像素点大小与数目)。在模型架构下拉框里还可以看到其它模型,另外一些模型比如U-Net SR和WDSR是允许input和output的像素点大小成比例(例如input图像每个像素点为4微米,output图像每个像素点1微米,创建模型的时候选择比例Scale为4)。


以下为U-Net模型的训练设置页面:



设置完模型之后点击Train按钮开始训练。下面是训练过程中的截图(正在进行第10个epoch,前一个epoch训练好的模型在visual feedback区域进行了推理,推理结果呈现在右侧,有助于观察模型每次epoch之后的性能改善:



训练后的模型可以用Deep Learning Tool 底部的Apply进行“推理”(即应用到低分辨图像上产生新的图像,推理出来的图像成为超分辨图像):



下图显示的是经过10次epoch训练之后的U-Net回归模型对上文中展示的低分辨图像进行推理后得到的超分辨图像:


实验方法二:

如上文所述,某些模型架构(UNet SR, WDSR等)的设计是允许input低分辨图像与output高分辨图像具有不一样的像素点大小。我们准备的第二组实验数据即符合该类模型,欢迎大家下载和自行尝试。


下载数据(链接:https://pan.baidu.com/s/1h_03SmODxVQRsPygXqHNdw?pwd=whf8 )


  • train_input.ORSObject:训练模型时提供给模型的输入图像,即低分辨图像,像素点大小为0.0235405 mm.

  • train_output.ORSObject:训练模型时提供给模型的输出图像,即高分辨图像,经过配准和重新采样后的高分辨(HR)图像的像素点大小为0.0047081 mm,因此两组图像的分辨率的倍数为5.

  • test_mask.ORSObject:测试集区域(通过ROI遮罩来定义)

  • train_mask.ORSObject:训练集区域(通过ROI遮罩来定义)

  • visual_feedback.ORSObject:用来显示视觉反馈的区域(通过区域工具来定义)


*UNet 和 UNet SR/WDSR/EDSR 模型在使用上的差别:


(1)常规的UNet模型除了广泛用在图像分割上,也一样可以用在Super Resolution。使用常规UNet模型,需要input和output两组图像具有完全一样的像素点大小和数据。


(2)UNet SR/WDSR/EDSR 这几个模型的使用方法和常规UNet相仿,唯一的差别是input和output图像不需要具有同样的像素点大小(但位置仍然要对应)。UNet SR/WDSR/EDSR 模型在创建时需要设置一个Scale数值,意思是高分辨图像和低分辨图像的倍数(例如低分辨像素点为4um,高分辨像素点为1um,则scale=4),训练这个模型时,input可以为4um像素点的图像,output可以为1um像素点的图像。只有满足这个条件的图像才能在deep learning tool里面自动出现在output的下拉选项里面。

(3)举例而言,使用常规UNet模型时,例如input为1000x1000x1000的低分辨图像(从原始的250x250x250低分辨图像插值采样产生的),output为1000x1000x1000的高分辨图像,每个像素点对应同一个真实位置,这个应该比较容易了解

(4)举例而言,在使用注有SR的模型(UNet SR/WDSR/EDSR)时,如果input为250x250x250低分辨图像,output需要是1000x1000x250的高分辨图像(即scale设置为4)而不是1000x1000x1000,因为目前的super resolution还是只在2D(XY)平面上进行。即使选择2.5D模型,仍然只在2D上进行预测(2.5D模型从附近切片图像上提取了更多信息帮助预测当前切片)。

(5)目前我们尚无足够的经验来推荐优先使用哪种模型。研究和提出UNet SR模型的人指出它优于常规UNet,因为不需要手动对低分辨进行插值采样,插值也由神经网络完成,因此理论上可以比手动操作的插值采样更好。但实际上,在我们做过的案例中,没有观察到该优势。我们做过的案例都是通过常规UNet得到不错的结果。

(6)对UNet SR/WDSR/EDSR三个模型的优劣,我们也尚无结论。

厚积薄发,方能始终领先
Dragonfly 3D World




剑指苍穹,工具齐全,破云斩雾任我行


三维图像查看-预处理-分割-量化,每一步都有齐全的工具助力使用者得到满意的结果。

              


智剑凌云,算法无双,破阵穿风学者行

神经网络深似海,研精覃思智慧来。

逻辑交织巧迭代,深度学习展神采。    


借助先进的深度学习引擎,Dragonfly利用AI模型进行图像增强和全自动图像分割。



 Dragonfly软件动态视频成果展示

这就是Dragonfly 3D World,一款功能强大的三维图像数据可视化及分析软件!

 

卢克任工作室
显微镜行业的老兵/游历近50国仍永不停歇的旅行者/NAUI认证的高级潜水员。这个公众号用于展示和传播光学、激光共聚焦、双光子、电子、离子显微镜及光刻系统行业的专业技术,仪器行业的营销、售后、质量管理理念和心得,还有个人的独特的人生经历。
 最新文章