CaptchaKrakenV2-CNN-large
Mask R-CNN (ResNet-18) that finds a captcha board's interactive elements:
grid, cell, item, draggable, drop_target, slider, text_input, button, click_area, fill.
- Trained 2026-10-30, 12 epochs on 44,565 generated boards from 149 generators
- Checkpoint:
{"state_dict", "classes", "min_size", "max_size"}, loaded bysrc/detector.py
Val (4,456 held-out generated boards): mask mAP@0.5 0.917, box mAP@0.5 0.922.
Weak class: fill (mask AP50 0.317). Per-class numbers in detector_r18.metrics.json.
Test build, not yet promoted to serving.
The CaptchaKraken V2 CNN family
The v2 element detectors: they find a board's interactive elements and draw the numbered marks the v2 pointer models (CaptchaKraken/SunlightV2-0.8B, CaptchaKraken/TwilightV2-2B, CaptchaKraken/MidnightV2-4B) read.
| Repo | What |
|---|---|
CaptchaKraken/CaptchaKrakenV2-CNN-large |
detector.onnx (the client's standard CPU detector) and the Mask R-CNN ResNet-18 training checkpoint detector_r18.pt β this repo |
CaptchaKraken/CaptchaKrakenV2-CNN-lite |
detector-lite.onnx, the MobileNetV3 lite CPU detector for one or two vCPUs |
detector.onnx: the client's CPU detector
The same network with an 11th class, checkbox: the tick box of a vendor checkbox
widget, learned from real reCAPTCHA, hCaptcha, Turnstile, CaptchaFox and GeeTest v4
widgets photographed in every theme, size, language and pixel ratio (one language
held out). Exported to ONNX (opset 17; input image, float (3, H, W) in 0-1; outputs
boxes, labels, scores, masks; class names in the model metadata classes) and run by
the captchakraken client on onnxruntime's CPU kernels to find grids and checkboxes.
- Trained 2026-10-31, 6 epochs on 46,065 generated boards (149 generators + checkbox widgets)
- Val (4,606 boards): mask mAP@0.5 0.919, box mAP@0.5 0.922;
checkboxmask AP50 1.000, AP 0.936;gridAP 0.999,cellAP 0.955. Per-class numbers indetector.onnx.metrics.json. - Real captures: 252/252 reCAPTCHA/hCaptcha grid boards read with the exact cell count, 0/1095 other boards read as one; all 96 held-out widget tick boxes found.
The lite detector (detector-lite.onnx, MobileNetV3-Large) lives in CaptchaKraken/CaptchaKrakenV2-CNN-lite.
Results across the family
These detectors do not solve captchas themselves: they draw the numbered marks the v2 pointer models read. The table compares those pointer models, so you can see what each size solves.
Every v2 pointer size, on the same 1,067 hand-labelled real boards, served through vLLM 0.25.1 on an RTX 5080. Percent of boards solved; higher is better. q4 is 4-bit GPTQ (W4A16); the others are bf16.
Plain (the bare board):
| 0.8B | 0.8B q4 | 2B | 4B | 4B q4 | |
|---|---|---|---|---|---|
| All (1,067) | 53.5% | 53.9% | 72.6% | 75.4% | 75.1% |
| Click (674) | 60.4 | 61.6 | 76.3 | 78.3 | 77.9 |
| Grid (223) | 31.8 | 29.6 | 75.8 | 78.9 | 78.9 |
| Video (158) | 56.3 | 57.0 | 54.4 | 59.5 | 59.5 |
| Type (12) | 33.3 | 33.3 | 50.0 | 50.0 | 50.0 |
Marked (the CNN detector's numbered marks drawn on the board), stills only, on the boards all five runs marked:
| 0.8B | 0.8B q4 | 2B | 4B | 4B q4 | |
|---|---|---|---|---|---|
| All (904) | 50.2% | 49.8% | 70.5% | 71.6% | 71.0% |
| Click (673) | 58.5 | 58.8 | 73.3 | 73.7 | 73.6 |
| Grid (223) | 26.0 | 22.9 | 62.3 | 65.5 | 63.7 |
| Type (8) | 25.0 | 37.5 | 62.5 | 62.5 | 62.5 |
- 2B solves about 19 points more than 0.8B on the plain boards, split about evenly between clicks and grids. Grids are the sharpest jump (31.8 to 75.8). 4B adds about 3 more.
- Video barely follows size: 0.8B is ahead of 2B there, and 4B leads by about 3 points.
- 4-bit moves the totals by less than a point. Its largest cost is on marked grids (2 to 3 points). A 2B q4 has not been measured or published.
How far to trust the gaps:
- The 0.8B was trained on an earlier build of the data (2026-10-30), so not all of its gap is model size.
- Compare sizes on the plain table. Marked scores also depend on the detector, and the 4B card names a different detector checkpoint from the 0.8B and 2B cards.
- The 4B run did not score marked video, so marked video is left out for every size. That is why these marked totals differ from the ones quoted elsewhere on the cards, which cover different board sets.
- Type has only 12 boards plain and 8 marked, so treat those rows as rough.
- MidnightV2-4B's own gate results were run through transformers, so use this table, not those, to compare it with the other sizes.
Per-board results: 0.8B, 0.8B q4, 2B, 4B, 4B q4.
License: LGPL-3.0.