I'm working on (academic level) self-driving car project. Now, the first problem I faced while saving the train video data on Pi. I used 16GB storage but quickly It ran out of storage.

First I tried with motion and then used FFmpeg framework to stream the video. Now, I find that storage is a big issue here if I want to save the data on my pi storage. So, to save the storage, I am thinking, Can we save the video data to any online service or simply just save it to the local computer while streaming the with pi? Though I was told to use at least 64GB.

Maybe, it's a really basic question, but any more suggestion on this will be highly appreciated.


AI training datasets should have lots of samples, both negative and positive. For image recognition, each training sample can consist of single image. However, for self-driving training, you'll need video as you have mentioned. This is a challenge because you could easily have an overwhelming amount of information to wade through, and your chosen platform (Raspberry Pi) has limited resources.

To create tractable datasets of training videos, you can control:

  • resolution: use lower definition where possible to save space and speed up training.
  • frame rate: crank down the frame rate to the minimum needed for training
  • color depth: use black/white if you can or 8-bit video if you have to.
  • high-contrast scenes: unless you're doing real world city street training, choose high contrast scenes with clearly defined objects having sharp edges and geometric shapes. This may be possible for warehouse self-driving training, for example.
  • video length: make videos as short as possible. A long meandering video might be good for a final test, but short and numerous videos are best for training.

Video storage presents a problem as well. Local storage is fast. Online storage is convenient but you may run into bandwidth issues (e.g., how much is your ISP charging you?) as you send data back and forth for training.

For actual training, avoid the Raspberry Pi if you can. It's slow, perhaps 10-20x slower than your laptop. Use your laptop or better for training your neural networks. Then run the neural network on the Raspberry Pi.

  • I am sorry but I think I'm missing something. For actual training, what should be the best choice? And talking about the bandwidth, what things should I concern if I want to save or send the streaming data to some online storage or save it directly ( somehow ) to local computer ? – iNet Jul 9 '18 at 21:13
  • edited answer with recommendation for training – OyaMist Jul 10 '18 at 13:19

Your Answer

