Chris Collins

Tools · biology

Identify plants, birds and insects

Point your camera (or open a photo) at a plant, bird or insect and get the five most likely species — recognised on your device by Google's AIY Vision classifiers (2,101 plants, 964 birds, 1,021 insects), or rank your own labels with OpenAI's CLIP. Pictures never leave the page.

Added

How to use it

Press Start camera (or open, drop or paste a photo), choose what to identify, and press Identify. The five best matches are listed with how sure the model is, and links to look each one up on Wikipedia and iNaturalist. Tick Keep identifying to re-check the camera every few seconds as you move around.

Use the crop box to focus on one flower, leaf, bird or insect: the models look at a square around it, scaled to 224 × 224 pixels, so a subject that fills the box works best. Plain backgrounds, sharp focus and good light help a lot.

Models

Plants, birds and insects — Google’s AIY Vision classifiers (birds, insects), MobileNet V2 networks trained on photos contributed to iNaturalist (a subset of the iNaturalist 2017 competition dataset, organised by Visipedia). They were made for the AIY Vision Kit’s "Nature Explorer" and are published under the Apache License 2.0. The 8-bit TensorFlow Lite versions are served from this site, unmodified, and run in the page with TensorFlow.js TFLite (Apache-2.0). Each identification takes a few tens of milliseconds. The labels are scientific names, as in the models' own label maps.

Your own labels — OpenAI’s CLIP (ViT-B/32, MIT licence) compares the picture with a list of words and ranks them. Choose a ready-made list (garden plants, trees, mushrooms, dog and cat breeds, everyday things) or type your own. CLIP can only pick from the list you give it, so include a "none of these" style label if you are unsure. It runs in a background worker through transformers.js (Apache-2.0).

What is downloaded

Nothing is downloaded until you use a model, and then only once — the browser caches the files. The picture itself is never sent anywhere.

  • Plants: the model (5.1 MB) and its labels (40 kB) from this site.

  • Birds: 3.6 MB; insects: 3.6 MB, from this site.

  • For any of those, once: the TensorFlow.js core, CPU back end and TFLite runtime (about 5.3 MB including its WebAssembly) from the jsDelivr CDN.

  • Your own labels (CLIP), once: transformers.js and the ONNX Runtime engine (about 23 MB) from jsDelivr, and the 8-bit CLIP model (about 154 MB) from the Hugging Face hub. A GPU (WebGPU) is used when the browser offers one, otherwise the CPU.

The look-up links (Wikipedia, iNaturalist) are ordinary links: nothing is fetched from them unless you click.

How far to trust it

These are small models meant for a phone: treat the answer as a good hint, not a verdict. They know only the species they were trained on — mostly wild North American and European species seen on iNaturalist — so a houseplant, a cultivated variety or a rare species may come back as its closest relative, with high confidence. The percentage is the model’s own score, not a guarantee.

Never eat, touch or use a plant or fungus, or treat a bite or sting, because of an identification here. Many poisonous species look like edible ones. Ask an expert in person.

History

Save to history keeps the result and a small thumbnail in this browser only (localStorage, up to 40 entries). Export CSV downloads them; Clear history removes them.

Presenting

Present (or F) shows the camera or photo full screen with the best match in large type over it — for a nature walk on a tablet or a classroom screen. Space or Enter identifies again; with Keep identifying ticked the label follows the camera. A link with Start automatically turns on live identification; browsers need a click before a page may use the camera, so it shows a "Click to start" button first.

Sharing

Share link copies a URL with the model, the CLIP label list (or your own labels) and whether live identification is on. You can also write one by hand: ?model=birds, ?model=clip&preset=trees, ?model=clip&preset=custom&labels=oak,maple,birch.

Runs entirely in your browser — network requests go only to the services named on this page.