乌龟个体识别 AI 系统

把照片里的龟认到「是哪一只个体」——视觉检测 + 度量学习 + 全分辨率纹理匹配,并产品化为多租户 B2B API。识别准确率从 74% 提升到 94.7%。

AI 视觉 · 个体重识别 · 专有 API

乌龟个体识别 AI 系统

背景与挑战

同物种个体长相高度接近,人眼都难分;而通用方案在真实数据上几乎全线失败:零样本检测 0% 召回、全局 CLIP 卡在 74%、斑点匹配仅 26–32%、视觉大模型(VLM)自信地把两只不同的龟判成「同一只」。

龟C与龟D难例对比

同种龟,长相高度相似——谁能分开?

技术方案

端到端管线:目标检测(YOLOv8n)→ 全局嵌入(CLIP + ArcFace 度量学习)→ 纹理匹配(全分辨率 SIFT)→ 个体 ID → 多租户 API。检测器跨 7 个物种 / 178 张多样化龟照达 98% 召回,泛化可靠。

技术管线流程图

目标检测 → 全局嵌入 → 纹理匹配 → 个体 ID → 多租户 API

关键突破:74% → 94.7%

最关键的提升,来自一个反直觉发现——「不是算法不行,是分辨率没吃满」。CLIP/斑点/VLM 都在降采样(224/320/768px),把龟背「指纹级」的细纹理压没了。切到原始全分辨率跑 SIFT 后:准确率 74% → 94.7%;之前所有方法都搞不定的龟C↔龟D(同种、高度相似)混淆清零;且 0% 自信错认(认不准时主动报 unknown,绝不瞎认)。

精度提升柱状图

准确率 74% → 94.7%

产品化:多租户 B2B API

FastAPI 服务,X-API-Key 鉴权,每个租户独立 gallery(数据隔离);双模式 cascade(快 ~1s,带 low_confidence 信号)/ accurate(全分辨率 SIFT,94.7%);端点 /v1/turtles(注册)、/v1/recognize(识别)、/v1/health

curl -H "X-API-Key: $KEY" -F file=@photo.jpg \
     https://api.mk-service.cn/v1/recognize?mode=cascade
# → {"mode":"cascade","items":[{"name":"龟C","score":77,"path":"sift","low_confidence":false}]}

识别过程动画

识别过程——照片 → 检测框 → 个体命中

技术栈

YOLOv8n(检测)· open_clip ViT-B-32 + ArcFace(度量学习)· 全分辨率 SIFT / FLANN+RANSAC(纹理匹配)· FastAPI 多租户(B2B API)· 纯 CPU / 离线可部署

适用场景

← 返回案例