MT-Photos / mt-photos-deepface

24 stars 22 forks source link

两个BUG:VGG-face模型的向量长度大于可设定的长度;yolov8检测出来的人脸没有进一步识别聚类。 #5

Open ctrobot2024 opened 4 months ago

ctrobot2024 commented 4 months ago

第一个问题: 客户端:“人脸识别 - API配置”中“自定义向量长度”最多只能填1024,而VGG-face模型自身的向量长度为4096,参见: https://github.com/serengil/deepface/blob/master/README.md “This function returns an array as embedding. The size of the embedding array would be different based on the model name. For instance, VGG-Face is the default model and it represents facial images as 4096 dimensional vectors.” 如果选用VGG模型,客户端会报错,人脸识别功能不能用:

1

VGGface是deepface的默认模型,希望能修正这个BUG,使用户可以选择VGG-face模型。 第二个问题: yolov8人脸检测模型,检出率很高,非常准确,并且速度也很快,在CPU上比retinaface运行速度快,比retinaface准确。 但是目前yolov8检测出来的人脸并没有进一步识别聚类,后台任务人脸检测任务已经完成后,在“照片”的“信息”页面可以看到人物被检测出来,但未生成人物,即便同一个人有很多张照片面孔被检测出来, 但仍然不生成人物。手动点击“生成人物”按钮,选择“创建新人物”,系统提示“正对比人脸特征,请稍后再试”,无论等多久,或者重启服务,仍然如此提示,无法实现手动创建新人物。系统也不进行自动人物生成和聚类。如下图所示:

2

在“探索”一栏,“人物”界面是空的,如下图所示:

3

希望官方能修正这个BUG,期待你们的回复,谢谢!

tza17313 commented 4 months ago

问题1: API配置 底部有个【自定义向量】长度的按钮;

问题2: 看下api配置中最低生成人物的数量,应该是数量不够 没生成人物;

ctrobot2024 commented 4 months ago

问题1: API配置 底部有个【自定义向量】长度的按钮;

问题2: 看下api配置中最低生成人物的数量,应该是数量不够 没生成人物;

1、API配置里边那个【自定义向量】不支持输入4096哦,只能输入128或者512或者1024; 2、API配置里边最低生成人物数量为2,我相册里边有很多同一个人物的照片,仍然不生成,并且也无法手动生成人物,麻烦您测试一下?用yolov8检测器+任意人脸识别器来测试。谢谢!

devome commented 4 months ago

1.29.1 你能成功设置向量长度为4096吗?我设置了4096并提示保存成功怎么还是报错:driverError: error: expected 4096 dimensions, not 512

ctrobot2024 commented 4 months ago

1.29.1 你能成功设置向量长度为4096吗?我设置了4096并提示保存成功怎么还是报错:driverError: error: expected 4096 dimensions, not 512

如果你用的是默认的识别模型,是不需要设置向量长度的,你把默认向量长度设置回512,应该就不会报错了。如果你用了其他识别模型,就要根据其他模型的向量长度来设置向量长度。

devome commented 4 months ago

1.29.1 你能成功设置向量长度为4096吗?我设置了4096并提示保存成功怎么还是报错:driverError: error: expected 4096 dimensions, not 512

如果你用的是默认的识别模型,是不需要设置向量长度的,你把默认向量长度设置回512,应该就不会报错了。如果你用了其他识别模型,就要根据其他模型的向量长度来设置向量长度。

默认的不报错,但识别效果不好。所以想改成yolov8+VGG-Face,但关闭api重置人脸信息后再修改向量长度,提示保存成功,但实际上并未保存成功。只要一开始跑就提示driverError: error: expected 4096 dimensions, not 512,所以想看看你那里正常不正常。

ctrobot2024 commented 4 months ago

1.29.1 你能成功设置向量长度为4096吗?我设置了4096并提示保存成功怎么还是报错:driverError: error: expected 4096 dimensions, not 512

如果你用的是默认的识别模型,是不需要设置向量长度的,你把默认向量长度设置回512,应该就不会报错了。如果你用了其他识别模型,就要根据其他模型的向量长度来设置向量长度。

默认的不报错,但识别效果不好。所以想改成yolov8+VGG-Face,但关闭api重置人脸信息后再修改向量长度,提示保存成功,但实际上并未保存成功。只要一开始跑就提示driverError: error: expected 4096 dimensions, not 512,所以想看看你那里正常不正常。

在保存向量长度前,请先执行重新识别人脸的任务。就可以正真保存为4096

kafuuchino3 commented 3 months ago

1.29.1 你能成功设置向量长度为4096吗?我设置了4096并提示保存成功怎么还是报错:driverError: error: expected 4096 dimensions, not 512

如果你用的是默认的识别模型,是不需要设置向量长度的,你把默认向量长度设置回512,应该就不会报错了。如果你用了其他识别模型,就要根据其他模型的向量长度来设置向量长度。

默认的不报错,但识别效果不好。所以想改成yolov8+VGG-Face,但关闭api重置人脸信息后再修改向量长度,提示保存成功,但实际上并未保存成功。只要一开始跑就提示driverError: error: expected 4096 dimensions, not 512,所以想看看你那里正常不正常。

在保存向量长度前,请先执行重新识别人脸的任务。就可以正真保存为4096

但是好像不能跑 image