C3D Learns Space and Time Together
C3D slides small 3D cubes through video, so one network reads shape and motion together instead of averaging frame guesses.
Why Does This Exist?
Averaging per-frame votes throws away order. Running looks like standing when frames are shuffled, because the average cannot see direction. Motion lives between frames, not inside one.
C3D treats a clip as a 3D volume with width, height, and time. It builds on video understanding, classifies clips with action recognition, and gives the joint alternative to two-stream networks that split space and motion.
Think of It Like This
A flipbook pressed into a loaf
Stack sixteen flipbook pages and cut a small cube from the loaf. Each cube holds a bit of drawing plus how it moved to the next page.
It stops working when the loaf gets huge. Sixteen full frames per decision costs far more flour than tasting one page at a time.
How It Actually Works
Let a clip be of shape , where 16 is frames, 112 is height and width, and 3 is colour. A 3D kernel of shape slides in all three axes, where each position sums products. Pooling halves space and time together until one vector remains.
Worked example
A 16-frame clip at 112 pixels needs about 33 million multiplies in the first layer alone. Frame averaging scores 0.55 on a running clip because direction is lost. The C3D volume keeps the leg swing across frames and scores 0.78. The 0.23 gap is pure temporal order, bought with cubic compute.
Watch Out For
Feeding too few frames to a 3D stack
Four frames through three pooling stages collapse time to one before motion forms. The symptom is C3D matching a 2D CNN while costing far more. Feed the full 16-frame clip the kernels were designed around.
The Quick Version
- C3D reads a 16-frame volume with kernels, not single frames.
- Shape keeps temporal order end to end.
- The fixture lifts running accuracy from 0.55 averaged to 0.78 volumetric.
- The gain is motion direction, and the price is cubic compute.
- Short clips waste the 3D stack, so keep the full temporal window.