加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 金华站长网 (https://www.0579zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动 > 正文

用PaddlePaddle 实现目标检测任务——Paddle Fluid v1.1深度测评

发布时间:2018-12-14 19:16:02 所属栏目:移动 来源:睿博远航
导读:副标题#e# 【51CTO.com原创稿件】 1.前言 11月1日,百度发布了Paddle Fluid的1.1版本,作为国内首个深度学习框架,PaddlePaddle对中文社区非常友好,有完善的中文社区、项目为导向的中文教程,可以让更多中文使用者更方便地进行深度学习、机器学习相关的研

关于PaddlePaddle计算描述的详情可以参考Fluid编程指南:http://www.paddlepaddle.org/documentation/docs/zh/1.1/beginners_guide/programming_guide/programming_guide.html

3.3PaddlePaddle的模型库简介

PaddlePaddle的核心框架内置了非常多的经典模型和网络,涵盖了几乎所有主流的机器学习/深度学习任务,包括图像、语音、自然语言处理、推荐等诸多方面。因为本文是做目标检测,所以主要调研了一下图像方面的模型库,在此大致介绍一下。

3.3.1分类

分类任务中的模型库是最全面的,AlexNet、VGG、GoogleNet、ResNet、Inception、MobileNet、Dual Path Network以及SE-ResNeXt,2012年以来的经典图像识别网络都包含其中,每个网络模型是一个独立的py文件,里面是这个网络模型的类,类里面公用的方法是net(),在调用时初始化对应的类之后调用.net()方法,就可以得到对应网络的Program描述,之后只需要给网络feed数据、定义损失函数、优化方法等就可以轻松使用了。分类模型作为图像任务的基础任务,在目标检测、语义分割等任务中都会重复利用这些模型,所以这样一个模型库可以为大大简化后续任务的开发工作。这部分的模型库里的写法比较统一,只要了解网络结构,用.net()方法调用就可以,这里就不一一介绍了,具体可以参考:https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleCV/image_classification/models。

3.3.2目标检测

SSD

Single Shot MultiBox Detector (SSD) 是一种单阶段的目标检测器。与两阶段的检测方法不同,单阶段目标检测并不进行区域推荐,而是直接从特征图回归出目标的边界框和分类概率。SSD 运用了这种单阶段检测的思想,并且对其进行改进:在不同尺度的特征图上检测对应尺度的目标。如下图所示,SSD 在六个尺度的特征图上进行了不同层级的预测。每个层级由两个3x3卷积分别对目标类别和边界框偏移进行回归。因此对于每个类别,SSD 的六个层级一共会产生 38x38x4 + 19x19x6 + 10x10x6 + 5x5x6 + 3x3x4 + 1x1x4 = 8732 个检测结果。

用PaddlePaddle 实现目标检测任务——Paddle Fluid v1.1深度测评

SSD 目标检测模型

SSD 可以方便地插入到任何一种标准卷积网络中,比如 VGG、ResNet 或者 MobileNet,这些网络被称作检测器的基网络。PaddlePaddle里的SSD使用Google的MobileNet作为基网络。

目标检测模型库不同于分类模型库,PaddlePaddle是以一个工程的形式提供SSD的模型库。工程里面包含如下文件:

用PaddlePaddle 实现目标检测任务——Paddle Fluid v1.1深度测评

(编辑:PHP编程网 - 金华站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!