Ultralytics YOLO27:
Get Started

Bộ dữ liệu Caltech-101#

Bộ dữ liệu Caltech-101 là benchmark kinh điển cho phân loại ảnh, gồm 9.144 hình ảnh thuộc 101 danh mục đối tượng và một class nền. Mỗi danh mục có khoảng 40 đến 800 hình ảnh về các đối tượng trong thế giới thực — động vật, phương tiện, đồ gia dụng và con người — tạo nên một benchmark gọn nhẹ nhưng đầy thách thức cho các model nhận dạng đối tượng.

Khám phá Caltech-101 trên Ultralytics Platform để xem trước mẫu, kiểm tra thống kê bộ dữ liệu và sao chép bộ dữ liệu để huấn luyện.



Xem: Cách huấn luyện model Phân loại ảnh bằng dataset Caltech-101 với Ultralytics Platform
Tự động chia dữ liệu

Caltech-101 không có sẵn tập train/validation được xác định trước. Các lệnh huấn luyện bên dưới sẽ tự động chia dữ liệu theo tỷ lệ 80% train / 20% validation, nên không cần chuẩn bị thủ công.

Tính năng chính#

  • Caltech-101 có 9.144 hình ảnh màu thuộc 101 danh mục đối tượng và một class BACKGROUND_Google (tổng cộng 102 thư mục class).
  • Các danh mục bao gồm nhiều loại đối tượng trong thế giới thực, như động vật, phương tiện, đồ gia dụng và con người.
  • Mỗi danh mục có khoảng 40 đến 800 hình ảnh, do đó số lượng hình ảnh giữa các class không đồng đều.
  • Kích thước hình ảnh thay đổi; phần lớn có kích thước khoảng 300x200 pixel (độ phân giải trung bình).
  • Caltech-101 được sử dụng rộng rãi để benchmark các thuật toán phân loại ảnh và nhận dạng đối tượng.

Cấu trúc dataset#

Caltech-101 được phân phối dưới dạng 102 thư mục — mỗi class một thư mục, bao gồm 101 danh mục đối tượng và một class BACKGROUND_Google — nhưng không có tập train/validation được xác định trước. Khi bắt đầu huấn luyện, Ultralytics tự động phân vùng hình ảnh để model huấn luyện trên cả 102 class mà không cần thiết lập thủ công:

  • Class: 102 (101 danh mục đối tượng + 1 nền)
  • Tổng số hình ảnh: 9.144
  • Chia tập train/validation: tự động 80% / 20% (≈7.280 train, ≈1.864 validation)
  • Số ảnh mỗi lớp: khoảng 40 đến 800 (không cân bằng)

Ứng dụng#

Caltech-101 được sử dụng rộng rãi để huấn luyện và đánh giá các model phân loại ảnh và nhận dạng đối tượng, bao gồm Mạng nơ-ron tích chập (CNNs) và Máy vector hỗ trợ (SVMs). Phạm vi danh mục rộng cùng các ảnh được gán nhãn rõ ràng khiến bộ dữ liệu này trở thành benchmark phổ biến cho nghiên cứu và tạo mẫu machine learning và thị giác máy tính.

Cách sử dụng#

Huấn luyện model YOLO trên Caltech-101 trong 100 epoch với kích thước ảnh là 416. Để xem danh sách đầy đủ các tham số hiện có, hãy tham khảo trang Huấn luyện và hướng dẫn tác vụ phân loại ảnh.

Ví dụ huấn luyện
from ultralytics import YOLO

# Tải model
model = YOLO("yolo26n-cls.pt")  # tải model đã huấn luyện trước (được khuyến nghị khi huấn luyện)

# Huấn luyện model
results = model.train(data="caltech101", epochs=100, imgsz=416)

Hình ảnh mẫu và annotation#

Bộ dữ liệu Caltech-101 chứa các ảnh màu chất lượng cao về nhiều đối tượng khác nhau, tạo nên bộ dữ liệu có cấu trúc tốt cho các tác vụ phân loại ảnh. Dưới đây là một số ảnh ví dụ từ bộ dữ liệu:

Các mẫu trong bộ dữ liệu phân loại ảnh Caltech-101

Các mẫu cho thấy sự đa dạng về danh mục và cách đóng khung tự nhiên, đặt đối tượng ở giữa, thường thấy trong Caltech-101; nhờ đó, bộ dữ liệu này là điểm khởi đầu gọn gàng để huấn luyện các model nhận dạng đối tượng mạnh mẽ.

Trích dẫn và lời cảm ơn#

Nếu sử dụng bộ dữ liệu Caltech-101 trong nghiên cứu hoặc công việc phát triển, vui lòng trích dẫn bài báo sau:

Trích dẫn
@article{fei2007learning,
  title={Learning generative visual models from few training examples: An incremental Bayesian approach tested on 101 object categories},
  author={Fei-Fei, Li and Fergus, Rob and Perona, Pietro},
  journal={Computer vision and Image understanding},
  volume={106},
  number={1},
  pages={59--70},
  year={2007},
  publisher={Elsevier}
}

Chúng tôi xin ghi nhận công lao của Li Fei-Fei, Rob Fergus và Pietro Perona trong việc tạo và duy trì bộ dữ liệu Caltech-101 như một tài nguyên quý giá cho cộng đồng nghiên cứu machine learning và thị giác máy tính. Để biết thêm thông tin về bộ dữ liệu Caltech-101 và những người tạo ra bộ dữ liệu, hãy truy cập trang web bộ dữ liệu Caltech-101.

Câu hỏi thường gặp#

  • Bộ dữ liệu Caltech-101 được sử dụng rộng rãi để huấn luyện và đánh giá chuẩn các model phân loại ảnh và nhận dạng đối tượng. Bộ dữ liệu này chứa 9.144 ảnh thuộc 101 danh mục đối tượng cùng một lớp nền, tạo nên benchmark đầy thách thức để đánh giá các thuật toán như Mạng nơ-ron tích chập (CNNs) và Máy vector hỗ trợ (SVMs).

  • Để huấn luyện model Ultralytics YOLO trên Caltech-101, hãy sử dụng các đoạn mã bên dưới. Bộ dữ liệu sẽ tự động tải xuống trong lần sử dụng đầu tiên. Để xem danh sách đầy đủ các tham số, hãy tham khảo trang Huấn luyện của model.

    Ví dụ huấn luyện
    from ultralytics import YOLO
    
    # Tải model
    model = YOLO("yolo26n-cls.pt")  # tải model đã huấn luyện trước (được khuyến nghị khi huấn luyện)
    
    # Huấn luyện model
    results = model.train(data="caltech101", epochs=100, imgsz=416)
  • Caltech-101 có 101 danh mục đối tượng cùng một lớp BACKGROUND_Google, tổng cộng 102 thư mục lớp và 9.144 ảnh. Khi huấn luyện bằng Ultralytics, model sẽ học cả 102 lớp. Số lượng ảnh mỗi danh mục không cân bằng, dao động từ khoảng 40 đến 800 ảnh.

  • Caltech-101 không có phân chia sẵn. Trong lần huấn luyện đầu tiên, Ultralytics tự động chia bộ dữ liệu thành 80% huấn luyện / 20% validation — khoảng 7.280 ảnh huấn luyện và 1.864 ảnh validation — nên bạn không cần tự tạo các tập dữ liệu. Để tự kiểm soát việc phân chia, hãy sắp xếp ảnh vào các thư mục train/ và val/ trước khi huấn luyện.

  • Có. Ultralytics Platform cho phép bạn quản lý bộ dữ liệu, huấn luyện model phân loại ảnh và triển khai model mà không cần viết nhiều mã. Đây là cách thuận tiện để chạy thử nghiệm với Caltech-101 trên cloud; bạn cũng có thể tìm hiểu thêm các tùy chọn trong tổng quan về bộ dữ liệu phân loại của chúng tôi.

Bình luận