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

Species filter too restrictive? #55

Closed
miboka opened this issue Aug 28, 2022 · 7 comments
Closed

Species filter too restrictive? #55

miboka opened this issue Aug 28, 2022 · 7 comments
Labels
feedback: discussion Discussions about details

Comments

@miboka
Copy link

miboka commented Aug 28, 2022

Hi all,
I have been a fairly extensive user of the birdnet algorithms, first the lite version and now 2.1 and 2.2. It is fantastic work by the team of developers.

I noticed that the the species filter of version 2.1 and 2.2 is too restrictive in southern Germany.

Entering -lat, -lon and -week is way too restrictive for several of my recording sessions, excluding several bird species from the analysis which do in fact occur in the area and are present in the recordings. Even the least restrictive species filter using -lat -lon and -sf_thresh 0.01 still excluded some species from the analysis that do in fact occur in the area and in the recordings (prominently, the Eagle Owl), while at the same time including many extreme rarities.

Takeaway for me: It may be quite important to check the effectiveness of the species filter with species.py before analyzing large datasets. Did other users encounter this behavior before?

It is easy to get around this issue by using a manually compiled species list with the -slist option, starting from the resulting list of species.py and then manually add the species that might actually occur (or remove those that are not relevant).

cheers, Michael

@Andx667 Andx667 added the feedback: discussion Discussions about details label Mar 1, 2023
@bartman081523
Copy link
Contributor

I observed the same behaviour. What stands out for me is that humans ("Human vocal") are disappearing, if I use "--lat x --long y".

@bartman081523
Copy link
Contributor

bartman081523 commented Apr 19, 2023

i fixed this with my PR #100; you can set sf_thresh as low as 0.0001 to adress the full species list granually with sf_thresh

@miboka can you try to find a good sf_thresh value with my patch, and write your found sf_thresh here?
git clone --depth 1 https://github.com/bartman081523/BirdNET-Analyzer -b patch-4 birdnet-analyzer-bartman
find my patch in folder birdnet-analyzer-bartman

@kahst
Copy link
Owner

kahst commented Apr 19, 2023

It's always challenging to fine-tune the species filter to not include too many species that do not occur at a certain location. We're using eBird to condense a model that can do that. We use mAP and F1 score to evaluate the performance (aka how good it mimics eBird) and the current metadata model for V2.3 has a mAP of ~0.96 and F1 of ~0.83 which is pretty close to eBird. That means, we're ranking species according to eBird and we're not missing too many of them either. Yet, if you have a specific location and are missing a species, let us know the lat and lon and species so that we can investigate.

@simonlinke
Copy link

Hi Stefan - I have a bit of a funny issue regarding the filter

I am missing a few birds, but checked for example for the Bush Thick-knee. It is a bit mysterious though, because it is definitely in the list.
"butkne1": "Burhinus grallarius_Bush Thick-knee"

Despite being one of the most common birds in our region it is definitely not in the species list, nor in other lists of the region
python species.py --o C:\Trans\Karra\species_list.txt --lat -27.639092 --lon 153.378667 --threshold 0.03

This is despite it being recognised as very much present on eBird
https://ebird.org/species/butkne1/L2558327

Now it gets really strange - it actually gets detected - maybe by a previous BirdNet version?
image

Any pointers or is it just a mistake in the DB?
Gruss aus Australien, Simon

@Josef-Haupt
Copy link
Collaborator

image
Bush Thick-knee is part of BirdNET. It is possible that the generated species list might not be 100% accurate for the reasons Stefan listed.
You can always use the full species list when analysing. The species list is merely a filter for the model output.

@simonlinke
Copy link

simonlinke commented Sep 11, 2023 via email

@btomarkwilson
Copy link

Hi Stefan and all,

I used to use a version of BirdNET Analyzer GUI with no options for users to specify a value for Location Filter Threshold. Can any of you tell me whether this is because no such filter was applied by older versions of the classifier (i.e. all species deemed to be present in an area according to eBird data were deemed to be legitimate possibilities)? If not (i.e. if older versions with no user defined LFT still applied an equivalent threshold behind the scenes), would you be able to say what value this took?

On a related note, is there a way to derive or extract the full eBird Species List for a particular combination of Lat and Long? What would be really handy would be a list like this where the % occurrence was given for each species. This would make it super easy to work out exactly what species would or wouldn't be available for classification outcomes at different values of LFT.

Apologies if any of this information is already available, but I have searched for it without success.

Best wishes,

Mark

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feedback: discussion Discussions about details
Projects
None yet
Development

No branches or pull requests

7 participants