社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

火爆 GitHub!这个图像分割神器开源了

我爱计算机视觉 • 4 年前 • 700 次点击  



最近全球各大新势力造车公司简直不能再火!看着蹭蹭飙升的股价实在是眼红的不要不要的。而懂行的人都知道,以 Telsa 为首,各大公司都采用计算机视觉作为自动驾驶的技术底座,而其中正是通过图像分割技术,汽车才能分清楚哪里是路,哪里是人。


今天要给大家介绍的这个开源套件,就涵盖业界最前沿的图像分割算法,并效果超群,这就是 PaddleSeg!!OMG,还在等什么?!盘他!盘他!盘他!



除了在自动驾驶技术拥有绝对重要的地位,图像分割技术在抗疫最前线的医疗阵地也发挥了巨大作用!比如基于图像分割技术开发的《CT 影像的肺炎筛查与病情预评估 AI 系统》,可快速识别 CT 影像上的肺炎病灶信息,帮助我们的白衣战士节省了大量诊断和评估时间!


那么图像分割还有哪些应用呢?比如可以做人像分割 + 背景替换。你以为我在旅游?其实我在加班



还可以做人体解析,同全球冠军模型分析全球冠军运动员的行为轨迹,像《夺冠》里描述的,现在体坛也已经是全面的数字化战争!



我们还可以基于分割技术进一步把彩色图像变素描。



在工业巡检场景中,图像分割技术还可以细致的分割出的表计盘刻度和指针,实现自动读数系统。



遥感图像分割技术还可以帮助国土资源监控保护单位、气象单位等实现地面、大气检测,建筑物检测、农耕用地检测、地块变化检测、地面目标检测、气旋检测等等!



看到这里,你还在等什么?!PaddleSeg又有用、又好玩,在此强烈建议大家去尝试,并点击Star支持一下开源。


点击文末"阅读原文"或以下链接立即Star:

https://github.com/PaddlePaddle/PaddleSeg



那么PaddleSeg到底是个啥呢?去Github上去扒了一下官方的解释:


PaddleSeg是基于飞桨开发的端到端图像分割开发套件,涵盖了高精度和轻量级等不同方向的大量高质量分割模型。通过模块化的设计,帮助开发者完成从训练到部署的全流程图像分割应用。下面就给大家讲讲PaddleSeg的特点和近期更新的内容:



精度全面领先的开源模型


目前PaddleSeg开源了在Cityscapes验证集上达到87% mIoU的语义分割模型是目前业界最高精度的实现。该模型基于Hierarchical Multi-Scale Attention结构,通过损失函数、训练策略、评估方法等方面的优化,相比HRNet的81.5%更是高出了5.5个百分点。


https://github.com/PaddlePaddle/PaddleSeg/tree/release/v2.0/contrib/CityscapesSOTA



国际冠军都在用的PaddleSeg


PaddleSeg不仅能力覆盖全面,而且里面的独立算法还极其优秀!在刚刚结束的神经信息处理系统大会NeurIPS 2020(Conference and Workshop on Neural Information Processing Systems)上,百度团队就是使用PaddleSeg中的HRNet一举夺冠,准确性得分领先第二名0.37,推理速度更是第二名的7倍!!!目前该代码已经开源,链接如下:

https://github.com/PaddlePaddle/PaddleSeg/tree/release/v2.0/legacy/contrib/NeurIPS_SN7




焕然一新的PaddleSeg


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

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

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

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



下面将为大家细细分解!


PaddleSeg全景图



更加丰富的高精度模型


PaddleSeg支持U-Net,PSPNet,DeepLabV3+,OCRNet等20多种主流分割模型,提供了Xception、MobileNet、ResNet、HRNet等多种骨干网络,同时目前开源的模型的精度均高于业内同类产品的实现。


为了进一步验证PaddleSeg模型的精度,我们分别在两个主流数据集Cityscapes和PASCAL VOC 2012上和其它同类产品的模型做了详细的对比实验。


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


Cityscapes数据集对比实验(其中FCN和OCRNet使用HRNet_w18作为主干网络)


基于PASCAL VOC 2012数据集对比实验(FCN和OCRNet使用HRNet_w18作为主干网络)



优秀的动转静功能


基于飞桨框架2.0的PaddleSeg,提供了更加易用完备的动态图体验。虽然动态图在训练过程中更加方便调试,但是在部署上却明显吃力。为此飞桨提供了一套模型动转静的方式,在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(342 )
in_np = np.random.random([34]).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])

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


更加灵活易用的开发体验


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

  • 用户通过PaddleSeg中组合好的配置文件,使用简单的命令实现训练到部署的全流程。

  • PaddleSeg还提供了API形式,用户通过几行代码即可实现模型的训练、评估和推理。



结束语


介绍了这么多,小伙伴一定心动了想要跃跃欲试吧?如果大家觉得PaddleSeg给您带来更好的体验,那就请您动动小手, star支持一下!


Github地址:

https://github.com/PaddlePaddle/PaddleSeg


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

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


飞桨官网地址:

https://www.paddlepaddle.org.cn


飞桨开源框架项目地址:

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

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


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

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

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

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/110183
 
700 次点击