Projeto de classificação de imagens
Construção de um modelo básico de CNN.
Projeto de classificação de imagens é uma aula grátis de Python Academy no CoddyKit. Esta é a aula 4 de 5. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Python Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Python Academy inclui 5 aulas no total.
Projeto de classificação de imagens
Projeto de classificação de imagens
Neste projeto, criaremos uma rede CNN simples para classificar imagens em categorias. A classificação de imagens consiste em prever a categoria ou o rótulo de uma imagem de entrada.

Conjunto de dados para classificação
Conjunto de dados para classificação
Usaremos o conjunto de dados CIFAR-10, que contém 60.000 imagens distribuídas em 10 categorias, como aviões, carros, pássaros e gatos. Cada imagem tem 32×32 pixels e possui 3 canais de cor (RGB).
Carregando o conjunto de dados
Carregando o conjunto de dados
Carregaremos o conjunto de dados CIFAR-10 usando TensorFlow:
import tensorflow as tf
from tensorflow.keras.datasets import cifar10
# Load dataset
(x_train, y_train), (x_test, y_test) = cifar10.load_data()
# Normalize the pixel values to [0, 1]
x_train = x_train / 255.0
x_test = x_test / 255.0
print("Training data shape:", x_train.shape)Criando o modelo CNN
Criando o modelo CNN
Definiremos uma arquitetura CNN com camadas convolucionais, de agrupamento e totalmente conectadas:
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
# Define the CNN model
model = Sequential([
Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)),
MaxPooling2D((2, 2)),
Conv2D(64, (3, 3), activation='relu'),
MaxPooling2D((2, 2)),
Flatten(),
Dense(128, activation='relu'),
Dense(10, activation='softmax')
])Compilando o modelo
Compilando o modelo
Compilamos o modelo com:
- Função de perda: Entropia cruzada categórica para classificação multiclasse.
- Otimizador: Otimizador Adam para um aprendizado eficiente.
- Métricas: Acurácia para avaliar o desempenho.
# Compile the model
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])Treinando o modelo
Treinando o modelo
Treinamos o modelo usando os dados de treinamento durante 10 épocas. Durante o treinamento, o modelo aprende a classificar imagens em categorias.
# Train the model
model.fit(x_train, y_train, epochs=10, validation_data=(x_test, y_test))Avaliando o modelo
Avaliando o modelo
Após o treinamento, avaliamos o modelo com os dados de teste para verificar sua acurácia:
# Evaluate the model
loss, accuracy = model.evaluate(x_test, y_test)
print(f"Test Accuracy: {accuracy * 100:.2f}%")Fazendo previsões
Fazendo previsões
Podemos usar o modelo treinado para fazer previsões sobre novas imagens:
# Predict the category of a test image
import numpy as np
sample_image = x_test[0]
sample_label = y_test[0]
prediction = np.argmax(model.predict(sample_image[np.newaxis, ...]))
print(f"Predicted Label: {prediction}, Actual Label: {sample_label[0]}")Desafios da classificação de imagens
Desafios da classificação de imagens
Entre os desafios comuns estão:
- Sobreajuste: O modelo tem bom desempenho nos dados de treinamento, mas baixo desempenho em dados novos.
- Desequilíbrio entre classes: Representação desigual das categorias no conjunto de dados.
- Custo computacional: O treinamento de redes profundas exige recursos significativos.
Resumo e próximos passos
Resumo e próximos passos
Neste projeto, nós:
- Criamos e treinamos uma rede CNN para classificação de imagens usando o conjunto de dados CIFAR-10.
- Aprendemos a carregar, pré-processar e avaliar o conjunto de dados.
- Discutimos os desafios das tarefas de classificação de imagens.
Em seguida, exploraremos técnicas de aumento de dados para melhorar o desempenho do modelo gerando variações das imagens de treinamento.

Perguntas Frequentes
A aula “Projeto de classificação de imagens” é grátis?
Sim — o texto completo de “Projeto de classificação de imagens” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Python Academy, atualize para CoddyKit PRO. O curso de Python Academy inclui 5 aulas no total.
O que vou aprender em “Projeto de classificação de imagens”?
Construção de um modelo básico de CNN. Você pratica Python Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Python Academy?
Nenhuma experiência prévia é necessária. Python Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 5.
Quanto tempo leva a aula “Projeto de classificação de imagens”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Python Academy?
Sim. Cada aula de Python Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- O que são dados de imagem?
- Processamento de imagens com OpenCV
- Redes neurais convolucionais (CNN)
- Projeto de classificação de imagens
- Técnicas de aumento de dados