Linzaer / Face-Track-Detect-Extract

💎 Detect , track and extract the optimal face in multi-target faces (exclude side face and select the optimal face).

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

人脸质量

azhaoaigaga opened this issue · comments

您好,我测试您的项目是,获得的人脸图像并不都是清晰和质量高的,请问在您在项目中有人脸质量分析的内容?有的话需要调整什么参数呢?

流程中选取的是单个追踪器中所有符合正面人脸同时人脸评分最高的那张人脸保存,如果那个追踪器里的人脸都是很模糊的,那也只能在矮子里拔高个子了,所以有些人脸会不是很清楚。当然你也可以再加上判断照片模糊程度的算法进行过滤,不过我试过一些算法比如opencv里自带的,但是效果不太好不太准确,你可以试一下。

流程中选取的是单个追踪器中所有符合正面人脸同时人脸评分最高的那张人脸保存,如果那个追踪器里的人脸都是很模糊的,那也只能在矮子里拔高个子了,所以有些人脸会不是很清楚。当然你也可以再加上判断照片模糊程度的算法进行过滤,不过我试过一些算法比如OpenCV的里自带的,但是效果不太好不太准确,你可以试一下。

谢谢,我之前也试过一些图像处理的方法进行质量评估,确实都不怎么好,如果您知道一些人脸质量评估的项目,可以推荐一下,谢谢。
另外还有一个问题就是,项目里是不是断track后才保存人脸照片,这样会不会最后一个track的人脸没有保存下来?

每个追踪器里待提取序列里保存的是所有的检测帧检测的人脸,不保存追踪帧预测的人脸,一旦某个追踪器A无法和下一帧检测帧有符合阈值IOU的检测框出现,并且要连续n帧(给予一定的延迟宽限,n一般为3)都不出现才会销毁那个追踪器A并且提取保存最优解人脸,所有不会漏掉检测帧的人脸。

每个追踪器里待提取序列里保存的是所有的检测帧检测的人脸,不保存追踪帧预测的人脸,一旦某个追踪器A无法和下一帧检测帧有符合阈值IOU的检测框出现,并且要连续n帧(给予一定的延迟宽限,n一般为3)都不出现才会销毁那个追踪器A并且提取保存最优解人脸,所有不会漏掉检测帧的人脸。

谢谢,就是还有一点不明白在于我测试您的test video时,最后一个人的track还在,video结束,追踪器没有销毁,最后一人的最优解人脸也没有保存下来,这是我测试时的一点疑惑。

这个有可能,因为这属于视频之间的切换,代码里如果opencv read不到图像会break,就会调用下一段视频,但是原来的tracker应该没有被销毁,但是一般会出现在最后一段视频结束的时候,这种时序边界track的确可能会有问题,我有空debug一下,如果有问题我会更新一下,谢谢提醒~

这个有可能,因为这属于视频之间的切换,代码里如果opencv read不到图像会break,就会调用下一段视频,但是原来的tracker应该没有被销毁,但是一般会出现在最后一段视频结束的时候,这种时序边界track的确可能会有问题,我有空debug一下,如果有问题我会更新一下,谢谢提醒~

是这样的,谢谢。

不客气~