外观
面向视觉监控模型的对抗纹理研究
摘要
noRecognition 使用大规模程序化搜索生成周期性高频纹理,并在 11 个视觉模型上测试。对象包括 5 个人员检测模型、4 个人脸检测模型和 2 个人脸识别模型;演讲报告数字条件下 11/11 均出现规避效果。研究还从 Flock 固件中提取两种检测模型,说明目标不只限于公开研究模型。
作者搜索 3,170 万种纹理,得到 534,600 个异常结果(1.7%),其中 480,700 个能影响多种模态;85 个被归为极端结果。一个身份留出实验中,干净样本平均得分为 0.91,叠加纹理后为 0.28,低于 0.75 检测阈值。所有数字都来自数字合成或离线模型测试;实体布料、摄像头距离、照明和运动条件尚未得到验证。
研究问题与既有工作的测量缺口
演讲从 CV Dazzle、HyperFace、对抗服装、Thys 等人的检测补丁、Xu 的对抗 T 恤和 Wu 的对抗披风等工作出发。作者认为,既有论文常见三个测量缺口:只针对一个模型优化并在同一模型上报告;没有与同面积纯色遮挡比较;在数字图像中成功后便把结论写成现实监控规避。材料引用的一项独立综述给该研究方向约 6/10 的成熟度评分,并指出汇总的 30 种公开方法中只有 12 种在真实系统上测试。
noRecognition 试图回答的不是“能否让某张图在某个模型上掉分”,而是:是否存在一类不依赖单个像素优化、可以跨人员检测、人脸检测和身份识别模型迁移的周期性纹理;在扣除遮挡效应后,这一信号还剩多少;对从商业设备固件中提取的模型是否仍然成立。
先区分三种不同任务
材料把容易被统称为“人脸识别”的三类任务分开:
| 阶段 | 模型回答的问题 | 失败后的直接后果 |
|---|---|---|
| 人员检测 | 图像中是否存在人,边界框在哪里 | 后续人脸裁剪、跟踪或上传可能根本不启动 |
| 人脸检测 | 哪些区域是人脸 | 识别模型没有规范化的人脸输入 |
| 人脸识别 | 两个人脸嵌入是否属于同一身份 | 匹配分数低于阈值,或被识别为其他身份 |
因此,“人员检测分数低于 0.75”不能写成“人脸识别被绕过”;同样,人脸嵌入相似度下降也不证明摄像头没有拍到人员。本文保留作者的跨模态结果,但按每一道控制分别描述。
模型矩阵与商业设备样本
演讲最终列出 11 个模型:
- 人员检测:YOLOv8n、YOLOv5s、SSD-MobileNet、ResNet34-SSD,以及 2026 年 7 月新增的一项 YOLOv5 配置。
- 人脸检测:InsightFace、FaceNet-MTCNN、MTCNN、RetinaFace。
- 人脸识别:ArcFace、FaceNet。
早期“十模型考验”幻灯片形成于新增模型之前,最终数字才是 11。不同框架的分数含义和阈值并不相同,作者将它们转换为“候选是否导致相应任务异常”,而不是直接比较原始置信度。
从 Flock 固件提取的 YOLO 模型
研究者从固件中提取 flock_yoloV5.tflite。输入为 320 × 320 × 3,输出形状为 [1, 6300, 13]:6300 来自 40×40、20×20、10×10 三个尺度各乘 3 个锚框;13 个值由 4 个边界框参数、1 个目标存在概率和 8 个类别分数组成。类别包括 person、car、truck、bus、trailer、motorcycle、bicycle 和 licensePlate。
固件逻辑将目标存在概率与 P(person) 相乘,结果不低于 0.75 才保留人员候选。这给出了完整的前端失效链:纹理若使覆盖人体的网格单元目标存在概率下降,人员边界框便在非极大值抑制和跟踪之前消失。
另一种 SSD 构建
材料还提到 flock_small_tf.tflite 及其 DLC 变体,输入为 300×300,输出为 [1, 1917, 11]。SSD 同时对大量锚框做“类别与背景”判断,覆盖全身或背景的锚框可能仍保留,因此作者把 SSD 视为更难穿透的一类模型。固件中车牌区域还有 0.00040690104 的面积阈值;这说明真实产品会在神经网络之后继续执行规则判断,不能只看原始模型输出。
搜索方法:从图案空间到异常候选
纹理不是逐像素梯度优化,而是由周期、角度、线条、色彩与空间频率等参数程序化生成。作者把图案投影到 588 个数字人物上,使用不同身体、服装轮廓和姿态形成约为早期数据集 20 倍的主体变化。
搜索流程可以概括为:
- 生成一批参数化纹理并覆盖到人物区域。
- 同时运行人员检测、人脸检测和身份识别模型。
- 将每个模型的胜负和分数写回训练数据。
- 保留表现更好的纹理特征,使用进化搜索产生下一代候选。
- 把所有成功与失败样本继续用于深度强化学习策略,使搜索集中到高收益区域。
- 在训练身份之外的封存身份、角度和变换上重新报告。
研究共搜索 3,170 万种纹理,534,600 个结果达到作者定义的异常标准,占 1.7%;其中 480,700 个同时影响多种模态,占异常结果的 89.9%。85 个候选被归为“极端”结果,占异常结果约 0.016%。这些比例描述的是经过搜索的数字纹理空间,不是自然服装中异常纹理的发生率。
可能的作用机理
作者的解释是:密集、规则且高频的周期结构与自然图像的局部统计特征不同,会在卷积过滤器和多尺度网格上制造大量相互竞争的激活。对 YOLO 类检测器而言,人体躯干对应单元的目标存在概率下降或边界框位置偏移,随后阈值、非极大值抑制、跟踪和上传链都可能得不到稳定人员框。
这一解释与观察一致,但仍属于机制推断。公开材料没有逐层消融、频域因果实验或不同预处理器的梯度分析,尚不足以证明“高频结构”是所有 11 个模型共同失效的唯一原因。
遮挡对照与留出实验
为了避免把“衣服挡住身体”误写成对抗效应,作者使用相同几何区域的纯黑覆盖作为对照:
text
纹理净效应 = 纹理条件得分变化 − 同面积纯色遮挡得分变化报告还采用训练、筛选和最终报告集分离的流程。最终阶段使用 500 余个未参与候选选择的数字人物、多角度及期望变换(Expectation over Transformation, EOT)。一组同一身体的留出结果中,干净图像平均人员得分为 0.91,纹理条件为 0.28,低于固件的 0.75 阈值。这个例子说明数字迁移有效,但不是所有样本的均值,也不能代替实体实验。
去武器化 PoC:复核测量而不发布规避图案
以下伪代码只处理授权的本地图像,候选使用普通棋盘测试图,不包含演讲筛选出的极端参数:
text
for image in sealed_local_test_set:
clean = pipeline.measure(image)
solid = pipeline.measure(apply_same_area_solid_patch(image))
fixture = pipeline.measure(apply_generic_checkerboard(image))
save({
"model_digest": pipeline.digest,
"input_size": pipeline.input_size,
"threshold": pipeline.threshold,
"clean": clean,
"solid_control": solid,
"generic_fixture": fixture
})
assert report_keeps_detection_face_and_identity_metrics_separate()
assert no_public_camera_or_third_party_service_was_tested()复现时还应固定缩放、裁剪、色彩空间和压缩质量,因为这些步骤会改变高频纹理。本站不公布 85 个极端候选的参数或可打印图样;研究价值在于测量方法和控制缺口,而不是制作针对公共监控设备的现成规避材料。
演讲中哪些结论已经得到支持
- 11 个本地模型在数字条件下都出现了作者定义的异常,支持“跨模型数字迁移”的结论。
- Flock 固件模型的输入、输出与阈值被解析,说明研究并非只对学术模型进行白盒测试。
- 纯色遮挡对照与封存身份降低了把普通遮挡和训练集过拟合误判为对抗效果的风险。
- 个别候选会移动边界框;材料还提到“摄像头配置发生意外变化”,但未给出足够实现细节或独立证据,本文不把后者作为主要影响。
实体部署仍缺少什么证据
演讲时实体布料测试刚开始。数字贴图没有覆盖打印色域、布料褶皱、人体运动、不同焦距、滚动快门、视频压缩、低照度降噪和多帧跟踪。更重要的是,现实产品可能把检测结果与门铃触发、运动传感器、云端再识别或人工复核结合。单帧模型得分下降只是攻击路径中的一个条件。
防护措施与验证方法
- 在版本固定的生产预处理链上加入候选纹理、同面积纯色遮挡、普通印花和随机噪声四组测试。
- 分别报告人员检测召回率、边界框偏移、人脸检出率、身份相似度、跟踪连续性和最终告警率。
- 不把单帧阈值作为唯一判据;结合时序、姿态变化和异构传感器,但同时测量普通服装上的误报。
- 将周期性频域峰值检测作为辅助信号,而不是自动封禁依据;需单独评估条纹、格纹和无障碍图案等正常样本。
- 对模型升级使用同一封存集回归,记录阈值和预处理器变更,避免只因更换模型就宣布修复。
- 在自有授权场地开展实体测试,完整记录摄像头型号、距离、照明、打印方式、布料、压缩和运动轨迹。
局限与待验证问题
当前证据来自演讲者单方报告,没有公开全部 3,170 万次结果、搜索代码和独立复现。极端候选是高度筛选后的少数样本,筛选过程可能放大偶然性。缺少实体世界基线、跨摄像头复现和后端多帧系统测试,因此不能据此声称某件衣物能稳定规避现实监控,更不能把 11/11 数字结果外推成 100% 的现实成功率。