Ultralytics YOLO27: Tham gia danh sách chờ.
Get Started
Nền tảng Thị giác máy tính·Đọc về các chỉ số·Bài học 10/10
Bài họcngười mới bắt đầu

Từ phòng lab đến production

Cài đặt Ultralytics, chạy YOLO26 trên ảnh của bạn, đối chiếu đầu ra với đặc tả và chọn bước tiếp theo.

Mười phút sử dụng model pretrained sẽ trả lời câu hỏi quyết định toàn bộ kế hoạch của bạn: model có sẵn đã bao phủ các class và camera của bạn chưa, hay bạn cần dữ liệu riêng? Trong bài này, bạn cài đặt Ultralytics, chạy YOLO26 trên ảnh thực tế và đối chiếu kết quả với đặc tả bạn đã viết ở bài học đầu tiên.

Kết quả

Chạy YOLO26 trên ảnh của bạn và dựa vào đầu ra để quyết định nên tạo prototype bằng pretrained weights hay xây dựng dataset.

Lộ trình cấp tốc
Nếu bạn đã nắm rõ cách thực hiện, đây là phiên bản tóm tắt.
  1. Cài đặt: pip install ultralytics, sau đó yolo checks.

  2. Dự đoán: yolo predict model=yolo26n.pt source=https://ultralytics.com/images/bus.jpg.

  3. Kiểm tra: những class nào trong đặc tả của bạn có sẵn trong model pretrained, và các bounding box có khớp với ảnh của bạn không?

  4. Chọn khóa học tiếp theo dựa trên câu trả lời.

Thực hành

Cài đặt#

pip install ultralytics
yolo checks

Dòng đầu tiên cài đặt package Python ultralytics và command yolo, đồng thời cài PyTorch nếu máy chưa có. yolo checks in ra phiên bản Python, PyTorch và CUDA cùng phần cứng Ultralytics sẽ sử dụng, để bạn xác nhận cấu hình trước khi chạy bất cứ thứ gì. Hãy dùng một virtual environment mới; hướng dẫn bắt đầu nhanh trình bày cách thiết lập với conda, Docker và GPU.

Phiên bản Python

Gói ultralytics cài đặt được trên Python 3.8 trở lên, nhưng các bản PyTorch hiện tại cần Python 3.10 trở lên. Nếu môi trường của bạn cũ hơn, trước tiên hãy tạo môi trường ảo mới bằng phiên bản Python gần đây.

Bộ chọn PyTorch Start Locally với các tùy chọn Stable, Mac, Pip, Python và Default được chọn, hiển thị command pip3 install cho torch, torchvision và torchaudio

GPU không được sử dụng

Triệu chứng: yolo checks hiển thị CPU trên máy có GPU NVIDIA và inference chạy chậm. Nguyên nhân: bản PyTorch chỉ hỗ trợ CPU — chẳng hạn wheel pip mặc định trên Windows. Cách khắc phục: chọn hệ điều hành, trình quản lý gói và phiên bản CUDA trong trình chọn PyTorch ở trên, chạy lệnh được cung cấp, rồi cài đặt lại ultralytics. Trên Mac, như trong ảnh chụp màn hình, bản dựng mặc định là phù hợp; Ultralytics chạy trên CPU trừ khi bạn truyền device=mps để sử dụng GPU Apple.

Dự đoán đầu tiên#

from ultralytics import YOLO

model = YOLO("yolo26n.pt")  # tải model nano khoảng 5 MB trong lần sử dụng đầu tiên
results = model("https://ultralytics.com/images/bus.jpg", save=True)

for box in results[0].boxes:
    print(model.names[int(box.cls)], round(float(box.conf), 2))

Cả hai đều in một dòng tóm tắt cho mỗi ảnh và lưu ảnh đã chú thích vào runs/detect/predict:

image 1/1 .../bus.jpg: 640x480 4 persons, 1 bus, 19.7ms
Speed: 0.9ms preprocess, 19.7ms inference, 0.4ms postprocess per image at shape (1, 3, 640, 480)
Results saved to runs/detect/predict

Diễn giải từng dòng: ảnh được resize về 640×480 để inference; model phát hiện bốn người và một xe buýt; inference mất khoảng 20 ms trên CPU laptop. Dòng Speed là lần kiểm tra latency đầu tiên của bạn — hãy so sánh với frame rate ở dòng đầu vào trong đặc tả. Mở ảnh đã lưu: mỗi bounding box có class, box và confidence như trong bài học về detection.

Đối chiếu đầu ra với đặc tả của bạn#

Câu hỏiNếu cóNếu không
Các class của bạn có nằm trong 80 class COCO mà model nhận biết không?Tạo prototype mà không cần huấn luyệnBạn cần dữ liệu đã gán nhãn và fine-tune (hướng dẫn fine-tune)
Trên ảnh của bạn, các bounding box vượt ngưỡng có nằm đúng trên các đối tượng không?Tác vụ và góc nhìn phù hợpHãy dự kiến có domain gap: thu thập dữ liệu từ camera của bạn
Loại đầu ra có đáp ứng yêu cầu của dòng quyết định không?Giữ nguyên tác vụĐổi weights: -seg, -sem, -depth, -pose, -obb hoặc -cls
Model có đủ nhanh để đáp ứng frame rate trên phần cứng mục tiêu không?Tiếp tụcThử model nhỏ hơn hoặc định dạng export đã tối ưu

