以智能货柜为例,谈谈CV领域“识别错误”的3类场景

笔者从工作实践出发,以智能货柜为例,梳理了CV领域识别错误的3类场景,并对这些“错误”给出了自己的建议。与大家分享。

一、图像识别任务简介

先简单说明下图像识别四大任务:分类、定位、检测、分割。

  • 图像分类: 任务的输出是判断输入图像所属分类。形象说明:给一张有人的图片,模型判断图片类型是“人”or“鸟”。
  • 目标定位: 在图像里面目标较少或固定,任务的输出是把在图像里的目标找出来标注具体位置。形象说明:给一张有人的图片,模型把人框出来。
  • 目标检测: 在图像里面目标较多且不固定,任务的输出是把在图像里的目标找出来标注具体位置,难度比目标定位更大。形象说明:给一张有很多人的图片,模型把所有人都框出来。
  • 语义分割: 基于目标检测的基础下,更精准的标注出图像里的目标。形象说明:给一张有很多人的图片,模型把所有人按轮廓框出来。

二、识别错误场景

以下介绍的图像识别错误场景主要围绕目标检测和目标分类任务,在识别“商品”这个领域下,识别错误场景一般分为以下三类:

  1. 漏识别:应检测目标没有被检测到;
  2. 识别错误:目标被检测到,但是识别分类错误;
  3. 识别多:不应检测目标被检测到并且进行了分类。

1. 识别错误:漏识别

发生原因:

  1. 阳光直射,图片曝光,导致漏识别,或者其他类似的环境问题,导致拍摄效果质量差,图片失去了正常准度;
  2. 商品相互遮挡,被遮挡的商品没有了特征,无法识别;
  3. 从模型角度:部分商品识别效果不好,欠拟合。

解决方案:

  1. 贴防光膜,挡阳光,但是会造成视觉体验差,几乎看不到商品。其他类似环境问题也可以通过“物理”手段解决;
  2. 增加光照(异常)场景下的图片训练数据(给模型针对具体错误场景更好的泛化能力),拿更多真实环境的图片作为训练数据;利用数据增强,调整图片亮度模拟光照作为训练数据;
  3. 利用IOU(检测目标面积的交并比)和一些图像相似度对比算法(余弦对比、像素点对比等),在漏识别的情况下通过后处理逻辑重新将漏检测的目标“硬生生”识别出来。(本质上,模型依旧是识别不准确,但是实际效果是ok的)

但是加后处理逻辑算法是有潜在成本的,首先会让团队精力没放在模型真正的准确度上,一直专注完善逻辑;

其次就算怎么加逻辑,也有没办法覆盖到的场景,最后就是逻辑越来越复杂,反而会导致整体识别体验效果变差。

2. 识别错误:识别错

发生原因:

  1. 两个商品很相似(人眼也分不清楚到底哪个是A哪个是B),经常相互识别;
  2. 从模型角度:部分商品识别效果不好,模型欠拟合/过拟合。

解决方案:

  1. 不断调参,优化模型,补充训练数据,增加训练数据质量;
  2. 减少/拒绝相似商品同时出现在同一场景下。(培训大客户,委婉的解释“最好不要”。可以强势一点的时候就“暂时不支持这样操作”);
  3. 通过产品逻辑处理,例如“模板”式识别:在该环境,识别出A和B,都默认当成A。(超级悖论,逻辑>AI);
  4. 物理式区分相似商品,如直接将A更换包装(只要能落地商业,成本<收益,管他是什么手段)。

3. 识别错误-识别多

发生原因:

  1. 一个商品认成了两个(如头尾长一样),或者背景和商品很像。在模型没有优化之前,这是很常见的问题;
  2. 从模型角度:过拟合,某些不在识别范围内的物体也识别成了商品。

解决方案:

  1. 把一些容易识别成商品的物体当作负样本训练;
  2. 不断调参,优化模型,补充训练数据,增加训练数据质量。

三、万能方案

把大概率出错的内容交给系统/人工修正处理,再把内容输出到用户。例如用户完成购物,产生一笔订单超过了500元,但是在对应场景一般不可能出现超过100元的订单,这种情况先把订单交给人工检查一遍没问题了,再去扣款通知用户。

通过产品逻辑和功能去规范用户行为,规范交互流程,把“极度容易出错/现阶段无法支持”的行为排除掉。

四、经验总结

(1)单个模型的内容label越多,即便同个模型在训练测试时得出的指标(准确率)无太大差异,但因为有大量的相近label交错,实际场景下的稳定性很差,label数量与运营稳定性是非线性关系。

在AI技术只能照顾到90%的场景的时候,剩下的10%场景可以增加“二重防护”甚至“三重防护”:例如增加重力感应、RFID感应的手段兼顾辅助,去完善产品体验。最终呈现出来的体验效果是ok的,是符合用户预期的,当然同时会增加一些成本。

(2)tob的AI产品,有时候会放弃c端用户体验,优先考虑b端商家(大部分情况下有一方得到利益,另外一方利益必定受损)。

例如智能货柜:识别错误情况多了以后,对于货柜运营商家来说承受的货损和运营成本就会增加,商家就会怀疑技术能力甚至撤离货柜布点和取消合作。

不仅如此,也会造成顾客认为机器经常乱扣钱,导致其不会回归购物场景。

(3)一定要折衷的话,前期会偏向“宁愿扣款错误,后续退款给用户,也不让商家承受损失”。

毕竟c端用户只要在一定时间内能及时退款,或者是不及时扣款,是可以通过售后流程去把控的,但是商家(特别是小商家)对货损十分敏感。

(4)AIPM要想办法通过某些渠道提前控制使用者对产品的预期。

2B的AI产品要在培训时点明现阶段支持什么,不支持什么,哪些场景靠AI是不靠谱的。不然客户购买了产品回去心理落差很大。又要有技巧的通过一些话术使得客户有期待。在商务会议场景下,又要适当的“放大”产品能力。

2C的AI产品通过前端交互引导、品牌认知广告一些方式,引导用户的对产品技术和体验的心智发展。

作者:zain,微信号:gdn1016756845;公众号:五百桶户(ID:zainosl),交流是最好的进步途径之一。

本文由 @zain 原创发布于人人都是产品经理,未经作者许可,禁止转载。

题图来自Unsplash,基于CC0协议。

我来评几句
登录后评论

已发表评论数()

相关站点

热门文章