axiom-data-science / orcacnn Goto Github PK
View Code? Open in Web Editor NEWDetect Orca in passive acoustic datasets
License: MIT License
Detect Orca in passive acoustic datasets
License: MIT License
For every uploaded audio file, display its corresponding spectrogram wave on the homepage to better assist in detecting orca calls through visual as well as auditory means.
Something close to OrcaAL comes to mind.
This would be the best time to decide on the chunkSize since we'll be starting with the development of detection and classification model soon, so it's better to take a proper decision for this.
First of all, let me show the difference between the chunkSizes of 1s
, 2s
and 3s
:
Keeping in mind the further classification and template matching/extraction methods:
1s
chunks than in the other 2s
and 3s
chunks. Since they won't overlap, the calls for further classification models can be directly taken as the whole spectrogram without any template extraction process.Template Matching also works out well for 1s chunks as I just tried, we can just loop over the 1s directory with the template for the given pod.
So, is it a go for 1s chunks? @yosoyjay
I would like to know if you have any ideas, criticism or suggestions.
Hi
I am trying to normalize the data that we have but I see that there is no significant change in the output waveform.
Do we need to consider this for pre-processing our data? or is it enough to just have all the samples downsampled to a particular sampling frequency and a fixed length?
def audio_norm(data):
max_data = np.max(data)
min_data = np.min(data)
data = (data-min_data)/(max_data-min_data+1e-6)
return data-0.5
Ensure that data is available in CoLab as soon as it is delivered.
The goal here is to develop the killer whale detection model trained on passive acoustic data from SE Alaska and, perhaps, augmented with data from other sources.
The goal is to build and develop a model that can identify the pod from which the killer whale called originated from a given sample call.
Currently, there are 4 models uploaded to help in the prediction of orca calls. Some of these are checkpoint
models which were saved while training during the GSoC period.
The 4 models offer different accuracy or number of predicted 1-second calls for the same unsampled acoustic data. Unfortunately, at this point, there is no one
model for all.
The idea here is to average the predictions from the base models so that we can be more accurate about the predicted orca calls and their duration of occurrence in the acoustic/input data.
Since the autonomous recordings or the input data is divided into 1-second chunks, this makes the whole process easier. For eg., if 3 of the 4 base models predict that there is an orca call at the 37th second of the input data, we consider that there is a high probability of an orca call at that time. To generalize this observation, we consider with high confidence the presence of an orca call only if two or more of the base models predict it.
Tossing all the predictions this way to a .csv
file seems like a good idea at this point in time. In addition, there can be 2 sections in the csv
file
The primary job of this tool is to detect orca in passive acoustic datasets comprised of a pipeline consisting of stages to: 1) preprocess and standardize input data, 2) apply a model to identify the presence of orca within the dataset, 3) apply additional models to extract additional information about the orca call including signal type and pod, and 4) create a summary of the results of the pipeline indicating presence of orca along with time and any additional information.
The issue here is to develop and evaluate models for stage 2 of the pipeline. Different model designs will be described and applied on the dataset developed in #1.
The primary job of this tool is to detect orca in passive acoustic datasets comprised of a pipeline consisting of stages to: 1) preprocess and standardize input data, 2) apply a model to identify the presence of orca within the dataset, 3) apply additional models to extract additional information about the orca call including signal type and pod, and 4) create a summary of the results of the pipeline indicating presence of orca along with time and any additional information.
The issue here is to develop a tool that summarizes what was learned in #3 to create stage 4 of the pipeline. The output should encapsulate all of the information extracted from the pipeline and output in formats amenable for humans (html?) and apis (json?).
This issue brings up the common problem of standardization of the real-world orca samples fed before the pre-processing stage in our model pipeline.
While developing the pipeline, it was found that the longer autonomous recordings required manual changes in sensitivity and loudness. Being a time-consuming task, it needs to be automated.
The goal here is to develop the code to prepare the data for model development. Existing methods have been prototyped before the start of the project and will form the basis of the methods.
Please credit MBARI in this source code if their sound data was used in conjunction with Dan Olsen's data for validating model performance. This is per the collaboration agreement you have in place with them. Thank you!
if len(data) > input_length:
max_offset = len(data) - input_length
offset = np.random.randint(max_offset)
data = data[offset:(input_length + offset)]
The case when input length is less than the actual data, in that case, wouldn't downsampling be better than chopping the data? Either downsampling the signal through averaging or skipping elements.
let n = length of actual data
let m = expected length
so an average of the signal for every n/m element occurs like below to make the array of size m
def average(arr, l = n/m):
end = l * int(len(arr)/l)
return numpy.mean(arr[:end].reshape(-1, l), 1)
And then pad some constant for remaining values if n/m is not an integer ?
The primary job of this tool is to detect orca in passive acoustic datasets comprised of a pipeline consisting of stages to: 1) preprocess and standardize input data, 2) apply a model to identify the presence of orca within the dataset, 3) apply additional models to extract additional information about the orca call including signal type and pod, and 4) create a summary of the results of the pipeline indicating presence of orca along with time and any additional information.
The issue here is to develop part 1 of the pipeline to develop both the format of the standardized data and the tool to create such a dataset.
The primary job of this tool is to detect orca in passive acoustic datasets comprised of a pipeline consisting of stages to: 1) preprocess and standardize input data, 2) apply a model to identify the presence of orca within the dataset, 3) apply additional models to extract additional information about the orca call including signal type and pod, and 4) create a summary of the results of the pipeline indicating presence of orca along with time and any additional information.
The issue here is to apply the model(s) developed in #2 to create stage 2 of the pipeline.
Noticed that to be consistent with the surrounding explanation that 67391498.180916010013 should be instead 67391498.180916010313. Then it is consistent with the subsequently stated time of 1:03 am (and 13 seconds).
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.