A bird can be hard to identify when you have a photograph but no signal. We are exploring whether a small model can help on a laptop without sending the photo to a server.
The project is called GattyBird. The goal is to choose a photo, get a bird name and useful details, and see when the system is unsure. It is still research. There is no field-ready model to download yet.
A small model and a larger reference
We trained a small image model on bird photos. In one experiment, its first choice matched the label on 83.67% of 1,200 validation photos. A separate experiment using the visual part of BioCLIP 2, a much larger biology model, reached 93.17% on the same validation photos.
The BioCLIP visual checkpoint in that experiment was about 1.22 GB. The smaller model’s compressed graph was 11.88 MiB and reached 82.17% in its own validation check. The graph is only one file. It does not include everything needed to install and run an app.
The experiments used different training settings, so these numbers do not prove which approach will be best in the field. They show the tradeoff we need to investigate: better rankings from the larger reference, and a much smaller file for the laptop target.
What training and validation mean
A model starts with patterns it has learned from images. We then show it bird photos with labels. During training, it makes a guess, checks that guess against the label, and adjusts parts of the model. Repeating this helps it learn the categories in the training set.
Labelled bird photos
|
v
Model makes a guess
|
v
Compare guess with label
|
v
Adjust the model and repeat
Validation uses a separate set of photos to check how the work is going. It helps us choose a model and training settings. It is useful feedback, but there is a catch: once we use the same validation set to make several choices, its score is no longer a clean final exam.
That is the case for the results above. They are useful for research, but they are not a promise that the app will identify birds correctly in a park, in poor light, or with a new camera. We still need independent tests with photos the model and our decisions have not seen.
Why the model needs to say “unsure”
A classifier can rank the labels it knows even when the photo shows a bird outside those labels. It can also produce a high score that has not been checked against real accuracy. A confident-looking number is not automatically a reliable answer.
For now, our research runtime returns an uncertain result. Before an app can give an accepted species name, we need to review the names, measure confidence, and test unfamiliar birds and photos without birds.
The next work
We are working toward a small offline package for Windows, Mac, and Linux. It needs to accept local photos, return a consistent result, and add bird details from a local catalogue. We also need to measure the complete app, including installation size, memory, and photo-to-result time. A fast model file alone cannot answer those questions.
The photos and model files need a rights review too. Our research used CUB-200-2011. Caltech restricts those images to noncommercial research and education, and warns that some overlap with ImageNet. We cannot assume that a research result gives us permission to publish a general-use model.
The next useful milestone is a tested local tool with an honest uncertainty response. After that, independent accuracy and release-rights checks can tell us whether it is ready for other people to use.