目标检测(降低误检测率及小目标检测系列笔记)[通俗易懂]

一、什么是负样本

1.负样本

负样本是指不包含任务所要识别的目标的图像,也叫负图像(Negtive Image)。以识别限速牌为例,如下所示,左图包含限速牌,为正样本,右图不包含限速牌,为背景图,即负样本。
正样本:
在这里插入图片描述
负样本:
在这里插入图片描述

2. 为什么要训练负样本

训练负样本的目的是为了降低误检测率、误识别率,提高网络模型的泛化能力。通俗地讲就是告诉检测器,这些“不是你要检测的目标”。

3.Faster R-CNN、SSD、YOLO等神经网络模型中的负样本

例如在Faster R-CNN中,在RPN阶段,会根据backbone生成的特征图上的每一点,按照不同尺寸、不同长宽比构建很多的候选锚框。这些锚框按照与Ground Truth box的交并比,选择特定阈值进行分类,比如IOU>0.7的锚框,被视为正锚框,也就是正样本,IOU<0.3的被视为负锚框,也就是负样本。通常负样本的数量会远远超过正样本,因此为了平衡类别比例,提高模型精度,常通过Focal Loss方法或hard example mining算法来恰当地利用正、负样本计算Clasification Loss与regresion Loss,并进行反向传播。因此网络模型中的负样本与负图像是不一样的,不能完全同等看待。

4.如何收集负样本

可以通过下面两种方式收集负样本:

  1. 采用本任务场景的不包含目标物体的背景图像,例如你的目标是识别某园区内的行人,那么所有本园区内不包含行人的图片都视作负样本。不要使用不属于本任务场景的负图像,因为其对检测器的性能影响不大。
  2. 测试图像中被识别错误的目标所在区域。(通常对原图像进行裁剪,使得裁剪下来的图像只包含误识别的物体,而不包含目标)

5.负样本的标签文件

用于目标检测任务的标签通常是xml文件,在xml文件中没有目标位置相关的节点,只有文件名,文件路径、图片宽度、高度、通道数等信息,这就是负样本的标签文件。关于负样本的标签文件的生成方式,可以参考博客:https://blog.csdn.net/dulingwen/article/details/89669928

6.如何训练负样本

正负样本集及其标签作为训练集送入模型训练即可。

注意:正负样本必须放在一起训练,不能单独训练负样本,否则经过训练,网络会把所有的图像都识别为背景。正负样本的比例最好为1:1到1:2左右,数量差距不能太悬殊,特别是正样本数量本来就不太多的情况下。

