Mediapipe Iris佩戴口罩时无法检测人脸及虹膜的解决方案问询
你当前遇到的问题根源是Mediapipe Iris的默认人脸检测环节依赖口鼻区域的面部特征完成全脸校验,口罩遮挡该区域后会直接导致人脸检测失败,后续的虹膜检测环节自然无法触发。
可行解决方案
- 替换适配遮挡场景的人脸检测模块
放弃Mediapipe自带的默认人脸检测器,更换为专门适配口罩遮挡场景的人脸检测模型,比如针对戴口罩场景优化过的MTCNN、YOLO人脸检测权重,仅需要模型输出人脸边界框和眼部区域坐标即可,不需要完整面部特征校验,拿到有效人脸区域后再送入后续的虹膜检测环节即可。 - 跳过全脸检测,直接做眼部区域优先检测
可以完全绕开全脸检测步骤,直接部署独立的人眼检测模型,先定位图像中的双眼位置,裁剪出眼部感兴趣区域(ROI)后直接送入虹膜检测模型推理,该方案适配性最高,正常佩戴口罩的场景下不会遮挡眼部区域,不会对检测环节造成额外干扰。 - 调整现有Mediapipe框架的检测阈值与规则
如果不想大幅改动现有代码,可以调低Mediapipe人脸检测的置信度触发阈值,同时开启面部特征点的局部校验模式,仅保留眼眶、虹膜相关的关键点检测要求,忽略口鼻区域的特征点校验逻辑,只要眼部特征符合要求即可触发后续虹膜检测。 - 针对业务场景做小样本微调
若对准确率要求较高,可以收集一批适配自身业务场景的戴口罩人脸+虹膜标注数据,对现有检测模型做少量轮次的微调,适配场景内的光照、拍摄角度、口罩类型等特征,进一步提升检测准确率。

上图中ABSCENT代表未检测到人脸,ATTEND代表成功检测到人脸,所有标注为ABSCENT的图像对应佩戴口罩的人脸,ATTEND标注的图像对应未佩戴口罩的人脸。
内容的提问来源于stack exchange,提问作者StevePark
相关产品推荐
相关产品推荐

