YOLO识别视频时,识别框闪烁问题解决:增加前后帧记忆功能

一、简述

使用YOLO完成航拍视频任务识别时,会遇到识别框不稳定问题。

这是由于在连续帧处理时,YOLO不会记忆上一帧的识别结果,可能上一帧算法认为此处是一辆车,下一帧由于光照等变化,此处置信度下降,低于阈值,算法又不认为此处是车,下一帧置信度上升,算法又认为是车,因此造成了识别框闪烁问题,当同一视场下目标较多时,闪烁问题会更加明显。

二、思路

希望增加一个前后帧关联的策略,让前一帧的识别结果可以关联到后一帧,这里提供一个小思路,将前一帧超过一定阈值的置信度乘以一个系数叠加到下一帧对应的网格位置,相当于如果前一帧你认为是车,那么下一帧有更大概率这地方仍然存在车。

三、代码

在YOLO的nms函数前添加如下代码:

    global temp_prediction
    global first_frame
    if not first_frame:
        pre_predic = temp_prediction
    else:
        pre_predic = 0							#对上一帧的预测结果做读取
    temp_prediction = prediction[..., 4]		#对本帧的预测结果做缓存
    prediction[..., 4] += pre_predic * 0.5		
    #对本帧的预测结果叠加一个上一帧的权重,目前权重设置为0.5,取决于不同任务,建议设置值在0.05~0.5之间

四、结果

增加前后帧记忆代码段前:

before

增加前后帧记忆代码段后:

after

  • 10
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
你提到的问题YOLO(You Only Look Once)算法在物体识别过程中低识别率和不完整选的情况。YOLO算法是一种实目标检测算法,它将目标检测任务转化为一个回归问题,在一张图像中同预测多个边界和类别概率。然而,YOLO算法在某些情况下可能会出现低识别率和不完整选的问题。 这些问题可能是由于以下原因导致的: 1. 小目标问题YOLO算法对小目标的检测效果相对较差。由于YOLO算法将图像分成了较粗的网格,如果目标较小,则可能无法准确地检测到目标,导致低识别率和不完整选的情况。 2. 目标遮挡问题:如果目标被其他物体或者遮挡物遮挡,YOLO算法可能无法完整地选目标。这可能导致目标的一部分被忽略,从而影响识别准确率。 3. 数据集不平衡问题:如果训练数据集中某些类别的样本较少,或者某些类别的目标比较难以区分,YOLO算法可能在这些类别上表现不佳,导致低识别率的问题。 对于提高YOLO算法的识别率和选准确性,可以考虑以下方法: 1. 数据增强:使用数据增强技术,如随机缩放、旋转、裁剪等操作,可以增加数据集的多样性,提升算法对于不同尺寸和角度的目标的识别能力。 2. 多尺度检测:可以在不同尺度下进行目标检测,以提高对小目标的检测能力。可以通过在不同尺度下训练模型,或者使用图像金字塔等方法来实现。 3. 多模型集成:使用多个不同的YOLO模型进行集成,可以提高整体的识别率和选准确性。 4. 后处理技术:可以使用非极大值抑制(NMS)等后处理技术,对检测结果进行优化和过滤,以提高选的准确性。 综上所述,要提高YOLO算法的识别率和选准确性,需要综合考虑目标大小、遮挡情况、数据集平衡性等因素,并采取相应的措施进行改进。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值