language: cn
model_unique_abbr: frcnn
version: 1.0
identification:
  docker_image_name: frcnn:1.0
  model_name: 深度卷积网络
  semantic: Deep Convolutional Neural Network
  description: 通过监督学习的方式对图像进行深度分析，实现对图像中多个对象的准确识别与定位。
  category_application: 预测型
  category_data:
  - 遥感影像数据
  - 静态图像数据
  keywords:
  - 目标检测
  - 实时对象识别
  - 深度学习
  - 计算机视觉

parameter_info:
  parameters:
  - arg_name: data_path
    is_single_en_dash: false
    param_type: input_data
    name: 数据集路径
    description: 用于训练的数据集路径
    data_type: str
    data_semantic: The directory used to save your own dataset

  - arg_name: img
    is_single_en_dash: false
    param_type: input_data
    name: 批量待预测图路径
    description: 选择待预测的图像路径
    data_type: str
    data_semantic: The picture you want to predict

  - arg_name: img_out
    is_single_en_dash: false
    param_type: output_data
    name: 预测结果输出路径
    description: 输出路径
    data_type: str
    data_semantic: Path to save the result images

  - arg_name: cuda --init_lr
    is_single_en_dash: false
    param_type: param
    name: 初始学习率
    description: 训练开始的初始学习率
    is_required: false
    data_type: float
    data_semantic: Initial learning rate
    specification:
      default: 0.0001

  - arg_name: classes_path
    is_single_en_dash: false
    param_type: input_data
    name: 模型类别路径
    description: 指向模型类别文件的路径
    data_type: str
    data_semantic: Path to class label file
    specification:
      default: 'data/model_data/voc_classes.txt'

  - arg_name: freeze_epoch
    is_single_en_dash: false
    param_type: param
    name: 冻结训练的世代
    description: 在冻结主干训练时的世代数
    is_required: false
    data_type: int
    data_semantic: Number of epochs to train with frozen backbone
    specification:
      default: 2

  - arg_name: unfreeze_epoch
    is_single_en_dash: false
    param_type: param
    name: 解冻后的总训练世代
    description: 解冻主干后进行训练的总世代数
    is_required: false
    data_type: int
    data_semantic: Total number of epochs to train after unfreezing the backbone
    specification:
      default: 5

  - arg_name: min_lr
    is_single_en_dash: false
    param_type: param
    name: 最小学习率
    description: 训练过程中的最小学习率
    is_required: false
    data_type: float
    data_semantic: Minimum learning rate
    specification:
      default: 0.000001

  - arg_name: momentum
    is_single_en_dash: false
    param_type: param
    name: 动量因子
    description: 优化器的动量因子
    is_required: false
    data_type: float
    data_semantic: Momentum for the optimizer
    specification:
      default: 0.9

  - arg_name: weight_decay
    is_single_en_dash: false
    param_type: param
    name: 权重衰减
    description: 权重衰减的正则项，用于防止过拟合
    is_required: false
    data_type: float
    data_semantic: Weight decay for regularization
    specification:
      default: 0

  - arg_name: save_period
    is_single_en_dash: false
    param_type: param
    name: 保存周期
    description: 每隔多少世代保存模型权重一次
    is_required: false
    data_type: int
    data_semantic: Epochs between saving model weights
    specification:
      default: 2

  - arg_name: save_dir
    is_single_en_dash: false
    param_type: output_data
    name: 权值与日志文件保存的文件夹
    description: 保存模型权重和日志的目录路径
    data_type: str
    data_semantic: Directory to save model weights and logs
    specification:
      default: "data/logs"


application:
  domain: 目标识别
  objective: 依据先验信息对影像数据进行识别，生成预测框
operation:
  usage: 在命令行中用代码指定,图像路径，标签路径,测试数据路径,训练结果路径路径,完成算法运行。
  exec_example:
  - python frcnn.py --mode train --data_path ./data/dataset/VOCdevkit --save_dir data/logs --unfreeze_epoch 20
  - python frcnn.py --mode pre --model_path data/logs/best_epoch_weights.pth --img data/img/
  output_display:
  - 将预测得到的图像文件显示在前端页面中
  license:
  - BSD-3-Clause
  - MIT
  - HPND
technique:
  language:
  - Python
  os:
  - Linux
  - Windows
  hardware:
  - GPU
  dependencies:
    - name: python
      version: 3.8
    - name: torch
      version: latest
    - name: torchvision
      version: latest
    - name: tensorboard
      version: latest
    - name: scipy
      version: 1.2.1
    - name: numpy
      version: 1.17.0
    - name: matplotlib
      version: 3.1.2
    - name: opencv-python
      version: 4.1.2.30
    - name: tqdm
      version: 4.60.0
    - name: pillow
      version: 8.2.0
    - name: h5py
      version: 2.10.0
    - name: cuda
      version: 11.0
    - name: cudnn
      version: 8

source:
  maintainer: Haipeng Yang
  organization: Beijing University of Civil Engineering and Architecture
  contact: 2108160223006@stu.bucea.edu.cn
  references:
  - copyright (c) 2020 JiaQi Xu S. Ren, K. He, R. Girshick, and J. Sun, Towards Real-Time Object Detection with Region Proposal Networks," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 39, no. 6, pp. 1137-1149, 2015. DOI为10.1109/TPAMI.2016.2577031.
