Heim  >  Artikel  >  Backend-Entwicklung  >  Wo ist Charlie – KI

Wo ist Charlie – KI

Barbara Streisand
Barbara StreisandOriginal
2024-11-22 08:12:10777Durchsuche

Hallo, in diesem Artikel werden wir eine Technik finden, um „Où est Charlie“ mit KI zu lösen.


I – Datensatz

Ich habe einen Datensatz auf dem folgenden Github gefunden:
https://github.com/kiim29/Ou_est_charlie

Der erste Schritt besteht darin, diese Daten in das Yolo v5-Format zu konvertieren.
Dazu erstelle ich folgende Verzeichnisse:

yolov5/
├── train
│   ├── images
│   └── labels
└── val
    ├── images
    └── labels

Und legen Sie alle Bilder in den guten Ordner.

Für die Annotation erstelle ich ein Skript, um die CSV-Datei im Github zu lesen und die verschiedenen Etikettendateien mit der Positionstyptransformation zu erstellen.
Weil das Format der Yolov5-Label-Datei ist:
index_item (xmin xmax) / 2 / Breite (ymin ymax) / 2 / Höhe (xmax - xmin) / Breite (ymax - ymin) / Höhe

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 - Zug

Für das Training verwende ich Ultralytics

pip install ultralytics

Und ich starte das Training mit den folgenden Argumenten.

from ultralytics import YOLO

model = YOLO('yolov8n.pt')

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

model.export()

III - Test

Zu Testzwecken können wir ein zufälliges Bild mit Ultralytics und dem neuen Modell ausführen :)

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

Das obige ist der detaillierte Inhalt vonWo ist Charlie – KI. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn