Image Classification
Khám phá các nguyên tắc cơ bản về phân loại hình ảnh, từ CNN đến các ứng dụng AI trong thế giới thực. Tìm hiểu cách huấn luyện và triển khai các bộ phân loại hiện đại với Ultralytics YOLO26.
Image classification là một tác vụ nền tảng trong computer vision (CV) nơi một model machine learning phân tích toàn bộ một hình ảnh và gán cho nó một nhãn duy nhất từ một tập hợp danh mục được định nghĩa trước. Về cơ bản, nó trả lời cho câu hỏi, "Chủ đề chính của bức ảnh này là gì?" Là một thành phần cốt lõi của artificial intelligence (AI), quá trình này cho phép các hệ thống tự động sắp xếp, phân loại và diễn giải dữ liệu trực quan ở quy mô lớn. Mặc dù có vẻ đơn giản đối với mắt người, nhưng việc cho phép máy tính nhận dạng các mẫu đòi hỏi các thuật toán machine learning (ML) tinh vi để thu hẹp khoảng cách giữa các pixel thô và các khái niệm có ý nghĩa.
Cơ chế đằng sau việc phân loại#
Image classification hiện đại phụ thuộc rất nhiều vào các kiến trúc deep learning (DL) được gọi là Convolutional Neural Networks (CNNs). Các mạng này được thiết kế để bắt chước cách vỏ não thị giác sinh học xử lý thông tin. Thông qua một quá trình gọi là feature extraction, model học cách xác định các thuộc tính cấp thấp như cạnh và kết cấu ở các lớp đầu, cuối cùng kết hợp chúng để nhận dạng các hình dạng và đối tượng phức tạp ở các lớp sâu hơn.
Để xây dựng một classifier, các lập trình viên sử dụng supervised learning, đưa vào model lượng lớn training data chứa các ví dụ có nhãn. Các tập dữ liệu công khai lớn như ImageNet đóng vai trò quan trọng trong việc nâng cao độ chính xác của các hệ thống này. Trong giai đoạn inference, model xuất ra một điểm số xác suất cho từng danh mục, thường tận dụng softmax function để xác định lớp có khả năng cao nhất.
Phân loại so với các tác vụ thị giác khác#
Việc phân biệt phân loại hình ảnh với các khả năng computer vision liên quan là rất quan trọng, vì việc lựa chọn kỹ thuật phụ thuộc vào vấn đề cụ thể:
- Classification vs. Object Detection: Classification gán một nhãn cho toàn bộ hình ảnh. Ngược lại, object detection xác định vị trí của nhiều đối tượng trong một cảnh bằng cách vẽ một bounding box xung quanh từng đối tượng.
- Classification vs. Image Segmentation: Trong khi classification xem xét bối cảnh tổng thể, segmentation cung cấp độ chính xác ở cấp độ pixel. Semantic segmentation phân loại mọi pixel riêng lẻ, cho phép phân định ranh giới chính xác giữa các đối tượng và nền.
Các ứng dụng trong thực tế#
Image classification cung cấp năng lượng cho một loạt các real-world AI applications trên nhiều ngành công nghiệp đa dạng:
Chẩn đoán y tế#
Trong lĩnh vực y tế, các classification model hỗ trợ các bác sĩ X-quang bằng cách phân tích các bản quét chẩn đoán. Các công cụ Medical image analysis có thể nhanh chóng phân loại ảnh chụp X-quang hoặc MRI là "bình thường" hoặc "bất thường", hoặc xác định các tình trạng cụ thể như tumor detection, cho phép phân loại và chẩn đoán bệnh nhân nhanh hơn.
Kiểm soát chất lượng trong sản xuất#
Các nhà máy sử dụng kiểm tra thị giác tự động để duy trì các tiêu chuẩn sản phẩm. Các camera trên dây chuyền lắp ráp chụp ảnh các linh kiện và các classification model ngay lập tức gán nhãn cho chúng là "đạt" hoặc "không đạt" dựa trên các lỗi nhìn thấy được. quality control tự động này đảm bảo chỉ những mặt hàng không bị lỗi mới đến giai đoạn đóng gói.
Nông nghiệp thông minh#
Nông dân tận dụng AI in agriculture để theo dõi sức khỏe cây trồng. Bằng cách phân loại hình ảnh được chụp bằng máyfly hoặc điện thoại thông minh, các hệ thống có thể xác định các dấu hiệu bệnh tật, thiếu chất dinh dưỡng hoặc sự xâm nhập của dịch hại, cho phép các can thiệp precision agriculture có mục tiêu.
Triển khai phân loại với YOLO26#
Khung Ultralytics YOLO26, mặc dù nổi tiếng về detection, nhưng mang lại hiệu suất tối tân cho các image classification tasks. Kiến trúc của nó được tối ưu hóa cho tốc độ và độ chính xác, làm cho nó phù hợp cho các ứng dụng thời gian thực.
Dưới đây là một ví dụ ngắn gọn về cách tải một pre-trained model và phân loại một hình ảnh bằng cách sử dụng gói ultralytics Python:
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Run inference on an image source
results = model("https://ultralytics.com/images/bus.jpg")
# Print the top predicted class name
print(f"Prediction: {results[0].names[results[0].probs.top1]}")Đối với các nhóm muốn hợp lý hóa quy trình làm việc của họ, Ultralytics Platform đơn giản hóa toàn bộ đường ống. Nó cho phép người dùng quản lý classification datasets, thực hiện training trên đám mây và triển khai model sang các định dạng khác nhau như ONNX hoặc TensorRT mà không cần cơ sở hạ tầng lập trình phức tạp.






