一、介绍
本demo由Faster R-CNN官方提供,我只是在官方的代码上增加了注释,一方面方便我自己学习,另一方面贴出来和大家一起交流。 该文件中的函数主要都是与anchor的生成相关,即给定纵横比和尺寸等一定的参数,生成符合条件的若干个anchor(s)。
本demo由Faster R-CNN官方提供,我只是在官方的代码上增加了注释,一方面方便我自己学习,另一方面贴出来和大家一起交流。 该文件中的函数主要都是与anchor的生成相关,即给定纵横比和尺寸等一定的参数,生成符合条件的若干个anchor(s)。
本demo由Faster R-CNN官方提供,我只是在官方的代码上增加了注释,一方面方便我自己学习,另一方面贴出来和大家一起交流。
该文件中的函数和类的主要目的是定义Faster R-CNN中基于VGG16的网络结构。
本demo由Faster R-CNN官方提供,我只是在官方的代码上增加了注释,一方面方便我自己学习,另一方面贴出来和大家一起交流。
该文件中的函数的主要目的是根据所传入的参数选择特定的test网络结构或者train网络结构。
本demo由Faster R-CNN官方提供,我只是在官方的代码上增加了注释,一方面方便我自己学习,另一方面贴出来和大家一起交流。
该文件中的函数和类的主要目的是产生一个基类,并在类中封装好需要的方法,以后生成网络时可以直接调用已经封装好的方法。
最近在补Faster R-CNN的相关知识,在阅读Faster R-CNN的代码(TensorFlow实现)。将自己阅读过的代码加上注释,贴出来方便大家学习。我会尽量从底层代码向高层代码逐渐说明,以方便后面的代码阅读。
由于本人还在学习,难免会有些错误,如果大家发现了出错的地方,还请不吝指出。
Faster R-CNN论文地址:Faster R-CNN
Github地址:Faster R-CNN
在之前都是在讨论SVM,即支持向量机在分类中的使用,但是有很多的问题是回归问题,给出的标签值是一个连续值,能不能使用SVM或者其他的关于SVM的技术来处理分类问题呢,实际上是可以的,这个就是使用支持向量回归模型(Support Vector Regression, SVR)。
前面简单介绍了以下线性可分SVM,本质上前面介绍的SVM属于硬间隔SVM,因为我们已经知道存在一个超平面 \(S:\omega \cdot x + b = 0\) 可以将所有的样本数据完美分开。但是实际上,并不是所有的样本数据都这么完美。有时候存在这种情况,给定一个样本数据集,绝大多数的样本都是线性可分的,但是存在某些特别的样本是线性不可分的。例如,如果我们将 \(y = 0\) 这条直线看作一个分类的超平面, \(y = 0\) 以上的点标记为1, \(y = 0\) 以下的点标记为-1,那么绝大多数的样本点符合这个规则,但是有一些点位于 \(y = 0\) 以上,却被标记为-1,有些点位于 \(y = 0\) 以下,却被标记为了1,这样就会导致整个数据集线性不可分。
支持向量机(support vector machines,简称SVM)是一种非常高效的分类器,在神经网络出现前,SVM被称为最强分类器。SVM的核心思想就是,对于两个类别的数据,每个数据点都可以抽象为多维空间中的一个坐标点,每一个点都对应于一个标签。那么我们已经知道这两个类别可以被一个超平面相隔开,即在超平面的一侧是一个类别,另一侧是另一个类别。很明显。在绝大多数情况下,这样的超平面并不唯一。其中,将两个类别分开,并且距离两个类别中离超平面最近的若干个点距离之和最大的那一个超平面则最能满足我们的要求。因为有这样的一个超平面,所有当我们引入一个新的样本数据时,我们就有最高的把握可以将这个新的样本点分类正确。这就是SVM的核心思想。
Update your browser to view this website correctly. Update my browser now