Groth Algorithm not finding matches

What Wildbook are you working in? Leopard Sharks

What is the entire URL out of the browser, exactly where the error occurred? Sharkbook: Wildbook for Sharks

Can you describe what the issue is you’re experiencing? The growth algorithm is not finding matches to sharks. This shark is commonly encountered and we have lots of photos of it but the matches aren’t being found? Why is this? Shark LSBB-144

Can you provide steps on how to reproduce what you’re experiencing? Search for the shark.

If this is a bulk import report, send the spreadsheet to with the email subject line matching your bug report

Hi @drobinson

I am digging into this. Looks like a potential bug somewhere. I cannot guarantee an algorithm will match an individual, but you should be seeing >1 match results with Modified Groth when 1757 potential matches are considered.

More soon…


Hi @drobinson

Continuing to look, the system is performing as designed. Looking at the example above, scores from the Modified Groth did return at the expected number (approx. 1757 potential match patterns), but all the scores except 1were below our minimum reported score value of 2. Examples:

Score: 2.2556390977443606
Score: 1.4151989206140831
Score: 1.1559802712700369
Score: 1.1167633008788245
Score: 0.9103307442657623
Score: 0.5077489698428327
Score: 0.40203478831637673
Score: 0.37198701819640445
Score: 0.3360682638660978
Score: 0.31539218903839844
Score: 0.3019727965576341
Score: 0.3019727965576341
Score: 0.29537249753856254
Score: 0.2697006162710134
Score: 0.2634649746563104
Score: 0.24921248568155782
Score: 0.24519563869744376
Score: 0.23925172300623565
Score: 0.23785631991675027
Score: 0.21164486460737972
Score: 0.2051197899573351
Score: 0.19968639463224302
Score: 0.19968639463224302
Score: 0.19432593078802465
Score: 0.17361339021988842
Score: 0.16686690695501266
Score: 0.1638747268754552

The value of 2 is somewhat arbitrary based on original tunings of this algorithm for whale sharks. But universally for the Modified Groth algorithm it is very low.

So there’s no bug, but there may be something in the process that isn’t generating matched sets of spots and their related triangles in the Modified Groth algorithm.

I’ll keep looking at this and may even explore seeing if the HotSpotter algorithm does a better job matching. With the switch to the consolidated Sharkbook, that algorithm is now available.


Hi Jason,

Thanks for looking into this.

I don’t understand why with 16 encounters of this shark that the scores are not high enough to make a match? I understand the leopards have more spots and we limit it to 50, so personal input/choice is a factor but they just don’t seem to be matching the majority of sharks in Groth. That said, i3s usually doesn’t match on the first shark and it is usually in the top 20.

It would be great to find out why they aren’t matching and maybe HotSpotter will be more successful? If you need us to trial anything, just let me know.

Thank you as always


Hi @drobinson

OK, I think we have a winner with HotSpotter, and by using HotSpotter, we’ll be able to even move forward eventually with the machine learning-based PIE algorithm. HotSpotter is showing excellent matching, clearly identifying duplicate individuals, and overall is much faster. The example you provided above as a HotSpotter match can be viewed here:

And clicking the “Inspect” button for the LSBB-144 matching shows great hotspot overlap:

It’s even likely that LSBB-327 is the same individual:

Another HotSpotter example suggesting LSBB-277 and LSB-479 are likely the same individual:

Overall, I was able to convert 2058 left- and right-side patterns to use HotSpotter, leaving only 81 Encounters (listed below) that would need to be manually reprocessed to take advantage of HotSpotter.

The process for using HotSpotter with leopard sharks matches this exact process for using PIE with whale sharks:

So you’ll be processing the spots the same way, and even still be able to use Modified Groth, but you’ll kick off and review matching differently using the more standard Wildbook “start match” menu option under each eligible annotation:

HotSpotter ignores the spots entirely and rather looks at the whole cropped annotation for visual similarity. Eventually, we can train a machine learning detector to do the cropping and rotating for us, removing the need for this manual step altogether (like we do for many other species).

Please try a few matches with HotSpotter and let me know if you see it working better.

I am including a list of 81 Encounters that will need to be reprocessed manually (remapping the spots as shown in the YouTube video) to use HotSpotter.


These 81 Encounters need reprocessing to match with HotSpotter. You can enter the link below into the top search bar of Wildbook to get a link to the Encounter:

