Coyotes are some of America’s most invasive animals. In part because of coyotes, the population of sheep in America has declined from 50 million in 1950 to 5 million today. They not only cause millions of dollars of damage to farms, but also terrorize and pose a significant risk many suburbs.
Currently, the only solution to the problem is through killing coyotes. Last year the government killed 800,000 coyotes through aerial gunning and poison, costing tax payers millions. This solution is not effective, because coyotes simply repopulate the next year.
What it does
Coyotes use their howls and yipping to create a kind of census of coyote populations. If their howls are not answered by other packs, it triggers an autogenic response that produces large litters. HOWL uses machine learning to detect specific coyote howls, and then plays a repulsive or attractive coyote howl in response. This both pushes coyotes out of designated areas and triggers their autogenic response to have less pups. HOWL has the potential to replace an outdated, ineffective, and cruel population reduction tactic while also saving both farmers and tax payers millions of dollars.
How I built it
A support vector machine was trained on a dataset of coyote howl spectrograms. To generate the spectrogram, each audio recording is split into multiple segments, and then a fast Fourier transformation is run on each segment. The spectrogram is the graph of the change of each Fourier-transformed segment (known as a short-time Fourier transformation). The support vector machine achieved a testing accuracy of 98%. All processes are run onboard and in real time on a raspberry pi zero, equipped with a stereo speaker and microphone system. The PyAudioAnalysis library, as well as Numpy and Sci-Kit Learn, were used for audio preprocessing. Numpy and Sci-Kit Learn were also used to create the SVM. Numerous libraries were used to interface between the microphone and speakers and the raspberry pi. All coyote audio data is curtesy of the Macaulay Library at the Cornell Lab of Ornithology.
Challenges I ran into
Getting the classification model running on the raspberry pi was very challenging. I had to implement many of the algorithms myself used to avoid the installation of large libraries meant for GPU's. Installing the necessary drivers for the microphones and speakers was also a challenge.
Accomplishments that I'm proud of
Up until a couple hours ago, I was certain I would not be able to finish this project. I am proud I got everything up and running.
What I learned
Previous to NYUHacks, I never did much audio processing. I find it fascinating how much information can be retrieved from an audio signal, specifically by applying Fourier transformations.
What's next for HOWL
I would like to upgrade the current unit with better hardware (ie: a plastic case and a better microphone), as well as test it in the wild.