- 12V Akku mit 280 Ah bauen         
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 26

Thema: Ist Java schneller als C (Realisierung von Sterevision)?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied
    Registriert seit
    03.08.2004
    Ort
    München
    Beiträge
    52

    Ist Java schneller als C (Realisierung von Sterevision)?

    Hi Folks!

    für mein projekt werte ich kamerabilder aus. allerdings stehe ich nun nach der ausarbeitung der theorie vor der wahl, mit welcher programmiersprache die auswertung stattfinden soll. mir gab mal jemand einen tipp, dass java eine sehr schnell programmiersprache sei und die 10bilder/s somit effektiv ausgewertet werden können. ein anderer meinte wieder, dass C das bessere von allem sei.

    Summa sumarum: mir ist wichtig, dass die sprache schnell und plattformunabhängig sein soll

    wie sind eure erfahrungen mit den prozessgeschwindigkeiten? (basic soll wohl z.b. sehr langsam sein?!)

    PS: die auswertung der kamerabilder findet auf einem laptop statt (falls sich einige wundern)
    Man muss die Welt nicht verstehen,
    man muss sich nur in ihr zurecht finden.
    [A. Einstein]

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.11.2003
    Ort
    Chemnitz
    Alter
    43
    Beiträge
    129
    Wie immer bei hardwarenahen Problemen und Bildverarbeitung werden dir die meisten Leute C/C++ empfehlen.
    Nicht zuletzt auch, weil es mit OpenCV (oder LTIlib oder Gandalf oder ...) eine Menge Bibliotheken zur Bildverarbeitung gibt und darüberhinaus etliche Bibliotheken mit effizienten Routinen zu mathematischen Problemen (LAPACK, Boost, ...)

    PS: Würde mich interessieren, was du mit den Stereokameras auswertest. Kannst du dazu ein wenig schreiben?
    Grüße,
    zefram

    --
    www.roboking.de - Jetzt bis zum 31. Mai 2007 anmelden für die fünfte Runde des großen Roboterwettbewerbs für Schüler aus Deutschland, Österreich und der Schweiz -

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    03.08.2004
    Ort
    München
    Beiträge
    52
    hm, dazu gab es hier mal einen thread, der aber irgendwie abgestürzt ist...

    mittels stereovision besteht die möglichkeit, den roboter dreidimensional "sehen" zu lassen. das funktioniert genau wie mit unserem menschlichen auge...

    größtes problem dabei: ich versuche seit kurzem nach erfolgreicher theorie einen algorithmus herzuleiten, der es schafft, zwei kamerabilder im 0,5s-rythmus auszuwerten!

    möchtest du noch mehr dazu hören?

    PS: empfiehlst du eine besondere bibliothek zur bildverarbeitung? ich bin als erstes auf opencv gestoßen und bisher auch da geblieben!
    Man muss die Welt nicht verstehen,
    man muss sich nur in ihr zurecht finden.
    [A. Einstein]

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.11.2003
    Ort
    Chemnitz
    Alter
    43
    Beiträge
    129
    Momentan kann ich noch nix wirklich empfehlen. Ich will in den nächsten Tagen mal OpenCV und die LTIlib intensiver ansehen und vergleichen.
    OpenCV ist aber sehr weit verbreitet, kann also nicht total schlecht sein.

    Was soll dein Algorithmus "auswerten"? Disparity / Entfernungsinformationen für jeden Pixel im Bild?
    Grüße,
    zefram

    --
    www.roboking.de - Jetzt bis zum 31. Mai 2007 anmelden für die fünfte Runde des großen Roboterwettbewerbs für Schüler aus Deutschland, Österreich und der Schweiz -

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    03.08.2004
    Ort
    München
    Beiträge
    52
    es geht um disparity, richtig! somit soll dem robot die möglichkeit gegeben werden, sich völlig autonom ohne zuhilfenahme andere sensorik im raum zu bewegen (der ihm völlig fremd ist).
    als additum soll der robot mittels ki lernen und dinge so besser erkennen können. somit besteht die möglichkeit, dass er ein blatt papier nicht als hinderniss erkennt, sondern einfach drüber fährt. das ist dann allerdings das endstadium!

    für die disparity-auswertung verwende ich mit sicherheit den LR-data-flow-algorithmus. zudem versuche ich, ihn so zu verändern, dass nicht nicht alle punkte erfasst und analysiert werden müssen, sondern der algo sich nur auf bestimmte bereiche konzentriert (eben mittels ki).

    ein schwerer brocken, aber so sieht mein konzept aus, und dahin arbeite ich!

    PS: ich habe mal in einer dissertation gelesen, dass mithilfe des lr-data-flow zwei kamerastreams mit einem 100mhz-chip (72fps) realisiert wurde (um auf den thread, in dem du ja sehr aktiv bist, mit den "dv-bilder auswerten" zurück zu kommen).

    PSS: kennst du noch andere bessere algos für disparity? wie sehen deine erfahrungen aus?
    Man muss die Welt nicht verstehen,
    man muss sich nur in ihr zurecht finden.
    [A. Einstein]

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.11.2003
    Ort
    Chemnitz
    Alter
    43
    Beiträge
    129
    Hallo,

    hab mich bisher nicht mit den "dense stereo" Algorithmen beschäftigt, sondern eher mit "sparse stereo". Im Gegensatz zu dense stereo geht es hier nur darum, für einige wenige (30 bis 100 pro Bildpaar) ausgewählte Pixel die Entfernungsinformation zu bestimmen.
    Hintergrund ist, dass der Roboter anhand der Bilder seine Eigenbewegung ermitteln soll, quasi als Unterstützung/Ergänzung der Odometrie. Dieses Gebiet nennt sich folgerichtig dann auch Visual Odometry.
    In zwei Tagen ist meine Studienarbeit dazu fertig, dann kann ich ja mal einen Link darauf posten.
    Beschäftigst du dich im Rahmen eines Uni-Projektes damit? Poste doch mal einen Link auf ein Paper o.ä. zu diesem LR-data-flow-Algorithmus.
    Grüße,
    zefram

    --
    www.roboking.de - Jetzt bis zum 31. Mai 2007 anmelden für die fünfte Runde des großen Roboterwettbewerbs für Schüler aus Deutschland, Österreich und der Schweiz -

  7. #7
    Gast
    Java VS C Geschwindigkeit:

    Java hat sicher ein paar schöne Funktionen und evtl. den einen oder anderen Voteil, aber GESCHWINDIGKEIT GEHÖRT NICHT DAZU. Java ist generell interpretierter Code. Meiner Erfahrung nach sind Javaprogramme ab einem gewissen Umfang unglaublich langsam, z.B. die Oberfläche von Matlab.
    Für schnelle Software sollte man immer noch C verwenden, sofern man nicht ASM programmieren will.

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.11.2003
    Ort
    Chemnitz
    Alter
    43
    Beiträge
    129
    Selbst vor Assembler sollte man nicht zurückschrecken. Einige MMX Operationen sind gerade für Berechnungen im Bereich Bildverarbeitung sehr hilfreich. (Skalarprodukt, Vektoradditionen ...)
    Grüße,
    zefram

    --
    www.roboking.de - Jetzt bis zum 31. Mai 2007 anmelden für die fünfte Runde des großen Roboterwettbewerbs für Schüler aus Deutschland, Österreich und der Schweiz -

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    03.08.2004
    Ort
    München
    Beiträge
    52
    ...wenn der code allerdings nur auf dem rechner laufen soll (und nicht auf dem microcontroller), so werde ich wohl nicht noch asm mit zunehmen. wenn, dann bleibe ich bei dem von euch besagten c (werde dann sicherlich borland c++ verwenden). aber danke erstmal für eure erfahrungsberichte!

    @zefram: bin noch nicht an der uni, sondern einer der glücklichen, der 13 jahre zur schule muss. aber morgen habe ich meine letzte abi-prüfung (wirtschaft mdl.), und dann kann ich mich endlich austoben. ja, und danach geht es natürlich zur uni. möchte dann mechatronik studieren und mich hauptsächlich auf stereopsis konzentrieren!
    kann dir dann ab morgen mal einige links posten zu meinem vorgezogenen algo! heute habe ich nicht wirklich den nerv dazu!

    PS (@zefram): soll mittels der eigenkontrolle der bewegung überprüft werden, um wieviel grad sicher robo gedreht hat, bzw. wie schnell der robo eine bestimmte strecke gefahren ist?
    Man muss die Welt nicht verstehen,
    man muss sich nur in ihr zurecht finden.
    [A. Einstein]

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.11.2003
    Ort
    Chemnitz
    Alter
    43
    Beiträge
    129
    Zitat Zitat von Fisch-Ei
    kann dir dann ab morgen mal einige links posten zu meinem vorgezogenen algo! heute habe ich nicht wirklich den nerv dazu!
    Mach mal bitte

    soll mittels der eigenkontrolle der bewegung überprüft werden, um wieviel grad sicher robo gedreht hat, bzw. wie schnell der robo eine bestimmte strecke gefahren ist?
    Genau. Weil die Odometrie im Außenbereich sehr unzuverlässig ist und auch andere Sensorsysteme nicht unbedingt verlässliche Daten liefern, kann ein kameragestütztes Verfahren hier viel helfen. Zumindest sind die ersten Ergebnisse sehr vielversprechend und auch gerade noch in "Echtzeit" rechenbar.

    Ein Link zu meiner Studienarbeit zu diesem Thema: www.tu-chemnitz.de/~niko/studienarbeit
    Grüße,
    zefram

    --
    www.roboking.de - Jetzt bis zum 31. Mai 2007 anmelden für die fünfte Runde des großen Roboterwettbewerbs für Schüler aus Deutschland, Österreich und der Schweiz -

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress