fanton-dev / traffic-brain Goto Github PK
View Code? Open in Web Editor NEWTraffic Brain is an open-source traffic light embedded system taking use of a machine learning classification model for decision making automation.
License: MIT License
Traffic Brain is an open-source traffic light embedded system taking use of a machine learning classification model for decision making automation.
License: MIT License
Describe the feature you'd like
Research how to handle server traffic light changes.
Describe the feature you'd like
Create e schematic of how the project devices will be linked with each other.
Describe the feature you'd like
Find out how to add a Raspberry Pi in the KiCad schematic.
Describe the feature you'd like
The classification model takes a 3D array with shape (512, 512, 3) with the RGB values of every pixel, divided by 255 (so the values are from 0 to 1). You should resize the loaded image to the given resolution (512x512, preferably with anti-aliasing), convert it to an array of pixel values and divide them.
Describe the feature you'd like
Make a path for animation json submissions. Check whether it contains valid data in all the fields: "name": str, "fps": number, "looped": bool, "frames": 3D list.
Describe the feature you'd like
Setup a docker image, containing all the dependencies to train and use the classification model.
Describe the feature you'd like
Edit the bounding box definition to match the neural network output requirements.
Additional context
More details: https://hackernoon.com/understanding-yolo-f5a74bbc7967
Describe the feature you'd like
The title is pretty self-explainatory, isn't it?
Describe the feature you'd like
Create a test for:
These tests will be used for continuous integration (CI).
Describe the bug
The camera is still being used after the generator at "/information/live" is no longer used.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Camera no longer to be enabled when the path is not used.
Describe the feature you'd like
Create a information drawer to display camera, statistics and settings of each traffic light pool on the map.
Describe the feature you'd like
Write unit tests testing the functionalities of the DataGenerator class functions. Tests shoud have coverage of the following functions:
Additional context
For testing, sample 3 images with annotations and assert from their expected output.
Describe the feature you'd like
On the flask server, make a GET /status request, which should return a JSON response containing status of all 3 lights and maybe additional information in the future.
Describe the feature you'd like
Implement the neural network IOU metrics function.
Describe the feature you'd like
Install Raspbian on an SD card to put on the Raspberry Pi.
Additional context
Download here: www.raspberrypi.org/downloads/raspbian/
Describe the feature you'd like
Take all the parts you bought and build the embedded.
Describe the feature you'd like
Make it so the embedded server code is deployed on the Raspberry when code is committed to the "embedded/raspberry" path.
Describe the feature you'd like
Handling of traffic light stage changes:
Describe the feature you'd like
Refactor the embedded server to comply with the standard flask project structure.
Additional context
Reference to documentation of the project structure could be found here.
Describe the feature you'd like
Create a GitHub Actions on the master branch which tests whether the server is able to run and if all the tests pass.
Additional context
For a guide on using GitHub Actions reference this video.
Describe the feature you'd like
Using the GCE API connect to the model and forward the array. You may refer to this to see the same thing implemented in NodeJS. When you reach the part where authentication for GCE is required, contact me.
Describe the feature you'd like
Research on how you test the following Flask server requests:
Describe the feature you'd like
Figure out how to live-stream the camera feed over the network and implement it.
Describe the feature you'd like
Additional context
For GCP installation reference you may check this.
Schematic of the project:
Describe the feature you'd like
Create a Continuous Deployment hook which should these things:
Additional context
Similar implementation could be referenced here.
Describe the feature you'd like
Create the Tensorflow model of the YOLO neural network.
Describe the feature you'd like
Change the image shape to match the neural network input layer shape. Modify bbox coordinates to match the new image.
Describe the feature you'd like
Research YOLO (You only look once) and alternatives, understand their implementation. Upload related research papers.
Describe the feature you'd like
Find all the parts used in the KiCad schematic and buy them.
Parts list:
Describe the feature you'd like
Save somewhere in the project this static jpeg image image and load it.
Describe the feature you'd like
Format the tensorflow dataset to the format specified in the YOLO paper.
Describe the feature you'd like
Source a descent dataset with coordinates squares for all the cars on-screen, so you can train th classification AI.
Describe the feature you'd like
Create the general circular traffic light plate schematic.
Describe the feature you'd like
The YOLO neural network return spec is in shape (16, 16, 5, 12). The 16 x 16 spec represents image squares divisions (grid cells) with a side of 32 pixels (516/32 = 16). The 5 x 12 represents the 5 bounding box predictions a grid should propose. A bounding box prediction is with size 5 (x of box center, y of box center, w of the box, h of the box, probability that an object exists in this box) + 7 probabilities of a given class existing in the grid cell (classes listed here) = 12.
A much clearer explanation could be found here.
Now as the part you need to code. First you need to define two constants: MIN_SCORE = 0.5
and MIN_IOU = 0.45. Then you need to iterate over every grid cell (16 x 16 = 256 gird cells in total).
For each cell you iterate over the 5 bounding box predictions. If the 'probability that an object exists in this box' (the 5th element in the spec) is higher than MIN_SCORE and a given class probability is higher than MIN_IOU, then add one to the final dictionary for the given class. The dictionary should look something like this: { "bicycle": 0, "bus": 1, "car": 8, "horse": 0, "motorbike": 0, "person": 0, "train": 0 }
.
Describe the feature you'd like
Update information about each and every main component of the project before TuesFEST.
Describe the feature you'd like
Make it so you can display an animation on the 3 LED matrices. Figure out shift register data loading, frame display and a whole animation display.
Describe the feature you'd like
Create the KiCad schematic and upload it in /embedded.
Describe the feature you'd like
Add a Google Maps view for displaying the traffic light nodes in a city on it.
Describe the feature you'd like
Automate embedded server testing.
Describe the feature you'd like
Create a GitHub Actions continuous integration (CI) hook which should be run on a pull request. The .yml should execute all python tests and check whether the main notebook is executable.
Describe the feature you'd like
Implement request for handling requests like these "http://127.0.0.1:5000/change_lights?red=filled&yellow=empty&green=empty" which load animations from the animations directory on to the traffic light using the GPIO interface.
Describe the feature you'd like
Create a design mock-up of the user-client and upload it.
Describe the feature you'd like
Create data variations for training the classifier.
Additional context
Variations may include but are not limited to image flipping, contrast and brightness modifying.
Describe the feature you'd like
Implement the YOLOv2 loss function.
Additional context
Explained here.
Describe the feature you'd like
Document your modules.
Describe the feature you'd like
Fetch the downloaded image and label data in the python AI notebook.
Describe the feature you'd like
Implement compile and fit methods for the model with their respective required inputs and metric calculators.
Describe the feature you'd like
Create continuous integration for the client, which should lint all the code, build the project and run all the tests.
Describe the feature you'd like
Design a schematic to decode a BCD number (seconds until traffic light changes) with a BCD to 7-Seg Decoder and wire it with the LEDs to create the display.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.