Class BirdClefExperiment1
This class is experimental work on the Bird50 dataset provided by Herve Glotin.
The work was started in Toulon (February 2016) and continued after my return in March 2016.
The bird50 dataset is a randomly selected subset of the 2014 BirdClef 500 data set.
The 2014 competition was won by Dan Stowell (QMUL).
The 2015 competition containing 999 bird call recordings was won by Mario Lessek (Berlin)
This class prepares species representations of bird calls by summing or averaging the instance representations.
The representation consists of the concatenation of a set of spectra.
There are currently five spectra derived from the spectra indices: SPT, RHZ, RVT, RPS and RNG.
Each spectrum can be reduced from 256 values to say 160 by max pooling the top end of the spctrum.
NOTE: MEL-scale DOES NOT work for birds because the dominant activity for birds is around 2-4 kHz.
The MEL-scale effectively obliterates this band of the spectrum.
Inheritance
BirdClefExperiment1
Assembly: AudioAnalysisTools.dll
public static class BirdClefExperiment1
Methods
|
Improve this Doc
View Source
Produce a CONFUSION MATRIX and a RANK ORDER MATRIX.
Declaration
public static void CalculateAccuracy(BirdClefExperiment1.Arguments arguments, BirdClefExperiment1.Output output)
Parameters
|
Improve this Doc
View Source
This done using Cosine similarity. Could also use Euclidian distance.
Declaration
public static void CalculateSimilarityScores(BirdClefExperiment1.Arguments arguments, BirdClefExperiment1.Output output)
Parameters
|
Improve this Doc
View Source
Construct datasets for WEKA machine learning.
Declaration
public static void ConstructWekaDatasets(BirdClefExperiment1.Arguments arguments, BirdClefExperiment1.Output output)
Parameters
|
Improve this Doc
View Source
Declaration
public static void DrawSpeciesImages(BirdClefExperiment1.Arguments arguments, BirdClefExperiment1.Output output)
Parameters
|
Improve this Doc
View Source
Declaration
public static void Execute(BirdClefExperiment1.Arguments arguments)
Parameters
|
Improve this Doc
View Source
Declaration
public static double[, ] ExoticMaxPoolingMatrixColumns(double[, ] matrix, int reducedColCount)
Parameters
Type |
Name |
Description |
Double[,] |
matrix |
|
Int32 |
reducedColCount |
|
Returns
|
Improve this Doc
View Source
Declaration
public static BirdClefExperiment1.Output GetInstanceRepresentations(BirdClefExperiment1.Arguments arguments)
Parameters
Returns
|
Improve this Doc
View Source
Declaration
public static void GetSpeciesRepresentations(BirdClefExperiment1.Arguments arguments, BirdClefExperiment1.Output output)
Parameters
|
Improve this Doc
View Source
reduces the dimensionality of a vector by max pooling.
Used specifically for representation of spectral frames in Herve Glotin work.
Declaration
public static double[] MaxPoolingLimited(double[] vector, int startBin, int maxOf2Bin, int maxOf3Bin, int endBin)
Parameters
Returns
|
Improve this Doc
View Source
Declaration
public static double[, ] MaxPoolingLimited(double[, ] M, int startBin, int maxOf2Bin, int maxOf3Bin, int endBin, int reducedBinCount)
Parameters
Returns
|
Improve this Doc
View Source
Declaration
public static double[, ] MaxPoolMatrixColumns(double[, ] matrix, int reducedColCount)
Parameters
Type |
Name |
Description |
Double[,] |
matrix |
|
Int32 |
reducedColCount |
|
Returns
|
Improve this Doc
View Source
Declaration
public static double[, ] MaxPoolMatrixColumnsByFactor(double[, ] matrix, int factor)
Parameters
Returns
|
Improve this Doc
View Source
Normalisation and Concatentation of spectra:
can be done in three ways ie (i) Unit length (ii) Unit Area (iii) Unit bounds i.e. 0,1.
Declaration
public static void Normalise(BirdClefExperiment1.Arguments arguments, BirdClefExperiment1.Output output)
Parameters
|
Improve this Doc
View Source
Normalises the parts of a concatenated vector separately.
Finally does a unit length norm in prepration for a dot product to give cosine similairty.
Declaration
public static double[] NormaliseVector(double[] ipVector, double[] weights)
Parameters
Returns
|
Improve this Doc
View Source
Declaration
public static void ReadGlotinsSpeciesLabelFile(string speciesLabelsFile, int count, out string[] fileID, out int[] speciesID)
Parameters
|
Improve this Doc
View Source
Declaration
public static double[, ] ReduceMatrixColumns(double[, ] matrix, int minBin, int maxBin)
Parameters
Returns
|
Improve this Doc
View Source
Declaration
public static void WriteDataTODOTODOTODOTODO()