Ultralytics框架下YOLO-World目标检测技术解析

6 下载量 85 浏览量 更新于2024-10-03 1 收藏 348.57MB ZIP 举报
资源摘要信息: "使用Ultralytics框架进行YOLO-World目标检测" YOLO(You Only Look Once)是一种广泛使用的实时目标检测系统,而YOLO-World则是该系统的拓展版本,专注于开放词汇表目标检测。Ultralytics提供的框架是实现YOLO模型的高效途径,它允许研究者和开发者快速部署和训练自定义的目标检测模型。 在本文《Real-Time Open-Vocabulary Object Detection:使用Ultralytics框架进行YOLO-World目标检测》中,作者介绍了如何使用Ultralytics框架来实现YOLO-World目标检测模型,并提供了模型及其测试代码。这意味着研究者们可以利用这些资源进行目标检测任务,尤其是那些需要识别开放词汇集中对象的任务。 以下是文中提到的一些关键知识点和组件: 1. YOLO-World目标检测模型:这一模型拓展了YOLO的原始版本,使得它能够识别开放词汇集中的目标。这通常意味着模型可以处理训练时未见过的类别,并能够以较高的准确性进行检测。 2. Ultralytics框架:Ultralytics提供的YOLO框架简化了模型的使用和部署过程,允许用户快速进行数据预处理、模型训练、评估和推理。 3. 模型文件:文件列表中包含了不同的预训练模型文件,如custom_yolov8s.pt、yolov8s-world.pt和yolov8s-worldv2.pt等。这些文件是基于不同配置的预训练模型文件,它们可以用于推理任务或是进一步的微调。 4. 模型训练和验证:train.py和val.py脚本分别用于模型训练和验证。这些脚本让研究者可以配置训练参数、监控训练过程并验证模型性能。 5. 模型持久化:Persisting_Models_with_Custom_Vocabulary.py脚本涉及如何在训练过程中保存和加载模型状态。这对于需要保存中间结果和最终模型以便于后续应用的场景至关重要。 6. 推理和提示:infer_with_prompts.py脚本可能用于执行带提示的模型推理。这是一个高级功能,可能允许用户通过添加提示来微调模型对特定对象类别的检测。 7. 预测:predict.py文件是用于执行实际目标检测的脚本,它将加载训练好的模型,并对输入的图片或视频进行目标检测。 8. 视频对象跟踪:Object_tracking_on_video.py提供了在视频上进行对象跟踪的功能。这不仅限于单帧目标检测,还可以跟踪视频中目标的位置和运动。 以上资源列表和描述表明,本文档提供了一个完备的工具集,用以实现、训练和应用YOLO-World目标检测模型。通过这些文件和脚本,用户可以更容易地进行目标检测相关的研究与开发工作。特别是对于那些需要处理开放词汇集或自定义词汇集的研究人员和开发人员,这些资源将大大降低入门门槛,并加速原型开发和实际部署过程。

File "/home/zhxk/.local/bin/yolo", line 8, in <module> sys.exit(entrypoint()) File "/home/zhxk/.local/lib/python3.8/site-packages/ultralytics/yolo/cfg/__init__.py", line 249, in entrypoint getattr(model, mode)(verbose=True, **overrides) File "/home/zhxk/.local/lib/python3.8/site-packages/ultralytics/yolo/engine/model.py", line 207, in train self.trainer.train() File "/home/zhxk/.local/lib/python3.8/site-packages/ultralytics/yolo/engine/trainer.py", line 183, in train self._do_train(int(os.getenv("RANK", -1)), world_size) File "/home/zhxk/.local/lib/python3.8/site-packages/ultralytics/yolo/engine/trainer.py", line 302, in _do_train self.loss, self.loss_items = self.criterion(preds, batch) File "/home/zhxk/.local/lib/python3.8/site-packages/ultralytics/yolo/v8/detect/train.py", line 76, in criterion return self.compute_loss(preds, batch) File "/home/zhxk/.local/lib/python3.8/site-packages/ultralytics/yolo/v8/detect/train.py", line 174, in __call__ _, target_bboxes, target_scores, fg_mask, _ = self.assigner( File "/home/zhxk/.local/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl return forward_call(*input, **kwargs) File "/home/zhxk/.local/lib/python3.8/site-packages/torch/autograd/grad_mode.py", line 28, in decorate_context return func(*args, **kwargs) File "/home/zhxk/.local/lib/python3.8/site-packages/ultralytics/yolo/utils/tal.py", line 97, in forward target_gt_idx, fg_mask, mask_pos = select_highest_overlaps(mask_pos, overlaps, self.n_max_boxes) File "/home/zhxk/.local/lib/python3.8/site-packages/ultralytics/yolo/utils/tal.py", line 44, in select_highest_overlaps if fg_mask.max() > 1: # one anchor is assigned to multiple gt_bboxes RuntimeError: CUDA error: device-side assert triggered CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect. For debugging consider passing CUDA_LAUNCH_BLOCKING=1. Sentry is attempting to send 2 pending error messages Waiting up to 2 seconds Press Ctrl-C to quit THCudaCheck FAIL file=/pytorch/aten/src/THC/THCCachingHostAllocator.cpp line=278 error=710 : device-side assert triggered

2023-07-13 上传