18M 超轻量系统开源

2023-11-10

图像识别作为深度学习算法的主流实践应用方向,早已在生活的各个领域发挥作用,如安全检查和身份核验时的人脸识别、无人货架和智能零售柜中的商品识别,这些任务背后的关键技术都在于此。

图1 PP-ShiTu应用于商品识别效果示意(开发者应用展示)

然而实现理想的识别效果并不是一件简单的事:

  • 针对海量数据问题而言,如何实现一个通用的方法在不同的数据集中都有很好的表征能力?

  • 不同物体间的差别可能极其微小,即使是同种物体,也会受到外界干扰呈现不同形态,究竟如何进行有效区分?

  • 识别需求更新频繁,使用单一的分类或者检测模型只能不断增加训练集重训模型,怎样才能降低开发成本,快速跟上迭代步伐?

PP-ShiTu核心技术解读

针对以上技术难点,PaddleClas推出的通用图像识别系统PP-ShiTu均可以完美解决,它不仅有高水平的特征学习能力,对新出现的类别也可以在不用重新训练算法的情况下,直接通过配置检索库的方式实现识别。

⭐ 项目链接 ⭐

https://github.com/PaddlePaddle/PaddleClas

PaddleClas所有源码及教程均已开源,欢迎大家使用,并Star鼓励~

这样的特殊能力,得益于PP-ShiTu引入目标检测、度量学习、图像检索等技术,并将每个模块性能最大化,才构建成了统一、通用的图像识别系统:

图2 PP-ShiTu架构示意图

  • 主体检测:不同于一般的目标检测,主体检测是将目标物体和背景区分开来,能够有效减少干扰特征。PP-ShiTu中所采用的是目标检测模型PP-PicoDet,不仅预测速度超快,精度上也达到了SOTA,为后续的准确识别打下坚实基础;

图3 PP-PicoDet在 COCO2017-val上的 mAP 对比

  • 特征提取:作为图像识别系统的重点工作,PP-ShiTu是采用CPU级轻量化骨干网络PP-LCNet,并结合度量学习arcmargin算法,对高相似物体的区分效果远超单一模型,不仅准确率超越大模型ResNet50,预测速度还能快3倍!再加上经过18w类数据集打磨的预训练权重,不用再费心选择,一个模型就可以实现多场景覆盖。

图4 训练数据及部分测试数据示例

  • 向量检索:不同于单一模型直接输出类别信息,对于未知类别只有模型重训一个选择,耗时又耗力。PP-ShiTu引入向量检索,通过计算目标物体和检索库中图像的相似度来输出类别信息,一次训练长期使用,高效又便捷。

图5 端侧新类别建立索引流程(开发者应用展示)

升级版PP-ShiTu欢迎使用

时隔数月,PaddleClas 新版本v2.3.1为大家带来了更加轻量化的图像识别系统PP-ShiTu。核心功能点如下:

  • 升级版PP-ShiTu大小仅18M,完美支持移动端需求

  • 支持基于C++的服务化部署,部署效率大幅提升

  • 支持移动端Paddle Lite部署教程,手机上也能轻松实现图像识别

图6 手机识别效果展示(开发者应用展示)

PP-ShiTu的使用也是十分简单、方便,在完成环境配置后只需三步即可完成快速体验:

第一步:下载 Inference 模型

第二步:构建索引

第三步:完成单张/批量图像识别

详细文档,请参考:

https://github.com/PaddlePaddle/PaddleClas/blob/release/2.3/docs/zh_CN/quick_start/quick_start_recognition.md

更有完整流程演示,可参考AI Studio项目:https://aistudio.baidu.com/aistudio/projectdetail/3445604

共建开源生态

自PP-ShiTu发布以来,引起了众多开发者的广泛关注。华东理工大学的高材生颜鑫,也是飞桨领航团的团长,带领团队基于PP-ShiTu开发了一套智能购物平台系统:通过图像即可精准识别顾客购买的商品,并返回完整的购物清单及应付价格,为智能货柜提供了非常好的视觉化解决方案。

链接指路:

https://github.com/thomas-yanxin/Smart_container

图7 智能结算平台架构示意图

与此同时,我们也力求为开源社区的繁荣作出贡献,希望PP-ShiTu的算法本身以及优化思路,可以在给业界开发者带来更好网络的同时,也带来更多的算法优化启发,为中国的开源发展贡献一份力量。

如果您想详细了解更多飞桨的相关内容,请参阅以下文档。

官网地址:

https://www.paddlepaddle.org.cn

PaddleClas项目地址:

GitHub: 

https://github.com/PaddlePaddle/PaddleClas/tree/develop

Gitee: 

https://gitee.com/paddlepaddle/PaddleClas

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

18M 超轻量系统开源 的相关文章

