网址:deepinsight/insightface

环境准备:

(1)GPU,由于要用到GPU,所以GPU的环境比较重要。先要安装GPU的驱动,相应的教程,我在前几篇博客里写到,这里不再说明。 需要说明的是,如果你换过内核版本了,有些内核源码没有,CUDA10,9之间的区别,你需要重新安装内核DEV版本,这样在安装GPU驱动的时候,就会源码可以被驱动使用,这样才可以成功安装GPU的驱动。

(2)使用anaconda . 一般情况下,我们安装2.7. 需要其它环境,再安装。 在很多机器学习的教程里,我们看到了它使用2.7. 比如这个insightface的工程,其实可能是最初始的时候,他使用了2.7,但后来,很多优秀的模块构建在新的版本之上 ,其它很多依赖的环境都变化了; 但也不能最新3.7,因为很多要用的模块都还来不及构建。 所以比较合适的选择是3.6.

conda install 在无法找到要安装的模块时,anaconda search -t conda 去寻找;注意选择与你环境相符合的版本。 当然如果你选择了3.6,一般情况下都是有的。

环境非常重要,足可以让你浪费很长的时间,做到如上两点,应该可以清晰搞定环境 。

工程理解

https://github.com/deepinsight/insightface.git

对于工程的理解,应该是重点改进点在recognition上面。 这里需要知道人脸识别的几个模块。detection, alignment, verification ,identification/recognition .  所以,本工程的重点算法的改进在于recognition。而其它的模块,比如detection,可能就直接使用MTCNN。

对于工程的使用,主要是按照要求,组建好环境后,./recognition里 config.py里更改 dataset  ,数据集, batchsize与gpu个数相关,然后去dataset-zoo下载了数据集后,开始训练,这样就生成了model ,model的生成位置也是在config.py里配置。在训练的过程中,也看到了verification.

如果你懒得去训练,直接使用pre-train model 。可以去文中讲的model-zoo里去下载; 认真点的,可以再使用verification.py

src/eval/verification.py验证其精度,不认真的,直接拿去使用吧。

需要做的事

(1)训练模型与验证

如果你对精度不满意,需要改进算法,寻找 数据集,训练与验证;这应该是最累且有技术含量的活。累在数据集太大,技术含量在于算法的改进。

(2)使用模型

这块应该只是使用,没难度

(3)封装接口

基本的test完成,后如何封装成可用的服务。

src/api/app.py里看到了相应的源码。 但封装的太少。 使用了flake简单提供了下API接口。 里面的test也可以使用。

有个好的工程

https://github.com/SthPhoenix/InsightFace-REST 通过源码  docker两种 方式 进行了封装的展现。可以借鉴。 要看看flake的生产环境的使用。

