Skip to content

jpfleischer/chocolatechip

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

552 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🍪 chocolatechip

⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡴⠚⣉⡙⠲⠦⠤⠤⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢀⣴⠛⠉⠉⠀⣾⣷⣿⡆⠀⠀⠀⠐⠛⠿⢟⡲⢦⡀⠀⠀⠀⠀
⠀⠀⠀⠀⣠⢞⣭⠎⠀⠀⠀⠀⠘⠛⠛⠀⠀⢀⡀⠀⠀⠀⠀⠈⠓⠿⣄⠀⠀⠀
⠀⠀⠀⡜⣱⠋⠀⠀⣠⣤⢄⠀⠀⠀⠀⠀⠀⣿⡟⣆⠀⠀⠀⠀⠀⠀⠻⢷⡄⠀
⠀⢀⣜⠜⠁⠀⠀⠀⢿⣿⣷⣵⠀⠀⠀⠀⠀⠿⠿⠿⠀⠀⣴⣶⣦⡀⠀⠰⣹⡆
⢀⡞⠆⠀⣀⡀⠀⠀⠘⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣶⠇⠀⢠⢻⡇
⢸⠃⠘⣾⣏⡇⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⣠⣤⣤⡉⠁⠀⠀⠈⠫⣧
⡸⡄⠀⠘⠟⠀⠀⠀⠀⠀⠀⣰⣿⣟⢧⠀⠀⠀⠀⠰⡿⣿⣿⢿⠀⠀⣰⣷⢡⢸
⣿⡇⠀⠀⠀⣰⣿⡻⡆⠀⠀⠻⣿⣿⣟⠀⠀⠀⠀⠀⠉⠉⠉⠀⠀⠘⢿⡿⣸⡞
⠹⣽⣤⣤⣤⣹⣿⡿⠇⠀⠀⠀⠀⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡔⣽⠀
⠀⠙⢻⡙⠟⣹⠟⢷⣶⣄⢀⣴⣶⣄⠀⠀⠀⠀⠀⢀⣤⡦⣄⠀⠀⢠⣾⢸⠏⠀
⠀⠀⠘⠀⠀⠀⠀⠀⠈⢷⢼⣿⡿⡽⠀⠀⠀⠀⠀⠸⣿⣿⣾⠀⣼⡿⣣⠟⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢠⡾⣆⠑⠋⠀⢀⣀⠀⠀⠀⠀⠈⠈⢁⣴⢫⡿⠁⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⣧⣄⡄⠴⣿⣶⣿⢀⣤⠶⣞⣋⣩⣵⠏⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢺⣿⢯⣭⣭⣯⣯⣥⡵⠿⠟⠛⠉⠉⠀⠀⠀⠀⠀⠀⠀

This python package makes computing at the MALTLab easier. its delicious

Installation

Please ensure your ssh key is set up with GitHub. if not, do ssh-keygen, and then once done, do

cat ~/.ssh/id_rsa.pub

and take that key and put it into your github settings new SSH key.

git clone git@github.com:jpfleischer/chocolatechip.git
cd chocolatechip
make pip

The make pip makes sure that you are in a Python virtual environment. It tells you how to make one if you aren't in one. In any case, make is required-- if you are on Windows, and you don't have make, follow https://github.com/cybertraining-dsc/reu2022/blob/main/project/windows-configuration.md#install-chocolatey then choco install make -y

For some of the functionalities, chocolatechip needs to connect to a MySQL database specifically configured for the near miss pipeline. You need to create a login.env.

nano src/chocolatechip/login.env
# 
# it looks like this
#
host=FillMeOut
user=FillMeOut
passwd=FillMeOut
db=FillMeOut
testdb=FillMeOut
port=FillMeOut
SSH_USER=FillMeOut
#
# you have to ask someone in the lab for the actual credentials.
#

Use

You can use chip now. Try it now!

Generally this is meant for use in a data pipeline that analyses videos from signalized intersections. If you would like to add a new intersection to analyse, you need footage from that intersection.

Take one video that you have saved from that intersection, and take a snapshot (if you can, get one snapshot with no vehicles in sight). Then, you get a top-down Google Maps view of that same intersection. This way, you can rectify the fisheye distortion of the videos using thin-plate spline. This can be done in the src/chocolatechip/lanes folder.

chip fastmot will benchmark fastmot for you

Memory Usage - NVIDIA TITAN RTX #1
 1076.00  ┼
  923.14  ┤           ╭──────────────────
  770.29  ┤           │
  617.43  ┤           │
  464.57  ┤          ╭╯
  311.71  ┤      ╭───╯
  158.86  ┤   ╭──╯
    6.00  ┼───╯
Wattage - NVIDIA TITAN RTX #1
   71.59  ┤                            ╭╮
   63.57  ┤   ╭────────────────────────╯╰
   55.54  ┤   │
   47.52  ┤   │
   39.49  ┤   │
   31.47  ┤   │
   23.44  ┼───╯
   15.42  ┤
Temperature - NVIDIA TITAN RTX #1
   36.00  ┤                       ╭──────
   35.33  ┤                       │
   34.67  ┤              ╭────────╯
   34.00  ┤     ╭────────╯
   33.33  ┤   ╭─╯
   32.67  ┤   │
   32.00  ┼───╯
Fan Speed - NVIDIA TITAN RTX #1
   41.00  ┼╮╭╮╭─╮╭──╮╭────╮╭─────────────
   40.83  ┤││││ ││  ││    ││
   40.67  ┤││││ ││  ││    ││
   40.50  ┤││││ ││  ││    ││
   40.33  ┤││││ ││  ││    ││
   40.17  ┤││││ ││  ││    ││
   40.00  ┤╰╯╰╯ ╰╯  ╰╯    ╰╯
1280x960

stream.py does mem usage over time for num streams, not resolution related. jsut change the parameter to gpu plotter.

Miscellaneous Notes

This may be necessary

git config --global core.longpaths true

Wonderful cure to the problem of rewriting history but, did you think you had to reclone all clones of the repo? No, you can do this:

# 0) Make a safety branch and stash everything (including new files)
git switch -c backup-pre-rewrite
git stash push -u -m "WIP before resetting to rewritten history"

# 1) Sync and reset your main to the rewritten remote
git fetch --all --prune --tags
git switch main
git reset --hard origin/main

# 2) Reapply your work as unstaged changes
git stash pop
# resolve any conflicts, then continue working

About

Computational Hub for Object Classification, Object Learning, Analytics, Tracking, and Evaluation with Containerized Hybrid Integration Pipelines

Topics

Resources

License

Stars

2 stars

Watchers

4 watching

Forks

Packages

 
 
 

Contributors

Languages