41 锚框【动手学深度学习v2】】

41 锚框【动手学深度学习v2】】

深度学习学习笔记
学习视频:https://www.bilibili.com/video/BV1if4y147hS/?spm_id_from=333.337.search-card.all.click&vd_source=75dce036dc8244310435eaf03de4e330

锚框:对边框位置的猜测。
先提出多个框在某个地方,比如5个,然后去看这5个框里面到底有没有物体。
两次预测:锚框位置和锚框内物体的预测。
在这里插入图片描述
如何处理锚框?

IoU - 交并比

比较两个框之间的相似度:真实框与锚框之间的相似度。一般会用IoU,越接近1 两个框相似度越接近。
计算公式:交集/并集在这里插入图片描述
IoU :计算两个集合的相似度(夹克比指数)
在这里插入图片描述
赋予锚框标号:一张图片假设有10000个锚框,去预测每个框中的物体,训练时每个锚框是一个训练样本,对于一个锚框要么是背景(那它就是一个负样本),要么是一个真实的物体(那么它就要与一个真实的边缘框关联上)。
目标检测可能处理大量的锚框都是负样本。
在这里插入图片描述
赋予锚框标号的办法:假设一个矩阵有(四个物体)对应有4个框,一些初始化的锚框,每个锚框与边缘框去算IoU,计算值填在矩阵里面,将整个矩阵最大的值挑出来,给到它最可能框到的物体的标号做关联,然后将这个值的所在行和列删掉,再取出一个最大值,继续关联,不断这样下去,直到所有的真实边缘框都关联完。
锚框一般固定生成的或者根据图片生成的。
边缘框是提前标好的。
多少个锚框会生成多少个训练样本。
赋予标号的算法很多种,这里介绍比较常用的几种做法。
在这里插入图片描述

NMS:非极大值抑制

使用非极大值抑制输出:每个锚框会预测一个边缘框,很多框是相似的,要去掉相似的框,使得输出更加干净。NMS办法是选中非背景类的最大预测值,然后去除与这个最大预测值IoU大于某个阈值的锚框(比如阈值设为0.5),反复这个过程最后得到干净的输出。
在这里插入图片描述
总结: 基于锚框做目标检测的算法很多,生成完锚框给每个锚框一个标号,然后计算与真实锚框的偏移,然后进行训练,最后预测使用NMS去掉冗余的预测。

在这里插入图片描述

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>