YOLOS-tiny API参考手册:Transformers库中的完整接口使用说明
【免费下载链接】yolos-tiny项目地址: https://ai.gitcode.com/hf_mirrors/opensource/yolos-tiny
YOLOS-tiny是基于Transformers库构建的轻量级目标检测模型,专为资源受限环境设计,提供高效的实时物体检测能力。本手册将详细介绍YOLOS-tiny在Transformers库中的核心接口、配置参数及使用方法,帮助开发者快速集成到计算机视觉项目中。
核心API组件说明
YolosForObjectDetection类
作为YOLOS-tiny的核心模型类,YolosForObjectDetection提供完整的目标检测功能实现。该类封装了预训练权重加载、前向传播计算和检测结果输出等核心能力,支持自定义阈值过滤和边界框坐标转换。
关键方法:
from_pretrained():从指定路径加载预训练模型权重,支持本地路径和Hugging Face Hub模型库- 前向传播接口:接收图像处理器生成的张量输入,返回包含类别概率(logits)和边界框(pred_boxes)的检测结果
YolosImageProcessor类
图像预处理组件YolosImageProcessor负责将原始图像转换为模型可接受的输入格式,包括尺寸调整、归一化和张量转换等操作。其post_process_object_detection()方法可将模型输出转换为人类可读的边界框坐标和类别标签。
主要功能:
- 自动图像尺寸适配与标准化
- 检测结果后处理(置信度过滤、坐标转换)
- 支持批量图像处理
快速开始:基础使用流程
环境准备
确保已安装Transformers库及相关依赖:
pip install transformers torch pillow模型加载与初始化
通过以下代码加载YOLOS-tiny模型和图像处理器:
from transformers import YolosImageProcessor, YolosForObjectDetection # 从本地路径加载模型(推荐) model = YolosForObjectDetection.from_pretrained("/data/web/disk1/git_repo/hf_mirrors/opensource/yolos-tiny") image_processor = YolosImageProcessor.from_pretrained("/data/web/disk1/git_repo/hf_mirrors/opensource/yolos-tiny")图像检测完整流程
from PIL import Image import torch # 加载图像 image = Image.open("input_image.jpg") # 图像预处理 inputs = image_processor(images=image, return_tensors="pt") # 模型推理 outputs = model(**inputs) # 结果后处理(置信度阈值0.9) target_sizes = torch.tensor([image.size[::-1]]) results = image_processor.post_process_object_detection( outputs, threshold=0.9, target_sizes=target_sizes )[0] # 输出检测结果 for score, label, box in zip(results["scores"], results["labels"], results["boxes"]): box = [round(i, 2) for i in box.tolist()] print(f"Detected {model.config.id2label[label.item()]} " f"with confidence {round(score.item(), 3)} at location {box}")配置参数详解
模型配置文件
模型配置参数存储在config.json中,包含网络结构、类别映射和推理参数等关键信息。主要配置项包括:
num_labels:检测类别数量(默认为80,对应COCO数据集)id2label:类别ID到名称的映射字典hidden_size:Transformer隐藏层维度num_attention_heads:注意力头数量
图像处理器配置
preprocessor_config.json定义了图像预处理的关键参数:
size:输入图像尺寸(默认640x640)image_mean:归一化均值image_std:归一化标准差do_resize:是否自动调整图像尺寸(默认True)
高级使用技巧
批量图像处理
通过传递图像列表实现批量检测:
images = [Image.open("img1.jpg"), Image.open("img2.jpg")] inputs = image_processor(images=images, return_tensors="pt") outputs = model(**inputs)置信度阈值调整
根据应用场景灵活调整检测阈值:
# 高阈值(减少误检,可能漏检) results = image_processor.post_process_object_detection(outputs, threshold=0.85, target_sizes=target_sizes)[0] # 低阈值(提高检出率,可能增加误检) results = image_processor.post_process_object_detection(outputs, threshold=0.5, target_sizes=target_sizes)[0]模型推理优化
对于资源受限设备,可通过以下方式优化推理速度:
- 使用更小的输入尺寸(需修改preprocessor_config.json)
- 启用PyTorch的FP16推理模式
- 利用ONNX格式进行模型转换
常见问题解决
模型加载失败
确保模型文件完整且路径正确,必要文件包括:
- pytorch_model.bin(模型权重)
- config.json(模型配置)
- preprocessor_config.json(预处理配置)
检测结果为空
可能原因及解决方法:
- 置信度阈值设置过高 → 降低threshold参数
- 图像尺寸异常 → 确保输入图像尺寸符合模型要求
- 目标过小 → 调整图像缩放比例
性能优化建议
对于实时检测场景,推荐:
- 输入图像尺寸调整为320x320(平衡速度与精度)
- 使用CPU推理时开启多线程
- 预加载模型到GPU内存
项目文件结构说明
YOLOS-tiny项目包含以下核心文件:
- yolo_inference.py:推理示例代码
- model.safetensors:模型权重文件
- README.md:项目说明文档
完整的API文档和高级用法示例可参考项目源码及Transformers官方文档。通过合理配置参数和优化推理流程,YOLOS-tiny可在嵌入式设备、移动应用等场景中实现高效的实时目标检测功能。
【免费下载链接】yolos-tiny项目地址: https://ai.gitcode.com/hf_mirrors/opensource/yolos-tiny
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考