Dataset MNIST
O dataset MNIST (Modified National Institute of Standards and Technology) é uma grande base de dados de dígitos escritos à mão, comumente usada para treinar vários sistemas de processamento de imagem e modelos de machine learning. Ele foi criado ao "remisturar" amostras dos datasets originais do NIST e tornou-se um padrão de referência para avaliar o desempenho de algoritmos de classificação de imagem.
Principais recursos
- O MNIST contém 60.000 imagens de treino e 10.000 imagens de teste de dígitos escritos à mão.
- O dataset compreende imagens em tons de cinza com tamanho de 28×28 pixels.
- As imagens são normalizadas para caber em uma bounding box de 28×28 pixels e suavizadas (anti-aliased), introduzindo níveis de tons de cinza.
- O MNIST é amplamente utilizado para treino e teste no campo de machine learning, especialmente para tarefas de classificação de imagem.
Estrutura do Dataset
O dataset MNIST é dividido em dois subconjuntos:
- Conjunto de Treino: Este subconjunto contém 60.000 imagens de dígitos escritos à mão usadas para treinar modelos de machine learning.
- Conjunto de Testes: Este subconjunto consiste em 10.000 imagens usadas para testar e avaliar os modelos treinados.
Acesso ao Dataset
- Arquivos originais: Baixa os arquivos gzip do arquivo original do MNIST se quiseres controle direto sobre o pré-processamento.
- Carregador Ultralytics: Usa
data="mnist"(oudata="mnist160"para o subconjunto abaixo) no teu comando e o dataset será baixado, convertido para PNG e armazenado em cache automaticamente.
Cada imagem no dataset é rotulada com o dígito correspondente (0-9), tornando-o um dataset de aprendizagem supervisionada ideal para tarefas de classificação.
Extended MNIST (EMNIST)
O Extended MNIST (EMNIST) é um dataset mais recente desenvolvido e lançado pelo NIST para ser o sucessor do MNIST. Enquanto o MNIST incluía imagens apenas de dígitos escritos à mão, o EMNIST inclui todas as imagens da NIST Special Database 19, que é uma grande base de dados de letras maiúsculas e minúsculas escritas à mão, bem como dígitos. As imagens no EMNIST foram convertidas para o mesmo formato de 28×28 pixels, pelo mesmo processo que as imagens do MNIST. Assim, ferramentas que funcionam com o dataset MNIST mais antigo e menor provavelmente funcionarão sem modificações com o EMNIST.
Aplicações
O dataset MNIST é amplamente utilizado para treinar e avaliar modelos de deep learning em tarefas de classificação de imagem, tais como Convolutional Neural Networks (CNNs), Support Vector Machines (SVMs) e vários outros algoritmos de machine learning. O formato simples e bem estruturado do dataset torna-o um recurso essencial para investigadores e profissionais no campo de machine learning e computer vision.
Algumas aplicações comuns incluem:
- Avaliação comparativa (benchmarking) de novos algoritmos de classificação
- Propósitos educacionais para ensinar conceitos de machine learning
- Prototipagem de sistemas de reconhecimento de imagem
- Testes de técnicas de otimização de modelos
Utilização
Para treinar um modelo CNN no dataset MNIST durante 100 epochs com um tamanho de imagem de 28×28, podes usar os seguintes trechos de código. Para uma lista completa de argumentos disponíveis, consulta a página de Treino do modelo.
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)Amostra de Imagens e Anotações
O dataset MNIST contém imagens em tons de cinza de dígitos escritos à mão, fornecendo um dataset bem estruturado para tarefas de classificação de imagem. Aqui estão alguns exemplos de imagens do dataset:

O exemplo demonstra a variedade e a complexidade dos dígitos escritos à mão no dataset MNIST, destacando a importância de um dataset diversificado para treinar modelos robustos de classificação de imagem.
Citações e Agradecimentos
Se usares o dataset MNIST na tua pesquisa ou trabalho de desenvolvimento, por favor cita o seguinte artigo:
@article{lecun2010mnist,
title={MNIST handwritten digit database},
author={LeCun, Yann and Cortes, Corinna and Burges, CJ},
journal={ATT Labs [Online]},
volume={2},
year={2010}
}Gostaríamos de agradecer a Yann LeCun, Corinna Cortes e Christopher J.C. Burges por criarem e manterem o dataset MNIST como um recurso valioso para a comunidade de pesquisa de machine learning e computer vision. Para mais informações sobre o dataset MNIST e os seus criadores, visita o site do dataset MNIST.
Testes Rápidos MNIST160
Precisas de um teste de regressão extremamente rápido? A Ultralytics também disponibiliza data="mnist160", uma fatia de 160 imagens contendo as oito primeiras amostras de cada classe de dígitos. Ele espelha a estrutura de diretórios do MNIST, por isso podes trocar datasets sem alterar outros argumentos:
yolo classify train data=mnist160 model=yolo26n-cls.pt epochs=5 imgsz=28Usa este subconjunto para pipelines de CI ou verificações de integridade antes de te comprometeres com o dataset completo de 70.000 imagens.
FAQ
O que é o dataset MNIST e por que é importante em machine learning?
O dataset MNIST, ou Modified National Institute of Standards and Technology, é uma coleção amplamente utilizada de dígitos escritos à mão concebida para treinar e testar sistemas de classificação de imagem. Inclui 60.000 imagens de treino e 10.000 imagens de teste, todas em tons de cinza e com 28×28 pixels de tamanho. A importância do dataset reside no seu papel como padrão de referência para avaliar algoritmos de classificação de imagem, ajudando investigadores e engenheiros a comparar métodos e acompanhar o progresso no campo.
Como posso usar o Ultralytics YOLO para treinar um modelo no dataset MNIST?
Para treinar um modelo no dataset MNIST usando o Ultralytics YOLO, podes seguir estes passos:
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)Para uma lista detalhada de argumentos de treino disponíveis, consulta a página de Treino.
Qual é a diferença entre os datasets MNIST e EMNIST?
O dataset MNIST contém apenas dígitos escritos à mão, enquanto o dataset Extended MNIST (EMNIST) inclui tanto dígitos quanto letras maiúsculas e minúsculas. O EMNIST foi desenvolvido como sucessor do MNIST e utiliza o mesmo formato de 28×28 pixels para as imagens, tornando-o compatível com ferramentas e modelos concebidos para o dataset MNIST original. Esta gama mais ampla de caracteres no EMNIST torna-o útil para uma maior variedade de aplicações de machine learning.
Posso usar a Ultralytics Platform para treinar modelos em datasets personalizados como o MNIST?
Sim, podes usar a Ultralytics Platform para treinar modelos em datasets personalizados como o MNIST. A Ultralytics Platform oferece uma interface intuitiva para enviar datasets, treinar modelos e gerir projetos sem a necessidade de conhecimentos extensivos de programação. Para mais detalhes sobre como começar, consulta a página de Início Rápido da Ultralytics Platform.
Como é que o MNIST se compara a outros datasets de classificação de imagem?
O MNIST é mais simples do que muitos datasets modernos como o CIFAR-10 ou o ImageNet, tornando-o ideal para iniciantes e experimentação rápida. Embora datasets mais complexos ofereçam maiores desafios com imagens coloridas e categorias de objetos diversas, o MNIST permanece valioso pela sua simplicidade, tamanho de arquivo reduzido e importância histórica no desenvolvimento de algoritmos de machine learning. Para tarefas de classificação mais avançadas, considera usar o Fashion-MNIST, que mantém a mesma estrutura, mas apresenta itens de vestuário em vez de dígitos.