Skip to content

Technical architecture

Jon Cutler edited this page May 7, 2018 · 23 revisions

/Train

openCV.ipynb

TODO

rgbTest.ipynb

TODO

absdiffTest.ipynb

TODO

/Server

berryNetProvider.py

The BerryNetProvider class definition wraps the following open source library: https://github.com/DT42/BerryNet. BerryNet is a very useful component that leverages Tiny-YOLO to do frame by frame object recognition across 80 classes. Our provider allows us to request a snapshot, retrieve the detection results in json format and parse results. The product worked really well and we showcase it in our 4/18 technical checkin. The issue we ran into was training this model to add detection of tram cars. This proved to be difficult and overly complex because we only needed to track the tram and nothing else, and our camera is in a fixed position. Tiny-YOLO is really useful for scenarios where the user would like to classify many different items with a moving camera. In addition to this, due to the pi's limited computational capabilities we could only process around one image every three seconds. This was a little too slow to accurately detect the tram as it departs or lands under the 59th street bridge.

berryNetServer.py

TODO

tramBlobTracker.py

TODO

tramDiffTracker.py

TODO

tramState.py

TODO

tramServer.py

TODO

imageQueue.py

TODO

lightServer.py

TODO

/Dashboard

style.css, index.html, index.js, server.js

Clone this wiki locally