新闻详情

新闻详情

首页 / 资讯中心 / 详情

基于X-AnyLabeling与Grounded-SAM的自动标注数据飞轮实战

发布时间:2026/9/30 9:15:17来源:尧图网络
基于X-AnyLabeling与Grounded-SAM的自动标注数据飞轮实战
数据标注这件事干过的人都知道它有多磨人。一个中等规模的检测项目动辄几千上万张图人工框一遍下来眼睛花、手腕酸标注质量还参差不齐。更别提模型迭代的时候数据分布一变之前的标注可能就得推倒重来。这两年我一直在折腾怎么把这块的自动化程度提上去试过不少方案最后沉淀下来一套组合拳X-AnyLabeling 做交互式标注和格式转换autodistill 做知识蒸馏式的自动打标Grounded-SAM 负责开放词汇的检测与分割。这三个东西串起来基本能覆盖从零样本冷启动到半自动迭代的完整链路。这套流程解决的核心问题是在标注预算有限的前提下用预训练大模型的能力把初始标注成本压到最低再通过人工修正和模型迭代形成数据飞轮。适合谁看如果你手头有几百到几万张图要标团队里没有专职标注员或者你想把标注效率提升一个数量级那这篇内容应该能帮到你。我会把环境部署、参数选择、踩过的坑都摊开讲代码和配置尽量给到能直接抄的程度。1. 整体方案设计与工具选型逻辑1.1 为什么是这三个工具的组合先说清楚这三个工具各自的定位不然容易混。X-AnyLabeling是一个带图形界面的标注工具支持 SAM、YOLO 等多种模型辅助标注还能做格式转换和批量处理相当于一个标注工作台。autodistill是 Roboflow 出的一个框架核心思路是用大模型如 Grounding DINO、CLIP给未标注数据打伪标签然后训练一个小模型让小模型去处理剩下的数据。Grounded-SAM则是把 Grounding DINO 的开放词汇检测能力和 SAM 的分割能力拼在一起输入文本提示词就能框出并分割出对应物体。这三个东西单独用都有局限。X-AnyLabeling 的 AI 辅助依赖你已经有模型权重冷启动阶段没模型就抓瞎autodistill 打出来的标签是框没有分割掩码做分割任务还得补Grounded-SAM 效果好但推理慢全量跑一遍成本高。组合起来就顺了Grounded-SAM 负责冷启动阶段的开放词汇检测分割autodistill 负责把大模型能力蒸馏到小模型上做批量推理X-AnyLabeling 负责人工修正、格式转换和最终质检。我试过只用 Grounded-SAM 全量跑一张图在消费级显卡上要 2-3 秒一万张图就是七八个小时而且提示词调不好召回率波动很大。也试过只用 autodistill冷启动阶段没有目标检测模型它得先训一个训完效果还不一定好。三者串起来冷启动用 Grounded-SAM 标个几百张训一个小模型再用 autodistill 批量推最后 X-AnyLabeling 人工过一遍整体效率比纯人工高 8-10 倍。1.2 数据飞轮的运转机制这套流程的本质是构建一个数据飞轮少量人工标注 → 训练初始模型 → 模型自动标注 → 人工修正 → 扩充训练集 → 模型迭代。每一轮迭代模型的泛化能力都更强需要人工修正的比例越来越低。具体来说第一轮你可能需要人工修正 30%-40% 的自动标注结果第二轮降到 15%-20%第三轮可能只有 5%-10%。这个衰减曲线取决于你的数据分布复杂度和模型容量。我的经验是如果第一轮自动标注的 mAP 能到 0.5 以上三轮迭代后基本能到 0.85 以上人工只需要处理边缘 case。这里有个关键点不要追求一次性标完所有数据。正确的做法是先标 10%-20% 的高质量数据训一个 baseline然后用这个 baseline 去推剩下的推完人工修正再训。这样每一轮都有模型可用而不是等全部标完再训。这个思路和主动学习Active Learning是一脉相承的核心是让模型告诉你哪些样本最有价值。1.3 硬件与软件环境的基本要求硬件方面Grounded-SAM 推理建议至少 8GB 显存的 NVIDIA 显卡16GB 更稳。autodistill 训练小模型如 YOLOv8n4GB 显存就够但批量推理时显存占用会上去。X-AnyLabeling 本身是 CPU 也能跑但开 AI 辅助推理还是得有 GPU。软件环境我踩过不少坑最后稳定下来的组合是Python 3.10、PyTorch 2.1、CUDA 11.8 或 12.1。Python 3.11 和 3.12 在某些依赖上还有兼容问题3.10 是最稳的。PyTorch 版本要和 CUDA 驱动匹配这个用nvidia-smi看驱动版本再去 PyTorch 官网查对应关系。注意不要用 conda 默认的 PyTorch 安装版本经常对不上。建议用 pip 装 PyTorch 官方 wheel或者用 conda 但指定 channel。2. 环境部署与核心工具安装实操2.1 X-AnyLabeling 的安装与源码运行X-AnyLabeling 有两种用法直接下打包好的可执行文件或者从源码跑。如果你要改代码或者集成到自己的流程里必须走源码方式。我一开始图省事用了打包版后来想加个自定义的格式导出发现改不了只能重装源码环境。源码安装的步骤我按实际操作的顺序写# 1. 克隆仓库建议用国内镜像加速 git clone https://github.com/CVHub520/X-AnyLabeling.git cd X-AnyLabeling # 2. 创建虚拟环境 conda create -n xany python3.10 -y conda activate xany # 3. 安装 PyTorch根据你的 CUDA 版本选 pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118 # 4. 安装项目依赖 pip install -r requirements.txt # 5. 安装 onnxruntime如果用 GPU 推理 pip install onnxruntime-gpu # 6. 启动 python anylabeling/app.py这里有几个坑要说。第一requirements.txt里的onnxruntime默认是 CPU 版如果你要用 GPU 推理得先卸载再装onnxruntime-gpu版本要和 CUDA 匹配。第二PyQt5 在某些 Linux 发行版上会缺系统库报xcb相关的错装一下libxcb-xinerama0之类的包就行。第三如果你在 PyCharm 里跑记得把工作目录设成项目根目录不然相对路径会找不到模型文件。在 PyCharm 里配置运行环境我一般这样做打开项目后File → Settings → Project → Python Interpreter选刚才创建的 conda 环境。然后 Run → Edit Configurations新建一个 Python 配置Script path 选anylabeling/app.pyWorking directory 选项目根目录。这样点运行就能起来。2.2 autodistill 的安装与模型选择autodistill 的安装相对简单但它是个框架具体用哪个模型要装对应的子包。比如用 Grounding DINO 做基模型用 YOLOv8 做目标模型pip install autodistill pip install autodistill-grounded-sam pip install autodistill-yolov8autodistill 的核心概念是Base Model基模型和Target Model目标模型。基模型负责打伪标签目标模型负责学习这些标签并做批量推理。基模型一般选大模型如 Grounding DINO、CLIP、SAM目标模型选轻量级的如 YOLOv8n、YOLOv8s。为什么这么设计因为大模型精度高但慢小模型快但需要训练。用大模型标一批数据训小模型小模型就能以极低的成本处理海量数据。这就是知识蒸馏的思路。我实测下来Grounding DINO YOLOv8n 的组合在通用物体检测上效果不错。Grounding DINO 的文本提示词要写具体比如 person. car. dog. 这种用句点分隔的格式不要写 a photo of a person那样召回率会低。2.3 Grounded-SAM 的部署与权重下载Grounded-SAM 的部署稍微麻烦点因为它依赖两个模型Grounding DINO 和 SAM。权重文件加起来有好几个 G下载要有耐心。# 克隆仓库 git clone https://github.com/IDEA-Research/Grounded-Segment-Anything.git cd Grounded-Segment-Anything # 安装依赖 pip install -r requirements.txt # 下载 Grounding DINO 权重 # 从官方 release 页面下载 groundingdino_swint_ogc.pth # 下载 SAM 权重推荐 vit_h 版本精度最高但最大 # sam_vit_h_4b8939.pth权重文件放哪Grounding DINO 的权重放在Grounded-Segment-Anything/GroundingDINO/weights/下SAM 的权重放在项目根目录或者你指定的路径。代码里通过参数指定路径。提示SAM 的 vit_h 版本有 2.4GB推理慢但精度高vit_b 只有 375MB速度快但边缘精度差一些。如果做精细分割建议 vit_h如果只是粗标vit_b 够用。这里有个容易忽略的点Grounding DINO 的配置文件也要对应。GroundingDINO_SwinT_OGC.py这个配置文件里的num_classes等参数要和权重匹配不然加载会报错。我一开始只下了权重没注意配置折腾了半天。3. 核心流程实现与参数调优3.1 冷启动用 Grounded-SAM 做零样本标注冷启动阶段的目标是在没有训练数据的情况下用文本提示词让 Grounded-SAM 标出一批种子数据。这批数据不用多几百张就够但质量要高因为它是后续所有迭代的基础。我写了一个批量推理脚本核心逻辑是遍历图片目录对每张图跑 Grounded-SAM输出 COCO 格式的标注文件。关键参数有三个box_threshold、text_threshold和prompt。import os import cv2 import torch import numpy as np from groundingdino.util.inference import load_model, load_image, predict from segment_anything import sam_model_registry, SamPredictor # 加载模型 grounding_dino load_model( GroundingDINO/groundingdino/config/GroundingDINO_SwinT_OGC.py, GroundingDINO/weights/groundingdino_swint_ogc.pth ) sam sam_model_registry[vit_h](checkpointsam_vit_h_4b8939.pth) sam.to(devicecuda) predictor SamPredictor(sam) # 参数设置 BOX_THRESHOLD 0.35 TEXT_THRESHOLD 0.25 PROMPT person. car. traffic light. dog. def process_image(image_path, output_dir): image_source, image load_image(image_path) boxes, logits, phrases predict( modelgrounding_dino, imageimage, captionPROMPT, box_thresholdBOX_THRESHOLD, text_thresholdTEXT_THRESHOLD ) # 用 SAM 做分割 predictor.set_image(image_source) # ... 后续处理box_threshold控制检测框的置信度阈值设高了漏检设低了误检。我一般从 0.35 开始试根据实际效果调整。text_threshold控制文本匹配的阈值这个和提示词的写法关系很大。提示词用句点分隔的短词不要用完整句子。提示词的写法直接决定召回率。比如你要标行人写 person 比写 pedestrian 召回率高因为训练数据里 person 更常见。要标红绿灯写 traffic light 而不是 traffic signal。这个需要根据你的目标类别多试几次。冷启动阶段我建议标 200-500 张覆盖各种场景和光照条件。标完用 X-AnyLabeling 人工过一遍修正明显的错误。这批数据就是你的种子集。3.2 蒸馏用 autodistill 训练小模型并批量推理有了种子集下一步是用 autodistill 训一个小模型。这里有两种用法一种是用种子集直接训 YOLOv8另一种是用 Grounding DINO 作为基模型让它去标更多数据再训 YOLOv8。我一般两种结合先用种子集训一个初始 YOLOv8再用它去推剩下的数据推完人工修正再训。autodistill 的训练代码很简洁from autodistill_grounded_sam import GroundedSAM from autodistill_yolov8 import YOLOv8 from autodistill.detection import CaptionOntology # 定义本体类别映射 ontology CaptionOntology({ person: person, car: car, dog: dog }) # 基模型 base_model GroundedSAM(ontologyontology) # 目标模型 target_model YOLOv8(yolov8n.pt) # 训练 target_model.train( ./dataset/images, epochs50, imgsz640, batch16 )CaptionOntology是 autodistill 的核心概念它定义了文本提示词 → 类别名的映射。比如{person: person}表示用 person 作为提示词检测结果归类为 person。这个映射可以一对多比如{car: vehicle, truck: vehicle}表示 car 和 truck 都归为 vehicle。训练参数里epochs一般 50-100 够用imgsz用 640batch根据显存调。YOLOv8n 在 8GB 显存上 batch16 没问题。训练完的模型会保存在runs/detect/train/weights/best.pt。批量推理的时候用训好的 YOLOv8 跑全量数据from ultralytics import YOLO model YOLO(runs/detect/train/weights/best.pt) results model.predict( source./all_images, conf0.25, iou0.45, save_txtTrue, save_confTrue )conf是置信度阈值iou是 NMS 的 IoU 阈值。这两个参数对结果影响很大。conf设低了误检多设高了漏检多。我一般从 0.25 开始根据人工修正的工作量调整。如果误检太多提到 0.35如果漏检太多降到 0.15。3.3 人工修正X-AnyLabeling 的高效操作技巧自动标注的结果不可能完美人工修正这一步省不掉。但用对工具和方法效率能差好几倍。X-AnyLabeling 有几个功能特别实用我逐个说。快捷键是提效的第一要素。我常用的几个A和D切换上一张/下一张W创建矩形框E创建多边形CtrlS保存CtrlZ撤销。这些在设置里可以自定义建议按自己的习惯改。我习惯把下一张设成空格键因为按起来最顺手。AI 辅助标注是 X-AnyLabeling 的杀手锏。你可以加载 SAM 模型点一下物体就能自动分割出掩码。操作方式是先点工具栏的 AI 按钮选 SAM 模型然后在图上点目标物体它会自动生成掩码。对于边缘复杂的物体这个功能比手动画多边形快太多了。批量处理功能也很有用。比如你要把所有标注从 COCO 格式转成 YOLO 格式或者批量重命名都可以在工具菜单里找到。我经常用它的批量替换标签功能把自动标注里拼错的类别名统一改掉。实操心得人工修正的时候不要一张一张从头看到尾。先用筛选功能把置信度低的标注挑出来优先处理这些。高置信度的标注大概率是对的快速扫一眼就行。这样能把精力集中在真正需要判断的地方。还有一个技巧把自动标注的结果和原图叠加显示这样一眼就能看出哪里标错了。X-AnyLabeling 支持显示标注的置信度低置信度的框会用不同颜色标出来很方便。3.4 格式转换与数据集划分标注格式这块不同框架要求不一样。YOLO 要 txt 格式COCO 要 jsonLabelMe 要 json 但结构不同。X-AnyLabeling 支持多种格式的导入导出但有些细节要注意。COCO 转 YOLO 的时候坐标要从绝对坐标转成归一化的相对坐标。公式是x_center (x_min x_max) / 2 / image_width y_center (y_min y_max) / 2 / image_height width (x_max - x_min) / image_width height (y_max - y_min) / image_height这个转换 X-AnyLabeling 能自动做但你要确保图片尺寸信息是对的。我遇到过图片被旋转过但 EXIF 信息没处理导致坐标全偏的情况。所以转换前最好统一把图片的 EXIF 方向信息处理掉。数据集划分一般按 8:1:1 分训练/验证/测试。但如果数据量少比如少于 1000 张建议用交叉验证或者按 7:2:1 分。划分的时候要注意类别平衡不能某个类别的样本全跑到训练集里去了。我一般用 stratified split按类别分层抽样。4. 常见问题排查与避坑指南4.1 环境与依赖问题速查环境问题是最耗时间的我把踩过的坑整理成表方便对照排查。问题现象可能原因解决方法ImportError: libGL.so.1系统缺 OpenCV 依赖apt install libgl1-mesa-glxCUDA out of memory显存不足减小 batch size 或 imgszModuleNotFoundError: No module named groundingdino没装 Grounding DINO进 GroundingDINO 目录pip install -e .PyQt5 报 xcb 错误缺系统库apt install libxcb-xinerama0onnxruntime 用不了 GPU装了 CPU 版卸载重装onnxruntime-gpu模型加载报 key 不匹配权重和配置不对应检查配置文件的 num_classesCUDA out of memory这个最常见。除了减小 batch还可以用梯度累积来模拟大 batch。另外推理的时候用torch.no_grad()能省不少显存。4.2 标注质量问题的排查思路自动标注的质量问题主要有三类漏检、误检、框不准。排查思路不一样。漏检一般是置信度阈值设高了或者提示词没覆盖到。先降conf到 0.1 看看有没有框出来如果有说明是阈值问题如果没有说明模型根本没学到这个类别要检查训练数据里这个类别的样本够不够。误检一般是阈值设低了或者背景干扰。先提conf到 0.5 看看误检还在不在如果还在说明模型把背景学成了目标要检查训练数据里有没有标错的负样本。框不准一般是训练数据里的框就不准或者模型容量不够。检查一下种子集的标注质量如果种子集就有偏差后面全歪。模型容量不够的话换大一点的模型比如从 YOLOv8n 换到 YOLOv8s。避坑技巧每轮迭代后随机抽 50-100 张图做人工评估算一下精确率和召回率。不要只看 loss 曲线loss 低不代表实际效果好。我遇到过 loss 降到 0.1 但实际 mAP 只有 0.4 的情况原因是过拟合了。4.3 数据飞轮迭代的节奏控制迭代节奏很重要太快了模型没学好太慢了效率低。我的经验是第一轮标 200-500 张种子集训 50 epochs推全量人工修正 30%-40%。 第二轮用修正后的数据再训推全量人工修正 15%-20%。 第三轮再训再推人工修正 5%-10%。 第四轮如果修正比例降到 5% 以下基本可以停了剩下的用规则或人工兜底。每一轮之间要检查一下类别分布有没有漂移。如果某一轮突然某个类别的样本暴增可能是自动标注把相似类别混淆了要人工介入纠正。还有一个经验不要一次性把所有数据都标完再训。分批标、分批训每批训完就推下一批这样模型一直在更新效率最高。我一般按 500 张一批标完一批训一次。5. 效率提升的进阶技巧5.1 提示词工程在自动标注中的应用提示词写得好不好直接决定 Grounded-SAM 的召回率。我总结了几条经验第一用短词不用长句。person 比 a person walking on the street 召回率高。因为 Grounding DINO 的文本编码器对短词的表征更稳定。第二用常见词不用生僻词。car 比 automobile 好bike 比 bicycle 好。训练数据里常见词的出现频率高模型学得更充分。第三多试几个同义词。比如标狗可以试 dog、puppy、canine看哪个召回率高。有时候不同词的召回率能差 20%。第四用句点分隔多个类别。person. car. dog. 这种格式模型会分别检测每个类别。不要用逗号逗号会被当成一个整体。第五根据场景调整。如果是室内场景chair. table. lamp.如果是室外car. tree. building.。场景越具体召回率越高。5.2 模型选择与推理加速Grounded-SAM 推理慢是公认的但有几个加速技巧。用 TensorRT 加速。把 Grounding DINO 和 SAM 都转成 TensorRT 引擎推理速度能提升 2-3 倍。转换过程有点繁琐但一次转换长期受益。具体是用torch2trt或者onnx转trt网上有现成的脚本。用半精度推理。把模型转成 FP16显存占用减半速度提升 30%-50%。代码里加.half()就行。但要注意有些操作在 FP16 下会溢出要加torch.autocast做混合精度。批处理推理。如果显存够一次推多张图比一张一张推快很多。Grounded-SAM 的批处理要改一下代码把单张推理改成 batch 推理。我一般 batch4 或 8看显存。用更小的 SAM 模型。如果不需要精细分割用 vit_b 代替 vit_h速度快 3-4 倍精度只差一点点。5.3 数据增强与难例挖掘数据飞轮跑起来之后怎么进一步提升模型效果两个方向数据增强和难例挖掘。数据增强方面YOLOv8 自带 mosaic、mixup、随机翻转等增强训练时默认开启。但如果你的场景特殊比如红外图像、医学图像默认增强可能不合适要手动调整。我一般会关掉 mosaic因为它在小数据集上容易过拟合。难例挖掘是提升模型上限的关键。具体做法是每轮推理后把置信度在 0.3-0.6 之间的样本挑出来这些是模型拿不准的样本人工重点修正。这些样本对模型的提升最大。我一般每轮挑 100-200 个难例修正后加入训练集。还有一个技巧用模型的不确定性做主动学习。对同一张图做多次推理加不同的数据增强如果结果差异大说明模型不确定这张图就值得人工标注。这个方法叫 Test-Time Augmentation能有效挑出高价值样本。6. 实际项目中的经验沉淀6.1 一个真实项目的迭代记录去年我做一个工业质检的项目目标是检测产品表面的缺陷大概有 5 类缺陷。初始数据 3000 张人工标了 500 张做种子集。第一轮用 Grounded-SAM 标了 500 张提示词是 scratch. dent. stain. crack. discoloration.。人工修正后发现scratch 和 crack 混淆严重因为两者视觉上很像。修正比例大概 35%。第二轮把修正后的 1000 张训 YOLOv8s推剩下的 2000 张。这次 scratch 和 crack 的混淆好了一些但 stain 的漏检还是多。修正比例降到 18%。第三轮重点补了 stain 的样本又训了一轮。这次修正比例降到 8%。第四轮修正比例 4%基本收敛。最终 mAP0.5 是 0.87满足产线要求。整个流程下来人工标注的工作量大概是纯人工的 1/6。如果纯人工标 3000 张按一张 2 分钟算要 100 小时。用这套流程人工修正的总时间大概 16-18 小时。6.2 团队协作中的标注规范如果是团队协作标注规范一定要提前定好。我吃过亏三个人标同一批数据框的松紧程度不一样导致模型学出来的框大小不一致。规范要明确这几点框的边界怎么定贴边还是留白、遮挡怎么处理标可见部分还是整体、最小目标尺寸小于多少像素不标、类别边界相似类别怎么区分。这些最好用示例图说明比文字描述清楚。X-AnyLabeling 支持导入预定义的标签列表可以避免标签名拼写不一致的问题。团队协作时把标签列表文件共享所有人都用同一份。6.3 什么情况下不适合自动标注自动标注不是万能的有些情况还是得人工来。目标类别特别细粒度的时候比如区分 10 种不同的鸟自动标注的准确率会很低因为大模型的细粒度分类能力有限。图像质量特别差的时候比如低分辨率、强噪声大模型的检测效果也会打折。标注规范特别复杂的时候比如要求标出物体的关键点、属性自动标注覆盖不了。数据量特别小的时候比如只有几十张图自动标注的冷启动成本可能比人工还高。这些情况下老老实实人工标可能更划算。自动标注的价值在于规模效应数据量越大收益越明显。6.4 后续扩展方向这套流程跑通之后可以往几个方向扩展。接入更多基模型。除了 Grounding DINO还可以试 OWL-ViT、GLIP 等开放词汇检测模型不同模型在不同场景下效果不一样可以做个 ensemble。做主动学习的闭环。把模型的不确定性估计和自动标注结合起来让模型主动挑出最有价值的样本让人工标进一步提升效率。做半监督学习。用少量标注数据 大量未标注数据用一致性正则化等方法提升模型效果。这个方向在学术上很热工业界落地也在增多。做端到端的流水线。把 Grounded-SAM、autodistill、X-AnyLabeling 串成一个自动化流水线定时跑、自动迭代人只需要在关键节点做决策。这个适合数据量特别大的场景。我个人在实际操作中的体会是这套流程的核心价值不在于某个工具多强而在于把冷启动、批量推理、人工修正、模型迭代串成了一个闭环。每个环节都有工具支撑每个环节的输出都是下一个环节的输入数据在流动中不断增值。真正跑起来之后你会发现标注这件事从体力活变成了脑力活人的精力集中在判断和决策上重复劳动交给机器。这大概就是数据飞轮最朴素的样子。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

