What are the differences between 1D / 2D / 3D convolutions?

2,092 views
Skip to first unread message

themoo...@googlemail.com

unread,
Jul 2, 2015, 8:07:20 AM7/2/15
to lasagn...@googlegroups.com
I think I have asked this before, but I could not find the question. So I have to ask again:

What is the difference between a 1D, 2D and a 3D convolution? Is it only about the filter dimensions? So a 1D convolution is a single integer, a 2D convolution is a tuple of integers and a 3D convolution is a triple?

Assume I have an RGB image. This means I have 3D input (width, height, channel). What would it mean to apply a 2D convolution here? Would it only be over each channel separately? Does this mean the 2D convolution can only learn edge detectors for green, but not for green and blue combined?

Where / when would a 1D convolution be applied?

emolson

unread,
Jul 2, 2015, 9:05:41 AM7/2/15
to lasagn...@googlegroups.com, themoo...@googlemail.com
Convolution terminology is a bit confusing. I think it's easiest to think of the dimensionality as the number of dimensions the filter is repeated along.

A typical 2D convolution applied to an RGB image would have a filter shape of (3, filter_height, filter_width), so it combines information from all channels into a 2D output.
If you wanted to process each color separately (and equally), you would use a 3D convolution with filter shape (1, filter_height, filter_width).

1D convolution is useful for data with local structure in one dimension, like audio or other time series.
Reply all
Reply to author
Forward
0 new messages