定制模板 101:如何在 DINO-X 平台定制“专属小模型”

一、定制模板简介

1. 什么是定制模板

定制模板是由 DINO-X 开放平台独家提供的一项能力。用户只需提供少量标注样本,即可训练出一个高质量的视觉模板(Embedding),用于模型推理中精准识别特定目标。相比于传统模型仅能识别人、车、动物等常见类别,定制模板可识别用户业务中独有的目标,例如品牌 logo、工业缺陷、异形部件、特殊商品等,特别适用于长尾类别识别、工业定制、非标物体检测等复杂场景,帮助用户高效完成 AI 验证与部署。

注意:定制模板检测目标目前只能输出 bbox,不支持输出关键点,分割等检测结果。

2. 定制模板的原理

在定制模板中,Embedding 指的是一种视觉特征向量,类似于目标物体在图像中的"数字特征摘要"。它以结构化方式表达了目标的形状、纹理与外观特征。相比于通过文本提示(prompt)间接引导模型识别,Embedding 提供了更精准、稳定且可复用的方式,让模型"真正记住"你的目标是什么样,这个 Embedding 就像该目标的"数字指纹"——它能精准表达目标的视觉特征,并可直接嵌入支持的目标检测模型中进行推理,实现对该目标的精准识别与检测。

(1)普通检测:可识别大部分的通用类别(如人、车辆、动物等)

(2)定制模板:精准识别各类长尾场景下小众的检测目标(如品牌 logo、产品缺陷、专属零部件等)

应用示例: 传统模型难以识别集装箱破损等非标准目标。使用定制模板,只需上传约 100 张标注了破损区域的图像,即可训练生成 Embedding。在调用 API 进行推理的阶段,将其嵌入目标检测模型中,系统即可准确识别出破损位置,实现工业质检自动化。

二、如何创建定制模板

1. 准备标注数据

为了创建专属的定制模板,您首先需要准备数据集的图像及其对应的标注文件。

 (1)图像要求:上传若干张待检测物体的清晰图像,建议每类目标图像不少于 100 张,且不超过 1000 张。

 (2)标注文件要求:当前仅支持 bounding boxes 标注格式,需提供与图像一一对应的标注文件(coco.json 格式)。

//_annotations.coco.json
{
  "info": {
    "year": 2025,
    "version": "1.0",
    "description": "Annotations in COCO format, created by T-Rex Label",
    "date_created": "2025-06-25T03:25:20.671Z"
  },
  "images": [
    {
      "id": 0, //图片id
      "file_name": "0.6638183593752024-10-04T074029.164Z.jpg", //文件名
      "width": 1920, //图片宽度
      "height": 1080 //图片高度
    },
    {
      "id": 1,
      "file_name": "0.326003491878512024-10-02T001159.929Z.jpg",
      "width": 1920,
      "height": 1080
    }
  ],
  "categories": [
    {
      "id": 0, //类别id
      "name": "ebike" //类别名称
    }
  ],
  "annotations": [
    //标注信息
    {
      "id": 0, //标注id
      "image_id": 0, //图片id
      "category_id": 0, //类别id
      "area": 601660.164253, //标注区域面积
      "bbox": [717.012448, 194.771784, 750.207469, 801.991701], //标注区域坐标【x,y,w,h】相对图片左上角为原点
      "segmentation": [], //标注区域分割信息
      "iscrowd": 0
    },
    {
      "id": 1,
      "image_id": 1,
      "category_id": 0,
      "area": 317346.381777,
      "bbox": [1066.224066, 392.614108, 742.240664, 427.551867],
      "segmentation": [],
      "iscrowd": 0
    }
  ]
}

若您暂无标注文件,可通过智能标注工具 T-Rex Label 快速进行标注

说明: 上传的数据将在后续训练中用于学习目标的视觉特征,请尽可能保证图像质量清晰、目标标注准确。

2. 发起定制模板任务

