首页 >后端开发 >Python教程 >查理在哪里 - AI

查理在哪里 - AI

Barbara Streisand
Barbara Streisand原创
2024-11-22 08:12:10858浏览

您好,在本文中,我们将找到一种利用 AI 解决“Où est Charlie”问题的技术。


I - 数据集

我在以下 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()

II - 火车

对于训练,我使用 ultralytics

pip install ultralytics

我以以下论点启动培训。

from ultralytics import YOLO

model = YOLO('yolov8n.pt')

model.train(data='dataset.yaml', epochs=50, patience=10000)

model.export()

III-测试

出于测试目的,我们可以使用 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)

Où est Charlie - AI

以上是查理在哪里 - AI的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn