新智元报导
来历:arXiv
修改:肖琴
【新智元导读】Facebook人工智能试验室何恺明团队提出一种高效、高质量的方针和场景图画切割新办法。他们开发了一个共同的视角,将图画切割视为一个烘托问题,提出PointRend神经网络模块。建立在现有的最先进的模型之上,PointRend可以灵敏地运用于实例切割和语义切割使命。戳右边链接上新智元小程序了解更多!
Facebook人工智能试验室Alexander Kirillov、吴育昕、何恺明、Ross Girshick等研讨人员近来发表新论文,提出一种高效、高质量的方针和场景图画切割新办法。
经过将有用烘托的经典核算机图形学办法与像素符号使命中遇到的过采样和欠采样问题进行类比,他们开发了一个共同的视角,将图画切割视为一个烘托问题。
从这个视点动身,他们提出PointRend (Point-based Rendering)神经网络模块:该模块根据迭代细分算法,在自习惯挑选的方位履行根据点的切割猜测。
建立在现有的最先进的模型之上,PointRend可以灵敏地运用于实例切割和语义切割使命。
何恺明等人的研讨标明,这个简略的规划现已取得了超卓的成果。在定性上,PointRend输出明晰的目标鸿沟,而从前的办法会呈现过度滑润。在定量上,无论是实例切割仍是语义切割,PointRend在COCO和Cityscapes两个数据集都取得了显着的成果。
PointRend:将图画切割视作烘托问题
图画切割使命触及将在规矩网格上采样的像素映射到同一网格上的标签映射或一组标签映射。在语义切割的情况下,标签映射表明每个像素处的猜测类别。在实例切割的情况下,针对每个检测到的目标猜测一个二元的远景和背景图。用于图画切割使命的现代东西是建立在卷积神经网络(CNN)上的。
用于图画切割的CNN通常在规矩网格(regular grids)上操作:输入图画是由像素组成的规矩网格,它们的躲藏表明是规矩网格上的特征向量,它们的输出是规矩网格上的标签映射。
规矩网格很便利,但不一定是抱负的图画切割核算。这些网络所猜测的标签映射应该绝大多数都是滑润的,即因为高频区域被约束在目标之间的稀少鸿沟上,因而相邻像素常常选用相同的标签。一个规矩的网格会不用要地对滑润区域进行过采样,一起对目标鸿沟进行欠采样。成果导致在滑润区域和含糊概括进步行了剩余的核算(图1,左上角)。图画切割办法在低分辨率规矩网格上猜测标签,例如输入的1/8用于语义切割,或28×28用于实例切割,作为欠采样和过采样之间的折衷。
图1:PointRend的实例切割。咱们引入了PointRend(根据点的烘托)模块,该模块运用一种新的根据点的特征表明对图画上的自习惯采样点进行猜测。当运用PointRend替换Mask R-CNN的默许Mask head(左上)时,会发生更精密的成果(右上)。
相似的采样问题在核算机图形学中现已研讨几十年了。例如,一个烘托器将一个模型(例如,一个3D网格)映射到一个栅格化的图画,即一个规矩的像素网格。当输出在规矩网格上时,核算并不是均匀地分配到网格上的。相反,一种常见的图形战略是核算图画平面上自习惯挑选点的不规矩子集上的像素值。以Turner Whitted提出的经典subdivision技能为例,生成一个相似四叉树的采样形式,该形式可以轻松又有用地烘托一个抗锯齿的高分辨率图画。
本研讨的中心思维是将图画切割看作一个烘托问题,并选用核算机图形学中的经典思维来有用地“烘托”高质量的标签图(见图1,左下)。咱们根据这个核算思维提出一个新的神经网络模块,称为PointRend,它运用subdivision战略自习惯地挑选一组非均匀的点来核算标签。
PointRend可以被合并到盛行的元架构中,用于实例切割(如Mask R-CNN)和语义切割(如FCN)。它的subdivision战略运用的浮点运算比直接的密布核算要少一个数量级,然后可以轻松又有用地核算高分辨率切割图。
PointRend是一个通用模块,答应多种或许的完成。从笼统的视点来看,PointRend模块承受一个或多个界说在惯例网格上的典型CNN特征图,并在一个更细的网格上输出高分辨率猜测。与对输出网格上的一切点进行过度猜测不同,PointRend只对精心挑选的点进行猜测。为了进行这些猜测,它经过对f进行插值来提取所选点的点向特征表明,并运用一个小的point head子网络来猜测点向特征的输出标签。
咱们将介绍一个简略而有用的PointRend完成。
咱们运用COCO和Cityscapes基准来评价PointRend在实例切割和语义切割使命上的功能。定性地说,PointRend可以轻松又有用地核算出目标之间的鸿沟,如图2和图8所示。
咱们也观察到定量上的改善。PointRend显着改善了Mask RCNN和DeepLabV3模型。
图2:运用带规范mask head的Mask R-CNN(左)与运用带PointRend的Mask R-CNN(右)的示例成果比照。可以正常的看到,PointRend以更精密的细节来猜测masks。
办法:用于推理和练习的Point Selection
PointRend架构可以运用于实例切割(如Mask R-CNN)和语义切割(如FCNs)使命。关于实例切割,对每个区域运用PointRend。它经过对一组选定的点进行猜测,从粗到精地核算mask(如图3所示)。关于语义切割,可以将整个图画视为一个区域。
图3:将PointRend运用于实例切割
用于推理和练习的Point Selection
该办法的中心思维是在图画平面中灵敏、自习惯地挑选点(points)来猜测切割标签。直观上,这些点应该更密布地坐落高频区域邻近,例如目标鸿沟,相似于光线追寻中的抗锯齿问题(anti-aliasing,也译为边际柔化、消除混叠等)。咱们推理和练习阶段运用了这一主意。
推理:
咱们的推理挑选战略是遭到核算机图形学中经典的自习惯细分技能(adaptive subdivision)的启示。该技能被用来有用地烘托高分辨率的图画(例如,经过光线追寻),只核算在该值与相邻值有显着差异的方位;关于一切其他方位,经过对已核算的输出值(从粗网格开端)进行插值来取得值。
图4:一个自习惯细分进程的示例。选用双线性插值的办法对4×4网格的猜测进行2×上采样。然后,PointRend对N个最含糊的点(黑点)进行猜测,以康复更精密网格上的细节。重复此进程,直到到达所需的网格分辨率。
练习:
在练习期间,PointRend还需要挑选练习点来结构 point-wise features,以练习point head。原则上,点的挑选战略可以相似于推理中运用的细分战略。可是, subdivision 引入了次序进程,这对运用反向传达练习的神经网络不太友爱。相反,关于练习,咱们运用根据随机采样的非迭代战略。
图5:练习期间的点采样
试验和成果:实例切割和语义切割均优于基线办法
实例切割
咱们将PointRend与表1中Mask R-CNN中默许的4×conv head进行比较。
表1:PointRend与Mask R-CNN的默许4×conv mask head的比照。PointRend在数量和质量上都优于规范的4×conv mask head。
PointRend在两个数据集上的功能都优于默许的head。即便输出分辨率相同,PointRend的功能也优于baseline。从直观上看,鸿沟质量也差异显着,如图6所示。
图6:具有不同输出分辨率的PointRend推理。高分辨率 masks 与目标鸿沟更好地对齐了。
细分推理答应PointRend发生高分辨率的224×224猜测,运用的核算(FLOPs)和内存是默许的4×conv head输出相同分辨率所需的30倍以上,见表2。
表2:224×224输出分辨率mask的FLOP(multiply-adds)和激活计数。
PointRend经过疏忽一个目标的某些区域(例如,远离目标鸿沟的区域)来完成Mask R-CNN框架下的高分辨率输出。
表3显现了不同输出分辨率和在每个细分进程中挑选的点数的PointRend细分揣度。以更高的分辨率猜测掩模可以改善成果。尽管AP饱满,但从较低(如56×56)分辨率输出到较高(如224×224)分辨率输出时,视觉效果仍有显着改善,见图7。
表3:细分推理参数。更高的输出分辨率提高了AP。尽管跟着每个细分进程中采样点的数量的添加,改善会很快到达饱满(鄙人划线处的值),但关于杂乱的目标,定性成果或许会持续改善。
图7:运用PointRend进行抗锯齿。
语义切割
DeeplabV3。在表6中,咱们将DeepLabV3与带有PointRend的DeepLabV3进行了比较。经过运用res4阶段的扩展卷积,推理阶段输出分辨率也能大大的提高2倍。比较两者,PointRend具有更高的mIoU。定性改善也很显着,见图8。
表6:在Cityscapes数据集,带有PointRend的DeeplabV3语义切割的功能优于基线DeepLabV3。在推理进程中对res4阶段进行扩展会发生更大,更精确的猜测,但核算和存储本钱要高得多。依然不如运用PointRend。
图8:Cityscapes上的实例切割和语义切割成果。在实例切割中,较大的目标更简单从PointRend才能中取得高分辨率的输出。而在语义切割方面,PointRend可以康复小的目标和细节。
经过自习惯采样点,仅对32k点进行猜测, PointRend可以到达1024×2048分辨率(即2M点),如图9所示。
图9:语义切割的PointRend揣度。
SemanticFPN。表7显现,具有PointRend的SemanticFPN优于没有PointRend的8×和4×输出步长变体。
表7:Cityscapes中,带有PointRend的SemanticFPN语义切割功能优于基线SemanticFPN。