Tweaking your convolutions

Beeldmodellering met Keras

Ariel Rokem

Senior Data Scientist, University of Washington

Convolution

Beeldmodellering met Keras

Convolution with zero padding

Beeldmodellering met Keras

Zero padding in Keras

model.add(Conv2D(10, kernel_size=3, activation='relu', 
                 input_shape=(img_rows, img_cols, 1)),
                 padding='valid')
Beeldmodellering met Keras

Zero padding in Keras

model.add(Conv2D(10, kernel_size=3, activation='relu', 
                 input_shape=(img_rows, img_cols, 1)),
                 padding='same')
Beeldmodellering met Keras

Strides

Beeldmodellering met Keras

Strides in Keras

model.add(Conv2D(10, kernel_size=3, activation='relu', 
                 input_shape=(img_rows, img_cols, 1)),
          strides=1)
Beeldmodellering met Keras

Strides in Keras

model.add(Conv2D(10, kernel_size=3, activation='relu', 
                 input_shape=(img_rows, img_cols, 1)),
          strides=2)
Beeldmodellering met Keras

Example

Beeldmodellering met Keras

Calculating the size of the output

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

where

  • $I$ = size of the input
  • $K$ = size of the kernel
  • $P$ = size of the zero padding
  • $S$ = strides
Beeldmodellering met Keras

Calculating the size of the output

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

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

Beeldmodellering met Keras

Dilated convolutions

Beeldmodellering met Keras

Dilation in Keras

model.add(Conv2D(10, kernel_size=3, activation='relu', 
                 input_shape=(img_rows, img_cols, 1)),
          dilation_rate=2)
Beeldmodellering met Keras

Let's practice!

Beeldmodellering met Keras

Preparing Video For Download...