目标检测是机器视觉领域的核心问题之一。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 也持续发布更轻量的主干网络模型。

安装好飞桨环境后,可以下载预训练模型快速验证推理效果。 同时,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

自动生成配置文件

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

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

  1. OCR识别——百度飞桨PaddleOCR测试及环境搭建详解

    文章目录 PaddleOCR 概述 一.Python 环境设置 三.代码测试 PaddleOCR 概述 PaddleOCR 包含富文本检测.文本识别和端到端算法.结合现实场景和行业经验,PaddleO ...

  2. 飞桨PaddlePaddle升级解读 | PaddleDetection物体检测统一框架

    目标检测是机器视觉领域的核心问题之一.7 月 3 日百度 AI 开发者大会,飞桨核心框架 Paddle Fluid v1.5 宣布开源了 PaddleDetection 物体检测统一框架,用户可以非常 ...

  3. C++框架_之Qt的信号和槽的详解

    目录 C++_之Qt的信号和槽的详解 1.概述 1.1对象树(子对象动态分配空间不需要释放) 2.信号和槽 Qt5 的书写方式:(推荐的使用)★★★★★ Qt4 的书写方式: 3.自定义信号槽 3.1 ...

  4. 单片机电流检测电路图大全(四款模拟电路设计原理图详解) - 信号处理电子电路图

    电路图简介: 本文主要介绍了单片机电流检测电路图大全(四款模拟电路设计原理图详解).它的主要功能是完成对过电压的瞬时值和峰值的检测.过电压次数的检测.电源输出电压和电流的检测,并通过键盘的操作显示出各 ...

  5. $.post把表单对象传递过去_第二章 第三节 Request请求对象详解

    Request对象和Response对象是必须熟悉的. Request对象负责请求的构造和处理 Response对象负责返回资源的解析和处理 一.Request对象参数 Request(url[, c ...

  6. linux内核移植与开发板,Linux 2.6.36内核移植飞凌OK6410开发板完整步骤详解

    Linux 2.6.36内核移植飞凌OK6410开发板完整步骤详解 [复制链接] 今天终于让Linux内核在飞凌的板子上跑起来了,想来也是艰辛,为了移植成功,断断续续做了将近两个月的努力,期间郁闷不可 ...

  7. 计算机主板一直滴滴响,主板报警声大全_主板一直滴滴滴短响含义详解

    主板报警声大全_主板一直滴滴滴短响含义详解 在电脑使用过程中,有时我们会听到电脑主板发出类似报警的声音,这时候说明可能电脑主板出现了一定的问题,电脑主板报警的原因有很多,我们可以从报警的声音去区分到底 ...

  8. texstudio自动拼写检测_学用系列|能够自动检查英语拼写的希沃白板5

    希沃白板5更新了,实验室功能更新了"英语拼写/语法纠错",英语老师们可以来尝试哦. 实验室功能哪里找? 希沃白板5最新版提供了"英语拼写/语法纠错"的实验室功能 ...

  9. pyqt label 设值时会进行加法_飞桨与PyQt的碰撞,图形化目标检测So Easy

    还记得3月份的时候我给大家介绍了PaddleDetection的环境部署.训练及可视化.模型导出.但那只是一个算法程序,一个完整的项目需要在算法的基础上将可视化操作开发成型.今天我给大家带来如何利用P ...

最新文章

  1. go语言生成自定义uuid_竟然不用写代码!一款可视化 Web 管理后台生成工具
  2. 《Gpu Gems》《Gpu Pro》《Gpu Zen》资源收集
  3. 函数的参数 2018-3-27
  4. MySQL使用小技巧(二)——MySQL忘记密码怎么办
  5. Atitit Immutability 和final的优点
  6. PHP带头大哥的百宝囊!
  7. 遇到NOD32更新时提示“用户名和密码无效”解决办法
  8. 新浪和腾讯微博开放平台比较
  9. java面向对象程序设计课后习题答案_JAVA面向对象程序设计课后习题参考答案
  10. 网页的短信与邮箱注册
  11. 2019厦门科技中学计算机特长,注意看!2019厦门市属学校特长生录取入围名单公布!...
  12. 不登陆路由器查询路由器IP地址和物理地址
  13. 矩阵相抵的一道例题(对称+主子式)
  14. 7-1 计算平均成绩 (15分)
  15. gsyVideoPlayer点击/拖动进度条播放视频会回退
  16. Python opencv 在图片上写字
  17. C语言在学习编程的作用并简单了解一下C语言
  18. 上海第二家K11项目动工;v2food获近3.5亿元B+轮融资;华彬快消品贵州功能饮料生产基地投产...
  19. Altium Designer2018下载安装及基本使用
  20. Studio5000 V33初学(一):FAL指令

热门文章

  1. 复制粘贴发明人、Java 和互联网创建者相继去世,向初代互联网大佬致敬!
  2. 未来五年,物联网将迎来什么样的蜕变?
  3. 德施曼|618期间五次霸榜 直击智能锁第一爆品德施曼Q5
  4. 2 万字全面测评深度学习框架 PaddlePaddle、TensorFlow 和 Keras | 程序员硬核评测
  5. 资深架构师谈云原生生态的基石Kubernetes
  6. 女生天生就是产品经理
  7. 为什么机器学习工程师严重短缺?
  8. 程序员们,修电脑这道题你们都做!错!了!
  9. HTTP 遭 Google 抛弃,开发者该如何应对?
  10. 技术人不会学习,35 岁必然要焦虑!