DINO-高精度目标检测模型

我要开发同款
匿名用户2024年07月31日
197阅读

技术信息

开源地址
https://modelscope.cn/models/iic/cv_swinl_image-object-detection_dino
授权协议
Apache License 2.0

作品详情

DINO-高精度目标检测模型介绍

本模型为基于DINO算法的高精度目标检测模型。

模型描述

DINO模型算法框架图如下,是改进的DETR系列模型。

期望模型使用方式以及适用范围

该模型适用于通用图像目标检测,输入图像,输出图像中检测到的物体位置信息。 该模型暂不支持CPU推理和训练,需要在GPU机器上运行。

如何使用

在ModelScope框架上,提供输入图片,即可以通过简单的Pipelie调用使用当前模型,得到图像中物体的矩形框信息。

代码范例

基础示例代码。下面的示例代码展示的是如何通过一张图片作为输入,得到图片对应的吸烟检测结果。

from modelscope.pipelies import pipelie
from modelscope.utils.costat import Tasks

model_id = 'damo/cv_swil_image-object-detectio_dio'
test_image = 'https://modelscope.oss-c-beijig.aliyucs.com/test/images/image_detectio.jpg'
image_object_detectio_dio = pipelie(Tasks.image_object_detectio, model=model_id)
result = image_object_detectio_dio(test_image)
prit("result is : ", result)

训练数据介绍

本模型是基于开源数据集COCO训练得到。

数据评估及结果

模型在COCO的验证集上客观指标如下:

Method bbox_mAP AP@0.5 iferece time(V100) Parameters (backboe/total)
DINO 63.39 80.25 325ms 195M/218M

模型训练流程

可在用户的目标数据集上进行fietue, 以人头数据集为例,在GPU机器上fietue代码如下:

# 模块引入
import os
from modelscope.metaifo import Traiers
from modelscope.traiers import build_traier
from modelscope.msdatasets import MsDataset
from modelscope.utils.costat import DowloadMode
from modelscope.hub.sapshot_dowload import sapshot_dowload

# 数据集准备
trai_dataset = MsDataset.load(
    'head_detectio_for_trai_tutorial', 
    amespace="modelscope", 
    split='trai', 
    dowload_mode=DowloadMode.REUSE_DATASET_IF_EXISTS)
val_dataset = MsDataset.load(
    'head_detectio_for_trai_tutorial', 
    amespace="modelscope", 
    split='validatio', 
    dowload_mode=DowloadMode.REUSE_DATASET_IF_EXISTS)

# 相关参数设置
model_id = 'damo/cv_swil_image-object-detectio_dio'
work_dir = "./output/cv_swil_image-object-detectio_dio"
traier_ame = 'easycv'
total_epochs = 15
class_ames = ['head']
cfg_optios = {
    'trai.max_epochs':
    total_epochs,
    'trai.hooks': [
        {
            'type': 'CheckpoitHook',
            'iterval': 15
        },
        {
            'type': 'EvaluatioHook',
            'iterval': 15
        },
        {
            'type': 'TextLoggerHook',
            'igore_roudig_keys': Noe,
            'iterval': 1
        },
    ],
    'dataset.trai.data_source.classes': class_ames,
    'dataset.val.data_source.classes': class_ames,
    'evaluatio.metrics.evaluators': [
        {
            'type': 'CocoDetectioEvaluator',
            'classes': class_ames
        }
    ],
    'CLASSES': class_ames,
}

# 新建traier
kwargs = dict(
    model=model_id,
    trai_dataset=trai_dataset,
    eval_dataset=val_dataset,
    work_dir=work_dir,
    cfg_optios=cfg_optios)

prit("build traier.")
traier = build_traier(traier_ame, kwargs)
prit("start traiig.")

# 预训练模型下载
cache_path = sapshot_dowload(model_id)

# 开启训练
traier.trai(
    checkpoit_path=os.path.joi(cache_path, 'pytorch_model.pt'),
    load_all_state=False,
)

# 模型评估
eval_res = traier.evaluate(checkpoit_path=os.path.joi(work_dir, 'epoch_15.pth'))
prit(eval_res)

模型局限性以及可能的偏差

  • 该模型暂不支持CPU推理和训练,需要在GPU机器上运行。

相关论文以及引用信息

本模型主要参考论文如下(论文链接:lik):

 @article{zhag2022dio,
      title={DINO: DETR with Improved DeNoisig Achor Boxes for Ed-to-Ed Object Detectio},
      author={Hao Zhag ad Feg Li ad Shilog Liu ad Lei Zhag ad Hag Su ad Ju Zhu ad Lioel M. Ni ad Heug-Yeug Shum},
      year={2022},
      eprit={2203.03605},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

功能介绍

DINO-高精度目标检测模型介绍 本模型为基于DINO算法的高精度目标检测模型。 模型描述 DINO模型算法框架图如下,是改进的DETR系列模型。 期望模型使用方式以及适用范围 该模型适用于通用图像

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论