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

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

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

  • 条形码方式:对于成品包装的商品较为成熟,但生鲜产品本身“无码可扫”;
  • RFID方式:所需的额外费用难以长期承担;
  • 生鲜称重方式:对于相同品种不同单价的商品无法很好区分,需要人工辨别商品品种,效率较低。

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

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

项目链接

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

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

场景难度

  • 物体形状千差万别,如何找到待检测的商品?
  • 商品及生鲜品种繁多,如何准确识别对应种类?
  • 使用过程中,商品及生鲜品类迭代速度快,如何减少模型更新成本?

方案设计

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

主体检测

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

特征提取

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

检索模块

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

模型优化策略和效果

主体检测

主题检测是目前应用非常广泛的一种检测技术,它指的是检测出图片中一个或者多个主体的坐标位置,然后将图像中的对应区域裁剪下来进行识别。主体检测是识别任务的前序步骤,输入图像经过主体检测后再进行识别,可以过滤复杂背景,有效提升识别精度。考虑到检测速度、模型大小、检测精度等因素,最终选择 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%的推理时间。

模型部署

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

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

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

图片

精彩课程预告

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

8.30海报.jpg

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

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

相关文章

石油化工智慧安监方案:TSINGSEE青犀视频AI智能识别安全生产风险预警平台建设

一、行业背景 石油化工生产存储企业属于高温、高压、易燃、易爆、有毒的危险行业,其生产装置大型化、密集化、生产工艺复杂、生产过程紧密耦合。随着互联网技术的发展,运用先进的AI、物联网、大数据、云计算等技术手段不断提高石油化工行业的安全监管水…

自动化方案不合理的原因浅析

前言 一直以来,测试团队都面临一个迫在眉睫的问题:自动化测试收效甚微,甚至被认为是”为了实现自动化而自动化“。之前写过一篇博客自动化测试的评价维度,其实自动化的评价不乏有其他的评价指标。但这里想说的一点是,自…

【DevOps视频笔记】8. Jenkins 配置

一、Jenkins 入门配置 1. 工具 / 插件 介绍 二、插件和工具配置 1. 配置 JDK 和 Maven Stage 1:将服务器中 JDK 和 Maven 映射到 jenkins 容器中 Stage 2:jenkins 全局配置中 -- 指定JAVA_HOME目录 Stage 3:jenkins 全局配置中 -- 指定…

Stable Diffusion 从入门到企业级实战0401

一、概述 本章是《Stable Diffusion 从入门到企业级实战》系列的第四部分能力进阶篇《Stable Diffusion ControlNet v1.1 图像精准控制》第01节, 利用Stable Diffusion ControlNet Inpaint模型精准控制图像生成。本部分内容,位于整个Stable Diffusion生…

2. 安装Memcached

官网下载 下载地址 安装依赖 yum install libevent libevent-devel -y 下载软件包:(1/3): libevent-devel-1.4.13-4.el6.x86_64.rpm (2/3): libevent-doc-1.4.13-4.el6.noarch.rp…

Git小白入门——上手实操之创建仓库和代码提交

版本库 什么是版本库呢?版本库又名仓库,英文名repository,简单理解成一个目录,目录里的所有文件都可以被Git管理,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或…

用Kubernetes(k8s)的ingress部署https应用

用Kubernetes的ingress部署https应用 环境准备Ingress安装域名证书准备 部署应用通过ingress暴露应用根据ssl证书生成对应的secret创建ingress暴露部署的应用确认自己安装了ingress创建ingress 访问你暴露的应用 环境准备 Ingress安装 我之前有一片文章写的是用ingress暴露应…

vite 配置自动补全文件的后缀名

vite 不建议自动补全,文件的后缀名的 const Home ()>import("/views/Home.vue");文件是必须要加上 .vue 的后缀名的 如果 想要像 webpack 一样的不用写, 可以在vite.config.js中配置如下就可以了

go锁-互斥锁

go锁-互斥锁 sema初始值是0,waitershift等待协程的数量 正常枷锁: 尝试CAS直接加锁,通过原子包给lockerd 为枷锁 若无法直接获取,进行多次自旋尝试,未获取到的锁的g ,多次执行空语句,多次尝试…

