图片人脸批量戴口罩
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_8486fefc/batch-image-mask-adder。
技能介绍
要解决什么问题
活动海报、班级合影、证件照批量脱敏时,手工抠脸贴口罩既慢又难统一。远景小脸、侧脸、自拍俯角会让传统 Haar 级联漏检或误检(黑板纹理、腰带、膝盖等),单模板又容易在侧脸上错位。
技能如何工作
核心脚本是 scripts/add_mask_with_image.py,批量入口为 scripts/batch_process.py。首次运行会从 OpenCV 官方仓库拉取 ResNet-10 SSD 权重(res10_300x300_ssd_iter_140000.caffemodel,约 10MB),之后本地复用,无需重复下载。
检测流程大致是:全图 300×300 推理 + 多尺度分块(标准 2×2~4×4,增强 --enhanced 可到 8×8 并做后排/右半区等局部加强)→ NMS 去重 → 位置与尺寸规则、空间关系(排除脸下方误检)、肤色 HSV 校验等后处理。v4.3 支持 --manual-faces "x,y,w,h;..." 补漏检,批量模式可 复用已加载的 DNN 与口罩图。
贴罩逻辑按脸框高度从约 30%(眼下)到 125%(下巴下) 定位,宽度左右各外扩 10%;正侧脸用 AR 偏差、边缘不对称、梯度偏置等组合打分选 mask_front.png / mask_side.png,侧脸方向自动水平翻转。PNG 模板会识别已有 alpha,否则自动去黑/白底再 alpha 合成,JPEG 输出质量默认 95。无检测到人脸时原图拷贝到输出目录。
适用边界与注意
- 增强模式更慢,适合 20+ 人的密集场景;标准模式对中等规模合影通常够用。
- v4.2 起会跳过动漫/插画等「非真人」脸,若业务需要给虚拟角色戴口罩需改过滤逻辑。
- 权重不在技能包内,首跑需联网;环境需 Python 3.7+ 与 OpenCV、Pillow、NumPy。
- 双模板批量可用
--front/--side;自拍/广角脸框偏高时 v4.3 会自适应上移口罩起点(如 fh/fw > 1.35 时从 30% 调到约 15%)。
使用场景
- 学校要把班级合影挂官网前,需对全班几十张图统一给每张里所有真人脸叠口罩,远景后排小脸不能漏。
- 活动方收到上百张合照,发布前需批量遮挡参会者面部,且侧脸、自拍俯角时口罩不能贴到下巴下面。
- 档案室扫描的旧证件照成批入库,自动检测失败的几张要用坐标补检,不能整张漏打码。
- 密集场景(20 人以上)合影标准模式漏检多,需开 `--enhanced` 分块加强后再输出到指定目录并保持子文件夹结构。
适合人员
- 负责校园公众号、相册发布的教务或宣传岗,需在少人工抠图的前提下批量处理合影脱敏。
- 处理用户/员工影像合规的隐私或法务支持人员,要把目录下大量 JPEG 统一做人脸遮挡再对外共享。
- 接活动、婚礼跟拍后期的外包修图师,面对成批合照需要可复现脚本而非逐张 PS 贴罩。
- 维护内网素材库的运维或工具脚本作者,希望批量任务里 DNN 与口罩模板只加载一次以缩短总耗时。