目标检测中的正负样本

参考地址:https://www.cnblogs.com/rainsoul/p/6247779.html

       以人脸识别为例,如果你的任务是识别教室中的人脸,那么负样本的选取应该是教室中的窗户、椅子、墙、人的身体、衣服颜色等等,而不是天空、月亮这些对本任务没有帮助的场景。当然,如果不确定应用环境,那么应该选取尽可能有不同光照不同环境的自然图像作为负样本。

       个人理解的正样本就是任务所要检测的目标物,比如在人脸识别中不同种族年龄的人脸、不同表情的人脸、戴不同装饰的人脸等等情况下的人脸;而负样本则是目标物所处的不同背景(注意:此背景不包含人脸),比如人脸会出现在不同环境中,街道、室内总之所有能想到的环境中都有可能出现人脸哈哈,负样本就是这些不包含人脸的图片,如果需要很多负样本,则可以把这些不包含人脸的图片裁剪成所需图片大小。

       参考faster以及SSD两种检测框架中对于正负样本的选取准则,首先,检测问题中的正负样本并非人工标注的那些框框,而是程序中(网络)生成出来的ROI,也就是faster rcnn中的anchor boxes以及SSD中在不同分辨率的feature map中的默认框,这些框中的一部分被选为正样本,一部分被选为负样本,另外一部分被当作背景或者不参与运算。不同的框架有不同的策略,大致都是根据IOU的值,选取个阈值范围进行判定,在训练的过程中还需要注意均衡正负样本之间的比例。在fast的框架中,也是需要多SS算法生成的框框与GT框进行IOU的判断,进而选取正负样本,总之,正负样本都是针对于程序生成的框框而言,而非GT数据。

一个小技巧:在训练检测网络时,若已经训练出一个较好的检测器,在用它进行测试时,还会有一些误检,这时可以把误检的图像加入负样本中retrain检测网络,迭代次数越多则训练模型越好

目标检测中的正负样本