1. IOU(Intersection over Union) -交并比
IOU是一种测量在特定数据集中检测相应物体准确度的一个标准。在PASCAL VOC challenge
中经常使用该标准。 一般在 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(人为在训练集图像中标出要检测物体的大概范围,也就是人为对数据进行标注的框,这个就要考研数据标注人员的能力了)。 ps:博主也进行过相当长一段时间的标注工作。 2、我们的算法得出的结果范围(算法计算出来的结果)。 也就是说,这个标准用于测量真实和预测之间的相关度,相关度越高,该值越高(可以理解为:算法计算的输出框与人为标注的方框的重合程度,程度程度越高,IOU越大,输出结果越准确)。 举例,如下图所示: 上图展示了ground-truth和predicted的结果,绿色标线是人为标记的正确结果,红色标线是算法预测出来的结果,IOU要做的就是在这两个结果中测量算法的准确度。公式如下图所示: 如上图所示,IOU相当于两个区域重叠的部分除以两个区域的集合部分得出的结果(IOU=两个区域交集 / 两个区域并集)。 一般来说,这个score > 0.5 就可以被认为一个不错的结果了。 测试结果:
2. NMS(non maximum suppression)-非极大值抑制
NMS即非极大抑制,顾名思义就是抑制不是极大值的元素,搜索局部的极大值。 在物体检测中,NMS 应用十分广泛,其目的是为了清除多余的框,找到最佳的物体检测的位置。
3. RPN(RegionProposal Network)-区域生成网络
1.anchors(锚点)定义。
为方便理解,下面以图像数据(二维)进行举例: 特征可以看做一个尺度51*39的256通道图像,对于该图像的每一个位置,考虑9个可能的候选窗口,候选框选择依据: 三种面积 {128,256,512} ×三种比例 {1:1,1:2,2:1},这些候选窗口称为anchors。 51*39个anchor中心,以及9种anchor示例。
2.Sofmax(激活函数)
计算每个像素256-d的9个尺度下的值,得到9个anchor,我们给每个anchor分配一个二进制的标签(前景背景)。我们分配正标签前景给两类anchor: 1) 与某个 ground truth(GT) 包围盒有最高的 IoU重叠的anchor(也许不到0.7)。 2) 与任意GT包围盒有大于0.7的IoU交叠的anchor。 注意到一个GT包围盒可能分配正标签给多个anchor。我们分配负标签(背景)给与所有GT包围盒的IoU比率都低于0.3的anchor。非正非负的anchor对训练目标没有任何作用,由此输出维度为 (2*9=18),一共18维。 假设在conv5 feature map中每个点上有k个anchor(默认k=9),而每个anchor要分foreground和background,所以每个点由256d feature转化为cls=2k scores;而每个anchor都有 [x, y, w, h] 对应4个偏移量,所以reg=4k coordinates。 补充: 全部anchors拿去训练太多了,训练程序会在合适的anchors中随机选取 128个postive anchors+128个negative anchors进行训练。 具体关于RPN和faster-RPN:https://blog.csdn.net/qq_36269513/article/details/80421990
4. mask-掩膜
mask 掩膜 分类的结果叫label。 分割的结果叫mask。 因为分割结果通常会半透明的覆盖在待分割目标上,所以就叫它掩膜吧。 图片中有一个圆形物体,你从一张纸上剪掉一个和该物体一模一样大小的圆,把这张纸蒙在图片上,这时候你只能看见这个圆形物体,这张纸就是mask了。
5. focal loss -损失函数
知乎:https://zhuanlan.zhihu.com/p/32423092
6. 上下文信息简介
在实际的世界中,目标不可能单独的存在,它一定会于周围其他的对象会这是环境有或多或少的关系,这就是通常所说的上下文信息。上下文信息通常被理解为:察觉并能应用能够影响场景和图像中的对象的一些信息或者是全部信息。来源于对人类视觉系统的模拟,人类的大脑具有出色的识别性能,在目标及背景复杂的情况下人类视觉系统依然可以快速识别和分类大量的目标。对于目标成像的光照、姿态、纹理、形变和遮挡等因素均具有非常好的适应性。 针对于不同的领域,上下文的含义也不尽相同。本文中我的理解是:通过捕捉不同的对象之间的相互作用信息,对象与场景之间的相互作用信息作为条件来对新目标进行识别、处理。上下文信息并不是直接从目标的外观上直接得到,而是从邻域内的数据,目标的标注,目标的空间位置或者数据统计信息中得到。 在计算机视觉领域,很多学者采用 Biederman的语义关系划分来完成目标识别的方法研究。这种划分根据上下文信息的来源可以划分三类:语义上下文(可能性),空间上下文(位置),尺度上下文(尺寸)。多种类型的上下文信息在理论上已经被证明在计算机视觉、图像处理方面中扮演了非常重要的角色,能提高识别的准确度和精确度。但是若想要它广泛应用于实践之中仍有很多问题需要解决,除了理论基础仍需要完善外,面对生活中数不计的图像数据,构建完整的上下文信息库和对应的高效算法是推广的必要;总之:上下文信息的应用旨在模仿人类对外界事物的感知,是下一代计算机视觉和机器学习的主流,也是当今研究的热点。
上下文信息的应用
图像分割
目标跟踪与识别
网络安全
信息检索
上下文存在的问题
1、计算量太大
通过前面的论述可以看出,上下文信息的合理使用可以帮助我们更好的完成任务,尤其是多种上下文信息的混合使用。但是这也带来了一个很大的问题,随着数据量的增大或者图像之间关联的增加,一些检测模型的计算量增长变得非常大,使得模型的可扩展性比较差。比如对于应用像素上下文的目标分类模型来说,空间上下文信息的描述被分为两层:即第一层描述的是不同区域之间的关联;第二层描述的是图像中不同的目标之间的关联;目标与区域之间的关联描述在两层之间。但是随着图像中分层数量的增加,计算复杂度的增长也是异常的迅速。多重上下文信息的联合使用确实可以得到更加准确的结果,但是其中不同层次和信息结合的参数估计也引发的非常巨大的计算复杂度。更不用和尺寸上下文信息的三者联合使用,因为,尺寸上下文信息在计算2D图像的复杂度就很高。所以在以后的工作中,如何设计出能够更好的将多种上下文信息的联合使用的模型和开发更加高效的算法是一个研究的重点。
2、缺乏统一的标准
虽然上下文信息的使用可以很好的提高图像识别准确性,在计算机视觉领域也有很多的研究阐述了上下文信息在人类的目标检测中也扮演了非常重要的角色。但是,当人们需要一个高性能的识别系统时,还是比较青睐传统的方法,这也是为什么上下文信息在实际中应用较少的一个原因。造成这种现象的原因我总结为两个:第一,当前已经公开发表的大多的关于应用上下文信息的工作或者方法全部都是在自己构建的数据集的基础上完成对新方法的测试。由于缺乏实际的一个标准,很难比较它和未应用上下文信息方法的优劣;第二,上下文信息在理论方面也是缺乏一个标准,有非常少的文献可以清晰地说明上下文信息的组成。由此导致的问题是:对于一个给定的任务,上下文信息的使用能不能提高性能是一个未知数,对于性能有多少提升也是一个未知数。这也是导致上下文信息的应用较少的一个重要的原因。
上下文信息应用前景
当今人工智能是一个研究的热点,而其中的核心便是机器学习,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。 机器学习专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。其中上下文分析在机器学习方面就是一个非常有前途的研究方向。上下文信息应用就是致力于模仿人类的认知系统,不仅是前文比较频繁提到的视觉系统的模拟,还可以应用于语音识别等多种对人类感知信息的方式的模仿,可以提高认知的准确性,推动机器学习领域向前发展。