Jump to content
GianCann

PIQABRICK: Piattaforma per il riconoscimento ottico di elementi LEGO

Post raccomandati

Apro questo topic per parlarvi di un progetto, in via di sviluppo, che potrebbe trovare interesse tra molti AFOL.

Nei mesi scorsi l'associazione ItLUG è stata contattata da una startup italiana (GETCOO srl) specializzata nello sviluppo di soluzioni basate sul riconoscimento delle immagini per applicazioni in ambito industriale e mi sono preso l'incarico di approfondire l'idea di un loro progetto: il PIQABRICK.

Hanno pensato che la loro conoscenza/tecnologia sulla comparazione di immagini (Computer Vision basata su Intelligenza Artificiale) possa trovare applicazione anche nel settore AFOL considerata la miriade di elementi LEGO esistenti, soprattutto se pensiamo anche alle varietà di colore e, soprattutto, alla moltitudine di elementi stampanti o con adesivi.

Il loro scopo è quello di realizzare un prodotto che possa essere utile nell'identificazione veloce e precisa di un pezzo LEGO, senza estenuanti (e talvolta infruttuose) ricerche nel catalogo Bricklink. Quante volte, ad esempio, vi siete persi nella ricerca del codice di una particolare head o di un torso?

Onestamente, ritengo che per un AFOL particolarmente esperto/navigato sia relativamente facile risalire al codice di un pezzo osservandone le caratteristiche/famiglia di appartenenza.
Chi "naviga" nel catalogo Bricklink da anni, sa bene come "costruire" le 2-3 keyword giuste per limitare la ricerca a pochi elementi con cui fare il match "visivo" finale.
Ci sono varie tecniche di ricerca e, con più o meno passaggi, alla fine di riesce a dare un nome/codice ad un elemento.

Talvolta, però, la questione diventa più complessa specialmente quando si tratta di identificare il codice esatto di un elemento stampato (pensate a quanti brick/slope/tile decorated e a quante head/torsi/legs differenti esistono) o di un elemento che mai prima c'era capitato tra le mani (sappiamo bene quanti nuovi elementi vengono introdotti periodicamente... impossible conoscerli tutti!).

È in questo caso che il sistema PIQABRICK della GETCOO, potrebbe venire in aiuto dell'AFOL o del venditore Bricklink (o altro narketplace) che vuol facilmente, velocemente e senza margini di errore, dare un codice/nome all'elemento 'x' spuntato fuori dal mucchio di sfuso reperito chissà dove.

Ecco un video che rende l'idea di come funzionerà PIQABRICK

Il sistema PIQABRICK si basa sostanzialmente sulla comparazione di un'immagine con un database di riferimento, mediante un algoritmo proprietario, così come (per fare un esempio noto ai più) è in grado di fare l'applicazione Shazam per le tracce audio.

Il limite di questo tipo di applicazioni è dato dalla qualità dell'elemento sorgente (immagine o audio che sia) e dall'ampiezza/completezza del database di riferimento.

Infatti, se l'audio che catturiamo con il nostro smartphone non sarà sufficiente pulito e/o di volume adeguato, l'App Shazam non sarà in grado di riconoscerlo correttamente e, di conseguenza, restituirvi titolo e autore del pezzo.
Allo stesso modo, anche se l'audio fosse di ottima qualità e campionato al volume giusto, senza l'esistenza di un campione di riferimento precedentemente memorizzato con cui fare la comparazione, Shazam non sarebbe ugualmente in grado di riconoscere la traccia audio sotto esame.

Lo stesso principio, pertanto, si applica ai sistemi di di riconoscimento ottico.

È necessaria un'immagine di qualità (ovvero di una certa risoluzione), senza la presenza di informazioni "spurie" (che ne altererebbero le caratteristiche/contorni) e, non di meno, catturata con una determinata e omogenea condizione di luce. Contestualmente, è necessaria la presenza di una o più immagini comparative precedentemente acquisite.

