论文:https://arxiv.org/pdf/2103.16562.pdf
源码:https://github.com/bowenc0221/boundary-iou-api
0
动机
近年来,随着深度学习技术的进一步发展,实例分割算法的性能越来越优秀。实例分割算法的进步体现在AP指标的不断提升,但是这不等同于优化的算法对所有的“错误类型”都有改善。
算法的优化一般是以增加评测指标值为目的,如果AP指标对某种错误类型敏感,那么基于该指标优化的算法能很好地解决该种错误类型;反之,如果AP指标对某种错误类型不敏感,那么即使改善算法使得AP指标提升,也未必会很好地改善该错误类型。
在分割领域中,mask边界的分割质量是衡量算法能否落地的一个重要参考指标。作者认为,当前通用的以Mask IoU为基础的AP指标对于mask边界的分割质量不敏感,导致近年来不断优化的分割算法并没有明显改善mask边界的分割质量。
基于以上情况,作者提出了Boundary IoU,使用Boundary IoU代替Mask IoU,能够很好地衡量分割边界的质量好坏,如下图所示:
相比于BMask R-CNN和PointRend这2种方法,Mask R-CNN在物体边界的分割质量比较差,但是使用Mask IoU衡量这3种方法的分割质量,Mask IoU指标并未拉开太大的差距。相比之下,作者提出的Boundary IoU对物体边界的分割质量很敏感,能够很好地评价不同的分割算法对于物体边界的分割质量。
1
定义分割错误类别
为了更好地比较通用的Mask IoU、基于边界的Trimap IoU和F-Measure和作者提出的Boundary IoU对不同错误类型的敏感程度,这里首先定义几种错误类型及其错误程度。对于每种错误类型,会在ground truth mask的基础上“人为地”创造出预测mask,以便于比较不同的测量方法对不同类型分割错误的敏感程度。
(1)Scale error:对ground truth进行膨胀和腐蚀模拟预测mask,错误程度通过形态学操作的kernel radius决定。如下图中图(a)和图(b)所示。
(2)Boundary localization error:对ground truth的多边形边界顶点坐标添加高斯噪声模拟预测mask,错误程度由高斯噪声的标准差决定。如下图中图(c)所示。
(3)Object localization error:对ground truth mask进行偏移操作模拟预测mask,错误程度由像素的偏移量决定。如下图中图(d)所示。
(4)Boundary approximation error:使用《Shapely: manipulation and analysis of geometric objects》中提出的的simplify函数移除ground truth mask的多边形顶点以简化mask的多边形,模拟预测mask,错误程度由simplify函数中的error tolerance参数决定。如下图中图(e)所示。
(5)Inner mask error:在ground truth mask内部增加形状随机的空洞来模拟预测mask,错误程度由空洞数量决定。如下图中图(f)所示
2
几种测量方法的敏感性测试
在图像分割领域,有如下几种分割质量测量方法:
上表列举了几种分割质量测量方法和作者提出的Boundary IoU,其中“Symmetric”表示交换ground truth mask和预测mask是否会改变测量值;“Insensitivity”表示该方法对哪种错误类型不敏感。
上表中各个变量的含义为:
上表中的 和 是1维的线,用来表示mask的轮廓; 和 是由与轮廓距离为 的像素组成的二维区域。
Pixel accuracy是2007年PASCAL VOC语义分割任务开始使用的分割质量评估方法,该方法是不对称的,且对预测mask大于ground truth mask的情况得分比较高,因此近年来不再使用。
Mask IoU的缺点在于,当用它测量分割算法对大尺寸物体边界的分割质量时,其得分偏高,高于真实的分割质量。这是因为,随着物体尺寸的增加,物体内部像素数量以二次方形式增加,而物体边界像素数量以线性形式增加,导致尺寸越大的物体,边界像素占总像素的比重越小。导致对于大物体,当物体内部像素被正确分割时,即使边界像素分割质量不好,Mask IoU的值也比较高。
对于不同尺寸的物体,使用上文提出的方法模拟scale error类型的预测mask,使用Mask IoU衡量ground truth mask和预测mask的差异,Mask IoU的值如下图所示:
上图中横轴表示物体面积,纵轴表示Mask IoU的值;左图和右图分别表示预测mask大于ground truth mask和预测mask小于ground truth mask的情况。对于不同尺寸的物体,由ground truth mask得到预测mask时进行的腐蚀和膨胀程度保持恒定。
从上图中可以看出,对于小尺寸物体,scale error造成Mask IoU值较低;随着物体尺寸的增加, 即使scale error的程度保持恒定,Mask IoU也会逐渐增加,从而说明使用Mask IoU衡量大物体边界的分割质量,得分偏高。
Trimap IoU只在ground truth mask的边界处计算IoU,因此该指标不是对称的,即交换ground truth mask和预测mask会得到不同的Trimap IoU值。
使用Trimap IoU衡量scale error,结果如下图所示:
上图中横轴表示scale error的错误程度,纵轴表示Trimap IoU的值;左图针对大尺寸物体,右图针对小尺寸物体。Dilation表示预测mask大于ground truth mask;Erosion表示预测mask小于ground truth mask。
从上图中可以看出,对于不同尺寸的物体,当预测mask大于ground truth mask时,Trimap IoU的值普遍高于预测mask小于ground truth mask的情况。即对于同等程度但类型不同的2种scale error,Trimap IoU的值会更偏向预测mask大于ground truth mask的scale error类型。
此外,从上文表格的Trimap IoU定义中可以看出,Trimap IoU不能反映出发生在距离ground truth mask边界较远处的像素分割错误。
对于大尺寸物体和小尺寸物体,不同程度的scale error(预测mask大于ground truth mask),F-measure和Mask IoU的值如下图所示:
从上图可以看出,随着scale error程度的增加,相比于Mask IoU,F-measure的值变化很剧烈,这会导致在实际应用时F-measure的variance比较大。
显然,由于Trimap IoU和F-measure都存在固有缺陷,它们都不能代替Mask IoU成为衡量分割质量的主要指标;而Mask IoU的缺点是对大尺寸物体边界的分割质量得分偏高。
3
Boundary IoU
Boundary IoU的定义为:
上式中的 表示与ground truth mask的轮廓距离不大于 的像素集合, 表示与预测mask的轮廓距离不大于 的像素集合。
上面的公式可表示如下:
图中的上半部分表示ground truth mask和预测mask,其中蓝色和橘黄色分别表示ground truth mask和预测mask中与它们轮廓距离不大于 的像素。
距离 控制着Boundary IoU的敏感程度,当 足够大时,Boundary IoU等效于Mask IoU;当 比较小时,Boundary IoU会忽略mask中远离边界的像素,使得即使对于尺寸较大的物体,Boundary IoU也会更关注物体边界附近的分割质量。
下图表示Boundary IoU和Mask IoU对不同类型error、不同程度error发生时值的变化:
上图中从左到右依次表示不同类型的error,每个图的横轴代表该类型error的程度。
从图中可以看出,与Mask IoU相比,Boundary IoU的值随着error程度变化更加明显,这表明Boundary IoU比Mask IoU更能够衡量物体边界处不同类型的分割错误程度。
下图表示不同类型error下,随着物体尺寸的变化,Mask IoU和Boundary IoU的变化程度:
上图中从左到右依次表示不同类型的error,每个图的横轴表示物体尺寸的变化,每个类型的error程度是固定不变的。
从图中可以看出,对于每种类型的error,即使error的程度固定,随着物体尺寸的增加,Mask IoU的值也会逐渐增加,而Boundary IoU的值在增加到一定程度后几乎保持不变。这说明Boundary IoU克服了Mask IoU对大尺寸物体“高估”边界分割效果的缺点。
在使用Boundary IoU时,宽度 的选取应考虑2个方面。其一,应考虑所使用数据集的标注质量,当数据集的标注质量比较高时,使用较小的 ;当数据集的标注质量比较低时,使用较大的 ;其二,考虑主流算法的性能所允许的测试严格程度,若想严格衡量边界分割质量,则使用比较小的 。
Boundary IoU也有缺陷,比如对于类似下图中有相同圆心的2个mask,Boundary IoU的值会很高。
为解决该问题,作者推荐使用min(Mask IoU,Boundary IoU)。在实际使用时,超过99.9%的情况下Boundary IoU的值都要小于等于Mask IoU,因此取最小值只是为了避免上图中这种特殊的情况。
4
实验
在衡量实例分割算法的性能时,作者使用min(Mask IoU,Boundary IoU)代替计算AP时使用的Mask IoU,并将此方式计算得到的AP命名为Boundary AP。相比于AP,Boundary AP对物体边界的分割质量更敏感。
使用Detectron2中的Mask R-CNN模型,使用ResNet-50作为Backbone,在COCO数据集上训练和测试,在计算Boundary AP时 的值取图片对角线的2%。为了比较Mask AP和Boundary AP对边界分割质量的敏感程度,使用ground truth中的类别和定位替换网络输出的类别和定位信息,使用两种度量方式衡量网络输出的分割结果,如下表所示:
在上表中,Mask 的值大于Mask ;但是Boundary 的值小于Boundary ,说明Boundary AP对大尺寸物体的边界分割质量要比Mask AP敏感。
使用不同的backbone,在衡量性能时使用ground truth的box和使用网络输出的box进行对比,如下表所示:
从上表中可以看出,如果使用ground truth box,单纯地增大Backbone并不会显著增加Mask AP和Boundary AP的值;若使用网络预测的box,增大backbone能显著增加Mask AP和Boundary AP的值。这说明与Mask AP一样,Boundary AP同样能够衡量实例分割网络的定位和分类的性能提升。
使用多种分割算法在COCO验证集上测试,分别使用Mask AP和Boundary AP衡量分割结果,结果如下表所示:
在Cityscapes验证集上测试多种分割算法,Mask AP和Boundary AP的对比情况如下表所示,在计算Boundary AP时 的值取图片对角线的0.5%.
5
总结
分析图像分割领域中几种衡量图像分割质量的方法,指出它们在衡量物体边界分割质量时存在的问题,并通过实验证明;
提出了Boundary IoU,构造了多种分割错误类型进行敏感性分析,以说明Boundary IoU在衡量物体边界分割质量时的优势;
以Boundary IoU为基础,构造Boundary AP代替使用Mask IoU计算的Mask AP,用于评价实例分割算法性能,并给出常用实例分割算法的Boundary AP值。
备注:分割
图像分割交流群
语义分割、实例分割、全景分割、抠图等技术,若已为CV君其他账号好友请直接私信。