Ich hatte das Glück, am Veröffentlichungstermin bei Switch Science zu bestellen und es war sofort verfügbar! Ich habe dies sofort auf der Kunststoffschiene installiert und es geschafft, es gut zu bedienen. Wir haben den Code für die Montage auf Plarail und Fernbedienung mit Wifi auf dem folgenden Git veröffentlicht. Schauen Sie also bitte vorbei, wenn Sie interessiert sind. https://github.com/Kumapapa2012/Raspberry-Pi-Zero-on-PLA-RAIL-3rd
Über die Draufsicht auf das Hauptthema. Die Draufsicht ist eine Technologie, mit der das Bild der Kamera so aussieht, als würde es von oben nach unten schauen. Es ist auch in einem bestimmten Firmenauto eingebaut.
Wenn ich über das automatische Fahren nachdenke, indem ich eine Kamera an etwas anbringe, das sich bewegt, nicht nur auf Kunststoffschienen, denke ich, dass ich mir ziemlich Sorgen darüber mache, wie ich es mit einer Monokular-Kamera machen soll. Wie sollten Sie beispielsweise Ihre eigene Fahrtrichtung und Geschwindigkeit bestimmen? Sollte ich einen Merkmalspunkt zwischen einem Bild zu einem bestimmten Zeitpunkt und einem Bild nach einem bestimmten Zeitraum finden und meine eigene Bewegung anhand der Bewegungsposition, des Vergrößerungs- / Verkleinerungsverhältnisses usw. abschätzen? etc. .. .. In der Zwischenzeit fand ich einen Artikel, in dem Top View das Problem leicht lösen konnte. [^ 1]
Das Verfahren ist einfach.
Nehmen Sie ein Bild eines geeigneten Quadrats oder Rechtecks auf, das am unteren Bildschirmrand und in der Mitte von links und rechts ausgerichtet ist, und ermitteln Sie die Koordinaten der oberen Bildschirmbereiche. Das Bild ist wie folgt. Dieses Bild wird mit dem Buchstaben "A" in einem Quadrat von 4 cm aufgenommen. In diesem Fall sind die Koordinaten wie folgt in der Reihenfolge oben links, oben rechts, unten rechts, unten links. T_L=(168,260) T_R=(344,260) B_R=(408,360) B_L=(72,360)
Bestimmen Sie die Bildgröße bei der Konvertierung in TopView, wie Quadrate oder Rechtecke im Bild angezeigt werden sollen, und bestimmen Sie die Scheitelpunktkoordinaten. Es verwendet die längste oder Basis des ursprünglichen "A" -Bildes und berechnet die Koordinaten so, dass sie alle Quadrate gleicher Länge sind. Weitere Informationen finden Sie in meinem Notizbuch [^ 2].
Verwenden Sie cv2.getPerspectiveTransform (), um die Transformationsmatrix unter Verwendung jeder Scheitelpunktkoordinate abzurufen. Diese Umwandlungsmatrix transformiert das trapezförmige "A" auf der Kamera in das von oben gesehene Quadrat "A". Vielleicht sollte diese Umrechnungsmatrix einmal als konstanter Term berechnet werden.
4.cv2.warpPerspective () Wenden Sie die in 3. erhaltene Konvertierungsmatrix auf das Kamerabild an.
Jetzt haben Sie eine Draufsicht.
Wir haben ein Video des tatsächlichen Betriebs auf Youtube hochgeladen. In diesem Video wird der Top View-Effekt auf das vom "Canny" -Algorithmus extrahierte Kamerabild angewendet. Obwohl es etwas verzerrt ist, erscheint "A" in einer ungefähr quadratischen Form.
Obwohl es noch angepasst werden muss, wird das Problem des Umweltbewusstseins in der Draufsicht zu einem 3- bis 2-dimensionalen Problem, und die Anforderungen an den Klassifizierer werden wahrscheinlich viel einfacher sein. Wenn die Schiene in der Draufsicht identifiziert und das Gleis verfolgt werden kann, scheint es beispielsweise einfach zu sein, Hindernisse zu erkennen und anzuhalten.
Line detection autopilot using Python + OpenCV. Canny Edge Detection Inline-Anzeige von OpenCV-Bildern mit Jupyter
Recommended Posts