YOLOv8 fiftyone
时间: 2024-12-29 08:22:47 浏览: 9
### 使用YOLOv8与FiftyOne进行计算机视觉项目
为了将YOLOv8模型集成到FiftyOne工作流中,可以遵循以下方法来加载、训练以及评估模型。此过程涉及安装必要的库并准备数据集。
#### 安装依赖项
首先确保环境中已安装`ultralytics`和`fiftyone`包:
```bash
pip install fiftyone ultralytics
```
#### 加载预训练的YOLOv8模型
利用Ultralytics官方API可以直接获取预训练版本的YOLOv8模型实例[^4]:
```python
from ultralytics import YOLO
model = YOLO('yolov8n.pt') # Load pretrained model
```
#### 准备数据集并与FiftyOne连接
创建一个新的FiftyOne Dataset对象并将图像文件导入其中。这一步骤对于后续的数据可视化非常重要:
```python
import fiftyone as fo
import fiftyone.zoo as foz
dataset = foz.load_zoo_dataset(
"coco-2017",
split="validation",
max_samples=50,
shuffle=True,
)
session = fo.launch_app(dataset)
```
上述代码片段会自动下载COCO验证集中随机选取的50张图片作为样本,并启动 FiftyOne 应用程序以便于查看这些数据[^2]。
#### 执行推理操作
一旦完成了前期准备工作,则可以通过调用 `predict()` 方法来进行预测任务。这里需要注意的是,在实际应用过程中可能还需要调整输入尺寸等参数以适应特定需求:
```python
results = []
for sample in dataset:
predictions = model(sample.filepath)[0].cpu().numpy()
detections = []
for pred in predictions.boxes.data.tolist():
x_min, y_min, x_max, y_max, conf, cls = pred
detection = fo.Detection(
label=model.names[int(cls)],
bounding_box=[x_min, y_min, x_max-x_min, y_max-y_min],
confidence=float(conf),
)
detections.append(detection)
results.append(fo.Sample(filepath=sample.filepath,detections=detections))
# Save the inference results back into the original samples.
dataset.save_results(results)
```
这段脚本遍历整个数据集中的每一个样本,针对每一张图片执行目标检测,并保存识别出来的边界框位置及其对应的类别标签至新的字段内[^1]。
阅读全文