使用百度飞桨实现电商图片自动分类

核心提示项目说明业务背景运动潮牌鞋类越来越受年轻人欢迎,近几年运动鞋类销量也持续增高,也出现不少用户自主交易的电商平台。用户每天上传几万张鞋子照片,包括:鞋子外观、外盒或者鞋标,后台需要将鞋类照片进行分类处理,以便用户进行图像搜索时实现精准搜索。现

项目说明

工作经历

潮牌鞋越来越受年轻人欢迎。近年来运动鞋销量持续增加,也有很多电商平台供用户自主交易。用户每天上传数万张鞋子照片,包括鞋子的外观、外盒或鞋标。后台需要对鞋子照片进行排序,以便用户在搜索图片时能够准确搜索。目前主要依靠人工分类建立数据库来构建功能应用,人工成本太高,识别效果不理想。某电商希望实现通过地图搜索商品、商品自动分类等应用。通过建立AI图像分类的能力。

业务困难

AI模型的训练需要图片对应的数据集,大量的鞋子图片需要标注,人工标注成本高,效率低。模型效果优化周期长,重复添加数据进行模型迭代效率低。App具有高并发、多地域用户的特点。比如低成本部署AI模型很难。

解决方案想法

通过EasyDL图像分类任务,在不了解AI算法知识的情况下也能轻松使用,提交少量图片进行训练,就能快速得到能识别鞋子照片的AI模型。对少量数据进行标注后,可以利用智能标注功能对大量原始数据进行标注,用于模型训练和迭代。模型可以生成在线API服务,多地域、高并发调用;通过该模型,在内部平台上建立了图像自动分类的接口。当用户上传图片时,它会自动对其进行分类。每天3W+的新照片分类,补充了产品后台数据处理能力,替代了原来10+的人工审核团队,提高了审核效率。

数据准备

数据采集

客户最终的应用场景是在电商app中提供用户拍摄的鞋子照片识别功能。所以数据采集的照片要尽可能贴合用户拍摄的场景,要真实可信,要包含多种光照条件,这样才能保证训练模型的效果。不要用网上的图片进行训练。应用程序场景需要识别每种类型的鞋,并定位最终的鞋模型。该模型是唯一的,当应用人工智能模型时,可以通过人工智能识别直接定位到鞋类SKU。因此,需要对每种类型的鞋子进行多角度拍照来收集数据。在设计标签的时候,还需要注意的是,每一类鞋子的不同透视图片差别太大,我们需要将鞋子的鞋底和侧面的图片定义为对应的标签。

创建和导入数据

第一步:在EasyDL官网点击立即使用,选择影像分类任务,进入影像分类控制台。

第二步:在数据概览页面点击创建数据集,创建“鞋子照片分类”数据集,点击完成。

第三步:在数据总览页面中找到刚刚创建的数据集,点击操作栏中的“导入”。EasyDL提供了多种数据导入方法,您可以参考每种方法的相应要求在页面中导入数据。提示:为了模型训练的方便,样本数据已经通过文件夹分离进行了本地分类。请选择标记信息-本地导入-上传压缩包-按文件夹排序,上传压缩包[shooes.zip],确认。

步骤4:在data overview中,您可以看到数据已经被导入。点击右侧的查看和标记,对上传的原始图像数据进行标记。如果上传的是EasyDL提供的样本数据,就不需要标注了。

模特培训

第一步,在我的模型页面创建一个模型,填写真实的信息,便于EasyDL团队后期提供更好的服务。

第二步:在刚刚创建的模型操作栏中点击培训,准备开始配置培训任务。

步骤3:配置培训任务。培训有很多功能,可以根据业务需要选择。部署方式分为公有云部署和本地部署,因为鞋照分类的能力需要在手机app中集成应用,且存在多地域、高并发的应用场景。同时具备稳定网络连接的条件。建议使用公有云在线部署,简单几行代码就可以调用。如果业务需要在离线网络环境下运行,可以选择本地部署。在选择算法时,可以根据应用场景更注重识别精度还是识别结果的速度来决定选择高精度算法还是高性能算法。在鞋子照片分类的应用场景中,准确率更重要,所以这里我们选择高精度的模型。配置好训练策略后,就可以将刚刚导入的数据集添加为训练数据,然后点击开始训练!

模型部署

第一步是发布模型。模型训练完成后,点击右侧操作栏中的“申请发布”按钮,将模型发布为公有云服务。发布后,可以在公共云服务页面查看。

第二步是权限配置。首先在智能云控制台-EasyDL-公有云部署-应用列表页面创建一个应用。创建后会得到AK/SK,通过它可以得到接口操作的“访问令牌”。在自己的pc终端输入curl-I-k ' https://aip.baidubce.com/oauth/2.0/token grant _ type = client _ credentials client _ id =[云应用的AK] client _ secret =[云应用的SK]'即可获得。

步骤3:安装依赖项并运行示例代码。权限配置完成后,可以参考API调用文档的样例代码进行调用。

效果优化

模型训练完成后,点击完成评估结果,查看模型评估报告。可以查看模型的总体评价指标和详细评价信息,如错误示例、混淆矩阵等。你可以根据评估报告反馈的明显问题,改进数据集或者训练配置来优化模型。如果详细评价中的错误例子是标注错误,可以直接点击大图修改标注;如果某个类别的误认很多,可以考虑为那个类别补充更多的数据,以优化效果。

还可以在详细评估中查看不同标签的识别结果,针对性能较差的标签类别进行专项优化:删除干扰数据、补充典型数据、配置数据增强策略等措施。

对于电商零售这样的场景,经常会出现商品SKU不断增加需要识别的情况。这个场景推荐使用EasyDL的免训练迭代模式。在免训练迭代模式下,添加标签数据时,无需再次发起训练,直接添加数据完成模型迭代即可快速投产模型服务。具体使用方式如下:首先,完成训练模型。其次,打开免训练迭代模式的开关,生成免训练迭代模式的模型后就可以使用了。最后,当需要添加标签数据时,可以打开免训练数据库,向数据库添加新数据,快速完成模型迭代和制作。

常见问题

问题1:我应该收集多少数据?

如果是体验模型训练和使用的过程,每类准备20张开始训练。如果有必要保证模型的效果,就将模型投入商业使用。建议每类准备300-500张图片,光线和角度全面覆盖,保证模型的通用性。

问题2:我的一些标签数据量很小,会影响模型效果吗?如果有,该怎么办?

与其他标签相比,一类标签的数据量较少,会影响模型对该类标签的识别精度。当无法收集更多的原始数据时,可以在EasyDL上配置多种策略来优化效果。

首先,可以在训练配置页面-高级训练配置中打开“数据不平衡优化”开关,针对某些标签因数据量小而导致的效果问题进行优化。

第二,可以打开数据增强开关,选择数据增强运算符来生成更多的训练数据。在选择运营商的时候,需要根据自己的应用场景来选择。比如肉眼判断,如果光线不影响识别率,可以选择配置“亮度”操作符,调整光线条件来增加数据。

问题三:模特培训是免费的吗?平台什么时候收费?

数据标注和模型训练免费,公有云服务API调用和本地部署SDK提供免费试用名额。

 
友情链接
鄂ICP备19019357号-22