\u200E
PaddleHub
便捷地获取PaddlePaddle生态下的预训练模型,完成模型的管理和一键预测。配合使用Fine-tune API,可以基于大规模预训练模型快速完成迁移学习,让预训练模型能更好地服务于用户特定场景的应用
零基础快速开始
faster_rcnn_resnet50_fpn_venus
类别图像 - 目标检测
网络faster_rcnn
数据集百度自建数据集
模型概述
Faster_RCNN是两阶段目标检测器。通过对图像生成候选区域,提取特征,判别特征类别并修正候选框位置。Faster_RCNN整体网络可以分为4个主要内容,一是ResNet-50作为基础卷积层,二是区域生成网络,三是Rol Align,四是检测层。该PaddleHub Module是由800+tag,170w图片,1000w+检测框训练的大规模通用检测模型,在8个数据集上MAP平均提升2.06%,iou=0.5的准确率平均提升1.78%。对比于其他通用检测模型,使用该Module进行finetune,可以更快收敛,达到较优效果。
选择模型版本进行安装
1.0.0 (最新版)
$ hub install faster_rcnn_resnet50_fpn_venus==1.0.0

命令行预测

$ hub run faster_rcnn_resnet50_fpn_venus --input_path "/PATH/TO/IMAGE"

API

def context(num_classes=81,
            trainable=True,
            pretrained=True,
            phase='train')

提取特征,用于迁移学习。

参数

  • num_classes (int): 类别数;
  • trainable(bool): 参数是否可训练;
  • pretrained (bool): 是否加载预训练模型;
  • phase (str): 可选值为 'train'/'predict','trian' 用于训练,'predict' 用于预测。

返回

  • inputs (dict): 模型的输入,相应的取值为: 当 phase 为 'train'时,包含: image (Variable): 图像变量 im_size (Variable): 图像的尺寸 im_info (Variable): 图像缩放信息 gt_class (Variable): 检测框类别 gt_box (Variable): 检测框坐标 is_crowd (Variable): 单个框内是否包含多个物体 当 phase 为 'predict'时,包含: image (Variable): 图像变量 im_size (Variable): 图像的尺寸 * im_info (Variable): 图像缩放信息
  • outputs (dict): 模型的输出,相应的取值为: 当 phase 为 'train'时,包含: head_features (Variable): 所提取的特征 rpn_cls_loss (Variable): 检测框分类损失 rpn_reg_loss (Variable): 检测框回归损失 generate_proposal_labels (Variable): 图像信息 当 phase 为 'predict'时,包含: head_features (Variable): 所提取的特征 rois (Variable): 提取的roi * bbox_out (Variable): 预测结果
  • context_prog (Program): 用于迁移学习的 Program。
def save_inference_model(dirname,
                         model_filename=None,
                         params_filename=None,
                         combined=True)

将模型保存到指定路径。

参数

  • dirname: 存在模型的目录名称
  • model_filename: 模型文件名称,默认为__model__
  • params_filename: 参数文件名称,默认为__params__(仅当combined为True时生效)
  • combined: 是否将参数保存到统一的一个文件中

依赖

paddlepaddle >= 1.6.2

paddlehub >= 1.6.0