Nachtzuster / BirdNET-Pi

A realtime acoustic bird classification system for the Raspberry Pi 5, 4B 3B+ 0W2 and more. Built on the TFLite version of BirdNET.
https://birdnetpi.com
Other
133 stars 20 forks source link

FEAT proposal : convert species on the fly #57

Closed alexbelgium closed 4 months ago

alexbelgium commented 4 months ago

ISSUE : At least two common birds in my garden are systematically misidentified as another very rare specie, when they perform a call instead of a song. I don't want to exclude those birds however of they would never be recognized as it is a systematic model issue

PROPOSED SOLUTION : This PR proposes the use of an optional user created "convert_species_list.txt" in the format "old sci name_old common name;new sci name_new common name" to avoid this

COMMENT : I've modified code using the management of the exclude_species_list.txt as template to create and init the file. The only specific code written is its usage in the server.py

alexbelgium commented 4 months ago

Hi @Nachtzuster, what do you think ? I'm not really used to python but in theory it should allow to convert on the fly species to correct for model bias - I would love your input if there is a better way to do it :-)

Please let me know if you are not interested as it modifies the server.py and might be due to a very specific usage and I'll just implement it in my addon for my personal usage :-)

Thanks!

alexbelgium commented 4 months ago

not working yet

Nachtzuster commented 4 months ago

@alexbelgium I probably won't be merging this, seems to be fixing an issue in the wrong place

This is really an issue for 'upstream' (BirdNET-Pi is using this model)

alexbelgium commented 4 months ago

@alexbelgium I probably won't be merging this, seems to be fixing an issue in the wrong place

This is really an issue for 'upstream' (BirdNET-Pi is using this model)

Fair enough! Indeed this solution shouldn't exist ;-) I just noticed that systematically I have 3 species that are confused with another (after checking manually the sounds recordings) and given that species are sent to birdweather as soon as they are identified, birdweather is filled with erroneous elements... But indeed it should be corrected at the model level and not at the app. Thanks !