What new OCR tools can offer BHL: male and female symbols at last

I have been playing with some AI OCR tools, and they have finally become good enough to tackle one of my biggest frustrations with BHL, the mangling of male and female symbols :male_sign: and :female_sign:, often used in lists of specimens examined. here’s one of my favourite examples, from page 34570915

In BHL the OCR text for this looks like this:

I 32281), Hourglass sta M, 92 na mi W of
Sanibel Island light, 26°24’N, 83°43’W, 73.2
m, R/V Hernan Cortez, 6 Aug 1966.—2 36,
3 22, 1 ovigerous 2, CL 2.5 mm, 2.3 mm,
2.3 mm, 2.0 mm, 1.7 mm and 3.0 mm,
resp., (FSBC I 32282), Hourglass sta M, 92
na mi W of Sanibel Island light, 26°24’N,
83°43’W, 73 m, R/V Hernan Cortez, 5 Sep

It’s pretty good, and gets the degree symbol° which is vital if we want to put this page on a map. But the :male_sign: and :female_sign: are gone. Can we do better?

There are at least two OCR tools that can, indeed, do better. The first is Mistral OCR, which I have only just started playing with (I know that there are people at the Natural History Museum that are using it). For the same image we get:

I 32281), Hourglass sta M, 92 na mi W of Sanibel Island light, 26°24′N, 83°43′W, 73.2 m, R/V Hernan Cortez, 6 Aug 1966. — 2 :male_sign:, 3 :female_sign:, 1 ovigerous :female_sign:, CL 2.5 mm, 2.3 mm, 2.3 mm, 2.0 mm, 1.7 mm and 3.0 mm, resp., (FSBC I 32282), Hourglass sta M, 92 na mi W of Sanibel Island light, 26°24′N, 83°43′W, 73 m, R/V Hernan Cortez, 5 Sep

This is near perfect. Another tool that I have used a lot in my work is DataLab, which you can try out here: Datalab . Here is their result for the same image:

I 32281), Hourglass sta M, 92 na mi W of Sanibel Island light, 26°24’N, 83°43’W, 73.2 m, R/V Hernan Cortez, 6 Aug 1966. — 2 :male_sign::male_sign:, 3 :female_sign::female_sign:, 1 ovigerous :female_sign:, CL 2.5 mm, 2.3 mm, 2.3 mm, 2.0 mm. 1.7 mm and 3.0 mm, resp., (FSBC I 32282), Hourglass sta M, 92 na mi W of Sanibel Island light, 26°24’N, 83°43’W, 73 m, R/V Hernan Cortez, 5 Sep

Almost identical, but note that DataLab got the multiple :male_sign::male_sign: which Mistral missed. Out of curiousity I used an online tool to compare the two results:

Screenshot 2026-04-23 at 14.37.25

Most of the difefrences are to do with punctuation (e.g., ’ versus '). Anyone doing a quantitave comparsion between OCR tools will want to be careful to take this into account (in most cases ’ versus ’ make no difference to the meaning of the text).

Mistral-OCR is an online only tool at the moment (unless you hand over what I assume is a lot of money). DataLab is online, but there is also a less powerful version you can download and run locally (assming that you have suitable hardware) GitHub - datalab-to/chandra: OCR model that handles complex tables, forms, handwriting with full layout. · GitHub . Both Mistral-OCR and DataLab seem capable of processing a page in image in 1-2 seconds. But the really exciting thing (apart from :male_sign: and :female_sign:) is that these tools can also identify and extract figures from the page.

Below is the Markdown version of 34570915 that I got from Mistral-OCR, complete with the figure. This means we can potentially convert large chunks of BHL to readable, reflowable, searchable text!

This is, of course, just one page, so it’s mostly anecdotal. It would be nice to have a more formal study using a range of BHL pages and a range of OCR tools so that we can get a better idea of just what these tools could enable BHL to do.


VOLUME 100, NUMBER 3
507


Fig. 1. Discias verbergi: Lateral view of ovigerous female. Scale = 2.0 mm.

I 32281), Hourglass sta M, 92 na mi W of Sanibel Island light, 26°24′N, 83°43′W, 73.2 m, R/V Hernan Cortez, 6 Aug 1966. — 2 :male_sign:, 3 :female_sign:, 1 ovigerous :female_sign:, CL 2.5 mm, 2.3 mm, 2.3 mm, 2.0 mm, 1.7 mm and 3.0 mm, resp., (FSBC I 32282), Hourglass sta M, 92 na mi W of Sanibel Island light, 26°24′N, 83°43′W, 73 m, R/V Hernan Cortez, 5 Sep 1966. — 1 ovigerous :female_sign:, CL 3.6 mm (MESC 6179-10526) Hourglass sta M, 92 na mi W of Sanibel Island light, 26°24′N, 83°43′W, 73 m, R/V Hernan Cortez, 5 Sep 1966. — 1 :male_sign:, CL 3.5 mm (FSBC I 32283), Hourglass sta D, 65 na mi W of Egmont Key, 27°37′N, 83°58′W, 55 m, R/V Hernan Cortez, 12 Apr 1967. — 1 :male_sign:, CL 1.9 mm (FSBC I 32284), Hourglass sta E, 78 na mi W of Egmont Key, 27°37′N, 84°13′W, 73 m, R/V Hernan Cortez, 12 May 1967. — 1 ovigerous :female_sign:, CL 2.9 mm (GCRL I 86-1127), Hourglass sta M, 92 na mi W of Sanibel Island light, 26°24′N, 83°43′W, 73 m, R/V Hernan Cortez, 16 May 1967. — 1 :female_sign:, CL 1.7 mm (FSBC I 32285), Hourglass sta E, 78 na mi W of Egmont Key, 27°37′N, 84°13′W, 73 m, R/V Hernan Cortez, 6 Oct 1967. — 1 :male_sign:, CL 2.3 mm (FSBC I 32286), Hourglass sta M, 92 na mi W of

