直播预告!生鲜与零售商品识别系统产业实践与部署详解

news2024/12/23 13:49:38

2dda97ba7bc57a53a4b3928ca32a4054.gif

生鲜零售作为民生消费的重要一环,在促进行业新消费升级的进程中有着至关重要的作用。在超市等无人零售场景中,目前结算方式主要有以下几种:

6c8a0a3b884da89104692dbffc50ef63.png

但是以上几种方法存在如下缺点:

  • 条形码方式:对于成品包装的商品较为成熟,但生鲜产品本身“无码可扫”;

  • RFID方式:所需的额外费用难以长期承担;

  • 生鲜称重方式:对于相同品种不同单价的商品无法很好区分,需要人工辨别商品品种,效率较低。

因此,选择一种既能大规模支持各种商品识别,又能方便管理,同时维护成本不高的识别系统,显得尤为重要。

针对以上的行业需求,飞桨联合Intel提供了一套基于飞桨图像分类开发套件PaddleClas和OpenVINO™工具套件的生鲜与零售商品识别系统,满足商品识别场景需要兼顾扩展性的要求。在此方案中,只需训练一套模型,在后续使用过程中,无需频繁重新训练模型,仅需要在检索库中,配置少量有代表性的新增产品图像,就能够很好地解决新增商品问题,同时也无需添加辅助设备,极大降低了维护及使用成本。

项目链接

https://aistudio.baidu.com/projectdetail/6649316

本项目中,飞桨联合Intel建设了生鲜与零售商品识别系统产业实践范例,基于PP-ShiTuV2 Pipeline详解模型训练,新品种入库,以及如何基于Intel OpenVINO™快速部署,优化CPU推理任务性能,极致利用Intel x86硬件资源。

1af60dfa31abdef346bcad492e7bd980.png场景难度

  • 物体形状千差万别,如何找到待检测的商品?

  • 商品及生鲜品种繁多,如何准确识别对应种类?

  • 使用过程中,商品及生鲜品类迭代速度快,如何减少模型更新成本?

cc7d3ff048f7a67b22686ae7450eb211.png

方案设计

如图所示,针对以上问题,我们使用图中的Pipeline以解决上述问题。整个Pipeline中,主要分为三部分:

主体检测

检测出待识别的商品,去掉冗余的背景信息,提高生鲜品识别的精度;

特征提取

将待识别的生鲜品图像进行提取特征;

检索模块

将待检索的特征与库中的生鲜品特征比对,得到待检索生鲜品的标签。

0acbcbb70443f357d75408bf1fd0acee.png

630f93077416210f2da124c5bb68acaa.png

模型优化策略和效果

主体检测

主题检测是目前应用非常广泛的一种检测技术,它指的是检测出图片中一个或者多个主体的坐标位置,然后将图像中的对应区域裁剪下来进行识别。主体检测是识别任务的前序步骤,输入图像经过主体检测后再进行识别,可以过滤复杂背景,有效提升识别精度。考虑到检测速度、模型大小、检测精度等因素,最终选择 PaddleDetection 自研的轻量级模型 PicoDet-LCNet_x2_5 作为PP-ShiTuV2 的主体检测模型,PicoDet系列模型融合了ATSS、Generalized Focal Loss、余弦学习率策略、Cycle-EMA、轻量级检测 head等优化算法,此外为了更好地兼顾检测速度与效果,PicoDet-LCNet_x2_5将neck 中的 CSP module 换成了LCNet module。

特征提取

特征提取是图像识别中的关键一环,它的作用是将输入的图片转化为固定维度的特征向量,用于后续的向量检索。考虑到特征提取模型的速度、模型大小、特征提取性能等因素,最终选择 PaddleClas 自研的PPLCNetV2_base作为特征提取网络。PP-LCNetV2 模型是在 PP-LCNetV1 的基础上优化而来,主要使用重参数化策略组合了不同大小卷积核的深度卷积,并优化了点卷积、Shortcut等。相比 PP-ShiTuV1 所使用的 PPLCNet_x2_5, PPLCNetV2_base 基本保持了较高的分类精度,并节省了40%的推理时间。

