How can a NN guess the velocity of an object from a video source? In the case of a video stream, I'd like to detect the speed (an approximation) of an object, that is moving. What would be the best approach to take?

I am thinking of 3 methodologies to take, though I've not found a lot resources to read about.

Method 1: I could feed Frame images to my CNN and pinpoint the object in the frame. Then calculate the difference of the position boxes.

Frame 1: [  o     ] ---&gt; NN --&gt; 3
Frame 2: [      o ] ---&gt; NN --&gt; 7


7-3 = 4 -> so dX = +4 between 1 frame, so I can estimate the dT (if I know the sampling rate of the frames)

Method 2: Is there any way where the NN can take as a feed-input the context of the previous frame and make the calculation itself?

video lapse 1sec: [  oooo ] ---&gt; NN --&gt; 4m/sec


Method 3: What if I can control the shutter speed of my camera, could I calculate the velocity of an object by the motion blur?

Frame image: [   ---o ] ---&gt; NN --&gt; 4m/$shutterSpeed


Any relevant resource to read would help a lot.
That is not possible without external labeled data (i.e., each video would have to be labeled with the object speed). Without labels, the neural network would be unable to learn the object's velocity because the object might be moving in any direction relative to the camera. For example, an object directly away would be getting smaller without motion blur.