​​​​​​​数据准备完成后,请进入定制模板页面填写表单,完成训练任务的创建。 上传图像与标注数据: 平台提供两种数据上传模式,您可以根据数据准备情况选择适合的方式:

(1)手动划分

若您已在本地对数据完成了划分,可以选择此模式,分别上传训练集和验证集的图像及其对应的标注文件。该模式适用于数据量大或结构复杂、需要自定义验证集的场景。

(2)自动划分

在该模式下,您只需上传一批图像及其对应的标注文件,并设置训练集与验证集的划分比例(如 80% / 20%)。平台将根据比例自动随机将数据分为训练集和验证集,无需手动区分数据文件。

完成以上内容后,点击「开始训练」,平台将自动启动模型训练。具体时长可能会因排队任务数量有所波动,您可以在定制模板首页的私人模板中看到训练状态:

注意:训练模板是免费的。模板训练过程自动完成,您无需进行其他操作,可在训练列表中实时查看进度。

3. 检查和测试模板

​​​​​​​模板训练完成后,您可以点击进入该模板的训练详情页面,查看训练效果和使用信息。

(1)在详情页面中,您可以看到该模板的训练评估指标(如准确率、召回率、mAP 等),帮助您初步了解模板性能。

(2)点击「试试这个模板」,可上传自定义图片进行快速测试,实时查看模板在实际图像上的检测效果。

三、如何使用定制模板

每个模板训练完成后将生成唯一的 Embedding URL(嵌入链接),用于嵌入模型调用工作流中, Embedding URL 示例:ZW1iZWRkaW5nL2Nsb3VkX3RyYWluL2MyZDNlMjcxNjk4ZWE3ZjZmNDQwOTBhZWU3OGMxODI1LzMxZjljZjdhYWZiODQ4NmFhZTMzYjc0NWJjYTE1YWYxL3Byb21wdC5lbWJlZGRpbmc=。

注意: 训练模板的模型需要和推理模型保持一致。

(1)在 DINO-X 开放平台定制模板或者模板商城页面中,找到您需要的模板,点击「复制 Embedding URL」即可获取完整的 Embedding URL, 可以在调用模型时直接使用 Embedding URL 作为视觉提示,对目标进行识别检测。

(2)在支持使用 Embedding URL 的模型中 (目前支持的模型有 DINO-X 模型),调用模型 API 时,设置参数 embedding="your_embedding_url",并指定 prompt.type = "embedding",即可使用定制模板进行目标检测,详情请参考对应的模型 API 文档

四、社区公开模板

用户可以选择分享,或使用社区公开的模板。目前 DINO-X 开放平台提供的公开模板包括:

 1. 饮料类别检测

该模板主要面向智能自助贩卖机、无人商店等管理需求,支持对饮料类商品的种类识别,用于商品自动结账、缺货提示及销售分析等应用。

模型体验:https://cloud.deepdataspace.com/custom/market/test/9110bec2ffbd4286af2d83c23614c8e6

 2. 棉花害虫检测

该模板可用于棉花田间的主要害虫检测与识别,支持自动识别瓢虫(landybug)、蝽(Stinkbug)、草蛉(Lacewing)、棉铃虫(Bollworm)等多种害虫类别。适用于农业生产监测、虫情调查、田间管理与智能植保系统,可帮助农业从业者实现害虫早期发现与精准防治,提升农作物产量与农药使用效率。

模型体验:https://cloud.deepdataspace.com/custom/market/test/bf486a9c2080488abb3de5ed497a5d2f

 3. 口罩佩戴检测

该模板主要用于园区、地铁站、医院、写字楼等公共区域的人员口罩佩戴检测,支持对未佩戴、佩戴不规范等情况实时识别,有效助力公共卫生防控与管理规范。

模型体验:https://cloud.deepdataspace.com/custom/market/test/87ed6ad5b03146ba8e64126929c483ef

 4. 安全帽佩戴检测

该模板主要面向工地、工厂等工业作业环境,自动识别作业人员是否佩戴安全帽,保障施工现场人员人身安全与管理合规性。

