De computer Rummikub laten uitsorteren - mogelijk?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • SkyStreaker
  • Registratie: Juni 2002
  • Laatst online: 12:52
Ik vraag mij dat af, of dat mogelijk is.

Stel je het volgende eens voor, de gehele set rummikub stenen met de nummers omhoog op tafel.

De computer ziet ze met de webcam en tagged elk steentje persoonlijk, met een uniek ID. Ze worden omgedraaid (machinaal bijv.), de webcam blijft de tags volgen. De stenen worden door middel van wat zacht ronddraaiende schijven door elkaar gehutseld, webcam blijft nog steeds de tags volgens - tracking. Het hutselen is klaar, de computer legt ze allemaal terug zoals ze eerst zijn neergelegd.

Kan dat eigenlijk? Zoveel individuele steentjes volgens, die d'r allemaal hetzelfde uitzien en dan toch nog "op lossen", na door elkaar heen te zijn gehaald?

Het spijt mij als het eventueel hier niet helemaal tussen past, maar ik zie geen andere plek en deze vraag zit al sinds gisteravond in mijn hoofd eigenlijk... :o Wellicht zelfs een leuk project-idee voor iemand? :P

[ Voor 3% gewijzigd door SkyStreaker op 22-07-2012 16:36 ]

Fractal Define R6 | ASRock B650M PG Lightning | AMD 8700G | G.Skill Flare X5 6000-CL30-38-38-96-134 (10ns) 2x16GB | Noctua NH-D15 Black | Seasonic Focus PX-750 Platinum | 4x2TB Kingston Fury NVMe | Shitty Gigabyte 24" Curved TN ding


Acties:
  • 0 Henk 'm!

  • MikeVM
  • Registratie: Mei 2007
  • Laatst online: 10-09 23:43

MikeVM

- Baloo -

dit is zeer zeker mogelijk. maar ik vrees dat het niet makkelijk is als hobbyist.
men kan al personen volgen in een grote massa mensen. en facialrecognition is een tandje ingewikkelder dan rummicubsteentjes.

[ Voor 43% gewijzigd door MikeVM op 22-07-2012 16:39 ]

\\ Baloo \\ Mijn iRacing profiel


Acties:
  • 0 Henk 'm!

  • kutagh
  • Registratie: Augustus 2009
  • Laatst online: 10:13
Het is technisch zeker mogelijk mits je de juiste hardware en programmering gebruikt.
Als je webcam een hoog genoeg resolutie heeft en op 25fps opneemt, zit er .04 seconde tussen elk beeld. De verplaatsing van een steentje zal in zo'n tijdsspanne niet zo groot zijn, dat je dus de locatie die gekoppeld is aan een ID redelijkerwijs kunt afleiden uit de vorige positie en de nieuwe posities zonder ID's.
Het manier van husselen is het belangrijkste: Als er alleen maar op 2 assen beweging is (dus op X/Y as, geen diepteverschillen) en de snelheid is niet heel snel, is het relatief eenvoudig te programmeren, als er ook diepteverschillen in kunnen zitten (X/Y/Z as) en/of op hoge snelheid gehusseld, wordt het al complexer omdat er al snel verwarring kan ontstaan tussen steentjes (hoge snelheid, 2 steentjes wisselen daardoor van positie tussen 2 beelden... Dan neem je aan dat ze niet bewogen hebben en hoppa, dat zijn 2 fouten).

Het belangrijkste is dat de geschreven code efficiënt genoeg is en de gebruikte hardware snel genoeg is om deze bewerkingen snel genoeg uit te voeren zonder grote vertragingen (dat wil dus zeggen, < .04s per image bij voorkeur).

Acties:
  • 0 Henk 'm!

  • _Erikje_
  • Registratie: Januari 2005
  • Laatst online: 10-09 20:55

_Erikje_

Tweaker in Spanje

De gemiddelde PC kan dit met 2 vingers in zijn neus. Je zult wel (veel) code moeten schrijven die de pattern recognition doet maar dat is geen hogere wiskunde, zeker als de camera boven het speelveld hangt. Met gebruik van OpenCV (of andere library) is het niet zo moeilijk.

