Ownage of ESPI image inference. (Pronounced like "espionage" but with a little "own" in the middle.)
This code repository accompanies the paper submission "espiownage:Tracking Transients in Drum Strikes Using Surveillance Technology" for the NeurIPS 2021 workshop on Machine Learning and the Physical Sciences.
This study consists of 3 models: Two that go together (a bounding box detector that feeds cropped images into an antinode ring-counter) and another complements them (an image sementation code we use for regression by scaling the final activation of a "one-class" model.)
All this documentation is fully executable, either locally or on Colab. This is made possible by nbdev, the development system that enabled us to stay organized and do this project in only 18 days!
These pages and the GitHub repo they are generated from are fully anonymized as are all the links that are used, so they're "safe" for reviewers to explore. Note that there is a "real" espiownage repo and PyPi entry (which is where the pip-installs used in these notebooks will pull from for setup/speed purposes) so don't go searching for that. Pending successful review of the paper, this repository will be redirected to the non-anonymous version.
Ubuntu (& probably other Linuxes):
sudo apt-get install python3-tk
Mac (with Homebrew)
brew install python-tk
Then on all systems, let's set up a virtual environment called espi
.
I like to put my environments in ~/envs
:
mkdir ~/envs; python3 -m venv ~/envs/espi; source ~/envs/espi/bin/activate
And then you want/need to update pip
in case it gave you an ancient version:
python3 -m pip install pip --upgrade
pip install espiownage
Note: the requirements on this package follow a "kitchen sink" approach so that everything a shawley might need gets installed, e.g. jupyter
and more. (And wheel
because it speeds up the installations...I think.)
Take a look at the tabs in the sidebar, which arranged in sections according the tasks of detecting antinodes in steelpan drum oscillations, counting the interference friges, and reporting tracking information so that scientists can better understand the rapid transient dynamics of these instruments -- it is the transients that give the instrument its distinctive sound!
See the separate page on console scripts
You'll want to install more things:
pip install nbdev twine
Fork this repo. When you want to update your repo, one macro does it all (see Makefile
):
make git_update