YOLACT 解读 YOLACT : Real Time Instance segmentation

本文介绍了YOLOv8中引入的YOLACT算法,一种快速的单阶段实例分割模型,通过生成非局部原型掩码字典和预测实例组合系数实现实例分割,与传统两阶段方法相比,YOLACT简化了流程,提高了速度且保持高质量,具有通用性。
摘要由CSDN通过智能技术生成

官方解读:https://medium.com/@asmitasinha/yolact-real-time-instance-segmentation-1-af0c27ee0bbc

论文:

https://abhigoku10.medium.com/cv2019-papersummary-yolact-real-time-instance-segmentation-e62fa721957f

代码:

https://github.com/ultralytics/ultralytics/issues/1710

找到一篇在yolov8中解释过的论文但是比较粗略

Agriculture | Free Full-Text | Improved YOLOv8-Seg Network for Instance Segmentation of Healthy and Diseased Tomato Plants in the Growth Stage

一个很好的回复:object detection - What does YOLOv8 for segmentation? - Stack Overflow

A summary of the concepts and main ideas used in the novel algorithm of YOLACT.

从YOLOv3到YOLOv5,其检测头一直都是“耦 合”(Coupled)的,即使用一层卷积同时完成分类和定位两个任务,直到YOLOX 的问世,YOLO系列才第一次换装“解耦头”(Decoupled Head)。

我们都知道:

实例分割 = 对象检测 + 语义分割

当前最先进的实例分割方法(如 Mask R-CNN、FCIS)都是建立在物体检测算法(如 Faster R-CNN 和 R-FCN)的基础上的。

那么,他的分支组成呢?

如图1所示,传统Mask R-CNN 和 Faster R-CNN 分别是两阶段的实例分割和对象检测算法,而 YOLACT 则是快速的单阶段实例分割模型,能提供不错的结果。

如图二所示,

两阶段检测器的两个步骤分别是区域建议网络和 ROI 池化,其中 ROI 池化将所有预测区域调整为相同的可比大小(特征定位),然后用于掩码预测。YOLACT 省略了这一步骤,而是将实例分割分成 2 个 "并行 "任务:

(1) 生成整个图像的非本地原型掩码字典

(2) 预测每个实例的一组线性组合系数。

YOLACT结构

输入从feature backbone 传到 FPN  FPN如下图:

左侧的卷积网络是前向传递,最后进行预测。与输入图像(分辨率高但语义特征弱)相比,最后一层的分辨率低但语义特征强。FPN 提供了一个自上而下的路径(右图),可从语义丰富的层构建更高分辨率的层。

Protonet 分割分支网络
参与并行任务 1,利用 FCN 主干网生成原型掩膜。由于它使用的是来自 P3 的输入,而 P3 是更深的骨干层,因此生成的掩码更加稳健。原型掩码没有明显的损失。FCN 的信念层善于生成空间一致性掩码,它们生成的 k 个掩码是一个矩阵 P [h x w x k] 。

预测头

预测头和掩码系数头共同参与并行任务

这也是一个 FCN。

典型的预测头(在 1 级检测器中)有 2 个分支: 1 个用于类得分,1 个用于边界框

在 YOLACT 中,我们在预测头中有第 3 个分支,即掩码系数头。因此,每个锚点不会产生 4 + c 个系数,而是会产生 4 + c + k 个系数。

4 个系数用于边界框。

这个预测头会产生 "c "个类别、"a "个方框锚点和 "k "个掩码原型系数(C [n x k])

这里,n 是在 NMS 中存活的实例数量

掩膜系数头
为 Protonet 的 k 个掩膜原型中的每个原型预测 k 个掩膜系数。
将 Tanh 非线性应用于 k 个掩膜系数,从而获得更稳定的输出。此外,这样还可以从最终掩膜中减去原型掩膜。

掩码组装
对于最终的实例掩膜,Protonet 分支的输出与预测头 + 掩膜系数分支的系数进行线性组合,并通过 sigmoid 非线性处理。

