这是一篇非常漫长并且艰深的文章的节选(点击文末阅读原文查看全文),它解释了为什么我们需要测试,以及如何对软件进行测试的问题。好消息是,这篇文章提供的信息经得起时间推敲,无论你在构建什么样的软件都能适用。不管你是工作在一个微服务项目上,还是 IoT 设备上,抑或是手机应用或者网页应用,这篇文章提供的观点应该都有章可寻。
论文: FoveaBox: Beyound Anchor-Based Object Detection
Anchor-free检测方法分为anchor-point类别和key-point类别两种,相对于key-point类别,anchor-point类别有以下有点:1) 更简单的网络结构 2) 更快的训练和推理速度 3) 更好地利用特征金字塔 4) 更灵活的特征金字塔选择,但anchor-point类别的准确率一般比key-point类别要低,所以论文着力于研究阻碍anchor-point类别准确率的因素,提出了SAPD(Soft Anchor-Point Detecto),主要有以下两个亮点:
金字塔特征表示是解决目标检测中尺度变化挑战的常见做法。然而,不同特征尺度的不一致是基于特征金字塔的single-shot检测器的主要限制。在这项工作中,研究者提出了一种新颖的数据驱动的金字塔特征融合策略,称为自适应空间特征融合 (ASFF)。它学习了空间过滤冲突信息以抑制不一致性的方法,从而提高了特征的尺度不变性,并引入了free inference overhead。
Feature pyramids are a basic component in recognition systems for detecting objects at different scales. But recent deep learning object detectors have avoided pyramid representations, in part because they are compute and memory intensive. In this paper , we exploit the inherent multi-scale, pyramidal hierarchy of deep convolutional networks to construct feature pyramids with marginal extra cost. A topdown architecture with lateral connections is developed for building high-level semantic feature maps at all scales. This architecture, called a Feature Pyramid Network (FPN), shows significant improvement as a generic feature extractor in several applications. Using FPN in a basic Faster R-CNN system, our method achieves state-of-the-art singlemodel results on the COCO detection benchmark without bells and whistles, surpassing all existing single-model entries including those from the COCO 2016 challenge winners. In addition, our method can run at 6 FPS on a GPU and thus is a practical and accurate solution to multi-scale object detection. Code will be made publicly available.
DPM算法由Felzenszwalb于2008年提出,是一种基于部件的检测方法,对目标的形变具有很强的鲁棒性。目前DPM已成为众多分类、分割、姿态估计等算法的核心部分,Felzenszwalb本人也因此被VOC授予"终身成就奖"。
后者是指对页面的每一个组件(如文本框、按钮等)进行测试,以验证它们的功能、性能和安全性,有时也被称为组件测试。
论文地址:https://arxiv.org/pdf/1912.02424.pdf
前言: 这篇文章主要使用特征金字塔网络来融合多层特征,改进了CNN特征提取。作者也在流行的Fast&Faster R-CNN上进行了实验,在COCO数据集上测试的结果现在排名第一,其中隐含的说明了其在小目标检测上取得了很大的进步。其实整体思想比较简单,但是实验部分非常详细和充分。 摘要: 特征金字塔是多尺度目标检测系统中的一个基本组成部分。近年来深度学习目标检测特意回避金字塔特征表示,因为特征金字塔在计算量和内存上很昂贵。所以作者利用了深度卷积神经网络固有的多尺度、多层级的金字塔结构去构建特征金字塔网络。
摘要:小目标检测仍然是一个尚未解决的挑战,因为很难仅提取几个像素大小的小目标信息。尽管在特征金字塔网络中进行尺度级别的相应检测可以缓解此问题,但各种尺度的特征耦合仍然会损害小目标检测的性能。本文提出了扩展特征金字塔网络(EFPN,extended feature pyramid network),它具有专门用于小目标检测的超高分辨率金字塔层。具体来说,其设计了一个模块,称为特征纹理迁移(FTT,feature texture transfer),该模块用于超分辨率特征并同时提取可信的区域细节。此外,还设计了前景-背景之间平衡(foreground-background-balanced)的损失函数来减轻前景和背景的面积不平衡问题。在实验中,所提出的EFPN在计算和存储上都是高效的,并且在清华-腾讯的小型交通标志数据集Tsinghua-Tencent 100K和微软小型常规目标检测数据集MS COCO上产生了最好的结果。
经典的two stage检测网络有:faster RCNN和SSD,它们用于做bbox regression的模型各有不同,faster RCNN是VGG,feature map经过不断地下采样,最后的feature map送入RPN层,这样不断地下采样使得小检测框的像素非常小,无法进行训练的到,得到很好的结果。而SSD则是分别对不同尺寸的feature map进行bbox regression,这就导致尺寸较大的feature map没有高级语义,对于全局语义没有很好地提取,无法判断出物体的位置和大小,同样对小检测框没有很好的检测效果。FPN则解决了这个问题。
RCNN首次将卷积操作引入检测领域用于提取特征,然而现有的深度卷积网络需要输入固定尺寸的图片,这个需求可能会导致对于任意scale/size的图片的识别精确度下降。【深度卷积神经网络由卷积层和全连接层组成,卷积层对于任意大小的图片都可以进行卷积运算提取特征,输出任意大小的特征映射,而全连接层由于本身的性质需要输入固定大小的特征尺度,所以固定尺寸的需求来自于FC层,即使对输入图片进行裁剪、扭曲等变换,调整到统一的size,也会导致原图有不同程度失真、识别精度受到影响】SPPNet提出了**“空间金字塔池化”**消除这种需求,不管图像大小是多大,在整张图片上只需要计算一次,就可以得到整幅图像的特征图,经过池化都会输出一个固定长度的表征。
前言 VR技术是目前最受关注的前沿科技之一,受到了各家互联网公司的青睐,但这并不是首次。实际上,VR在发展史上经历了三次热潮。第一次热潮发生在上个世纪60年代,出现了第一个计算机图像驱动的头戴式显示设备以及头部位置跟踪系统,是VR发展历史上的一个重要里程碑。第二次热潮发生在上个世纪90年代,3D游戏的上市使得VR技术关注度剧增,但由于当时VR技术尚不成熟,游戏画质差价格高,因而这一次的VR热潮就此消退。到2014年,Facebook公司收购Oculus后,VR热潮再度袭来,Facebook创始人在中国发展高
MSE(Mean Square Error)均方误差,MSE是真实值与预测值的差值的平方然后求和平均。通过平方的形式便于求导,所以常被用作线性回归的损失函数。MAE(Mean Absolute Error)平均绝对误差。是绝对误差的平均值。可以更好地反映预测值误差的实际情况。
在深度学习目标检测中,特别是人脸检测中,由于分辨率低、图像模糊、信息少、噪声多,小目标和小人脸的检测一直是一个实用和常见的难点问题。然而,在过去几年的发展中,也出现了一些提高小目标检测性能的解决方案。本文将对这些方法进行分析、整理和总结。
在计算机视觉领域,图像金字塔是一种强大的技术,可用于在不同尺度下对图像进行分析和处理。金字塔的概念借鉴了古埃及的金字塔形状,其中每一级都是前一级的缩小版本。本篇博客将深入探讨如何构建图像金字塔,以及如何在实际应用中利用金字塔来解决各种计算机视觉问题。我们将使用 OpenCV 库和 Python 编程语言进行实际演示。
近年来,深度卷积神经网络在计算机视觉上取得了优异的性能。深度卷积神经网络以精确地分类目标信息而闻名,并采用了简单的卷积体系结构来降低图层的复杂性。基于深度卷积神经网络概念设计的VGG网络。VGGNet在对大规模图像进行分类方面取得了巨大的性能。该网络设计了一堆小卷积滤波器,使网络结构非常简单,但网络有一些定位错误。
构建图像的高斯金字塔是解决尺度不确定性的一种常用方法。高斯金字塔是指通过下采样不断的将图像的尺寸缩小,进而在金字塔中包含多个尺度的图像,高斯金字塔的形式如图3-30所示,一般情况下,高斯金字塔的最底层为图像的原图,每上一层就会通过下采样缩小一次图像的尺寸,通常情况尺寸会缩小为原来的一半,但是如果有特殊需求,缩小的尺寸也可以根据实际情况进行调整。由于每次图像的尺寸都缩小为原来的一半,图像尺缩小的速度非常快,因此常见高斯金字塔的层数为3到6层。OpenCV 4中提供了pyrDown()函数专门用于图像的下采样计算,便于构建图像的高斯金字塔,该函数的函数原型在代码清单3-51中给出。
本文提出了一种训练有素、多尺度、可变形的目标检测零件模型。在2006年PASCAL人员检测挑战赛中,我们的系统在平均精度上比最佳性能提高了两倍。在2007年的挑战赛中,它在20个类别中的10个项目中都取得了优异的成绩。该系统严重依赖于可变形部件。虽然可变形部件模型已经变得相当流行,但它们的价值还没有在PASCAL挑战等困难的基准测试中得到证明。我们的系统还严重依赖于新方法的甄别培训。我们将边缘敏感的数据挖掘方法与一种形式主义相结合,我们称之为潜在支持向量机。隐式支持向量机与隐式CRF一样,存在非凸训练问题。然而,潜在SVM是半凸的,一旦为正例指定了潜在信息,训练问题就变成了凸的。我们相信,我们的训练方法最终将使更多的潜在信息的有效利用成为可能,如层次(语法)模型和涉及潜在三维姿态的模型。
基于局部拉普拉斯金字塔的Edge-aware滤波器是在2011年由Adobe 公司的研究员Sylvain Paris(大神级人物,写了很多文章)提出的,我在4年前曾经参考有关代码实现过这个算法,但是速度也是非常慢的,所以当时也没有继续做深入的研究,前段时间做另外一个算法时仔细的研究了下高斯和拉普拉斯金子塔的优化,因此又抽时间仔细的分析了算法的论文和代码,由于论文的理论部分还有一些我没有想清楚,因此在这里我只对研读过程中涉及的代码方面的优化做个解读。
特征金字塔是不同尺度目标识别系统的基本组成部分。但最近的深度学习对象检测器已经避免了金字塔表示,部分原因是它们需要大量的计算和内存。本文利用深卷积网络固有的多尺度金字塔结构构造了具有边际额外成本的特征金字塔。提出了一种具有横向连接的自顶向下体系结构,用于在所有尺度上构建高级语义特征图。该体系结构称为特征金字塔网络(FPN),作为一种通用的特征提取器,它在几个应用程序中得到了显著的改进。在一个基本的Fasater R-CNN系统中使用FPN,我们的方法在COCO检测基准上实现了最先进的单模型结果,没有任何附加条件,超过了所有现有的单模型条目,包括来自COCO 2016挑战赛冠军的条目。此外,我们的方法可以在GPU上以每秒6帧的速度运行,因此是一种实用而准确的多尺度目标检测解决方案。
图像金字塔是对一张输入图像先模糊再下采样为原来宽高的1/2(宽高缩小一半)、不断重复模糊与下采样的过程就得到了不同分辨率的输出图像,叠加在一起就形成了图像金字塔、所以图像金字塔是图像的空间多分辨率存在形式。这里的模糊是指高斯模糊,所以这个方式生成的金字塔图像又称为高斯金字塔图像。高斯金字塔图像有两个基本操作 reduce 是从原图生成高斯金字塔图像、生成一系列低分辨图像,OpenCV对应的相关API为:
这篇论文是CVPR2017年的文章,采用特征金字塔做目标检测,有许多亮点,特来分享。
随着ResMLP、MLP-Mixer等文章的提出,基于MLP的backbone重新回到了CV领域。在图像识别方面,基于MLP的结构具有较少的假设偏置,但是依旧能够达到与CNN和Vision Transformer相当的性能。
尺度,顾名思义就是说图像的尺寸和分辨率。在我们进行图像处理的时候,会经常对源图像的尺寸进行放大或者缩小的变换,进而转换为我们指定尺寸的目标图像。在对图像进行放大和缩小的变换的这个过程,我们称为尺度调整。
论文名称:TensorMask: A Foundation for Dense Object Segmentation
图像金字塔是一种以多分辨率来解释图像的有效但概念简单的结构。应用于图像分割,机器视觉和图像压缩。一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。其通过梯次向下采样获得,直到达到某个终止条件才停止采样。金字塔的底部是待处理图像的高分辨率表示,而顶部是低分辨率的近似。我们将一层一层的图像比喻成金字塔,层级越高,则图像越小,分辨率越低。
红框里的代码很重要,没有这句话,三角形就打印不出来,打印的只是许多连起来的‘*’。
目标的多尺度变化在目标检测中是一个很重要的问题,利用特征层多尺度(或anchor多尺度)是一种有效的解决方案。Anchor box用于将所有可能的Instance box离散为有限数量的具有预先定义的位置、尺度和纵横比的box。Instance box和Anchor box基于IOU重叠率来匹配。当这种方法集成到特征金字塔的时候,大的anchor通常和上部的特征相映射,小的anchor通常和下部的特征相映射,如下图所示。这是基于启发式的,即上层特征图有更多的语义信息适合于检测大的目标,而下层特征图有更多的细粒度细节适合于检测小目标。然而,这种设计有两个局限性:1)启发式引导的特征选择;2)基于覆盖锚取样。在训练过程中,每个实例总是根据IoU重叠匹配到最近的锚盒。而锚框则通过人类定义的规则(如框的大小)与特定级别的功能映射相关联。因此,为每个实例选择的特性级别完全基于自组织启发式。例如,一个汽车实例大小50×50像素和另一个类似的汽车实例规模60×60像素可能分配到两个不同的特征层,而另一个40×40像素大小的实例可能被分配到和50x50相同的特征层,如下图所示。
机器之心专栏 作者:李俊 近日,CVPR 2017获奖论文公布,引起了业内极大的关注。但除了这些获奖论文,还有众多精彩的论文值得一读。因此在大会期间,国内自动驾驶创业公司 Momenta 联合机器之心
通常情况下,我们习惯于使用一个恒定大小的图像。但在某些情况下,我们需要处理不同分辨率的(相同)图像。例如,当我们在图像中搜索某个东西时,比如人脸,我们不确定该物体会以何种尺寸出现在所述图像中。在这种情况下,我们需要创建一组具有不同分辨率的相同图像,并在所有这些图像中搜索物体。这些具有不同分辨率的图像集被称为图像金字塔(因为当它们被保存在一个堆栈中,最高分辨率的图像在底部,最低分辨率的图像在顶部,它看起来像一个金字塔)。
它可能被称为“测试自动化金字塔”,但在大多数情况下看起来都像三角形一样可怕。如果使用吉萨大金字塔的尺寸和本文中讨论的数学方程式,您将最终对测试金字塔的每一层的作用和依赖性以及建立牢固基础的重要性有更深入的了解。
01懒人学RCNN.mp4 02懒人学FastRCNN.mp4 03懒人讲FasterRCNN之简介.mp4 04懒人学FasterRCNN之融合.mp4 05懒人讲FasterRCNN之RPN.mp4 06懒人讲FPN之引言.mp4 07懒人讲FPN之深入浅出FPN.mp4 08懒人讲FPN之FasterRCNN实践.mp4 09懒人学MaskRCNN之介绍.mp4
本文是 #用 Stata 画个图#系列的第 2 讲, 主要是关于如何绘制人口金字塔。人口金字塔(Population Pyramid)是一种常见的图形,是人口统计学家用于刻画特定区域内人口构成及其变迁的可视化工具,常见的人口金字塔能够反映出年龄(age)和性别(sex)在总人口中的分布状况。相较于 Excel 而言,使用 Stata 绘制人口金字塔优势明显,因为除了所有图形对象均可按需调整之外,使用代码绘图也让绘图结果可复制,可以快速批量处理多年份多区域的人口数据,便于后期的管理和进一步呈现。
通常,我们过去使用的是恒定大小的图像。但是在某些情况下,我们需要使用不同分辨率的(相同)图像。例如,当在图像中搜索某些东西(例如人脸)时,我们不确定对象将以多大的尺寸显示在图像中。在这种情况下,我们将需要创建一组具有不同分辨率的相同图像,并在所有图像中搜索对象。这些具有不同分辨率的图像集称为“图像金字塔”(因为当它们堆叠在底部时,最高分辨率的图像位于顶部,最低分辨率的图像位于顶部时,看起来像金字塔)。
深度残差金字塔网络是CVPR2017年的一篇文章,由韩国科学技术院的Dongyoon Han, Jiwhan Kim发表,改善了ResNet。其改用加法金字塔来逐步增加维度,还用了零填充直连的恒等映射,网络更宽,准确度更高,超过了DenseNet,泛化能力更强。论文原文见附录。
作者 | Tomas Fernandez 译者 | 平川 微服务应用程序是一组通过网络进行通信的分布式程序,有时也会与第三方服务和数据库交互。微服务是网络化的,与传统的单体应用程序相比,它的故障点更多。为此,我们需要一种不同的、涉及面更广的测试方法。那么,我们该如何测试一个微服务应用程序?测试金字塔还有效吗?当涉及到第三方服务并可能出现网络中断时,我们该如何测试?在这篇博文中,我们将尝试回答所有这些问题。 本文最初发布于 semaphore 博客。 微服务应用程序是一组通过网络进行通信的分布式程序
花了一点时间用Python和seaborn绘制了全国人口年龄结构图以及31个省市的人口年龄结构图,也被称为人口金字塔。
特征图金字塔网络FPN(Feature Pyramid Networks)是2017年提出的一种网络,FPN主要解决的是物体检测中的多尺度问题,通过简单的网络连接改变,在基本不增加原有模型计算量的情况下,大幅度提升了小物体检测的性能。
上一次我介绍了一个计算摄影技术构成的"动作放大器",它能够高效的将视频中的难以用肉眼察觉的变化分离出来,并在重新渲染过程中进行放大,生成新的视频。这里面的典型代表是欧式视频动作放大。
上一讲是如何改变图像的分辨率和对比度,这一讲介绍一个听起来高大上的功能,图像金字塔,个人理解图像金字塔本质上也是图像大小的改变,只是改变的方式和算法有所不同。OpenCV实现了两种图像金字塔的功能,一种高斯金字塔,一种拉普拉斯金字塔。
开学几个星期了专业 Java 课终于有作业了哈哈哈。。。。。。。 作业需求是使用循环选择语句输出一个金字塔
领取专属 10元无门槛券
手把手带您无忧上云