目标检测是一件比较实际的且具有挑战性的计算机视觉任务,其可以看成图像分类与定位的结合,给定一张图片,目标检测系统要能够识别出图片的目标并给出其位置,由于图片中目标数是不定的,且要给出目标的精确位置,目标检测相比分类任务更复杂。
为什么需要滑窗?
目标检测算法通过分类器只能够告诉我们这张图片是否包含待检测目标,但是无法确定其位置(x,y,height,width)。那么怎么去确定待检测物体在图像中的位置呢?我们需要讲图片分成许多个子区域(sub-regions),将这个子区域通过模型检测目标存在情况。如果置信度很高,那么我们有理由相信目标就在这个子区域内,因此可以使用方框标出。那么久衍生出两个问题:
- 子区域怎么划分
最简单的子区域划分就是滑动窗口技术,采用具有不同长宽比、步长的矩形框来产生子区域。
2. 多个矩形框都通过了分类器检测(选择问题,Which one)
经过滑窗处理检测的结果可能会出现有多个子区域都满足置信度条件。使用非极大值抑值算法选择最终结果。
前提:目标边界框列表及其对应的置信度得分列表,设定阈值,阈值用来删除重叠较大的边界框。
IoU:intersection-over-union,即两个边界框的交集部分除以它们的并集。
非极大值抑制的流程如下:
- 根据置信度得