目标检测理论

目标检测模型评价标准

1.准确率 accuracy:正确预测的正反例数 / 总数,对应错误率,评估模型的全局准确程度,不能全面评价模型;

目标检测理论

正样本负样本判断为正TP FP判断为负FN TN
TP (True Positive,真阳性):算法给出正样本,事实上也是正样本,即正确检测到目标
TN (True Negative,真阴性):算法给出负样本,事实上也是负样本,即正确检测到非目标
FP (False Positive,假阳性):算法给出正样本,事实上却是负样本,即误检测
FN (False Negative,假阴性):算法给出负样本,事实上却是正样本,即漏检测

目标检测理论

1.精确率或查准率 precision :  算法正确检测到的正样本个数/算法检出的所有正样本个数 = TP/(TP + FP);用于评估算法在检测成功基础上的正确率,准不准。
2.召回率或查全率 recall : 算法正确检测的正样本个数/标注的所有正样本个数 = TP/(TP + FN);表示真值给出的所有正样本中被检测器检测到的百分比,全不全。
3.平均正确率(AP):即PR曲线下的面积;用来衡量算法在单个类别上的平均精度。AP值越高,表示对这个类别的检测精度越高。VOC2010之后用所有recall对应的presicion求平均得到。
4.mAP(Mean Average Precision)平均精度均值;即多个类别的AP的平均值;用来衡量算法在所有类别上的整体精度表现。mAP值是目标检测算法最重要的评估指标之一(tf api即用的此指标)。
5.交并比(IoU)交集的面积与并集的面积之比;重叠程度越高,即两个框越靠近;跟踪中写作Overlap Rate。Ground Truth;0.5;
6.f-measure:Precision和Recall的加权调和平均值;Precision和Recall在一般情况下是互斥的,即Precision越高,Recall越低。f-measure用于为两者给出一个综合评判。F1-score越大越好。
7.FPPI(False Positive Per Image):每张图片的误检数,相比precision和recall更加直观;用于评估平均误检数。
AP50:iou阈值为0.5时的AP测量值;AP75等;
APS:像素面积<32^2的目标框AP测量值;
APM:像素面积32^2到96^2的目标框AP测量值;
APL:像素面积>96^2的目标框AP测量值;

目标检测理论

PR曲线
用来评估模型性能,Precision值和Recall值越大越好,所以PR曲线越往右上角凸越好。

目标检测理论

ROC曲线
用不同的阀值,统计出一组不同阀值下的TPR(真阳率)和FPR(假阳率)的关系,即预测的正样本中正负样本的比率问题。
横轴FPR:FPR越大,预测正类中实际负类越多。
纵轴TPR:TPR越大,预测正类中实际正类越多。
理想目标:TPR=1,FPR=0,即图中(0,1)点,故ROC曲线越靠拢(0,1)点,越偏离45度对角线越好。
VOC2007 AP计算方法:11Recall Points;
VOC2010~2012 AP计算方法:AUC面积法;
COCO AP计算方法:11Recall Points,根据不同thresh0.5~0.95分别计算求平均;

目标检测理论

非极大值抑制-NMS

目标检测理论

目标检测--1x1卷积

1x1卷积--全连接,googlenet/inception;

目标检测理论

目标检测理论

目标检测理论

目标检测理论

目标检测理论

GoogleNet模式

目标检测理论

目标检测网络对比

目标检测理论

目标检测理论

faster-rcnn tensorflow object detection api参数

#model
#from_detection_checkpoint
如果为false,则假定检查点来自对象分类检查点。
如果为True,则假定检查点来自对象检测的检查点。
请注意,从检测检查点开始通常会导致比分类检查点更快的训练工作。
#keep_aspect_ratio_resizer
控制样本输入缩放后的大小。
#first_stage_features_stride
第一阶段特征提取步长,可保持 16 不变,如果目标密集且较小,可考虑减小该值为 8,以降低特征提取步长,提高特征提取密度,从而提升模型效果。

#first_stage_anchor_generator
指示在RPN网络在feature map上生成锚点的策略。对RPN的性能有较大影响,直接影响提取出来的候选框区域的数量、大小、密度等。
proposals太少或尺度不合理,导致对于大小目标检测的失衡,或者对部分目标的漏检;设置的太多,又会增加训练难度,加大运算量,使得RPN网络拟合困难。
因此,需要根据具体情况具体分析后,结合经验值进行合理的设定。
对于每一个anchor中心点,以它为中心围绕其生成20个anchor。这20个anchor的尺寸分别为0.1, 0.25,0.5,1.0,2.0;长宽比分别为0.5,1.0,1.5,2.0。也就是会以中心点坐标为中心生成20个anchor,所有的长宽分别是[scales] x [aspect_ratios]。
在模型训练时可通过加密scales以及aspec_ratios来对RPN网络产生影响,但是要注意把握计算量、训练拟合难度、数据特征等因素质检的权衡,否则很容易导致模型的RPN网络不收敛,从而使得训练一直震荡。

