视频脱敏引擎的追踪难题:转场误判定、ID撞号和淡入窗口

处理含身份证号、车牌片的政企片子,最怕导出后发现漏了敏感信息。

我们做这个项目时踩过几个真坑,都是实测数据跑出来的。

转场让遮罩"幽灵化"

人物离场+硬切后,遮罩还盖在新画面上约1.3秒。排查发现全片749个采样帧里,硬切判据一次都没触发------灰度直方图在真实切点的实测值0.173低于阈值0.40,HSV也低于0.72。跟踪器外推靠MAX_MISSED=20步(12fps约1.33秒),根本不判断转场。

修法是不动硬切判据(误判代价是清空该清的状态),加一条"遮罩是否继续外推"的软判据:多路投票、阈值分别取0.12/0.20/0.10,不跨过转场继续外推。用ffmpeg的select=gt(scene,0.2)独立核对切点位置。

ID撞号导致整段人脸没打码

硬切后重启追踪器,track id从1重新编号。旧轨只从活跃列表删、数据保留到后处理。新来的第一个人也拿到tid=1,一行赋值把旧轨道冲掉------实测一条被追踪4.6秒、76帧的脸最终遮罩为零。

修法是"安置"而非"合并":给被撞下来的老轨分配一个新key继续保留。下游按时间二分插值要求每个key是单条单调轨,两条轨倒进一个列表会让遮罩在两人脸间来回跳。

新车入画的隐私窗口期

淡入阶段首帧alpha只有1/3,配合抽样间隔(25fps素材每80ms采一帧),人脸露出后有约130~160ms没盖满。

对出现≥6次的"扎实轨"做事后回填:把开头半透明帧抬到满遮罩、段起点往前延一个采样步,加三重收口防止把淡出误补进来。

项目用PySide6搭界面,耗时操作放QThread后台跑。模型全内置随包分发,不联网下载。Windows和macOS各独立构建,不能交叉编译。

本文来自抹影的开发笔记。

相关推荐
海清河晏1111 小时前
加油站问题
数据结构·算法·leetcode
GG.WinGel1 小时前
质数数目(蓝桥杯练习题)
java·数据结构·算法·青少年编程·蓝桥杯
艾iYYY1 小时前
进程的状态
算法
秋天的怀念_David1 小时前
算法一千零一夜 · 第十七夜 长街点灯
java·程序人生·算法
CV爱数码2 小时前
论文精读|RED-CNN:残差编解码网络,低剂量 CT 去噪的经典基线
网络·人工智能·算法·cnn·ct·重建·x-ray
JustNow_Man2 小时前
【Harness】本地文本向量化搜索解决方案--qmd
git·python·算法
李永奉2 小时前
杰理可视化SDK开发-音频录制功能使用教程
笔记·单片机·嵌入式硬件·mcu·物联网·音视频
_YouziTech_2 小时前
【STM32+MAX98357】MP3转PCM存入Flash并控制音频输出
stm32·单片机·音视频·内存·pcm·i2s·wav
敲代码的苦132 小时前
头歌 数据结构—消防资源调度
数据结构·算法