4.3 Klassische Computer Vision

Warum das wichtig ist

Bevor man moderne Computer-Vision-Algorithmen lernt, ist es hilfreich, zunächst zu verstehen, was traditionelle Computer-Vision-Methoden geleistet haben. Das gibt uns ein solides Fundament und macht es einfacher, später fortgeschrittenere Algorithmen zu verstehen.

image-20260331140710679

Die traditionelle Computer Vision konzentrierte sich darauf, Computern beizubringen, wie sie nützliche Informationen in Bildern finden – beispielsweise Kanten, Formen, Ecken und Bewegung. Diese Methoden stützten sich auf von Menschen entworfene Regeln, anstatt wie moderne Deep-Learning-Modelle automatisch aus großen Datenmengen zu lernen. Obwohl sie einfacher waren, haben sie viele grundlegende Vision-Aufgaben gelöst und das Fundament für die heute leistungsfähigeren Computer-Vision-Techniken gelegt.

Klassische Methoden

Filterung

image-20260331141309862

Filterung verändert die lokale Bildstruktur. Manche Filter reduzieren Rauschen, andere heben Details hervor.

Filterung funktioniert, indem jeder Pixel mithilfe seiner Nachbarpixel aktualisiert wird. Anders gesagt: Der Algorithmus schiebt ein kleines Fenster, einen sogenannten Kernel, über das Bild und berechnet für jede Position einen neuen Wert.

image-20260331152645839

Beispiele:

  • Mittelwert-Weichzeichnen: ersetzt einen Pixel durch den Mittelwert seiner Nachbarn, was das Bild glätter macht
  • Gauß-Weichzeichnen: gewichtet nahegelegene Pixel stärker, sodass der Weichzeichner-Effekt meist natürlicher aussieht
  • Median-Weichzeichnen: ersetzt einen Pixel durch den mittleren Wert seiner Umgebung
  • Schärfen: verstärkt lokale Unterschiede, sodass Kanten und feine Details deutlicher hervortreten

Diese Filter sind nützlich, weil reale Kamerabilder oft Rauschen, kleine Helligkeitsschwankungen oder instabile Details enthalten, die vor späteren Vision-Schritten geglättet oder verstärkt werden müssen.

Probieren Sie es aus:

bash
cd 4.3-Classical-Computer-Vision/code
python filtering.py

🚀 Sie können den Schieberegler ziehen, um verschiedene Filtermodi zu sehen, und unterschiedliche Kernelparameter verändern, um die Veränderungen im Bild zu beobachten.

image-20260331153010183

Schwellwertbildung

Schwellwertbildung ist eine einfache Methode, ein Graustufenbild in ein Schwarz-Weiß-Ergebnis umzuwandeln. Die Grundidee lautet: einen Schwellwert wählen und jeden Pixel damit vergleichen. Ist ein Pixel heller als der Schwellwert, wird er weiß; andernfalls wird er schwarz. Dadurch werden kontinuierliche Pixelwerte in eine viel einfachere Ja/Nein-Entscheidung verwandelt, was das Trennen von Objekten vom Hintergrund erleichtert.

image-20260331142045879

Das ist nützlich bei:

  • Dokumentenverarbeitung
  • einfacher Industrie­inspektion
  • Vordergrundextraktion in kontrollierten Szenen

Probieren Sie es aus:

bash
cd 4.3-Classical-Computer-Vision/code
python thresholding.py

🚀 Versuchen Sie, den Schieberegler zu ziehen, um verschiedene Schwellwerte einzustellen und die Veränderungen im Bild zu beobachten.

image-20260331162811153

Kantendetektion

Kanten entsprechen häufig Grenzen, an denen sich die Intensität abrupt ändert.

image-20260331142022364

Kantendetektion ist eine Methode, die wichtigen Grenzen in einem Bild zu finden. Die Grundidee ist einfach: Der Algorithmus betrachtet, wie stark sich die Pixelhelligkeit von einer Stelle zur nächsten ändert. Ist die Änderung sehr klein, gehört sie wahrscheinlich zur selben Region. Ist die Änderung plötzlich und groß, ist die Stelle wahrscheinlich eine Kante. In der Praxis glätten viele Methoden das Bild zunächst leicht, um Rauschen zu reduzieren, berechnen dann Intensitäts­änderungen in horizontaler und vertikaler Richtung und behalten schließlich die stärksten Änderungen als Kanten. Das hilft einem Computer, Objekt­konturen, Formstruktur und Szenenaufbau klarer hervorzuheben.

Kantendetektion hilft, Folgendes sichtbar zu machen:

  • Formstruktur
  • Objektgrenzen
  • Szenengeometrie

Probieren Sie es aus:

bash
cd 4.3-Classical-Computer-Vision/code
python edge_detection.py

🚀 Ziehen Sie den Schieberegler, um verschiedene Modi zu sehen, und verändern Sie unterschiedliche Parameter, um die Veränderungen im Bild zu beobachten.

image-20260331163055712

Konturen

Konturen beschreiben Objektumrisse in einem Binärbild.

image-20260331142747289

Konturen sind eine Möglichkeit für einen Computer, die Umrisse von Objekten in einem Binärbild zu verfolgen. Der übliche Ablauf ist: Zuerst wird das Bild in Schwarzweiß umgewandelt, ein Teil als Objekt und der andere als Hintergrund behandelt. Anschließend folgt der Algorithmus der Grenze, an der sie aufeinander­treffen, und zeichnet den Umriss als eine Menge verbundener Punkte auf. Auf diese Weise ist eine Kontur im Wesentlichen die Form­begrenzung eines Objekts. Sobald der Umriss gefunden ist, kann der Computer ihn nutzen, um Größe zu messen, Objekte zu zählen oder die Form leichter zu analysieren.