Scala中的样例类和样例对象和JAVA存根类

Scala中的样例类和样例对象 在 Scala 中,样例类(case class)和样例对象(case object)都是用于定义不可变数据类型的特殊类和对象。它们被广泛用于模式匹配、代数数据类型(Algebraic Data Types&#xff09…

CCF CSP题解:重复局面(202305-1)

链接和思路 OJ链接&#xff1a;传送门 本题思路很简单&#xff0c;只需要把国际象棋的局面单独标识即可。我使用C容器map&#xff0c;注意需要重载运算符<。 AC代码 #include <iostream> #include <map>using namespace std;struct State {string line[8];b…

软件测试/测试开发丨Selenium Web自动化测试基本操作

点此获取更多相关资料 本文为霍格沃兹测试开发学社学员学习笔记分享 原文链接&#xff1a;https://ceshiren.com/t/topic/26901 一、浏览器控制 模拟功能测试中对浏览器的操作 1.1、打开网页 get方法打开浏览器 def open_browser():driver webdriver.Chrome()driver.get(&qu…

VS + QT 封装带UI界面的DLL

一、创建编译DLL的项目 1.新建Qt Class Liabrary 2.新建项目&#xff0c;选择Qt Widgets Class 3.新建C类&#xff0c;可以在此类里面写算法函数用于调用。 4.下面是添加完Qt窗体类和C类之后的项目截图 5.修改头文件并编译 将uidemo_global.h中的ifdef内容复制到dialog.h上…

日志记录一

我们知道&#xff0c;当注释掉配置环境变量 export ……之后&#xff0c;需要source ……之后&#xff0c;修改内容才能生效&#xff1b;例如&#xff1a;将export的Java环境变量注释掉或者删除掉后&#xff0c; vi /etc/profile source /etc/profile 使之生效。 但是&#xf…

Docker:自定义镜像

&#xff08;总结自b站黑马程序员课程&#xff09; 环环相扣&#xff0c;跳过部分章节和知识点是不可取的。 一、镜像结构 镜像是分层结构&#xff0c;每一层称为一个Layer。 ①BaseImage层&#xff1a;包含基本的系统函数库、环境变量、文件系统。 ②Entrypoint&#xff1…

性能提升3-4倍!贝壳基于Flink + OceanBase的实时维表服务

作者介绍&#xff1a;肖赞&#xff0c;贝壳找房&#xff08;北京&#xff09;科技有限公司 OLAP 平台负责人&#xff0c;基础研发线大数据平台部架构师。 贝壳找房是中国最大的居住服务平台。作为居住产业数字化服务平台&#xff0c;贝壳致力于推进居住服务的产业数字化、智能…

二叉查找树(binary search tree)(难度7)

C数据结构与算法实现&#xff08;目录&#xff09; 答案在此&#xff1a;二叉查找树&#xff08;binary search tree&#xff09;&#xff08;答案&#xff09; 写在前面 部分内容参《算法导论》 基本接口实现 1 删除 删除值为value的第一个节点 删除叶子节点1 删除叶子节…

基于Android的旅游管理系统 微信小程序

随着网络科技的发展&#xff0c;移动智能终端逐渐走进人们的视线&#xff0c;相关应用越来越广泛&#xff0c;并在人们的日常生活中扮演着越来越重要的角色。因此&#xff0c;关键应用程序的开发成为影响移动智能终端普及的重要因素&#xff0c;设计并开发实用、方便的应用程序…

mysql中间件Atlas

Mysql 的 proxy 中间件有比较多的工具&#xff0c;例如&#xff0c;mysql-proxy(官方提供), atlas , cobar, mycat, tddl, tinnydbrouter等等。 ​ 而Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Pro…

2023年高教社杯数学建模思路 - 案例:感知机原理剖析及实现

文章目录 1 感知机的直观理解2 感知机的数学角度3 代码实现 4 建模资料 # 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 感知机的直观理解 感知机应该属于机器学习算法中最简单的一种算法&#xff0c;其…