我有一个人脸识别项目,包括注册人,然后训练模型。完成后,我调用识别脚本来识别人脸。
在注册过程中,我首先使用caffe模型
检测人脸。然后,我使用开放式人脸识别器提取人脸嵌入,然后将所有人脸嵌入保存在pickle文件中。在训练中,我使用rbf核进行训练。
假设我有下面的数据集,每个人有20张图片
1. personA
image1.jpg
image2.jpg
...
...
image20.jpg
2. personB
image1.jpg
image2.jpg
...
...
image20.jpg
3. personC
image1.jpg
image2.jpg
...
...
image20.jpg
4. personD
image1.jpg
image2.jpg
...
...
image20.jpg
如果我通过了人物C的测试图像,我得到的识别结果是人物C
,置信度92%
。现在,如果我用30-40张图片注册更多的人,那么我看到的是人物C的置信度分数下降到64%,对此我不确定为什么会发生这种情况。下面是我如何训练模型:
params = {"C": [0.001, 0.01, 0.1, 1.0, 10.0, 100.0, 1000.0], "gamma": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1]}
model = GridSearchCV(SVC(kernel="rbf", gamma="auto", probability=True), params, cv=3, n_jobs=-1)
model.fit(data["embeddings"], labels)
在上面的代码中,data[“embeddings”]
是人物的面部嵌入,标签是姓名。
所以我注意到,一旦我开始添加越来越多的人和越来越多的图片,拥有较少图片的人的自信心开始下降。这是真的吗。?有没有人经历过这种问题。?我该如何解决这个问题。
这完全有道理。
如果你的数据集中只有一个人/图像,并且你在上面训练了你的模型,模型应该接近100%的准确率。由于模型增加了更多的脸/人,脸属于哪个人就有更多的模糊性。
随着数据集的增长,模型应该尝试在不过度拟合的情况下推广到数据。PersonC可能与数据集中的另一个人相似。也可能是您的型号选择不正确,超参数错误,或者某些配置不正确。那一部分,我不能评论。
至于一个图像较少的人信心越来越低。这就是你正在观察的吗?你有没有在你的数据集中对许多人尝试过?你应该能够通过看看你是否有更准确的预测来回答这个问题。
它也可能有助于绘制其中一些图像,以便您可以看到错误分类是否有意义。
使用ML Kit的人脸识别API,您可以检测图像中的人脸并识别关键面部特征。 借助人脸识别功能,您可以获取所需的信息,以执行修饰自拍和美化人像等任务或从用户照片中生成头像。由于ML Kit可以执行实时的人脸识别,因此您可以将其用于视频聊天或会对玩家表情进行响应的游戏等应用程序。 iOS Android 核心功能 识别和定位面部特征 获取检测到的每个人脸的眼睛,耳朵,脸颊,鼻子和嘴巴的坐标。 识别面
1.1. 1.FACE SDK集成 1.2. 2. 接口说明及示例 1.2.1. 2.0 人脸检测参数配置: 1.2.2. 2.1 单帧图片检测: 1.2.3. 2.2 相机预览人脸检测: 1.2.4. 2.3 人脸数据库操作: Version:facelib.aar 1.1. 1.FACE SDK集成 添加三方依赖库: dependencies { compile 'com.rokid:
DWZ 百度人脸识别模块 dwzBaiduFaceLive 百度人脸识别模块【apicloud】 功能介绍 https://www.apicloud.com/mod_detail/dwzBaiduFaceLive 封装了新版百度开放平台的人脸识别采集 SDK: 包含活体动作 faceLiveness 不包含活体动作 faceDetect 考虑灵活度问题,本模块只作人脸采集,人脸识别成功后生成 ba
DWZ 百度人脸识别插件 dwz-BaiduFaceLive 百度人脸识别插件【dcloud】 功能介绍 https://ext.dcloud.net.cn/plugin?id=4794 封装了新版百度开放平台的人脸识别采集 SDK: 包含活体动作 faceLiveness 不包含活体动作 faceDetect 考虑灵活度问题,本插件只作人脸采集,人脸识别成功后生成 base64 头像图片,开发者
请求URL /api/v1/vision/face-comparison 请求方法 POST Header Content-Type application/json body请求体 { "FirstFace": { "FaceImage": { "Content": "base64 image string" }, },
match_faces(self,*args,**kwargs)方法 调用人脸对比接口,返回人脸对比的结果 requestsyntax image1 = Image(uri="fds://cnbj2.fds.api.xiaomi.com/vision-test/test_img.jpg") image2 = Image(uri="fds://cnbj2.fds.api.xiaomi.com/vis