计算机视觉领域有四大主要任务,分别是图像分类、目标检测、目标跟踪、图像分割。
图像分类的目标是将给定的图像进行分类,给图片或视频分配一个类别标签。(比如图像中大部分都是气球,还有其他物体,要给这个图片或者视频提供气球的标签)
目标检测的有两个主要任务,分别是物体分类和定位,具体来讲就是在图像中用边界框(bounding box)标定多个目标的位置和类别。(具体是用边界框标出图像中气球的位置,并打上气球的标签,如下图第二排第一个图片所示)
目标跟踪任务就是在给定某视频序列初始帧的目标大小与位置的情况下,预测后续帧中目标的大小与位置。(视频中气球飞上天的过程中,边界框跟着气球的轨迹变化)
图像分割主要有语义分割和实例分割。语义分割是目标检测更进阶的任务,目标检测只需要框出每个目标的边界框,语义分割需要进一步判断图像中哪些像素属于哪个目标。实例分割不但要进行像素级别的分类,还需在具体的类别基础上区别开不同的实例。(语义分割可以找出图像中例如多个气球的像素例如下图第一排第二张图片,实例分割则可以区分每个不同的气球并标出来,即第二排第二张图片)
除了图像分类之外,目标检测要解决的核心问题是:
1.目标可能出现在图像的任何位置。
2.目标有各种不同的大小。
3.目标可能有各种不同的形状。
如果用矩形框来定义目标,则矩形有不同的宽高比。由于目标的宽高比不同,因此采用经典的滑动窗口+图像缩放的方案解决通用目标检测问题的成本太高。
1、TP、TN、FP、FN
假设图像中有气球和非气球两类目标:
True positives (TP): 正样本被正确识别为正样本,即图像中气球的部分被识别为气球
True negatives(TN): 负样本被正确识别为负样本,非气球的部分被识别为非气球
False positives(FP): 假的正样本,即负样本被错误识别为正样本,非气球的部分被识别为气球
False negatives(FN): 假的负样本,即正样本被错误识别为负样本, 气球的部分被识别为非气球
2、TPR、TNR、FPR、FNR、precision、recall
真正类率(True Postive Rate),TPR=TP/(TP+FN),代表分类器预测的正实例占实际正实例的比例,也称为灵敏度(sensitivity)。
真负类率(True Negative Rate),TNR=TN/(TP+FN),代表分类器预测的负实例占实际负实例的比例,也称为特异性(specificity)。
假正类率(False Postive Rate),FPR=FP/(FP+TN),代表分类器预测的为正的负样本占实际负实例的比例, 也称为假正率。
假负类率(False Negative Rate),FNR=FN/(FP+TN),代表分类器预测的为负的正样本占实际正实例的比例, 也称为虚警率(False Alarm)。
精确率(Precision),其实就是正确预测为正的例子占全部预测为正的比例。也就是本假设中,所有被识别出来的气球中,真正的气球所占的比例。
召回率(Recall)是测试集中正确预测为正的例子占所有实际为正的比例。也就是本假设中,被正确识别出来的气球个数与测试集中所有真实气球的个数的比值。
3、ROC、P-R曲线、AP、mAP
接受者操作特性曲线(ROC,receiver operating characteristic),以FPR为X轴,TPR 为Y轴绘制而成。ROC曲线优点:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现类不平衡(class imbalance)现象,即负样本比正样本多很多(或者相反),而且测试数据中的正负样本的分布也可能随着时间变化。
AUC(Area Under Curve)即为ROC曲线下的面积。AUC越接近于1,分类器性能越好。计算公式:就是求曲线下矩形面积。
准确率-召回率曲线(P-R曲线):以召回率Recall为横坐标,精确率Precision为纵坐标,用不同的阀值,统计出一组不同阀值下的精确率和召回率。PR曲线使用了Precision,因此PR曲线的两个指标都聚焦于正例。类别不平衡问题中由于主要关心正例,所以在此情况下PR曲线被广泛认为优于ROC曲线。
平均精确率(AP,Average Precision),就是P-R曲线下面的面积,通常来说一个越好的分类器,AP值越高。
平均精确均值(mAP,Mean Average Precision)是多个类别AP的平均值。这个mean的意思是对每个类的AP再求平均,得到的就是mAP的值,mAP的大小一定在[0,1]区间,越大越好,该指标是目标检测算法中最重要的一个。
4、IoU、FPS
交并比(IoU, Intersection-over-Union),是一种测量在特定数据集中检测相应物体准确度的一个标准。IOU表示了产生的候选框(candidate bound)与原标记框(ground truth bound)的交叠率或者说重叠度,也就是它们的交集与并集的比值。相关度越高该值。最理想情况是完全重叠,即比值为1。
计算公式如下:
每秒帧率(Frame Per Second,FPS),即每秒内可以处理的图片数量。
1、PASCAL VOC
PASCAL VOC(The PASCAL Visual Object Classification)是目标检测,分类,分割等领域一个有名的数据集。从2005到2012年,共举办了8个不同的挑战赛。PASCAL VOC包含约10,000张带有边界框的图片用于训练和验证。但是,PASCAL VOC数据集仅包含20个类别,因此其被看成目标检测问题的一个基准数据集。
https://link.zhihu.com/?target=http%3A//host.robots.ox.ac.uk/pascal/VOC/
2、MS COCO
另外一个有名的数据集是Microsoft公司(见T.-Y.Lin and al. 2015)建立的MS COCO(Common Objects in COntext)数据集。这个数据集用于多种竞赛:图像标题生成,目标检测,关键点检测和物体分割。对于目标检测任务,COCO共包含80个类别,每年大赛的训练和验证数据集包含超过120,000个图片,超过40,000个测试图片。测试集最近被划分为两类,一类是test-dev数据集用于研究者,一类是test-challenge数据集用于竞赛者。测试集的标签数据没有公开,以避免在测试集上过拟合。
https://link.zhihu.com/?target=http%3A//cocodataset.org/%23home
3、ImageNet
ImageNet在2013年放出了包含边界框的目标检测数据集。训练数据集包含500,000张图片,属于200类物体。由于数据集太大,训练所需计算量很大,因而很少使用。同时,由于类别数也比较多,目标检测的难度也相当大。
https://link.zhihu.com/?target=http%3A//www.image-net.org/
下一次将研究目标检测的主要算法。关于目标检测,相关论文,有大神整理了一个很好的博客,大家可以到下面网址进行学习:
https://handong1587.github.io/deep_learning/2015/10/09/object-detection.html
本文部分素材源自:
https://blog.csdn.net/qq_35451572/article/details/80249259