Trích xuất kết quả đầu ra từ Ultralytics YOLOv8
Khám phá cách tối ưu hóa các dự án thị giác máy tính của bạn với Ultralytics YOLOv8. Hướng dẫn này bao gồm mọi thứ về YOLOv8 từ thiết lập đến trích xuất kết quả và triển khai thực tế.

Trong lĩnh vực thị giác máy tính không ngừng thay đổi, Ultralytics YOLOv8 nổi bật là một mô hình hàng đầu cho các tác vụ như detection, segmentation và tracking. Dù bạn là một lập trình viên kỳ cựu hay người mới bắt đầu với trí tuệ nhân tạo (AI), việc hiểu cách trích xuất kết quả từ YOLOv8 một cách hiệu quả có thể cải thiện đáng kể các dự án của bạn. Bài viết blog này đi sâu vào các bước thực tế để trích xuất và sử dụng kết quả từ mô hình YOLOv8.
Cài đặt Ultralytics YOLOv8#
Trước khi đi sâu vào việc trích xuất kết quả, điều quan trọng là model Ultralytics YOLOv8 của bạn đã được thiết lập và sẵn sàng chạy. Nếu bạn là người mới, bạn có thể xem các video trước của chúng tôi, nơi chúng tôi đề cập đến các kiến thức cơ bản về cài đặt và sử dụng các YOLO model cho các tác vụ computer vision khác nhau. Để bắt đầu trích xuất kết quả, hãy đảm bảo model của bạn được cấu hình chính xác:
- Khởi tạo Model: Khởi tạo model Ultralytics YOLOv8 một cách phù hợp, đảm bảo bạn chọn đúng cấu hình model phù hợp với nhu cầu cụ thể của mình, cho dù đó là object detection hay các tác vụ phức tạp hơn như pose estimation.
- Chạy Inference: Nhập dữ liệu của bạn qua model để thực hiện inference. Quá trình này sẽ tạo ra một đối tượng kết quả (results object), là chìa khóa để bạn truy cập tất cả dữ liệu phát hiện.
Hiểu về đối tượng kết quả (results object)#
Đối tượng kết quả trong Ultralytics YOLOv8 là một kho tàng thông tin. Nó chứa tất cả dữ liệu detection mà bạn cần để tiếp tục dự án của mình, bao gồm:
- Bounding Boxes: Sử dụng
results.boxesđể truy cập tọa độ của các đối tượng được phát hiện. - Masks and Keypoints: Truy cập các mặt nạ phân đoạn và các điểm đặc trưng để ước tính tư thế lần lượt bằng cách sử dụng
results.masksvàresults.keypoints. - Class Probabilities:
results.probscung cấp xác suất của từng lớp được phát hiện, hữu ích cho việc lọc các phát hiện dựa trên điểm số tin cậy.
Trích xuất dữ liệu cho mục đích tùy chỉnh#
Để sử dụng các kết quả đầu ra này trong ứng dụng của bạn, hãy làm theo các bước sau:
- Chuyển đổi dữ liệu để xử lý: Nếu bạn đang chạy model trên GPU, hãy chuyển đổi kết quả đầu ra sang định dạng CPU bằng cách sử dụng .cpu() để xử lý thêm.
- Truy cập tọa độ Bbox: Truy xuất và thao tác trực tiếp với tọa độ bbox từ đối tượng kết quả. Điều này bao gồm việc truy cập các tọa độ đã chuẩn hóa hoặc các thuộc tính cụ thể như chiều rộng và chiều cao.
- Xử lý phân loại: Trích xuất các phân loại hàng đầu để sử dụng ID lớp và điểm số tin cậy một cách hiệu quả.
Ứng dụng thực tế trong code#
Chuyển từ lý thuyết sang thực hành, Nicolai Nielsen trình bày cách triển khai các khái niệm này trong một script Python tùy chỉnh bằng cách sử dụng Visual Studio Code. Script này bao gồm:
- Thiết lập một Class Detection: Khởi tạo và cấu hình model Ultralytics YOLOv8 của bạn trong một cấu trúc class, chuẩn bị cho việc đầu vào dữ liệu trực tiếp.
- Trích xuất kết quả: Chạy phát hiện và trích xuất các bbox, mask và phân loại trực tiếp từ đối tượng kết quả.
- Sử dụng kết quả đầu ra: Chuyển đổi kết quả thành các định dạng có thể sử dụng như JSON hoặc CSV, hoặc sử dụng trực tiếp để vẽ bbox lên hình ảnh hoặc luồng video.
Trực quan hóa và hơn thế nữa#
Mặc dù việc trích xuất dữ liệu thô là rất quan trọng, nhưng việc trực quan hóa các kết quả phát hiện này có thể cung cấp thông tin chi tiết tức thì về hiệu suất của model:
- Vẽ hình chữ nhật: Sử dụng dữ liệu bbox để vẽ các hình chữ nhật xung quanh các đối tượng được phát hiện trong kết quả hình ảnh hoặc video.
- Vẽ Trực tiếp: Sử dụng các hàm vẽ tích hợp sẵn của Ultralytics YOLOv8 để trực quan hóa các detection trực tiếp mà không cần viết thêm code.
Mở rộng bộ công cụ AI của bạn với Ultralytics YOLOv8#
Làm chủ việc trích xuất đầu ra của Ultralytics YOLOv8 không chỉ nâng cao năng lực dự án của bạn mà còn làm sâu sắc thêm hiểu biết của bạn về các hệ thống object detection.
Bằng cách làm theo các bước này, bạn có thể khai thác toàn bộ sức mạnh của Ultralytics YOLOv8 để điều chỉnh các detection theo nhu cầu cụ thể của mình, cho dù là trong việc phát triển các ứng dụng hướng tới AI tiên tiến hay tiến hành phân tích dữ liệu mạnh mẽ.
Hãy theo dõi để biết thêm nhiều hướng dẫn giúp bạn tận dụng tối đa tiềm năng của Ultralytics YOLOv8 và các công nghệ AI khác. Biến kiến thức lý thuyết của bạn thành kỹ năng thực tế, đồng thời hiện thực hóa các dự án computer vision của bạn với độ chính xác và hiệu quả cao. Tham gia cộng đồng của chúng tôi để cập nhật mọi thông tin phát triển mới nhất cũng như xem tài liệu của chúng tôi để tìm hiểu thêm!
Xem toàn bộ video Watch the full video!






