验证码,互联网世界的”门卫”。从最早的扭曲字母到如今的极验v4图标点选,验证码技术在不断进化,而AI破解方案也在同步迭代。
今天这篇文章,我们从实际工程角度出发,梳理当前最成熟的开源验证码识别方案,帮你快速选型、拿来就用。
一、先搞清楚:你要打哪种验证码?
不同验证码类型,技术路线完全不同。选错方案,事倍功半。
| 验证码类型 | 典型特征 | 推荐技术路线 |
|---|
|—|—|—|
| 字符/算数型 | 数字字母/中文/算式图片 | ddddocr 开箱 / CRNN+CTC 自训 |
|---|---|---|
| 滑块验证码 | 背景图 + 缺口图 | ddddocr slide_match / captcha-recognizer |
| 点选类(汉字/图标) | “依次点击 花 树 鱼” | YOLO 定位 + CRNN 识别 |
| reCAPTCHA / hCaptcha / Turnstile | 浏览器交互 + 行为验证 | OhMyCaptcha(多模态 + Playwright) |
| 复杂粘连/特殊字体 | 传统 OCR 跪的那种 | 多模态 VLMs(Gemini Vision / GPT-4V) |
二、开箱即用:零训练直接上
1. ddddocr —— 国内C位,综合最优
GitHub: github.com/sml2h3/ddddocr
协议: MIT,可商用
星标: 10000+
这是目前Python生态中最火的开源验证码识别库,没有之一。
核心能力:
- 文字验证码(数字/字母/中文扭曲干扰)
- 滑块缺口定位(slide_match)
- 目标检测(汉字点选定位)
- 平均识别耗时 100ms 以内,CPU 即可跑
技术架构:
- OCR 用自研 CRNN+CTC(针对中文验证码优化)
- 目标检测用 YOLO 系列
- 滑块匹配用孪生网络
- 推理走 ONNX Runtime,完全离线
一行代码搞定:
`python
import ddddocr
ocr = ddddocr.DdddOcr(show_ad=False)
result = ocr.classification(image_bytes)
`
滑块用法:
`python
slide = ddddocr.DdddOcr(det=False, show_ad=False)
result = slide.slide_match(target_bytes, background_bytes)
# 返回缺口坐标
`
💡 如果你只想要一个库通吃大部分常规验证码,直接上 ddddocr,基本不用折腾。
2. AntiCAP —— 全题型AI识别
GitHub: github.com/81NewArk/AntiCAP
架构: YOLOv8 + 孪生网络 + CRNN
唯一开源同时覆盖:
- 文字验证码
- 滑块、旋转验证
- 文字点选、图标点选
- 算术验证码
自带 Web 可视化后台,适合复杂人机验证场景。
3. captcha-recognizer —— 滑块专用
YOLOv8 检测缺口,比 ddddocr 的滑块精度更高,专攻拼图验证这一件事。
`python
from captcha_recognizer import Recognizer
result = Recognizer().identify_gap(image_path)
`
4. GeekedTest —— 极验v4专用破解
GitHub: github.com/xKiian/GeekedTest(627 星)
特点: 纯 HTTP 方案,不需要浏览器
支持极验 v4 的滑块、图标点选、五子棋三种验证码类型。通过 curl_cffi 模拟浏览器指纹,直接调用极验 API 完成验证。
`python
from geeked import Geeked
geeked = Geeked(“captcha_id”, “icon”)
seccode = geeked.solve()
`
5. NoCaptcha AI —— 浏览器扩展方案
GitHub: github.com/noCaptchaAi/NoCaptcha-Ai-Browser-Extension(335 星)
Chrome/Firefox 扩展,支持 reCAPTCHA v2、OCR 验证码,适合需要浏览器自动化的场景。
6. CaptchaSonic —— AI Agent 集成
GitHub: github.com/Captcha-Sonic/CaptchaSonic-Extension(39 星)
新项目,2024年12月创建
支持 Selenium、Puppeteer、Playwright 集成,还有 MCP Server 可直接被 AI Agent 调用。覆盖 Geetest、reCAPTCHA、AWS WAF 等多种验证码。
三、自己训练:追求极致准确率
当通用模型识别率不够时,就需要用自己的数据集训练专用模型。
1. captcha_trainer —— 工业级训练工具
GitHub: github.com/kerlomz/captcha_trainer
- 支持 CNN+CRNN+CTC、DenseOCR、ViT 多模型可选
- 完整可视化训练界面
- 自动标注、自动生成训练集
- 导出 ONNX 模型可直接给 ddddocr 加载
适合企业自有系统专属验证码,通用模型识别差时定制训练。
2. CRNN + CTC —— 经典文字验证码方案
技术栈: CNN 提特征 → 双向 LSTM 建模上下文 → CTC Loss 免分割
推荐项目:
- XuMian-xm/OCR-captcha-crnn:6位英文数字,附带 YOLO 对比
- sanniel0315/ai_captcha-streamlit:带 Streamlit UI,4位大写准确率 >95%
训练数据需求: 2000~5000 张同风格样本即可达到 90%+
3. YOLO + CRNN —— 点选类组合拳
流程:YOLO 框出所有候选字/图标 → CRNN 认每个框里是啥 → 按提示顺序点击
推荐项目:
- 15950552800/Text_select_captcha:B站登录那种汉字点选,3000 张训练集
- MianXu/Captcha_Recognizer:YOLO11 + CRNN,HuggingFace 可直接拉
四、大模型新路子:传统OCR搞不定时的王牌
有些验证码字体扭曲到爆炸,或者有语义理解需求,多模态 VLMs 反而比专用模型省事。
1. OhMyCaptcha —— 全能选手
FastAPI + Playwright + 本地 Qwen3.5-2B 多模态,支持 19 种验证类型:
- reCAPTCHA v2/v3
- hCaptcha
- Cloudflare Turnstile
- 各类行为验证码
兼容 YesCaptcha 的 createTask/getTaskResult 协议,支持 Docker 部署。
2. GPT-4V / Gemini Vision —— 降维打击
对于极其复杂的验证码,直接调用多模态大模型的视觉能力:
- openai-captcha-detection:调 GPT-4o 识别,号称接近 100% 准确率
- captcha-gemini:Cloudflare Workers + Gemini Pro Vision
3. GLM-OCR —— 国产轻量级
智谱开源的 0.9B 参数轻量 OCR 模型,多项基准 SOTA,API 调用成本极低。
4. auto_captcha —— 浏览器内自动识别
Chrome 扩展,集成通义千问 Qwen3-VL 视觉语言模型,在浏览器环境中自动识别并填写验证码。
五、行为验证破解:滑块、拼图、旋转
这类验证码单纯识别图片不够,需要模拟人类行为。
1. OpenCV + Playwright/Selenium —— 标准方案
`python
# 1. 模板匹配找缺口
import cv2
result = cv2.matchTemplate(background, target, cv2.TM_CCOEFF_NORMED)
gap_x = cv2.minMaxLoc(result)[3][0]
# 2. 贝塞尔曲线模拟人类轨迹
def bezier_curve(start, end, control, steps=30):
points = []
for t in [i/steps for i in range(steps+1)]:
x = (1-t)2 * start[0] + 2*(1-t)*t * control[0] + t2 * end[0]
y = (1-t)2 * start[1] + 2*(1-t)*t * control[1] + t2 * end[1]
points.append((x, y))
return points
`
2. Buster —— reCAPTCHA 语音绕过
利用 reCAPTCHA 的语音辅助功能,通过 Speech-to-Text API 自动识别语音内容,从而绕过图形验证。
六、选型速查表
| 项目 | AI核心 | 文字验证码 | 滑块 | 点选/旋转 | 需要训练 |
|---|
|—|—|—|—|—|—|
| ddddocr | CRNN+YOLO | ✅ 强 | ✅ | ❌ | 开箱即用 |
|---|---|---|---|---|---|
| AntiCAP | YOLOv8 | ✅ | ✅ | ✅ 全部 | 开箱即用 |
| GeekedTest | 自研协议 | ❌ | ✅ | ✅ | 开箱即用 |
| captcha_trainer | CRNN/ViT | ✅ 极致 | 可训练 | 可训练 | 需数据集 |
| captcha-recognizer | YOLOv8 | ❌ | ✅ 专用 | ❌ | 开箱即用 |
| OhMyCaptcha | Qwen3-VL | ✅ | ✅ | ✅ | 开箱即用 |
| PaddleOCR | PP-OCR | 一般 | ❌ | ❌ | 开箱即用 |
七、实战建议
80% 场景: pip install ddddocr 一把梭,字符/滑块/中文点选都覆盖,离线、轻量、MIT 协议随便商用。
需要定制时: captcha_trainer 训练专属模型,2000~5000 张样本 90%+ 准确率。
极验/Cloudflare 等现代验证码: GeekedTest(纯HTTP)或 OhMyCaptcha(多模态+浏览器自动化)。
reCAPTCHA/hCaptcha: OhMyCaptcha 或 Buster 语音绕过。
八、合规提醒
验证码识别技术建议只用于:
- 自有系统的自动化测试
- 合规爬虫(遵守 robots 协议 + 《网络安全法》)
- 无障碍辅助功能开发
所有工具本地离线运行,不上传图片至第三方。请勿用于恶意注册、刷票、暴力破解等非法用途。
总结: AI 验证码识别已经进入成熟期,ddddocr 覆盖 80% 场景,YOLO+CRNN 解决定制需求,多模态大模型处理极端情况。选对方案,验证码不再是障碍。
关注攀岩者,每天分享 AI 实战笔记,陪你从零基础到 AI 达人。
发表回复