Naja, man nennt das schon verktor der geraden...
Gruß
Johannes
Die Cam soll als Ziel erkennung eingesetzt werden in version 1.
Das heißt ich hänge im raum ein bild auf das soll erfinden und hin fahren.
Natürlich muß das bild in der Höhe der cam hängen. Warum ich die fläsche errechnen will ist folgende Formel
Umfang
compactness = ----------------
Flächeninhalt
so mit ist der Abstand zwischen bild und cam egal und ich brauche kein zwei um die entfernung berechne zu können. Die enfernung mißt ein sharp (IR). natürlich funktioniert die Fläsche berechnung nur wenn ich da von ausgehe das es ein kreis ist oder die Form als solche erkenne. Die Formen in Vierecke und kreis zu teilen ist das nächtes Problem.
Zur zeit möchte ich folgendes hin bekommen.
Bild:
00000000
00001000
00010100
00100010
00010100
00001000
00000000
00000000
0 = Schwarz
1 = Weiß
Dieser Keis hat einen Durchmesser von 5.
Jetzt kann ich fläsche und den umfang bestimmen und mit der Ziel bestimmung vergleichen. Dieses alles funktion dann natürclich nur in ein leeren Raum. Dieses ist mir klar. Wenn das aber bei allen Licht verhältnisens und in echt funktioniert dann hätte ich mein ziel für version 1 erreicht. dann kommt die erkkennnung wenn in der Fläsche gegen stände sind.
Gruß
P: Meine Tochter (06.11.07) und https://www.carnine.de
M: Träumen hat nix mit Dummheit zu tun es ist die Möglichkeit neues zu erdenken
Naja, man nennt das schon verktor der geraden...
Gruß
Johannes
relaunched: http://www.mindrobots.de algorithms for intelligent robots
Naja, bei uns net
Da ist das ne Gerade, definiert durch einen Ortsvektor und eine Richtungsvektor...
Hm, so weit wohnen wir doch auch wieder nicht auseinander, oder?
Das mit der Gerade stimmt schon, aber bei uns schreibt man immer: (x> steht für x-Vektor, also x mit Pfeil drüber)
g1: x> = s> + t * r>
g1: Gerade 1
s>: Ortsvektor
r>: Richtungsvektor
t: eben der Faktor, für jeden Punkt spezifisch
Dasselbe auch mit Ebenen:
E1: x> = ...
Kommt dir diese schreibweise völlig unbekannt vor?
Gruß
Johannes
P.S. @nr.5: Sorry, dass wir wieder abdriften, aber erst einmal muss ich zum Arzt und dann lese ich mir dein Post nochmal genau durch.
Mit der 3D-Erkennung mit 2 Cams oben dachte ich nicht nur an die Entfernungsbestimmung, sondern an die Erfassung der Objektes im ganzen Raum. Damit würde man es dann auch aus einem anderen Blickwinkel wiedererkennen können, was bei einfacher 2D von einem 3D-Objekt natürlich nicht unbedingt ohne weiteres möglich ist.
relaunched: http://www.mindrobots.de algorithms for intelligent robots
Wenn du sowas hier hast:Die Formen in Vierecke und kreis zu teilen ist das nächtes Problem.
müsstest du da eigentlich schon auslesen können, ob es ein Kreis oder ein Rechteck ist.00000000
00001000
00010100
00100010
00010100
00001000
00000000
00000000
-Wenn du alle Reihen von oben nach unten durchgehst und jeweils die zwischen 2 Einsen eingeschlossenen Pixel zählst, ergibt die grösste Zahl die Breite, bzw. den Durchmesser.
-Wenn du dasselbe von oben nach unten machst, erhältst du Höhe, btw. Durchmesser.
- Wenn Höhe und Breite unterschiedlich sind, ist es kein Kreis, also ein Rechteck (oder ganz was anderes)
- Wenn Höhe und Breite gleich sind, ist es ein Kreis oder ein Quadrat.
- Wenn du Breite und Höhe in Pixeln kennst, kannst du ausrechnen, wieviel Pixel der Umriss einschliessen müsste, wenn es ein Quadrat ist.
- Schliesst der Umriss weniger Pixel ein, ist es ein Kreis und kein Quadrat.
na so in der art habe ich auch schon gedacht aber auch das ist ein kreis
000011000
000100100
000100100
000011000
000000000
oder nicht ?
in der software ist es zwar nicht 0 und eins aber so ligen die daten vor als array of float.
recycle in was programmiers du ?
hast du vielleicht ein code ansatz ?
P: Meine Tochter (06.11.07) und https://www.carnine.de
M: Träumen hat nix mit Dummheit zu tun es ist die Möglichkeit neues zu erdenken
@Johannes
Naja, ein Stückchen ists schonHm, so weit wohnen wir doch auch wieder nicht auseinander, oder?
Ne, machen wir fast genauso. Wir haben wohl etwas aneinander vorbeigeredet und dabei beide das gleiche gemeintDas mit der Gerade stimmt schon, aber bei uns schreibt man immer: (x> steht für x-Vektor, also x mit Pfeil drüber)
g1: x> = s> + t * r>
g1: Gerade 1
s>: Ortsvektor
r>: Richtungsvektor
t: eben der Faktor, für jeden Punkt spezifisch
Dasselbe auch mit Ebenen:
E1: x> = ...
Kommt dir diese schreibweise völlig unbekannt vor?
@NumberFive
Ist Array of Float nicht unsinnig ? Brauchst du wirklich Gleitkommawerte ? Wenn man das ganze mit Integer oder Bytes machen würde könnte man doch vermutlich noch ein bißchen Rechenzeit einsparen.in der software ist es zwar nicht 0 und eins aber so ligen die daten vor als array of float.
Deine Beispiele sind übrigens zu klein, als das man da zwischen Kreis, Rechteck usw. wirklich unterscheiden könnte. Das erste wäre nämlich zum Beispiel viel eher eine Raute als ein Kreis...
MfG Kjion
Hallo Kjion,
das mit dem Array of float ist erst jedes so war für ein Array of byte
aber arbeiten dann gaus und canny nicht sauber un beim umrechen von
farbe nach schwarz /weiß geht zu viel verloren deshalb float.
Natürlich sin die beispiele zu klein aber ehrlich hatte jetzt nicht gerade lust
340 Nullen in die breite zu schreiben un 240 nach unten spricht in mein posting 76000 nullen und einsen zu schreiben es ging nur um prinzip.
Gruß
P: Meine Tochter (06.11.07) und https://www.carnine.de
M: Träumen hat nix mit Dummheit zu tun es ist die Möglichkeit neues zu erdenken
Hier im Downloadbereich gibt es eine Diplomarbeit, wo ein Kohonen-Netzwerk für die Erkennung von Verkehrszeichen verwendet wurde.
Dies wäre ebenso ein interessanter Ansatz, speziell wo es doch hierbei um Mustererkennung geht (Ist auch wohl einige der wenigen Bereiche wo NNs schon effektiv eingesetzt werden).
Ebenso habe ich einen anderen Bericht gesehen wo eine Kamera und ein Laser verwendet wurde um Objekte zu erkennen. Dazu wurde der Kamera noch ein Filter vorgesetzt, so daß nur das Licht des Lasers registriert wurde.
Dies vereinfacht natürlich die Erkennung von Objekten nicht unwesentlich.
(Im Bericht wurde nur eine horizontale Linie mit dem Laser gezogen).
Wenn man das weiterspinnt und sich zwei Kameras vorstellt, dazu ein Laser der die Umgebung Zeilenweise abtastet, so könnte ich mir gut Vorstellen, daß man eine Objekterkennung hinkriegen kann (zumindest kann man Objekte als Flächen erkennen und anhand der Stereobilder könnte man sogar grob die Entfernung der Objekte ermitteln).
Dies soll euch nur als kleine Anregung dienen !!!
(Ich selber habe keine große Ahnung von NN oder Bildverarbeitung, fand jedoch den Ansatz mit dem Laser sehr gut nachvollziehbar).
@NumberFive
Das wäre ein Kreis mit 4 Pixel Durchmesser. Das wäre dann sicherlich kein Objekt, dass du besonders gut per Bilderkennung erkennen könntest. Das würde man ja eigentlich auch mit dem menschlichen Auge eher Punkt und nicht als Kreis wahrnehmen.na so in der art habe ich auch schon gedacht aber auch das ist ein kreis
000011000
000100100
000100100
000011000
000000000
oder nicht ?
Bei grösseren Objekten, z.B. einem Kreis mit 10, 20 oder mehr Pixeln ergibt sich das Problem das du da andeutest ja nicht mehr und die Symmetrie wäre wesentlich deutlicher zu erkennen.
Ich programmiere da gar nichts dran, ich finde das Thema nur sehr interessant und verfolge den Thread deswegen.recycle in was programmiers du ?
hast du vielleicht ein code ansatz ?
Ich kenn ein bischen Visual Basic, Java, Javascript usw. kann aber nicht wirklich programmieren. Wenn ich überhaupt mal ein kleines Programm zusammenbastel, muss ich mir die einzelnen Befehle, Codeschnipsel, Beispielcode usw. mühselig zusammensuchen und zusammenbasteln.
Lesezeichen