insightface 的学习与使用

网址:deepinsight/insightfacegit

环境准备:

 (1)GPU,因为要用到GPU,因此GPU的环境比较重要。先要安装GPU的驱动,相应的教程,我在前几篇博客里写到,这里再也不说明。 须要说明的是,若是你换过内核版本了,有些内核源码没有,CUDA10,9之间的区别,你须要从新安装内核DEV版本,这样在安装GPU驱动的时候,就会源码能够被驱动使用,这样才能够成功安装GPU的驱动。github

(2)使用anaconda . 通常状况下,咱们安装2.7. 须要其它环境,再安装。 在不少机器学习的教程里,咱们看到了它使用2.7. 好比这个insightface的工程,其实多是最初始的时候,他使用了2.7,但后来,不少优秀的模块构建在新的版本之上 ,其它不少依赖的环境都变化了; 但也不能最新3.7,由于不少要用的模块都还来不及构建。 因此比较合适的选择是3.6. 算法

  conda install 在没法找到要安装的模块时,anaconda search -t conda 去寻找;注意选择与你环境相符合的版本。 固然若是你选择了3.6,通常状况下都是有的。 docker

环境很是重要,足可让你浪费很长的时间,作到如上两点,应该能够清晰搞定环境 。api

工程理解

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

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

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

若是你懒得去训练,直接使用pre-train model 。能够去文中讲的model-zoo里去下载; 认真点的,能够再使用verification.py学习

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

须要作的事

(1)训练模型与验证

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

(2)使用模型

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

(3)封装接口

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

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

有个好的工程

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

相关文章
相关标签/搜索