Sanibel Island light, 26°24′N, 83°43′W, 73 m, R/V Hernan Cortez, 12 Oct 1967. — 1 :male_sign:, 1 ovigerous :female_sign:, CL 3.2 mm and 4.1 mm, resp., (FSBC I 32287), Hourglass sta D, 65 na mi W of Egmont Key, 27°37′N, 83°58′W, 55 m, R/V Hernan Cortez, 21 Nov 1967. GEORGIA: 1 ovigerous :female_sign:, CL 3.9 mm (USNM 221750), R/V Eastward sta E-33-M (70-71), 120 na mi E of Savannah, 32°06.8′N, 79°12.6′W, 74 m, coll. B. Boothe, 24 Mar 1971. — 1 :female_sign:, CL 3.1 mm (USNM 221751), R/V Dolphin sta 86 (0575273), 115 na mi E of Savannah, 32°01.5′N, 79°21.7′W, 66 m, coll. B. Boothe, 18 Sep 1975.

Specimens have been deposited in the collections of the National Museum of Natural History (USNM), Washington, D.C.; the Florida Department of Natural Resources (FSBC), St. Petersburg, Florida; the Marine Environmental Sciences Consortium (MESC), Dauphin Island, Alabama; and Gulf Coast Research Laboratory Museum (GCRL).

Diagnosis. — Rostrum narrow, acute, armed laterally with 20–30 fine teeth (serrations) on each side. Abdominal somite 2 lacking posterior, middorsal process. Man

2 Likes

Recent locally running, open-weight VLMs (no reliance on commercial platforms!) have become very good at OCR-type tasks. The big feature I care most about is their ability to transcribe handwriting (HTR – Handwritten Text Recognition) fairly well, but they can also be quite good at “traditional” OCR.

The model I am currently using to transcribe all the BHL field notes, Qwen3.5-9B ( Qwen/Qwen3.6-27B · Hugging Face ), thinks the male symbols in 34570915 are Greek deltas, but I just tried gemma-4-31B ( google/gemma-4-31B · Hugging Face ) and it did a very good job, getting the male/female symbols right:

I 32281), Hourglass sta M, 92 na mi W of
Sanibel Island light, 26°24’N, 83°43’W, 73.2
m, R/V Hernan Cortez, 6 Aug 1966.—2 :male_sign::male_sign:,
3 :female_sign::female_sign:, 1 ovigerous :female_sign:, CL 2.5 mm, 2.3 mm,
2.3 mm, 2.0 mm, 1.7 mm and 3.0 mm,
resp., (FSBC I 32282), Hourglass sta M, 92
na mi W of Sanibel Island light, 26°24’N,
83°43’W, 73 m, R/V Hernan Cortez, 5 Sep

To do all this locally and at a reasonable speed, you may need a decent video card, and some tech skills to set up the LLM server (I have used llama.cpp and vLLM), but if you can get over those barriers, you have something consistent, reliable, and fully under your control.

The biggest problem with some of these local models is that they get stuck in repetition loops, at least when quantized (i.e., shrunk) enough to run with decent speed on my desktop, which also prevents them from finishing the page. I have not tested the latest Gemma models enough to know if they have this issue, though.

Mistral has some open-weight models, too, but I have not tested them for OCR/HTR.

1 Like

@jdustinwilliams Out of curiosity what hardware do you use? I use a 2021 MacBook and an older version of macOS, which means support for Apple’s MPS is often lacking (and hence AI code runs slowly). May have to join the OpenClaw crowd and get a MacMini…

1 Like

@rdmpage To run larger models (faster) I bought a pretty expensive GPU, an RTX 5090. However, there are a lot of tricks to push whatever hardware you have to the limit.

If you have enough RAM, Qwen3.6-35B-A3B might run at a good speed even on just the CPU. The recent MoE (Mixture of Experts) architecture like that Qwen model, from what I understand, can perform well even without a video card because they are only using a small portion of their parameters at a given time.

It sounds like you are familiar with the current tooling people use locally, but for anyone who is not: you would likely want to use llama.cpp with quantized GGUF models. Quantization reduces precision, but shrinks the model so it will run faster (or at all) on less RAM/VRAM. With some clever techniques, some very smart people are finding ways to keep most of the models’ “intelligence” at a fraction of the size.

1 Like