[face_recognition中文文档] 第4节 Face Recognition API

Face Recognition API


1

face_recognition.api.batch_face_locations(images, number_of_times_to_upsample=1, batch_size=128)

源码

使用cnn面部检测器返回图像中二维人脸的边界框数组,如果您正在使用GPU,这可以更快的给您结果,因为GPU可以一次处理批次的图像。如果您不使用GPU,则不需要此功能。

参数:
  • images - 图像列表(每个作为numpy数组)
  • number_of_times_to_upsample - 用于对图像进行采样的次数。较高的数字找到较小的脸。
  • batch_size - 每个GPU处理批次中包含的图像数量。
返回:

一个可以在css(上,右,下,左)顺序中找到的人脸位置的元组列表


1

face_recognition.api.compare_faces(known_face_encodings, face_encoding_to_check, tolerance=0.6)

源码

将候选编码的面部编码列表进行比较,以查看它们是否匹配。

参数:
  • known_face_encodings - 已知面部编码的列表
  • face_encoding_to_check - 与已知面部编码的列表进行比较的单面编码
  • tolerance - 面孔之间的距离要考虑多少。越小越严格, 0.6是典型的最佳性能。
返回:

一个True / False值的列表,指出哪个known_face_encodings匹配要检查的面部编码


1

face_recognition.api.face_distance(face_encodings, face_to_compare)

源码

给出面部编码列表,将其与已知的面部编码进行比较,并为每个比较的人脸获得欧几里得距离。距离告诉你面孔是如何相似的。

参数:
  • face_encodings - 要比较的面部编码列表
  • face_to_compare - 要比较的面部编码
返回:

一个numpy ndarray,每个面的距离与“faces”数组的顺序相同


1

face_recognition.api.face_encodings(face_image, known_face_locations=None, num_jitters=1)

源码

给定图像,返回图像中每个面部的128维面部编码。

参数:
  • face_image - 包含一个或多个面的图像
  • known_face_locations - 可选 - 如果您已经知道它们,每个面的边框。
  • num_jitters - 计算编码时重新采样多少次。更高更准确,但更慢(即100是100倍慢)
返回:

128个面部编码的列表(图像中的每个脸部一个)


1

face_recognition.api.face_landmarks(face_image, face_locations=None)

源码

给定图像,返回图像中每个脸部的脸部特征位置(眼睛,鼻子等)的指令

参数:
  • face_image - 要搜索的图像
  • face_locations - 可选地提供要检查的面部位置的列表。
返回:

面部特征位置(眼睛,鼻子等)的列表


1

face_recognition.api.face_locations(img, number_of_times_to_upsample=1, model='hog')

源码

返回图像中人脸的边框数组

参数:
  • img - 一个图像(作为一个numpy数组)
  • number_of_times_to_upsample - 用于对图像进行上采样的次数多少次。较高的数字找到较小的脸。
  • model - 要使用的面部检测模型。“hog”在CPU上不太准确,但速度更快。“cnn”是一个更准确的深入学习模式,GPU / CUDA加速(如果可用)。默认为“hog”。
返回:

一个可以在css(上,右,下,左)顺序中找到的表面位置的元组列表


1

face_recognition.api.load_image_file(file, mode='RGB')

源码

将图像文件(.jpg,.png等)加载到numpy数组中

参数:
  • file - 要加载的图像文件名或文件对象
  • mode - 将图像转换为格式。只支持“RGB”(8位RGB,3声道)和“L”(黑白)。
返回:

图像内容为numpy数组


本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏郭耀华‘s Blog

【NLP】Attention Model(注意力模型)学习总结

  最近两年,注意力模型(Attention Model)被广泛使用在自然语言处理、图像识别及语音识别等各种不同类型的深度学习任务中,是深度学习技术中最值得关注...

4192
来自专栏潇涧技术专栏

Problem: Matrix Chain Problem

矩阵链乘问题是最典型的动态规划问题,本文介绍如何用动规算法解决这个问题,要理解下面的内容请先阅读这篇动态规划的总结。

501
来自专栏机器之心

学界 | 谷歌大脑提出对抗正则化方法,显著改善自编码器的泛化和表征学习能力

无监督学习的目标之一是不依靠显式的标注得到数据集的内在结构。自编码器是一种用于达成该目标的常见结构,它学习如何将数据点映射到隐编码中——利用它以最小的信息损失来...

802
来自专栏C语言及其他语言

【优秀题解】1175:台球碰撞

题号1174,原题见下图: ? 解题思路: 解题思路: 把台球看做质点(台球坐标不变,球桌坐标各个边界向里收缩R,得到新的球桌); 假设没边界,求出小球沿着直...

2826
来自专栏机器之心

教程 | 如何使用贪婪搜索和束搜索解码算法进行自然语言处理

2885
来自专栏专知

【干货】一文读懂什么是变分自编码器

【导读】本文是工程师Irhum Shafkat的一篇博文,主要梳理了变分自编码器的相关知识。我们知道,变分自编码器是一种生成模型,在文本生成、图像风格迁移等诸多...

2K11
来自专栏xiaoxi666的专栏

矩阵求逆的几种方法总结(C++)

文内程序旨在实现求逆运算核心思想,某些异常检测的功能就未实现(如矩阵维数检测、矩阵奇异等)。

2031
来自专栏AI研习社

手把手教你如何用 TensorFlow 实现基于 DNN 的文本分类

编者按:本文源自一位数据科学开发者的个人博客,主要面对初学者用户,AI 研习社编译。另外,关于 TensorFlow 和 DNN 的更多深度内容,欢迎大家在文末...

3769
来自专栏人工智能头条

实战 | 手把手教你用PyTorch实现图像描述(附完整代码)

2.2K7
来自专栏数据科学与人工智能

【数据分析】异常值检测

什么是异常(outlier)?Hawkins(1980)给出了异常的本质性的定义:异常是在数据集中与众不同的数据,使人怀疑这些数据并非随机偏差,而是产生于完全不...

4416

扫码关注云+社区