Câu hỏi đầu tiên có câu trả lời chính xác: model.names liệt kê mọi class mà model pretrained nhận biết. Trong đặc tả xe nâng, person là class COCO còn forklift thì không, vì vậy không ngưỡng nào có thể khiến model pretrained phát hiện xe nâng. Đây là kết quả phổ biến nhất khi chạy lần đầu — model chỉ bao phủ một phần đặc tả — và hướng xử lý phù hợp là tạo prototype cho logic quyết định trên các class hiện có, đồng thời xây dựng dataset cho những class còn lại.

Điều gì thay đổi trong production#

Model sau khi triển khai sẽ gặp những điều kiện mà dataset của nó chưa từng lấy mẫu: camera, mùa, sản phẩm và đồng phục mới. Nếu không huấn luyện lại, độ chính xác suy giảm; nếu thường xuyên huấn luyện lại bằng dữ liệu thu được từ production, độ chính xác sẽ phục hồi:

Hai biểu đồ thể hiện độ chính xác của model theo thời gian: một model suy giảm nếu không được huấn luyện lại, và một model được huấn luyện lại thường xuyên sẽ phục hồi độ chính xác sau mỗi lần cập nhật

Mỗi bài học trong khóa học này đều góp phần vào vòng lặp đó: đặc tả xác định một lỗi, kiểm tra độ bao phủ cho biết cần tìm ở đâu, công cụ kiểm tra nhãn và hướng dẫn gán nhãn giúp dữ liệu mới hữu ích, còn các tập chia và metric đáng tin cậy cho bạn biết model được huấn luyện lại có thực sự tốt hơn hay không. Hai thói quen giúp quy trình này vận hành ngay từ ngày đầu: ghi lại một mẫu input và prediction, kể cả những trường hợp confidence thấp, đồng thời giữ nguyên tập test cố định để so sánh mọi model trên cùng một ảnh. Khả năng quan sát và drift trình bày chuyên sâu về giám sát data drift.

Nên học gì tiếp theo#

Khóa họcHọc khi nào
Xây dựng dataset YOLO hiệu năng caoCác class của bạn không có trong model pretrained hoặc cảnh của bạn khác với COCO
Huấn luyện model YOLO đầu tiên của bạnBạn có dataset đã gán nhãn và muốn fine-tune
Ultralytics YOLO trong môi trường productionBạn có model và cần export, tracking và monitoring
Xây dựng với Ultralytics PlatformBạn muốn quản lý dữ liệu, gán nhãn, huấn luyện và triển khai tại cùng một nơi

Bạn muốn dùng workflow trên trình duyệt? Ultralytics Platform vận hành cùng vòng lặp — tải lên, chú thích, huấn luyện, triển khai — mà không cần cài đặt trên máy:

Dùng thử

Chỉnh sửa script giải pháp: đưa các class trong đặc tả của bạn vào spec_classes và đường dẫn đến ảnh của bạn vào sources, sau đó chạy script và mở kết quả đã lưu. Tạo một bảng gồm ảnh, các class được phát hiện và mức độ khớp với đặc tả (có hoặc không), rồi kết thúc bằng một câu nêu bước tiếp theo và khóa học hướng dẫn bước đó.

Commit
git add -A && git commit -m "docs(academy): completed Computer Vision Foundations"
Điều kiện hoàn thành
Bạn đã hoàn thành bài học khi tất cả các điều kiện sau đều đúng.
  • Bạn đã chạy YOLO26 trên ít nhất ba ảnh của mình và mở các kết quả đã lưu.

  • Bạn biết class nào trong đặc tả đã có trong model pretrained và class nào cần dữ liệu riêng.

  • Bạn có một câu nêu bước tiếp theo và khóa học bạn sẽ tham gia để thực hiện bước đó.

Hiển thị lời giải
from pathlib import Path

from ultralytics import YOLO

model = YOLO("yolo26n.pt")

# 1. Which classes in your output line does the pretrained model already know?
spec_classes = {"person", "forklift"}
known = set(model.names.values())
print(f"pretrained: {sorted(spec_classes & known)}  needs your own data: {sorted(spec_classes - known)}")

# 2. What does it find on your images?
sources = [
    "https://ultralytics.com/images/bus.jpg",  # replace with your own images
    "https://ultralytics.com/images/zidane.jpg",
]
for source, result in zip(sources, model.predict(sources, conf=0.25, save=True, verbose=False)):
    names = [result.names[int(c)] for c in result.boxes.cls]
    print(f"{Path(source).name}: {len(names)} detections -> {sorted(set(names))}")
pretrained: ['person']  needs your own data: ['forklift']
bus.jpg: 5 detections -> ['bus', 'person']
zidane.jpg: 3 detections -> ['person', 'tie']

Với đặc tả xe nâng: person đã được bao phủ, còn forklift thì chưa. Bước tiếp theo: hiện giờ hãy tạo prototype cho quy tắc vùng trên người bằng model pretrained, đồng thời bắt đầu khóa học Xây dựng dataset YOLO hiệu năng cao để thu thập và gán nhãn ảnh xe nâng từ camera trong kho.

Tiếp theo là gì

Hoàn thành khóa học — làm bài kiểm tra cuối khóa để nhận chứng chỉ, sau đó tiếp tục với khóa học Xây dựng dataset YOLO hiệu năng cao để chuyển đặc tả thành dataset sẵn sàng cho huấn luyện.

Đăng nhập để lưu tiến độ