insightface 的学习与使用
网址: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 的学习与使用相关推荐
- @property python知乎_使用Mxnet进行图像深度学习训练工具 InsightFace - 使用篇, 如何一键刷分LFW 99.80%, MegaFace 98%....
开头先把论文和开源项目地址放一下: Additive Angular Margin Loss for Deep Face Recognitionarxiv.org deepinsight/insig ...
- blazeface学习笔记
完整的应该是一个人脸识别项目,人脸识别,大言不惭的说,我之前其实也做过,比如用dlib来做人脸识别,就是用opencv那一套来实现,说句实在话,速度非常慢,即便是在intel CPU上,一秒也就两三帧 ...
- 人脸识别:insightface自定义数据集制作 | 附练手数据集
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 转自|小白玩转python 01 人脸识别简介 简单来讲,人脸识别 ...
- 【论文理解】ArcFace: Additive Angular Margin Loss for Deep Face Recognition(InsightFace)
论文地址:https://arxiv.org/abs/1801.07698 github:https://github.com/deepinsight/insightface 这篇论文基本介绍了近期较 ...
- 人脸方向学习(十五):Face Detection-RetinaFace解读
整理的人脸系列学习经验:包括人脸检测.人脸关键点检测.人脸优选.人脸对齐.人脸特征提取等过程总结,有需要的可以参考,仅供学习,请勿盗用.https://blog.csdn.net/TheDayIn_C ...
- 人脸方向学习(八):Face Recognition-MobileFaceNets解读
整理的人脸系列学习经验:包括人脸检测.人脸关键点检测.人脸优选.人脸对齐.人脸特征提取等过程总结,有需要的可以参考,仅供学习,请勿盗用.https://blog.csdn.net/TheDayIn_C ...
- 人脸方向学习(五):Face Recognition-ArcFace解读
整理的人脸系列学习经验:包括人脸检测.人脸关键点检测.人脸优选.人脸对齐.人脸特征提取五个过程总结,有需要的可以参考,仅供学习,请勿盗用.https://blog.csdn.net/TheDayIn_ ...
- 解密阿里云大规模深度学习性能优化实践
云栖号资讯:[点击查看更多行业资讯] 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 作者 | 阿里云异构计算AI加速负责人 游亮 近日,斯坦福大学公布了最新的 DAWNBench 深 ...
- Ali-Perseus(擎天):统一深度学习分布式通信框架 [弹性人工智能]...
[作者] 驭策(龚志刚) 笋江(林立翔)蜚廉(王志明) 昀龙(游亮) 近些年来,深度学习在图像识别,自然语言处理等领域快速发展.各种网络模型,需要越来越多的计算力来进行训练.以典型的中等规模的图像分 ...
- Perseus(擎天):统一深度学习分布式通信框架
作者 驭策(龚志刚) 笋江(林立翔)蜚廉(王志明) 昀龙(游亮) 近些年来,深度学习在图像识别,自然语言处理等领域快速发展.各种网络模型,需要越来越多的计算力来进行训练.以典型的中等规模的图像分类网 ...
最新文章
- 相似图片检测:感知哈希算法之aHash,dHash,pHash的Python实现
- 微服务下的APM全链路监控
- 【知识星球】这几年人脸都有哪些有意思的数据集?
- flutter 获取定位_从头开发一个Flutter插件(二)高德地图定位插件
- HDU1231(最大连续子序列)
- java读取codetable_解析Java对象的equals()和hashCode()的使用
- 【编程好习惯】通过命名规则区分变量
- Linux导出history命令到本地
- 125条常见的java面试笔试题大汇总3
- 读写锁分离的循环队列
- KEIL, MDK 关于C99结构体变量初始化
- Angular学习笔记06——钩子
- html切西瓜游戏源码,html5切水果源码(水果忍者)
- ss导航java宝典_绅士宝典ss导航
- BLP读书笔记(一)——通过shell访问终端模式
- Python - 面向对象编程
- RGB_打开/获取颜色选择器(RGB)的几种方式/本地RGB查询/css颜色名参考
- 安装opencv时报错:Could not build wheels for opencv-python which use PEP 517 and cannot be installed direc
- 5G学习:5G基础概念
- 计算机域名的解释,通俗易懂:域名与IP的关系讲解
热门文章
- 程序员英语学习指南(建议收藏)
- Word 关闭拼写检查 (去掉Word中拼写检查的所有红色和绿色的浪线)
- 微信小程序自适应横屏全屏显示(以PPT为例)
- 1、pr的基本操作流程学习
- Unity 接入有道智云AI - 文档翻译
- win10做文件服务器怎么精简,win10精简系统怎么做到
- 神州数码c语言笔试题,神州数码笔试题,神州数码笔试题.doc
- SQL中的n+1次select语句查询问题
- 詹克团为“夺权”动作频频 引发比特大陆员工不满
- QProgressDialog setValue过快导致死机问题记录