bb59a65c1fec2e864bd6f86131027dbe.png模型部署

使用OpenVINO™作为推理后端,倍数级提升任务在CPU侧的处理速度。

采用通用性极高的x86的平台作为模型部署设备,可充分利用并实现多任务负载,无需购置额外的加速卡设备,大大节省项目成本。

本项目的最终部署环境为:Intel x86平台设备。考虑开发便捷性,本次示例使用python部署开发环境,该系统是商品检测、商品特征提取以及商品检索三大任务所构建的Pipeline,可以实现基于本地数据仓库的轻量化零售商品识别系统。在星河社区也提供了完整的使用示例与开发说明,可参考该教程快速学习,并针对实际项目进行开发和集成。

a967d4e8d3f6389d650bba1112e473c3.png

精彩课程预告

为了让小伙伴们更便捷地应用范例教程,OpenVINO™软件开发工程师Ethan将于8月31日(周四)19:00为大家深度解析从数据准备、方案设计到模型优化部署的开发全流程,手把手教大家进行代码实践。

扫码报名直播课,加入技术交流群

719532429fda3e50c0da1b97f9e4c5a9.jpeg

11ca81ed09f1c72624ad18f305e2d96d.png

7859529dfca228e54e479660f7bba41d.png

bbb86afbad8889d88e510569b9ce49a8.png

cfd766b529491701249b6c2866bb744d.png


87213d82026e80d27c52aa317f039bc8.gif

关注【飞桨PaddlePaddle】公众号

获取更多技术内容~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/948832.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MindSponge分子动力学模拟——软件架构(2023.08)

技术背景 在前面一篇文章中,我们介绍了MindSponge的两种不同的安装与使用方法,让大家能够上手使用。这篇文章主要讲解MindSponge的软件架构,并且协同mindscience仓库讲解一下二者的区别。 整体架构 首先我们来了解一下MindSponge独立仓库的软…

day28 异常

