Yolo Vision Thâm Quyến
Thâm Quyến
Tham gia ngay

Chạy các mô hình phát hiện và phân đoạn đối tượng Ultralytics chỉ với vài dòng code

Nuvola Ladi

3 phút đọc

27 tháng 6, 2024

Hướng dẫn từng bước về cách chạy các mô hình phát hiện và phân đoạn đối tượng Ultralytics chỉ trong một vài dòng code.

Chào mừng bạn đến với một bài đăng trên blog khác, nơi chúng ta sẽ đi sâu vào khả năng của các mô hình YOLOv5 của UltralyticsYOLOv8 khi nói đến phát hiện đối tượngphân đoạn. Chúng ta sẽ khám phá cách tích hợp các mô hình dễ sử dụng này vào các dự án của bạn chỉ với một vài dòng code. Cho dù bạn là người mới bắt đầu hay nhà phát triển có kinh nghiệm, bạn sẽ thấy Ultralytics hỗ trợ nhiều mô hình và kiến trúc khác nhau, bao gồm các phiên bản YOLO khác nhau và các mô hình dựa trên transformer. 

Trong video của mình, Nicolai Nielsen hướng dẫn chúng ta quy trình thiết lập và sử dụng các mô hình khác nhau trong framework Ultralytics. Hãy chia nhỏ nó từng bước và xem bạn có thể bắt đầu với những công cụ đáng kinh ngạc này như thế nào.

Bắt đầu với các mô hình Ultralytics

Ultralytics cung cấp một framework toàn diện hỗ trợ nhiều mô hình phát hiện và phân đoạn đối tượng. Điều này bao gồm các mô hình YOLO phổ biến, từ YOLOv3 đến YOLOv8 mới nhất, cũng như các mô hình YOLO-NAS và SAM. Các mô hình này được thiết kế để xử lý nhiều tác vụ khác nhau như phát hiện, phân đoạnước tính tư thế theo thời gian thực.

Để bắt đầu, hãy truy cập trang tài liệu Ultralytics. Tại đây, bạn có thể tìm thấy thông tin chi tiết về từng mô hình, bao gồm các tính năng chính, kiến trúc và cách sử dụng chúng trong các script Python của bạn.

Thiết lập môi trường của bạn

Đầu tiên, hãy đảm bảo bạn đã cài đặt Ultralytics. Bạn có thể thực hiện việc này bằng cách chạy:

bash

Sao chép mã

Sau khi hoàn tất, bạn có thể bắt đầu sử dụng các mô hình này trong dự án của mình. Hãy bắt đầu với mô hình YOLOv8 làm ví dụ.

Các tính năng chính của YOLOv8

YOLOv8 đi kèm với một số cải tiến so với các phiên bản tiền nhiệm. Nó được thiết kế để nhanh hơn và chính xác hơn, làm cho nó trở nên hoàn hảo cho các ứng dụng thời gian thực. Một số tính năng chính bao gồm: 

  • Tăng cường tốc độ và độ chính xác
  • Trọng số đã được huấn luyện trước cho nhiều tác vụ
  • Hỗ trợ phát hiện đối tượng, phân đoạn và phân loại
  • Cải thiện kiến trúc mô hình để có hiệu suất tốt hơn

Chạy YOLOv8 trong Python

Đây là cách bạn có thể bắt đầu với YOLOv8 chỉ trong một vài dòng code:

Sao chép mã

Vậy là xong! Bạn vừa chạy một mô hình YOLOv8 trên một hình ảnh. Sự đơn giản này là điều làm cho các mô hình Ultralytics trở nên mạnh mẽ và thân thiện với người dùng.

Phát hiện trực tiếp từ webcam

Bạn muốn xem YOLOv8 hoạt động trực tiếp trên webcam? Đây là cách bạn có thể thực hiện:

python

Sao chép mã

Đoạn script này sẽ mở webcam của bạn và áp dụng mô hình YOLOv8 để phát hiện các đối tượng trong thời gian thực.

__wf_reserved_inherit
Hình 1. Nicolai Nielsen trình bày cách chạy các mô hình phân đoạn và phát hiện đối tượng Ultralytics.

Khám phá các mô hình khác

Ultralytics không chỉ dừng lại ở YOLOv8. Họ cũng hỗ trợ nhiều mô hình khác như YOLOv5, YOLO-NAS và các mô hình dựa trên transformer để phát hiện theo thời gian thực. Mỗi mô hình có những điểm mạnh và trường hợp sử dụng riêng.

Các mô hình Transformer và cách chạy chúng

Mô hình RT-DETR do Baidu phát triển và được Ultralytics hỗ trợ, là một trình phát hiện đối tượng end-to-end hiện đại, mang lại hiệu suất thời gian thực và độ chính xác cao. Nó sử dụng backbone dựa trên conv và bộ mã hóa lai hiệu quả để đạt tốc độ thời gian thực, vượt trội trên CUDA với TensorRT và hỗ trợ điều chỉnh tốc độ suy luận linh hoạt.

Đây là cách bạn có thể chạy mô hình RT-DETR:

Sao chép mã

Các mô hình Segment Anything

Ultralytics cũng cung cấp các mô hình cho các tác vụ phân đoạn, chẳng hạn như MobileSAM và FastSAM. Các mô hình này được thiết kế để phân đoạn mọi thứ trong một hình ảnh, cung cấp thông tin chi tiết về cảnh.

Chạy FastSAM

FastSAM được tối ưu hóa để phân đoạn theo thời gian thực và đây là cách bạn có thể chạy nó:

Sao chép mã

Mô hình này hoàn hảo cho các ứng dụng đòi hỏi phân đoạn nhanh chóng và chính xác.

Hiệu suất và so sánh

Một trong những tính năng tuyệt vời của framework Ultralytics là khả năng so sánh các mô hình khác nhau cạnh nhau. Bạn có thể dễ dàng xác định mô hình nào hoạt động tốt nhất cho ứng dụng cụ thể của mình bằng cách xem xét các số liệu hiệu suất như tốc độ suy luận và độ chính xác trung bình (mAP).

Những điểm chính

Ultralytics giúp bạn cực kỳ dễ dàng chạy các mô hình phát hiện và phân đoạn đối tượng chỉ với một vài dòng code. Cho dù bạn đang làm việc trên các ứng dụng thời gian thực hay cần các mô hình có độ chính xác cao, Ultralytics đều có giải pháp cho bạn. Hãy nhớ xem hướng dẫn đầy đủ của Nicolai Nielsen trên kênh YouTube của Ultralytics để biết thêm thông tin và ví dụ chi tiết.

Hãy theo dõi để biết thêm các hướng dẫn và cập nhật từ cộng đồng Ultralytics!

Hãy cùng nhau xây dựng tương lai
của AI!

Bắt đầu hành trình của bạn với tương lai của học máy

Bắt đầu miễn phí
Đã sao chép liên kết vào clipboard