3

精度87%!业内首个动静统一的图像分割套件重磅推出

 3 years ago
source link: https://mp.weixin.qq.com/s?__biz=MzIyNjM2MzQyNg%3D%3D&%3Bmid=2247551401&%3Bidx=1&%3Bsn=3687bd149896f204c72782c711c9877a
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

↑↑↑关注后" 星标 "Datawhale

每日干货 &  每月组队学习 ,不错过

Datawhale干货 

方向:图像分割技术

图像分割技术是计算机视觉领域的一个重要的研究方向,早在2019年开源的图像分割套件PaddleSeg已经广泛被企业与开发者应用在实际生产当中。

自动驾驶,正是基于图像分割技术,汽车才能分清楚哪里是路,哪里是人。

在抗疫最前线的医疗阵地上,图像分割也发挥了巨大作用。连心医疗使用PaddleSeg开发上线了“基于CT影像的肺炎筛查与病情预评估AI系统”,可快速识别CT影像上的肺炎病灶信息,帮助我们的白衣战士节省了大量诊断和评估时间。

RBBJbeJ.gif!mobile

除了此之外,PaddleSeg还可以用在很多其它场景,话不多说,咱们直接上图:

  • 工业场景中的表计读数自动读取

QzIRziJ.gif!mobile

  • 遥感图像分割

zIN32a2.gif!mobile

  • 人体解析