尝试方法一:直接对误检的图像生成一个空的xml文件。(文件中没有任何对象)
训练结果:由于xml文件中没有任何正样本对象,所以网络无法学习到背景信息,使用训练后的模型测试误检的图像,依然会产生误检。(这里网上有人说即使没有正样本,SSD网络在训练时也会产生负样本,本人测试,当整幅图像没有任何正样本时,网络学习不到任何信息,训练时loss=0

尝试方法二:误检的图像中含有正样本对象,但不是误检的类别。(例如:该图像中人物类别出现误检,但对该图像进行训练时只标注了一个汽车类别,而没有增加人物的正样本类别)
训练结果:这种情况下,对网络进行训练时,会产生loss,并且训练后的模型,不会再把误检图像中的背景误检为人物

7.怎样消除误检——加强检测器

把使用正样本训练好的模型拿来进行测试,此时会得到一些被错误识别的图片。把这些图片收集起来作为负样本加入到正样本集(如果图片中同时包含误识别物体和目标,可以将图像裁剪,裁剪后的图像包含误识别物体而不包含目标并尽量覆盖原图大部分区域,然后再将其分辨率resize回原图大小),组成新的训练集,送入模型进行训练。
如果负样本的来源只有误识别的图片,那么由于误识别的图片往往占少数,可以利用图像增强(如高斯滤波、对比度增强、锐化、平滑等)的方法扩充负图像数量至和正样本数量相同,并组合在一起。将这样得到的训练集送入模型进行训练,经过若干个epoch,当Loss收敛到稳定值时,再次测试原来的出现误识别的图像你会发现误识别现象基本消失了,并且类似原来误识别的场景将会被正确识别。

下面是扩充负样本数量的代码:

import cv2
from imgaug import angmenters as iaa
import numpy as np
import os

imdir = '/home/dulingwen/Pictures/pic1/'
imgsave_dir = '/home/dulingwen/Pictures/pic2/'

<think>好的,用户问的是“笔记本电脑磁盘100%”,我需要先理解这个问题具体指的是什么。通常,磁盘使用达到100%会导致电脑变慢、卡顿,甚至无响应。可能的原因有很多,我需要逐一分析。 首先,我得回忆一下常见的导致磁盘使用高的原因。Windows系统下,特别是Win10和Win11,有时候系统自带的服务或进程会占用过高磁盘。比如Superfetch(SysMain)、Windows搜索索引服务或者系统更新。此外,第三方软件,比如杀毒软件的全盘扫描,或者某些后台程序持续读写硬盘,也可能导致这个问题。 接下来,我应该考虑硬件方面的因素。如果用户使用的是机械硬盘(HDD),其读写速度本身较慢,尤其是在多任务处理时容易达到瓶颈。而固态硬盘(SSD)一般情况较少出现这个问题,不过也不是绝对的,特别是当SSD出现故障或寿命将尽时,也可能出现高占用。 然后,病毒或恶意软件的可能性也不能排除。有些恶意程序会在后台大量占用磁盘资源,导致系统卡顿。此外,系统文件损坏或磁盘错也可能引发这个问题,这时候可能需要检查磁盘健康状态或运行系统文件检查工具。 接下来是解决方案。我需要分步骤给出建议,帮助用户逐步排查。第一步通常是打开任务管理器,查看具体是哪个进程占用了磁盘资源。如果是系统进程,可以尝试暂时禁用相关服务,比如SysMain或Windows Search。如果是第三方软件,建议用户结束任务或卸载。 如果问题依旧,可能需要检查启动项,禁用不必要的开机启动程序,减少后台负担。此外,检查硬盘的健康状况,使用CrystalDiskInfo等工具查看SMART状态,或者运行chkdsk命令修复磁盘错。 对于硬件问题,如果确认是机械硬盘导致的性能瓶颈,建议用户升级到SSD,这通常会显著改善系统响应速度。同时,确保系统驱动,特别是存储控制器驱动是最新的,也有助于优化磁盘性能。 用户可能不太懂技术术语,所以需要用通俗易懂的语言解释,同时步骤要清晰,避免复杂操作。另外,需要提醒用户备份重要数据,防止在操作过程中数据丢失。如果所有方法都无效,可能需要考虑重装系统或联系专业维修人员。 最后,要确保回答结构清晰,分点列出原因和解决方案,让用户能一步步跟着操作。同时注意使用正确的LaTeX格式,但根据用户的问题内容,可能用到的数学公式不多,不过如果有涉及数值或技术参数的地方需要正确应用格式。</think>关于笔记本电脑磁盘占用持续处于**100%**的问题,以下是详细分析及解决方案: --- ### **一、问题表现** 当任务管理器显示**磁盘使用100%**时,电脑会出现: - 操作卡顿、程序无响应 - 文件复制/保存极慢 - 开机时间显著延长 - 风扇频繁高速运转(因系统资源紧张) --- ### **二、常见原因** #### 1. **系统服务与进程** - **SysMain(原Superfetch)**:预加载常用程序到内存,机械硬盘(HDD)可能导致高占用。 - **Windows搜索索引**:后台建立文件索引时持续读写。 - **系统更新**:Windows Update下载/安装更新文件。 #### 2. **软件行为** - **杀毒软件扫描**:全盘扫描时占用磁盘。 - **后台程序异常**:如Chrome多标签、Steam更新游戏、云同步软件(OneDrive/Dropbox)。 #### 3. **硬件问题** - **机械硬盘(HDD)性能瓶颈**:随机读写速度慢,多任务时易满载。 - **硬盘故障**:坏道、固件错或寿命耗尽(SSD写入量过高)。 #### 4. **病毒或恶意软件** - 部分恶意程序会疯狂读写磁盘,消耗资源。 --- ### **三、解决方案** #### **步骤1:定位占用源** 1. 按 `Ctrl+Shift+Esc` 打开**任务管理器**。 2. 切换到 **“进程”** 标签,按 **“磁盘”** 列排序,找到占用最高的进程。 #### **步骤2:针对性处理** - **系统服务优化**: - 禁用 **SysMain**: ```cmd Win+R → 输入 services.msc → 找到 "SysMain" → 右键停止并禁用 ``` - 关闭 **Windows搜索索引**: ```cmd 同上步骤,找到 "Windows Search" → 停止并禁用 ``` - **限制后台程序**: - 任务管理器 → 结束高占用的非关键进程。 - 禁用开机启动项: ```cmd Ctrl+Shift+Esc → 启动 → 右键禁用非必要程序 ``` - **检查硬盘健康**: - 运行命令提示符: ```cmd chkdsk C: /f /r (检查并修复磁盘错) ``` - 使用工具检测:CrystalDiskInfo(查看SMART状态)。 #### **步骤3:硬件升级(长期建议)** - **更换为SSD**:将系统盘升级为固态硬盘,可显著降低磁盘负载。 - **增加内存**:若内存不足(<8GB),系统会频繁使用虚拟内存(pagefile.sys),加剧磁盘压力。 #### **步骤4:防病毒与系统重置** - 运行 **Windows安全中心** 进行全盘扫描。 - 若问题持续,尝试 **重置系统**(保留文件)。 --- ### **四、预防措施** 1. 定期清理磁盘空间(使用 `磁盘清理` 工具)。 2. 避免同时运行多个大型软件(如游戏+视频渲染)。 3. 关闭不必要的后台服务(如OneDrive自动同步)。 --- 通过以上方法,可逐步排查并解决磁盘100%占用问题。若硬件老化严重(如机械硬盘使用超5年),建议优先更换SSD以提升整体性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hanley_Yeung

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值