谈谈基于深度学习的目标检测网络为什么会误检,以及如何优化目标检测的误检问题
对于以人脸检测为代表的目标检测深度学习网络来说,误检是一件非常恼人的事情。把狗检测为猫尚可接受,毕竟有些狗的确长得像猫,但是把墙壁、灯泡、拳头、衣服检测成人脸就不能忍了,明明一点都不像。稍稍思考下,我感觉应该能够从两个方面解释下误检问题。
图像内容问题
在训练人脸检测网络时,一般都会做数据增强,为图像模拟不同姿态、不同光照等复杂情况,这就有可能产生过亮的人脸图像,“过亮”的人脸看起来就像发光的灯泡一样。。。如果 发光灯泡 经过网谈谈络提取得到的特征,和 过亮人脸 经过网络提取得到的特征相似度达到临界值,那么网络把发光灯泡检测为人脸就不足为奇了。
同样的道理,用于训练网络的人脸数据集中,若是存在一些带口罩,带围巾的人脸图像,那么网络就极有可能“记住”口罩、围巾的特征,在预测阶段,要是有物体(比如衣服)表现得像口罩、围巾,那么网络就有可能把该物体检测成人脸。
当然,以上讨论都是启发性的,本文暂时不把它当做讨论重点。
目标 bbox 的范围问题
目前非常流行的深度学习目标检基于测网络(SSD、YOLO、RetinaFace 等)在训练阶段,我们需要提供目标在图像中的 bbox,所谓 bbox,其实主要就是指目标的外接矩形。这样训练而来的网络在预测阶段,一般给出的也是目标的外接矩形。
问题就出在 bbox 上,接下来的讨论还是以人脸检测为例,请看下图:
这是一个典型的目标 bbox。bbox 本质上是矩形,但通常目标(人脸)不是矩形,bbox 内部包含一些非人脸内容, 我认为这些非人脸内容要对误检负一部分责任 。
常用的深度人脸检测网络一般使用大量的卷积层提取图像特征,得到的特征图尺寸通常小于原始输入图像数倍(取决于卷积的 stride、padding 等参数),网络对特征图的每一个“像素点”做二分类(人脸类、背景类),“误检”就是在这个二分类过程中产生的。
数倍小的特征图的一个“像素点”都对应着原图的一小块矩形区域内的像素,这么看来,特征图的每一个“像素点”都可视为一个 bbox,只不过这些 bbox 有的属于背景类,有的属于人脸类。
为了简单,将人脸检测网络的二分类分支抽离出来,设学习为 p_{ heta } ,再令 x 表示特征图中的“像素点”, q 表示该像素点的标签,则训练 p_{ heta } 的一个常用方法就是优化下述目标:
underset{ heta}{argmax}{mathbb{E}_{x sim p_{ heta}(x)}}frac{的目;p_{ heta}(y|x)}{q(y|x)}
其中 y 为 0(背景类)/1(人脸类)标签。 对于人脸类 ,理想情况下,我们希望 x 为人脸数据,但是实际上 x 却是一小块 矩形 区域内部的所有图像数据,这个 矩形 内部常常包含一些非人脸数据,因此实际被优化的目标为:
underset{ heta}{argmax标检}{mathbb{E}_{x sim p_{ heta}(x+Delta x)}}frac{p_{ heta}(y|x+Delta x)}{q(y|x+Delta x)}
上式中 x 表示人脸数据, Delta x 表示非人脸数据。通常 q(y|x+Delta x) 测网是人工标注的标签,因此 Delta x 不会影响 q 的结果,优化下述目标就可以了:
underset{ heta}{argmax}{mathbb{E}_{x sim p_{ heta}(x+Delta x)}}frac{p_{ heta}(y|x+Delta x)}{q(y|x)}
我络为们以为训练得到的是 p_{ heta}(y|x) ,实际得到的却是 p_{ heta}(y|x+Delta x) ,可以认为 Delta x 的存在是引起误检的主要原因之一。
优化误检问题
既然 Delta x 的存在会引起误检,那么优化该问题直观上有以下方法:
令 Delta x ightarrow 0 令 p_{ heta}(y|x+Del什么ta x) ightarrow p_{ heta}(y|x)
遗憾的是,这两个方法在实践中都很难 直接 实现。虽然我们可以不考虑人工成本,将粗糙的人脸 bbox 用更加精细的多边形代替,但是缩放数倍的卷积特征图本身也隐含着“矩形框”,另外, 人眼认为的“人脸”未必是网络认为的“人脸” 。
本文不考虑像素级别的语义分割任务。
稍稍再想一想,不难发现,虽然上述理论是将 x 和 Delta x&nb会误sp;作为彼此独立的像素集合处理得到的,但是我们可以对该理论做稍许推广,也即:将 x 视为 bbox 内的所有像素, Delta x 视为 bbox 内所有干扰人脸误检的像素差值,那么该理论就更加有用了。
我们完成了优化人脸检测网络误检问题的理论构建,该理论将指导接下来的网络,以及对应的损失函数设计。
构建深度学习网络
构建 s_w 的方法有多种,下面是我做实验时简单构建的网络关键部分的结构示意图(这样构造有检,些粗糙,但是多少能够验证下理论):
常规方法在得到特征图 x_f + Delta x_f 时,就直接将其送到背景/人脸二分类网络分支做分类了。在上图的网络架构中,我们增加了额外的一个分支,该分支从特征图 x_f + Delta x_f 得到一个同尺寸的 1 通道人脸特征概率图,该特征概率图与 x_f + Delta x_f 相乘即可得到 x_f + Delta x'_f ,这样就可以得到两个分类结果以及:
p_{ heta}(x_f + Delta x_f) p_{ heta}(x_f + Delta x'_f)
再根据前面理论分析得到的 s_w 优化方法,同步优化 heta 和 w ,即可完成训练。
若干可视化训练效果
这里我没有太过仔细的测试,只在手边的 RetinaFace 网络上增加了前面上述结构,训练 10 个 epoch 后,中间生成一些可视效果图:
左:原图及bbox标签;中:人脸特征概率图;右:经如何过 s_w 处理过的图。
可以看出,虽然 标签是矩形的 bbox,但是通过简单增加一条训练分支,我们得到了类似于语义分割的效果。
此外,从效果图2中可以看出,网络认为的人脸区域与人眼感受的区域并不完全一致,但是总体是保留关键特征的。类似的还有下图。
误检的优化效果
还是偷懒,暂时没有太过详细的测试,只在一个非常小(1000张规模)的数据集上做了测试,误检降低了 5.2%,对比对象为:
p_{ heta}(x_f优化 + Delta x_f) p_{ heta}(x_f + Delta x'_f)
当然,这只是我粗略训练和测试的结果。后续有时间再尝试仔细构造下网络设计以及训练,补上公开数据集的测试结果对比吧。
(责任编辑:内衣家居)
- 标签: 米哈游 原神 反舞弊 供应商黑名单
- 一旦苹果真撤出中国,会带来什么后果?郭台铭:大批企业将倒闭
- 云安全日报201202:思科IOS XR网络互联操作系统发现执行未签名代码漏洞,需要尽快升级
- 国产“天价手机”凉凉,价格比苹果还高,“断崖式降价”无人问津
- 网宿科技入选“2022年上海市新型数据中心创新发展案例”
- AI 助力解决 911 紧急呼叫中心人手不足难题
- Reddit起诉Perplexity AI:指控“工业级非法抓取”数百万用户评论
- 曲奇怎么做
- 标签: 贝索斯 普罗米修斯计划 AI初创公司 联合CEO
- X 平台优化链接处理,力求提升用户留存率
- AMD 签署价值数百亿美元多年芯片协议,向 OpenAI 供应 6 吉瓦 AI 计算能力
- AIOps鐨勫巻鍙层€佺敤閫斿拰鏈�潵
- 标签: 长安马自达 邓智涛 叶沛 长安汽车
- 标签: 长鑫科技 科创板IPO DRAM 朱一明
- 阿尔巴尼亚创新推出全球首位 AI 部长,力争清廉政府
- 标签: 国锐生活 春雨医生 数字医疗 互联网医院
- 标签: 理想汽车 李想 杨海山 人力资源
- 标签: Looki L1 蚂蚁集团 美团龙珠
- Character.AI 官宣禁止18岁以下用户与 AI 机器人“双向聊天”
- 进行三万多次地震训练后,他们发现了快速预测震动强度的新方法
- 人脸识别时一定要穿衣服引热议,专家称不必过分担心 views+
- 标签: 京东AI views+
- 标签: 昊铂埃安5 views+
- 亚马逊云计算主管:不打算分拆 对并购持开放态度 views+
- Facebook正式推出合作音乐视频应用Collab views+
- 阿里云联合南京大学等发起BizDevOps共促计划,助力企业提升组织效能 views+
- 中国企业大模型调用量突破10万亿Tokens,开源趋势引领未来 views+
- 标签: 华为 Flex:ai 算力池 魔擎社区 views+
- 标签: 字节跳动 今日资本 抖音电商 美团 views+
- 抖音发布AIGC创作新规:严禁未经授权“换脸仿声”,强调真实消费体验 views+
