Wild Salmon Migration Monitoring
The project monitors wild salmon migration to ensure the number passing through meets state regulations, addressing threats from human activities like fisheries and dams.
Trout are freshwater members of the salmon family, prized for their vivid colours and markings. The Westslope Cutthroat Trout — named for the red-orange slash under its jaw — is native to the cold, clear streams of British Columbia and the northwestern US, and because it is so sensitive to water quality, its health is a barometer for the whole stream.
Every cutthroat carries something remarkable: a pattern of black spots as unique as a fingerprint, and stable for life. Together with Lumax AI, we built a system that reads those spot patterns to recognise individual trout from a photo — no tags, no handling, no stress to the fish.
A photo is straightened and cut out, the trout’s unique spots become keypoints,
and those keypoints are matched against a database of known fish.
A native species in cold, clear water, the Westslope Cutthroat is woven through the health of its whole stream.
Both predator and prey — it eats insects and smaller fish, and in turn feeds birds, bears and larger fish, helping keep the web in balance.
Sensitive to water quality and habitat, healthy cutthroat populations signal a healthy stream — and warn early when something is wrong.
It anchors recreational fishing and local economies, cycles nutrients, and its spawning even helps shape the streambed for other species.
In many areas the Westslope Cutthroat is a species of concern, with populations in decline. Tap each pressure to learn more.
Urban development, farming and logging strip away the streamside habitat and clean water these trout depend on.
Dams, roads and other barriers cut populations off from one another, blocking migration and eroding genetic diversity.
Runoff from farms, industry and towns degrades the water quality these sensitive fish need.
Introduced brook and rainbow trout compete with, hybridise with, and prey on the native cutthroat.
Shifting temperatures and flows warm and reshape the cold, clear streams cutthroat rely on to spawn.
Heavy or unsustainable fishing pressure thins local populations and their genetic diversity.
Recognising a trout takes two steps: prepare the photo, then match the spots.
Each raw photo is normalized — the fish is cut out from its background and straightened into a standard pose — and its unique spots are extracted as keypoints. Getting this right is what makes the later matching accurate.
The keypoints from a new photo are compared against a database of known trout. A strong enough match returns that individual — and its PIT tag and name; a weak match means it is a fish we have not seen before, ready to be registered.
Reading a trout by its spots turns population monitoring into something fast, repeatable and completely non-invasive — gathering the data researchers need without ever disturbing the fish or their habitat. As pressure on freshwater ecosystems grows, methods like this help track individual trout over time and target conservation where it matters most.
See the model in action right in your browser — try it on the built-in examples or your own data. No install, no setup.
Open the demoWe build conservation technology with partners in the field. Tell us what you're monitoring and we'll tell you what's possible.
Reading the spot patterns on trout to identify individual fish — a non-invasive way to monitor populations.
Classifying and counting wild salmon from underwater camera streams as they migrate back to spawn.
Facial recognition that tells individual bears apart from photos — tracking British Columbia's black bear population over time.