裁剪和阈值
FCN 具有翻译不变性,但这项任务需要重新添加翻译差异。因此,FCIS 和 Mask R-CNN 等方法都尝试明确添加翻译差异。在这种方法中,唯一添加的翻译方差是用预测的边界框裁剪最终掩膜。不过,对于中型和大型物体,YOLACT 也可以在不裁剪的情况下工作。最后的阈值处理是 IoU 阈值处理

YOLACT 的优势
我们的研究表明,通过这种分割方式,网络可以自行学习如何定位实例掩码,在原型中,视觉上、空间上和语义上相似的实例会出现不同的掩码。
速度快:由于 YOLACT 的并行结构和极其轻量级的组装过程,它只给单级骨干检测器增加了微不足道的计算开销,因此即使使用 ResNet-101 [19],速度也能轻松达到 30 fps;事实上,整个掩码分支的评估时间仅为 ∼5ms。
高质量:由于掩码使用了整个图像空间,而不会因为重新池化而造成任何质量损失,因此我们对大型物体的掩码质量明显高于其他方法。
通用性:生成原型和掩码系数的想法几乎可以添加到任何现代物体检测器中。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Deep Snake是一种用于实时实例分割的算法。它基于深度学习技术,通过对图像中的每个像素进行分类,实现对目标物体的精确分割。Deep Snake算法具有高效性和准确性,可以应用于许多领域,如自动驾驶、医学影像分析等。 ### 回答2: DeepSnake是一个用于实时实例分割的新型神经网络模型。与传统的基于卷积神经网络(CNN)的实例分割方法不同,DeepSnake使用自适应的密集曲线组件,来更好地关注目标对象的形状特征,从而实现更精确的分割结果。 DeepSnake的设计基于一种称为“变形回归”的曲线回归方法。该方法使用两个CNN分支,来分别处理图像区域和曲线参数,然后将它们组合起来进行端到端的训练。其中,图像分支出自用于目标检测任务的ResNet,而曲线分支则采用了U-Net结构。 DeepSnake的优点在于可以克服目标形状多样性和大小变化等问题,能够适应各种不同的数据集,并且在计算效率上具有很高的实时性。与一些竞争的实例分割算法相比,DeepSnake在准确率和速度上都有不错的表现。在PASCAL VOC 2012和COCO 2017数据集上测试,DeepSnake的性能超过了相同条件下的大多数算法,同时具有更低的计算成本。 总之,DeepSnake为实时实例分割任务提供了一种创新的方法,可以应用于许多领域,如智能监控、自动驾驶和机器人导航等。 ### 回答3: Deep Snake是一种用于实时实例分割的新型神经网络架构,由来自华盛顿大学的研究团队开发。与目前主流的神经网络架构Mask R-CNN相比,Deep Snake的优势在于能够更加准确地分割物体,同时在速度和计算资源消耗方面表现更好。 具体来说,Deep Snake使用了一种名为“蛇形控制器”的新型机制来协调具有各自目标的多个神经元。这种机制使得网络在提取图像中物体的轮廓信息时更加准确。Deep Snake还采用了特殊的分组卷积层,用于在不同的尺度上提取特征,以更好地分割物体。 此外,Deep Snake还可以使用相对较少的内存和计算资源,快速运行实例分割任务。研究者使用COCO数据集进行了实验,结果表明Deep Snake在准确率和速度方面都优于Mask R-CNN。在单个Nvidia 1080Ti GPU上,Deep Snake可以实现每秒5.7帧的实时实例分割,准确率高达33.6%。 总的来说,Deep Snake是一种非常有潜力的神经网络架构,可用于实时实例分割。它不仅可以提高准确性,还可以节省计算资源和实现更快的运行速度。未来,深度学习的研究者将继续探索和改进这种架构,以满足不断发展的实时实例分割需求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值