Image Classification
Phân loại ảnh gán cho toàn bộ ảnh một nhãn trong tập lớp cố định. Tìm hiểu cách bộ phân loại chuyển pixel thành xác suất, các model chủ chốt và ứng dụng.
Phân loại ảnh là một tác vụ thị giác máy tính, trong đó model xem toàn bộ ảnh và gán cho ảnh một nhãn từ tập lớp cố định, kèm theo điểm độ tin cậy cho từng lớp. Tác vụ này trả lời câu hỏi "ảnh này chụp gì?": mèo hay chó, lỗi hay đạt, viêm phổi hay bình thường. Đây là tác vụ đơn giản nhất trong các tác vụ thị giác cốt lõi, đồng thời là nền tảng cho các tác vụ khác, vì backbone được huấn luyện trước để phân loại ảnh trên các dataset lớn có thể được tái sử dụng làm bộ trích xuất đặc trưng cho phát hiện và phân đoạn thông qua transfer learning.
Cách phân loại ảnh hoạt động#
Model phân loại chuyển pixel thành xác suất lớp qua ba giai đoạn. Backbone, có thể là mạng nơ-ron tích chập (CNN) hoặc Transformer thị giác (ViT), trích xuất đặc trưng qua từng lớp, từ cạnh và kết cấu ở các lớp đầu đến bộ phận và toàn bộ đối tượng ở các lớp sâu hơn. Bước pooling gộp các feature map cuối cùng thành một vector duy nhất tóm tắt toàn bộ ảnh. Sau đó, lớp kết nối đầy đủ tạo ra một điểm số, hay logit, cho mỗi lớp; hàm softmax chuyển các điểm số đó thành xác suất có tổng bằng 1.
Model học ánh xạ này thông qua học có giám sát trên ảnh đã gán nhãn, bằng cách tối thiểu hóa cross-entropy loss giữa xác suất dự đoán và lớp thực tế. Phân loại đơn nhãn (đa lớp) chọn chính xác một lớp cho mỗi ảnh bằng softmax. Phân loại đa nhãn, dùng khi ảnh có thể chứa nhiều đối tượng cùng lúc, chấm điểm riêng từng lớp bằng sigmoid và giữ lại mọi lớp vượt ngưỡng.
Model phân loại YOLO26 của Ultralytics, nhận biết qua hậu tố -cls, là các bộ phân loại đơn nhãn được pretrained trên ImageNet ở kích thước 224×224 pixel; model nhỏ nhất, YOLO26n-cls, đạt 71,4% độ chính xác top-1 với 2,8 triệu parameter. Các model này huấn luyện trên mọi dataset được sắp xếp theo cấu trúc mỗi lớp một thư mục ảnh:
from ultralytics import YOLO
# Load a YOLO26 classification model pretrained on the 1,000 ImageNet classes
model = YOLO("yolo26n-cls.pt")
# Classify the whole image
results = model("https://ultralytics.com/images/bus.jpg")
probs = results[0].probs
# Show the five most likely classes and their softmax probabilities
for class_id, confidence in zip(probs.top5, probs.top5conf.tolist()):
print(f"{results[0].names[class_id]}: {confidence:.2f}")Năm xác suất được tạo từ một phép softmax trên toàn bộ 1.000 lớp, thể hiện độ tin cậy của model đối với lựa chọn hàng đầu so với các lớp tương tự.
Phân loại, phát hiện và phân đoạn#
Phân loại mô tả toàn bộ ảnh mà không cho biết vị trí hoặc số lượng đối tượng:
- Phát hiện đối tượng: Tìm từng đối tượng, gán nhãn và xác định vị trí bằng bounding box, nhờ đó có thể đếm ba chiếc xe trong một bức ảnh.
- Phân đoạn ảnh: Gán nhãn cho pixel, vẽ chính xác đường viền của từng đối tượng hoặc vùng.
- Nhận dạng ảnh: Thuật ngữ bao quát hơn chỉ việc xác định nội dung trong ảnh, thường được dùng rộng rãi như từ đồng nghĩa với phân loại.
Việc chọn tác vụ nào phụ thuộc vào mức độ chi tiết không gian mà ứng dụng cần:
Ứng dụng thực tế#
- Kiểm định sản xuất: Camera trên dây chuyền chụp ảnh từng linh kiện; model phân loại gán nhãn đạt hoặc không đạt để tự động loại bỏ sản phẩm lỗi.
- Phân loại ưu tiên y tế: Model phân loại ảnh X-quang ngực, ảnh tổn thương da và ảnh võng mạc thành bình thường hoặc bất thường để bác sĩ ưu tiên xem xét các ca khẩn cấp.
- Nông nghiệp: Nông dân chụp ảnh lá bằng điện thoại; model phân loại xác định bệnh cây trồng hoặc tình trạng thiếu chất dinh dưỡng.
- Sắp xếp nội dung: Thư viện ảnh và sàn giao dịch gắn thẻ hàng triệu hình ảnh theo bối cảnh và danh mục sản phẩm để có thể tìm kiếm và kiểm duyệt.
Benchmark và model#
Bộ phân loại được so sánh bằng độ chính xác top-1, tức tỷ lệ ảnh có lớp xác suất cao nhất là chính xác, và độ chính xác top-5, tức tỷ lệ ảnh có lớp đúng nằm trong năm lớp có khả năng cao nhất. Phân loại hiện đại bắt nguồn từ Thử thách Nhận dạng Hình ảnh Quy mô Lớn ImageNet, trong đó tập con 1.000 lớp với khoảng 1,28 triệu ảnh huấn luyện vẫn là benchmark tiêu chuẩn. Năm 2012, AlexNet giảm tỷ lệ lỗi top-5 xuống 15,3% từ mức 26,2% của đối thủ xếp thứ hai, mở đầu kỷ nguyên deep learning trong thị giác. ResNet giúp huấn luyện được các mạng có hơn 100 lớp vào năm 2015; đến năm 2020, Vision Transformer cho thấy model dựa trên attention có thể ngang bằng hoặc vượt CNN khi được pretrained trên 14 triệu đến 300 triệu ảnh.










