白话入门目标检测(一)

一、目标检测网络的基本构成:

Backbone+Neck+Detection head

Backbone的目标是提取图像中的特征,但是仅仅提取特征是无法完成目标检测的任务的,需要后续的网络从这些提取到的特征中检测目标目标的位置和类别。后续的网络就被称为Detection head。随着技术的发展,为了充分利用好Backbone提取到的特征信息,以和最终的目标检测任务相关,很多结构可以被插在Backbone和Detection head中间,被称为Neck。

二、MMDet代码解读

MMdet是商汤科技和香港中文大学开源的一款基于Pytorch的深度学习目标检测工具箱。该工具箱支持很多检测框架,有了这个框架我们就可以站在前人的肩膀上(mogai)推陈出新。因为大部分企业或者实验室已经在服务器上安装好了框架,在这篇文章中不再赘述,直接快速上手。以下按数据流的顺序进行介绍

2.1dataset

./configs/__base__/datasets/coco_detection中的data_root就是数据路径,train_pipeline是用于图像增强函数的参数文件。

./mmdet/datasets/custom.py中的CustomDataset类完成数据初始化,方法__getitem__按照idx获取训练数据和注释

2.2dataloader

./code/mmdet/datasets/samplers 中的类GroupSampler通过迭代器将数据分batch输入到模型中,

2.3config--创建模型配置的字典

./code/configs 里的模型_base_是相关配置

_base_ = './lsnet_segm_r50_fpn_mstrain_2x_coco.py'

./code/configs/_base_/datasets/coco_detection.py

dataset_type = 'CocoDataset'    #数据集目录
data_root = 'data/coco/'         #数据集根目录
img_norm_cfg = dict(
    mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True)   #输入图像初始化,减去均值mean并除以方差std,to_rgb表示将bgr转换为rgb

配置文件的内容回放在一个字典里_cfg_dict(./mmcv/utils/config.py中的@staticmethod def _file2dict实现),这个字典是config类的属性

    def __setattr__(self, name, value):
        if isinstance(value, dict):
            value = ConfigDict(value)
        self._cfg_dict.__setattr__(name, value)

cfg中type键的值就是采用backbone的类型,比如FasterCNN

2.4model

./code/mmcv/mmcv/ttils

def build_from_cfg(cfg, registry, default_args=None):
    """Build a module from config dict.

    Args:
        cfg (dict): Config dict. It should at least contain the key "type".
        registry (:obj:`Registry`): The registry to search the type from.
        default_args (dict, optional): Default initialization arguments.

    Returns:
        object: The constructed object.
    """

根据cfg中的type键的值找到registry中对应的类完成初始化

类的初始化在./code/mmdet/models/detectors中two_stage.py

class TwoStageDetector(BaseDetector):
    """Base class for two-stage detectors.

    Two-stage detectors typically consisting of a region proposal network and a
    task-specific regression head.
    """

2.5优化器

1)

2)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值