-
Notifications
You must be signed in to change notification settings - Fork 12
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
Comments
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. |
Issue #500 The test has not yet been run because cannot get VS2022 to run it yet.
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?
Issue #500 Add white line to top of plot to delineate it from any plot above.
…on2012 Issue #500 Two other methods impacted by change to method signature of Oscillation2012 and change of min/maxOscFreq from int to double?
Issue #500: Shift Min and MaxOscillationFrequency properties from DctParameters to OscillParameters. These two are properties of an oscillation and not of a DCT.
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.
Issue #500 1: Previously changed the return tuple for Oscillations2012.GetComponentsWithOscillations() and had to update the GenericRecognizer accordingly.
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.
Issue #500 Get the debug spectrogram image working with an overlay of the DCT hits. THis is useful for the Oscillation2012 algorithm.
Issue #500 Make two Oscillation algorithms available for the GenericRecognizer. These are implemented by the Oscillations2012 and Oscillations2019 classes.
Issue #500 Move the ConvertOscillationScores2Events() method because it is used by both the Oscillations2012 and 2019 algorithms.
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.
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.
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.
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.
Issue #500 Add in some debug comments to make it easier to see what is happening with event creation.
…tions2012 adn Oscillations2019. Issue #500 Add extensive summary notes on the two oscillation algorithms, Oscillations2012 and Oscillations2019.
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.
Issue #500 ... because it has been replaced by EPR.fs which also has a passing unit test.
Issue #500 Also add comments to the debug log to help user understand how the parameters settings are working.
Issue #500 Adjust unit tests to accommodate changes in the way oscillation boundaries are calculated.
issue #500 correct the units of OscillationEvent debug output
Issue #500 Log10 of 10 = 1.0. No need for the deleted portion.
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.
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.
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.
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.
Issue #500 Edit the config file and construct new unit test for Koala calls. The unit test checks the three levels of returned events.
Issue #500 Comment out code to write debug image. Not required for normal usage.
Koala recognizer mark 3.
Proposal:
To create a specific recognizer for the male koala bellow.
This is at the request of Paul Roe.
The text was updated successfully, but these errors were encountered: