开锁在百度上做网站要钱吗永久网站域名注册
2026/4/5 20:41:21 网站建设 项目流程
开锁在百度上做网站要钱吗,永久网站域名注册,手机版网站建设合同,信息化管理软件在目标检测领域#xff0c;YOLO、Faster R-CNN、SSD等基于卷积神经网络#xff08;CNN#xff09;的模型早已深入人心。它们依靠CNN提取特征#xff0c;再通过预测头完成分类与边界框回归#xff0c;但始终受限于CNN的局部特征提取能力。 而DETR#xff08;Detection Tra…在目标检测领域YOLO、Faster R-CNN、SSD等基于卷积神经网络CNN的模型早已深入人心。它们依靠CNN提取特征再通过预测头完成分类与边界框回归但始终受限于CNN的局部特征提取能力。而DETRDetection Transformer的出现打破了这一格局——它依然用CNN做特征提取但核心部分引入了Transformer结构通过编码器Encoder学习图像全局上下文解码器Decoder完成预测无需复杂的锚点设计极大简化了目标检测流程。今天就带来一篇全流程实战教程教你用PyTorch框架基于任意自定义数据集训练DETR模型从环境搭建到最终的测试可视化一、三类目标检测模型在动手之前先快速理清目标检测的三大主流方向帮你理解DETR的优势单阶段检测器Single-stage Detectors代表模型YOLO、SSD、RetinaNet核心逻辑CNN骨干网络提取特征图后直接在单网络中完成分类边界框预测优势速度快适合实时检测场景劣势小目标检测精度稍弱双阶段检测器Two-stage Detectors代表模型Faster R-CNN、R-CNN、Cascade R-CNN核心逻辑先通过区域提议Region proposals生成候选框再基于多尺度特征图做精准预测优势小目标检测效果好劣势速度慢不适合实时场景基于Transformer的检测器代表模型DETR、Deformable DETR、Conditional DETR核心逻辑CNN提取基础特征Encoder学习图像全局关联自注意力机制Decoder转换特征完成预测优势无需锚点设计全局特征捕捉能力强适配自定义数据集劣势对GPU算力有一定要求DETR作为Transformer类检测器的代表兼顾了一定的速度与精度且训练流程简洁非常适合需要自定义数据集的场景。二、实战步骤从0训练DETR模型环境搭建GPUPyTorch是基础DETR训练需要GPU支持推荐两种方案本地搭建需配置GPU支持的PyTorch环境可参考官方教程云端方案优先选择Kaggle免费GPU训练时间更长或Google Colab无需本地配置关键依赖安装本地/云端通用克隆DETR官方仓库git clone https://github.com/facebookresearch/detr.git安装COCO数据集依赖conda install cython scipypip install -U githttps://github.com/cocodataset/cocoapi.git#subdirectoryPythonAPInumpy版本兼容处理若报错pip install numpy1.23数据集准备COCO格式是关键DETR默认支持COCO格式数据集核心要求如下数据集来源可使用Roboflow等平台下载本文以猫狗检测数据集为例也可自定义数据集格式要求必须严格遵循COCO格式含图像文件标注文件文件夹命名无需修改代码时需将文件夹命名为train2017训练集、val2017验证集、annotations标注文件模型训练第一步下载预训练权重DETR提供多种预训练模型本文选用常用的detr-r50-e632da11.pth先创建权重文件夹并下载mkdir -p pretrained-weightswget https://dl.fbaipublicfiles.com/detr/detr-r50-e632da11.pth -O pretrained-weights/detr-r50-e632da11.pth常用预训练模型参数参考COCO 2017验证集效果模型骨干网络推理时间边界框AP大小DETRR500.036s42.0159MbDETR-DC5R500.083s43.3159MbDETRR1010.050s43.5232Mb第二步启动训练命令激活环境后修改coco_path为你的数据集路径执行以下命令python main.py --dataset_file coco --coco_path /home/omer/vision-ws/detr-ws/dataset # 替换为你的数据集路径 --output_dir ./outputs # 模型输出路径 --batch_size 2 # 批次大小根据GPU显存调整 --epochs 30 # 训练轮数 --lr_drop 40 # 学习率衰减轮数 --resume pretrained-weights/detr-r50-e632da11.pth # 预训练权重路径注意可根据需求调整batch_size显存不足调小、epochs数据量大则增加、lr_drop学习率衰减时机等参数训练时长取决于数据集大小和GPU性能耐心等待即可模型预测测试图像可视化训练完成后outputs文件夹会生成模型权重文件接下来用测试图像验证效果全程复用训练环境。第一步导入依赖库from PIL import Imageimport matplotlib.pyplot as plt%config InlineBackend.figure_format retinaimport torchfrom torch import nnfrom torchvision.models import resnet50import torchvision.transforms as Ttorch.set_grad_enabled(False);第二步定义常量与工具函数自定义类别以猫狗检测为例可根据你的数据集修改CLASSES [‘N/A’, ‘cat’, ‘dog’]# 可视化颜色配置COLORS [[0.000, 0.447, 0.741], [0.850, 0.325, 0.098], [0.929, 0.694, 0.125], [0.494, 0.184, 0.556], [0.466, 0.674, 0.188], [0.301, 0.745, 0.933]]# 图像预处理标准化尺寸调整transform T.Compose([ T.Resize(600), # 可根据需求调整尺寸 T.ToTensor(), T.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])])# 边界框格式转换cxcywh→xyxydef box_cxcywh_to_xyxy(x): x_c, y_c, w, h x.unbind(1) b [(x_c - 0.5 * w), (y_c - 0.5 * h), (x_c 0.5 * w), (y_c 0.5 * h)] return torch.stack(b, dim1)# 边界框缩放至原图尺寸def rescale_bboxes(out_bbox, size): img_w, img_h size b box_cxcywh_to_xyxy(out_bbox) b b * torch.tensor([img_w, img_h, img_w, img_h], dtypetorch.float32) return b# 结果可视化函数def plot_results(pil_img, prob, boxes): plt.figure(figsize(12,8)) plt.imshow(pil_img) ax plt.gca() colors COLORS * 100 for p, (xmin, ymin, xmax, ymax), c in zip(prob, boxes.tolist(), colors): ax.add_patch(plt.Rectangle((xmin, ymin), xmax - xmin, ymax - ymin, fillFalse, colorc, linewidth3)) cl p.argmax() text f’{CLASSES[cl]}: {p[cl]:0.2f}’ ax.text(xmin, ymin, text, fontsize15, bboxdict(facecolor‘yellow’, alpha0.5)) plt.axis(‘off’) plt.show()第三步加载模型并预测导入DETR模型构建模块import syssys.path.append(‘./detr’)from models.detr import build# 模型参数配置与训练时一致class Args: backbone ‘resnet50’ dilation False position_embedding ‘sine’ num_classes 2 # 猫狗两类背景自动处理 hidden_dim 256 nheads 8 num_encoder_layers 6 num_decoder_layers 6 dim_feedforward 2048 dropout 0.1 enc_layers 6 dec_layers 6 pre_norm False num_queries 100 lr_backbone 1e-5 set_cost_class 1 set_cost_bbox 5 set_cost_giou 2 mask_loss_coef 1 dice_loss_coef 1 bbox_loss_coef 5 giou_loss_coef 2 eos_coef 0.1 device ‘cuda’ if torch.cuda.is_available() else ‘cpu’ dataset_file ‘coco’ masks False aux_loss True frozen_weights Noneargs Args()# 构建模型并加载训练权重model, criterion, postprocessors build(args)checkpoint_path ‘./detr/outputs/checkpoint.pth’ # 训练权重路径checkpoint torch.load(checkpoint_path, map_locationargs.device, weights_onlyFalse)model.load_state_dict(checkpoint[‘model’], strictFalse)model.to(args.device)model.eval() # 切换至评估模式# 加载测试图像并预测im Image.open(‘testimage.jpg’) # 替换为你的测试图像路径img transform(im).unsqueeze(0)img img.to(args.device)# 模型推理outputs model(img)# 筛选置信度≥0.5的预测结果probas outputs[‘pred_logits’].softmax(-1)[0, :, :-1]keep probas.max(-1).values 0.5# 边界框缩放与可视化bboxes_scaled rescale_bboxes(outputs[‘pred_boxes’][0, keep].cpu(), im.size)plot_results(im, probas[keep].cpu(), bboxes_scaled)在这里插入图片描述三、总结DETR作为基于Transformer的目标检测模型凭借简洁的架构和强大的全局特征捕捉能力成为自定义数据集场景的优质选择。读者福利如果大家对大模型感兴趣这套大模型学习资料一定对你有用对于0基础小白入门如果你是零基础小白想快速入门大模型是可以考虑的。一方面是学习时间相对较短学习内容更全面更集中。二方面是可以根据这些资料规划好学习计划和方向。作为一名老互联网人看着AI越来越火也总想为大家做点啥。干脆把我这几年整理的AI大模型干货全拿出来了。包括入门指南、学习路径图、精选书籍、视频课还有我录的一些实战讲解。全部免费不搞虚的。学习从来都是自己的事我能做的就是帮你把路铺平一点。资料都放在下面了有需要的直接拿能用到多少就看你自己了。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以点击文章最下方的VX名片免费领取【保真100%】

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询