#grid_anchor_generator.height_stride、grid_anchor_generator.width_stride
物体框训练时的滑动步长,同上。
#first_stage_nms_iou_threshold
第一阶段框重叠率的阈值 ,可以适当减小来增大查全率,但相应准确率可能降低,范围 0~1。对于小目标应该调小。
#first_stage_max_proposals
第一阶段选取得推荐框的个数,可以适当增大来增大查全率,但相应准确率可能降低。
#batch_non_max_suppression.iou_threshold
第二阶段 IOU 阈值,可以适当减小来增大查全率,但相应准确率可能降低,范围 0~1。
#batch_non_max_suppression.max_detections_per_class
每类样本的最大检测数量。
#batch_non_max_suppression.max_total_detections
所有样本的最大检测数量。
#first_stage_features_stride
第一阶段特征提取步长,可保持 16 不变,如果目标密集且较小,可考虑减小该值为 8,以降低特征提取步长,提高特征提取密度,从而提升模型效果。

#first_stage_anchor_generator
指示在RPN网络在feature map上生成锚点的策略。对RPN的性能有较大影响,直接影响提取出来的候选框区域的数量、大小、密度等。proposals太少或尺度不合理,导致对于大小目标检测的失衡,或者对部分目标的漏检;设置的太多,又会增加训练难度,加大运算量,使得RPN网络拟合困难。因此,需要根据具体情况具体分析后,结合经验值进行合理的设定。
#batch_non_max_suppression.max_total_detections
所有样本的最大检测数量。
grid_anchor_generator.height_stride、grid_anchor_generator.width_stride
物体框训练时的滑动步长,同上。
#first_stage_nms_iou_threshold
第一阶段框重叠率的阈值 ,可以适当减小来增大查全率,但相应准确率可能降低,范围 0~1。对于小目标应该调小。
#first_stage_max_proposals
第一阶段选取得推荐框的个数,可以适当增大来增大查全率,但相应准确率可能降低。
#batch_non_max_suppression.iou_threshold
第二阶段 IOU 阈值,可以适当减小来增大查全率,但相应准确率可能降低,范围 0~1。
#batch_non_max_suppression.max_detections_per_class
每类样本的最大检测数量。
#batch_non_max_suppression.max_total_detections
所有样本的最大检测数量。
#train_config
#initial_learning_rate 初始学习率 , 0.0003、0.0002都可以。
#train_input_reader .shuttle:是否打乱样本原有顺序,随机输入训练。



#eval_config
#num_examples指示用于评估周期的批次数通常是评估数据集的总大小。
该参数metrics_set指示在评估期间运行的度量(即"coco_detection_metrics")。
#eval_interval_secs: 此参数决定运行评估的频率。

#数据增强:
NormalizeImage                normalize_image = 1; //归一化:0~255变成0~1;加快训练收敛;
RandomHorizontalFlip       random_horizontal_flip = 2; //水平翻转
RandomPixelValueScale    random_pixel_value_scale = 3; //像素值缩放
RandomImageScale          random_image_scale = 4; //图片缩放
RandomRGBtoGray           random_rgb_to_gray = 5; //rgb到gray
RandomAdjustBrightness  random_adjust_brightness = 6; //亮度
RandomAdjustContrast    random_adjust_contrast = 7; //对比度
RandomAdjustHue           random_adjust_hue = 8; //色度
RandomAdjustSaturation random_adjust_saturation = 9; //饱和度
RandomDistortColor        random_distort_color = 10; //扭曲颜色
RandomJitterBoxes          random_jitter_boxes = 11; // 随机抖动
RandomCropImage         random_crop_image = 12; //剪切
RandomPadImage          random_pad_image = 13; //旁白
RandomCropPadImage   random_crop_pad_image = 14; //剪切旁白
RandomCropToAspectRatio      random_crop_to_aspect_ratio = 15; //随机裁剪到指定比例大小
RandomBlackPatches      random_black_patches = 16;
RandomResizeMethod    random_resize_method = 17; //缩放
ScaleBoxesToPixelCoordinates  scale_boxes_to_pixel_coordinates = 18;
ResizeImage 	      resize_image = 19; //缩放尺寸
SubtractChannelMean   subtract_channel_mean = 20;
SSDRandomCrop          ssd_random_crop = 21;
SSDRandomCropPad    ssd_random_crop_pad = 22;
SSDRandomCropFixedAspectRatio          ssd_random_crop_fixed_aspect_ratio = 23;
SSDRandomCropPadFixedAspectRatio     ssd_random_crop_pad_fixed_aspect_ratio = 24;
RandomVerticalFlip        random_vertical_flip = 25; //垂直翻转
RandomRotation90        random_rotation90 = 26; //旋转90
RGBtoGray     rgb_to_gray = 27;
ConvertClassLogitsToSoftmax     convert_class_logits_to_softmax = 28;
RandomAbsolutePadImage        random_absolute_pad_image = 29;
RandomSelfConcatImage           random_self_concat_image = 30;

 

上一篇:浮点数相等的判别


下一篇:SQL59 获取有奖金的员工相关信息