Wie extrahiere ich Verkehrszeichen aus einem Foto?


15

Mit welchen Bildanalysetechniken kann ich die Verkehrszeichen aus einem Bild wie dem folgenden extrahieren?

Außenaufnahme eines Stadtstraßenrandes

Bearbeiten:

Nach anisotroper Diffusion: Der Hintergrund, den ich nicht will, wird ein wenig gelöscht

Bildbeschreibung hier eingeben

Nach der Dilatation:

Bildbeschreibung hier eingeben

Schwellenwert nach Diffusion: Es ist nicht möglich, den besten Schwellenwert für diesen Zweck zu ermitteln

Bildbeschreibung hier eingeben

Allerdings kann ich nicht herausfinden, wie man den Hintergrund entfernt?

Bearbeiten: Ich möchte nur diese Teile meines Bildes

Bildbeschreibung hier eingeben

Ein anderes Eingabebild aufnehmen:

Bildbeschreibung hier eingeben

Anwenden der Medianfilterung und Kantenerkennung:

Bildbeschreibung hier eingeben

Nach der Bottom-Hat-Filterung:

Bildbeschreibung hier eingeben

Wie isoliere ich die Verkehrszeichen bitte helfen?


"Verkehrszeichen" bedeutet für mich ein beleuchtetes Gerät justsymbol.com/images/traffic-signal-sign-6.png , kein Zeichen. Meinst du nur Zeichen?
Endolith

Ja, nur die Zeichen
vini

Welchen Ansatz haben Sie selbst ausprobiert?
Maurits

Ja, ich habe Vorlagen
vini

Habe @mauritis
vini

Antworten:


17

Haben Sie etwas Einfaches wie Korrelation probiert?

( BEARBEITEN ). Die Idee hinter der Korrelation besteht darin, eine Vorlage (in Ihrem Fall ein trainiertes Verkehrszeichenmuster) zu verwenden und mit jeder Position im Testbild zu vergleichen. Die Vergleichsoperation, mit der ich die folgenden Bilder erstellt habe, wird als normalisierte Kreuzkorrelation bezeichnet . Grob gesagt standardisieren Sie (Mittelwert = 0, Standardabweichung = 1) die Pixel in der Vorlage und den Bildteil, mit dem Sie übereinstimmen möchten, multiplizieren sie Pixel für Pixel und berechnen den Mittelwert der Produkte. Auf diese Weise erhalten Sie einen "Match Score", dh ein Maß für die Ähnlichkeit zwischen der Vorlage und dem Testbild an jeder Position im Testbild. Die Position mit der besten Übereinstimmung (höchste Korrelation) ist der wahrscheinlichste Kandidat für die Position des Verkehrszeichens. (Eigentlich habe ich die Mathematica-Funktion verwendetCorrelationDistance (Korrelationsentfernung), um das folgende Bild zu generieren: 1 (normalisierte Korrelation). Der dunkelste Punkt im Matchbild entspricht also dem besten Match.

Da ich keine anderen Vorlagen habe, habe ich das Schild vom zweiten Bild, das Sie gepostet haben, einfach abgeschnitten:

Bildbeschreibung hier eingeben

Auch wenn die Vorlage leicht gedreht ist, kann die Kreuzkorrelation dennoch verwendet werden

Bildbeschreibung hier eingeben

und die beste Übereinstimmung wird an der richtigen Position gefunden:

Bildbeschreibung hier eingeben

(Sie benötigen natürlich mehrere skalierte Versionen jeder Vorlage, um Zeichen in jeder Größe zu erkennen.)


1
@nikie: Kannst du den Prozess erklären, den du benutzt hast?
Smokris

Ja, das würde ein bisschen mehr helfen. Die Idee scheint gut zu sein
vini

@vini Wenn Sie Vorlagen haben und versuchen, Instanzen davon in Ihrem Bild zu finden, ist die Kreuzkorrelation der natürlichste Ansatz und sollte zu den ersten Ansätzen gehören, die Sie versuchen. Hier ist eine Antwort hier (Mathematica-Code) und eine andere auf SO (MATLAB-Code), wo ich diesen Ansatz verwende.
Lorem Ipsum

7

Während meines Masters beschäftigte sich das Projekt, an dem mein Vorgesetzter beteiligt war, mit der Erfassung und Erkennung aller Arten von Verkehrssignalen in Videosequenzen (z. B. Straßenerkennung, Straßenmittellinienerkennung, aber auch Verkehrszeichenerkennung und -erkennung ). Die Videobilder, an denen wir gearbeitet haben, ähneln in vielerlei Hinsicht Ihren Beispielbildern.

Ich habe persönlich nicht an Verkehrszeichen gearbeitet, aber ich denke, die besten Ergebnisse wurden mit dem Viola-Jones-Algorithmus (Papier) erzielt . Kurz gesagt, es handelt sich um einen Algorithmus, der eine Kaskade schwacher Klassifikatoren verwendet (mit einer Genauigkeit, die etwas höher ist als die eines Zufallsalgorithmus), um einen starken Klassifikator zu konstruieren , der auch bei schwierigen Aufgaben robust ist.

Das Projekt hieß MASTIF (Mapping and Assessing the State of Traffic Infrastructure) und leistete einige wirklich gute Arbeit. Die Veröffentlichungsseite des Projekts kann sehr nützlich sein, da sie Links zu allen veröffentlichten Artikeln enthält, die sich auf das Projekt beziehen. Um Ihnen eine Vorstellung zu geben, lassen Sie mich einige der Veröffentlichungen herausgreifen (in chronologischer Reihenfolge):

Auch hier habe ich nicht persönlich an Verkehrsschildern gearbeitet, aber ich denke, Sie finden hier jede Menge nützliches Material. Außerdem würde ich vorschlagen, die zitierten Referenzen in den Zeitungen durchzugehen, da sie ebenfalls hilfreich sein können.


6

Wenn road way signs detectionSie googeln, erhalten Sie viele gute Artikel zu diesem Thema.

Einige verwenden Farbsegmentierung aufgrund besonderer Farben wie Blau, Grün, Rot usw.

Einige wenden zuerst die Gaußsche Glättung an, dann die Erkennung von scharfen Kanten und die Konturensuche, um das Schild zu extrahieren.

Versuchen Sie, zwei Links zu verwenden: Link 1 , Link 2


leider tote links
charles b

Eigentlich funktionieren beide Links für mich.
Abid Rahman K

@CharlesB: Die Links werden aktualisiert :)
Anoop KP

5

Ich bin hier definitiv kein Experte, aber Sie können mit der Kantenerkennung (wie z. B. Canny) beginnen und dann mithilfe einer Hough-Transformation Kreise, Rechtecke, Quadrate oder Dreiecke erkennen (basierend auf dem zu erkennenden Zeichen). Dann können Sie eine Vorlage erstellen Matching oder Histogramm-Matching, wenn die Farben deutlich genug sind (über den von der Hough-Transformation zurückgegebenen Kandidaten).

Der erste Schritt (Erkennen der Kandidaten mithilfe der Hough-Transformation) ist der schwierigere. Ich kann mir viele Möglichkeiten vorstellen, um festzustellen, ob dieser Kandidat das Zeichen ist oder nicht. Das ist ein lustiges Problem. Viel Spaß beim Lösen :)

Übrigens, ich bin sicher, dass Sie gute Forschungsartikel finden, die in hohem Maße verwandt sind

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.