去年冬天我帮朋友剪一段行车记录仪的视频,素材是从不同路段拼的。画面里有一辆白色的SUV,从正面、侧面到斜后方,车牌在不同的镜头里角度一个比一个刁钻。我当时的做法是用矩形选框一个个框上去,正面还好说,到了侧面的时候车牌变形了,框得大了显得假,框小了又漏掉角。
如果这段视频发出去,后果可能不止是尴尬:被熟人认出来只是小事,真正麻烦的是他人隐私的合规风险------平台投诉、下架、甚至被追责。
当时我做的方案是在本地跑一整套AI模型管线把敏感目标标出来。流程分这么几步:
第一层,检测。用YOLO11的人脸检测模型定位面部区域,车牌 detection 同样基于微调过的YOLO架构。这两个模块在客户端完成,不需要网络请求。
第二层,追踪和遮挡。检测到后帧与帧之间需要跟上去,用的是BoT-SORT算法做轨迹匹配,配合CSRT/KCF跟踪器处理单目标。遮罩用uint8灰度图(0不处理、255处理),PNG压缩后Base64存进项目文件。
第三层,OCR识别。证件号、二维码这类非视觉目标的识别比较复杂------macOS上调用系统Apple Vision API多遍识别(原图→CLAHE增强→放大→反色),其他平台回退到EasyOCR(CRAFT+CRNN架构)。电话号码和身份证号用正则匹配,分三级覆盖不同格式。
核心判断标准是:隐私敏感视频不该上传处理。本地模型随包分发,推理在设备端完成,不依赖网络状态。
不过这套方案也不是万能的。遮挡物的形状在视频中会变化(人脸正对vs侧脸差异很大)、光照不足时OCR识别率下降、还有检测+追踪的链路偶尔会跟丢------遇到人物短暂出场或遮挡的情况,仍需手动补框。
如果你手头有带个人隐私信息的视频需要处理,先判断素材类型再选型:静态画面多的素材AI自动处理效果较好;动态复杂场景(多人快速移动、严重遮挡)建议预留人工复核的时间余量。
本文来自抹影的开发笔记。