insightface 的学习与使用相关推荐

  1. @property python知乎_使用Mxnet进行图像深度学习训练工具 InsightFace - 使用篇, 如何一键刷分LFW 99.80%, MegaFace 98%....

    开头先把论文和开源项目地址放一下: Additive Angular Margin Loss for Deep Face Recognition​arxiv.org deepinsight/insig ...

  2. blazeface学习笔记

    完整的应该是一个人脸识别项目,人脸识别,大言不惭的说,我之前其实也做过,比如用dlib来做人脸识别,就是用opencv那一套来实现,说句实在话,速度非常慢,即便是在intel CPU上,一秒也就两三帧 ...

  3. 人脸识别:insightface自定义数据集制作 | 附练手数据集

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 转自|小白玩转python 01 人脸识别简介 简单来讲,人脸识别 ...

  4. 【论文理解】ArcFace: Additive Angular Margin Loss for Deep Face Recognition(InsightFace)

    论文地址:https://arxiv.org/abs/1801.07698 github:https://github.com/deepinsight/insightface 这篇论文基本介绍了近期较 ...

  5. 人脸方向学习(十五):Face Detection-RetinaFace解读

    整理的人脸系列学习经验:包括人脸检测.人脸关键点检测.人脸优选.人脸对齐.人脸特征提取等过程总结,有需要的可以参考,仅供学习,请勿盗用.https://blog.csdn.net/TheDayIn_C ...

  6. 人脸方向学习(八):Face Recognition-MobileFaceNets解读

    整理的人脸系列学习经验:包括人脸检测.人脸关键点检测.人脸优选.人脸对齐.人脸特征提取等过程总结,有需要的可以参考,仅供学习,请勿盗用.https://blog.csdn.net/TheDayIn_C ...

  7. 人脸方向学习(五):Face Recognition-ArcFace解读

    整理的人脸系列学习经验:包括人脸检测.人脸关键点检测.人脸优选.人脸对齐.人脸特征提取五个过程总结,有需要的可以参考,仅供学习,请勿盗用.https://blog.csdn.net/TheDayIn_ ...

  8. 解密阿里云大规模深度学习性能优化实践

    云栖号资讯:[点击查看更多行业资讯] 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 作者 | 阿里云异构计算AI加速负责人 游亮 近日,斯坦福大学公布了最新的 DAWNBench 深 ...

  9. Ali-Perseus(擎天):统一深度学习分布式通信框架 [弹性人工智能]...

    [作者]  驭策(龚志刚) 笋江(林立翔)蜚廉(王志明) 昀龙(游亮) 近些年来,深度学习在图像识别,自然语言处理等领域快速发展.各种网络模型,需要越来越多的计算力来进行训练.以典型的中等规模的图像分 ...

  10. Perseus(擎天):统一深度学习分布式通信框架

    作者  驭策(龚志刚) 笋江(林立翔)蜚廉(王志明) 昀龙(游亮) 近些年来,深度学习在图像识别,自然语言处理等领域快速发展.各种网络模型,需要越来越多的计算力来进行训练.以典型的中等规模的图像分类网 ...

最新文章

  1. 相似图片检测:感知哈希算法之aHash,dHash,pHash的Python实现
  2. 微服务下的APM全链路监控
  3. 【知识星球】这几年人脸都有哪些有意思的数据集?
  4. flutter 获取定位_从头开发一个Flutter插件(二)高德地图定位插件
  5. HDU1231(最大连续子序列)
  6. java读取codetable_解析Java对象的equals()和hashCode()的使用
  7. 【编程好习惯】通过命名规则区分变量
  8. Linux导出history命令到本地
  9. 125条常见的java面试笔试题大汇总3
  10. 读写锁分离的循环队列
  11. KEIL, MDK 关于C99结构体变量初始化
  12. Angular学习笔记06——钩子
  13. html切西瓜游戏源码,html5切水果源码(水果忍者)
  14. ss导航java宝典_绅士宝典ss导航
  15. BLP读书笔记(一)——通过shell访问终端模式
  16. Python - 面向对象编程
  17. RGB_打开/获取颜色选择器(RGB)的几种方式/本地RGB查询/css颜色名参考
  18. 安装opencv时报错:Could not build wheels for opencv-python which use PEP 517 and cannot be installed direc
  19. 5G学习:5G基础概念
  20. 计算机域名的解释,通俗易懂:域名与IP的关系讲解

热门文章

  1. 程序员英语学习指南(建议收藏)
  2. Word 关闭拼写检查 (去掉Word中拼写检查的所有红色和绿色的浪线)
  3. 微信小程序自适应横屏全屏显示(以PPT为例)
  4. 1、pr的基本操作流程学习
  5. Unity 接入有道智云AI - 文档翻译
  6. win10做文件服务器怎么精简,win10精简系统怎么做到
  7. 神州数码c语言笔试题,神州数码笔试题,神州数码笔试题.doc
  8. SQL中的n+1次select语句查询问题
  9. 詹克团为“夺权”动作频频 引发比特大陆员工不满
  10. QProgressDialog setValue过快导致死机问题记录