我正在阅读U-Net: Convolutional Networks for Biomedical Image Segmentation并希望在 Keras 中实现这一点。
在 U-Net 中,我需要连接卷积层,一个在收缩路径中,另一个在扩展路径中(论文中的图 1.1)。
但是,它们的大小不匹配,所以我必须在连接之前调整卷积层的输出大小。
我如何在 Keras 中做到这一点?
我正在阅读U-Net: Convolutional Networks for Biomedical Image Segmentation并希望在 Keras 中实现这一点。
在 U-Net 中,我需要连接卷积层,一个在收缩路径中,另一个在扩展路径中(论文中的图 1.1)。
但是,它们的大小不匹配,所以我必须在连接之前调整卷积层的输出大小。
我如何在 Keras 中做到这一点?
Keras 中有一个 Cropping2D 层:https ://keras.io/layers/convolutional/#cropping2d
...
conv_13 = Conv2D(64, (3, 3), padding='same', activation='relu')(conv_12) # has outputsize of 568x568
...
crop_13 = Cropping2D((392, 392))(conv_13) # crop 568x568 to 392x392 symmetrically
merge_91 = Concatenate()([crop_13, upsampled_81) # concatenate both layers with same 2D size
...
将第一个尺寸 (568x568) 连接到最后一个上采样尺寸 (392x392) 的示例。