热门标签 | 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



推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 本文介绍了Python语言程序设计中文件和数据格式化的操作,包括使用np.savetext保存文本文件,对文本文件和二进制文件进行统一的操作步骤,以及使用Numpy模块进行数据可视化编程的指南。同时还提供了一些关于Python的测试题。 ... [详细]
  • 本文介绍了使用readlink命令获取文件的完整路径的简单方法,并提供了一个示例命令来打印文件的完整路径。共有28种解决方案可供选择。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • Centos7搭建ELK(Elasticsearch、Logstash、Kibana)教程及注意事项
    本文介绍了在Centos7上搭建ELK(Elasticsearch、Logstash、Kibana)的详细步骤,包括下载安装包、安装Elasticsearch、创建用户、修改配置文件等。同时提供了使用华为镜像站下载安装包的方法,并强调了保证版本一致的重要性。 ... [详细]
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社区 版权所有