当前位置: 首页 > 科技观察

图像算法助力提升效率转转商品评论

时间:2023-03-14 09:04:01 科技观察

一、商品评论背景介绍转转是一家主要从事二手商品交易的电商平台。根据不同的交易主体,可以形成C2C、C2B、B2C等多种交易关系。比如个人用户在转app的自由市场发布和销售产品,属于C2C模式。转转提供手机等电子产品邮寄上门回收C2B服务。转app还提供官方检测和质量保证以及售后二手B2C产品。本文将重点介绍图像算法在转转B2C店铺产品审核过程中的应用。由于二手货的非标性,即使是同一个sku下的不同库存货品,成色也存在差异。为提升用户体验,增加商品信息透明度,平台在展示二手商品时均采用实物商品图片,避免使用渲染标准商品图片。这涉及审查货架上每个产品的相关展示图像的信息准确性、图像质量等方面。业务开展初期,对上架商品的相关展示图片进行人工审核,确保图片的质量和准确性。审核内容主要包括以下几个方面:展示图片是否与实物相符,避免出现“发错货”的情况;展示图片拍照是否清晰,偶尔相机会对焦不准产品图片拍摄过程中的流线操作;手机、平板电脑等电子产品需保证无脏污,关键部位应贴防篡改标签;对于产品图片为了在app中的展示效果,需要对产品图片进行适当的裁剪,使产品居中。随着业务的发展,每天上架的产品越来越多,人工审核的审核效率和准确性也逐渐暴露出一些问题:审核工作枯燥易疲劳,人工审核错误率高;图片清晰度的判断具有主观性,不同审稿人的审稿标准很难统一;人工审核处理量逐渐滞后于产品上架量,造成门店产品投放瓶颈。针对点评内容中的重复性工作,我们采用图像领域相关的分类、回归、检测等技术,利用算法模型输出辅助人工判断,不仅提高了点评结果的准确性,也极大地提高审查过程的效率。2、上架审核自动审核计划内容包括以下几点:商品展示图片是否与对应SKU信息一致。产品摄影是否清晰。产品是否有防篡改标签。产品是否脏污。商品是否在图片的中心区域。针对审核的需要,我们设计了以下解决方案:需要审核的项目解决方案产品展示图和对应sku是否一致图片是否匹配产品拍摄是否清晰退货解决方案产品是否有tamper-evidentlabel检测方案产品是否脏污检测方案产品是否在图像检测方案的中心下图为B2C产品review的主要审核项目示意图:reviewexample图2.1,是否商品展示图与对应的SKU信息一致但商品在商城上架过程中,由于人为失误等情况,可能会出现商品展示图与对应SKU信息不匹配的情况。举个简单的例子,商品sku信息是iphone11-red,但是显示图片是iphoneX-green。这个问题可以对应图像分类问题,相当于根据图像信息判断商品类别。然而,简单地使用分类算法并不能很好地解决我们的问题。直接使用分类有以下问题:类别有限,无论输入图像是否在类别中,都会输出一个类别。由于品类固定,新添加的sku无法处理。由于分类方法存在上述问题,我们改变了策略,使用了图像匹配方案。我们训练一个更好的特征提取器,然后使用图像匹配方案来更好地解决添加新类别的问题。我们选择的方案和学术上的FaceRecognition,PersonRe-Identification,ImageRetrieval等方向的方案基本一致。主要过程包括图像特征提取、图像相似度计算、排序和输出结果。其中,图像特征提取是我们研究的重点方向。传统的图像匹配特征包括SIFT、SURF、ORB特征等,基于深度学习的图像特征提取主要是CNN神经网络进行特征提取。下图展示了我们的解决方案:商品suk审计计划训练阶段:训练阶段主要是使用交叉熵损失结合tripletloss训练一个分类网络,骨干网络尝试了MobileNet、ResNet、ShuffleNet、OSNet、etc.我们的实验结果表明,ResNet模型的准确率略高,所以我们选择ResNet作为我们的骨干网络。三元组实例公式1给出二元交叉熵损失函数,表示样本的输出值,表示样本对应的标签。式2给出了tripletlossfunction,表示anchor样本对应的特征向量,表示与anchor样本同类别样本对应的特征向量,表示与anchor样本不同类别样本对应的特征向量锚样本。在特征空间中,负样本到锚点样本的距离减去正样本到锚点的距离应该大于。交叉熵损失函数是常见的分类损失函数,三元组损失函数是人脸识别和行人重识别中常用的损失函数。三元组损失函数可以使特征在特征空间中呈现出一簇特征,它的好处是可以获得更鲁棒的特征。如果单独使用tripletloss函数,模型收敛速度较慢,因此我们使用交叉熵损失和tripletloss进行联合监督学习,以加速模型收敛,提高模型精度。测试阶段:在测试阶段,选择经过训练的主干作为特征提取器来提取嵌入特征。提取查询图像的特征并与图库库中的特征计算余弦相似度,得到相似度排序列表,然后选择排序列表中top1图像对应的类别作为查询图像的类别输出。但是我们在构建gallery的时候,一个sku存储了三张图片,对应不同的拍摄场景,所以我们对top5输出进行knn,得到query图片对应的sku。上线:为了保证匹配算法输出的sku一定是准确的,我们在排序后的列表中输出top1相似度。当相似度小于一定阈值时,会输出告警信息,供人工审核。该策略保证了算法输出的sku信息的准确性。2.2.产品拍摄清晰吗?产品拍摄过程中,因产品移动或对焦不准造成产品模糊。为了给用户提供更好的购物体验,我们会在审核过程中对这些商品进行退货,并对符合要求的商品重新拍照后方可上架。单纯针对图像是否清晰可以理解为一个图像分类问题。由于图像是否模糊的标注具有主观性,二值分类不能很好地描述图像的模糊程度,所以在实际审核过程中,一线审核人员往往会针对轻微模糊的图像给出不同的判断结果。这种情况极大地影响了审核结果的一致性,导致商场产品陈列效果时好时坏。为了解决以上问题,我们将图像的模糊度分为三个等级,模糊度从高到低依次为明显模糊、轻微模糊、清晰。并给出相应的分数,分别为2、1、0分。多人对同一张图片打分,同时剔除被打分为明显模糊和清晰的图像,对剩余图像进行数值归一化,得到图像的模糊度得分。当然,我们可以将模糊程度细分为明显模糊、轻微模糊、细微模糊、清晰四类,让更多的标注者对同一张图片进行标注,这样可以得到更细腻的标签值,也可以导致更好的预测结果。但鉴于资源有限,我们只将歧义分为三个等级,让三位同学分别批改。结果,我们将二元分类问题转化为回归问题,并且可以很好地隔离业务标准。下表显示了我们如何将分类任务转变为回归任务。图片名称同学1得分同学2得分同学3得分总分(0-6)归一化得分图片1明显模糊轻微模糊明显模糊55/6=0.83图片2轻微模糊轻微模糊明显模糊44/6=0.67图片3轻微清晰BlurredClear10.17.....同样,我们还是用卷积神经网络,然后把分类损失函数改成回归损失函数。我们选择MSE作为回归任务的损失函数,它代表了样本的预测值,也代表了样本的标签。模型的输出值代表图像的模糊程度。我们把二元分类任务变成回归任务后,可以带来很多好处。首先是算法开发与业务的解耦,使得算法模型不会因为业务标准的变化而失效;同时,业务方可以根据业务需要设置不同的模糊阈值来控制商城图像的清晰度。2.3.产品是否有防篡改标签,是否脏污,是否在中心区域。产品是否贴有防篡改标签,是否脏污,是否在中心区域,我们采用检测方案。在这三项中,篡改标记和物体的检测相对简单。防拆标记检测中的防拆标记特征单一,因此训练出检测精度相当的模型相对容易;在检测商品是否居中,item大,数据容易收集,准确率比较高的商品也可以训练检测模型。脏物的检测难度较大,因为有些脏物目标较小,样本不易获取。为了解决这个问题,我们在数据收集的过程中选择主动学习策略来寻找更多的正样本(检测任务中的正样本是指我们需要检测的样本类)。方法也很简单。我们在前期使用一批数据训练检测模型,然后利用模型从大量置信度极低的未标注数据中挑选出可疑的正样本,然后让这批数据进行人工标注.然后用新数据更新训练模型,这是一个循环。我们可以多次重复这个步骤,最终可以得到一个可以媲美人工智能的检测模型。2.4.算法应用策略对于计算机视觉中的分类、检测等常见任务,我们无法保证模型的召回率和准确率能同时达到100%。因此,在实际应用过程中,需要结合实际业务来考虑模型的选择是采用高精度状态还是采用高召回状态。下图是召回率和准确率的关系曲线(图片来自周志华老师的《机器学习》一书)。PR曲线用于我们的评论业务。我们采用高召回策略,即保证模型能够找出所有不符合要求的商品图片,但代价是准确率会相应降低。我们召回有缺陷照片的产品后,我们会人工介入审核,所以那些被错误召回的情况不会影响业务。在算法的帮助下,上架学生的审核工作量减少了50%。在经过算法处理的商品图片中,50%的商品可以通过算法直接上架店铺APP,其余疑似问题商品将通过算法识别,然后人工审核。3.总结第一节我们介绍了产品审核的背景、为什么要审核以及审核的内容,分析了人工审核在当前业务中面临的一些问题,然后给出了算法赋能业务的好处。在第二节中,我们详细介绍了算法模块。根据上架审核项目的不同,我们采用三种方法分别解决了三个不同的任务。还介绍了算法应用选择的高召回率牺牲预测精度的方案,以及该方案的可行性,最后给出了该算法的在线效果。