Thursday, January 26, 2017

There Should Be Bicycles in It

The video above is from experiment #2 with machine learning (ML): use a python script to process a video clip through TensorFlow / Deepdream. Experiment #1, my previous post, was to do that with a still photo. This is the next step in the continuing efforts of the OSG Institute for Machine Learning (OSGIML) to do something with it for bicycles. 

To that end, I've put together the following set of guiding rules that I sort of follow:


1. Experiments are successful when I learn something new, and the code runs.

2. There should be bicycles in it.

3. Experiments should prove out the software prior to me buying new hardware to run it, to minimize waste.

4. Set the bar low to ensure stepwise daily progress, to nurture new habits and have fun.

5. Exploit the virtues of developer laziness: reuse, adapt, recycle, refactor. Don't create tools you can download. Solve the heart of the problem, and don't expend cycles on problems that others have already solved.

6. Add flashes and insights to the backlog, for when tools, time, and technique might render them feasible.


Experiment #1. Use TensorFlow and Python to process bicycle images with Deepdream.
    learning: python, TF, ML, tensors

Experiment #2. Use TensorFlow and Python to process video clips which include bicycles with Deepdream.
    learning: more TF, more py, more ML, tensors and usage, hardware requirements, Siraj Raval videos for learning stuff about this (he's great)

Experiment #3. Try out Jupyter while using TF and Py to classify images that include bicycles.
    learning: basic TF usage, tensors, matrix math, Jupyter

According to rule #1, experiments #1 and #2 were resounding successes! On to experiment #3, classifying images with bicycles in them.

Add to backlog: bike-threat (classification). 1-shot, 1-hot, 1/10th second, fire alert with sound, LED, haptic, indicate direction and intensity.
Video note: I uploaded to Blogger, Youtube, and Vimeo, but the first two thought the flower effects were noise, and mainly took them out during processing, while Vimeo left them in, so that's why I used Vimeo in this post.

No comments:

Post a Comment

Please feel free to comment here, almost anything goes, except for obvious spam or blatantly illegal or objectionable material. Spammers may be subject to public ridicule, scorn, or outright shaming, and the companies represented in spam shall earn disrepute and ire for each occurrence.