AI 拍照识别
v1.1.0 新功能
对准商品拍一张照,系统自动识别加入购物车。针对同人摊场景做的优化,不用贴条形码、不用记 SKU。
为什么做这个功能?
传统收银系统用条形码,因为超市/便利店的商品由上游工厂批量印好、生命周期长、SKU 数量大但稳定。
二次元同人摊不一样:
- 每场展会商品临时重组,上一场带的下一场不一定再带
- 商品多为自产自销,没有天然条形码
- 很多是小件(明信片、贴纸、徽章),贴条码实际操作不方便
- 寄售 / 代售场景下,临时帮忙的人可能完全不认识货
条形码这套机制在以上场景里都不太合适。拍照识别是一个更轻量、更灵活的替代方案。
典型使用场景
场景 A:帮朋友看摊
朋友临时有事离开,你帮他守半天摊。 顾客拿着一张立绘过来问"这个多少钱"——你根本没见过这张图。
拍照识别:相机一对,商品名、价格、库存秒出。
场景 B:同系列商品容易混
你自己画了 10 张博丽灵梦的明信片,不同角度不同画风。 忙起来口头报价容易串,"这张 15、那张 20"——一混就尴尬。
拍照识别:避免口头错误。
场景 C:顾客自助
展会高峰期,一个顾客要等 5 分钟才能排到结账。 把平板放在摊位前——顾客自己拍照加购、自己生成订单、自己扫码支付。 摊主只管收钱。
场景 D:新手帮忙
临时叫来帮忙的朋友完全不熟悉商品目录。 让他拍照就行,零学习成本。
如何启用
Step 1:下载识别模型(仅首次需要)
进入 控制台 → "AI 视觉识别"面板:
- 点击安装一个模型(默认推荐 ConvNeXt V2 Pico FP16,约 17MB,体积最小质量几乎无损)
- 安装完成后点击"激活"
首次启用需联网
模型从 GitHub Release 下载。 建议在展会前一天完成这一步,现场只需联热点即可。
Step 2:给商品上传识别用图片
进入 全局商品库 → 编辑某个商品 → "识别用图片" Tab:
- 每个商品建议上传 1~3 张照片
- 如果商品本身已经有主图,可以只上传 1 张
- 不同角度 / 不同光线各一张效果最好(比如明信片正面、斜角,亚克力立牌正面、侧面)
上传后系统会自动生成识别向量并加入索引。
批量处理提示
全局商品库列表新增了"识别图"列(🔴 未上传 / 🟡 1~2 张 / 🟢 3 张及以上),还可以勾选"只看缺识别图的商品"筛选出缺图的制品批量处理。
Step 3:在顾客端切换到拍照模式
顾客点单页面顶部有模式切换按钮:
- 商品列表:传统网格浏览
- 拍照识别:打开相机取景,按快门自动搜索
吸引屏也可以直接选择"拍照识别"模式进入。
精度优化小技巧
| 做法 | 效果 |
|---|---|
| 上传多张不同角度的商品照 | 显著提升识别准确率 |
| 照片背景干净(白底 / 木质桌面) | 减少干扰 |
| 商品占画面主体(不要太小) | 提高匹配度 |
| 避免反光 / 过曝 | 对亚克力类商品尤其重要 |
| 新品上架时立即补传识别图 | 避免"有货但识别不到"的情况 |
FAQ
Q:识别不准怎么办?
- 给该商品多上传几张不同角度的照片
- 检查拍照时的光线和角度是否与训练照片差距过大
- 重新触发"全量重建"索引(在 AI 视觉识别面板)
Q:识别模型有多大?可以选哪些?
v1.1 起提供 5 个可选模型,主推两个 FP16 量化版(质量几乎无损但体积减半):
- ⭐ ConvNeXt V2 Pico FP16(默认推荐):约 17MB,纯 CNN,体积最小、下载最快、兼容性最好,Android / 存储紧张设备优选
- ⭐ DINOv2-Small FP16(高精度推荐):约 43MB,自监督 ViT,对细节和角度最敏感
- MobileCLIP-S0:约 46MB,CLIP 家族,擅长"物体是什么"的语义理解。仅提供 FP32 版本(经验证 FP16 会产生错误 embedding)
- ConvNeXt V2 Pico FP32(参考精度):约 34MB,一般选 FP16 版即可
- DINOv2-Small FP32(参考精度):约 87MB,一般选 FP16 版即可
Q:Android 端能用吗?
可以。Android 上会自动启用 NNAPI 硬件加速,利用手机 NPU / GPU 推理,速度比 CPU 快 2~3 倍。
Q:推理需要联网吗?
不需要。 模型下载后完全本地推理,无任何网络请求。
Q:可以不用拍照识别吗?
可以。拍照识别只是一个可选模式,顾客端随时可以切换回传统商品列表浏览。不启用 AI 功能不影响其他所有功能。