Bỏ qua nội dung

Python Cách sử dụng

Chào mừng đến với YOLO11 Python Tài liệu hướng dẫn sử dụng! Hướng dẫn này được thiết kế để giúp bạn tích hợp liền mạch YOLO11 vào của bạn Python các dự án phát hiện đối tượng , phân đoạn và phân loại. Tại đây, bạn sẽ học cách tải và sử dụng các mô hình được đào tạo trước, đào tạo các mô hình mới và thực hiện dự đoán trên hình ảnh. Dễ sử dụng Python Giao diện là một nguồn tài nguyên có giá trị cho bất kỳ ai muốn kết hợp YOLO11 vào của họ Python dự án, cho phép bạn nhanh chóng triển khai các khả năng phát hiện đối tượng nâng cao. Hãy bắt đầu nào!



Đồng hồ: Làm chủ Ultralytics YOLO11 : Python

Ví dụ, người dùng có thể tải một mô hình, đào tạo nó, đánh giá hiệu suất của nó trên một tập hợp xác thực và thậm chí xuất nó sang ONNX định dạng chỉ với một vài dòng mã.

Python

from ultralytics import YOLO

# Create a new YOLO model from scratch
model = YOLO("yolo11n.yaml")

# Load a pretrained YOLO model (recommended for training)
model = YOLO("yolo11n.pt")

# Train the model using the 'coco8.yaml' dataset for 3 epochs
results = model.train(data="coco8.yaml", epochs=3)

# Evaluate the model's performance on the validation set
results = model.val()

# Perform object detection on an image using the model
results = model("https://ultralytics.com/images/bus.jpg")

# Export the model to ONNX format
success = model.export(format="onnx")

Xe lửa

Chế độ đào tạo được sử dụng để đào tạo một YOLO11 mô hình trên một tập dữ liệu tùy chỉnh. Ở chế độ này, mô hình được đào tạo bằng cách sử dụng tập dữ liệu và siêu tham số đã chỉ định. Quá trình đào tạo bao gồm việc tối ưu hóa các tham số của mô hình để có thể dự đoán chính xác các lớp và vị trí của các đối tượng trong một hình ảnh.

Xe lửa

from ultralytics import YOLO

model = YOLO("yolo11n.pt")  # pass any model type
results = model.train(epochs=5)
from ultralytics import YOLO

model = YOLO("yolo11n.yaml")
results = model.train(data="coco8.yaml", epochs=5)
model = YOLO("last.pt")
results = model.train(resume=True)

Ví dụ về tàu hỏa

Giá trị

Chế độ Val được sử dụng để xác thực một YOLO11 mô hình sau khi đã được đào tạo. Ở chế độ này, mô hình được đánh giá trên một tập hợp xác thực để đo độ chính xác và hiệu suất tổng quát của mô hình. Chế độ này có thể được sử dụng để điều chỉnh các siêu tham số của mô hình nhằm cải thiện hiệu suất của mô hình.

Giá trị

from ultralytics import YOLO

# Load a YOLO11 model
model = YOLO("yolo11n.yaml")

# Train the model
model.train(data="coco8.yaml", epochs=5)

# Validate on training data
model.val()
from ultralytics import YOLO

# Load a YOLO11 model
model = YOLO("yolo11n.yaml")

# Train the model
model.train(data="coco8.yaml", epochs=5)

# Validate on separate data
model.val(data="path/to/separate/data.yaml")

Ví dụ Val

Dự đoán

Chế độ dự đoán được sử dụng để đưa ra dự đoán bằng cách sử dụng một YOLO11 mô hình trên hình ảnh hoặc video mới. Ở chế độ này, mô hình được tải từ tệp điểm kiểm tra và người dùng có thể cung cấp hình ảnh hoặc video để thực hiện suy luận. Mô hình dự đoán các lớp và vị trí của các đối tượng trong hình ảnh hoặc video đầu vào.

Dự đoán

import cv2
from PIL import Image

from ultralytics import YOLO

model = YOLO("model.pt")
# accepts all formats - image/dir/Path/URL/video/PIL/ndarray. 0 for webcam
results = model.predict(source="0")
results = model.predict(source="folder", show=True)  # Display preds. Accepts all YOLO predict arguments

# from PIL
im1 = Image.open("bus.jpg")
results = model.predict(source=im1, save=True)  # save plotted images

# from ndarray
im2 = cv2.imread("bus.jpg")
results = model.predict(source=im2, save=True, save_txt=True)  # save predictions as labels

# from list of PIL/ndarray
results = model.predict(source=[im1, im2])
# results would be a list of Results object including all the predictions by default
# but be careful as it could occupy a lot memory when there're many images,
# especially the task is segmentation.
# 1. return as a list
results = model.predict(source="folder")

# results would be a generator which is more friendly to memory by setting stream=True
# 2. return as a generator
results = model.predict(source=0, stream=True)

for result in results:
    # Detection
    result.boxes.xyxy  # box with xyxy format, (N, 4)
    result.boxes.xywh  # box with xywh format, (N, 4)
    result.boxes.xyxyn  # box with xyxy format but normalized, (N, 4)
    result.boxes.xywhn  # box with xywh format but normalized, (N, 4)
    result.boxes.conf  # confidence score, (N, 1)
    result.boxes.cls  # cls, (N, 1)

    # Segmentation
    result.masks.data  # masks, (N, H, W)
    result.masks.xy  # x,y segments (pixels), List[segment] * N
    result.masks.xyn  # x,y segments (normalized), List[segment] * N

    # Classification
    result.probs  # cls prob, (num_class, )

# Each result is composed of torch.Tensor by default,
# in which you can easily use following functionality:
result = result.cuda()
result = result.cpu()
result = result.to("cpu")
result = result.numpy()

Dự đoán Ví dụ

Xuất khẩu

Chế độ xuất được sử dụng để xuất một YOLO11 mô hình sang định dạng có thể sử dụng để triển khai. Ở chế độ này, mô hình được chuyển đổi sang định dạng có thể sử dụng cho các ứng dụng phần mềm hoặc thiết bị phần cứng khác. Chế độ này hữu ích khi triển khai mô hình vào môi trường sản xuất.

Xuất khẩu

Xuất một mô hình YOLO11n chính thức sang ONNX với kích thước lô động và kích thước hình ảnh.

from ultralytics import YOLO

model = YOLO("yolo11n.pt")
model.export(format="onnx", dynamic=True)

Xuất một mô hình YOLO11n chính thức sang TensorRT TRÊN device=0 để tăng tốc trên CUDA thiết bị.

from ultralytics import YOLO

model = YOLO("yolo11n.pt")
model.export(format="onnx", device=0)

Ví dụ xuất khẩu

Theo dõi

Chế độ theo dõi được sử dụng để theo dõi các đối tượng theo thời gian thực bằng cách sử dụng YOLO11 mô hình. Ở chế độ này, mô hình được tải từ tệp điểm kiểm tra và người dùng có thể cung cấp luồng video trực tiếp để thực hiện theo dõi đối tượng theo thời gian thực. Chế độ này hữu ích cho các ứng dụng như hệ thống giám sát hoặc xe tự lái.

Theo dõi

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load an official detection model
model = YOLO("yolo11n-seg.pt")  # load an official segmentation model
model = YOLO("path/to/best.pt")  # load a custom model

# Track with the model
results = model.track(source="https://youtu.be/LNwODJXcvt4", show=True)
results = model.track(source="https://youtu.be/LNwODJXcvt4", show=True, tracker="bytetrack.yaml")

Ví dụ về theo dõi

Điểm chuẩn

Chế độ chuẩn được sử dụng để lập hồ sơ tốc độ và độ chính xác của nhiều định dạng xuất khác nhau cho YOLO11 . Các điểm chuẩn cung cấp thông tin về kích thước của định dạng được xuất, mAP50-95 số liệu (để phát hiện và phân đoạn đối tượng) hoặc accuracy_top5 số liệu (để phân loại) và thời gian suy luận tính bằng mili giây cho mỗi hình ảnh trên nhiều định dạng xuất khác nhau như ONNX , OpenVINO , TensorRT và những thông tin khác. Thông tin này có thể giúp người dùng chọn định dạng xuất tối ưu cho trường hợp sử dụng cụ thể của họ dựa trên yêu cầu về tốc độ và độ chính xác.

Điểm chuẩn

So sánh mô hình YOLO11n chính thức trên mọi định dạng xuất.

from ultralytics.utils.benchmarks import benchmark

# Benchmark
benchmark(model="yolo11n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)

Ví dụ về chuẩn mực

Sử dụng Trainers

YOLO lớp mô hình là một lớp bao bọc cấp cao trên các lớp Trainer. Mỗi YOLO nhiệm vụ có trình huấn luyện riêng của nó được kế thừa từ BaseTrainer.

Ví dụ về trình huấn luyện phát hiện

from ultralytics.models.yolo import DetectionPredictor, DetectionTrainer, DetectionValidator

# trainer
trainer = DetectionTrainer(overrides={})
trainer.train()
trained_model = trainer.best

# Validator
val = DetectionValidator(args=...)
val(model=trained_model)

# predictor
pred = DetectionPredictor(overrides={})
pred(source=SOURCE, model=trained_model)

# resume from last weight
overrides["resume"] = trainer.last
trainer = detect.DetectionTrainer(overrides=overrides)

Bạn có thể dễ dàng tùy chỉnh Trainers để hỗ trợ các tác vụ tùy chỉnh hoặc khám phá các ý tưởng R&D. Tìm hiểu thêm về Tùy chỉnh Trainers, ValidatorsPredictors để phù hợp với nhu cầu dự án của bạn trong Phần Tùy chỉnh.

Hướng dẫn tùy chỉnh

CÂU HỎI THƯỜNG GẶP

Làm thế nào tôi có thể tích hợp YOLO11 vào tôi Python dự án phát hiện vật thể?

Tích hợp Ultralytics YOLO11 vào của bạn Python projects rất đơn giản. Bạn có thể tải một mô hình được đào tạo trước hoặc đào tạo một mô hình mới từ đầu. Sau đây là cách bắt đầu:

from ultralytics import YOLO

# Load a pretrained YOLO model
model = YOLO("yolo11n.pt")

# Perform object detection on an image
results = model("https://ultralytics.com/images/bus.jpg")

# Visualize the results
for result in results:
    result.show()

Xem thêm các ví dụ chi tiết hơn trong phần Chế độ dự đoán của chúng tôi.

Có những chế độ nào khác nhau có sẵn trong YOLO11 ?

Ultralytics YOLO11 cung cấp nhiều chế độ khác nhau để phục vụ cho các quy trình học máy khác nhau. Bao gồm:

  • Đào tạo : Đào tạo mô hình bằng cách sử dụng bộ dữ liệu tùy chỉnh.
  • Val : Xác thực hiệu suất của mô hình trên một tập xác thực.
  • Dự đoán : Đưa ra dự đoán về hình ảnh hoặc luồng video mới.
  • Xuất : Xuất mô hình sang nhiều định dạng khác nhau như ONNX , TensorRT .
  • Theo dõi : Theo dõi đối tượng theo thời gian thực trong luồng video.
  • Điểm chuẩn : Hiệu suất của mô hình chuẩn trên các cấu hình khác nhau.

Mỗi chế độ được thiết kế để cung cấp các chức năng toàn diện cho các giai đoạn khác nhau của quá trình phát triển và triển khai mô hình.

Làm thế nào để tôi đào tạo một tùy chỉnh YOLO11 mô hình sử dụng tập dữ liệu của tôi?

Để đào tạo một tùy chỉnh YOLO11 mô hình, bạn cần chỉ định tập dữ liệu và các siêu tham số khác. Sau đây là một ví dụ nhanh:

from ultralytics import YOLO

# Load the YOLO model
model = YOLO("yolo11n.yaml")

# Train the model with custom dataset
model.train(data="path/to/your/dataset.yaml", epochs=10)

Để biết thêm chi tiết về đào tạo và các siêu liên kết đến ví dụ sử dụng, hãy truy cập trang Chế độ đào tạo của chúng tôi.

Làm thế nào để tôi xuất khẩu YOLO11 mô hình triển khai?

Xuất khẩu YOLO11 các mô hình ở định dạng phù hợp để triển khai rất đơn giản với export chức năng. Ví dụ, bạn có thể xuất một mô hình sang ONNX định dạng:

from ultralytics import YOLO

# Load the YOLO model
model = YOLO("yolo11n.pt")

# Export the model to ONNX format
model.export(format="onnx")

Để biết thêm nhiều tùy chọn xuất khác nhau, hãy tham khảo tài liệu Chế độ xuất .

Tôi có thể xác thực của tôi YOLO11 mô hình trên các tập dữ liệu khác nhau?

Vâng, đang xác thực YOLO11 mô hình trên các tập dữ liệu khác nhau là có thể. Sau khi đào tạo, bạn có thể sử dụng chế độ xác thực để đánh giá hiệu suất:

from ultralytics import YOLO

# Load a YOLO11 model
model = YOLO("yolo11n.yaml")

# Train the model
model.train(data="coco8.yaml", epochs=5)

# Validate the model on a different dataset
model.val(data="path/to/separate/data.yaml")

Kiểm tra trang Val Mode để biết ví dụ chi tiết và cách sử dụng.

📅 Được tạo ra cách đây 1 năm ✏️ Đã cập nhật cách đây 2 tháng

Bình luận