常见问题解答


旧的面部加工框架和这个新的面部加工/识别框架之间的区别是什么?

面部识别功能是现有的面部处理框架的增强。这使得应用程序开发人员将现有的面部处理功能和像识别,添加,更新和删除人物这些新的面部识别功能一起使用。


我如何开始使用面部识别?

类似于面部处理,可以先检查是否支持该功能,然后需要一面部加工对象的实体。该功能支持的方法调用会略有不同。这种新方法将要求您确定哪些对象是你需要处理、面部处理或面部识别,并指定相应的枚举值。 一旦你了解了是支持面部识别功能并且有该对象的实体,你可以从存储加载现有的面部集或使用由面部识别引擎提供的默认的空集。


什么是在面部集?

面部识别引擎把面部属性转换为数据点,并在面部集里保存那些数据点。该集纯粹是由人的面孔的面部数据构成,所以能实现面部之间的对比。


如何加载现有的面部集?

您可以使用标准的Android的API(例如文件存储,共享偏好等)打开现有的文件,获得一个输入流和把输入转换为字节数组缓冲区。 一旦完成后,你可以通过反序列化集方法把字节数组缓冲区传递给面部识别引擎。


我如何在集中管理数据?

在集中,面部识别框架支持CRUD操作:
• 重置集 - 删除集中的所有数据和记录
• 添加人物 - 在集中创建一个新的人物记录
• 更新人物 - 在集里现有的人中添加了一个新的面部
• 删除人物 – 从集中删除一个人的所有面部数据和个人记录


在添加人物的方法里,什么是人脸索引?

当应用程序调用获得面部数据,面部引擎将分配在处理的帧,一个索引值,它对应于由获得面部数据方法返回的面部数据阵列中的索引值检测的每个面部。
当执行下一组框架或设置呼叫位图面对人脸索引才有效。


在集中每个人能添加多少个面部?

在集中,面部识别引擎每个人支持10个面部。


个人Id和更新方法的人脸索引之间的区别是什么?

个人ID是分配给每个加入到这识别集里的人的唯一标识号。面部索引是人脸数据数组的数组索引。在更新或添加一个人的时候,人脸索引用于把面部数据添加到识别集里。


在集中,是否有新增用户总数的限制?

添加用户的总数没有具体的限制。这取决于手机内存容量。


识别集要怎么训练?

该集会通过添加特定人物的额外的人脸数据到识别集里来训练。识别集允许集里没个人额外添加十个面部。一个样品的广义谱里,在不同亮度等级的样品会对该人物产生一个更高的匹配率。


设置识别置信度有什么作用和需要设置什么值?

设置识别置信的方式,能使脸部引擎忽略任何匹配低于设定置信度阈值的脸型数据。该值的设置取决于识别集对于特定脸部的训练程度。


在训练系统的时候,可以多个面部出现在同一个图片框架里吗?

可以!你只需要做的是指定要添加到识别引擎的人的人脸索引。


添加面部到集的最简单的方法是?

使用位图图像是脸部添加到相册的最简单方法。如果从相机框架里使用的YUV图像,您将需要筛选出输入帧中最好的,那么只有该快照可添加到集中。


为什么获取个人ID和获取识别置信度要返回到FP_PERSON_NOT_REGISTERED(-111)?

当面部数据的比较时,在现有的框架或图像不匹配集中任何面部数据置信度,也就是大于或等于通过识别置信度方法的输入值,这些结果将返回。


为什么添加人物方式会返回FP_FACE_EXISTS_ERROR(-3)?

在添加人物的方法中,如果相应的面部索引与在识别集里现有设定的面部数据匹配,那么会返回错误代码,添加面部数据是针对识别集里匹配现有的面部数据来进行适用于集里的训练,并且该应用应该使用更新人物方法而不是添加人物。


什么是序列识别专辑做,为什么我需要用这种方法吗?

该API把面部识别集转换成字节数组,这样就可以存储并在应用程序再次使用时,被重新使用。我们需要做此操作,因为,FacialProcessing.release()方法删除现有的面部处理对象并在使用的应用程序中,将清除被创建的所有集数据。

Qualcomm 解决方案

 

高通 AI Hub

全新高通 AI Hub 包含预优化AI模型库,支持在搭载骁龙和高通平台的终端上进行无缝部署。
该模型库为开发者提供超过75个主流的AI和生成式AI模型,比如Whisper、ControlNet、Stable Diffusion和Baichuan-7B,可在不同执行环境(runtime)中打包,能够在不同形态终端中实现卓越的终端侧AI性能、降低内存占用并提升能效。所有模型均经过优化,以充分利用高通AI引擎内所有核心(NPU、CPU和GPU)的硬件加速能力,从而使推理速度提升4倍。

了解更多

SDK 下载

本版块下载 SDK,只需简单注册,就可轻松下载。