Skip to content

triplet loss, focal loss, circle softmax, cos softmax, arc softmax

License

Notifications You must be signed in to change notification settings

bingyulab/imageRecognition

Repository files navigation

Image Recognition

本项目用于构建图像类识别以及验证。

环境

conda activate darwinml_ve_2.3

数据收集

人脸数据

  • 1. 下载格林深瞳开源数据集 (共计9.4万ID,280万张图片)。

  • 更多数据可以查看

  • 此外格林深瞳数据使用mxnet存储,可以使用python data/preprocess.py 进行处理。 (其中age30, cfp-fp, lfw等为人脸的测试数据)

  • 若使用格林深瞳数据 需要 pip install -r requirments.txt

  • 2. 更新环境变量 export PYTHONPATH=$model/facenet/src:$PYTHONPATH$model 代表本代码所在目录)

  • 3. 运行如下命令crop出人脸所在区域

python facenet/src/align/align_dataset_mtcnn.py ../datasets/asian_face/raw/ ../datasets/asian_face/imgs/ --image_size 112

如果识别对别其他类型数据, 需要得到大小为[112, 112]的图像, align后的图像保存在$data/imgs

  • 也可以使用其他align model对齐人脸

公章数据

  • 1. 使用fake 公章 + 真实公章数据。 抽取20% fake 公章 + 真实公章数据作为test 数据。
  • 需要大量各类型数据

  • fake 公章最好支持各种真实场景,如不同底纹, 不同来源(拍照, 影印等), 不同角度等

  • 2. 需要公章目标检测模型检测公章

  • 3. 对其公章模型

  • 4. 生成测试数据的pair文件

  • 更新环境变量 export PYTHONPATH=$model:$PYTHONPATH

  • data目录下运行python generate_pairs.py。 需要修改代码中的测试数据集的路径。

  • test 数据集最好人工review,且固定不变。因为需要根据test 数据集生成best thresho

数据统一格式

数据统一格式如下($data 代表数据所在目录),



$data/raw/
       ---> id1
            ---> id1_1.jpg
       ---> id2
            ---> id2_1.jpg
       ---> id3
            ---> id3_1.jpg
            ---> id3_2.jpg

训练模型

参数配置

全部参数设置位于config/default.py, 针对新模型,只需要新建config/XX.yaml文件,并设置对应参数即可。同时需要修改train.py中yaml 文件路径

训练

python train.py --config config/XX.yaml

模型结构

数据清洗

  • 数据增强

BACKBONE

  • resnet 50/ 100
  • mobilenet

METRIC

  • ARC SOFTMAX
  • COS SOFTMAX
  • CIRCLE SOFTMAX

LOSS

  • FOCAL LOSS
  • CIRCLE LOSS
  • TRIPLET LOSS

LOSS COMBINE

  • average
  • 自定义系数

OPTIMIZATION

  • SGD
  • ADAM
  • OTHER

ADAPTIVE LR

  • CosineAnnealingLR
  • OTHER

模型预测

python test.py --config config/XX.yaml --threshold

注: 代码中包含MTCNN的模型对齐。 如果是非人脸类其他数据, 需要修改代码。

实时对比

  • 图像Verification 后续加入机器学习分类模型, 如SVM判断是否为同一人。

  • 图像Recognition 需要将imagebank 中的图像加载至内存中。 imagebank数据量如果过大, 推荐使用faiss进行检索。

Reference

facenet & triplet loss
focal loss
circle loss
cosface
arcface

About

triplet loss, focal loss, circle softmax, cos softmax, arc softmax

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published