to{}catch{} try{}catch{}的流传输 try {fis new FileInputStream("file-APP\\fos.txt");fos new FileOutputStream("fos.txt");int a ;while ((a fis.read())! -1){fos.write(a);}System.out.println(a); } catch (IOException e) {e.printStackTrace()…

ECharts图表动态修改series显示隐藏

文章目录 1、前言2、思路3、实现 1、前言 最近做的大数据平台,里面很多部分用到了ECharts,其中有个功能,要求将图表分组,根据用户选择的组,来确定ECharts要显示那些线条和柱子,也就是动态的显示option.seri…

习题练习 C语言(暑期第三弹)

自我小提升! 前言一、存储地址二、逗号表达式三、除自身以外数组的乘积四、字节与二进制五、符号计算六、不用加减乘除做加法七、unsigned判断八、移位计算九、sizeof宏十、移位计算十一、移位计算十二、优先级判断十三、单词倒排总结 前言 重要的事说三遍&#xf…

仓储24代电子标签操作指导

服务器使用 服务器环境需求 数据库:Mysql5.7 Java环境:jdk1.8 软件容器: Tomcat8.5/9.0 软件部署步骤 mysql5.7, 创建db_wms数据库并导入原始数据库文件 安装jdk1.8, 配置java环境变量 下载tomca8.0, 部署wms.war到tomcat, 并启动tomc…

一体化智能可观测平台助力车企数智化转型

8月24日,博睿数据主办的《"车程ONE里,万事大吉" - 可观测性在汽车行业的应用与发展网络分享会》开播,邀请了博睿数据全国汽车行业负责人吴伟硕和博睿数据资深技术专家向涛做客直播间,分享汽车企业数字化转型的故事&…

恒运资本:华为Mate 60 Pro突然发售拉动半导体股,中芯国际等开盘涨超5%

8月30日,受华为突然发售Mate 60 Pro手机影响,A股开盘后半导体板块迅速拉升,伟测科技、美芯晟涨超10%,利扬芯片、唯捷创芯、芯动联科、中芯世界、华虹公司等涨超5%。 恒运资本平台(百度搜索恒运资本)是深圳…

QT生成可执行文件

有时候为方便在没有QT电脑上执行程序,需要生成可执行文件 1.在计算机任意英文路径下新建一个文件夹。本文在F:\QTproject\hisiupdate下创建了test文件夹。将QT工程运行Release生成的build-update-MinGW-Release文件夹下Release下.exe文件拷贝到新建的test文件夹下。…

【数据结构-链表-01】反转链表

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…

基于swing的图书管理系统java书店信息 jsp源代码Mysql

本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 基于swing的图书管理系统 系统有1权限:管理员 二、主…

Ansible学习笔记6

stat模块:获取文件的状态信息,类似Linux的stat状态。 获取/etc/fstab文件的状态。 [rootlocalhost tmp]# ansible group1 -m stat -a "path/etc/fstab" 192.168.17.106 | SUCCESS > {"ansible_facts": {"discovered_inter…

数据通信——传输层TCP(可靠传输原理的ARQ)

引言 上一篇讲述了停止等待协议的工作流程,在最后提到了ARQ自动请求重传机制。接下来,我们就接着上一篇的篇幅,讲一下ARQ这个机制 还是这个图来镇楼 ARQ是什么? 发送端对出错的数据帧进行重传是自动进行的,因而这种…

《Go 语言第一课》课程学习笔记(十三)

方法 认识 Go 方法 Go 语言从设计伊始,就不支持经典的面向对象语法元素,比如类、对象、继承,等等,但 Go 语言仍保留了名为“方法(method)”的语法元素。当然,Go 语言中的方法和面向对象中的方…

高忆管理:培育钻石价格大跌,力量钻石等多家概念股业绩下滑

8月29日,培养钻石板块直线拉升,其间沃尔德(688028.SH)涨幅达10.89%,力气钻石(301071.SZ)、惠丰钻石(839725.BJ)、四方达(300179.SZ)、黄河旋风(600172.SH&…

【STM32】学习笔记(TIM定时器)-江科大

TIM(Timer)定时器 定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断 16位计数器、预分频器、自动重装寄存器的时基单元,在72MHz计数时钟下可以实现最大59.65s的定时 不仅具备基本的定时中断功能,而且…

SpringBoot实现简单的登录验证码

参考了一些资料,完成了这个验证码的功能,下面记录一下功能的实现过程。 一、效果图 二、实现原理 后台生成验证码图片,将图片传到前台。后台在session中保存验证码内容。前台输入验证码后传到后台在后台取出session中保存的验证码进行校验。…

x86架构 指令INT3只有一个字节的原因

文章目录 一、单字节原因简介二、断点原理三、单字节具体原因参考资料 一、单字节原因简介 INT3指令生成一个特殊的单字节操作码(CC),用于调用调试异常处理程序。(这种单字节形式很有价值,因为它可以用来用断点替换任何…

冠达管理:火爆!拼多多飙涨15%,中概股沸腾!这些外资巨头唱多中国资产

当地时间8月29日,美国三大股指团体收涨,道指涨0.85%,标普500指数涨1.45%,纳指涨1.74%。科技股大涨,特斯拉涨7.69%,英伟达涨4.16%。纳斯达克我国金龙指数收涨3.7%,拼多多涨超15%。 广东研山私募…

开源百度电商小程序源码 含完整代码包+安装部署教程 一键搭建商城小程序

分享一款开源百度电商小程序源码,含完整代码包安装部署教程,一键搭建商城小程序,源码开源可二开,已测试完美运营版,帮你一键搭建百度商城小程序,含多套模板、自由DIY功能和完整的搭建部署教程。程序支持除百…

微信测试号实现微信分享等功能

目录 1 申请微信测试号 2 测试号信息 3 下载微信的测试代码 4 将下载的代码放到自己的服务器上 5 接口配置信息 6 JS安全域名 ​7 扫码关注,只有关注的微信号才能测试 ​8 修改sample.php文件 9 在微信上打开,并分享 10 问题 1 申请微信测试号 …