模型体验:https://cloud.deepdataspace.com/custom/market/test/d504cbf67198488eb623d16d09431967

 5. 火焰检测

该模板主要针对家庭、厨房、实验室、户外等多场景的火源监测需求,可实时识别火焰画面,适配智能摄像头及安全控制平台,并联动告警系统,提升火灾预警能力。

模型体验:https://cloud.deepdataspace.com/custom/market/test/e07d34a6156b4063baf89071a4b8a857

 6. 超市货架缺货检测

该模板适用于连锁零售、便利店等场景,自动识别货架上的缺货区域、空位商品位置,辅助门店实现智能补货、商品陈列优化,提升运营效率。

模型体验:https://cloud.deepdataspace.com/custom/market/test/a2524c3aeae64a57bb8ec9e53a3c0425

 7. 螺母螺栓检测

该模板主要针对机械设备、结构件中常见的螺母螺栓进行自动识别,适用于生产线、巡检机器等工业检测场景,提升设备运行安全性与维护效率。

模型体验:https://cloud.deepdataspace.com/custom/market/test/076070794054436fb2866c8c657156b8

 8. 电瓶车进电梯检测

该模板适用于小区出入口、电梯井、楼道等安防监控场景,自动检测电瓶车是否违规进入室内区域,有效预防电瓶车引发的火灾隐患,提升小区安全管理智能化水平。

模型体验:https://cloud.deepdataspace.com/custom/market/test/4720e60b2d0042b9a613573c131b8096

`DINO-X-1.0` 是一个基于视觉 Transformer 的自监督学习模型,最初由 Facebook AI 提出。它是 **DINO(Distillation with NO labels)** 系列模型的一部分,用于学习高质量的图像特征,无需人工标注的标签。 ### 🔍 DINO-X-1.0 简介 - **模型结构**:使用 Vision Transformer (ViT) 作为主干网络。 - **训练方式**:通过自监督学习(self-supervised learning),在没有人工标注的情况下进行训练。 - **核心思想**:采用知识蒸馏(knowledge distillation)机制,教师模型和学生模型相互学习,逐步提升特征表示能力。 - **用途**: - 图像分类 - 目标检测 - 语义分割 - 图像检索 - 迁移学习任务 --- ### 📦 使用 DINO-X-1.0 的方式 你可以使用 Hugging Face 或 TorchVision 加载 DINO 模型: #### 使用 `torch.hub` 加载 DINO 模型: ```python import torch # 加载 DINO 模型 dino_model = torch.hub.load('facebookresearch/dino:main', 'dino_xcit_medium_24_p16') dino_model.eval() ``` #### 使用 `transformers` 库(如果提供): ```bash pip install transformers ``` ```python from transformers import ViTModel model = ViTModel.from_pretrained("facebook/dino-xcit-medium-24-p16") ``` --- ### 📌 特点与优势 | 特点 | 描述 | |------|------| | 自监督学习 | 不需要标签,仅通过图像本身进行训练 | | 高质量特征 | 学到的特征可用于多种下游任务 | | 轻量高效 | 在多个基准测试中表现优异 | | 易于迁移 | 可直接用于图像检索、聚类等任务 | --- ### 🧪 示例:使用 DINO 提取图像特征 ```python import torch from PIL import Image import torchvision.transforms as transforms # 加载 DINO 模型 model = torch.hub.load('facebookresearch/dino:main', 'dino_xcit_medium_24_p16') model.eval() # 图像预处理 transform = transforms.Compose([ transforms.Resize(256), transforms.CenterCrop(224), transforms.ToTensor(), transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]), ]) # 加载图像 image = Image.open("example.jpg") image = transform(image).unsqueeze(0) # 提取特征 with torch.no_grad(): features = model(image) print(features.shape) # 输出特征向量维度 ``` --- ### 🔗 参考链接 - [DINO GitHub 仓库](https://github.com/facebookresearch/dino) - [Hugging Face Model Hub - DINO](https://huggingface.co/models?search=facebook%2Fdino) ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值