PaddleClas/docs/zh_CN/application/cartoon_character_recogniti...

47 lines
2.7 KiB
Markdown
Raw Normal View History

# 动漫人物识别
## 简介
自七十年代以来人脸识别已经成为了计算机视觉和生物识别领域研究最多的主题之一。近年来传统的人脸识别方法已经被基于卷积神经网络CNN的深度学习方法代替。目前人脸识别技术广泛应用于安防、商业、金融、智慧自助终端、娱乐等各个领域。而在行业应用强烈需求的推动下动漫媒体越来越受到关注动漫人物的人脸识别也成为一个新的研究领域。
## 数据集
近日来自爱奇艺的一项新研究提出了一个新的基准数据集名为iCartoonFace。该数据集由 5013 个动漫角色的 389678 张图像组成,并带有 ID、边界框、姿势和其他辅助属性。 iCartoonFace 是目前图像识别领域规模最大的卡通媒体数据集,而且质量高、注释丰富、内容全面,其中包含相似图像、有遮挡的图像以及外观有变化的图像。
与其他数据集相比iCartoonFace无论在图像数量还是实体数量上均具有明显领先的优势:
![icartoon](../../images/icartoon1.png)
论文地址https://arxiv.org/pdf/1907.1339
### 1.2 数据预处理
由于原始的数据集中图像包含标注的检测框在识别阶段只考虑检测器抠图后的logo区域因此采用原始的标注框抠出Logo区域图像构成训练集排除背景在识别阶段的影响。对数据集进行划分产生155427张训练集覆盖3000个logo类别同时作为测试时gallery图库3225张测试集用于作为查询集。抠图后的训练集可[在此下载](https://arxiv.org/abs/2008.05359)
- 图像`Resize`到224
- 随机水平翻转
- [AugMix](https://arxiv.org/abs/1912.02781v1)
- Normlize归一化到0~1
- [RandomErasing](https://arxiv.org/pdf/1708.04896v2.pdf)
## 2 Backbone的具体设置
具体是用`ResNet50`作为backbone主要做了如下修改
- 使用ImageNet预训练模型
- last stage stride=1, 保持最后输出特征图尺寸14x14
- 在最后加入一个embedding 卷积层特征维度为512
具体代码:[ResNet50_last_stage_stride1](../../../ppcls/arch/backbone/variant_models/resnet_variant.py)
## 3 Loss的设置
在Logo识别中使用了[Pairwise Cosface + CircleMargin](https://arxiv.org/abs/2002.10857) 联合训练其中权重比例为1:1
具体代码详见:[PairwiseCosface](../../../ppcls/loss/pairwisecosface.py) 、[CircleMargin](../../../ppcls/arch/gears/circlemargin.py)
其他部分参数,详见[配置文件](../../../ppcls/configs/Logo/ResNet50_ReID.yaml)。
## 参数设置
详细的参数设置见. [ResNet50_icartoon.yaml](../../../../ppcls/configs/Cartoon/ResNet50_icartoon.yaml)