2021-12-17 15:02:38 +08:00
|
|
|
|
# 袋鼯麻麻——智能零售购物平台
|
|
|
|
|
|
2021-12-17 15:05:04 +08:00
|
|
|
|
## 项目介绍
|
2021-12-17 15:02:38 +08:00
|
|
|
|
|
|
|
|
|
### 背景简介
|
|
|
|
|
|
2021-12-17 15:05:04 +08:00
|
|
|
|
目前,在零售行业的实际运营过程中,会产生巨大的人力成本,例如导购、保洁、结算等,而其中,尤其需要花费大量的人力成本和时间成本在商品识别并对其进行价格结算的过程中,并且在此过程中,顾客也因此而需要排队等待。这样一来零售行业人力成本较大、工作效率极低,二来也使得顾客的购物体验下降。
|
2021-12-17 15:02:38 +08:00
|
|
|
|
|
2021-12-17 15:05:04 +08:00
|
|
|
|
随着计算机视觉技术的发展,以及无人化、自动化超市运营理念的提出,利用图像识别技术及目标检测技术实现产品的自动识别及自动化结算的需求呼之欲出,即自动结账系统(Automatic checkout, ACO)。基于计算机视觉的自动结账系统能有效降低零售行业的运营成本,提高顾客结账效率,从而进一步提升用户在购物过程中的体验感与幸福感。
|
2021-12-17 15:02:38 +08:00
|
|
|
|
|
|
|
|
|
### 适用场景
|
|
|
|
|
|
|
|
|
|
> 大型线下零售体验店
|
|
|
|
|
|
|
|
|
|
### 通点问题
|
|
|
|
|
|
2021-12-17 15:05:04 +08:00
|
|
|
|
1. 在大型线下零售体验店购物场景中,若顾客购买的商品较多,采用传统的条形码结算,效率较低,顾客购物体验较差;
|
|
|
|
|
2. 在大型线下零售体验店的实际运营过程中,每天都会存在商品的增添和删减,若采用传统的计算机视觉技术,即目标检测算法加持,每出现一次商品种类的增改,均需要重新训练检测模型。此过程时间成本及算力成本较高;
|
2021-12-17 17:47:27 +08:00
|
|
|
|
3.
|
|
|
|
|
4. 在大型线下零售体验店的实际运营过程中,会出现例如苹果、橙子等无法对其进行标签化定义的商品,即无法使用条形码结算方案。
|
2021-12-17 15:02:38 +08:00
|
|
|
|
|
|
|
|
|
### 解决方案
|
|
|
|
|
|
2021-12-17 15:05:04 +08:00
|
|
|
|
“**袋鼯麻麻——智能购物平台**”具体实现在零售过程中对用户购买商品的自动结算。即:利用PaddleClas团队开源的[图像识别PP-ShiTu](https://arxiv.org/pdf/2111.00775.pdf)技术,精准地定位顾客购买的商品,并进行智能化、自动化的价格结算。当顾客将自己选购的商品放置在制定区域内时,“**袋鼯麻麻——智能购物平台**”能够精准地定位识别每一个商品,并且能够返回完整的购物清单及顾客应付的实际商品总价格。而当系统有新商品增加时,本系统只需更新检索库即可,无需重新训练模型。
|
2021-12-17 15:02:38 +08:00
|
|
|
|
|
|
|
|
|
### 模型工具简介
|
|
|
|
|
|
2021-12-17 15:05:04 +08:00
|
|
|
|
飞桨图像识别套件PaddleClas是飞桨为工业界和学术界所准备的一个图像识别任务的工具集,助力使用者训练出更好的视觉模型和应用落地。
|
2021-12-17 15:02:38 +08:00
|
|
|
|
|
2021-12-17 15:05:04 +08:00
|
|
|
|
而[PP-ShiTu](https://arxiv.org/pdf/2111.00775.pdf)是一个实用的轻量级通用图像识别系统,主要由主体检测、特征学习和向量检索三个模块组成。该系统从骨干网络选择和调整、损失函数的选择、数据增强、学习率变换策略、正则化参数选择、预训练模型使用以及模型裁剪量化8个方面,采用多种策略,对各个模块的模型进行优化,最终得到在CPU上仅0.2s即可完成10w+库的图像识别的系统。
|
2021-12-17 15:02:38 +08:00
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 安装说明
|
|
|
|
|
|
|
|
|
|
### 环境要求
|
|
|
|
|
- Python >= 3.6
|
|
|
|
|
- PaddlePaddle >= 2.1
|
|
|
|
|
- Linux 环境最佳
|
|
|
|
|
|
|
|
|
|
1. 安装PaddlePaddle
|
|
|
|
|
```shell
|
|
|
|
|
pip3 install paddlepaddle-gpu --upgrade -i https://mirror.baidu.com/pypi/simple
|
|
|
|
|
```
|
|
|
|
|
具体详情可参照[PaddlePaddle安装文档](https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/develop/install/pip/linux-pip.html)
|
|
|
|
|
|
|
|
|
|
2. 安装PaddleClas
|
|
|
|
|
|
|
|
|
|
(1. 克隆 PaddleClas
|
|
|
|
|
```shell
|
|
|
|
|
git clone https://github.com/PaddlePaddle/PaddleClas.git -b release/2.3
|
|
|
|
|
```
|
|
|
|
|
如果访问 GitHub 网速较慢,可以从 Gitee 下载,命令如下:
|
|
|
|
|
```shell
|
|
|
|
|
git clone https://gitee.com/paddlepaddle/PaddleClas.git -b release/2.3
|
|
|
|
|
```
|
|
|
|
|
(2. 安装 Python 依赖库
|
|
|
|
|
|
|
|
|
|
PaddleClas 的 Python 依赖库在 `requirements.txt` 中给出,可通过如下命令安装:
|
|
|
|
|
```shell
|
|
|
|
|
pip install --upgrade -r requirements.txt -i https://mirror.baidu.com/pypi/simple
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 数据准备
|
|
|
|
|
|
|
|
|
|
### 数据集介绍
|
|
|
|
|
|
|
|
|
|
#### 数据Demo
|
|
|
|
|
|
|
|
|
|
#### 数据集格式
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 模型选择
|
|
|
|
|
|
|
|
|
|
### 套件选择
|
|
|
|
|
|
|
|
|
|
### 模型及选择思路
|
|
|
|
|
|
|
|
|
|
## 模型训练
|
|
|
|
|
|
|
|
|
|
### 训练流程
|
|
|
|
|
|
|
|
|
|
### 训练代码及可改参数
|
|
|
|
|
|
|
|
|
|
### 训练模式
|
|
|
|
|
|
|
|
|
|
## 模型评估和预测
|
|
|
|
|
|
|
|
|
|
### 评估方法介绍
|
|
|
|
|
|
|
|
|
|
### 评估代码
|
|
|
|
|
|
|
|
|
|
### bsseline指标结果
|
|
|
|
|
|
|
|
|
|
### 测试代码
|
|
|
|
|
|
|
|
|
|
### 测试效果图
|
|
|
|
|
|
|
|
|
|
## 模型导出
|
|
|
|
|
|
|
|
|
|
### 导出模型的原因
|
|
|
|
|
|
|
|
|
|
### 导出模型的代码
|
|
|
|
|
|
|
|
|
|
### 导出后的文件介绍
|
|
|
|
|
|
|
|
|
|
## 模型优化
|
|
|
|
|
|
|
|
|
|
### 模型优化思路
|
|
|
|
|
|
|
|
|
|
### 调参方案及结果
|
|
|
|
|
|
|
|
|
|
### 最优模型方案
|
|
|
|
|
|
|
|
|
|
## 模型部署
|