• [版务处理] 华为SDK关于人脸检测接口调用异常
    SDC中的动态库,人脸检测的设置和获取人脸识别参数,给接口传参,但是报10114不支持的功能参数。参数没问题,想问下,有其他地方的问题吗?谢谢各位大佬们给些指导。
  • [版务处理] 请教下人脸识别对比率接口问题
    上面的识别对比率是通过这个函数实现的吗IVS_PU_CalcAdvanceFeatureMatch如果是的话有对应demo吗HWPuSDK.java文件里面没有对应接口呢如果自己实现是怎么操作呢
  • [其他] 《探索人工智能人脸识别原理及应用》的【学习心得,包含3个小节】
           1.1小节--导读和往期回顾看到视频里,老师说“这是第三部分内容”,这里我有个疑问,为什么不把前面两期内容放到这里呢?视频中的老师也说,前面两期的内容非常重要。  视频中,大致回顾了一下什么是机器学习,什么是深度学习。然后举了个现实中例子,现在应用比较广泛的人脸识别、人脸对比、人脸搜索。1.2小节--深度学习平台介绍.了解了现在主流的深度学习框架,因为我们要做一些模型,就要了解一些模型的算法这里会讲到TensorFlow,它是用的Python环境。 这个演示,是不需要用户搭建环境的。门槛比较低。了解了深度学习里的“hello world”---手写数字的识别。1.3小节-深度学习入门示例  我这里,水平有限,只能看了这个视频的想法。如果是想了解一下深度学习的原理,确实很难。涉及到好多学科知识,要懂的话,才行,《高数》《离散数学》《计算机等知识》。但是,只是像了解这个案例,如很做出来,动手去实践的话,看这个视频,在华为云实践,是不错的选择。     为什么人工智能工程师工资高?因为,这玩意学起来真的好难。
  • [版务处理] 华为SDC V500R019C60SPC219有没有对应的API接口资料呢?
    华为SDC V500R019C60SPC219有没有对应的API接口资料呢?我买的X2221-CL摄像机,我主要使用于人脸识别功能,现在要基于这个功能开发一个业务系统,摄像机本来带的软件版本是8.0.1,后来因为不支持人脸识别功能,在客户经理的建议下将系统退回到 V500R019C60SPC219,有了人脸识别功能,现急求API用于开发。
  • [技术干货] 【扩展作业】【2020华为云AI实战营】第四章人脸检测扩展作业
    华为云AI实战训练营第四章扩展作业华为云账号:hw54888057    今天尝试使用作业中给出的代码对OpenCv、MTCNN、dlib三种检测人脸的工具进行一个小的比较。我是一个刚刚入门的小白,如果有表达得不完善和错漏之处,请各位指出,感激不尽。    在这里我选择使用包含多张人脸的图片进行检测,先选了两张,如下:                                                                                                img4.jpg                                                                            img1.jpeg    首先使用给的OpenCv代码段,分别对第一张图片和第二张图片进行人脸检测:#导入模型 path="/home/ma-user/anaconda3/envs/TensorFlow-1.13.1/lib/python3.6/site-packages/cv2/data/haarcascade_frontalface_alt.xml" import cv2 face_cascade = cv2.CascadeClassifier(path) #修改为自己的图片文件名 #image_path = "./img1.jpeg"  image_path = "./img4.jpg" img = cv2.imread(image_path) gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) faces = face_cascade.detectMultiScale(gray,1.3,5) for(x,y,w,h) in faces:     cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2) img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB) from PIL import Image Image.fromarray(img)    结果是这样的,第一张图片一共有6张人脸,只检测出来4张,而第二张图片2张人脸,只检测出来1张:    可见检测结果并不是十分可靠,那么我在不改变参数的情况下,将两张图片所有人脸单独切割出来,分别进行检测:           从结果中可以看到,图一中的6张人脸能够检测出5张,而图二中的两张人脸能够全部检测出来,准确度提升了一些。在我并没有改变参数和对图片进行除了裁剪之外的额外处理下的情况下,检测的准确度会发生变化,但这并不符合我们日常的使用习惯,我尝试更改参数,进行第二轮实验。    在下面这一行代码中,一共有三个自定义参数,而定义如下图:faces = face_cascade.detectMultiScale(gray,1.3,5)        这里我选择更改scaleFactor这个参数,因为我认为图像的比例跟检测的结果有关,那么每次图像缩小的比例越小,检测的准确度应该会大一点。我先将其从1.3改成默认的1.1,即:scaleFactor=1.1faces = face_cascade.detectMultiScale(gray,1.1,5)    检测结果如下:看来调整之后的精度提高了一些,但是图一中还是有一张人脸没有检测出来,我再次将该参数调低到1.03,如下:faces = face_cascade.detectMultiScale(gray,1.03,5)scaleFactor=1.03结果如下:所有人脸都能检测出来了,而当我将该参数调低到1.01时,另外一种情况发生了:scaleFactor=1.01在图二中非人脸的区域,检测到了人脸。。。在scaleFactor参数为1.03,1.1,1.3时,我又对其它同时包含大脸和小脸的多人集体照进行识别,结果如下:scaleFactor=1.03,两张人脸未检出scaleFactor=1.1,两张人脸未检测出scaleFactor=1.3,五张人脸未检测出    关于OpenCv的测试我就先写到这里,可见,适当地调整某些参数能将人脸检测的准确度提高,但选择最合适的参数还需要在大量的数据集中进行验证。另外,在相同参数的情况下,在原图中不能够识别到人脸但裁剪图片能够识别的情况我还没有想明白,希望有大佬们可以解答我的疑惑。。。。 下面使用dlib进行人脸检测的相关测试:    还是使用以上的图片,代码如下:!pip install dlib==19.17.0import dlib cnn_face_detector=dlib.cnn_face_detection_model_v1("../FaceRecognition/models/detector.dat") image=dlib.load_rgb_image("./img4.jpg") dets=cnn_face_detector(image,1) print("number of faces datected: {}".format(len(dets))) for i,d in enumerate(dets):     print("Detection{%s}: Left:{%s} Top:{%s } Right:{%s} Bottom:{%s} " % (i,format(d.rect.left()),format(d.rect.top()),format(d.rect.right()),format(d.rect.bottom())))     cv2.rectangle(image,(d.rect.left(),d.rect.top()),(d.rect.right(),d.rect.bottom()),(0,255,0),2) from PIL import Image Image.fromarray(image)结果如下图:哦天哪,在我费力地更改上面OpenCv代码参数情况下,使用dilb居然几乎将所有人脸都检测出来了。。只剩下最后一张只有不到半个脸露面的小男孩没有检测出来。但是我发现它检测出来的人脸貌似有点小,有些人脸并不能完全嵌进去,很多都只是框住了五官。使用MTCNN库进行人脸检测!pip install mtcnn==0.0.8from mtcnn.mtcnn import MTCNN detector = MTCNN() import cv2 img = cv2.cvtColor( cv2.imread("./img4.jpg"), cv2.COLOR_BGR2RGB) from PIL import Image Image.fromarray(img) results = detector.detect_faces(img) #print(results)for result in results: #     print(result['box'][0])     cv2.rectangle(img,(result['box'][0],result['box'][1]),(result['box'][2]+result['box'][0],result['box'][3]+result['box'][1]),(0,255,0),2) from PIL import Image Image.fromarray(img)    对比OpenCv和dlib库,可以发现,使用MTCNN库进行人脸检测能够将这三张图中的所有人脸检测出来,不过也出现了检测到非人脸范围的情况。但是我认为在人脸范围内比上面使用dlib检测得更加贴近人的真实面部,并且能够检测出上面两种方法都检测不到的露出半张脸的小男孩。   总结一下:在以上的测试中,我认为dlib和MTCNN库的准确度比较好,MTCNN更是能识别出部分人脸,但会检测到非人脸的情况。而在人脸的标识中,我认为OpenCv和MTCNN表现得比较好,而dlib的矩形框有点小。    目前所有的测试就进行到这里,希望能够抛砖引玉,如有错漏请大家提出。。
  • [技术干货] 【扩展作业】AI实战营第四章---Dlib、MTCNN和OpenCV的人脸检测性能分析
    人脸检测技术经过了多年的发展,已经广泛的被使用在各种应用场景下,如门禁系统、刷脸支付等。本文,我们比较了DLIB、OpenVC和MTCNN三种算法在人脸检测性能方面的差异。1.      测试数据集。我们在网上下载了正面、侧面、多人和卡通人脸四个场景各一张测试图片,如下图所示。   (a)   正面                  (b) 侧面                                                        (c) 多人                          (d) 卡通图1 测试数据 2.      人脸检测结果 使用OpenCV的HAAR级联分类器,需要根据不同的图片进行对detectMultiScale()函数的scaleFactor 和minNeighbors参数进行调参。使用haarcascade_frontalface_alt.xml模型,我们最终正确检测出(a)和(c)图中的人脸,如下图所示。 (a)   scaleFactor=1.3, minNeighbors=5                     (b) scaleFactor=1.12, minNeighbors=2图2 Opencv人脸检测结果。可以看到,通过函数调参,我们可以得到完美的检测结果 我们使用了DLIB的front_face_detector模型,在检测人脸的同时,可以提取人脸的68个特征点。检测结果如下图所示,可以看出,DLIB可以比较完美的测试出正面和侧面人脸,但在多人场景下,会有遗漏。  (a)正面                            (b) 侧面                               (c) 多人图3 DLIB检测结果MTCNN使用多任务深度神经网络,在检测人脸的同时,能提取人脸的眼 、鼻和嘴共5个特征点。测试结果显示其模型的通用性更高,如下图所示。图4 MTCNN检测结果  OpenCV、DLIB和MTCNN性能比较减下表。 表1 检测时间(a)(b)(c)(d)OpenCV64.5ms/36.7/DLIB390ms120ms130ms(漏检)/MTCNN97.6ms110ms140ms135ms 3.      结论通过对四种场景图片的检测结果比较,可以得到以下结论:(A)   OpenCV的HAAR级联分类器检测速度最快,但是它的模型通用性较差,在实际使用中想的到较好的结果,还需要进行函数参数的调节;(B)   MTCNN使用了多任务卷积神经网,其训练得到的模型泛化性能最好,通用性较强。它的检测精度也比较高,检测时间也符合一般应用场景的需求;(C)   DLIB介于二者之间,通用性比HAAR分类器好,但是远远不如MTCNN。它的检测时间是三者中最长的。  
  • [AI实战营] 华为云2020 AI实战营 第四章 人脸识别 作业2实战打卡
    打卡链接在这里:https://bbs.huaweicloud.com/forum/thread-62324-1-1.html 直接新建一个notebook,GPU的。直接上传代码文件,一键运行,然后就出结果了。
  • [AI实战营] 华为云2020 AI实战营 第四章 人脸识别 作业1实战打卡
    打卡链接在这里:https://bbs.huaweicloud.com/forum/thread-62324-1-1.html 直接新建一个notebook,GPU的。然后直接上传图片和我那个python代码,一键运行就可以出结果了。然后就可以搞定打卡收工了。
  • [AI实战营] 华为云2020 AI实战营 第四章 人脸识别 课程打卡操作过程
    就是很简单,看附件的操作流程,一步步就可以把课程打卡搞定了,然后截图到打卡帖子上打卡就可以了。https://bbs.huaweicloud.com/forum/thread-62323-1-1.html 或者直接用我做好的python文件,直接导入一键也可以搞定。
  • [技术干货] 【扩展作业】关于dlib、MTCNN、OpenCV的测试及看法
    新手出战,如有不严谨不规范不正确请指出,共同进步,谢谢!拓展作业我选取了五张不同图片[正面人脸,较小人脸,侧面人脸,多张人脸,卡通人脸],话不多说直接上三种测试结果图:一、正面人脸①dlib②MTCNN③OpenCV二、较小人脸①dlib②MTCNN③OpenCV三、侧面人脸①dlib②MTCNN③OpenCV四、多张人脸①dlib②MTCNN③OpenCV五、卡通人脸①dlib②MTCNN③OpenCV从上面的截图中我们观察到:dlib的计算时间大约在6-7秒MTCNN的计算时间大约在3秒左右OpenCV的计算时间大约在3秒左右,个别情况下会达到6秒下面来说说我的看法(通俗些,可能不太规范):dlib在三种人脸测试中是最为精准精细的,同样耗时最长。68个点可以很清晰的看出五官位置我们可以根据点描绘出人脸原貌,但是局限于清晰的正面照,而且侧面人脸识别不出来,多张人脸照无法全部识别MTCNN是三种人脸测试中最为中规中矩的,耗时适中,侧面人脸照可以识别出来,OpenCV是完全识别不出来的,dlib无法精准识别,但是MTCNN对于多张人脸的识别就无法全部识别出来OpenCV是三种人脸测试中最为迅速通用的,耗时适中,侧面人脸照完全识别不出来,但是多张人脸都可以识别出来,方框区域较大,相较另外两种测试方法,不是那么的精准。我认为三种人脸测试适用的场景与领域:dlib适用于实时测谎仪(眉毛一动,嘴角抽搐,你说谎了!私房钱被找到了),医疗领域(脸部穴位,远程医疗,操作机械手臂)MTCNN适用于占卜看面相(2020你们都会发财!),制作真人表情包(脑袋是个可爱的居头)OpenCV适用于打卡(不需要太精密),智能证件照服务(整个截取下来,抠个图就能用了)以上就是我关于三种人脸测试的测试及看法,谢谢!
  • [版务处理] 请教下人脸识别及人脸抓拍流程问题之用实况播放视频流就不能获取元数据吗
    以上分别是人脸抓拍和人脸识别实现流程enVideoType为4  调用IVS_User_GetMetaData接口可以获取元数据(返回为true)  但是调用IVS_PU_RealPlay就不支持了但要实现实况播放就需把enVideoType置为0 此时调用IVS_User_GetMetaData接口就不能获取元数据(返回为false)那要按上面的实现流程 应该怎么处理呢
  • [技术干货] 【转载】【2020华为云AI实战营】MTCNN、dlib、OpenCv(haar+adaboost级联分类器)三种人脸检测工具比
    【转载华为云社区】一、绪言:    人脸检测技术在我们生活中经常被用到,人脸面部识别、年龄以及表情的识别都是以人脸为基础。目前常用的人脸检测工具有:MTCNN方式、dlib、OpenCV Haar级联分类器等方式。    人脸检测工具使用常见问题如下:    安装时间长    检测时间长    图片中的较小人脸检测效果差    图片中的侧面人脸检测效果差    对图片中多张人脸无法全部检测出来等等问题,这些问题也同样是人脸检测算法面临的挑战。    本文将对MTCNN、dlib、OpenCV三种工具进行测试对比。二、工具简介:MTCNN:        官网:https://kpzhang93.github.io/MTCNN_face_detection_alignment/        MTCNN的安装和使用都十分简单,完成人脸区域检测人脸对齐及5个人脸关键点(双眼,鼻子,嘴角)检测但对于人脸识别,年龄表情等任务已经足够,所以使用十分普遍。    2.dlib:         官网: http://dlib.net/.         dlib是一个机器学习工具库,类似OpenCV,里面预置了一些开发好的传统机器学习算法和深度学习算法。        本案例使用dlib工具库进行人脸区域检测和68个人脸关键点检测。    3.OpenCV(Haar+Adaboost,后文以OpenCV代替):       官网: https://opencv.org/        OpenCV是一个开源的计算机视觉库,它提供了很多函数,这些函数非常高效地实现了计算机视觉算法(最基本的滤波到高级的物体检测皆有涵盖)。        OpenCV 的应用领域非常广泛,包括图像拼接、图像降噪、产品质检、人机交互、人脸识别、动作识别、动作跟踪、无人驾驶等。三、实验对比比较:        实验环境: ModelArts  nootbook开发环境 - v100 GPU- TensorFlow 1.13    耗时计算仅包含测试图片读取及代码库加载时间,不包含测试结果显示耗时    1.正面单脸图片 实验    1.1.MTCNN(单脸正面):          上图是单脸图片的人脸检测,MTCNN耗时大概3s多(含模型加载等,与图片大小等亦有关,下同),含5个关键点,检测结果可见比较准确,但仍有少部分轮廓未能完全检测。        1.2.dlib(单脸正面):相对MTCNN来说,dlib单脸检测速度更快一些,但未能完全检测出全部脸轮廓,含68个关键点信息,但此处不显示。    1.3.OpenCV(单脸正面):        相对MTCNN和dlib而言,OpenCV检测速度更快,定性来看,检测结果几乎能全部包含脸部轮廓,但有非脸部部分会被误认为是脸部。无关键点信息。    2.正面多脸含小脸图片 实验    2.1 MTCNN(多脸 正面 小脸): 仅有小脸的boundding box检测出。可能是程序参数设置导致的,比如OpenCV工具默认有3个矩形框同时存在才认为匹配成功,下同。    速度较慢,单看小脸检测出的结果,准确度较高。    2.2 dlib(多脸 正面 小脸):仅有大脸的boundding box检测出。    速度相对于MTCNN有所提升,单看大脸检测出的结果,准确度不如MTCNN。含68个关键点信息,但此处不显示。    2.3 OpenCV(多脸 正面 小脸): 结果可见最小脸并没有检测出。    速度仍是三者中最快的,准确度一般,和单脸正面图片检测类似,仍然会有非脸部分被误认为是脸部。四、结果分析:    综合定性比较来看:    在检测准确度(检测框与真实脸部对比,非整体检测结果准确度)方面 MTCNN要好于dlib和OpenCV    在检测速度方面,OpenCV(Haar+Adaboost)明显优于MTCNN和dlib    以上仅为个人定性分析结果。如果需要定量分析,可考虑计算预测bounding box与ground truth bounding box的IoU等定量方式加以比较。五、程序:    1.MTCNN 2.dlib3.OpenCV六、参考链接:    MTCNN:      https://kpzhang93.github.io/MTCNN_face_detection_alignment/    https://nbviewer.jupyter.org/github/huaweicloud/ModelArts-Lab/blob/master/notebook/DL_face_age_prediction/face_age_prediction.ipynb    dlib:     https://nbviewer.jupyter.org/github/huaweicloud/ModelArts-Lab/blob/master/notebook/DL_face_detector/face_detection.ipynb    OpenCV:    https://bbs.huaweicloud.com/blogs/179012
  • [技术干货] 【扩展作业】关于MTCNN、dlib、OpenCv(haar+adaboost) 三种人脸检测工具比较分析
    一、绪言:    人脸检测技术在我们生活中经常被用到,人脸面部识别、年龄以及表情的识别都是以人脸为基础。目前常用的人脸检测工具有:MTCNN方式、dlib、OpenCV Haar级联分类器等方式。    人脸检测工具使用常见问题如下:    安装时间长    检测时间长    图片中的较小人脸检测效果差    图片中的侧面人脸检测效果差    对图片中多张人脸无法全部检测出来等等问题,这些问题也同样是人脸检测算法面临的挑战。    本文将对MTCNN、dlib、OpenCV三种工具进行测试对比。二、工具简介:MTCNN:        官网:https://kpzhang93.github.io/MTCNN_face_detection_alignment/        MTCNN的安装和使用都十分简单,完成人脸区域检测人脸对齐及5个人脸关键点(双眼,鼻子,嘴角)检测但对于人脸识别,年龄表情等任务已经足够,所以使用十分普遍。    2.dlib:         官网: http://dlib.net/.          dlib是一个机器学习工具库,类似OpenCV,里面预置了一些开发好的传统机器学习算法和深度学习算法。        本案例使用dlib工具库进行人脸区域检测和68个人脸关键点检测。    3.OpenCV(Haar+Adaboost,后文以OpenCV代替):       官网: https://opencv.org/        OpenCV是一个开源的计算机视觉库,它提供了很多函数,这些函数非常高效地实现了计算机视觉算法(最基本的滤波到高级的物体检测皆有涵盖)。        OpenCV 的应用领域非常广泛,包括图像拼接、图像降噪、产品质检、人机交互、人脸识别、动作识别、动作跟踪、无人驾驶等。三、实验对比比较:        实验环境: ModelArts  nootbook开发环境 - v100 GPU- TensorFlow 1.13    耗时计算仅包含测试图片读取及代码库加载时间,不包含测试结果显示耗时    1.正面单脸图片 实验    1.1.MTCNN(单脸正面):             上图是单脸图片的人脸检测,MTCNN耗时大概3s多(含模型加载等,与图片大小等亦有关,下同),含5个关键点,检测结果可见比较准确,但仍有少部分轮廓未能完全检测。        1.2.dlib(单脸正面):            相对MTCNN来说,dlib单脸检测速度更快一些,但未能完全检测出全部脸轮廓,含68个关键点信息,但此处不显示。    1.3.OpenCV(单脸正面):            相对MTCNN和dlib而言,OpenCV检测速度更快,定性来看,检测结果几乎能全部包含脸部轮廓,但有非脸部部分会被误认为是脸部。无关键点信息。    2.正面多脸含小脸图片 实验    2.1 MTCNN(多脸 正面 小脸):             仅有小脸的boundding box检测出。可能是程序参数设置导致的,比如OpenCV工具默认有3个矩形框同时存在才认为匹配成功,下同。    速度较慢,单看小脸检测出的结果,准确度较高。    2.2 dlib(多脸 正面 小脸):            仅有大脸的boundding box检测出。    速度相对于MTCNN有所提升,单看大脸检测出的结果,准确度不如MTCNN。含68个关键点信息,但此处不显示。    2.3 OpenCV(多脸 正面 小脸):            结果可见最小脸并没有检测出。    速度仍是三者中最快的,准确度一般,和单脸正面图片检测类似,仍然会有非脸部分被误认为是脸部。四、结果分析:    综合定性比较来看:    在检测准确度(检测框与真实脸部对比,非整体检测结果准确度)方面 MTCNN要好于dlib和OpenCV    在检测速度方面,OpenCV(Haar+Adaboost)明显优于MTCNN和dlib    以上仅为个人定性分析结果。如果需要定量分析,可考虑计算预测bounding box与ground truth bounding box的IoU等定量方式加以比较。五、程序:    1.MTCNN           2.dlib          3.OpenCV      六、参考链接:    MTCNN:      https://kpzhang93.github.io/MTCNN_face_detection_alignment/    https://nbviewer.jupyter.org/github/huaweicloud/ModelArts-Lab/blob/master/notebook/DL_face_age_prediction/face_age_prediction.ipynb    dlib:     https://nbviewer.jupyter.org/github/huaweicloud/ModelArts-Lab/blob/master/notebook/DL_face_detector/face_detection.ipynb    OpenCV:    https://bbs.huaweicloud.com/blogs/179012
  • [技术干货] 【转载】人脸检测工具专栏——OpenCV
    【转载华为云社区】人脸检测技术在我们生活中经常被用到,人脸面部识别、年龄以及表情的识别都是以人脸为基础。接下来我分享一下最近整理的开源人脸检测工具,由于篇幅较长,所以打算将此作为一个专栏,希望能给AI实战营的小伙伴们提供帮助!目前常用的人脸检测工具有:OpenCV Haar级联分类器、MTCNN方式、dlib方式...(后续会继续补充),首先介绍一下OpenCV.....什么是OpenCV?OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,它提供了很多函数,这些函数非常高效地实现了计算机视觉算法(最基本的滤波到高级的物体检测皆有涵盖)。OpenCV 使用 C/C++ 开发,同时也提供了 Python、Java、MATLAB 等其他语言的接口。OpenCV 是跨平台的,可以在  Windows、Linux、Mac OS、Android、iOS 等操作系统上运行。OpenCV 的应用领域非常广泛,包括图像拼接、图像降噪、产品质检、人机交互、人脸识别、动作识别、动作跟踪、无人驾驶等。(以上源于百度搜索)什么是级联分类器?大致知道OpenCV的作用后,来看下Haar特征+Adaboost级联分类器,Haar特征算子就是下图的所有黑色矩阵的像素值减去所有白色矩阵像素值的和。Haar特征可以在检测窗口中由放大+平移产生一系列子特征。可以简单理解为算子在图片上横扫过去生成多个框检索是否有人脸的存在准备工作打开ModelArts控制台选择notebook:点击new,选择Tensorflow1.13.1框架。如图:注:Modelarts中安装好了OpenCV供我们使用,无需再次安装。将测试图片先上传到notebook中,如图,点击Upload上传自己的本地图片:代码实战将haarcascade_frontalface_alt.xml用path变量存储起来。接下来配置分类器,读取图片后进行灰度化处理,处理完将图片传入检测器中检测。haarcascade_frontalface_alt.xml文件可以理解为模型,存储了6061个特征,38个阶段,算子的位置大小形状,直接使用即可。下图给出detectMultiScale检测函数中的参数介绍:第六行代码中detectMultiScale方法中和第一种方法中介绍的一样,gray就是image,1.3代表scaleFactor,5是minNeighbors。最后输出图片结果:解释下最后一句from PIL import Image,PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库。由于我们对图片进行灰度处理,需要从numpy数组格式转换回image格式,故使用Image.fromarray(img)。文中所述的完整代码如下,欢迎大家参考学习!path="/home/ma-user/anaconda3/envs/TensorFlow-1.13.1/lib/python3.6/site-packages/cv2/data/haarcascade_frontalface_alt.xml" import cv2 face_cascade = cv.CascadeClassifier(path) #修改为自己的图片文件名 image_path = "./img_nini.jpeg" img = cv.imread(image_path) gray = cv.cvtColor(img,cv.COLOR_BGR2GRAY) faces = face_cascade.detectMultiScale(gray,1.3,5) for(x,y,w,h) in faces:     cv.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2) img = cv.cvtColor(img,cv.COLOR_BGR2RGB) from PIL import Image Image.fromarray(img)
  • [技术干货] 【AI实战营】第四章人脸识别延伸学习材料
    1. 人脸相关研究领域人脸检测;人脸校准;人脸识别、认证、审核以及表征;人脸特征属性和分析;人脸重建;人脸追踪;人脸超分辨率、去模糊;人脸生成、合成;人脸转换、编辑、互换;人脸反欺骗;人脸恢复。 研究人脸的数据类型有RGB图像、红外、3D结构光、视频等,每种数据类型下的人脸研究方法都有所不一样。本文只列出人脸检测和人脸识别相关的一些学习材料。 2. 参考文章想了解人脸识别算法训练,看这篇就够了!OpenCV vs Dlib 人脸检测比较分析大盘点|轻量级人脸检测算法实现,快到没朋友的都在这里了~ 3. 算法3.1 人脸检测MTCNN,2016,网络轻量推理时间快,人脸检测时间受人脸数量影响,适用于人脸考勤或者人证对比的场景,只可能出现固定数量人脸的应用场景;RetinaFace,2019,基于one-stage的人脸检测网络,最大的优点就是检测的速度不受人脸数量的限制;CenterFace,2019,是轻量级的人脸检测器,其backbone用的是mobilenetV2,该算法主要借鉴了目标检测算法CenterNet :Objects as Points的思路;Libfacedetection,2019,效果不是最好,但是目前最快的人脸检测库,用C++编写的,提供了C++版本、安卓版本和ios版本,方便集成到开发项目中,但需要自己进行编译才能用,不懂C++、安卓或ios的同学慎入。 3.2 人脸识别DeepFace,2014,深度学习人脸识别开山之作FaceNet,2015,谷歌提出的人脸识别算法ArcFace,2019年最佳人脸识别算法,别名Insight Face 4. 数据集仅列出常用的数据集4.1 人脸检测FDDB,2845张图,包含5171张人脸,http://vis-www.cs.umass.edu/fddb/MALF:5250张图,包含11931张人脸,http://www.cbsr.ia.ac.cn/faceevaluation/IJB-A:24327张图,包含49759张人脸,https://www.nist.gov/itl/iad/image-group/ijb-dataset-request-formWider-face,32203张图,包含393703张人脸,http://shuoyang1213.me/WIDERFACE/ 4.2 人脸识别LFW,2D图像人脸识别数据集,1.3万张图,包含1680个不同人的脸,每个人的脸以不同的形式出现一次或多次,http://vis-www.cs.umass.edu/lfw/index.htmlMegaFace,约69万个人,共约100万张人脸,http://megaface.cs.washington.edu/ 5. 代码库最受欢迎的人脸识别库,35k星,https://github.com/ageitgey/face_recognition目前最快的人脸检测库,https://github.com/ShiqiYu/libfacedetectionMTCNN,https://github.com/AITTSMD/MTCNN-TensorflowFaceNet,https://github.com/davidsandberg/facenet6. 比赛http://wider-challenge.org/2019.html7. 论文见附件