目标检测中的mAP计算

0x00 基本概念在说明mAP这个概念之前,我们先要说一下两个新的概念:precision和recall。这是论文中经常提及的两个概念。我们举这样的一个例子: 我们现在有一个检测狗的任务,但是这个任务数据中包含了猫。那么我们这个时候就有一个问题,我们怎么描述一个物体被检测出来呢?为此,我们引入了IOU这个概念 目标检测中的IOU计算问题 我们规定IOU > 0.5表示物体被检测出来,否则没有。

阅读全文

Iterative Visual Reasoning Beyond Convolutions论文笔记

论文地址:Iterative Visual Reasoning Beyond Convolutions 0x00 论文简述我们碰到过很多这样的问题:如果一个物体很小,或者目标很模糊,或者这个物体被遮住一部分,那么我们在做目标检测时,我们现在的算法会忽略这些目标。但是人类可以通过周边的事物以及物体的大致形状推断出这个目标的类型。如图:

阅读全文

最简单的K-means++算法原理和实践教程

在之前的最简单的K-means算法原理和实践教程最后我提到了这样的一个问题,你可以通过一些实验发现,K-means算法的最后聚类结果和初始化k个中心的位置有着极大的关系。 而我们在前文中提到过一些不同的初始化方法(前文中使用的是第一种初始化方法)。我们这里的K-mean++算法使用的初始化方法,实际是第三种: 随机地选择第一个点,或取所有点的质心作为第一个点。然后,对于每个后继初始质心,选择离已经选取过的初始质心最远的点。使用这种方法,确保了选择的初始质心不仅是随机的,而且是散开的。但是,这种方法可能选中离群点。此外,求离当前初始质心集最远的点开销也非常大。为了克服这个问题,通常该方法用于点样本。由于离群点很少(多了就不是离群点了),它们多半不会在随机样本中出现。计算量也大幅减少。

阅读全文

YOLOv3论文笔记

论文地址:YOLOv3: An Incremental Improvement 项目地址:darknet 0x00 Foreword今天看到YOLOv3发布的信息,第一个反应就是,我×,我之前的模型还没有训练好,现在又出来一个(T_T)。 不过我对于YOLOv3的发布还是很激动的,因为我之前和大多数人一样,对于single-stage报以很小的期望了,但是今天的YOLOv3让我又重新对于single-stage有了新的看法。

阅读全文

Ubuntu16.04+1080ti+cuda9.0+cudnn7.04+tensorflow1.6配置

关于如何安装Ubuntu16.04以及显卡驱动、网卡驱动问题,你可以阅读这三篇篇 Dell Alienware Aurora R6 (1080ti)安装Ubuntu17.04记录(解决显卡驱动、系统安装) Ubuntu17.04+1080ti+cuda9+cudnn7+tensorflow1.4/1.3配置(解决cuda9和tensorflow1.4/1.3不兼容) 深度学习主机配置:Ubuntu16.04+1080ti+cuda8+cudnn6+tensorflow1.3(解决Ubuntu16.04无线网卡驱动) 请对照选项,解决相应的问题。这里我要强调一点显卡驱动现在可以安装387(推荐安装)。这里要说的一点是:请查清楚对应显卡驱动的稳定版本

阅读全文

python描述符使用指南

#简介 通常,描述符是具有 ” 绑定行为 “ 的对象属性,其属性访问被描述符协议中的方法重写。这些方法是__get__(),__set__()和__delete__()。如果对象中定义了这些方法中的任何一种,则称它为描述符。 属性访问的默认行为是从对象的字典中获取,设置或删除属性。例如,a.x有一个以a.__dict__['x']开始的查找链,接着是type(a).__dict__['x'],然后是除了元类之外的type(a)的基类。如果查找的值是定义其中一个描述符方法的对象,则Python可以调用描述符方法重写默认行为。在优先链中发生这种情况取决于定义了哪些描述符方法。请注意,描述符仅针对new style对象或类进行调用(如果类继承自object或type,则该类为new style)。 描述符是一个强大的通用协议。它们是属性,方法,静态方法,类方法和super()的工作机制。它们被用于整个Python本身,以实现版本2.2中引入的new style类。描述符简化了底层C代码,为日常Python程序提供了一套灵活的新工具。

阅读全文