Sie sind nützlich für:

  • Formanalyse
  • Zählen von Objekten
  • Messen von Fläche und Umfang

Probieren Sie es aus:

bash
cd 4.3-Classical-Computer-Vision/code
python contours.py

🚀 Versuchen Sie, den Schieberegler zu ziehen, um verschiedene Schwellwerte einzustellen und die Veränderungen im Bild zu beobachten.

image-20260331163359282

Morphologische Operationen

Morphologische Operationen sind einfache Bildverarbeitungs­methoden, die die Form weißer Regionen in einem Binärbild verändern. Sie funktionieren, indem ein kleines Muster, ein Kernel oder Strukturelement, über das Bild bewegt und geprüft wird, wie es zum Vordergrund passt. Erosion verkleinert Objekte, indem Randpixel entfernt werden, sodass kleines Rauschen verschwinden kann. Dilatation vergrößert Objekte, indem Pixel an den Rändern hinzugefügt werden, was kleine Lücken füllen kann. Öffnung ist Erosion gefolgt von Dilatation und entfernt kleine verrauschte Stellen, während die Hauptform erhalten bleibt. Schließung ist Dilatation gefolgt von Erosion, füllt kleine Löcher und verbindet abgebrochene Teile. Kurz gesagt: Morphologie ist nützlich, um verrauschte Masken zu bereinigen und Objektformen leichter analysieren zu können.

image-20260331142417743

Häufige Operationen:

  • Erosion
  • Dilatation
  • Öffnung
  • Schließung

Diese sind besonders nützlich, wenn Masken verrauscht oder fragmentiert sind.

Probieren Sie es aus:

bash
cd 4.3-Classical-Computer-Vision/code
python morphological_operate.py

🚀 Versuchen Sie, den Schieberegler zu ziehen, um verschiedene Schwellwerte einzustellen und die Veränderungen im Bild zu beobachten.

image-20260331163707790

Merkmals­erkennung und -zuordnung

Ein Merkmal ist ein visuell auffälliger Punkt oder ein auffälliges Muster. Merkmals­zuordnung wird verwendet, um Bilder zu vergleichen, Ansichten auszurichten oder geometrische Beziehungen abzuschätzen.

image-20260331142714201

Merkmals­erkennung bedeutet, besondere Punkte oder Muster in einem Bild zu finden, die wieder leicht erkannt werden können, etwa Ecken, Blobs oder texturierte Bereiche. Merkmals­zuordnung bedeutet, diese Punkte zwischen zwei Bildern zu vergleichen, um herauszufinden, welche dem gleichen realen Ort entsprechen. Ein üblicher Ablauf ist: zuerst Schlüsselpunkte erkennen, dann für jeden einen Deskriptor berechnen – eine kompakte numerische Zusammenfassung des lokalen Erscheinungsbilds – und schließlich Deskriptoren vergleichen, um die besten Übereinstimmungen zu finden. OpenCV beschreibt Matcher wie Brute-Force, der einen Deskriptor mit allen anderen vergleicht, und FLANN, der die Suche in großen Mengen beschleunigt. Das ist nützlich, weil der Computer mit guten Übereinstimmungen Bilder ausrichten, Panoramen zusammensetzen, Bewegung schätzen oder ein Objekt aus einer anderen Sicht lokalisieren kann.

Diese Idee ist wichtig für:

  • Panoramazusammenfügung
  • Bildausrichtung
  • Lokalisierung
  • visuelle Odometrie

Probieren Sie es aus:

bash
cd 4.3-Classical-Computer-Vision/code
python feature_detection_matching.py

🚀 Versuchen Sie, den Schieberegler zu ziehen, um verschiedene Matching-Modi zu ändern und die Veränderungen im Bild zu beobachten.

image-20260331173910126

Häufige Missverständnisse

  • „Klassische Vision ist überholt."
    • Sie ist älter, aber nicht überholt. Sie ist weiterhin nützlich für Vorverarbeitung, Messung und regelbasierte Logik.
  • „Deep Learning hat die gesamte traditionelle Bildverarbeitung ersetzt."
    • In der Praxis enthalten viele moderne Systeme weiterhin klassische Operationen.
  • „Wenn Schwellwertbildung auf einem Bild funktioniert, funktioniert sie überall."
    • Klassische Methoden können auf Beleuchtung und Kontext empfindlich reagieren.

Übungen / Reflexion

  1. Wenden Sie Schwellwertbildung auf ein Bild mit einem einfachen Vordergrund an und zählen Sie die zusammenhängenden Objekte.
  2. Vergleichen Sie Kantenkarten vor und nach einem Gauß-Weichzeichner. Was ändert sich?
  3. Probieren Sie Erosion und Dilatation auf derselben Binärmaske. Was passiert mit kleinen Regionen?
  4. Überlegen Sie eine Situation, in der eine einfache klassische Methode einem tiefen Modell überlegen sein kann.

Zusammenfassung

Klassische Computer Vision bietet Lernenden eine transparente Möglichkeit, Bildtransformationen zu verstehen. Sie bleibt auch in realen Systemen nützlich für Vorverarbeitung, Filterung, Formanalyse und leichtgewichtige visuelle Logik.

Vorgeschlagener nächster Schritt

Fahren Sie fort mit 4.4 Neuronale Netze und CNNs.

Referenzen