add_multilingual_text_image_orientation
parent
3375336ed1
commit
1540eb34e8
|
@ -132,7 +132,11 @@ print(next(result))
|
||||||
|
|
||||||
`0` 表示阿拉伯语(arabic);`1` 表示中文繁体(chinese_cht);`2` 表示斯拉夫语(cyrillic);`3` 表示梵文(devanagari);`4` 表示日语(japan);`5` 表示卡纳达文(ka);`6` 表示韩语(korean);`7` 表示泰米尔文(ta);`8` 表示泰卢固文(te);`9` 表示拉丁语(latin)。
|
`0` 表示阿拉伯语(arabic);`1` 表示中文繁体(chinese_cht);`2` 表示斯拉夫语(cyrillic);`3` 表示梵文(devanagari);`4` 表示日语(japan);`5` 表示卡纳达文(ka);`6` 表示韩语(korean);`7` 表示泰米尔文(ta);`8` 表示泰卢固文(te);`9` 表示拉丁语(latin)。
|
||||||
|
|
||||||
在 Multi-lingual scene text detection and recognition 数据集中,仅包含了阿拉伯语、日语、韩语和拉丁语数据,这里分别将4个语种的数据各抽取100张作为本案例的demo数据,并赋予对应的标签。
|
在 Multi-lingual scene text detection and recognition 数据集中,仅包含了阿拉伯语、日语、韩语和拉丁语数据,这里分别将4个语种的数据各抽取120张作为本案例的训练数据,50张作为测试数据,以及30张作为补充数据和训练数据混合用于本案例的`SKL-UGI知识蒸馏策略`实验。
|
||||||
|
|
||||||
|
因此,对于本案例中的demo数据集,类别为:
|
||||||
|
|
||||||
|
`0` 表示阿拉伯语(arabic);`1` 表示日语(japan);`2` 表示韩语(korean);`3` 表示拉丁语(latin)。
|
||||||
|
|
||||||
如果想要制作自己的多语种数据集,可以按照需求收集并整理自己任务中需要语种的数据,此处提供了经过上述方法处理好的demo数据,可以直接下载得到。
|
如果想要制作自己的多语种数据集,可以按照需求收集并整理自己任务中需要语种的数据,此处提供了经过上述方法处理好的demo数据,可以直接下载得到。
|
||||||
|
|
||||||
|
@ -148,28 +152,31 @@ cd path_to_PaddleClas
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
cd dataset
|
cd dataset
|
||||||
wget https://paddleclas.bj.bcebos.com/data/cls_demo/language_classification_demo.tar
|
wget https://paddleclas.bj.bcebos.com/data/cls_demo/language_classification.tar
|
||||||
tar -xf language_classification_demo.tar
|
tar -xf language_classification.tar
|
||||||
cd ../
|
cd ../
|
||||||
```
|
```
|
||||||
|
|
||||||
执行上述命令后,`dataset/`下存在`language_classification_demo`目录,该目录中具有以下数据:
|
执行上述命令后,`dataset/`下存在`language_classification`目录,该目录中具有以下数据:
|
||||||
|
|
||||||
```
|
```
|
||||||
├── img
|
├── img
|
||||||
│ ├── word_1.png
|
│ ├── word_1.png
|
||||||
│ ├── word_2.png
|
│ ├── word_2.png
|
||||||
...
|
...
|
||||||
├── label.txt
|
├── train_list.txt
|
||||||
|
├── train_list_for_distill.txt
|
||||||
|
├── test_list.txt
|
||||||
└── label_list.txt
|
└── label_list.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
其中`img/`存放了4种语种的400张测试数据。`label.txt`为图片对应的的标签文件,`label_list.txt`是10类语种分类模型对应的类别列表,用这些图片可以快速体验本案例中模型的预测过程。
|
其中`img/`存放了4种语言总计800张数据。`train_list.txt`和`test_list.txt`分别为训练集和验证集的标签文件,`label_list.txt`是4类语言分类模型对应的类别列表,`SKL-UGI知识蒸馏策略`对应的训练标签文件为`train_list_for_distill.txt`。用这些图片可以快速体验本案例中模型的训练预测过程。
|
||||||
|
|
||||||
***备注:***
|
***备注:***
|
||||||
|
|
||||||
- 这里的`label_list.txt`是10类语种分类模型对应的类别列表,如果自己构造的数据集语种类别发生变化,需要自行调整。
|
- 这里的`label_list.txt`是4类语种分类模型对应的类别列表,如果自己构造的数据集语种类别发生变化,需要自行调整。
|
||||||
- 如果想要自己构造训练集和验证集,可以参考[PaddleClas分类数据集格式说明](../data_preparation/classification_dataset.md#1-数据集格式说明) 。
|
- 如果想要自己构造训练集和验证集,可以参考[PaddleClas分类数据集格式说明](../data_preparation/classification_dataset.md#1-数据集格式说明) 。
|
||||||
|
- 当使用本文档中的demo数据集时,需要添加`-o Arch.class_num=4`来将模型的类别书指定为4。
|
||||||
|
|
||||||
<a name="3.3"></a>
|
<a name="3.3"></a>
|
||||||
|
|
||||||
|
|
|
@ -43,12 +43,12 @@
|
||||||
| 模型 | 精度(%) | 延时(ms) | 存储(M) | 策略 |
|
| 模型 | 精度(%) | 延时(ms) | 存储(M) | 策略 |
|
||||||
| ----------------------- | --------- | ---------- | --------- | ------------------------------------- |
|
| ----------------------- | --------- | ---------- | --------- | ------------------------------------- |
|
||||||
| SwinTranformer_tiny | 99.12 | 89.65 | 107 | 使用ImageNet预训练模型 |
|
| SwinTranformer_tiny | 99.12 | 89.65 | 107 | 使用ImageNet预训练模型 |
|
||||||
| MobileNetV3_small_x0_35 | 83.72 | 2.95 | 17 | 使用ImageNet预训练模型 |
|
| MobileNetV3_small_x0_35 | 83.61 | 2.95 | 17 | 使用ImageNet预训练模型 |
|
||||||
| PPLCNet_x1_0 | 97.85 | 2.16 | 6.5 | 使用ImageNet预训练模型 |
|
| PPLCNet_x1_0 | 97.85 | 2.16 | 6.5 | 使用ImageNet预训练模型 |
|
||||||
| PPLCNet_x1_0 | 98.02 | 2.16 | 6.5 | 使用SSLD预训练模型 |
|
| PPLCNet_x1_0 | 98.02 | 2.16 | 6.5 | 使用SSLD预训练模型 |
|
||||||
| **PPLCNet_x1_0** | **99.06** | **2.16** | **6.5** | 使用SSLD预训练模型+SHAS超参数搜索策略 |
|
| **PPLCNet_x1_0** | **99.06** | **2.16** | **6.5** | 使用SSLD预训练模型+SHAS超参数搜索策略 |
|
||||||
|
|
||||||
从表中可以看出,backbone 为 SwinTranformer_tiny 时精度比较高,但是推理速度较慢。将 backboone 替换为轻量级模型 MobileNetV3_large_x1_0 后,精度和速度都有了提升,但速度还有一定的提升空间。将 backbone 替换为 PPLCNet_x1_0 时,精度较 MobileNetV3_large_x1_0 低1.5个百分点,但是速度提升 2 倍左右。在此基础上,使用 SSLD 预训练模型后,在不改变推理速度的前提下,精度可以提升 0.17 个百分点,进一步地,当使用SHAS超参数搜索策略搜索最优超参数后,精度可以再提升 1.04 个百分点。此时,PPLCNet_x1_0 与 MobileNetV3_large_x1_0 和 SwinTranformer_tiny 的精度差别不大,但是速度明显变快。关于 PULC 的训练方法和推理部署方法将在下面详细介绍。
|
从表中可以看出,backbone 为 SwinTranformer_tiny 时精度比较高,但是推理速度较慢。将 backboone 替换为轻量级模型 MobileNetV3_small_x0_35 后,速度提升明显,但精度有了大幅下降。将 backbone 替换为 PPLCNet_x1_0 时,速度略为提升,同时精度较 MobileNetV3_small_x0_35 高了 14.24 个百分点。在此基础上,使用 SSLD 预训练模型后,在不改变推理速度的前提下,精度可以提升 0.17 个百分点,进一步地,当使用SHAS超参数搜索策略搜索最优超参数后,精度可以再提升 1.04 个百分点。此时,PPLCNet_x1_0 与 SwinTranformer_tiny 的精度差别不大,但是速度明显变快。关于 PULC 的训练方法和推理部署方法将在下面详细介绍。
|
||||||
|
|
||||||
**备注:**关于PPLCNet的介绍可以参考[PPLCNet介绍](../models/PP-LCNet.md),相关论文可以查阅[PPLCNet paper](https://arxiv.org/abs/2109.15099)。
|
**备注:**关于PPLCNet的介绍可以参考[PPLCNet介绍](../models/PP-LCNet.md),相关论文可以查阅[PPLCNet paper](https://arxiv.org/abs/2109.15099)。
|
||||||
|
|
||||||
|
@ -148,12 +148,12 @@ cd path_to_PaddleClas
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
cd dataset
|
cd dataset
|
||||||
wget https://paddleclas.bj.bcebos.com/data/cls_demo/text_image_orientation_demo.tar
|
wget https://paddleclas.bj.bcebos.com/data/cls_demo/text_image_orientation.tar
|
||||||
tar -xf text_image_orientation_demo.tar
|
tar -xf text_image_orientation.tar
|
||||||
cd ../
|
cd ../
|
||||||
```
|
```
|
||||||
|
|
||||||
执行上述命令后,`dataset/`下存在`text_image_orientation_demo`目录,该目录中具有以下数据:
|
执行上述命令后,`dataset/`下存在`text_image_orientation`目录,该目录中具有以下数据:
|
||||||
|
|
||||||
```
|
```
|
||||||
├── img_0
|
├── img_0
|
||||||
|
|
|
@ -37,7 +37,7 @@ Optimizer:
|
||||||
momentum: 0.9
|
momentum: 0.9
|
||||||
lr:
|
lr:
|
||||||
name: Cosine
|
name: Cosine
|
||||||
learning_rate: 1.5
|
learning_rate: 1.3
|
||||||
warmup_epoch: 5
|
warmup_epoch: 5
|
||||||
regularizer:
|
regularizer:
|
||||||
name: 'L2'
|
name: 'L2'
|
||||||
|
|
Loading…
Reference in New Issue