法律咨询智能路由:DeepSeek语义解析与GNN专家精准匹配方案 2026/9/30 10:14:27

法律咨询智能路由:DeepSeek语义解析与GNN专家精准匹配方案

简介:面向图神经网络算法工程师、法律科技产品研发与自然语言处理研究者,这份474页技术方案围绕DeepSeek法律咨询智能路由与专家匹配场景,系统解决用户问题语义解析与专家资源精准对接两大核心难题。文档按51个大章节展开,覆盖法律…

阅读更多 →
农行Web端网银支付Java对接实践:表单跳转、签名验签与证书管理详解 2026/9/30 10:14:27

农行Web端网银支付Java对接实践:表单跳转、签名验签与证书管理详解

简介:面向Java后端开发者,资源包用于打通农行Web端网银支付的Java接口集成链路。适合电商、在线服务等需要接入农行网银支付的团队,尤其是在银行对接方面缺少经验的开发者,可据此快速理解接口文档,降低启动门槛。压缩包…

阅读更多 →
Linux下ZooKeeper安装配置详解:从单机到集群与systemd托管 2026/9/30 10:14:27

Linux下ZooKeeper安装配置详解:从单机到集群与systemd托管

很多人在学大数据的时候,第一次遇到ZooKeeper不是因为它本身多复杂,而是因为Hadoop、HBase、Kafka这些组件在HA、分布式协调、元数据管理上都指着它。于是教程看了一大堆,真正在Linux上动手装的时候却发现,光一个安装环节就能卡住…