随机推荐

  • 元素和小于等于阈值的正方形的最大边长

    LeetCode 1292 元素和小于等于阈值的正方形的最大边长 给你一个大小为 m x n 的矩阵 mat 和一个整数阈值 threshold 请你返回元素总和小于或等于阈值的正方形区域的最大边长 如果没有这样的正方形区域 则返回 0 示
  • QT 信号发送多个参数

    你可以把多个参数包装为一个类发送 实测是可以的
  • DBUS及常用接口介绍

    1 概述 1 1 DBUS概述 DBUS是一种高级的进程间通信机制 DBUS支持进程间一对一和多对多的对等通信 在多对多的通讯时 需要后台进程的角色去分转消息 当一个进程发消息给另外一个进程时 先发消息到后台进程 再通过后台进程将信息转发到
  • Caused by: java.lang.ClassNotFoundException: org.springframework.core.KotlinDetector

    Exception in thread main java lang IllegalArgumentException Cannot instantiate interface org springframework context App
  • win下从NUMA节点分配内存

    微软官网链接 https docs microsoft com zh cn windows win32 memory allocating memory from a numa node redirectedfrom MSDN 示例代码 d
  • Java高级教程

    Java高级教程 Java11文档 Java数据结构 Java工具包提供了强大的数据结构 在Java中的数据结构主要包括以下几种接口和类 枚举 Enumeration 位集合 BitSet 向量 Vector 栈 Stack 字典 Dict
  • Error loading workspace: You are outside of a module and outside of $GOPATH/src. If you are using mo

    1 描述 如果你使用vsCode去编译 go 项目的时候 出现这个错误 那么并不是你的go moudle 除了问题 同时你会发现执行Run Code也是执行失败的 2 原因 你的工作区默认是项目根目录 但你单开的文件并不是项目根目录 3 解
  • lvgl8.2 img 图片显示

    1 lvgl 图片显示源 为了提供良好的图片显示灵活性 所以显示图像的来源可以是以下三种 代码中的一个变量 一个带有像素颜色数据的 C 数组 存储在外部的文件 比如 SD 卡 带有符号的文本 2 内部图片 对于源码内部图片 将图片转换为图片
  • 前端自动化测试——vue单元测试vue-test-utils

    自动化测试分类 单元测试 单元测试 unit testing 是指对软件中的最小可测试单元进行检查和验证 简单来说 单元就是人为规定的最小的被测功能模块 可能是一个单一函数或方法 一个完整的组件或类 单元测试是最小巧也是最简单的测试 它们通
  • paddlelite编译python版: FIND_PACKAGE called with invalid argument或者fatal: no tag exactly matches 。【已解决】

    报错1 不是这个原因 这个错误不会影像编译 fatal no tag exactly matches 518238f89e84868d666b5cbe6860788934f290d7 tag branch develop commit 51
  • TCP flag注释

    http blog csdn net wisage article details 6049733 三次握手Three way Handshake 一个虚拟连接的建立是通过三次握手来实现的 1 B gt SYN gt A 假如服务器A和客户
  • 【华为OD机试】寻找相同子串(C++ Python Java)2023 B卷

    时间限制 C C 1秒 其他语言 2秒 空间限制 C C 262144K 其他语言524288K 64bit IO Format lld 语言限定 C clang11 C clang 11 Pascal fpc 3 0 2 Java jav
  • 若依系统(Ruoyi-Vue)去除redis数据库

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 目的 一 去除redis 配置 二 去除ruoyi framework下RedisConfig的配置 三 在ruoyi common的core redis下新建My
  • 领域驱动设计-Domain-Driven-Design概念

    2021了 你应该要了解DDD了 不然领导和你吹牛你都听不懂 或者你都没法和别人吹牛了 一 Evans DDD 是什么 1 1 背景 2002年 敏捷宣言诞生 时代处于 CS 到 BS 的转换时期 2003年 Eric Evans 发表 l
  • angular?!小白修仙之路……

    一 简介 Angular是一个功能非常完备的前端框架 最早由 Misko Hevery 等人创建 2009 年被Google 公式收购 用于其多款产品 Angular基于TypeScript 通过增强HTML的方式提供一种便捷开发Web应用
  • 【100%通过率 】【华为OD机试 c++ 】不含 101 的数【2023 Q1

    华为OD机试 题目列表 2023Q1 点这里 2023华为OD机试 刷题指南 点这里 题目描述 小明在学习二进制时 发现了一类不含 101的数 也就是 将数字用二进制表示 不能出现 101 现在给定一个整数区间 l r 请问这个区间包含了多
  • 【python 多线程存数据lock(锁)】

    多线程存数据不会数据丢失 案例一 这里只是简单的线程池 import os from concurrent futures import ThreadPoolExecutor from time import perf counter im
  • PTA-计算工资

    计算工资 某公司员工的工资计算方法如下 一周内工作时间不超过40小时 按正常工作时间计酬 超出40小时的工作时间部分 按正常工作时间报酬的1 5倍计酬 员工按进公司时间分为新职工和老职工 进公司不少于5年的员工为老职工 5年以下的为新职工
  • TypeScript 之类型判断

    在使用 Angular 做项目的时候 对 TypeScript 的类型判断不太熟练 为了方便查找 特意对 TypeScript 的类型判断做了简单梳理 文章只是 TS 官网的内容摘要 没有高深的知识 想要深入学习 TS 还要看官网文档 基础
  • 18M 超轻量系统开源

    图像识别作为深度学习算法的主流实践应用方向 早已在生活的各个领域发挥作用 如安全检查和身份核验时的人脸识别 无人货架和智能零售柜中的商品识别 这些任务背后的关键技术都在于此 图1 PP ShiTu应用于商品识别效果示意 开发者应用展示 然而