想象一下,你是一位经验丰富的寻人警察,叫老鉴别。三十年来,他练就了一双“火眼金睛”:哪怕嫌疑人戴上墨镜口罩、换了妆容发型、甚至过了十几年从少年变成中年,他都能在街头人群中一眼认出。同事问他秘诀,他说:“我记的不是他的眼睛鼻子嘴巴,而是那些别人注意不到的、变不了的东西——眉骨的走势、颧骨的弧度、耳朵的形状。” 人脸识别系统面临的正是同样的挑战:摄像头前的目标可能戴着口罩、墨镜,可能化了浓妆,可能多年未见了。传统的识别方法就像只记得对方“穿着红衣服”一样,一旦条件变化就失效。而鲁棒的人脸识别,则像老鉴别一样,学会抓住那些“变不了”的内在特征。本文要讲的遮挡处理、妆容鲁棒、年龄不变、数据增广、模型架构和评估落地,就是老鉴别带徒弟时,一个招一个招教过去的“认人心法”。
人脸识别鲁棒性直接决定了安防布控、身份核验能否在真实复杂场景下“认得出人”。学习本节内容,你将能够在实际项目中设计出抗遮挡、抗妆容、抗年龄干扰的识别方案,也能正确评估模型在恶劣条件下的真实性能,是走向工业落地不可绕过的核心能力。
可视化演示
展示遮挡条件下特征缺失处理、化妆对特征偏移的影响、跨年龄特征不变性提取。切换模式理解复杂条件下的人脸识别策略。
本节配有交互动效(进入视口后自动加载,约 3KB)。
遮挡条件下特征缺失处理 口罩/墨镜遮挡面部关键区域,传统模型可用特征大幅减少,准确率下降10-20% 策略:局部特征提取聚焦未遮挡区域+全局注意力机制自适应权重分配 visible_landmarks → weighted_feature → identity 遮挡处理是安防场景的核心挑战
遮挡处理
老鉴别在讲他第一招时不急着说技术,而是先讲了个带徒弟的故事:新来的小警员总爱盯着对方的眼睛看,有一次目标戴了副墨镜,小警员就抓瞎了。老鉴别说:“你干嘛非要看眼睛?你去看眉骨的走向,看耳朵的轮廓,看下巴的折角——一个人脸上能用的线索多的是,你抓其中一段就够了。”
人脸识别里的遮挡处理就是这么个思路。传统方法恨不得用全脸信息做匹配,一旦口罩、墨镜把手伸过来挡住半张脸,特征就被砍掉一大截。鲁棒的做法是先把人脸划分成许多局部区域——眉骨是一块,颧骨是一块,耳朵是一块——每一块独立提取特征。这样就算一半区域被挡,剩下的区域依然能提供足够多的“证词”。模型还要学会把注意力集中在可靠区域上,对模糊、被遮挡的区域关小“音量”,这就是注意力机制做的事。更进一步,还要利用关键点先验:通过五六十个面部关键点确定眉毛、眼睛、鼻子、嘴巴的精确位置,让特征提取器知道哪里是可信的“老线索”哪里是可疑的“新伪装”。
老鉴别说:“只要你不是浑身上下裹成木乃伊,我总有几块骨头可以认出来。遮挡处理的精髓就是——永远给识别留一手。”这句话在模型里就体现为“冗余表达”:系统不会依赖单一区域,而是让特征稀疏地散布在全脸各处,让它怎么挡都挡不干净。
- 局部特征向量 $f_i$把第 $i$ 个人脸局部区域(如右耳、左眉骨)经过卷积网络提取成一个特征向量,相当于这个区域的“证词内容”。
- 注意力权重 $\alpha_i$注意力模块根据区域清晰度和可信度打分,生成 0 到 1 之间的权重,相当于这个证人的“可靠度评级”。
- 加权融合把所有局部特征乘以权重再求和,得到整张脸的鲁棒表达。权重小的遮挡区域自动让位给权重大的清晰区域。
妆容鲁棒
老鉴别第二招是讲他年轻时追查过一个女骗子。监控里浓妆艳抹,抓到后素颜朝天,两人看上去像换了个人。同事拿着照片对不上号,老鉴别却从一张对比图里看出了名堂:“你看,眼睛的血丝位置一样,法令纹的弯曲弧度一样,嘴角那颗痣旁边的雀斑排列也没变。”他总结道:妆容像一层墙纸,贴在房子外面,但墙纸换一万次,房子的承重结构也不会变。
这个概念对应到人脸识别,就是“纹理不变性”与“面部结构约束”。人脸特征可以拆成两层:一层是皮肤级的纹理(肤色、痘印、粉底的遮盖效果),这层会随化妆剧烈变化;另一层是结构级的几何形状(眉骨、颧骨、下颌线),这层几乎不受妆容影响。妆容鲁棒模型的第一个策略,就是训练时通过对抗学习或者特征归一化,把纹理那层的信息“压扁”、弱化,逼着模型去学结构信息。第二个策略更直接:用“去妆化”的修复网络,把带妆脸还原成素颜脸再提取特征,相当于老鉴别在脑海里先把墙纸撕掉,再看里面的房子。
最后老鉴别补了一句:“当然,人有失手马有失蹄。你要是用一个烟熏妆浓到把眉骨轮廓都糊掉的照片来考我,我也得抓瞎。”所以妆容鲁棒模型训练时,通常不会追求去掉百分之百的妆容,而是保留底层结构信息防御极端情况,毕竟“结构”才是模型真正的底牌。
- 生成网络输出把带妆人脸输入生成器 Gen,得到“脑补出的素颜脸”,这个过程相当于撕掉墙纸露出墙面。
- 像素级误差用输出与真实素颜照逐像素求差值的平方和,衡量还原质量。差得越多,说明墙纸还没撕干净。
- 最小化损失训练目标就是让这个误差尽量小。误差归零时网络就完全学会了“无视妆容”。
年龄不变
老鉴别手机里存着一张二十年前的黑白照片,那是他第一个破的案子。当时走失的小孩如今已是西装革履的中年人,可老鉴别在车站一眼就认出了他。徒弟惊讶,老鉴别摇摇头:“脸会老,但脸裂开的纹路走向、额头的轮廓比例、还有那种说不清道不明的'骨架感',这种东西不会老。”
这正是年龄不变特征的哲学:人脸的外貌随年龄发生巨大的变化——皮肤松弛了、皱纹增多了、脸型变宽了——但一些深层的几何比例和骨骼结构保持稳定。年龄不变表示的核心目标,就是让模型提取出的特征向量只承载“身份信息”,尽量不携带“年龄信息”。通俗讲,模型被训练成“记性特别差”:只记住“这是谁”,选择性遗忘“他几岁”。具体做法是通过对抗学习,让判别器分不出特征属于老年人还是年轻人,只要判别器分不出来,特征里的年龄痕迹就被抹掉了。同时配合度量学习:设计一种距离度量,让同一个人不同年龄的照片在特征空间里距离近,不同人即便同龄也要离得远,久而久之特征空间就被“拧”成了一张以身份为坐标、以年龄为噪声的地图。
老鉴别拍了拍徒弟的肩膀:“认人这行当,怕的不是时间这把刀,怕的是你把时间当了人。”年龄不变的本质,就是让模型分清时间的痕迹和身份的印记——前者随风而去,后者刻在骨子里。
- 年龄干扰下的特征$x_{\text{小}}$ 和 $x_{\text{老}}$ 分别是同一个人少年和老年时的照片,通过同一个神经网络 f 提取特征,但得到的向量因年龄而漂移。
- 类内紧凑约束要求两边同人特征的距离尽量小,也就是“小王无论如何都该离小王更近”。
- 类间分离约束同时要求任何其他人的特征离得更远,也就是“别人的脸再年轻也不是小王”。
数据增广
老鉴别还有一位老搭档,是警队的图像处理专家,外号“变装师”。他有个神奇的化妆箱:今天给嫌疑人的照片加上口罩,明天给监控截图加个墨镜,后天干脆把人像“老化”二十岁。老鉴别训练新人时最爱把这箱“变装道具”搬出来:“你要想让小警员在哪儿都能认出人,就得先让他天天看变装。”
人脸识别中的数据增广正是“变装师”的角色。当真实的遮挡、化妆、跨年龄样本太稀缺时,模型就通过程序化的方式“凭空造”出海量困难样本:随机在脸上生成黑色矩形块模拟口罩和墨镜——这叫遮挡合成;用风格迁移网络给素颜照加上口红眼影——这叫妆容模拟;用生成对抗网络把人脸“老化”到不同年龄段——这叫年龄合成。相当于每一个真实样本都能变装成几十个“兄弟”,模型在训练时见过足够多的变装版本,遇到真实复杂条件时就不会慌。
老鉴别常说:“我不怕嫌疑人变装,我就怕变装师变装变得太温柔。”数据增广也有同样的道理:遮挡块太小、妆容太淡、老化幅度太轻,模型就学不到真正的鲁棒性。要让增广策略足够狠,模型才能在现实里足够稳。
- 各变装独立概率$p_{\text{遮挡}}$、$p_{\text{妆容}}$、$p_{\text{老化}}$ 分别代表施加遮挡、妆容、老化的概率,取值通常为 0.3~0.5,像三张彩票各有各的中奖率。
- 都不发生的概率三种变装都未发生的概率是三个不发生的概率相乘,这是“独立事件同时不发生”的乘法规则。
- 至少一种发生用 1 减去“全都不发生”,得到“至少被变装一次”的概率。这保证了训练集中绝大多数样本都经过某种“伪装”。
模型架构
老鉴别在整理自己的办案笔记时发现一个规律:有时候单看一张模糊的监控截图认不出人,但把截图放大看耳朵细节、缩小看头身比例、再结合走路姿态,几样一拼,人就锁定了。他给这个方法起了个名字,叫“老鉴别三层看人法”。
人脸识别的模型架构也是同样的思路。早期的网络只提取单一尺度特征,好比老鉴别只用放大镜看,一旦镜头被挡就束手无策。现代鲁棒模型普遍采用特征金字塔架构:浅层网络负责提取细节纹理(像放大镜看耳朵边缘),深层网络负责提取语义结构(像望远镜看轮廓比例),然后把不同尺度的特征融合起来。这样即使某个尺度的线索被遮挡破坏了,其他尺度依然能提供互补信息。全局与局部的配合更是如此:全局特征回答“这个人整体长什么样”,局部特征回答“这个人的左耳侧边有什么特征”,二者拼接成完整表达,模型便既有大局观又有细节控。
老鉴别拍了拍桌上的放大镜和望远镜:“单一工具都有盲区,组合起来才不会看走眼。”对于模型架构也是如此——多尺度融合和全局局部互补不是花架子,而是在复杂条件下保持识别精度的工程根基。
- 全局特征提取把整张人脸缩放成一个固定尺寸,输入网络的深层结构,得到语义级别的全局向量,相当于“站远一点看全貌”。
- 局部特征提取根据关键点定位,裁剪出几块高分辨率的局部区域分别编码,得到细节向量,相当于“靠近了盯住耳朵看”。
- 特征拼接融合用 Concat 把两个向量沿维度方向首尾相接,组成一个更长的融合向量。既保留全局的语义判断,又保留局部的关键线索。
评估落地
老鉴别每周都要参加一次考核会,会上有一条硬规矩:不能只看抓对了多少人,还要看放错了多少人。有一个月老鉴别的徒弟抓人特别猛,几乎人人都被标记为“可疑”,但一查全是误伤。老鉴别说:“识别系统要是见谁都觉得像嫌疑人,那跟没装有什么两样?”
评估一个鲁棒人脸识别模型的真实能力,同样要看两者的平衡。业界最常用的指标是 TAR@FAR:在误报率(FAR)被压到极低时(比如万分之一),看模型还能认出多少真正该认出来的人(TAR)。这就像在考场上规定“只准误判一个好人,看你能抓出多少真凶”。正规评估要在多个基准数据集上进行,比如带口罩的遮挡数据集、带妆容的化妆数据集、跨年龄数据集等等,任何单一数据集上都说明不了鲁棒性。落地部署时还要针对硬件裁剪模型、用 TensorRT 或 ONNX 加速推理、在边缘设备上做量化压缩,确保算法在真实摄像头前也能实时跑起来。
老鉴别在考核会结尾说了一句刻在警队墙上的话:“抓得对的叫本事,抓错了的叫事故。鲁棒的人脸识别,本质上就是把本事故降低到万分之一的事。”工程落地时,这行字应该同样刻在每个部署工程师的心上。
- 真正例与假反例TP 是把该认出的同一个人正确放行;FN 是该认出的同一个人却被拒之门外。TAR 就是“该放的放行率”。
- 误报率计算FP 是把陌生人错认成目标,TN 是正确拒绝陌生人。FAR 是“不该放的全放行率”。
- 综合度量TAR 的分子是正确放行数,分母是全部应该放行数;FAR 的分子是错误放行数,分母是全部应该拒绝数。两者必须联合报告才不算耍流氓。
AI 应用场景
安防布控中的戴口罩嫌疑人识别
阶段:模型训练与部署推理
解决的问题:在火车站、地铁站等场景,目标人物经常佩戴口罩、墨镜、帽子。传统人脸识别在遮挡超过 30% 时识别率断崖式下跌,导致布控系统形同虚设。利用本文的遮挡处理和局部特征方法,模型能从眉骨、颧骨、耳廓等未遮挡区域提取身份特征,在戴口罩情况下依然保持高识别率。
具体案例:某城市公安在重点地铁站部署了本地化人脸识别一体机,模型训练时加入随机遮挡增广(口罩贴片、暗光模拟),并用注意力机制自动聚焦眼部区域。部署后实测戴口罩识别通过率从 41% 提升到 92%,同时拒识率控制在 1% 以内,成功在三个月内通过该体系锁定 11 名在逃人员。
证件核验中的跨年龄比对
阶段:特征提取与比对
解决的问题:银行开户、政务办理等场景需要用户现场自拍照与身份证照片进行比对,但身份证可能是十年前拍的,中间相隔数年甚至数十年,面部变化巨大。传统方法在年龄跨度超过 10 年时误拒率极高,导致用户反复重试。年龄不变特征和度量学习让模型聚焦于骨相结构,忽略年龄痕迹。
具体案例:某银行手机 App 的远程开户系统接入了跨年龄身份比对模型。模型训练时用生成对抗网络把训练集中的每一张脸“老化”到 20 岁、40 岁、60 岁三个版本,再通过对抗学习抹掉特征中的年龄信息。上线后,身份证办理年龄超过 5 年的用户一次通过率从 58% 升至 94%,用户投诉量下降 80%。
金融支付中的浓妆人脸认证
阶段:数据增广与特征归一化
解决的问题:移动支付的人脸认证环节常遇到用户妆前妆后差异大导致认证失败的情况。妆容鲁棒模型通过纹理与结构分离、去妆化生成网络,让手机端在用户带全妆的状态下依然能以素颜注册底片完成匹配。
具体案例:某支付平台对 50 万日活用户的统计数据发现,晚间时段(大量用户出席社交活动带全妆)人脸支付失败率是白天的 3.2 倍。引入去妆化还原网络后,系统先将现场带妆照片还原为素颜特征再与注册底片比对,晚间失败率从 8.7% 降至 2.1%,夜间交易成功率回升至与白天持平。
Python 演示
import numpy as npimport matplotlib.pyplot as plt class FaceData: """ 简化版人脸特征数据集: 三个域, 每个域 20 个样本 """ def __init__(self, seed=42): rng = np.random.default_rng(seed) self.n_per_domain = 20 self.name = "FaceData" # 域1: 遮挡域 -> 中心在 (2,1) # 域2: 化妆域 -> 中心在 (-1,3) # 域3: 跨年龄域 -> 中心在 (-3,-2) centers = [(2.0, 1.0), (-1.0, 3.0), (-3.0, -2.0)] self.features = [] self.domain_labels = [] for i, (cx, cy) in enumerate(centers): pts = rng.normal(loc=(cx, cy), scale=0.6, size=(self.n_per_domain, 2)) self.features.append(pts) self.domain_labels += [i] * self.n_per_domain self.features = np.vstack(self.features) self.domain_labels = np.array(self.domain_labels) def align(self): """ 用均值中心化对齐各域, 模拟特征空间拉齐 """ aligned = np.zeros_like(self.features) global_mean = self.features.mean(axis=0) for i in range(3): mask = self.domain_labels == i domain_mean = self.features[mask].mean(axis=0) aligned[mask] = self.features[mask] - domain_mean + global_mean return aligned def main(): data = FaceData(seed=42) raw = data.features aligned = data.align() fig, axes = plt.subplots(1, 2, figsize=(10, 4)) colors = ['#F43F5E', '#10B981', '#818CF8'] names = ['遮挡域', '化妆域', '跨年龄域'] for i in range(3): mask = data.domain_labels == i axes[0].scatter(raw[mask, 0], raw[mask, 1], c=colors[i], label=names[i], s=30) axes[0].set_title("对齐前: 各域特征散落") axes[0].legend() for i in range(3): mask = data.domain_labels == i axes[1].scatter(aligned[mask, 0], aligned[mask, 1], c=colors[i], label=names[i], s=30) axes[1].set_title("对齐后: 同域特征向同一中心聚拢") axes[1].legend() plt.tight_layout() plt.show() if __name__ == "__main__": main()
class FaceData:定义一个简化版人脸特征数据集类,三个域分别模拟遮挡、化妆、跨年龄条件。self.features.append(pts)把每个域生成的 20 个二维特征点收集起来,作为“每个人的特征向量”。global_mean = self.features.mean(axis=0)计算全部样本的全局中心,作为所有条件共有的身份中心。domain_mean = self.features[mask].mean(axis=0)计算某一条件域(如遮挡域)自己的中心,衡量该条件造成的偏移。aligned[mask] = self.features[mask] - domain_mean + global_mean把该域每个点减去自身中心、加上全局中心,结果就是“去条件化”的对齐特征。data.align()封装对齐逻辑,返回对齐后的完整特征矩阵,对应正文中度量学习将同类拉近的思想。
常见误区
误区遇到口罩、墨镜遮挡,直接把被遮住的区域抹成黑色、不参与计算,剩下的脸拿去匹配,不就简单搞定了吗?
正解直接抠掉等于把信息彻底扔掉。被遮挡区域虽然看不到像素,但它周围仍有大量有用的局部线索——下巴的轮廓、耳廓的走向都是身份特征。正确的做法是让注意力机制给遮挡区域降权而不是归零,保留局部特征之间的冗余关系。好比老鉴别看嫌疑人的半张脸,他盯着的是剩下那半张脸上的细节,而不是因为少了半张脸就放弃辨认。
为何常见:直觉上以为“挡住的部分没有信息”,忽略了遮挡边缘和周围区域的上下文线索,也忽略了模型本身可以从部分输入中学习的可能性。
误区多生成几万张带口罩的照片喂给模型,模型自然就会识别遮挡人脸了,数据增广就是拼数量。
正解数据增广真正拼的是困难样本的分布合理性。如果只堆砌同一种类型的遮挡(比如只有黑色矩形口罩),模型会过拟合到“黑色矩形”上,遇到围巾、围脖、手遮挡就失效。有效的增广要覆盖遮挡类型、遮挡位置、遮挡大小的多样化组合,让模型见过的变装足够多元。
为何常见:人们容易把深度学习的成功简单归因于“数据多”,忽略了数据分布的覆盖度才是决定泛化能力的关键变量。
误区既然要跨年龄识别,那训练目标就是把年龄段相关的特征彻底清零,让特征完全看不出年龄差别。
正解年龄信息不可能也不应该被完全删除。成年人的脸和婴儿的脸结构差异过大,完全删掉年龄信息反而让特征失去判别力。实际做法是在特征空间中压缩年龄维度,同时保留足够的身份判别维度。更准确地说,目标是让“年龄造成的特征漂移”远小于“身份造成的特征差异”,而不是把年龄信息抹为零。
为何常见:把“年龄不变”望文生义地理解成“特征与年龄无关”,忽略了不同年龄的人脸图像之间还共享大量结构信息这一事实,也忽略了对抗训练只是压低年龄维度而非消灭它。
面试题
Q1. 人脸识别中处理遮挡时,注意力权重 αi 的核心作用是?
- A.把遮挡区域的特征直接清零
- B.给可靠区域分配较高权重并压低可疑区域权重← 正确答案
- C.把所有局部区域的特征统一平均
- D.增加遮挡区域的像素分辨率
答案:B。注意力机制的目的是让可靠区域在特征融合中获得更大的话语权,而不是把遮挡区域直接清零。平均分配(C)等于没做注意力,增加像素分辨率(D)不涉及权重分配,直接清零(A)会丢失边缘上下文线索。加权融合才是正确的做法,对应老鉴别“给可靠证人更大音量”的思路。
Q2. 去妆化网络中生成器 Gen 的输入和输出分别是什么?
- A.输入素颜照,输出带妆照
- B.输入带妆照,输出素颜照← 正确答案
- C.输入年龄标签,输出人脸照
- D.输入人脸照,输出身份标签
答案:B。去妆化网络的目标是把带妆人脸还原成素颜人脸,因此输入是带妆照,输出是素颜照。该网络通过最小化输出与真实素颜照的像素误差来训练,相当于老鉴别在脑中撕掉妆容这层墙纸去看承重结构。
Q3. 跨年龄人脸识别中,以下哪些策略可以用于实现年龄不变特征提取?
- A.对抗学习让判别器无法区分年龄段← 正确答案
- B.度量学习拉近同人不同年龄的照片距离← 正确答案
- C.只用最老的照片训练模型
- D.用生成对抗网络做年龄合成增广← 正确答案
答案:ABD。对抗学习可以压缩特征中的年龄信息(A 对),度量学习能够实现同人聚拢异人分离(B 对),年龄合成增广可以提供更多跨年龄训练样本(D 对)。只用最老照片训练(C)会丢失年轻时的特征分布,严重损害模型泛化能力。
Q4. TAR@FAR 中 FAR 表示什么?
- A.系统准确识别出目标的比例
- B.陌生人被错误放行的比例← 正确答案
- C.目标被系统拒绝的比例
- D.系统响应时间超过阈值比例
答案:B。FAR 是误报率,计算的是不应该放行的陌生人中被错误放行的比例。TAR 是正确放行率。两者需要联合评估:在极低 FAR 下保持高 TAR 才是鲁棒模型的标志,正如老鉴别考核会只看“万分之一误伤下还能抓到多少真凶”。
Q5. 特征金字塔架构在人脸识别中的主要优势是?
- A.减少模型参数量
- B.同时捕捉细节纹理与语义结构两类特征← 正确答案
- C.加快推理速度
- D.让模型输出多个身份标签
答案:B。特征金字塔通过多层分辨率输出融合浅层细粒度特征和深层语义特征,让模型既能看细节(耳朵边缘)又能看全貌(脸型轮廓),从而提升鲁棒性。它并不直接减少参数量、不加速推理、也不输出多个标签,这些属于其他架构设计目标。
Q6. 人脸识别中常用的数据增广策略有哪些?
- A.随机遮挡合成← 正确答案
- B.风格迁移模拟妆容← 正确答案
- C.生成对抗网络实现年龄老化← 正确答案
- D.对图像做无损压缩
答案:ABC。随机遮挡合成(A)模拟口罩墨镜,风格迁移可以生成带妆人脸(B),生成对抗网络则能对同一张人脸进行年龄老化(C)。无损压缩不会改变图像内容,只是减小体积,无法产生新的困难训练样本。
Q7. 模型在遮挡条件下仍然能识别出身份,最依赖于以下哪一原则?
- A.使用更深的卷积网络
- B.特征信息在空间上的冗余分布← 正确答案
- C.训练时增大学习率
- D.将输入图像分辨率减少一半
答案:B。鲁棒的根本保障是“冗余表达”——身份信息不集中依赖单一区域,而是稀疏分布在全脸各处,这样即使部分被遮挡仍有足够线索。增大学习率、减少分辨率、加深网络都不直接解决遮挡造成的信息缺失。
Q8. 评估人脸识别模型鲁棒性时,下列哪种做法最合理?
- A.只在一个公开数据集上报告准确率
- B.在遮挡、化妆、跨年龄等多个基准数据集上分别评测← 正确答案
- C.只在模型的训练集上测试
- D.只关注模型在 GPU 上的推理速度
答案:B。鲁棒性本身就是一个跨条件的概念,单一数据集无法反映模型在多种干扰下的真实水平。必须在多个面向不同干扰的基准数据集上分别评测,再综合判断。只在训练集上测试属于自欺欺人,只看推理速度则偏离了识别正确性的核心目标。
Q9. 注意力权重 αi 的范围通常用什么函数归一化到 0 到 1 之间?
- A.ReLU 函数
- B.Sigmoid 函数← 正确答案
- C.Softmax 函数对所有区域做归一
- D.取绝对值函数
答案:B。Sigmoid 把每个区域的打分独立映射到 0 到 1。Softmax 也行但它是全局归一,需要所有区域一起算,适合“二选一”式场景;本文描述的是每个区域独立打分,Sigmoid 更贴合加权融合的需求。ReLU 输出没有上界,绝对值无法保证不大于 1。
Q10. 关于数据增广中的遮挡合成,正确的做法包括哪些?
- A.遮挡块位置随机← 正确答案
- B.遮挡块大小随机← 正确答案
- C.遮挡块形状可以多样化← 正确答案
- D.遮挡只加在眼睛位置
答案:ABC。随机位置、随机大小、多样化形状都是为了让模型见过尽可能多的遮挡形态,避免过拟合到固定模式。只加在眼睛位置则会让模型对“眼睛被挡”过拟合,遇到下巴、额头被挡时完全失效,不具代表性。