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

查理在哪里 - AI

Barbara Streisand
发布: 2024-11-22 08:12:10
原创
838 人浏览过

您好,在本文中,我们将找到一种利用 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中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板