Per risolvere il primo problema, gli sviluppatori di PIQABRICK hanno realizzato un apposito box di scansione che garantisce un preciso posizionamento del pezzo LEGO rispetto alla telecamera di acquisizione, oltre che omogenee condizioni di luce/illuminazione. Il box di acquisizione è dotato di una apposita scheda elettronica che include telecamera e un set di LED per l'illuminazione artificiale (ed omogenea) oltre, ovviamente, all'interfaccia USB.

Rispetto al video di presentazione, in cui compare un box di dimensioni generose, la GETCOO ha deciso di partire con una versione più ridotta.

Questo è un loro prototipo interno:

61454706_295720081331406_2842038602030907392_n.thumb.jpg.b4cbaea39a4753ea36dc19165b4c72e6.jpg

61456610_295720161331398_6731794945042022400_n.thumb.jpg.9eb9405ea74da5a510a697b72c42d0ad.jpg

Mentre questo dovrebbe essere il prototipo finale che verrà distribuito ad alcuni beta tester:

61662987_297586271144787_379154065008885760_n.thumb.jpg.d1165b700895f4880c9ae476cba37eb5.jpg

Il box si collega via USB al PC/Mac, mentre il software che effettua il vero e proprio riconoscimento ottico risiede sui server dell'azienda, al quale vi si accede via browser (sostanzialmente è un prodotto fornito in modalità SaaS).

A tutto il resto, penserà l'algoritmo sviluppato dalla GETCOO, denominato DART (Direct Acquisition and ReTrieval).

Il loro progetto è in avanzata fase di sviluppo e a breve saranno forniti i primi 10 prototipi del box ad altrettanti AFOL sparsi per il mondo, che potranno contestualmente accedere alla piattaforma online per la scansione/comparazione dell'oggetto.

Ho il piacere (e la grande curiosità) di essere uno dei 10 AFOL selezionati per questa fase di testing, durante la quale vi racconterò nel dettaglio il funzionamento del sistema.

(nota: i prototipi saranno consegnati a settembre)

L'azienda ha già un'idea di massima della formula commerciale con la quale proporre il prodotto sul mercato e, fondamentale, si baserà sull'acquisto del box e su un abbonamento annuale per accedere alla piattaforma di identificazione (non posso dire di più sui prezzi, non essendo definitivi. Sappiate solo che sono molto interessanti).
Ci sarà anche la possibilità di utilizzare la piattaforma online gratuitamente, benché con alcune limitazioni sul numero di scansioni giornaliere e sulle funzionalità disponibili sulla piattaforma.

Il database delle immagini di riferimento, nella fase iniziale di lancio del prodotto, dovrà necessariamente essere "popolato" e per farlo sarà indispensabile il contributo della Community AFOL che intenderà appoggiare questo progetto. Aiuto che la GETCOO ricompenserà con delle formule ancora in fase di valutazione di cui vi parlerò appena potrò farlo nel dettaglio.

Non vi nascondo che ho qualche perplessità sull'effettiva utilità del sistema, soprattutto per un AFOL/Bricklinker particolarmente esperto, e molto dipenderà anche dalle funzionalità del software.
La fase di beta-testing servirà proprio ad analizzare sul campo pratico il sistema, e renderlo il più possibile "a misura d'AFOL".

Quali sono le vostre prime impressioni su questo sistema?

Può effettivamente essere utile?
Cosa potrebbe fare, secondo voi, oltre a riconoscere un elemento?

Sono in contatto diretto con gli sviluppatori, e se avete qualche domanda (alla quale non sono già in grado di rispondere io) la inoltrerò a loro.

P.S. Vi anticipo che la GETCOO ha già preso contatti con Bricklink e Brickscout per una possibile futura integrazione sulle rispettive piattaforme di vendita.

Vi allego anche qualche foto di anteprima della piattaforma web di gestione del magazzino:

Scan_1.thumb.png.994ab95e8d77c1b55f044f1b5a152a6c.png

 

Scan_2.thumb.png.b76b94f5d251df8d66e820f5cc9a1e6d.png

Scan_3.thumb.png.4bd7ea99ad8435f74a81886116f69539.png

 

Inventory_2.thumb.png.45e3038299fcc4f05da821eab8cdb8f6.png

 

Bricks_1.thumb.png.f9242fd01f5d14fa3b33ff0300c0943e.png

Inventory_1.thumb.png.1cb5291385eb2e6370ab210bc8a9c841.png

Inventory_3.png

Inventory_5.png

Scan_4.png

Condividi questo post


Link al post
Condividi su altri siti

Aggiungo una precisazione: il prodotto vero e proprio che verrà venduto non sarà l'intero box, ma solo il top superiore:

IMG_20190809_125827.jpg.9f049b9b4c52d490cd31dafae3fc38e5.jpg

Questo è, come già detto, un prototipo. La versione definitiva avrà un profilo leggermente più basso e si innesterà su un supporto di brick (tutta la parte nera che si vede nella foto) che ognuno potrà costruire in autonomia.

Qui di seguito, alcuni dettagli del contorno che si incastrerà sugli stud.

20190809_095407.thumb.jpg.7cfa7547e8fc0357bd6388181c12e36b.jpg

20190809_095328_HDR.thumb.jpg.3f721a579231ae36053a0bd2cfc7bbac.jpg

Le dimensioni del "top di scansione" consentiranno di personalizzare il box secondo le proprie esigenze, come in questo esempio:

IMG-20190809-WA0025.thumb.jpg.526840572db13c2d0d0d0fafea19c44c.jpg

Ripeto: la parte superiore sarà più sottile nella versione definitiva e sarà compatibile con le dimensioni (anche in altezza) del sistema LEGO.

Per quanto riguarda la "scatola", si basa su una plate 16x16 con 3 muri di brick alto 12 il cui colore, in linea di massima, dovrà essere scuro.

Il prototipo attuale è alto 5 brick, mentre la versione finale sarà un brick più bassa. L'altezza è dovuta probabilmente alla scelta di posizionare i led di illuminazione in modo che non puntino direttamente sull'oggetto da inquadrare.

In questa foto si può meglio notare come il top sia LEGO "compliant".

IMG-20190809-WA0036.thumb.jpg.dc35c69cc6b023c191176ea38ef1d13d.jpg

Condividi questo post


Link al post
Condividi su altri siti

Li ho incontrati ad una fiera sull'innovazione a Bologna a inizio giugno. Il progetto è molto interessante e credo che possa essere utile a molti AFOL.

Ho visto all'opera l'apparecchio ed è molto rapido e preciso.

Condividi questo post


Link al post
Condividi su altri siti

L'idea è ottima, se parte su KS li sovvenziono sicuro.
Su YouTube ci sono vari video di realizzazioni di questo tipo, ma tutte Home Made, questa sembra che si spinga verso la produzione e la vendita (e dico finalmente!).
Io più che il lato RESELLER lo vedo utile sul lato AFOL, ovvero per il riconoscimento e il successivo sorting.

Ecco un prototipo che avevo visto 3 anni fa su YT:

Se facessero anche la parte di Sorting...investo anche 5.000 euro su di loro.

La domanda che mi sorge è se il brick possa essere riconosciuto in qualunque lato venga fatta la scansione (ovviamente stampa a parte), perché se per loro esiste un solo "verso" di riconoscimento, questo è un problema per il lato Sorting. 

Per la parte di divisione e raccolta pezzi, beh, quello poi è il meno.

Ultima modifica: da Pix

Condividi questo post


Link al post
Condividi su altri siti

Aggiungo un'altra osservazione:
Se il loro progetto rimane così senza nessuna implementazione per il sorting, non so quanto possa essere utile al mondo AFOL, quando fai una MOC quel pezzo anche se non sai che codice abbia, tu lo usi perché in quel momento è il migliore, ti appaga, rende meglio, ecc, quindi del codice te ne fai ben poco. Serve sì solo se lo devi ricomprare ma non sai il codice, ma quante volte succede questo?