LEFT: c9c975c1-24fe-4450-bb89-c7ebf439b92f
RIGHT: c9c975c1-24fe-4450-bb89-c7ebf439b92f
LEFT: dba61728-2508-46b7-94df-91ce676fb944
LEFT: c3655b77-d4c8-4c6f-aa71-937266434efd
RIGHT: 137a3ced-42e5-486e-90ab-aa389298a0d6
LEFT: b4987ab8-3f0f-4370-a94e-1c5a55acd50e
LEFT: 922f7f25-a709-4586-b848-0bae8acc5992
LEFT: 3e0c8bcf-1268-47ac-a273-ca56855a76bc
LEFT: 9554c547-d613-4641-b54e-ee2081c1853e
RIGHT: 57808b32-5e93-49ae-a3f2-4c70e67dd547
RIGHT: c58a99c3-1206-4286-a543-3adeb3815121
RIGHT: 51b1290c-fce9-4a6e-b393-9a385dfed13f
LEFT: 0a577299-b4cc-444b-abbb-6695f333b5a4
LEFT: debba4d1-5f55-47f4-9846-abe4ecd5e263
LEFT: 340b5ba4-e44c-4762-b659-da1390bed835
RIGHT: fb61b5ea-b20f-4b3d-996d-fd7fad0fe767
LEFT: b5d59eb8-d0b3-4427-8b5a-270a3da2d09d
LEFT: 6a25e8fb-d93d-41e0-8e1d-63ed9acd2934
LEFT: f8b77c08-5b20-4130-b412-6b589f7390c6
LEFT: 33add553-e8ee-47fe-9354-2cb8ec32c829
LEFT: 72a1b3b1-1195-4b82-ae8c-dae3a32f38bf
LEFT: 85f00c9d-50b6-4ebd-abef-0985b78d1df9
RIGHT: 6ad01959-c0f2-4940-808f-6580d41b6a4e
LEFT: 33749aff-3725-4ac9-88b2-90a1c6e558d9
RIGHT: 33749aff-3725-4ac9-88b2-90a1c6e558d9
LEFT: df82c80c-ca3a-4a98-adb6-eb939ca80398
RIGHT: df82c80c-ca3a-4a98-adb6-eb939ca80398
LEFT: 977f7ddc-2851-4446-bb7b-dde106e61d43
LEFT: d5d72eec-dfd5-4c47-9dff-ee9f84778ee9
RIGHT: d5d72eec-dfd5-4c47-9dff-ee9f84778ee9
LEFT: 66b94825-73df-4e4b-b075-e03743985e5c
LEFT: 356a8068-bd60-4808-9039-93888d5a7a67
LEFT: 4f492288-dc22-4e6b-8e92-79d1ccd2bd15
RIGHT: 93571e3e-3e84-474f-86ba-40cda32bc92d
LEFT: 2570d75f-a3dd-4e4a-9a98-490730abed01
LEFT: f3846b1c-7b36-4a85-a39d-85985ba72767
RIGHT: f3846b1c-7b36-4a85-a39d-85985ba72767
LEFT: 769a70fa-d07f-4711-81b0-cd41a767bdf7
LEFT: 606f8853-11f2-476c-873d-bd8764a3325d
LEFT: 0d5241c5-d1ff-4534-8084-3fb30fabb5a4
LEFT: 47ef5b1a-934b-43e8-abda-bf34de312bba
LEFT: 6c39186d-58da-4e57-8978-5eb7d7e57988
LEFT: 25e1fc7d-b876-40a8-9e0a-4fd22b92d37b
LEFT: d64cb4ec-eb02-44d2-b941-c7108d032002
LEFT: 3286e28c-cf74-4e57-a21e-aa783d7c7170
LEFT: 5b1809b1-d33a-461e-bafb-2ed6c2c21ac0
LEFT: fb2465ae-c084-4020-ad0a-4866e2e9a3a1
LEFT: 6b7f1d04-e395-4ccc-a918-c9e7ce8f29e0
RIGHT: 0350f801-1529-42eb-8a85-f3f509344c5b
LEFT: c6e4b9e0-bed3-4cfb-9281-e3e4aa83cf94
RIGHT: c6e4b9e0-bed3-4cfb-9281-e3e4aa83cf94
LEFT: 3343db45-c7ae-4537-a0f9-8e99056bed95
RIGHT: 3343db45-c7ae-4537-a0f9-8e99056bed95
LEFT: bd46e238-a6b8-42e0-84e7-02ce71c7f9c7
RIGHT: bd46e238-a6b8-42e0-84e7-02ce71c7f9c7
LEFT: a37a95ca-3ce3-4e21-9f76-8a74e9dde692
RIGHT: a37a95ca-3ce3-4e21-9f76-8a74e9dde692
LEFT: 579feb9f-d603-4e62-8266-eb6d1e58cac5
LEFT: 86e2246c-70a3-49d0-9d44-05b5ca763ad3
RIGHT: 86e2246c-70a3-49d0-9d44-05b5ca763ad3
LEFT: f9a77882-85d8-4266-9a17-026d199d65ec
LEFT: a0b23ffd-68b2-4305-903f-b57e89ebdbe6
RIGHT: a0b23ffd-68b2-4305-903f-b57e89ebdbe6
LEFT: 9ef37a5d-dee0-40fb-85ec-81e0916474c0
RIGHT: 9ef37a5d-dee0-40fb-85ec-81e0916474c0
LEFT: 00938ac6-6913-4e0c-8b87-11e6753f3f71
LEFT: 01d6a0f1-055a-4f09-9d6b-1df6efcfbcd7
LEFT: 0293523f-78d9-4911-9ef9-f6be72395077
RIGHT: 03a1e2dc-9c45-40e3-9c0c-de71b3109fd7
LEFT: 0675c5c5-12c2-4331-9672-357301f193aa
LEFT: 0f07d9d0-4805-4161-a9f1-7caae808df9d
LEFT: 1a695f92-80b9-492e-84f6-a5c4e804ec4b
LEFT: 2c8ca985-24c6-4dce-b218-a7aa5938145d
RIGHT: 2c8ca985-24c6-4dce-b218-a7aa5938145d
LEFT: 53574ef8-c9ab-4df0-ab5d-25e1e1faa4e9
LEFT: 6968da49-d7d7-431a-bb1b-c114d0696e82
LEFT: a8f416b0-e553-4cdb-afb9-b7745c7da48b
LEFT: c3915bc7-3ee4-4137-9c5f-0001f4a4639e
LEFT: e799c319-a427-4cfe-9a60-4a977dc614ec
LEFT: c6867823-f6fe-4d82-a07f-ee49882ba5e8
LEFT: cee9cc61-4733-4076-8d85-125a6deea2ad

Work completed under ticket WB-1898.


Thanks Jason; I will get cracking on this and let you know how I go!

Wishing you and the team a prosperous New Year and thank you for everything you do!