Dimension after multiple convolutions in ConvNets I'm trying to understand exactly what does a convnet do to what, and I have trouble finding the dimensions alongside the convolutions.

If we take VGG 16 architecture, how do I get from 224x224x3 to 112x112x64 ? (The 112 is understandable, it's the last part I don't get)

I thought the CNN was to apply filters/convolutions to layers (for instance, 10 different filters to channel red, 10 to green... : are they the same filters between channels ?), but obviously 64 is not divisible by 3.

And then, how do we get from 64 to 128 ? Do we apply new filters to outputs of previous filters ? (in this case we only have 2 filters applied to previous outputs) Or is it something different ?
The 64 here is the number of filters that are used.
The picture is kind of misleading in that it leaves out the transition of the maxpool.


Below is a text description of the size of the features as they go through the network with the number of filters in bold.


The first 2 layers in the diagram you posted contain 64 3x3 convs
resulting in a 224x224x64 matrix of features. 
This is then fed into a maxpool which reduces the size to a 112x112x64 matrix. 
This is then fed to 3 layers of 128 3x3 convs resulting in a 112x112x128
matrix. 
Then another maxpool giving a 56x56x128 matrix.
Feeding that to 3 layers of 256 3x3 convs results in a 56x56x256 matrix.
This is then fed into another maxpool giving a 28x28x256 matrix,
Which is then fed into 3 layers of 512 3x3 convs resulting in a
28x28x512 matrix.
Another maxpool gives a 14x14x512 matrix which is fed to 3 layers of 512 3x3 convs giving a matrix of 14x14x512 features.
Another maxpool reduces this to a 7x7x512 which is then
given to 3 fully connected layers of 4096 units each before being
sent to a softmax.