Ha più senso per il lato BRICKLINKer, dove uno deve caricare il pezzo nel suo stock per poi rivenderlo.

Seppur quest'ultima fetta sia molto importante per il mondo AFOL, i rivenditori sono molto meno rispetto agli AFOL che costruiscono MOC.

Boh, non so, forse lo prenderei lo stesso, ma solo per sfizio, per utilità nel mio caso serve a ben poco. Poi ovvio @GianCann, se sei in procinto di aprire un negozio BL, questo ti sarà molto utile...

Condividi questo post


Link al post
Condividi su altri siti
12 ore fa, Pix ha scritto:

Boh, non so, forse lo prenderei lo stesso, ma solo per sfizio, per utilità nel mio caso serve a ben poco. Poi ovvio @GianCann, se sei in procinto di aprire un negozio BL, questo ti sarà molto utile...

È la stessa osservazione che feci allo sviluppatore del progetto. L'utilità per un AFOL è relativa, a meno che l'AFOL necessiti di inventariare il proprio magazzino o alimentare il proprio negozio Bricklink (utile, in questo caso, per riconoscere velocemente la miriade di pezzi stampati, come slope, torsi, legs, tile...).

Come ho già anticipato, la GETCOO è già in contatto con alcune piattaforme di vendita (Bricklink inclusa) e non è escluso che possa essere integrato ufficialmente.

Appena arriverà il prototipo, capiremo meglio quale sarà il suo reale potenziale.

Condividi questo post


Link al post
Condividi su altri siti
12 ore fa, GianCann ha scritto:

È la stessa osservazione che feci allo sviluppatore del progetto...

Sarebbe bello se si potesse comunicare con loro, davvero, se facessero la parte part-out, per loro sarebbe paragonabile alla scoperta del Sacro Graal, se invece vogliono rimanere "mediocri", scelta loro.

Condividi questo post


Link al post
Condividi su altri siti
Il 28/8/2019 alle 19:58, Pix ha scritto:

Se facessero anche la parte di Sorting...investo anche 5.000 euro su di loro.

Suvvia @Pix... sii realista: la parte di sorting è utopistica.

Per quanto tu possa avere spazio (parlo di una casa) potrai al massimo implementare il sorting di 10/15 referenze (design-colore).

Per avere un sorting veramente utile, fai prima ad assumere una persona che lo faccia manualmente: ti costerà meno, e sarà più preciso.

Comunque, sappi che (solo per gioco) implementerò un sistema di sorting integrato con Piqabrick basato su Spike/Powered Up/EV3 (cioè, con uno di questi sistemi).

Ripeto: solo per gioco e limitato a 3-6 design al massimo (no colore).

Riguardo i tuoi 5.000 euro, potresti investirli in viaggi culturali. Ad esempio, in Austria.

Condividi questo post


Link al post
Condividi su altri siti
Il 7/9/2019 alle 07:17, GianCann ha scritto:

Riguardo i tuoi 5.000 euro, potresti investirli in viaggi culturali. Ad esempio, in Austria.

Ti avviso che 5.000 per una cosa "fatta" bene non basta.

Sul fatto del Sorting, più volte io e @AirMauro ne abbiamo potuto parlare e la parte dove ci “incagliavamo” era il riconoscimento pezzi.
Se il modulo PIQABRICK funziona con percentuali di errori minimi, “sem a post”.
La bozza che avevo messo giù in collaborazione con una azienda con cui ho fatto qualche lavoro (www.stemasrl.eu/), prevedeva una prima parte a 42 cestelli. La macchina presentava una lunghezza di mt.2. Spendendo qualcosa in più si può portare a 84 cestelli. Con un solo metro in più si può arrivare a 252 cestelli.
Per cestelli intendo delle scatole per raccolta pezzi da mm.300x150x300H.

Ovviamente non la metterei in casa, ma qualche LUG a breve avrà un locale tutto suo 😉 ...

