快速AI证件照制作:HivisionIDPhotos完整指南(含4个抠图模型怎么选)
【免费下载链接】HivisionIDPhotos⚡️HivisionIDPhotos: a lightweight and efficient AI ID photos tools. 一个轻量级的AI证件照制作算法。项目地址: https://gitcode.com/GitHub_Trending/hiv/HivisionIDPhotos
赶着交签证、考试报名或入职材料,又不想花几十块去照相馆、等一天修图?把 HivisionIDPhotos 装到自己电脑上就行。它是一个轻量级的 AI 证件照制作工具:一张随手拍的生活照,自动完成人像抠图、换标准底色、裁成一寸二寸,还能直接排出可打印的六寸排版照,全程纯离线、CPU 就能跑,不依赖 GPU。
🚀 三步做出第一张:克隆、装依赖、下模型
环境要求不高:Python 3.7 以上(作者主力测试 3.10),Linux、Windows、macOS 都支持。装好 Python 后按下面顺序操作:
git clone https://gitcode.com/GitHub_Trending/hiv/HivisionIDPhotos cd HivisionIDPhotos pip install -r requirements.txt -r requirements-app.txt python scripts/download_model.py --models all python app.py前四行分别完成:拉取代码、安装依赖、把抠图模型权重下载到hivision/creator/weights目录(不想要全部模型可用--models birefnet-v1-lite这样只下单个)。最后一条命令启动本地 Gradio 页面,浏览器打开后上传一张照片,在左侧选好「一寸(413,295)」和蓝色背景,点开始制作,右侧就会同时出三样东西:标准照、高清照、六寸排版照。
有个小前提:照片里只能有一张人脸,多人合照会直接报错提示重新上传,这是刻意的限制,避免裁错位置。
⚙️ 照片怎么变成证件照:抠图、定位、排版三步流水线
理解这条流水线,你就知道每个环节出问题时该调什么。
抠图:先把背景变成透明
证件照的第一步是把人和背景分离。抠图模型输出一张四通道透明 PNG,后面的换底、裁剪都基于它。四个模型的推理实现集中在 hivision/creator/human_matting.py;其中自研的hivision_modnet在模型输出之后还多走一道hollow_out_fix轮廓修补——用轮廓检测把抠图里残留的洞填掉,所以它换纯色底时更干净。各模型具体怎么选,放到下一节讲。
人脸检测:确认只有一张脸,还要知道它偏了多少
抠图之后要裁人,就得先定位。hivision/creator/face_detector.py 提供三套方案:
- MTCNN(默认):纯离线,CPU 毫秒级出结果,对普通正脸够用;
- RetinaFace-ResNet50:精度更高,推理在秒级,权重放到
hivision/creator/retinaface/weights即可启用; - Face++:旷视的联网 API,精度最高,需要配置
FACE_PLUS_API_KEY和FACE_PLUS_API_SECRET环境变量,用法见 docs/face++_CN.md。
检测的同时会算出人脸的倾斜角。照片拍歪了的话,命令行加--face_align参数就能做人脸旋转矫正,不用自己修图。
换底、美颜、模板照:把细节补完
底色支持蓝、白、红三种预设加自定义 HEX 色号,渲染方式有纯色、上下渐变、中心渐变三种(对应 CLI 的-r 0/1/2)。美颜模块放在 hivision/plugin/beauty/,含磨皮、瘦脸、美白和 LUT 调色;还内置了社交媒体模板照功能,把证件照嵌进模板图框里生成可发朋友圈的版本,模板配置在 hivision/plugin/template/ 下。
尺寸方面,一寸(295×413 像素)、二寸是预设项,自定义尺寸支持毫米单位,输出默认 300 DPI 并支持 JPEG 下载,打印够用。排版照支持六寸、五寸、A4、3R、4R 五种相纸规格,同一张证件照自动排满一页。想把这个能力嵌进自己的产品,运行python deploy_api.py即可起后端服务,请求方式(含 base64 传图、dpi、美颜参数)见 docs/api_CN.md。
⚖️ 4 个抠图模型怎么选:看内存和画质诉求
四个模型共用同一套接口,切换只是换权重文件,所以选型成本很低。先给结论式的场景建议:
- 先跑起来、图一般:用默认的
modnet_photographic_portrait_matting(MODNet 官方权重,24.7MB)。作者测得它配 MTCNN 在 Mac M1 Max 纯 CPU 上单张约 0.2 秒、内存占用 410MB,是所有组合里最轻的。 - 换纯色底要多干净就多干净:换
hivision_modnet(同为 24.7MB),自研版本专门针对纯色换底做了修补,前面说的填洞后处理就是它专属的。 - 发丝边缘、发丝量大的照片:上
birefnet-v1-lite。它分割精度是四个里最好的,代价是权重 224MB、CPU 推理约 7 秒、内存占用 6.2GB——它是唯一能被英伟达 GPU 加速的模型,显存留 16GB 左右。 - 大尺寸图片、背景要抠得彻底:选
rmbg-1.4(176MB),输入按 1024×1024 处理,对大图的覆盖比 512 输入的 ModNet 系更稳。
| 模型 | 权重大小 | 推理输入 | 一句话定位 | | -- | -- | -- | -- | | hivision_modnet | 24.7MB | 512×512 | 轻量、纯色换底最干净 | | modnet_photographic_portrait_matting | 24.7MB | 512×512 | 默认基线,CPU 最快 | | rmbg-1.4 | 176.2MB | 1024×1024 | 大图背景移除 | | birefnet-v1-lite | 224MB | 1024×1024 | 精度最高,可 GPU 加速 |
切换方式有三处:Gradio 页面左侧的「抠图模型」下拉框直接选;命令行用--matting_model参数;写代码时则在 hivision/creator/choose_handler.py 里按matting_model_option传入模型名。
🔧 进阶调优:野兽模式、GPU 加速和改尺寸配色
批量出照嫌慢?设置环境变量RUN_MODE=beast进入野兽模式:人脸检测和抠图模型推理完不释放内存,第二次开始的推理明显变快,代价是常驻内存更高,建议 16GB 以上内存再开。
有独显想更快?装好对应 CUDA/cuDNN 版本的onnxruntime-gpu后,birefnet-v1-lite会自动尝试 CUDA 加载(CUDA 加载失败会回退 CPU),其余三个模型固定走 CPU。
尺寸和底色不够用?都是改 CSV:预设尺寸改demo/assets/size_list_CN.csv(第一列名称、第二列高、第三列宽),预设底色改demo/assets/color_list_CN.csv(名称加 HEX 值),保存后重启python app.py即生效。水印字体放在hivision/plugin/font目录,改hivision/plugin/watermark.py的font_file参数即可。
不想在本机装环境?Docker 一条命令拉取现成镜像linzeyi/hivision_idphotos,7860 端口起 Gradio 页面、8080 端口起 API,docker compose up -d可以同时起两个服务。
命令行党可以直接把整条流水线拆开用,五种推理任务(做证件照、纯抠图、透明图加底色、生成排版照、裁剪)由-t参数切换,例如:
python inference.py -i demo/images/test0.jpg -o idphoto.png --height 413 --width 295适合谁?急着用证件照的个人、不想外包修图的小工作室,以及想把「照片进、证件照出」嵌进自己应用的开发者——前两者装完拖图即用,后者走 API 即可。
【免费下载链接】HivisionIDPhotos⚡️HivisionIDPhotos: a lightweight and efficient AI ID photos tools. 一个轻量级的AI证件照制作算法。项目地址: https://gitcode.com/GitHub_Trending/hiv/HivisionIDPhotos
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考