a6NfEbN.gif!mobile

  • 人像分割+背景替换。(你以为我在旅游?其实我在加班

neaqyyZ.gif!mobileBnAJ7rb.gif!mobile

  • 基于人像分割,我们还可以进一步把彩色图像变素描

7RfQVfV.gif!mobile

应用PaddleSeg一举夺冠

PaddleSeg不仅能力覆盖全面,而且里面的独立算法还极其优秀!在刚刚结束的神经信息处理系统大会NeurIPS 2020(Conference and Workshop on Neural Information Processing Systems)上,百度团队就是使用了PaddleSeg中单个语义分割模型HRNet,该模型已在CityScapes等多个公开数据集上获得了SOTA结果。最终百度团队一举夺冠,准确性得分领先第二名0.37,推理速度更是第二名的7倍。

QNj2yuA.png!mobile

焕然一新的PaddleSeg

是不是感觉PaddleSeg很厉害呢?其实咱们刚刚看到的只是冰上一角而已!近期,随着飞桨框架升级了2.0版本,PaddleSeg也随之进行了升级。在新的版本中,PaddleSeg提供了:

更加丰富的高精度模型算法: 包括20+分割网络、50+预训练模型,模型精度均优于其它实现方式。

优秀的动转静功能: PaddleSeg依托飞桨框架集成了 优秀的动转静功能 ,让用户在部署上具有更好性能。

更加灵活易用的开发体验: PaddleSeg在原先配置文件运行方式之外又新增了API接口调用方式,更加灵活易用。

下面将为大家细细分解!

RNny2eq.png!mobile

PaddleSeg全景图

更加丰富的高精度模型

PaddleSeg支持U-Net,PSPNet,DeepLabV3+,OCRNet等20多种主流分割模型,提供了Xception、MobileNet、ResNet、HRNet等多种骨干网络,可以满足不同性能和精度的要求,同时目前开源的模型的精度均由于业内同类产品的模型。

fArUZjQ.png!mobile

qYfUzy.png!mobile

表1 PaddleSeg中模型精度数据

光说不练假把式!单纯说自己模型精度有多高,无异于是耍流氓。为了进一步验证PaddleSeg模型的精度,我们分别在两个主流数据集Cityscapes和PASCAL VOC 2012上和其它同类产品的模型做了详细的对比实验。

下图展示了对比结果。左边模型使用ResNet50做为骨干网络,右边模型使用ResNet101做为骨干网络。可以看到与其它实现相比,PaddleSeg模型的精度明显更加优秀!

AVfAbqJ.png!mobile

Cityscapes数据集对比实验

(其中FCN和OCRNet使用HRNet_w18作为主干网络)

Rbmaaaj.png!mobile

基于PASCAL VOC 2012数据集对比实验

(FCN和OCRNet使用HRNet_w18作为主干网络)

优秀的动转静功能

基于飞桨框架2.0的PaddleSeg,提供了更加易用完备的动态图体验。虽然动态图在训练过程中更加方便调试,但是在部署上却明显吃力。为此飞桨提供了一套模型动转静的方式,其基本原理是通过分析Python代码来将动态图代码转写为静态图代码,并在底层自动帮助用户使用静态图执行器运行。这种转换方式让用户可以灵活使用Python语法及其控制流来构建神经网络模型。

依托飞桨框架,PaddleSeg也拥有了一键动转静能力,仅需添加一个装饰器并调用API接口paddle.jit.save,即可完成模型的转换。具体我们可以看下面的例子:

  • 定义网络

import numpy as np
import paddle
# 定义了一个简单全连接网络SimpleFcLayer
class SimpleFcLayer(paddle.nn.Layer):
def __init__(self, batch_size, feature_size, fc_size):
super(SimpleFcLayer, self).__init__()
self._linear = paddle.nn.Linear(feature_size, fc_size)
self._offset = paddle.to_tensor(
np.random.random((batch_size, fc_size)).astype('float32'))
# 添加装饰器
@paddle.jit.to_static
def forward(self, x):
fc = self._linear(x)
return fc + self._offset
  • 模型转换

import paddle

fc_layer = SimpleFcLayer(3, 4, 2)
in_np = np.random.random([3, 4]).astype('float32')
input_var = paddle.to_tensor(in_np)
out = fc_layer(input_var)
# 使用paddle.jit.save接口存储模型
paddle.jit.save(fc_layer, "./fc_layer_dy2stat", input_spec=[input_var])

转换成静态图模型做部署就可以获得更好的性能,实现单车变跑车的进化!

meuE32I.png!mobile

灵活易用的开发体验

在用户使用体验上,PaddleSeg提供了两种使用方式:

  • 仅需要少量代码或指令就可以通过PaddleSeg中组合好的配置文件快速开始模型训练,从而更快捷高效地搭建出从训练到部署的图像分割模型“生产流水线”。

  • 同时PaddleSeg还提供了简单的API接口,开发人员在使用pip install命令安装PaddleSeg后,仅需通过几行代码即可轻松实现图像分割模型的训练、评估和推理。

用户既可以自由选择快捷高效的配置文件方式,也可以选择使用更加定制化的API调用方式,大大提升了用户体验的灵活易用性。

QZB3uy6.png!mobile

PaddleSeg高精度模型探究

刚才说到模型算法,提到过PaddleSeg的模型精度都是很牛的,可是你想知道为什么这么厉害吗?

ruABJvU.png!mobile

为了能有更好的性能提升,PaddleSeg开发团队在 跳跃连接、空洞卷积、全局上下文、注意力机制、骨干网络优化 五个方面做了深入的研究,将这些优化策略融合在已实现的模型中,极大的提升了模型的精度。尤其是基于百度自研的 半监督标签知识蒸馏方案(SSLD) ,PaddleSeg开发团队训练出了高精度骨干网络,使得整个分割网络的精度有了明显的提升。

下表为PaddleSeg各个模型所采用的策略说明,详细的模型优化策略,用户可以根据配置文件进一步了解。

aYfMVjA.png!mobile

表2 PaddleSeg模型的优化策略

开源地址

Github地址:

https://github.com/PaddlePaddle/PaddleSeg

也欢迎大家进入QQ交流群(1004738029),或者是扫码入群和各位志同道合对的小伙伴们交流。

JrQVziJ.png!mobile

关于文中模型精度对比更详细的数据,可参考:

https://arxiv.org/pdf/2101.06175v1.pdf

·飞桨图像分割套件PaddleSeg项目地址·

GitHub: https://github.com/PaddlePaddle/PaddleSeg

Gitee: https://gitee.com/paddlepaddle/PaddleSeg

maue2q.png!mobile

点击" 阅读原文 "立即Star:


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK