基于halcon框架实现经典医学图像分割模型UNet
UNet网络结构如下图所示,最主要的两个特点是:U型网络结构和Skip Connection跳层连接。
关于unet参考了:Medical Image Segmentation Review: The success of U-Net
网络架构详解
UNet的主干分为对称的左右两部分:
左边为特征提取网络(编码器,encoder),原始输入图像通过卷积-最大池化进行四次下采样,获得四层级的特征图;
右边为特征融合网络(解码器,decoder),各层级特征图与经过反卷积获得的特征图通过跳接方式进行特征融合;
如上图所示,把Unet拆分为9个部分,接下来会使用halcon逐一实现
halcon实现
- 创建输入层,这是必须的
create_dl_layer_input ('segmentation_image_target', [InputImageWidth,InputImageHeight,1], [], [], DLLayerImageTarget)
create_dl_layer_class_id_conversion (DLLayerImageTarget, 'target', 'from_class_id', [], [], DLLayerTarget)
create_dl_layer_input ('image', [InputImageWidth,InputImageHeight,InputImageDepth], [], [], DLLayerInput)
create_dl_layer_input ('weight_image', [InputImageWidth,InputImageHeight,1], [], [], DLLayerWeights)
- 定义输入图像的尺寸和通道数
InputImageWidth