您好,在本文中,我们将找到一种利用 AI 解决“Où est Charlie”问题的技术。
我在以下 github 上找到了一个数据集:
https://github.com/kiim29/Ou_est_charlie
第一步是将这些数据转换为 Yolo v5 格式。
为此,我创建以下目录:
yolov5/ ├── train │ ├── images │ └── labels └── val ├── images └── labels
并将所有图像放入good文件夹中。
对于注释,我创建了一个脚本来读取 github 中的 csv,并使用位置类型转换创建各种标签文件。
因为yolov5标签文件的格式是:
index_item (xmin xmax) / 2 / 宽度 (ymin ymax) / 2 / 高度 (xmax - xmin) / 宽度 (ymax - ymin) / 高度
import pandas as pd class Main: def __init__(self): csv = pd.read_csv("../annotations/annotations.csv") for i in range(len(csv)): filename = csv["filename"][i].split(".")[0] width = csv["width"][i] height = csv["height"][i] xmin = csv["xmin"][i] ymin = csv["ymin"][i] xmax = csv["xmax"][i] ymax = csv["ymax"][i] x_center = (xmin + xmax) / 2 / width y_center = (ymin + ymax) / 2 / height bbox_width = (xmax - xmin) / width bbox_height = (ymax - ymin) / height with open(f"../dataset/train/labels/{filename}.txt", "a") as f: f.write(f"0 {x_center} {y_center} {bbox_width} {bbox_height}\n") if __name__ == "__main__": Main()
对于训练,我使用 ultralytics
pip install ultralytics
我以以下论点启动培训。
from ultralytics import YOLO model = YOLO('yolov8n.pt') model.train(data='dataset.yaml', epochs=50, patience=10000) model.export()
出于测试目的,我们可以使用 ultralytics 和新模型运行随机图像:)
import sys from ultralytics import YOLO model = YOLO('../last.pt') image_path = f'../dataset/train/images/{sys.argv[1]}.jpg' results = model(image_path,conf=0.2)
以上是查理在哪里 - AI的详细内容。更多信息请关注PHP中文网其他相关文章!