当前位置: 首页 > news >正文

098、异常检测与开集识别:YOLO 不认识的东西怎么让模型说“我不知道”

098、异常检测与开集识别:YOLO 不认识的东西怎么让模型说我不知道

上周在产线部署YOLOv8做零件缺陷检测,遇到一个让人头疼的问题。模型把一颗掉落的螺丝钉当成了“合格品”,还把工人手上的创可贴识别成了“垫片”。甲方质检组长当场就炸了:“你们这模型连不认识的东西都敢瞎猜?”

说实话,这问题太真实了。YOLO这类闭集检测模型,训练时只见过那几类目标,推理时遇到没见过的东西,它不会说“我不知道”,而是强行把特征往已知类别上靠。这就是开集识别(Open Set Recognition)和异常检测(Anomaly Detection)要解决的核心矛盾。

为什么YOLO不会说“我不知道”

先看YOLO的推理逻辑。模型输出的是边界框坐标和类别概率,最后通过Softmax或者Sigmoid做分类决策。Softmax有个致命缺陷——它强制所有类别概率之和为1。哪怕输入一张纯噪声图,模型也会挑一个概率最大的类别输出。

我做过一个实验:用YOLOv8训练了5类工业零件,然后扔进去一张猫的图片。模型以87%的置信度输出“螺栓”。这不是模型笨,是Softmax的数学性质决定了它必须选一个。

另一个坑是特征空间的封闭性。YOLO的Backbone提取特征后,分类头只在已知类别的特征空间内做决策。未知类别的特征可能落在已知类别的特征分布边缘,甚至完全重叠。这时候模型根本分不清“没见过”和“见过但不确定”。

给YOLO装上“拒识”模块

解决思路分两条线:一是改造模型结构,让模型能输出

http://www.jsqmd.com/news/960000/

相关文章:

  • 别再乱接地了!从零开始搞懂电路设计的三种接地方式(附高频/低频场景选择)
  • 告别硬看汇编!用IDA Pro的F5与字符串窗口快速破解CTF逆向题(以攻防世界Hello CTF为例)
  • 实战应用:基于快马平台用java八股文核心知识构建秒杀系统demo
  • Python 面试高频:装饰器、迭代器、生成器和上下文管理器一次讲清
  • 告别Excel和Word!用IBM DOORS管理需求,这5个功能让我效率翻倍
  • 【运维】Linux定时任务 定时执行脚本
  • Python函数:递归函数的定义与阶乘案例实现
  • 保姆级教程:用MQTT.fx的JS脚本5分钟模拟智能家居设备联动
  • 因果决策+分位数回归:让补货决策真正量化风险边界
  • LIO-SAM建图总跑飞?别急着调参,先检查IMU内参标定(附imu_utils保姆级教程)
  • Serverless超限怎么办?用混合架构为重载请求开辟专用通路
  • 新手福音:用快马AI将文字描述转为ER图,轻松入门数据库设计
  • Streamlit数据应用开发:Python脚本一键生成交互式Web看板
  • 别再只用plt.show()了!聊聊IPython里fig.show()的正确打开方式(附Matplotlib版本适配指南)
  • 【运维】Linux 磁盘分区相关 挂载分区卸载分区等
  • 从 MySQL 迁移到阿里云 AnalyticDB MySQL:零改造百倍加速实战教程
  • AI时代个人效能操作系统:教育设计×自由职业×注意力管理
  • 新手入门指南:基于快马AI生成你的第一个贴吧内容展示网页
  • 张量列车分解与低秩插值技术解析
  • 深度解析:XposedRimetHelper如何通过Hook技术实现智能虚拟定位
  • 别再搞混了!用Python手把手教你计算大气遥感中的散射角(附6S模型验证代码)
  • 被动调Q激光器MATLAB仿真工具:速率方程建模+脉冲参数自动提取(含Nd:YAG/Yb光纤示例)
  • 排查PCIe设备不识别?从硬件角度理解Receiver Detect失败的可能原因
  • 别再手动改路径了!PyQt5中pyrcc5.exe的3种高效定位方法(附Anaconda虚拟环境实战)
  • 【Java毕设源码分享】基于SpringBoot的农村留守儿童爱心网站的设计与实现(程序+文档+代码讲解+一条龙定制)
  • 机器学习真实学习路径:避开环境、项目、数学三大断崖
  • 2026国际EMBA口碑排名盘点:五大高认可度项目深度测评
  • 告别单机调试:ROS1多机协同实战,让机器人A控制机器人B运动(基于Wheeltec底盘案例)
  • 2026年主播偷逃税事件的危机公关方案
  • TCD映射与簇代数在离散微分几何中的应用