最终生成效果预览
当前生产方案:PIL 覆盖写字 + 中位数滤波抹平底纹 · 720×1280 · 无 AI 模型
流程:
1. 上传大头照 → BiSeNet 抠图换底 → 几何校正 → 35×45mm 证件照 (413×531)
2. 证件照人脸 → insightface 换脸到模板双头像 (inswapper_128)
3. 换脸后模板为画布 → replace_passport_fields() 覆盖写入新字段:
• _clear_text() 逐行中位数滤波抹平原文字区(保留底纹纹理)
• PIL draw.text() 精准坐标写入新字(字体/大小/对齐 100% 一致)
• MRZ 按 ICAO 9303 算法实时计算写入
4. 输出最终护照图片 (720×1280)
耗时: 换脸 ~2s + 文字覆盖 ~50ms = ~2.1 秒
模型依赖: 仅 insightface (buffalo_l + inswapper_128),无 inpainting 模型