在典型的PASCAL VOC数据集上测量的对象检测性能在过去几年中已经稳定下来。最好的方法是复杂的系统,通常将多个低级图像特征与高级语境相结合。在本文中,我们提出了一种简单可扩展的检测算法,相对于2012年VOC的先前最佳结果,平均精度(mAP)提高了30%以上,达到53.3%的mAP。我们的方法结合了两个关键的改进:(1)可以将大容量卷积神经网络(CNN)应用于自下而上的区域提案,以便定位和分割对象。(2)当标记的训练数据稀缺时,对辅助任务进行训练,然后进行域特定的微调,可以显着提升性能。由于我们将区域提案与CNN相结合,所以我们称之为我们的方法R-CNN:具有CNN特征的区域。我们还将R-CNN与OverFeat进行比较,OverFeat是最近提出的基于类似CNN架构的滑动窗口检测器。我们发现R-CNN在20类的ILSVRC2013检测数据集上大幅超越OverFeat。完整系统的源代码在http://www.cs.berkeley.edu/~rbg/rcnn。
#PEP 8 – Python编码风格指南
PEP: | 8 |
---|---|
Title: | Style Guide for Python Code |
Author: | Guido van Rossum |
Status: | Active |
Type: | Process |
Created: | 05-Jul-2001 |
Post-History: | 05-Jul-2001, 01-Aug-2013 |
这篇文档说明了Python主要发行版中标准库代码所遵守的规范。对于Python的C语言实现中的编码规范,请参考实现Python的C代码风格指南PEP 7。
这篇文档和PEP 257(Docstring约定)都改编自Guido1最早的Python风格指南文章,并且添加了一些Barry的风格指南2中的内容。
语言自身在发生着改变,随着新的规范的出现和旧规范的过时,代码风格也会随着时间演变。
很多项目都有自己的一套风格指南。若和本指南有任何冲突,应该优先考虑其项目相关的那套指南。
DenseNet架构1由于特征重用而具有很高的计算效率。然而,原始的DenseNet实现可能需要大量的GPU内存:如果不处理得当,预激活批量归一化2和连续卷积操作可以生成随网络深度的平方增长的特征图。在本中中,我们介绍了减少训练过程中DenseNet的内存消耗的策略。通过策略性地使用共享内存分配,我们将存储特征图的内存成本从深度的平方减少到随深度线性增长。没有GPU内存的瓶颈,现在可以训练极深的DenseNet。具有14M个参数的网络可以在单个GPU上训练,提高了4M。以前不可能训练的264层DenseNet(73M个参数)现在可以在一台具有8个NVIDIA Tesla M40 GPU的工作站上进行训练。在ImageNet ILSVRC分类数据集上这个大型的DenseNet达到了20.26%的领先的single-crop top-1错误率。
Markdown是一种轻量级、简单的语法,用于编写文档。使用Markdown可以控制文档的显示。比如:粗体、斜体、图片、列表、表格、段落、代码、引用、公式等。
我们使用的Markdown语法遵循Github Flavored Markdown标准。也可以参阅Mastering Markdown这个简短的教程。
推荐的Markdown编辑器为Typora,也可使用其它遵循Github Flavored Markdown标准的编辑器。
我们提出了一个概念上简单,灵活和通用的目标分割框架。我们的方法有效地检测图像中的目标,同时为每个实例生成高质量的分割掩码。称为Mask R-CNN的方法通过添加一个与现有目标检测框回归并行的,用于预测目标掩码的分支来扩展Faster R-CNN。Mask R-CNN训练简单,相对于Faster R-CNN,只需增加一个较小的开销,运行速度可达5 FPS。此外,Mask R-CNN很容易推广到其他任务,例如,允许我们在同一个框架中估计人的姿势。我们在COCO挑战的所有三个项目中取得了最佳成绩,包括目标分割,目标检测和人体关键点检测。在没有使用额外技巧的情况下,Mask R-CNN优于所有现有的单一模型,包括COCO 2016挑战优胜者。我们希望我们的简单而有效的方法将成为一个促进未来目标级识别领域研究的坚实基础。我们稍后将提供代码。
最近的工作表明,如果卷积网络在靠近输入的层与靠近输出的层之间包含更短的连接,那么卷积网络的深度可以显著增加,准确度更高,并且更易于训练。在本文中,我们采纳这一观点,并提出了密集连接卷积网络(DenseNet),它以前馈的方式将每个层与每个其它层连接起来。具有L层的传统卷积网络具有L个连接(每个层与其后续层之间),而我们的网络具有的连接个数为:$\frac{L(L+1)}{2}$。对于每个层,所有先前层的特征图都被用作本层的输入,并且本层输出的特征图被用作所有后续层的输入。DenseNet有几个优点:它们可以减轻梯度弥散问题,加强特征传播,鼓励特征重用,大大减少参数数量。我们在四个竞争激烈的对象识别基准任务(CIFAR-10, CIFAR-100, SVHN, ImageNet)上对我们提出的网络架构进行评估。相较于其它最先进的方法,DenseNet在大多数情况下都有显著的改善,同时要求较少的算力以实现高性能。代码和预训练的模型可以在https://github.com/liuzhuang13/DenseNet上找到。