零碎笔记——20190306

零碎笔记——20190306

版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.youkuaiyun.com/heruili/article/details/88222972

non-max suppression(非最大值抑制):
清理检测结果,只输出概率最大的分类结果,但抑制很接近,但不是最大的其他预测结果
非极大值抑制,简称为NMS算法,英文为Non-Maximum Suppression。其思想是搜素局部最大值,抑制极大值。NMS算法在不同应用中的具体实现不太一样,但思想是一样的。非极大值抑制,在计算机视觉任务中得到了广泛的应用,例如边缘检测、人脸检测、目标检测(DPM,YOLO,SSD,Faster R-CNN)等
在这里插入图片描述

IOU(Intersection over Union):一种测量在特定数据集中检测相应物体准确度的一个标准,这个标准用于测量真实和预测之间的相关度,相关度越高,该值越高。

通常我们在 HOG + Linear SVM object detectors 和 Convolutional Neural Network detectors (R-CNN, Faster R-CNN, YOLO, etc.)中使用该方法检测其性能。注意,这个测量方法和你在任务中使用的物体检测算法没有关系。

IoU是一个简单的测量标准,只要是在输出中得出一个预测范围(bounding boxex)的任务都可以用IoU来进行测量。为了可以使IoU用于测量任意大小形状的物体检测,我们需要:
1、 ground-truth bounding boxes(人为在训练集图像中标出要检测物体的大概范围);
2、我们的算法得出的结果范围。

在这里插入图片描述
如上图,很简单,IoU相当于两个区域重叠的部分除以两个区域的集合部分得出的结果
一般来说,这个score > 0.5 就可以被认为一个不错的结果了。
python代码实现
在这里插入图片描述
下面使用Python来实现两个一维集合的 IoU 的计算


def iou(set_a, set_b):
    '''
    一维 iou 的计算
    '''
    x1, x2 = set_a # (left, right)
    y1, y2 = set_b # (left, right)
    
    low = max(x1, x2)
    high = max(y1, y2)
    # intersection
    if high-low<0:
        inter = 0
    else:
        inter = high-low
    # union
    union = (x2 - x1) + (y2 - y1) - inter
    # iou
    iou = inter / union
    return iou

上面,我们计算了两个一维集合的 iou,将上面的程序进行扩展,即可得到两个框 IoU 计算的程序。

def iou(box1, box2):
    '''
    两个框(二维)的 iou 计算
    
    注意:边框以左上为原点
    
    box:[top, left, bottom, right]
    '''
    in_h = min(box1[2], box2[2]) - max(box1[0], box2[0])
    in_w = min(box1[3], box2[3]) - max(box1[1], box2[1])
    inter = 0 if in_h<0 or in_w<0 else in_h*in_w
    union = (box1[2] - box1[0]) * (box1[3] - box1[1]) + \
            (box2[2] - box2[0]) * (box2[3] - box2[1]) - inter
    iou = inter / union
    return iou

代码二
在这里插入图片描述

#RT:RightTop
#LB:LeftBottom
def IOU(rectangle A, rectangleB):
    W = min(A.RT.x, B.RT.x) - max(A.LB.x, B.LB.x)
    H = min(A.RT.y, B.RT.y) - max(A.LB.y, B.LB.y)
    if W <= 0 or H <= 0:
        return 0;
    SA = (A.RT.x - A.LB.x) * (A.RT.y - A.LB.y)
    SB = (B.RT.x - B.LB.x) * (B.RT.y - B.LB.y)
    cross = W * H
    return cross/(SA + SB - cross)

L1正则化是指权值向量中各个元素的绝对值之和
L2正则化是指权值向量中各个元素的平方和然后再求平方根

L1正则化作用是可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择
L2正则化可以防止模型过拟合;一定程度上,L1也可以防止过拟合、

Softmax loss:classification
L2 loss:regression

cosine similarity:余弦相似性:值越大相似性越高

**LBP(Local Binary Pattern,局部二值模式)**是一种用来描述图像局部纹理特征的算子,它具有旋转不变性和灰度不变性等显著的特点

SIFT(Scale-Invariant feature transform):尺度不变特征变换,SIFT特征对旋转、尺度缩放、亮度变化等保持不变性,是一种非常稳定的局部特征。是用于图像处理领域的一种描述,这种描述具有尺度不变性,可在图像中检测出关键点,是一种局部特征描述子
1.1 SIFT算法具的特点
图像的局部特征,对旋转、尺度缩放、亮度变化保持不变,对视角变化、仿射变换、噪声也保持一定程度的稳定性。
独特性好,信息量丰富,适用于海量特征库进行快速、准确的匹配。
多量性,即使是很少几个物体也可以产生大量的SIFT特征
高速性,经优化的SIFT匹配算法甚至可以达到实时性
扩招性,可以很方便的与其他的特征向量进行联合。
1.2 SIFT特征检测的步骤
有4个主要步骤

1、尺度空间的极值检测 搜索所有尺度空间上的图像,通过高斯微分函数来识别潜在的对尺度和选择不变的兴趣点。
2、特征点定位 在每个候选的位置上,通过一个拟合精细模型来确定位置尺度,关键点的选取依据他们的稳定程度。
3、特征方向赋值 基于图像局部的梯度方向,分配给每个关键点位置一个或多个方向,后续的所有操作都是对于关键点的方向、尺度和位置进行变换,从而提供这些特征的不变性。
4、特征点描述 在每个特征点周围的邻域内,在选定的尺度上测量图像的局部梯度,这些梯度被变换成一种表示,这种表示允许比较大的局部形状的变形和光照变换。

HOG(Histogram of Oriented Gradient ,HOG),方向梯度直方图:

是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子
HOG特征通过计算和统计图像局部区域的梯度方向直方图来构成特征
HOG特征通过计算和统计图像局部区域的梯度方向直方图来构成特征
HOG特征结合SVM分类器已被广泛应用于图象识别中,尤其在行人检测中获得了极大的成功
在一副图像中,局部目标的表象和形状(appearance and shape)能够被梯度或边缘的方向密度分布很好地描述。(本质:梯度的统计信息,而梯度主要存在于边缘的地方)
HOG特征的提取与计算步骤
大概过程:

HOG特征提取方法就是将一个image(你要检测的目标或者扫描窗口):
1)灰度化(将图像看做一个x,y,z(灰度)的三维图像);
2)采用Gamma校正法对输入图像进行颜色空间的标准化(归一化);目的是调节图像的对比度,降低图像局部的阴影和光照变化所造成的影响,同时可以抑制噪音的干扰;
3)计算图像每个像素的梯度(包括大小和方向);主要是为了捕获轮廓信息,同时进一步弱化光照的干扰。
4)将图像划分成小cells(例如66像素/cell);
5)统计每个cell的梯度直方图(不同梯度的个数),即可形成每个cell的descriptor;
6)将每几个cell组成一个block(例如3
3个cell/block),一个block内所有cell的特征descriptor串联起来便得到该block的HOG特征descriptor。
7)将图像image内的所有block的HOG特征descriptor串联起来就可以得到该image(你要检测的目标)的HOG特征
8) 收集HOG特征:将提取的HOG特征输入到SVM分类器中,寻找一个最优超平面作为决策函数

R-HOG和SIFT看起来很相似,但不同的是:
R-HOG是在单一尺度下,密集的网格内,没有对方向排序的情况下被计算出来,而SIFT描述器是在多尺度下,稀疏的图像关键点上对方向排序的情况下被计算出来

reference:https://blog.youkuaiyun.com/u014061630/article/details/82818112

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值