热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

texstudio自动拼写检测_飞桨PaddleDetection物体检测统一框架详解

目标检测是机器视觉领域的核心问题之一。7月3日百度AI开发者大会,飞桨核心框架PaddleFluidv1.5宣布开源了PaddleDetection物体检测统一框架&

目标检测是机器视觉领域的核心问题之一。7 月 3 日百度 AI 开发者大会,飞桨核心框架 Paddle Fluid v1.5 宣布开源了 PaddleDetection 物体检测统一框架,用户可以非常方便、快速的搭建出各种检测框架,构建强大的各类应用。

PaddleDetection 物体检测统一框架,覆盖主流的检测算法,即具备高精度模型、也具备高速推理模型,并提供丰富的预训练模型,具有工业化、模块化、高性能的优势。

  • 工业化:结合飞桨核心框架的高速推理引擎,训练到部署无缝衔接
  • 模块化:提供模块化设计,模型网络结构和数据处理均可定制
  • 高性能:基于高效的核心框架,训练速度和显存占用上有一定的优势,例如,YOLO v3 训练速度相比同类框架快 1.6 倍。

支持的模型与主干网络体系

模型

Faster-RCNN(支持 FPN):创造性地采用卷积网络自行产生建议框,并且和目标检测网络共享卷积网络,建议框数目减少,质量提高。

Mask-RCNN(支持 FPN):经典的两阶段框架,在 Faster R-CNN 模型基础上添加分割分支,得到掩码结果,实现了掩码和类别预测关系的解藕,可得到像素级别的检测结果。

Cascade-RCNN:在训练过程中选取不同的 IoU 阈值,训练多个级联的检测器。在具有挑战性的 COCO 数据集上,作为单模型对象检测器表现优异。

RetinaNet:经典的一阶段框架,由 ResNet 主干网络、FPN 结构、和两个分别用于回归物体位置和预测物体类别的子网络组成。在训练过程中使用 Focal Loss,解决了传统一阶段检测器存在前景背景类别不平衡的问题,进一步提高了一阶段检测器的精度。

YOLO v3:速度和精度均衡的目标检测网络,相比于原作者 DarkNet 中的 YOLO v3 实现,飞桨的实现参考了论文 Bag of Tricks for Image Classification with Convolutional Neural Networks 增加了 mixup,label_smooth 等处理,精度(mAP(0.5:0.95))相比于原作者提高了 4.7 个绝对百分点,在此基础上加入 synchronize batch normalization,最终精度相比原作者提高 5.9 个绝对百分点。

SSD:很好的继承了 MobileNet 预测速度快,易于部署的特点,能够很好的在多种设备上完成图像目标检测任务。

主干网络

ResNet、ResNet-VD、ResNeXt、ResNeXt-VD、SENet、MobileNet、DarkNet。

预训练模型效果

本次 PaddleDetection 总共开源 20+ 个预训练模型,不仅开源常用主干网络的基线模型,并且基于 ResNet 改进版的模型,几乎在不增加计算量的情况下,在 COCO 数据集上,相比基线模型精度提升 1% 左右,如下表所示。Yolo v3 也持续发布更轻量的主干网络模型。

09beb128a2ad9142a24a9d3fb5081824.png

安装好飞桨环境后,可以下载预训练模型快速验证推理效果。 同时,PaddleDetection 也提供了 Jupyter Notebook 的推理示例程序,参考:

https://github.com/PaddlePaddle/models/blob/develop/PaddleCV/PaddleDetection/demo/mask_rcnn_demo.ipynb

python tools/infer.py -c configs/mask_rcnn_r50_1x.yml -o weights=https://paddlemodels.bj.bcebos.com/object_detection/mask_rcnn_r50_1x.tar --infer_img=demo/000000570688.jpg

d1c945c8fa79341247f45f396309b23c.png

自动生成配置文件

PaddleDetection 从自动化和静态分析的原则出发,采用了一种用户友好、 易于维护和扩展的配置设计,避免对配置的检查并不严格造成的拼写错误或者遗漏的配置项造成训练过程中的严重错误,将问题提前规避。

利用 Python 的反射机制,PaddleDection 的配置系统从 Python 类的构造函数抽取多种信息, 如参数名、初始值、参数注释、数据类型来作为配置规则,便于设计的模块化,提升可测试性及扩展性。

为了方便用户配置,PaddleDection 提供了 configure 工具,为用户提供以下功能:

  • 预定义好各个模块,根据给出的模块列表生成配置文件,默认生成完整配置;
  • 如果指定参数,也可以生成最小配置,即省略所有默认配置项;
  • 检查配置文件中的缺少或者多余的配置项以及依赖缺失;
  • 显示指定模块的帮助信息,如描述,配置项,配置文件模板及命令行示例;
  • 列出当前已注册的模块。

灵活易用的数据处理

  • 支持多种数据源,方便的数据源扩展能力;
  • 可定制的、可插拔的图像预处理功能,可快速构建复杂预处理流程;
  • 多种数据预处理加速策略 ,具备基于共享内存多进程加速能力。

