PaddleDetection

端到端目标检测开发套件
授权协议 Apache-2.0
开发语言 Python
所属分类 神经网络/人工智能、 机器学习/深度学习
软件类型 开源软件
地区 国产
投 递 者 鲁旭
操作系统 跨平台
开源组织 百度
适用人群 未知
 软件概览
## CPU版本安装命令
pip install -f https://paddlepaddle.org.cn/pip/oschina/cpu paddlepaddle

## GPU版本安装命令
pip install -f https://paddlepaddle.org.cn/pip/oschina/gpu paddlepaddle-gpu

PaddleDetection是飞桨推出的端到端目标检测开发套件,旨在帮助开发者更快更好地完成检测模型的训练、精度速度优化到部署全流程。PaddleDetection以模块化的设计实现了多种主流目标检测算法,并且提供了丰富的数据增强、网络组件、损失函数等模块,集成了模型压缩和跨平台高性能部署能力。目前基于PaddleDetection已经完成落地的项目涉及工业质检、遥感图像检测、无人巡检等多个领域。

目前检测库下模型均要求使用PaddlePaddle 1.7及以上版本或适当的develop版本。

简介

特性:

  • 模型丰富:

    PaddleDetection提供了丰富的模型,包含目标检测、实例分割、人脸检测等100+个预训练模型,涵盖多种数据集竞赛冠军方案、适合云端/边缘端设备部署的检测方案。

  • 易部署:

    PaddleDetection的模型中使用的核心算子均通过C++或CUDA实现,同时基于PaddlePaddle的高性能推理引擎可以方便地部署在多种硬件平台上。

  • 高灵活度:

    PaddleDetection通过模块化设计来解耦各个组件,基于配置文件可以轻松地搭建各种检测模型。

  • 高性能:

    基于PaddlePaddle框架的高性能内核,在模型训练速度、显存占用上有一定的优势。例如,YOLOv3的训练速度快于其他框架,在Tesla V100 16GB环境下,Mask-RCNN(ResNet50)可以单卡Batch Size可以达到4 (甚至到5)。

支持的模型结构:

  ResNet ResNet-vd 1 ResNeXt-vd SENet MobileNet HRNet Res2Net
Faster R-CNN x
Faster R-CNN + FPN
Mask R-CNN x
Mask R-CNN + FPN
Cascade Faster-RCNN
Cascade Mask-RCNN
Libra R-CNN
RetinaNet
YOLOv3
SSD
BlazeFace
Faceboxes

[1] ResNet-vd 模型预测速度基本不变的情况下提高了精度。

说明: ✓ 为模型库中提供了对应配置文件和预训练模型,✗ 为未提供参考配置,但一般都支持。

更多的模型:

  • EfficientDet
  • FCOS
  • CornerNet-Squeeze
  • YOLOv4

更多的Backone:

  • DarkNet
  • VGG
  • GCNet
  • CBNet
  • Hourglass

扩展特性:

  •  Synchronized Batch Norm
  •  Group Norm
  •  Modulated Deformable Convolution
  •  Deformable PSRoI Pooling
  •  Non-local和GCNet
  • 一、PaddleDetection的安装 前言:PaddleDetection依赖paddlepaddle,需要先安装paddlepaddle 1.从github/gitee获取PaddleDetection完整资源 github git clone https://github.com/PaddlePaddle/PaddleDetection.git gitee git clone https

  • paddlepaddle是百度公司自研的一个深度学习框架,最近做项目要用到paddle里的PaddleDetection做目标检测训练,所以要在服务器上先把环境搭好,记录一下整个安装过程。 *参考文档* https://www.paddlepaddle.org.cn/documentation/docs/zh/install/conda/linux-conda.html *参考文档* https:

  • 1. 配置模块设计与介绍 1.1 简介 为了使配置过程更加自动化并减少配置错误,PaddleDetection的配置管理采取了较为严谨的设计。 1.2 设计思想 目前主流框架全局配置基本是一个Python dict,这种设计对配置的检查并不严格,拼写错误或者遗漏的配置项往往会造成训练过程中的严重错误,进而造成时间及资源的浪费。为了避免这些陷阱,从自动化和静态分析的原则出发,PaddleDetect

  • PaddleDetection为目标检测库,提供了多种预训练模型和模型配置文件,根据任务需求选择现有的配置文件调整参数即可: YoloV3的优势 ,  1.YOLO网络:单步的目标检测算法,适合目标的实时检测,推算速度较快。丧失部分精度,将图片端到端的进行目标检测,也引入了rcnn的Anchor框体系大幅提升mAP。因为没有进行区域采样,所以对全局信息有较好的表现,前两代网络在小目标检测上表现稍差

  • PaddleDetection中支持了种类丰富的数据增强算子,有单图像数据增强算子与批数据增强算子两种方式。为模型训练任务添加合适的数据增强算子,有利于模型性能的再度提升。但是,paddledetection官方并没有提供每一个算子的使用教程(配置方法),为此博主通过对paddledetection的github源码进行分析,查找特定关键字,实现对各种数据增强算子的使用探索。 1、单图数据增强算子

  • 接 上一篇工作,最后在每七节会推理,并且可以保存推理结果,原始结果是coco json那么本文是将目标检测推理获得的结果转换成xml,样这方便使用labelimg进行查看和调整模型输出结果。 这个工作有一个应用场景那就是我有少量数据,首先训练一个模型,然后对更多的无标签数据进行推理,获得推理结果,经转换后,人工对图片进行重新标注,相当于模型起到预标注的工作,这样可以加快标注速度,提升标注精度,降低

 相关资料
  • @subpage tutorial_py_face_detection_cn 人脸识别 使用 haar-cascades

  • 对于端到端测试,electron-vue 使用 Spectron 和 测试框架 Mocha (以及 Chai)。Mocha 和 Chai 的 API (包括 expect、should 以及 assert 在内) 均在全局范围内可用。 运行测试 # 开始 Mochanpm run e2e 注意 在运行端到端测试之前,为了使 Spectron 在测试的时候可用,请调用 npm run pack 来创

  • 本模板使用的是Nightwatch.js来做端到端测试。Nightwatch.js是一个高度集成到Selenium的端到端测试。本模板为你带来了Selenium服务器和chromedriver二进制文件的预配置,所以你不需要管这部分。 让我们看一下 test/e2e 目录的文件吧: runner.js 运行一个开发服务器的nodejs脚本,可以在上面跑Nightwatch。这是你运行npm run

  • 随着软件的规模和复杂度增长。依靠人工来进行测试越来越不现实。 为了解决这个问题,我们建立了Angular Scenario Runner来模拟用户交互,以此来帮助你对你的应用进行测试。 概览 方案测试(scenario tests)使用Javascript写的,你在其中描述在某一个状态的某一个交互中你的应用应该运作。一个方案包括一个或多个it代码块(你可以把这些当成你应用的需求),代码块它由命令和

  • 在“锚框”一节中,我们在实验中以输入图像的每个像素为中心生成多个锚框。这些锚框是对输入图像不同区域的采样。然而,如果以图像每个像素为中心都生成锚框,很容易生成过多锚框而造成计算量过大。举个例子,假设输入图像的高和宽分别为561像素和728像素,如果以每个像素为中心生成5个不同形状的锚框,那么一张图像上则需要标注并预测200多万个锚框($561 \times 728 \times 5$)。 减少锚框

  • 必须 使用 Laravel 官方前端工具做前端开发自动化; 必须 保证页面只加载一个 .css 文件; 必须 保证页面只加载一个 .js 文件; 必须 为 .css 和 .js 增加 版本控制; 必须 使用 SASS 来书写 CSS 代码;