在 Keras 中连接之前调整卷积层的大小

Resizing a convolution layer before concatenating in Keras

我正在阅读 U-Net: Convolutional Networks for Biomedical Image Segmentation 并且想在 Keras 中实现它。

在U-Net中,我需要连接卷积层,一个在contracting path中,另一个在expansive path中(论文中的图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) 的示例。