Projekt om billedklassifikation
Opbygning af en grundlæggende CNN-model
Projekt om billedklassifikation er en gratis Python Academy-lektion på CoddyKit. Dette er lektion 4 af 5. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Python Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Python Academy-kurset indeholder 5 lektioner i alt.
Projekt til billedklassifikation
I dette projekt bygger vi et enkelt CNN, der klassificerer billeder i kategorier. Billedklassifikation går ud på at forudsige kategorien eller etiketten for et billede, der gives som inddata.

Datasæt til klassifikation
Vi bruger datasættet CIFAR-10, som består af 60.000 billeder fordelt på 10 kategorier, f.eks. fly, biler, fugle og katte. Hvert billede er på 32×32 pixels og har 3 farvekanaler (RGB).
Indlæsning af datasættet
Vi indlæser datasættet CIFAR-10 med 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)Opbygning af CNN-modellen
Vi definerer en CNN-arkitektur med konvolutionslag, poolinglag og fuldt forbundne lag:
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')
])Kompilering af modellen
Vi kompilerer modellen med:
- Tabsfunktion: Kategorisk krydsentropi til klassifikation i flere klasser.
- Optimeringsalgoritme: Adam-optimeringsalgoritmen for effektiv indlæring.
- Målepunkter: Nøjagtighed til evaluering af ydeevnen.
# Compile the model
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])Træning af modellen
Vi træner modellen med træningsdataene i 10 epoker. Under træningen lærer modellen at klassificere billeder i kategorier.
# Train the model
model.fit(x_train, y_train, epochs=10, validation_data=(x_test, y_test))Evaluering af modellen
Efter træningen evaluerer vi modellen på testdataene for at kontrollere dens nøjagtighed:
# Evaluate the model
loss, accuracy = model.evaluate(x_test, y_test)
print(f"Test Accuracy: {accuracy * 100:.2f}%")Udarbejdelse af forudsigelser
Vi kan bruge den trænede model til at lave forudsigelser på nye billeder:
# 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]}")Udfordringer ved billedklassifikation
Almindelige udfordringer omfatter:
- Overtilpasning: Modellen fungerer godt på træningsdata, men dårligt på nye data.
- Klasseubalance: Kategorierne er repræsenteret i forskelligt omfang i datasættet.
- Beregningsomkostning: Træning af dybe netværk kræver betydelige ressourcer.
Opsummering og næste trin
I dette projekt:
- Byggede og trænede vi et CNN til billedklassifikation med datasættet CIFAR-10.
- Lærte vi at indlæse, forbehandle og evaluere datasættet.
- Diskuterede vi udfordringer ved billedklassifikationsopgaver.
Derefter undersøger vi teknikker til dataforøgelse for at forbedre modellens ydeevne ved at generere variationer af træningsbilleder.

Lær Python med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 76
- Lektioner
- 320
Ofte stillede spørgsmål
Er lektionen “Projekt om billedklassifikation” gratis?
Ja — hele teksten til “Projekt om billedklassifikation” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Python Academy-kurset, skal du opgradere til CoddyKit PRO. Python Academy-kurset indeholder 5 lektioner i alt.
Hvad lærer jeg i “Projekt om billedklassifikation”?
Opbygning af en grundlæggende CNN-model Du øver dig i Python Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Python Academy?
Der kræves ingen tidligere erfaring. Python Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 5.
Hvor lang tid tager lektionen “Projekt om billedklassifikation”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Python Academy-lektion?
Ja. Alle Python Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Hvad er billeddata?
- Billedbehandling med OpenCV
- Konvolutionelle neurale netværk (CNN)
- Projekt om billedklassifikation
- Teknikker til dataforøgelse