在快消行业的商品识别需求场景中,快消品牌的业务代表在到终端门店进行销售时,需要查看产品展示规格。传统方式需要人工统计,耗时长,人工成本高,数据真实性无法保证。快消品品牌开始借助SFA、DMS等工具进行数字化转型,对销售流程进行精细化管理,探索利用AI技术实现现有品牌“降本增效、动销”数字化销售,并推动其大规模实施,最终将带动业绩增长。 EasyDL是基于百度PaddlePaddle框架的一站式企业AI开发平台。它包括三种产品:经典版、专业版和零售版。开发和部署平台产品。其中,百度EasyDL零售版聚焦零售快消品行业数字化销售场景,提供核心商品检测识别模型及配套服务能力,包括定制化商品检测服务、标准品检测服务和货架拼接服务。标准产品检测服务提供产品检测API,无需培训即可直接使用,支持上千种常见饮品及日化产品的识别;定制产品检测服务提供易于操作的定制模型页面,用户只需五步即可定制新品。商品识别模型。标准品和定制品验货服务均支持返回商品名称、品牌、规格、图片位置,可用于辅助统计商品布局、货架比例、商品分布等完整展示指标货架。由于部分店铺货架较长,需要将多个货架的局部图片进行拼接,才能统计出完整货架上的商品陈列指标。因此,货架自动拼接和商品智能识别成为快消品行业提升陈列审核效率的重要手段。链接。为了满足这一需求,百度EasyDL零售版推出了货架拼接服务。 百度飞桨EasyDL零售版货架拼接服务,支持将多个货架的部分图片或视频拼接成一张完整的货架图片;同时,支持使用定制化或标准品检测服务对部分货架图片进行产品检测,并在拼接完成的货架图输出产品检测结果,包括SKU名称和数量,适合商家需要上架商品检测的场景,支持云服务调用,线下SDK部署,APP生成。下面我们就来看看货架拼接服务的使用方法和具体实现细节。 1。百度飞桨EasyDL货架拼接服务架构概览 上图是货架拼接服务整体架构概览。用户可以通过三种方式使用体验:1)直接调用云服务API;2)离线使用DeploySDK;3)生成体验APP。 云服务API方式,为了方便用户上传查询需要拼接的货架图片,我们提供了6个API接口,分别是:创建任务、上传图片、启动任务、查询结果、终止任务和任务清单。其中,在查询结果API中,根据任务状态的进度,有六种可能的任务状态,包括:Created(创建)、Queued(排队)、Running(拼接)、Success(拼接成功)、Failure(熔接失败),终止(终止)。下图为任务状态转换图: OfflineSDK封装API,支持用户快速部署到各种硬件环境下离线使用,满足各种无网络环境或需要高并发返回预测结果的场景。 用户完成模型发布后,可以在上架拼接服务页面选择生成体验APP,下载到手机端使用。体验APP支持用户拍摄货架视频,APP会自动从视频中提取帧,得到部分货架图片。如果用户还没有发布模型但想体验APP的使用,也可以通过https://ai.baidu.com/easydl/app/1001/vas/img-stitch申请邀请测试权限,步骤如下: 整个拼架过程中用到的关键模块和函数包括: 1)任务管理器:任务信息管理服务,提供6个通用API管理拼架任务的元数据并完成用户对任务的各种操作、用户数据的鉴权等; 2)DaemonScheduler:后台守护进程,负责扫描和调度可执行的架子拼接离线任务;任务的流控管理;任务执行异常检查等; 3)DagTaskScheduler:基于有向无环图(DAG)调度和执行任务。由于货架拼接的离线任务过程比较复杂,可以拆分成多个子任务,部分子任务可以并行执行。整体的离线任务可以通过DAG来组织运行,可以提高任务的运行效率。至于离线任务的完成度,后面会详细介绍。结构。 2。百度飞桨EasyDL架子拼接离线任务实现细节 接下来我们来了解一下离线任务是如何实现的。货架拼接服务支持用户上传多个视频或多组自上而下、横向拍摄的局部货架图片。EasyDL平台训练商品检测模型经常使用到货架的局部图片,因此需要利用局部图片调用商品检测的API,根据拼接大图上的拼接参数标定检测框的位置.整个过程可以分为以下五个子任务: 1)调用用户指定的自定义或标准商品检测模型服务,对部分货架图片上的商品进行检测,获取商品名称和位置信息局部图像上的检测框。 2)对于每组从左到右拍摄的部分货架图片,拼接得到一张完整的货架图片。 3)经过步骤2,得到N组货架图片水平拼接生成的大图,将N组大图垂直拼接得到最终完整的货架大图。 4)对于每组从左到右拍摄的图片,都会通过步骤2得到一组拼接参数,利用这组参数进行计算,并相应平移旋转该产品检测框的位置图片组、拉伸等,将检测框水平标定到拼接大图上的相应位置,对重叠较多的检测框进行去重。 5)与步骤4类似,通过步骤3生成的拼接参数,对步骤4水平标定后的产品检测框再次进行垂直位置标定,得到产品在最终大图上的位置。 整个流程可以组织成如下DAG: 从上图可以发现,在任务开始时,子任务1和2没有依赖关系,可以并行运行;子任务2成功后,无需等待子任务1的结果,即可运行任务3;通过DAG方法,子任务可以部分并行运行,加快整体拼接任务的处理速度。此外,货架图片拼接子任务以容器化方式运行,避免了对部署环境的依赖,提高了扩展性;通过调度资源工具,避免了GPU、CPU等资源的抢占冲突,提高了拼接任务的可靠性。 3。百度飞桨EasyDL货架拼接算法详解 纵观整个货架拼接离线任务,其核心是货架拼接算法。算法的设计决定了拼接任务的速度、可靠性和准确性。等待。下面详细介绍货架拼接算法。 3.1。货架拼接算法 货架拼接算法本质上属于图像拼接算法的范畴。在图像拼接算法中,目前有3种不同的方法:1)全局对齐法,用一个单应性矩阵来对齐图像,通过求解相机参数对图像进行变换融合,输出拼接后的图像;2)空间变化绘制方法将图像划分成密集的网格,每个网格用一个单应矩阵对齐,然后对每个网格进行优化变形,使用类似全局对齐的方法拼接网格图像;3)seam-dominant方法以匹配图像之间的seam为主导,并不严格对齐整个重叠区域,而是只对齐seamline附近的区域,通过seamline实现图像的拼接。 关于货架拼接的场景,拍照的方式一般都是在手机上平移拍照。存在拍摄角度比较随意、拍摄距离较短、需要拼接的图片数量较多等问题。上述图像拼接算法中,全局对齐方式要求每次拍摄时相机光心几乎重合,即相机在拍摄过程中只能进行纯旋转运动,对拍摄方式要求较高.airspacechangedrawingmethod和seam-dominantmethod对匹配特征内点的数量和质量要求高,需要调整的超参数较多,计算量大,拼接速度慢,不能使用用于拼接大量图像。因此,上述图像拼接方法均不能很好地解决货架拼接场景中存在的问题,不能直接用于货架拼接。 针对上述货架拼接场景存在的问题,我们优化了基于全局对齐方式的拼接算法。首先,为了解决平移拍摄角度相对随机的问题,在货架图像拼接之前,我们对输入的货架图像进行水平校正,将所有图像校正到相同的拍摄视角,可以有效降低拍摄角度对拼接效果的影响。拼接效果有了很大的提高。其次,当输入货架图片数量较多时,为了降低拼接难度,提高拼接效率,我们将输入货架图片自动分组,将大量图片的单次拼接分解为多张图片的并行拼接。少量图像。有效减少拼接时间。 在分组拼接的过程中,我们采用类似于全局对齐的方法,将各个分组的货架图像进行拼接,通过货架图像之间的匹配、变换、合并,得到每组的拼接图像。然后合并多组拼接图像,输出整个货架的拼接图像和拼接参数。货架拼接算法的整体流程如下: 3.2.MergeSKU检测框和去重上面会进行检测,所以我们需要对这些SKU进行合并去重,去掉相同的SKU。具体步骤如下: 1)根据货架拼接参数,将每张图片上检测到的SKU检测框坐标进行变换,将单张图片上的SKU检测框坐标转换为拼接图上的SKU检测框。 2)对于当前图片上的每个SKU检测框,当与另一个SKU检测框有重叠部分,且重叠部分的交并比(IOU)大于一定阈值时,将两者的SKU检测框属于同一个检测框。 3)根据两个SKU检测框的坐标和置信度进行合并去重,得到最终的SKU检测框坐标。 4)所有图片上的SKU检测框合并去重后,统计拼接后的图片上各品类SKU检测框的个数,进而得到整个货架上SKU的种类和数量,并输出SKU上的整个货架统计。 以上是百度飞桨EasyDL零售版上架拼接服务架构及算法详解的全部内容。为了全面帮助快消品品牌商精细化管理销售流程,围绕快消品企业线下渠道的销售逻辑,百度大脑推出了基于AI技术的数字营销解决方案。在EasyDL零售版的基础上,还提供翻拍识别、人脸识别、进店行程规划等AI能力,帮助品牌商有效提升一线业务人员的工作效率。实现销售增长。 目前,已有多家零售快消品牌和服务商在实际业务中使用百度EasyDL零售版,以提高终端门店管理和执行的效率和效果,准确了解货架上商品的真实信息.分析更加高效准确,有效缩短决策时间,实现市场运作和决策的智能化。 有兴趣的可以到官网了解更多详情。https://ai.baidu.com/easydl/retail
