Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Koala recognizer mark 3 #500

Open
towsey opened this issue Jun 17, 2021 · 1 comment
Open

Koala recognizer mark 3 #500

towsey opened this issue Jun 17, 2021 · 1 comment
Assignees

Comments

@towsey
Copy link
Contributor

towsey commented Jun 17, 2021

Koala recognizer mark 3.

Proposal:

To create a specific recognizer for the male koala bellow.
This is at the request of Paul Roe.

@atruskie
Copy link
Member

We're going to be trialing a incorporating datasets into new recognisers so that future code changes don't break current recognisers.

The details are still in flux, so there may be some difficulty getting this right the first time.

What you can do though is ensure you keep an accurate list of segments used to train and test your recogniser. They will be incorporated int an egret specification when this recogniser is merged in.

towsey added a commit that referenced this issue Jun 24, 2021
towsey added a commit that referenced this issue Jun 24, 2021
Issue #500 The test has not yet been run because cannot get VS2022 to run it yet.
towsey added a commit that referenced this issue Jun 28, 2021
Issue #500  Changed signature of Oscillations2012.Execute():
1: changed order of the arguments to make them consistent across various execute() calls.
2: Inserted two new arguments min and maxOscillationFrequency
3: Convert min and maxOscillFrequency from int to double?
towsey added a commit that referenced this issue Jun 28, 2021
Issue #500 Add white line to top of plot to delineate it from any plot above.
towsey added a commit that referenced this issue Jun 28, 2021
…on2012

Issue #500
Two other methods impacted by change to method signature of Oscillation2012 and change of min/maxOscFreq from int to double?
towsey added a commit that referenced this issue Jun 28, 2021
Issue #500:
Shift Min and MaxOscillationFrequency properties from DctParameters to OscillParameters. These two are properties of an oscillation and not of a DCT.
towsey added a commit that referenced this issue Jun 28, 2021
Issue #500
1: Add the OscillationRate readonly property
2: Refactor the algorithm by which the oscillation rate/periodicity of an OscillationEvent is calculated. It was not working for some events. Also add in a sanity check incase the calculation produces badly erroneous result.
towsey added a commit that referenced this issue Jun 28, 2021
Issue #500
1: Previously changed the return tuple for Oscillations2012.GetComponentsWithOscillations() and had to update the GenericRecognizer accordingly.
towsey added a commit that referenced this issue Jun 28, 2021
Issue #500:
1: Set up new Koala mark3 call recognizer and associated test file.
2: Remove previous test file that was no longer needed.
3: Set up new config file for the test recording.
4: The test recording is temporary - just to get started.
towsey added a commit that referenced this issue Jun 29, 2021
Issue #500 Get the debug spectrogram image working with an overlay of the DCT hits. THis is useful for the Oscillation2012 algorithm.
towsey added a commit that referenced this issue Jun 29, 2021
Issue #500 Make two Oscillation algorithms available for the GenericRecognizer. These are implemented by the Oscillations2012 and Oscillations2019 classes.
towsey added a commit that referenced this issue Jun 29, 2021
Issue #500 Move the ConvertOscillationScores2Events() method because it is used by both the Oscillations2012 and 2019 algorithms.
towsey added a commit that referenced this issue Jun 29, 2021
Issue #500 Add Algorithm property to the Koala config Profile because it is now up to the user to determine which of the two Oscillation algorithms to use.
towsey added a commit that referenced this issue Jun 29, 2021
Issue #500
1: Make adjustments to the start and end of wingbeat events. THis is necessary due to changes in the way the beginning and end of oscillations events are calculated.
2: Make a debug spectrogram image available so user can see what is happening.
towsey added a commit that referenced this issue Jul 1, 2021
Issue #500 Create a new class  to contain DCT methods. Shift across methods from MFCCStuff.cs. Make this a static class but it could/should eventually be used to contain the parameters required to perform the DCT.

A bunch of other methods where affected by this shift of DCT methods.
towsey added a commit that referenced this issue Jul 1, 2021
Issue #500 Deleted some long commented sections from this class. It should eventually be removed. It was the first attempt at writing methods to detect oscillations in spectrograms. It is still being called by some very early recognizers.
towsey added a commit that referenced this issue Jul 1, 2021
Issue #500 Add in some debug comments to make it easier to see what is happening with event creation.
towsey added a commit that referenced this issue Jul 1, 2021
…tions2012 adn Oscillations2019.

Issue #500 Add extensive summary notes on the two oscillation algorithms, Oscillations2012 and Oscillations2019.
towsey added a commit that referenced this issue Jul 1, 2021
towsey added a commit that referenced this issue Jul 5, 2021
Issue #500 Remove the long unmaintained Oscillations2010 class. It s functionality is now replaced by Oscillations2019. The dependency class OscillationRecognizer was also deleted. The remaining dependency, EPR (Event Pattern recognition) class has ben refactored to use the class Oscillations2019. There is still much more work to be done on the EPR class to make it useable in todays AP environment.  The EPR class was originally developed to recognize the Eastern Ground Parrot using recordings from the Sunshine Coast.
towsey added a commit that referenced this issue Jul 5, 2021
Issue #500 ... because it has been replaced by EPR.fs which also has a passing unit test.
towsey added a commit that referenced this issue Jul 5, 2021
Issue #500 Also add comments to the debug log to help user understand how the parameters settings are working.
towsey added a commit that referenced this issue Jul 5, 2021
Issue #500 Adjust unit tests to accommodate changes in the way oscillation boundaries are calculated.
towsey added a commit that referenced this issue Sep 7, 2021
issue #500 correct the units of OscillationEvent debug output
towsey added a commit that referenced this issue Sep 7, 2021
Issue #500
 Log10 of 10 = 1.0. No need for the deleted portion.
towsey added a commit that referenced this issue Sep 7, 2021
Issue #500 Remove an unused constant.
towsey added a commit that referenced this issue Sep 8, 2021
Issue #500
I have removed the event post processing code into a separate method. This enables a call to post processing independently of the previous profile event detection.
This is useful for non-generic call recognizers. In particular, it is useful for the Koala3 call recognizer where I wanted to filter the  Koala profile events on features that are specific to the koala bellow.
towsey added a commit that referenced this issue Sep 8, 2021
Issue #500 The calculation of event statistics was refactored in order to be able to access this functionality from within the KoalaMark3 recognizer.
Can now calculate event statistics by supplying the decibel spectrogram rather than the recording.
This required the separation out of the code which calculates the statistics from the code which converts the recording into a spectrogram.
Have added another statistical property, a count of the number of spectral peaks in the spectral profile of the event.
towsey added a commit that referenced this issue Nov 2, 2021
Issue #500
Add more feed back to user on what is happening during the three processing steps so user can see what effect changes have during the processing.
Three processing steps are:
1: Detection of events using profiles.
2: Filter profile events using custom code for recogniser.
3: Do postprocessing.
towsey added a commit that referenced this issue Nov 3, 2021
Issue #500 Update comments to describe how the recognizer works and why parameter values were chosen etc.
Also comment out the second step (filtering of the profile events prior to post-processing) because it did not help with Koala calls but is likely to be useful for other recognizers.
towsey added a commit that referenced this issue Nov 3, 2021
Issue #500 Edit the config file and construct new unit test for Koala calls. The unit test checks the three levels of returned events.
towsey added a commit that referenced this issue Nov 3, 2021
Issue #500 Comment out code to write debug image. Not required for normal usage.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants