Ultralytics YOLO27:

Bộ dữ liệu MNIST#

Bộ dữ liệu MNIST (Viện Tiêu chuẩn và Công nghệ Quốc gia được sửa đổi) là một benchmark phân loại ảnh gồm 70.000 ảnh thang độ xám 28x28 pixel của các chữ số viết tay, trải rộng trên 10 lớp — các chữ số từ 0 đến 9. Bộ dữ liệu đi kèm một phân tách được xác định trước gồm 60.000 ảnh huấn luyện và 10.000 ảnh kiểm thử, từ lâu đã được sử dụng làm benchmark tiêu chuẩn để đánh giá các thuật toán machine learningthị giác máy tính. Với phiên bản ảnh quần áo khó hơn, hãy xem bộ dữ liệu Fashion-MNIST liên quan; với ảnh màu, hãy xem CIFAR-10.

Khám phá MNIST trên Ultralytics Platform để xem trước các mẫu, kiểm tra thống kê bộ dữ liệu và nhân bản bộ dữ liệu để huấn luyện.

Tính năng chính#

  • MNIST chứa 60.000 ảnh huấn luyện và 10.000 ảnh kiểm thử của các chữ số viết tay, tổng cộng 70.000 ảnh.
  • Mỗi ảnh là một ảnh thang độ xám 28x28 của một chữ số đơn, được chuẩn hóa và khử răng cưa trong một bounding box cố định 28x28.
  • 10 lớp bao gồm các chữ số từ 0–9, với số lượng ảnh trên mỗi lớp tương đối cân bằng.
  • Bộ dữ liệu đi kèm phân tách train/test được xác định trước, nên không cần phân tách thủ công hoặc tự động.
  • MNIST là benchmark tiêu chuẩn cho nghiên cứu phân loại ảnhdeep learning.

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

MNIST đi kèm phân tách chính thức được xác định trước, nên không cần phân vùng tự động hoặc thủ công:

  • Các lớp: 10 (các chữ số viết tay 0–9)
  • Tổng số ảnh: 70.000 (thang độ xám 28x28)
  • Tập huấn luyện: 60.000 ảnh
  • Tập kiểm thử: 10.000 ảnh
Tập validation

MNIST không có thư mục validation riêng, vì vậy theo mặc định, Ultralytics sử dụng tập kiểm thử gồm 10.000 ảnh làm phân tách validation trong quá trình huấn luyện.

Mỗi ảnh được gán nhãn bằng chữ số tương ứng (0–9), khiến MNIST trở thành một bộ dữ liệu có giám sát, phù hợp cho các tác vụ phân loại.

Ứng dụng#

MNIST được sử dụng rộng rãi để huấn luyện và đánh giá các model phân loại ảnh, từ Mạng nơ-ron tích chập (CNNs) và Máy vector hỗ trợ (SVMs) kinh điển đến các kiến trúc deep learning hiện đại. Những ảnh thang độ xám nhỏ và 10 lớp chữ số khiến MNIST trở thành benchmark nhanh, có khả năng tái lập để so sánh thuật toán và thử nghiệm thị giác máy tính.

Một số ứng dụng phổ biến gồm:

  • Benchmark các thuật toán phân loại mới
  • Mục đích giáo dục nhằm giảng dạy các khái niệm machine learning
  • Tạo prototype cho các hệ thống nhận dạng ảnh
  • Kiểm thử các kỹ thuật tối ưu hóa model

Cách sử dụng#

Huấn luyện một model phân loại YOLO trên MNIST trong 100 epoch với kích thước ảnh là 28. Bộ dữ liệu sẽ tự động được tải xuống và lưu vào cache trong lần sử dụng đầu tiên; nếu muốn toàn quyền kiểm soát quá trình preprocessing, bạn cũng có thể tải các archive gzip gốc từ cơ sở dữ liệu MNIST. Để xem danh sách đầy đủ các argument khả dụng, hãy tham khảo trang Huấn luyện và hướng dẫn về tác vụ phân loại ảnh.

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="mnist", epochs=100, imgsz=28)
Kiểm thử nhanh với MNIST160

Ultralytics cũng cung cấp data="mnist160", một lát cắt gồm 160 ảnh, chứa tám ảnh đầu tiên của mỗi chữ số (0–9) từ cả hai phân tách train và test. Lát cắt này phản ánh cấu trúc thư mục MNIST, vì vậy bạn có thể thay thế bộ dữ liệu mà không cần thay đổi bất kỳ argument nào khác — rất phù hợp cho các pipeline CI hoặc kiểm tra sanity trước khi sử dụng bộ dữ liệu đầy đủ gồm 70.000 ảnh.

yolo classify train data=mnist160 model=yolo26n-cls.pt epochs=5 imgsz=28

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

Ảnh mẫu từ bộ dữ liệu MNIST:

Các mẫu từ bộ dữ liệu phân loại chữ số viết tay MNIST

Các mẫu cho thấy nhiều kiểu chữ viết tay mà bộ dữ liệu ghi nhận trong 10 lớp chữ số.

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

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

Trích dẫn
@article{lecun2010mnist,
         title={MNIST handwritten digit database},
         author={LeCun, Yann and Cortes, Corinna and Burges, CJ},
         journal={ATT Labs [Online]},
         volume={2},
         year={2010}
}

Chúng tôi xin ghi nhận công lao của Yann LeCun, Corinna Cortes và Christopher J.C. Burges trong việc tạo và duy trì bộ dữ liệu MNIST như một tài nguyên giá trị cho cộng đồng nghiên cứu machine learningthị giác máy tính. Để biết thêm thông tin về bộ dữ liệu MNIST và những người tạo ra bộ dữ liệu, hãy truy cập trang web bộ dữ liệu MNIST.

FAQ#

  • Bộ dữ liệu MNIST là một benchmark gồm 70.000 ảnh thang độ xám 28x28 pixel của các chữ số viết tay, được chia thành 60.000 ảnh huấn luyện và 10.000 ảnh kiểm thử trên 10 lớp từ 0–9. Đây là tham chiếu tiêu chuẩn để đánh giá các thuật toán phân loại ảnh — định dạng nhỏ và đồng nhất cho phép các nhà nghiên cứu và kỹ sư so sánh các phương pháp, theo dõi tiến độ với thiết lập tối thiểu, đó là lý do MNIST vẫn là benchmark ban đầu phổ biến trong machine learning.

  • MNIST có 10 lớp — các chữ số viết tay từ 0 đến 9 — và tổng cộng 70.000 ảnh thang độ xám, mỗi ảnh có kích thước 28x28 pixel. Bộ dữ liệu đi kèm phân tách được xác định trước gồm 60.000 ảnh huấn luyện và 10.000 ảnh kiểm thử, với số lượng mẫu trên mỗi chữ số tương đối đồng đều.

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

    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="mnist", epochs=100, imgsz=28)
  • MNIST đi kèm phân tách được xác định trước gồm 60.000 ảnh huấn luyện và 10.000 ảnh kiểm thử. Không giống các bộ dữ liệu phân loại dựa trên thư mục được Ultralytics tự động phân tách, phân vùng chính thức của MNIST được sử dụng nguyên trạng, và theo mặc định, tập kiểm thử đóng vai trò là phân tách validation trong quá trình huấn luyện.

  • Bộ dữ liệu MNIST chỉ chứa các chữ số viết tay, trong khi bộ dữ liệu Extended MNIST (EMNIST) bao gồm cả chữ số và chữ cái viết hoa, viết thường. EMNIST được phát triển như phiên bản kế nhiệm MNIST và sử dụng cùng định dạng 28x28 pixel, nhờ đó tương thích với các công cụ và model được thiết kế cho bộ dữ liệu MNIST gốc. Phạm vi ký tự rộng hơn này khiến EMNIST hữu ích cho nhiều ứng dụng machine learning hơn.

  • Có. Ultralytics Platform cho phép bạn tải bộ dữ liệu lên, huấn luyện các model phân loại ảnh và triển khai chúng mà không cần viết nhiều code. Đây là một cách thuận tiện để chạy các thử nghiệm MNIST trên cloud — xem tổng quan về các bộ dữ liệu phân loại để biết các tùy chọn liên quan.

  • MNIST đơn giản hơn nhiều bộ dữ liệu hiện đại như CIFAR-10 hoặc ImageNet, nên rất phù hợp cho người mới bắt đầu và thử nghiệm nhanh. Trong khi các bộ dữ liệu phức tạp hơn tạo ra thách thức lớn hơn với ảnh màu và các nhóm đối tượng đa dạng, MNIST vẫn có giá trị nhờ tính đơn giản, kích thước file nhỏ và ý nghĩa lịch sử trong quá trình phát triển các thuật toán machine learning. Để sử dụng một phiên bản thay thế trực tiếp khó hơn với cùng cấu trúc, hãy xem Fashion-MNIST, bộ dữ liệu có các mặt hàng quần áo thay vì chữ số.

Bình luận