目录 / id-photo-generator
id-photo-generator
--- name: id-photo-generator description: 生成合规证件照(一寸、二寸、小一寸、小二寸、身份证、护照、签证等)以及更换证件照底色。当用户上传人物照片并表达"制作证件照/一寸照/两寸照/换底色/蓝底白底红底证件照/生成标准证件照"等意图时使用。核心原则:必须先检测到且仅检测到一张可用人像才允许生成;未识别人像、人像不合格或疑似翻拍合成时绝不生成,并提示用户重新上传。严禁美颜、磨皮、瘦脸等改变面部特征的操作,不得遮挡痣、疤痕等固有标识。 --- # ID Photo Generator(证件照生成) ## Overview 本 Skill 把"必须有人像"和"必须可过审"做成生成链路之前不可绕过的双重硬闸门。任何一级硬校验不通过都**终止生成并返回可操作提示**,绝不输出一张看似完成、实则无法过审的证件照。 ## 触发条件与业务边界 **触发信号**:用户上传图片或照片 + 以下任一意图: - 制作证件照 / 一寸照 / 两寸照 / 小一寸 / 小二寸 - 蓝底 / 白底 / 红底证件照 / 换底色 / 生成标准证件照 **业务边界(先判断,再进入流程):** 1. 用户仅输入指令、**未上传图片** → 不处理,提示:`请上传你的人像照片,我帮你更换证件照底色。` 2. 仅上传图片、无证件照相关意图 → 不进入本 Skill。 3. 禁止复用历史会话旧图片;每次生成必须携带本次上传图片,禁止缓存历史图片自动生成(隐私风险)。 **只处理**:单人、正面、免冠(合规宗教头巾除外)、面部无严重遮挡、姿态基本端正、近 3–6 个月内拍摄的照片。 ## 工作流总览 ``` 用户图片 → 输入硬过滤 → 图像质量门禁 → 人脸存在/数量 → 人脸质量与可见性 → 真实性预筛 → 姿态自动校正(轻微偏差自动摆正) → 通过 → 预处理+抠图 → 合成底色 → 裁切构图 → 文件大小适配 → 输出(JPG + 可选PNG) + 免责声明 ``` 任一环节**硬不通过**即终止,不进入下一步。所有通过检测的人像质量/抠图瑕疵记为**软警告**,允许生成但结果必须附带风险提示。 ## 步骤 1:输入硬过滤(前置,先运行 scripts/precheck_image.py) 在任何模型处理前,先运行 `scripts/precheck_image.py <图片路径>`,它会输出结构化 JSON(`ok` / `hard_fail` / `soft_warnings`)。脚本完成:**魔数识别真实格式(防后缀欺骗)、GIF拦截、损坏文件捕获、EXIF旋转矫正、分辨率/大小检查、CMYK与透明PNG处理、图像质量门禁(模糊/曝光/噪点)**。 关键规则: - 支持 JPG/PNG/WEBP,≤10MB,单边 512–4096px(超出自动缩放)。拦截 GIF、损坏文件。 - **不依赖文件后缀**,用文件头魔数判断真实格式。 - 解码后**先做 EXIF Orientation 物理旋转矫正**,旋转后再重算宽高、再做校验与后续处理。 - CMYK 自动转 RGB 并软警告;输入带透明通道的 PNG 先填充中性灰再校验并软警告。 - 质量门禁不通过直接拒绝(模糊/过曝/欠曝/噪点过重)。 详细校验项与阈值见 `references/validation-spec.md`。 ## 步骤 2:人脸存在与数量(硬拒绝) 在**EXIF矫正后的原图**上做人脸检测(可用 MTCNN 快速筛查、RetinaFace/InsightFace 复核)。 - 0 张 → 拒绝:`未检测到人脸。请上传包含清晰正脸的单人照片。` - ≥2 张 → 先判断是否为镜面反射/倒影产生的虚假人脸:是则不计入有效人脸;无法区分则按多人拒绝:`检测到多张人脸。证件照需单人照片,请勿上传镜子自拍,镜面反射会产生多余人像。` - 恰好 1 张有效人脸 → 进入下一步。 ## 步骤 3:人脸质量与可见性(区分硬拒绝 / 软警告) 校验置信度、人脸面积占比、头部姿态(yaw/pitch/roll ≤30°)、眉眼鼻唇可见性、耳朵可见性、遮挡物、眼镜反光、闭眼/红眼。 - 帽子/墨镜/口罩、反光遮瞳、完全遮挡耳朵 → **硬拒绝**。 - 轻微反光不遮瞳、耳朵部分露出、人脸占比略偏 → **软警告放行**。 - **合规宗教头巾放行**(必须眉眼口鼻全部可见);普通帽子拒绝。 - 低龄儿童:如需支持儿童证件照,用独立宽松阈值;不支持则提示。 - **禁止对人脸做美颜/磨皮/瘦脸**;不得修复痣、疤痕、胎记;全局降噪不能针对人脸 ROI 平滑。 完整阈值表见 `references/validation-spec.md`。 ## 步骤 4:真实性预筛(分级策略) 检测翻拍(照片中照片)、合成/拼接痕迹、深度伪造。支持模式开关: - 【高安全模式|政务/考试】命中 → **硬拒绝**:`请上传原始拍摄的照片,不要翻拍已有照片或使用合成图片。` - 【普通模式|简历/预览】命中 → **软警告放行**:`检测图片疑似翻拍/合成,该照片无法用于政务、考试等正式办理场景,仅可用于个人预览参考。` ## 步骤 4B:姿态自动校正(自动摆正,新增) 当人物**身形/姿态未完全摆正**但属于**轻微偏差**时,在进入抠图前自动做确定性几何校正,把姿态校正到端正。**仅做几何摆正,不改变面部特征与身份。** **可自动摆正的范围:** - 轻微头部/上身倾斜(roll 偏差 ≤10°):绕画面中心反向旋转摆正。 - 水平偏离画面中心:平移至水平居中。 - 轻微俯仰(pitch/yaw ≤8°)且五官仍清晰可见:仅做轻微透视/平移修正,不重塑五官。 - 校正后重新执行人脸姿态与可见性校验,确认仍在允许阈值内才进入抠图。 **硬边界(禁止自动生成姿态):** - 严重侧脸(yaw>30°)、低头/仰头(pitch>30°)、转脸、闭眼、五官大面积遮挡 → **不做自动摆正,直接硬拒绝**。原因:从严重歪斜照片"捏造"出端正姿态属于合成/换姿态,违反证件照真实性要求(官方不得对照片修改、不得使用合成照片)。 **合规红线:** - 自动校正仅为旋转/平移/轻微透视的**几何摆正**;**禁止**磨皮、瘦脸、换五官、调整眼神、重构身形或凭空补画身体。 - 不改变身份、五官、表情、发型、服装;输出元数据记录是否执行校正及角度/位移。 ## 步骤 5:抠图、合成与裁切 1. 预处理:仅当噪点超标时轻度全局降噪,禁止人脸美颜磨皮。 2. 人像抠图(MODNet / BiRefNet 等):前景面积占比 <2% 或 >95% 拒绝;发丝边缘质量分级——严重缺陷拒绝、轻微瑕疵软警告;注意镜腿/耳饰/肩线等敏感边界。 3. 合成底色:标准色值见 `references/size-bg-spec.md`;自定义 HEX 需校验合法性,并强制提示"非标准底色可能不被官方受理";接近肤色色值追加警告。 4. 裁切构图:头部占比、头顶留白、眼部位置、双肩完整;裁切后双肩被截断 → 软警告。 ## 步骤 6:文件大小控制与输出 先锁目标像素/DPI 再调导出质量,满足目标 KB 区间(见 `references/size-bg-spec.md`)。原图画质差到无论怎么调都达不到区间 → 警告:`无法将图片压缩到推荐文件大小范围,原图画质不足,建议使用更高清原图。` **输出元数据**:规格键名、底色色值、实际像素、DPI、文件大小、人脸校验通过记录、**是否执行姿态自动校正及校正角度/位移**、软警告列表。 **强制免责声明(每次生成成功都输出):** > 【重要提示】AI生成证件照仅供参考,各类报名、政务系统有独立照片审核标准,请务必以办理机构官方公告为准。 **透明PNG**:仅用户主动请求才输出,不作为默认;输出时附标注:`PNG透明格式,绝大多数报名系统不支持提交,仅用于个人二次排版,请勿直接上传报名平台。` ## 拒绝提示设计原则 所有"不生成"提示遵循:① 说清为什么(无人脸/多脸/遮挡/姿态/质量/真实性);② 说清怎么做(可执行重拍建议);③ 不指责用户。全部提示**禁止技术术语**,严格区分"硬拒绝"与"生成成功附带软警告"。完整文案库见 `references/messaging.md`。 ## 隐私与合规红线 人脸信息属**敏感个人信息**,需在**上传图片前**获取单独同意,禁止上传后再弹窗;不同意则不接收图片。告知目的、最小留存(失败/超时任务同样清理)、禁止二次利用、日志禁止记录图片二进制。详见 `references/privacy-compliance.md`。 ## 性能与异常兜底 - 限流:单 IP ≤10 QPS、每日 ≤1000 次、单实例 ≤20 并发(超出入队并提示排队,不直接超时)、超时 3000ms。 - 模型 OOM/推理报错:禁止把堆栈暴露给用户,输出友好提示:`图片处理临时失败,请重新上传图片尝试。`,服务端留错误日志。 - 触发限流提示:`操作过于频繁,请稍后再尝试生成证件照。` ## Resources ### scripts/ - `precheck_image.py`:可运行的前置校验脚本。执行图片格式魔数识别、GIF拦截、损坏捕获、EXIF旋转矫正、分辨率/大小/色彩模式检查与图像质量门禁,输出结构化 JSON。**在进入人脸/抠图模型前必须运行。** ### references/ - `validation-spec.md`:完整校验项与阈值表(输入硬限制、图像质量、人脸质量、真实性预筛、姿态自动校正)。 - `size-bg-spec.md`:尺寸规格表、底色色值表、目标文件大小区间、自定义底色校验。 - `messaging.md`:全部拒绝/警告/免责/合规提示文案库。 - `privacy-compliance.md`:敏感个人信息处理合规要求(单独同意、最小留存、日志约束)。 - `test-cases.md`:落地前必测用例清单。 ### assets/ (本 Skill 无固定输出素材,此目录未使用。)
这是模型对公开材料的总结,不是官方声明,请以原链内容为准。
存档时间线
| 版本 | 存档时间 | 内容哈希 | 内容 |
|---|---|---|---|
| v1 | 2026-11-15 00:53 | 107c31cc | 可取 |
版本索引永久保留;内容副本只保留最新 1 份,更早版本仅留索引与哈希(存档时间线的证据链不会因此断裂)。
提交举报 / 纠错
侵权举报经核验成立后,我们会即时下线该条目并删除已存的内容副本。