Condividi questo post


Link al post
Condividi su altri siti

l modulo PIQABRICK funziona con percentuali di errori minimi, “sem a post”.

Vedremo... sicuramente ci vorrà del tempo affinché il database di riferimento sia sufficientemente popolato con i dati per un corretto riconoscimento. E questo, in parte, dipenderà anche dalla diffusione del PIQABRICK.

59 minuti fa, Pix ha scritto:

La bozza che avevo messo giù in collaborazione con una azienda con cui ho fatto qualche lavoro (www.stemasrl.eu/), prevedeva una prima parte a 42 cestelli. La macchina presentava una lunghezza di mt.2. Spendendo qualcosa in più si può portare a 84 cestelli. Con un solo metro in più si può arrivare a 252 cestelli

Probabilmente è un mio limite, e non riesco a capire l'utilità di qualcosa che per costo/implementazione, non è alla portata di un AFOL.
E, considerando la miriade di referenze LEGO esistenti, non sarebbe utile neanche ad un bricklinker professionista.

La mia idea di implementare un sorting basato su PIQABRICK è sostanzialmente quella di replicare, più o meno, questo meccanismo.

Se guardi il video, noterai che la velocità di riproduzione è 4x. Quindi, nella realtà, è 4 volte meno veloce di quanto appaia nel video.

(per chi volesse approfondire, è tutto spiegato in questo articolo: https://medium.com/@pacogarcia3/tensorflow-on-raspbery-pi-LEGO-sorter-ab60019dcf32 )

Per quanto sia possibile realizzare un sistema di sorting automatico (su YT esistono decine di esempi) ritengo, che per essere effettivamente utile ad un AFOL, il suo costo di implementazione (inclusa la logistica) è sproporzionato al risultato ottenuto.

Insomma, sono troppe le referenze da smistare...

Condividi questo post


Link al post
Condividi su altri siti
2 ore fa, GianCann ha scritto:

La mia idea di implementare un sorting basato su PIQABRICK è sostanzialmente quella di replicare, più o meno, questo meccanismo.

Pressappoco è similare a quella studiata da noi, anche se il progetto prevede due versioni.

2 ore fa, GianCann ha scritto:

Probabilmente è un mio limite, e non riesco a capire l'utilità di qualcosa che per costo/implementazione, non è alla portata di un AFOL.
E, considerando la miriade di referenze LEGO esistenti, non sarebbe utile neanche ad un bricklinker professionista.

@GianCann ascolta, dipende tutto dalla "portata", non mi va di parlare di soldi e affini. Però è lo stesso discorso di chi per andar a far la spesa va con la Polo è chi va con una Koenigsegg. Lo stesso discorso che hai fatto con i tavoli con altezza modificabile, "io quei soldi li avrei spesi in brick", c'è chi oltre ai tavoli li spende lo stesso in brick. Chiuso discorso.

2 ore fa, GianCann ha scritto:

Se guardi il video, noterai che la velocità di riproduzione è 4x. Quindi, nella realtà, è 4 volte meno veloce di quanto appaia nel video.

Il problema maggiore è quello e il tutto dipende dal riconoscimento del pezzo, più veloce è quello più veloce è il Sorting.

L'idea era nata per smistare più e più Brick Box. Carichi la macchina la mattina e la sera o il giorno dopo la trovi smistata (ovviamente i pezzi che non smista tornano all'inizio e vengono smistati una volta svuotate le ceste). E non pensare a un prezzo poi così proibitivo. Ovvio che se uno ha una Brick Box all'anno da smistare non ne vale la pena...ma se già ne hai 12/14 all'anno...

Dettaglio: le referenze sono sempre tante, ma si può decidere quelle di smistarle complete (tipologia e colore) e quelle da smistare a "metà" (solo tipologia).

Condividi questo post


Link al post
Condividi su altri siti
49 minuti fa, Pix ha scritto:

dipende tutto dalla "portata", non mi va di parlare di soldi e affini. Però è lo stesso discorso di chi per andar a far la spesa va con la Polo è chi va con una Koenigsegg.

