Helo, dalam artikel ini kami akan mencari teknik untuk menyelesaikan Où est Charlie dengan AI.
Saya menjumpai set data pada github berikut:
https://github.com/kiim29/Ou_est_charlie
Langkah pertama ialah menukar data ini kepada format Yolo v5.
Untuk melakukan ini, saya mencipta direktori berikut:
yolov5/ ├── train │ ├── images │ └── labels └── val ├── images └── labels
Dan letakkan semua imej dalam folder yang bagus.
Untuk anotasi, saya mencipta skrip untuk membaca csv dalam github dan mencipta pelbagai fail label dengan transformasi jenis kedudukan.
Kerana format fail label yolov5 ialah :
index_item (xmin xmax) / 2 / lebar (ymin ymax) / 2 / tinggi (xmax - xmin) / lebar (ymax - ymin) / tinggi
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()
Untuk latihan saya menggunakan ultralytics
pip install ultralytics
Dan saya melancarkan latihan dengan hujah berikut.
from ultralytics import YOLO model = YOLO('yolov8n.pt') model.train(data='dataset.yaml', epochs=50, patience=10000) model.export()
Untuk tujuan ujian, kami boleh menjalankan imej rawak dengan ultralitik dan model baharu :)
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)
Atas ialah kandungan terperinci Di mana Charlie - AI. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!