A research and development platform for the University of Michigan's Autonomous Robotic Vehicle (UMARV) Computer Vision team to solve the understanding of a road scene.
The models folder hosts all of our machine learning solutions, while the algorithms folder hosts our hard coded solutions. Each model/algorithm is seperated into its own folder and has its own unique ID.
The src/scripts/
folder hosts our scripts which provide varrying functionalities from model/algorithm initialization, performance comparison, and dataset generation. To run them, right click on the script and select "Run Python File in Terminal".
Video Tutorial Coming Soon!!
- Have git installed on your computer.
- Have Python installed on your computer.
- Request access to the ScenePerception GitHub repository from a team lead.
- You must accept the invitation to the GitHub repository.
- Setup the repository on your local machine.
- On your Desktop, right click and select 'Open In Terminal'.
mkdir UMARV
cd UMARV
mkdir ScenePerception
cd ScenePerception
git clone https://github.com/umigv/UMARV-CV-ScenePerception.git
cd UMARV-CV-ScenePerception
- IMPORTANT: Replace your branch name in the end of the next 2 commands.
- your_branch_name = "user/{your_name_with_no_spaces}"
- Ex: Branch name for Awrod Haghi-Tabrizi = user/AwrodHaghiTabrizi
git checkout -b {your_branch_name}
git push -u origin {your_branch_name}
- Open the project in VSCode.
- Open VSCode.
- Click File > Open Folder.
- Open the
UMARV-CV-ScenePerception
folder.- Common mistake: Opening the
UMARV
folder or theScenePerception
folder. - IMPORTANT: Keep your working directory as
UMARV-CV-ScenePerception
when running scripts and notebooks.
- Common mistake: Opening the
- Before starting development, install the following Python libraries on your machine / virtual environment either manually or with
pip install -r requirements.txt
.
Before creating your first model its suggested that you create one copy of the model_template and use one of the notebooks to train a small model. Here are the instructions on how to do this:
- Follow this tutorial for creating a DropBox developer app: Tutorial
- Run
src/scripts/create_copy_of_model.py
and when asked for a unique identifier, inputtemplate
. - Notice the new model folder that was created in
/models/
and briefly look through thearchitecture.py
,dataset.py
, andmethods.py
. An explanation of each of these files can be found here. - Select a notebook you want to work with in the
notebooks
directory. It's recommended that you try thecolab_env
first as it is the most common one we will use. Visit this link to understand how to use it. - Verify your notebook is running on a T4 GPU. This can be found in the top right of the screen just left of the Gemini AI logo.
- Run each cell of the notebook and train a template model. Keep the epochs under 10 at first so that the training doesn't take too long. Then make sure you were able to visualize the model output in the notebook (it is expected to have very bad performance at first).
- Full freedom to create/delete/edit code in your model/algorithm folder.
- Dont change any code in:
- model/algorithm folders that dont belong to you (you can tell by the author name in the content/info.json or just by the model id itself).
src/scripts/
(unless making global updates).- model_template/algorithm_tempalte (unless making global updates).
- Work in your own branch. Pull before every work session. Push after every work session.
This repository allows development flexability to work in multiple environments, including: - Windows - Mac - Google Colab - Working with Google Colab - LambdaLabs - Working with LambdaLabs - Jetson (coming soon)
- Navigate to
src/scripts
. - Right click on either
create_model.py
orcreate_copy_of_model.py
create_model.py
creates a new model from the templatecreate_copy_of_model.py
creates a copy of a model using its model id
- Click "Run Python File in Terminal" OR run
python3 src/scripts/create_copy_of_model.py
in your terminal - Answer the prompts in the terminal. When it asks for the model ID, include only the unique identifier of the model you want, do not include model_.
- Go through Working With Models
This leaderboard showcases the top performing segmentation models developed by UMARV members based on the average accuracy of the model during testing. Once you have developed a PyTorch model that has higher accuracy, you are free to add your model to the leaderboard by editing the main branch README.md. Still keep the model folder in your personal branch only.
# | Name | Accuracy | Other Metrics | Creators | Git Branch Name |
---|---|---|---|---|---|
1 | 32mw3qk4 | 0.2390 | Mean IoU: 0.1083; Mean Dice Coeffecient: 0.1872 |
Awrod | Main |
- Navigate to src/scripts
- Right click on either "create_new_algorithm.py" or "create_copy_of_algorithm.py"
- Click "Run Python File in Termainl"
- Answer the prompts in the terminal
- Go through Working With Algorithms