Het zijn maar 106 stenen.... (8> Dus als je elke seconde wilt tracken waar een steen is heb je bijna 10ms per steen.

Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
_Erikje_ schreef op zondag 22 juli 2012 @ 21:59:
Met gebruik van OpenCV (of andere library) is het niet zo moeilijk.
De algoritmes in die library zijn bij lange na niet accuraat genoeg om dit te kunnen doen.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • PerfectLight
  • Registratie: December 2009
  • Laatst online: 14-02 10:09
Je zoekt zoiets?

Acties:
  • 0 Henk 'm!

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Rummikub != Rubik's Cube

Afbeeldingslocatie: http://www.thuisvergelijken.nl/img/category/1045/rumikub.jpg
En dat oppakken, en op volgorde verplaatsen.

Ey!! Macarena \o/


Acties:
  • 0 Henk 'm!

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

Het mechanische aspect van steentjes oppakken en terugleggen is vele malen moeilijker dan de computer vision. De CV is haast triviaal eigenlijk als je belichting gewoon goed is, steentjes niet al te glimmend, camera die het goed ziet, geen/weinig occlusie en vervorming, maar niet heel makkelijk even te implementeren.

[ Voor 48% gewijzigd door Zoijar op 22-07-2012 22:47 ]


Acties:
  • 0 Henk 'm!

  • Armageddon_2k
  • Registratie: September 2002
  • Laatst online: 10-09 15:29

Armageddon_2k

Trotse eigenaar: Yamaha R6

Mogelijk: JA
Zo simpel is het gewoon.

Het lijkt met verstandig, om eerste eens een variant te maken die alleen op de pc draait.
Eerst spelen met de algoritmes zodat je het sorteren ed allemaal onder de knie hebt.
Maak een leuke GUI en kijk of je het leggen van de stenen efficient voor elkaar kan krijgen.

Ik zou het "husselen" eerst even links laten liggen. Die stap kan later

Je kan met een XY-as systeem daarna prima uit de voeten. Je zou hiervoor een plotter oid kunnen gebruiken.
Beetje afhankelijk van je budget ook (Vergis je niet in de kosten van een dual axis systeem).
Het voordeel is natuurlijk dat de rummicub stenen vrij groot zijn en het dus niet mm noukeurig hoeft te zijn.
Je kan dan met bijvoorbeen vacuum een steentje oppakken en verplaatsen.
Het "Tracken" waar je het over hebt, zal niet mogelijk zijn, aangezien je je steentje oppakt, en deze dan niet meer zichtbaar is voor de camera.

Acties:
  • 0 Henk 'm!

  • _Erikje_
  • Registratie: Januari 2005
  • Laatst online: 10-09 20:55

_Erikje_

Tweaker in Spanje

Grijze Vos schreef op zondag 22 juli 2012 @ 22:07:
[...]

De algoritmes in die library zijn bij lange na niet accuraat genoeg om dit te kunnen doen.
Echt wel!!! }:O

Maar even serieus: als je er dobbelstenen mee kan onderscheiden moet het ook mogelijk zijn om een paar steentjes rummikub te analyseren...

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
_Erikje_ schreef op maandag 23 juli 2012 @ 18:32:
Maar even serieus: als je er dobbelstenen mee kan onderscheiden moet het ook mogelijk zijn om een paar steentjes rummikub te analyseren...
Er is nogal een verschil tussen een aantal stippen binnen een kader te herkennen (en die stippen hebben t.o.v. mekaar ook nog altijd 1 van 6 mogelijke posities / layouts) en 106 blanco steentjes (realtime) te tracken }:O ;)

[ Voor 10% gewijzigd door RobIII op 23-07-2012 19:06 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Jegorex
  • Registratie: April 2004
  • Laatst online: 03-09 23:24
RobIII schreef op maandag 23 juli 2012 @ 19:04:
[...]

Er is nogal een verschil tussen een aantal stippen binnen een kader te herkennen (en die stippen hebben t.o.v. mekaar ook nog altijd 1 van 6 mogelijke posities / layouts) en 106 blanco steentjes (realtime) te tracken }:O ;)
Zolang de steentjes niet te snel bewegen zou je elk gevonden steentje kunnen koppelen aan de dichtstbijzijnde steentje van de vorige frame. Ik weet niet zoveel van video detectie, maar ik ga ervanuit dat het niet moeilijk is om rechthoeken te vinden.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Dat heb ik ook niet gezegd; ik zei dat 't iets heel anders is dan _Erikje_ aanhaalde ;)

Maar misschien moeten we weer een beetje ontopic ;)

[ Voor 24% gewijzigd door RobIII op 23-07-2012 20:02 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
RobIII schreef op maandag 23 juli 2012 @ 19:04:
[...]

Er is nogal een verschil tussen een aantal stippen binnen een kader te herkennen (en die stippen hebben t.o.v. mekaar ook nog altijd 1 van 6 mogelijke posities / layouts) en 106 blanco steentjes (realtime) te tracken }:O ;)
Hangt sterk van de manier van shuffelen af. Als die redelijk random en snel is dan wordt het moeilijk / duur.

Maar TS heeft het over zacht ronddraaiende schijven, dan is het niet zo heel moeilijk. De verplaatsing per plaatje zal zo klein zijn dat er waarschijnlijk weinig logica nodig is. Zolang 75% van een steen op dezelfde plaats ligt is het dezelfde steen.
Pagina: 1