Ajustando suas convoluções

Modelagem de imagens com Keras

Ariel Rokem

Senior Data Scientist, University of Washington

Convolução

Modelagem de imagens com Keras

Convolução com zero padding

Modelagem de imagens com Keras

Zero padding no Keras

model.add(Conv2D(10, kernel_size=3, activation='relu', 
                 input_shape=(img_rows, img_cols, 1)),
                 padding='valid')
Modelagem de imagens com Keras

Zero padding no Keras

model.add(Conv2D(10, kernel_size=3, activation='relu', 
                 input_shape=(img_rows, img_cols, 1)),
                 padding='same')
Modelagem de imagens com Keras

Strides

Modelagem de imagens com Keras

Strides no Keras

model.add(Conv2D(10, kernel_size=3, activation='relu', 
                 input_shape=(img_rows, img_cols, 1)),
          strides=1)
Modelagem de imagens com Keras

Strides no Keras

model.add(Conv2D(10, kernel_size=3, activation='relu', 
                 input_shape=(img_rows, img_cols, 1)),
          strides=2)
Modelagem de imagens com Keras

Exemplo

Modelagem de imagens com Keras

Calculando o tamanho da saída

$$O = ((I - K + 2P) / S) + 1$$

onde

  • $I$ = tamanho da entrada
  • $K$ = tamanho do kernel
  • $P$ = tamanho do zero padding
  • $S$ = strides
Modelagem de imagens com Keras

Calculando o tamanho da saída

$$ 28 = ((28 - 3 + 2) / 1) + 1$$

$$ 10 = ((28 - 3 + 2) / 3) + 1$$

Modelagem de imagens com Keras

Convoluções dilatadas

Modelagem de imagens com Keras

Dilatação no Keras

model.add(Conv2D(10, kernel_size=3, activation='relu', 
                 input_shape=(img_rows, img_cols, 1)),
          dilation_rate=2)
Modelagem de imagens com Keras

Vamos praticar!

Modelagem de imagens com Keras

Preparing Video For Download...