Certo. Non escludo a priori che ci possa essere anche un AFOL o un gruppo di AFOL disposto ad investire un certo budget per implementare un sistema di sorting/contapezzi automatico.

Riguardo la velocità, spero anch'io che sia sufficientemente veloce.

Appena avrò il prototipo tra le mani, gi saprò dire quanto sarà veloce.

49 minuti fa, Pix ha scritto:

L'idea era nata per smistare più e più Brick Box. Carichi la macchina la mattina e la sera o il giorno dopo la trovi smistata (ovviamente i pezzi che non smista tornano all'inizio e vengono smistati una volta svuotate le ceste). E non pensare a un prezzo poi così proibitivo. Ovvio che se uno ha una Brick Box all'anno da smistare non ne vale la pena...ma se già ne hai 12/14 all'anno

Da una singola BB possono venire fuori qualcosa oltre le 6-700 referenze diverse.

Magari uno può procedere per gradi smistando prima i design, e poi i colori.

Resto comunque dell'idea che è un progetto utopistico da raggiungere per il nostro settore.

D'altra parte, come hai visto, di esperimenti ne sono stati fatti molti, ma nessuno è andato oltre la semplice (quanto interessante) fase di studio.

Ultima modifica: da GianCann

Condividi questo post


Link al post
Condividi su altri siti
1 minuto fa, GianCann ha scritto:

Appena avrò il prototipo tra le mani, ti saprò dire quale sarà veloce.

👍 sono curioso pure io...

2 minuti fa, GianCann ha scritto:

D'altra parte, come hai visto, di esperimenti ne sono stati fatti molti, ma nessuno è andata oltre la semplice (quanto interessante) fase di studio.

Quello è vero. Ma secondo me dipende anche dalla mole di pezzi che uno ha da smistare.
Io mi immagino un negozio "serio" di BL, se uno ha un ingresso mensile solo con quello, dovrà smerciare almeno 200-300kg di pezzi? "almeno!".
 

Condividi questo post


Link al post
Condividi su altri siti
39 minuti fa, Pix ha scritto:

Io mi immagino un negozio "serio" di BL, se uno ha un ingresso mensile solo con quello, dovrà smerciare almeno 200-300kg di pezzi? "almeno!"

Di negozi "seri" ce ne sono tanti su Bricklink.

IMHO, la tecnologia, i tempi di lavorazione ed una supervisione umana (comunque necessaria) probabilmente non garantiscono un vantaggio rispetto all'investimento necessario.

Condividi questo post


Link al post
Condividi su altri siti
8 minuti fa, GianCann ha scritto:

IMHO, la tecnologia, i tempi di lavorazione ed una supervisione umana (comunque necessaria) probabilmente non garantiscono un vantaggio rispetto all'investimento necessario.

Questo si, ma dipende sempre da che livello si parte e a che livello si vuole arrivare.
Comunque discorso infinito e senza via quando si parla di investire su una propria attività.

Comunque "quel coso" che vogliono pubblicare su Kickstarter non deve costare più di euro 50/60.

 

Condividi questo post


Link al post
Condividi su altri siti
18 minuti fa, Pix ha scritto:

Comunque "quel coso" che vogliono pubblicare su Kickstarter non deve costare più di euro 50/60.

In linea di massima so qual'è la fascia di prezzo con cui lo presenteranno su KS, benché non sia nulla di definitivo e quindi non posso divulgarlo.

Andrà visto con quale formula di "abbonamento" lo metteranno in vendita perché di per sè, senza l'uso della loro piattaforma di AI online, quella scatola è solo una webcam.

Condividi questo post


Link al post
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente registrato per postare un commento

Crea un account

Iscriviti per un nuovo account nella nostra community. È facile!

Registra un nuovo account

Accedi

Hai un account? Accedi .

Accedi ora

  • Visualizzato ora da   1 utente

×
×
  • Crea nuovo...