零售|34页PPT全解CVPOS自助收银及商品识别算法工程落地方法( 六 )


另外一个问题是样本需要时间的管理,假设在同一年里有三段时间,它的外形是不一样的,这时需要商品的时间管理,利用时间的管理进行样本的平衡,可以针对不同时间加不同的权重,比如近期的数据会多一点,远期的数据少一点,生成一个适应较长时间段的训练集。
第三是建立一个商品的预训练模型,可以根据不同种类建立不同的预训练模型,这可以加快fine-tuning的速度。第二个是困难样本的反馈训练,这是一个闭环的fine-tuning过程,及时将这种出错的样本回收到训练集里面,通过这种fine-tuning的方式,把这一部分没见过的数据拟合过去。最后,要开发一个管理工具去管理训练任务,做好任务的排序以及资源上的调度。
–落地的其他事
第一点是部署,开始是从云端开始部署,然后慢慢就变成前端,因为前端可以节省成本;第二点是模型的压缩,可以利用一些比较成熟的框架,比如飞桨,进行模型的压缩,可以发现在精度没有下降的情况下,收益都非常可观;第三点是检测和分类模型上的优化,检测方面发现一些Anchor-Free的效果比在Faster-RCNN的效果要好,所以尝试用一些Anchor-Free的模型验证自己的数据集,在分类方面,主要是用损失函数去加大分类之间的margin,可以参考一些人脸识别相关的损失,这些都可以加大类间的距离;第四点是习惯的培养,习惯培养反而是最困难的,因为习惯比较难培养,这也是在很多地方没推广起来的一个原因。
我们有两点比较实用的建议,第一,可以提示一个摆放的位置,虽然不高级,但一次成功识别率应该是会大大提高。第二,不去培养顾客,专门培养店员,让店员使用这个产品,尤其是对烘焙、餐饮这种非标品,店员就不需要专门的手工录入信息。从这个层面来讲,它确实也是可以提升最后的结算效率。
对于产品的鲁棒性问题,因为一些客观原因,识别率做不到100%,所以必须要有一些辅助工具去保证模型的更新速度,包括采集、标注、训练、验证部署等,都要通过工具去管理,通过工具让我们发现错误。另外还有一个恢复机制的问题,第一种恢复机制是机器上的恢复,可以用一些校验的手段,比如加重力传感器去校验识别结果,或者用多个摄像头的集成思路去投票等,置信度较低时,可以提示下客户去重新摆放。另一个是要有一个人工快速介入的管理机制,不要让使用失败的顾客等。所以收银机不只是一个产品或是一个算法,它需要整个运营系统相互配合。

零售|34页PPT全解CVPOS自助收银及商品识别算法工程落地方法
文章插图

–总结
总结主要分为以下几点:首先,大目标减成本是不变的,所有产品的设计都要围绕着总成本不变的目标,然后我们依据这个目标以及一些资源需求选择合适的模型,第3到第5点,是算法维护而产生的一些新功能需求,也就是在产品的设计中要保留数据闭环的机制,也要有相应的开发效率的工具,查错的工具,能够快速训练迭代等,另外产品要有自校验、自恢复的机制,不管是机器自己完成还是人工干预,我们的整个运营模式里必须包含这一块才能保证整个产品有序的运作下去。最后是产品是易用的、习惯可培养的。