数据是深度学习中最关键的一步,数据的量级和数据类型直接影响模型的训练结果。如何进行数据预处理也是各位开发者开始训练一个模型的第一步,PaddleDetection 的数据处理模块用于加载数据并将其转换成适用于检测模型的训练、验证、测试所需要的格式。

PaddleDetection 为用户提供可定制的、可插拔的图像预处理功能,即为用户针对不同的算法提供了缺省的数据预处理操作,也给用户预留了的灵活配置的接口,下面截取部分配置文件代码片段,可自由增添操作。

sample_transforms:- !DecodeImageto_rgb: truewith_mixup: false- !RandomFlipImageprob: 0.5- !NormalizeImageis_channel_first: falseis_scale: truemean: [0.485, 0.456, 0.406]std: [0.229, 0.224, 0.225]- !ResizeImagemax_size: 1333target_size: 800- !Permutechannel_first: trueto_bgr: false

项目地址:

https://github.com/PaddlePaddle/models/tree/v1.5/PaddleCV/PaddleDetection?fr=zhihu

下载最新版本的 Paddle Fluid v1.5:

http://www.paddlepaddle.org.cn?fr=zhihu



推荐阅读
  • 如何更换Anaconda和pip的国内镜像源
    本文详细介绍了如何通过国内多个知名镜像站(如北京外国语大学、中国科学技术大学、阿里巴巴等)更换Anaconda和pip的源,以提高软件包的下载速度和安装效率。 ... [详细]
  • 使用R语言进行Foodmart数据的关联规则分析与可视化
    本文探讨了如何利用R语言中的arules和arulesViz包对Foodmart数据集进行关联规则的挖掘与可视化。文章首先介绍了数据集的基本情况,然后逐步展示了如何进行数据预处理、规则挖掘及结果的图形化呈现。 ... [详细]
  • selenium通过JS语法操作页面元素
    做过web测试的小伙伴们都知道,web元素现在很多是JS写的,那么既然是JS写的,可以通过JS语言去操作页面,来帮助我们操作一些selenium不能覆盖的功能。问题来了我们能否通过 ... [详细]
  • 本文由公众号【数智物语】(ID: decision_engine)发布,关注获取更多干货。文章探讨了从数据收集到清洗、建模及可视化的全过程,介绍了41款实用工具,旨在帮助数据科学家和分析师提升工作效率。 ... [详细]
  • 页面预渲染适用于主要包含静态内容的页面。对于依赖大量API调用的动态页面,建议采用SSR(服务器端渲染),如Nuxt等框架。更多优化策略可参见:https://github.com/HaoChuan9421/vue-cli3-optimization ... [详细]
  • STM32代码编写STM32端不需要写关于连接MQTT服务器的代码,连接的工作交给ESP8266来做,STM32只需要通过串口接收和发送数据,间接的与服务器交互。串口三配置串口一已 ... [详细]
  • ArcBlock 发布 ABT 节点 1.0.31 版本更新
    2020年11月9日,ArcBlock 区块链基础平台发布了 ABT 节点开发平台的1.0.31版本更新,此次更新带来了多项功能增强与性能优化。 ... [详细]
  • 尤洋:夸父AI系统——大规模并行训练的深度学习解决方案
    自从AlexNet等模型在计算机视觉领域取得突破以来,深度学习技术迅速发展。近年来,随着BERT等大型模型的广泛应用,AI模型的规模持续扩大,对硬件提出了更高的要求。本文介绍了新加坡国立大学尤洋教授团队开发的夸父AI系统,旨在解决大规模模型训练中的并行计算挑战。 ... [详细]
  • 为帮助编程爱好者更好地掌握Python和Go语言的核心技能,我们特别提供两本精选图书的免费赠阅机会。《易懂的Python算法指南》适合所有希望提高算法理解能力的读者,《Go语言编程从入门到精通》则面向对Go语言感兴趣的初学者及有一定基础的开发者。 ... [详细]
  • 工作中频繁在不同Linux服务器之间切换时,频繁输入密码不仅耗时还影响效率。本文介绍如何通过设置SSH密钥认证,简化登录流程,提高工作效率。 ... [详细]
  • Kubernetes 实践指南:初次体验
    本文介绍了如何通过官方提供的简易示例,快速上手 Kubernetes (K8S),并深入理解其核心概念和操作流程。 ... [详细]
  • 本文介绍了基于Java的在线办公工作流系统的毕业设计方案,涵盖了MyBatis框架的应用、源代码分析、调试与部署流程、数据库设计以及相关论文撰写指导。 ... [详细]
  • iOS 小组件开发指南
    本文详细介绍了iOS小部件(Widget)的开发流程,从环境搭建、证书配置到业务逻辑实现,提供了一系列实用的技术指导与代码示例。 ... [详细]
  • 本文探讨了在不同场景下如何高效且安全地存储Token,包括使用定时器刷新、数据库存储等方法,并针对个人开发者与第三方服务平台的不同需求提供了具体建议。 ... [详细]
  • 黑客松获奖名单出炉、NFT艺术周圆满落幕 |Oasis周报 ... [详细]
author-avatar
珠珠VS胖胖
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有