- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 30

Thema: Bildverarbeitung Linien, Kreise u.a.

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Die Symbolerkennung funktioniert auch halbwegs, da könnte man sogar etwas damit anfangen, wenn man herausgefunden hat, unter welchen Bedingungen das praktikabel ist.
    Leider sind diese Demos immer hübsch anzusehen. Ich kann jetzt auch ein Video davon machen, wenn ich die Kamera auf das fahrbare Chassis montiert habe. Dann schaffe ich halbwegs taugliche Bedingungen (wenn vielleicht auch praxisferne Bedingungen, das weiß ja keiner, der das Video nicht herstellt) und zeige am PC die Auswertung der Kamera. Das ist durchaus eindrucksvoll.
    Bloß was macht man mit den Ergebnissen, die für Linien z.B. ausgeworfen werden. Weil Linien können überall erkannt werden: eine offenstehende Tür, ein Mauervorsprung, eine Ecke einer Wand, ein Schrank, Fenster, Teppiche, Stühle ... Um mit einer Linie was anfangen zu können, muss sie doch zuzuordnen sein.


    Wenn ich es z.B. schaffe, einwandfrei einen blauen Ball zu verfolgen und weiß, dass es nur ein blaues Objekt im Sichtfeld gibt, dann bekäme ich vermutlich die Position des Objektes (als Koordinate, im zweidimensionalen Bild), vielleicht die Größe (Umfang oder Fläche) und die Richtung (vielleicht relativ zur Bildmitte). Aus diesen Angaben könnte ich ableiten, wie weit der blaue Ball weg ist und in welcher Richtung. Mit etwas Tüftelei könnte ich so einen Tischtennis spielenden Roboterarm steuern, oder einen Arm, der den blauen, fliegenden Ball einfängt.
    Aber was tue ich mit Linien?


    Mit der Symbolerkennung ist es auch so eine Sache, weil das auf eine bestimmte Entfernung funktioniert. Ein Symbol von der Größe 3*3cm wird auf eine Entfernung von 30 bis 50cm erkannt. Größere Entfernungen sind möglich, dann muss das Symbol größer werden (z.B. Apriltags). Auf 2m Entfernung müsste das Symbol dann vielleicht schon 20*20cm groß sein, um eine einwandfreie Erkennung und eine hohe Erkennungswahrscheinlichkeit zu bekommen.


    MfG
    Geändert von Moppi (28.10.2020 um 09:12 Uhr)

  2. #2
    HaWe
    Gast
    das ist ja emdlich mal eine Info, mit der man as anfangen kann.
    Bei "ich habe hier eine Kamera" habe ich zuerst an eine Canon EOS R etc. gedacht.

    Also eine embedded Cam auf einem Breakoutboard mit on-board-Imageprocessing, ähnlich wie Pixy.
    Eine Pixy 1 + 2 hatte ich auch mal, aber wieder verkauft, weil die Objekt-Erkennung hundsmiserabel war und extrem gute und konstante Lichtverhältnisse erfordert hatte, und dort wurden auch ständig Bereiche "erkannt", die absolut ohne Sinn waren und der Rest unglaublich verrauscht. Außerdem war der Firmen-Support grottenschlecht. Habe sie beide wieder verkauft.

    Daraufhin habe ich eine kleine USB-Cam für 20 EUR gekauft (skalierbar bis Full-HD) und weit bessere Ergebnisse mit meinem Raspi und openCV erzielt. Da kann ich genau selber programmieren, was ich wie erkennen will.

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.699
    .. Daraufhin habe ich eine kleine USB-Cam für 20 EUR gekauft (skalierbar bis Full-HD) und weit bessere Ergebnisse mit meinem Raspi und openCV erzielt ..
    Bitte nenn doch dazu Cam-Typ, Händler und so. Das klingt ja richtig gut, günstig und wenns so gut funktioniert - sowas sucht man doch (gelegentlich). Wenigstens zum Rumspielen. Danke im Voraus
    Ciao sagt der JoeamBerg

  4. #4
    HaWe
    Gast
    die habe ich schon ewig lang, Firma: "Made in China" , damals bei Ebay gekauft.

    openCV arbeitet aber mit allen möglichen USB-cams, man muss nur einen passenden Linux- Cam-Treiber installieren, und ntl openCV.

    z.B.

    sudo apt-get update
    sudo apt-get upgrade
    # opencv
    sudo apt-get install libopencv-dev

    #Auswahl von Cam Tools:
    #apt search webcam

    # cam tool guvcview
    sudo apt install guvcview
    # alternativ z.B.:
    # cam tool camorama
    sudo apt install camorama

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    Zitat Zitat von HaWe Beitrag anzeigen
    die habe ich schon ewig lang, Firma: "Made in China" , damals bei Ebay gekauft.
    leider auch wieder ohne quellen- oder typ-angabe - was soll man damit anfangen?
    gruß inka

  6. #6
    HaWe
    Gast
    Zitat Zitat von inka Beitrag anzeigen
    leider auch wieder ohne quellen- oder typ-angabe - was soll man damit anfangen?
    welchen Teil von "openCV arbeitet aber mit allen möglichen USB-cams, man muss nur einen passenden Linux- Cam-Treiber installieren" hast du NICHT verstanden?
    Für dich, noch mal sehr simpel formuliert:
    Es geht mit jeder beliebigen web-Cam gleich gut.

    PS,
    geht genauso auch mit dem Raspi-Cam-Modul https://www.ebay.de/itm/Raspberry-Pi...IAAOSwgwhfHJkN uvm

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    Zitat Zitat von HaWe Beitrag anzeigen
    welchen Teil von "openCV arbeitet aber mit allen möglichen USB-cams, man muss nur einen passenden Linux- Cam-Treiber installieren" hast du NICHT verstanden?
    ich habe mich mit "openCV" noch gar nicht beschäftigt, deshalb musst du aber nicht gleich ausfallend werden...
    gruß inka

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    903
    Zitat Zitat von Moppi Beitrag anzeigen
    Aber was tue ich mit Linien?
    Du triangulierst z.B. über die Eigenbewegung. Fokussierst Du eine vertikale Linie auf den 0° Winkel Deiner Kamera (Mittelpunkt der x-Achse) und fährst vorwärts, hast Du schon eine einfache Winkelkorrektur. Beobachtest Du dabei, dass sich eine zweite Linie zum Bildrand verschiebt, kannst Du mithilfe der gefahrenen Strecke (Odometrie mit nun verringertem Winkelfehler) und etwas Trigonometrie Lage und Abstand der nach außen wandernden Kante relativ zur Roboterposition bestimmen. So lässt sich bei ausreichender Anzahl detektierbarer Kanten ein Netz aufbauen, in dem einzelne Kanten durch Lage-/Abstandsinformationen miteinander verknüpft werden.
    Geändert von Holomino (28.10.2020 um 13:23 Uhr)

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Zitat Zitat von Holomino Beitrag anzeigen
    Du triangulierst z.B. über die Eigenbewegung. Fokussierst Du eine vertikale Linie auf den 0° Winkel Deiner Kamera (Mittelpunkt der x-Achse) und fährst vorwärts, hast Du schon eine einfache Winkelkorrektur. Beobachtest Du dabei, dass sich eine zweite Linie zum Bildrand verschiebt, kannst Du mithilfe der gefahrenen Strecke (Odometrie mit nun verringertem Winkelfehler) und etwas Trigonometrie Lage und Abstand der nach außen wandernden Kante relativ zur Roboterposition bestimmen. So lässt sich bei ausreichender Anzahl detektierbarer Kanten ein Netz aufbauen, in dem einzelne Kanten durch Lage-/Abstandsinformationen miteinander verknüpft werden.
    Theoretisch kann ich dem folgen, bis auf den Schluss (ein Netz aufbauen, in dem einzelne Kanten durch Lage-/Abstandsinformationen miteinander verknüpft werden) hier habe ich noch keine Vorstellung davon, weil ich so was noch nie gemacht habe. Alles in allem, was immer ich damit anstellen wollte, setzt es doch voraus, dass:

    1. Linien immer wieder erkannt werden
    2. Linien desselben Objektes immer wieder erkannt werden
    3. Dieselben Linien, desselben Objektes (oder derselben Objekte im Raum) immer wieder erkannt werden

    Und genau da sehe ich ein Problem. Wenn es gut läuft, werden in einem Bild, dass immer denselben Ausschnitt zeigt, Linien oft, aber nicht immer erkannt. Mit Glück sind es aber dieselben Linien, derselben Objekte. Wackelt die Kamera, kann sich dies schon ändern, es werden Linien nicht mehr so oft erkannt und es tauchen Linien auf, die vorher nicht erkannt wurden (dass diese "neuen" Linien danach wieder erkannt werden, steht aber auch nicht fest). Verwechselungsgefahr bei Linien sehe ich auch schon irgendwie, aber das will ich nur am Rande erwähnen. Deshalb frage ich mich, ob es sinnvolle Anwendungsgebiete gibt. Template Matching ist ja auch ganz brauchbar, Apriltag-Erkennung ebenfalls; so wie ich das bisher sehe, ist die Erkennungsrate ziemlich gut (auch unter normalen Bedingungen, bei wechselnden Lichtverhältnissen). Aber so tief stecke ich noch nicht drin, bin da noch nicht weiter, als bei ersten Versuchen.


    MfG
    Geändert von Moppi (29.10.2020 um 08:48 Uhr)

Ähnliche Themen

  1. Neun Kreise der Hölle: Elon Musk sieht Model 3 in Dantes Inferno
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 02.11.2017, 07:40
  2. omnidirektionaler Antrieb (kreise Fahren)
    Von TiA im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 28
    Letzter Beitrag: 25.10.2008, 18:15
  3. Kreise fahren mit leuchtenden LED's
    Von duronus im Forum Asuro
    Antworten: 3
    Letzter Beitrag: 07.02.2007, 16:58
  4. Laser Linien Navigation
    Von Involut im Forum Sensoren / Sensorik
    Antworten: 50
    Letzter Beitrag: 29.10.2004, 21:00
  5. programm zur linien verfolgung
    Von CityJumper im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 7
    Letzter Beitrag: 02.01.2004, 10:02

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test