宣传片隐私脱敏的技术选型:从云端处理到本地桌面端的工程实现

企业对外发布视频素材时,涉及路人人脸、车牌、证件号码等敏感信息。传统做法是用云端工具上传处理——文件离开本机,合规团队不批。内部审查要求明确的数据边界。本地化处理成为唯一选项。

技术方案的核心是目标检测加时序追踪。人脸与车牌分别用 YOLO 系列模型检测,追踪层选用 OpenCV 的 CSRT/KCF,两者都集成在 opencv-contrib 中。这里有一个实际坑点:三个 opencv 变体(opencv-python、opencv-python-headless、opencv-contrib-python)共用同一个 cv2 目录,后装会覆盖先装;如果同时引入 easyocr 这类依赖,默认拉到 headless 版本,contrib 模块里的 WeChatQRCode 和 TrackerCSRT/KCF 直接丢失。解决方法是安装完依赖链后再手动重装一次 contrib 版。

OCR 按平台分流:macOS 调用系统级 Apple Vision API,对屏幕小字做 CLAHE 对比度增强加锐化;Windows 端切换至 EasyOCR(CRAFT + CRNN),CPU 推理支持弱机器。证件号正则分三级匹配,电话号码用相似但更宽松的 pattern。

画面修复有两套方案:LaMa(TorchScript,约 200MB)逐帧处理遮挡区域外接框,修完羽化贴回;ProPainter 是时序版本,基于 RAFT 光流加特征传播,效果更稳但显存占用更高。检测模型全部随包内置,不依赖运行时联网。

抹影在两端都能跑,识别打码加精细编辑一步到位。项目文件采用 .moying 格式——本质是 UTF-8 JSON,遮罩层是同分辨率单通道 uint8 灰度图(0 不处理、255 处理),PNG 压缩后 Base64 内联,任何文本编辑器直接可读,方便团队审计每个帧的处理范围。

导出阶段依赖 ffmpeg 做视频编码与音轨复用。一个容易忽略的问题是:源文件 channel_layout 为 unknown 时(常见于多声道 mkv),滤镜链拼出非法参数,最终无声输出且不报错。修复方式是先用 av_get_default_channel_layout 按声道数查默认表推布局,导出时优先走 -c:a copy 无损直通。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值