-
Top-5错误率:即对一个图片,如果概率前五中包含正确答案,即认为正确。
-
Top-1错误率:即对一个图片,如果概率最大的是正确答案,才认为正确。
-
feature map 尺寸大小计算公式:(输入大小-卷积核大小+2P)/步长+1,其中P是padding项。(若没有padding项,则P为0)
注意:计算卷积后的map尺寸时,若不为整数则向下取整。计算Pooling后的map尺寸时,若不为整数则向上取整。 -
IoU:用于量化检测区域的正确性,是模型所预测的检测框和真实(ground truth)的检测框的交集和并集之间的比例。
我们使用loU看检测是否正确需要设定一个阈值,最常用的阈值是0.5,即如果loU>0.5,则认为是真实的检测(true detection),否则认为是错误的检测(false detection)。 -
True positives(TP): 被正确地划分为正例的个数,即实际为正例且被分类器划分为正例的实例数(样本数)。
-
False positives(FP): 被错误地划分为正例的个数,即实际为负例但被分类器划分为正例的实例数。
-
False negatives(FN):被错误地划分为负例的个数,即实际为正例但被分类器划分为负例的实例数。
-
True negatives(TN): 被正确地划分为负例的个数,即实际为负例且被分类器划分为负例的实例数。
-
P查准率(precision):预测样本中实际正样本数 / 预测为正样本的总数,即 precision=TP/(TP+FP)。
-
R查全率(recall):预测样本中实际正样本数 / 总的正样本数,即 Recall=TP/(TP+FN)。
注: 一个例子为:P=“挑出来的西瓜中有多少比例是好瓜”,R=“所有好瓜中有多少比例被挑出来”。查全率和查准率是一对矛盾的度量。一般来说查准率高时,查全率往往偏低;而查全率高时,查准率往往偏低。 -
P-R曲线(Precision-recall 曲线):以 precision 和 recall 作为 纵、横轴坐标的二维曲线。通过选取不同阈值时对应的精度和召回率画出总体趋势,精度越高,召回越低。
上图就是分类器的Precision-recall 曲线,在不损失精度的条件下它能达到40%Recall。而当Recall达到100%时,Precision 降低到50%。 -
AP(精度均值)及mAP(平均精度均值):P-R曲线围起来的面积就是AP值,通常来说一个越好的分类器,AP值越高。在目标检测中,每一类都可以根据 recall 和 precision绘制P-R曲线,AP就是该曲线下的面积,mAP就是所有类AP的平均值。
-
FPS:每秒帧率(Frame Per Second,FPS),用来评估检测速度的指标,即每秒内可以处理的图片数量。
-
训练集:用来训练模型
-
验证集:用来统计单一评估指标,调节参数, 选择算法。(训练集和验证集都被输入到了模型训练算法中,验证集作用就是很方便的评估算法的单一评估指标,通过这个指标在训练集和验证集上的对比我们可以用来调整算法参数)
-
测试集:用来在最后整体评估模型的性能
-
全卷积网络(FCN)
FCN将传统CNN中的全连接层转化成一个个的卷积层。如下图所示,在传统的CNN结构中,前5层是卷积层,第6层和第7层分别是一个长度为4096的一维向量,第8层是长度为1000的一维向量,分别对应1000个类别的概率。FCN将这3层表示为卷积层,卷积核的大小(通道数,宽,高)分别为(4096,1,1)、(4096,1,1)、(1000,1,1)。所有的层都是卷积层,故称为全卷积网络。 FCN将传统CNN中的全连接层转化成一个个的卷积层。如下图所示,在传统的CNN结构中,前5层是卷积层,第6层和第7层分别是一个长度为4096的一维向量,第8层是长度为1000的一维向量,分别对应1000个类别的概率。FCN将这3层表示为卷积层,卷积核的大小(通道数,宽,高)分别为(4096,1,1)、(4096,1,1)、(1000,1,1)。所有的层都是卷积层,故称为全卷积网络。
可以发现,经过多次卷积(还有pooling)以后,得到的图像越来越小,分辨率越来越低(粗略的图像),那么FCN是如何得到图像中每一个像素的类别的呢?为了从这个分辨率低的粗略图像恢复到原图的分辨率,FCN使用了上采样。例如经过5次卷积(和pooling)以后,图像的分辨率依次缩小了2,4,8,16,32倍。对于最后一层的输出图像,需要进行32倍的上采样,以得到原图一样的大小。
这个上采样是通过反卷积(deconvolution)实现的。对第5层的输出(32倍放大)反卷积到原图大小,得到的结果还是不够精确,一些细节无法恢复。于是Jonathan将第4层的输出和第3层的输出也依次反卷积,分别需要16倍和8倍上采样,结果就精细一些了。下图是这个卷积和反卷积上采样的过程:
-
计算机视觉领域不同的方向:
图像分类(image classification):根据图像的主要内容进行分类。数据集:MNIST, CIFAR, ImageNet
目标检测(object detection):给定一幅图像,只需要找到一类目标所在的矩形框(人脸检测:人脸为目标,框出一幅图片中所有人脸所在的位置,背景为非目标)。数据集:PASCAL, COCO
语义分割(semantic segmentation):对图像中的每个像素都划分出对应的类别,即对一幅图像实现像素级别的分类。数据集:PASCAL, COCO
实例分割(instance segmentation):对图像中的每个像素都划分出对应的类别,即实现像素级别的分类,类的具体对象,即为实例,那么实例分割不但要进行像素级别的分类,还需在具体的类别基础上区别开不同的实例。数据集:PASCAL, COCO。比如说图像有多个人甲、乙、丙,那边他们的语义分割结果都是人,而实例分割结果却是不同的对象,具体如下图(依次为:原图 ,语义分割 ,实例分割):
-
非极大值抑制(NMS):如在行人检测中,滑动窗口经提取特征,经分类器分类识别后,每个窗口都会得到一个分数。但是滑动窗口会导致很多窗口与其他窗口存在包含或者大部分交叉的情况。这时就需要用到NMS来选取那些邻域里分数最高(是行人的概率最大),并且抑制那些分数低的窗口。
就像上面的图片一样,定位一个车辆,最后算法就找出了一堆的方框,我们需要判别哪些矩形框是没用的。非极大值抑制的方法是:先假设有6个矩形框,根据分类器的类别分类概率做排序,假设从小到大属于车辆的概率 分别为A、B、C、D、E、F。 -
从最大概率矩形框F开始,分别判断A~E与F的重叠度IOU是否大于某个设定的阈值;
-
假设B、D与F的重叠度超过阈值,那么就扔掉B、D;并标记第一个矩形框F,是我们保留下来的。
-
从剩下的矩形框A、C、E中,选择概率最大的E,然后判断E与A、C的重叠度,重叠度大于一定的阈值,那么就扔掉;并标记E是我们保留下来的第二个矩形框。
就这样一直重复,找到所有被保留下来的矩形框。 -
crop:截取原图片的一个固定大小的patch(物体可能会产生截断,尤其是长宽比大的图片)。
-
warp:将原图片的ROI缩放到一个固定大小的patch
-
caffe基本数据结构blob中以如下形式保存数据:blob=[batch_size, channel,height,width]
初学者机器学习必备知识点
最新推荐文章于 2024-07-17 21:40:42 发布