AI 人脸打码怎么做?用 MediaPipe 检测后模糊区域并检查漏检

在本地将 MediaPipe 人脸框扩边后模糊,保存新图片并逐个人脸检查漏检和可辨认细节。

AI 人脸打码可以先检测人脸位置,再在这些区域做模糊处理。真正的验收是所有需要遮盖的人脸都处理到了,且剩余细节不能轻易辨认。本文用 MediaPipe 检测与 OpenCV 模糊保存副本,不识别人是谁,也不把检测到几个框当成隐私处理完成。

准备环境与模型

在独立 Python 3.11 环境安装 mediapipe 和 opencv-python。准备有许可的 photo.jpg。代码从 Google 官方模型存储地址下载 BlazeFace short-range 权重,并以 IMAGE 模式运行。首次下载需要网络;使用本地模型处理照片不需要把照片上传到模型下载地址。

AI 人脸打码怎么做?用 MediaPipe 检测后模糊区域并检查漏检

python -m pip install mediapipe opencv-python

本文核对了模型下载地址及任务接口,但没有运行完整人脸模型推理。模糊窗口和扩边比例是示例参数,不是通用匿名化保证。

检测后扩边并写入新文件

保存为 blur_faces.py,运行 python blur_faces.py,保留原始 photo.jpg 不覆盖。

import urllib.request
from pathlib import Path
import cv2
import mediapipe as mp

model_path = Path("blaze_face_short_range.tflite")
if not model_path.exists():
    urllib.request.urlretrieve(
        "https://storage.googleapis.com/mediapipe-models/face_detector/"
        "blaze_face_short_range/float16/latest/blaze_face_short_range.tflite",
        model_path)
image = cv2.imread("photo.jpg")
if image is None:
    raise ValueError("photo.jpg cannot be read")
options = mp.tasks.vision.FaceDetectorOptions(
    base_options=mp.tasks.BaseOptions(model_asset_path=str(model_path)),
    running_mode=mp.tasks.vision.RunningMode.IMAGE)
with mp.tasks.vision.FaceDetector.create_from_options(options) as detector:
    result = detector.detect(mp.Image.create_from_file("photo.jpg"))
h, w = image.shape[:2]
for detection in result.detections:
    box = detection.bounding_box
    pad = round(max(box.width, box.height) * 0.15)
    x1, y1 = max(0, box.origin_x-pad), max(0, box.origin_y-pad)
    x2 = min(w, box.origin_x+box.width+pad)
    y2 = min(h, box.origin_y+box.height+pad)
    if x2 > x1 and y2 > y1:
        image[y1:y2, x1:x2] = cv2.GaussianBlur(
            image[y1:y2, x1:x2], (51, 51), 0)
assert cv2.imwrite("faces_blurred.png", image)
print("detected_faces", len(result.detections), "manual_review_required")

人工检查比“检测成功”更重要

打开 faces_blurred.png,逐个人脸核对正脸、侧脸、远处小脸和画面边缘。对照原图,确认没有漏掉未产生框的人脸;放大检查模糊区域是否仍能辨认五官。

若模糊仍不足,应把相关区域改为实心遮盖或更强的处理,并再次检查。无检测框不能代表没有人脸,短距离模型对小脸、强遮挡和不利角度可能漏检。

发布前还要看哪些区域

打码只处理检测区域,胸牌、证件文字、车牌、背景屏幕等信息不会因此消失。根据图片的公开用途另做人工检查。不要把 faces_blurred.png 自动发布到外部;先完成复核再使用。

原图尺寸必须与检测输入一致,不能对一张缩小图检测后把坐标直接套在另一张原图上。GaussianBlur 的核尺寸需要正奇数;本例使用 51×51,实际强度还受人脸区域大小影响。

资料与适用范围

本文依据 2026 年 10 月 1 日读取的项目资料编写。安装后请记录实际依赖版本;版本升级时先用小样本核对接口和输出。

Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/30683.html

赞 (0)
AI小管家的头像AI小管家
中文文本怎么断句?用 spaCy Sentencizer 核对句界和字符位置
上一篇 1天前
英文拼写检查工具怎么用?用 LanguageTool 核对提示后再修改
下一篇 1天前

相关推荐

联系我们

联系我们

1

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部