Ultralytics YOLO27:

Bộ dữ liệu ImageWoof#

Bộ dữ liệu ImageWoof là một tập con của ImageNet, gồm 10 lớp giống chó được cố ý lựa chọn vì khó phân biệt, do [fast.ai](https://ultralytics-translation-2.invalid tạo ra như một thử thách khó hơn cho các thuật toán phân loại ảnh. Bộ dữ liệu chứa 12.954 ảnh màu — 9.025 ảnh dùng để huấn luyện và 3.929 ảnh dùng để validation — thuộc các giống như Beagle, Shih-Tzu và Golden retriever, buộc các model phải phân biệt những khác biệt tinh tế ở mức độ chi tiết thay vì các nhóm đối tượng rõ ràng.

Tính năng chính#

  • ImageWoof chứa 12.954 ảnh thuộc 10 giống chó: Australian terrier, Border terrier, Samoyed, Beagle, Shih-Tzu, English foxhound, Rhodesian ridgeback, Dingo, Golden retriever và Old English sheepdog.
  • Bộ dữ liệu đi kèm với một phân tách được định nghĩa sẵn gồm 9.025 ảnh huấn luyện và 3.929 ảnh validation, có sẵn ở nhiều độ phân giải khác nhau (kích thước đầy đủ, 320px, 160px) để phù hợp với các ngân sách tính toán khác nhau.
  • Bộ dữ liệu cũng bao gồm một phiên bản có nhãn nhiễu, cung cấp một kịch bản thực tế hơn, trong đó nhãn không phải lúc nào cũng đáng tin cậy.

Cấu trúc bộ dữ liệu#

ImageWoof đi kèm với phân tách train/validation được định nghĩa sẵn, trong đó mỗi giống chó được lưu trong thư mục riêng:

SplitẢnhCác lớp
Huấn luyện9,02510
Validation3,92910

Vì cả 10 lớp đều là các giống chó, phân tách này được thiết kế để kiểm thử khả năng phân loại ở mức độ chi tiết — phân biệt các nhóm có ngoại hình tương tự — thay vì khả năng nhận dạng đối tượng tổng quát của toàn bộ bộ dữ liệu ImageNet.

Ứng dụng#

Bộ dữ liệu ImageWoof được sử dụng rộng rãi để huấn luyện và đánh giá các model deep learning trên những lớp phức tạp và tương đồng hơn. Thách thức của bộ dữ liệu nằm ở những khác biệt tinh tế giữa các giống chó, qua đó thúc đẩy giới hạn về hiệu năng và khả năng tổng quát hóa của model. Bộ dữ liệu đặc biệt hữu ích cho:

  • Đánh giá hiệu năng phân loại trên các danh mục ở mức độ chi tiết
  • Kiểm thử độ bền vững của model trước các lớp có ngoại hình tương tự
  • Phát triển các thuật toán có khả năng phân biệt những khác biệt tinh tế về hình ảnh
  • Đánh giá transfer learning từ các miền tổng quát sang các miền chuyên biệt

Cách sử dụng#

Để huấn luyện model phân loại trên bộ dữ liệu ImageWoof trong 100 epoch với kích thước ảnh 224x224, hãy sử dụng các đoạn code bên dưới. Để xem danh sách đầy đủ các tham số hiện có, hãy tham khảo trang Training của model.

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

# Load a model
model = YOLO("yolo26n-cls.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="imagewoof", epochs=100, imgsz=224)

Các biến thể của bộ dữ liệu#

ImageWoof có ba kích thước để đáp ứng các nhu cầu nghiên cứu và ngân sách tính toán khác nhau:

  1. Kích thước đầy đủ (imagewoof): Phiên bản gốc với ảnh có kích thước đầy đủ, lý tưởng cho huấn luyện cuối cùng và benchmark hiệu năng.
  2. Kích thước trung bình (imagewoof320): Ảnh được thay đổi kích thước sao cho cạnh dài nhất là 320 pixel, phù hợp để huấn luyện nhanh hơn mà không làm giảm đáng kể hiệu năng của model.
  3. Kích thước nhỏ (imagewoof160): Ảnh được thay đổi kích thước sao cho cạnh dài nhất là 160 pixel, được thiết kế cho việc tạo prototype và thử nghiệm nhanh khi tốc độ huấn luyện là ưu tiên.

Để sử dụng các biến thể này, chỉ cần thay imagewoof trong đối số dataset bằng imagewoof320 hoặc imagewoof160. Ví dụ:

Ví dụ
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-cls.pt")  # load a pretrained model (recommended for training)

# For medium-sized dataset
model.train(data="imagewoof320", epochs=100, imgsz=224)

# For small-sized dataset
model.train(data="imagewoof160", epochs=100, imgsz=224)

Lưu ý rằng ảnh nhỏ hơn có thể cho độ chính xác phân loại thấp hơn, nhưng đây là cách tuyệt vời để lặp nhanh trong các giai đoạn đầu của quá trình phát triển model. Bạn cũng có thể quản lý các dataset phân loại và chạy huấn luyện trên cloud với Ultralytics Platform.

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

Bộ dữ liệu ImageWoof chứa các ảnh đầy màu sắc của nhiều giống chó khác nhau, cung cấp một dataset đầy thách thức cho các tác vụ phân loại ảnh. Dưới đây là một số ví dụ về ảnh trong bộ dữ liệu:

Các mẫu trong bộ dữ liệu phân loại giống chó ImageWoof

Ví dụ này cho thấy những điểm khác biệt và tương đồng tinh tế giữa các giống chó, làm nổi bật mức độ phức tạp và khó khăn của tác vụ phân loại.

Trích dẫn và ghi nhận đóng góp#

Nếu sử dụng bộ dữ liệu ImageWoof trong công việc nghiên cứu hoặc phát triển, vui lòng ghi nhận các tác giả của bộ dữ liệu bằng cách liên kết đến repository chính thức của bộ dữ liệu.

Chúng tôi xin ghi nhận đội ngũ fast.ai đã tạo và duy trì ImageWoof như một tài nguyên có giá trị cho cộng đồng nghiên cứu machine learningcomputer vision. Để biết thêm thông tin về ImageWoof, hãy truy cập repository bộ dữ liệu ImageWoof.

FAQ#

  • Bộ dữ liệu ImageWoof là một tập con đầy thách thức của ImageNet, tập trung vào 10 giống chó và chứa 12.954 ảnh (9.025 ảnh huấn luyện và 3.929 ảnh validation). Do fast.ai tạo ra để đẩy giới hạn của các model phân loại ảnh, bộ dữ liệu có các giống như Beagle, Shih-Tzu và Golden retriever. Bộ dữ liệu có sẵn ở nhiều độ phân giải (kích thước đầy đủ, 320px, 160px) và thậm chí bao gồm các nhãn nhiễu cho những kịch bản huấn luyện thực tế hơn, khiến bộ dữ liệu trở nên lý tưởng để phát triển các model deep learning nâng cao.

  • ImageWoof chứa tổng cộng 12.954 ảnh — 9.025 ảnh dùng để huấn luyện và 3.929 ảnh dùng để validation — thuộc 10 giống chó: Australian terrier, Border terrier, Samoyed, Beagle, Shih-Tzu, English foxhound, Rhodesian ridgeback, Dingo, Golden retriever và Old English sheepdog. Mỗi giống được lưu trong thư mục riêng, tuân theo bố cục phân loại tiêu chuẩn mà Ultralytics yêu cầu.

  • Để huấn luyện model phân loại trên bộ dữ liệu ImageWoof bằng Ultralytics YOLO trong 100 epoch với kích thước ảnh 224x224, hãy sử dụng đoạn code sau:

    Ví dụ huấn luyện
    from ultralytics import YOLO
    
    model = YOLO("yolo26n-cls.pt")  # Load a pretrained model
    results = model.train(data="imagewoof", epochs=100, imgsz=224)

    Để biết thêm chi tiết về các tham số huấn luyện hiện có, hãy tham khảo trang Training.

  • Bộ dữ liệu ImageWoof có ba kích thước:

    1. Kích thước đầy đủ (imagewoof): Lý tưởng cho huấn luyện cuối cùng và benchmark, chứa các ảnh có kích thước đầy đủ.
    2. Kích thước trung bình (imagewoof320): Ảnh được thay đổi kích thước với cạnh dài nhất là 320 pixel, phù hợp để huấn luyện nhanh hơn.
    3. Kích thước nhỏ (imagewoof160): Ảnh được thay đổi kích thước với cạnh dài nhất là 160 pixel, rất phù hợp cho việc tạo prototype nhanh.

    Sử dụng các phiên bản này bằng cách thay imagewoof trong đối số dataset tương ứng. Lưu ý rằng ảnh nhỏ hơn có thể cho độ chính xác phân loại thấp hơn nhưng hữu ích cho việc lặp nhanh hơn.

  • Các nhãn nhiễu trong bộ dữ liệu ImageWoof mô phỏng những điều kiện thực tế, trong đó nhãn không phải lúc nào cũng chính xác. Huấn luyện model với dữ liệu này giúp phát triển độ bền vững và khả năng tổng quát hóa trong các tác vụ phân loại ảnh. Dữ liệu này giúp model sẵn sàng xử lý hiệu quả dữ liệu mơ hồ hoặc bị gán nhãn sai, vốn thường xuất hiện trong các ứng dụng thực tế.

  • Thách thức chính của ImageWoof nằm ở những khác biệt tinh tế giữa các giống chó mà bộ dữ liệu bao gồm. Vì tập trung vào 10 giống có quan hệ gần gũi, việc phân biệt chúng đòi hỏi các model phân loại ảnh tiên tiến và được tinh chỉnh kỹ hơn. Điều này khiến ImageWoof trở thành một benchmark xuất sắc để kiểm thử năng lực và những cải tiến của các model deep learning.

Bình luận