阅读更多 →
RBF神经网络自适应模糊滑模控制:无人艇路径跟踪与抖振抑制 2026/9/30 10:14:27

RBF神经网络自适应模糊滑模控制:无人艇路径跟踪与抖振抑制

简介:这是一份基于RBF神经网络优化模糊规则的USV自适应模糊滑模控制PDF文档,主题聚焦无人水面艇(USV)航向控制中的不确定性问题。内容从USV平面运动模型入手,设计基于Lyapunov稳定性理论的滑模控制律;随后引…

阅读更多 →
用C++部署YOLOv11-CLS图像分类:ONNX Runtime工程实战 2026/9/30 10:14:20

用C++部署YOLOv11-CLS图像分类:ONNX Runtime工程实战

简介:这是一份面向具备C与深度学习基础的计算机视觉研发人员的YOLOv11-CLS图像分类模型部署资料,聚焦如何用ONNX Runtime在本地高效完成模型加载、图像预处理、推理输出与置信度阈值调整。内容覆盖数据准备、完整C示例代码及其逐行解释、运行步骤和项目总…

阅读更多 →
电力红外图像目标检测数据集:4271张双格式标注变压器数据 2026/9/30 10:14:20

电力红外图像目标检测数据集:4271张双格式标注变压器数据

简介:本资源是一份面向电力系统智能运维、计算机视觉算法工程师及高校科研人员的红外图像目标检测数据集,聚焦变压器及其配套电气设备的缺陷识别与状态监测。数据集包含4271张高质量红外图像,配套VOC格式XML标注文件与YOLO格式TXT标签文件各4…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