Wie am einfachsten Schachbrettmuster erkennen?
-
Dieser Beitrag wurde gelöscht!
-
@EinNutzer0 sagte in Wie am einfachsten Schachbrettmuster erkennen?:
Wie müsste das neuronale Netz aufgebaut sein? Was verwende ich als Trainingsdaten, Ein- und Ausgabe? Was wäre überhaupt der Suchbegriff? Subimage bzw. Pattern recognition bzw. matching?
Also ich bin kein Experte auf dem Gebiet. Neben einer Vorlesung an der Uni habe ich mal das Buch Machine Learning mit Python gelesen. Und ehrlich gesagt würde ich da gerne mehr machen wollen.
Ich würde am Anfang erst einmal ein paar Versuche mit Python starten. Mit Python lassen sich sehr schnell Ergebnisse erziehlen. Mittels pip z.B. lassen sich die Module (Scikit-Learn, NumPy, Pandas, MatplotLib, OpenCV, SciPy, Keras) installieren.
Mein Voschlag wäre es die Kamera fix zu installieren und das Bild in die einzelnen Felder zu unterteilen. Jedes einzelne Feld-Bild wäre dann die Eingabe des KNN, s.d. ein Eingabeneuron einem 24 Bit RGB Pixel entspricht. Als Ausgabeneuronen würde ich 8 Stück ausprobieren, Neuron 1 entspricht Bauer, Neuron 2 Turm, Neuron 3 Springer, Neuron 4 Läufer, Neuron 5 König, Neuron 6 Königin, Neuron 7 Figur ist weiß, Neuron 8 Figur ist schwarz. Für alle Ausgabeneuronen gilt, 0x00FFFFFF = true, 0 = false.
So kannst du einen Screenshot in die 64 Felder unterteilen und bekommst damit die ersten 64 Trainingsdaten.
PS:
DIe Entwicklung eines KNN kenne ich als einen explorativen Prozess, man muss viel ausprobieren.
-
Hm, da die Anfangsstellungen der Figuren variieren können, würde ich eigentlich nicht versuchen wollen, die Position/Koordinaten des Schachfeldes bzw. -Bretts über die Figuren zu erkennen... stattdessen würde ich lieber das typische Schachbrettmuster (Gitternetz?) erkennen wollen.
@KahnSoft Kein Grund, unfreundlich zu werden. Ein Jahr Einarbeitungszeit, obwohl die Erkennung der einzelnen Figuren bereits (zum Teil) funktioniert (wenn die entsprechenden Teilbilder vorhanden sind), halte ich für sehr/völlig aus der Luft gegriffen. Du kennst mich und meinen Kenntnisstand doch gar nicht.
Aber ja, vielleicht ist ein KNN, um ein Gitternetz zu erkennen, nicht der optimale Weg/Ansatz... deshalb frage ich doch nach.
-
Vllt. interessiert dich diese wissenschaftliche Arbeit dazu: Chessboard and Chess Piece Recognition With the Support of Neural Networks ?
-
@EinNutzer0 sagte in Wie am einfachsten Schachbrettmuster erkennen?:
stattdessen würde ich lieber das typische Schachbrettmuster (Gitternetz?) erkennen wollen.
Dieser Ansatz erscheint mir ein wenig zu komplex. Denn in diesem Fall müsste jedes Ausgabeneuron den Zustand eines einzelnen Feldes wiederspiegeln z.B. 0 = leer, 1 = weißer Bauer, 2 = schwarzer Bauer, ... Das entspricht 13 mögliche Zustände pro Feld. Das entspricht 64*13 = 832 mögliche Ausgabezustände. Nun muss jeder gewünschte Output auch in den Trainingdaten vorhanden sein.
Wie macht man da die Trainingsdaten, s.d. alle möglichen Outputs in den Ausgabeneuronen abgedeckt sind?
Ein Ansatz wäre Brute Force. Schachfeld leeren, auf Feld 1 ein weißer Bauer stellen, Screenshot machen und entsprechend beschriften. Das macht 832 Screenshot. Wenn wir pro Screenshot 5 MInuten benötigen würde, wäre man alleine hierfür 5*832 Minuten = 9 Arbeitstage damit beschäftigt.
Und hierbei habe ich noch nicht berücksichtigt dass benachbarte Felder die Interpretation des Feldes nicht stören dürfen.
-
@EinNutzer0
PS: Mein Ansatz hat auch einen Vorteil. Die Ausgabe eines Neutrons lässt sich als Wahrscheinlichkeit interpretieren. (0x00FFFFFF = 100%, 0 = 0 %).
-
@Quiche-Lorraine sagte in Wie am einfachsten Schachbrettmuster erkennen?:
Die Ausgabe eines Neutrons ...
Du musst bei der Neutronenausgabe allerdings auch den Strahlenschutz beachten. Hat dein Netz auch Protonen und Elektronen?
-
@wob sagte in Wie am einfachsten Schachbrettmuster erkennen?:
@Quiche-Lorraine sagte in Wie am einfachsten Schachbrettmuster erkennen?:
Die Ausgabe eines Neutrons ...
Du musst bei der Neutronenausgabe allerdings auch den Strahlenschutz beachten. Hat dein Netz auch Protonen und Elektronen?
Ich denke, sie oder er meinte damit ein Neuron... (das sind, vereinfacht gesagt, einzelne Gehirnzellen - und ein planvoller Zusammenschluss mehrerer solcher Zellen (KNN) verhält sich eben so (physikalisch gesehen, nicht biochemisch), wie das Gehirn... Deshalb hat man das Ding in der Inof ja so genannt...)
...Obwohl... wenn man die Aktivierungsfunktion als ein Neurotransmitter (Botenstoff) interpretieren möchte, dann gibt es vielleicht auch biochemische Parallelen.
Wie auch immer, ihr werdet es nicht glauben, aber ich bin meinem Ziel noch keinen Schritt näher gekommen.
-
@EinNutzer0 sagte in Wie am einfachsten Schachbrettmuster erkennen?:
Ich denke, sie oder er meinte damit ein Neuron... (das sind, vereinfacht gesagt, einzelne Gehirnzellen - und ein planvoller Zusammenschluss mehrerer solcher Zellen (KNN) verhält sich eben so (physikalisch gesehen, nicht biochemisch), wie das Gehirn... Deshalb hat man das Ding in der Inof ja so genannt...)
Ich bin mir sicher, @wob ist das bewusst
Wie auch immer, ihr werdet es nicht glauben, aber ich bin meinem Ziel noch keinen Schritt näher gekommen.
Was hast du denn bis jetzt versucht?
-
@EinNutzer0 sagte in Wie am einfachsten Schachbrettmuster erkennen?:
...Obwohl... wenn man die Aktivierungsfunktion als ein Neurotransmitter (Botenstoff) interpretieren möchte, dann gibt es vielleicht auch biochemische Parallelen.
Nein, nur ein Freudscher Verschreiber.
Wie auch immer, ihr werdet es nicht glauben, aber ich bin meinem Ziel noch keinen Schritt näher gekommen.
Warum nicht?
-
Leider kein Wunder, du hörst ja nicht auf das was man Dir nahe legt,
und so geht es leider in der Softwareindustrie einher, ein Pulk von Chauvinisten wo ein jeder der beste Entwickler sei.
Wir jedenfalls waren früher froh wenn wir Hinweise per Briefpost kommunizierten, heute finden sich nur noch Modul -Zusammenstecker . Und was nicht passt kann man halt auch nicht machen ^^
-
@KahnSoft sagte in Wie am einfachsten Schachbrettmuster erkennen?:
Wir jedenfalls waren früher froh wenn wir Hinweise per Briefpost kommunizierten,
echt traurig, aber wenigstens bin ich schlauer als du, wenn du anscheinend gar nichts hinbekommst, aber Hauptsache ist, man erteilt anderen irgendwelche Anweisungen...
Versteh mich bitte nicht falsch, ich weiß das dies ein öffentliches Forum ist, aber ich hatte dich in keinster Weise nach deiner Meinung gefragt... Ich mag deine Sorte Mensch nicht... Such dir doch ein anderes Hobby...