|
Meccanica cerebrale
β Programmi β
|
PARTE PRIMA
IL RICONOSCIMENTO TOPOLOGICO DELL'IMMAGINE VISIVA
Programmi eseseguibili e banca immagini. Eseguibili e immagini. <<<=== (SCARICA) Avanzamento degli studi. <<<===LEGGI SPESSO |
Listati dei programmi. Chi fosse
interessato a sviluppare con me il lavoro, mi
contatti: gli fornirò i listati. Ugualmente mi
contatti chi fosse interessato ai programmi che
girano sotto DOS, che non aggionerò più. |
AVVERTENZA.
Questi programmi servono a provare sperimentalmente la mia teoria sul riconoscimento human like delle immagini visive umane. Sono d'accordo con lo psicologo Piaget nel ritenere che nel bambino piccolo tale riconoscimento sia topologico, quindi inizio con la meccanizzazione di questo. Non aspettatevi uno stile di programmazione elegante: i programmi sono stati riscritti e rimaneggiati molte volte nella vecchia versione (3.01A) del Turbo pascal della Borland , risalente agli anni Ottanta. Ultimamente nell'inverno del 2011, ho riscritto i programmi in Lazarus. Inoltre non sono un esperto della materia. Fornisco sia i listati sia gli eseguibili sperando che qualcuno li affini. Sto meccanizzando la memoria ed il linguaggio, che metto in relazione in relazione al riconoscimento geometrico dell'immagine visiva. Rispetto al riconoscimento topologico è un problema minore, che avevo già affrontato e impostato in gioventù. Nel riconoscimento geometrico, sostanzialmente, si tratta di organizzare ordinatamente un insieme di percezioni visive riconoscendo topologicamente ognuna di esse e pesando l'importanza della sua presenza nell'insieme. Per realizzare questo obiettivo devo eseguire prove e prove sul computer e perciò mi sarebbe utilissimo avere la parte della visione topologica perfettamente funzionante e veloce. Rimarco che, fin d'ora questo lavoro ha ricadute industriali: relative alla costruzione di OCR, al riconoscimento degli oggetti, alla interpretazioni degli elettrocardiogrammi,... Purtroppo non ho tempo per sviluppare anche queste applicazioni tecniche. Vi avverto che non potrete comprendere i seguenti programmi senza leggere la parte di questo sito intitolata Meccanica cerebrale, scritta solo in italiano.
BANCA IMMAGINI.
Fornisco un un insieme di immagini, lettere dell'alfabeto latino, che sono entro matrici di 256x256 pixels con 256 livelli di grigio. Con queste potrete rendervi conto di come il computer possa imparare. Ogni pagina contiene quattro lettere A, oppure quattro lettere B,.... di foggia tipografica diversa. Potete anche usare altre immagini che scannerizzerete voi. Per ridurle in un formato leggibile dai miei programmi potete avvalervi del software di Franco Languasco Leggebmp ,scaricabile seguendo il link, e di paint di windows. L'ho usato, va bene ed esprimo la mia riconoscenza all'autore.
ESTRAZIONE DEI CONTORNI.
I programmi TABULA0, TABULA1, TABULA2, TABULA3, TABULA4 e TABULA5 provvedono ad estrarre i contorni. Procedendo nel solco del sistema visivo umano, almeno di come io lo interpreto, ho simulato l'inibizione laterale ed in effetti sui contorni delle figure sono presenti le bande di Mach e su questa ho applicato il gradiente (vedi Meccanica cerebrale, pag.22, fig.9) . Tuttavia io ritengo ancora più importante una seconda inibizione, quella direzionale che, a mio avviso, è importantissima nella classificazione dell'importanza degli angoli. La meccanizzazione di quest'ultima inibizione comporta una grande pesantezza di calcolo per cui ho dovuto recedere dall'obiettivo. Però si vede il lavoro abbozzato, tanto che ogni punto vicino al contorno della figura ha associata la direzione del suo gradiente. Questo semplice inizio, realizzato in TABULA4 fa si che esso sia esasperantemente lento (la sua esecuzione richiede una decina di minuti). Comunque se si estende questa direzione, attribuendogli valore del modulo del gradiente e ipotizzando che tale valore decresca man mano ci si allontana intorno al punto che l'ha generata, sulla figura si proiettano direzioni incrociantesi. Assumendo, concordemente alla neurofisiologia (ma anche al lavoro di Carpenter e Blakemore), che le direzioni si inibiscano quanto più l'angolazione fra esse si avvicina all'angolo retto, si ottiene un campo direzionale che fa cadere il computer nelle stesse illusioni ottiche, riguardante la mal percezione degli angoli, in cui cade l'uomo. Negli anni Ottanta avevo scritto i programmi che realizzavano queste idee ma erano troppo lenti e ho preferito tagliarli per dedicarmi alla descrizione topologica della forma e alla sua memorizzazione, che è la parte essenziale del mio lavoro. Chi volesse maggiori delucidazioni su queste note mi contatti. Tutto sommato, l'estrazione dei contorni, così com'è ora è la parte meno interessante del mio lavoro. Va ancora detto che l'estrazione di un contorno perfetto non è essenziale nel riconoscimento della forma: i contorni completi, perfetti, si formano nella fase della memorizzazione della figura, non sono ottenibili con processi visivi di basso livello.
DESCRIZIONE DELLA FORMA E SUO RICONOSCIMENTO TOPOLOGICO.
I programmi CONTR, RICON e MISCHIA sono la parte più importante del mio lavoro. Essi meccanizzano il riconoscimento delle forme, attività cerebrale inconscia, che va tenuta distinta dalla percezione visiva, che invece fornisce il modello del mondo di cui abbiamo coscienza. Non abbiamo consapevolezza dell'attività di riconoscimento perché è un'attività tutta interna al corpo umano, che si sviluppa secondo un funzionamento cerebrale prestabilito e sempre uguale, come la digestione o il filtraggio del sangue da parte dei reni. La percezione visiva invece comporta il confronto fra un mondo mutevole, le molteplici esigenze del corpo umano e la varietà di strategie da porre in atto per la sopravvivenza. CONTR parte da un'immagine che è riportata in scala e della quale si conosce la parte interna. Nel sistema visivo umano è il movimento che permette di isolare l'immagine e di portarla in scala, in modo automatico, facendo si che copra tutto il campo visivo. Accanto al moto, in subordine, l'immagine è isolata quando spicca su uno sfondo uniforme. Quando l'immagine è memorizzata è pure possibile isolarla anche se è immota. Non ho potuto meccanizzare queste ultime attività del cervello umano: esse comportano la visione artificiale di oggetti in moto che richiedono capacità di programmazione superiori a quelle che mi son date. Non è invece importante ai fini del riconoscimento che l'immagine sia completa: esso può avvenire anche se si vedono solo sue parti. Per semplificare i calcoli ho considerato solo l'immagine completa e il contorno esterno di essa, che il più significativo. Ciò premesso CONTR definisce la potenza degli angoli simulando quando ho scritto a pag.22 (vedi fig.9) della citata Meccanica cerebrale. Nella simulazione ho inscritto una poligonale nella figura, poi ho formato un modello a strati sogliando progressivamente gli angoli, lasciando solo quelli sufficientemente potenti. Ciò si realizza eliminando gli angoli della poligonale che hanno un lato più corto di un certo valore che aumenta di strato in strato. Ne derivano poligonali che approssimano la figura a cui sono progressivamente eliminati i particolari meno significativi (vedi La visione della macchina pag.5 figg.34). CONTR trasmette al programma RICON, il valore degli angoli di ogni strato, la loro distanza dal punto più alto della figura, l'angolazione della loro bisettrice. RICON confronta le caratteristiche della figura che gli trasmette CONTR con quelle di altre figure precedentemente memorizzate. RICON confronta che gli angoli abbiano pressapoco la stessa posizione, lo stesso valore, la bisettrice ugualmente angolata e che appartengano presso a poco allo stesso strato. Conformemente alla scoperta di Hubel e Wiesel (vedi pag.17) op. citata. Il programma riesce a realizzare l'obiettivo che si erano posti gli studiosi negli ultimi anni Quaranta cioè far riconoscere a un computer, come stessa, la stessa figura disegnata su un foglio di gomma “stirunchiolato” a piacere. RICON è un programma di grande complessità e realizza la prima parte del mio lavoro, quella del riconoscimento topologico delle forme. Per sommi capi posso riassumere così il funzionamento del programma: gli angoli, di tutte le poligonali (o strati) con le loro caratteristiche vengono dapprima confrontati uno per uno fra le due figure. Poiché si considerano sufficienti larghe approssimazioni fra i valori delle citate caratteristiche, un angolo di una figura trova molti angoli che gli corrispondono nell'altra. La scelta fra tutti questi angoli avviene imponendo che il loro ordine di sequenza sia uguale fra le due figure. Se pensiamo che delle linee uniscano gli angoli delle due figure, disposti su due parallele, quiete congiungenti non devono incrociarsi e neanche divergere troppo. Nella La visione della macchina pag.13 figg.38, le caratteristiche delle due figure sono rappresentate dai due insiemi di barre verticali rosse e verdi. Gli angoli che soddisfano le approssimazioni sono collegati da linee verdi, fra questi la successione ordinata è collegata dalle linee rosse. Per definire la somiglianza, spiegando per sommi capi, si considera poi la somma della potenza degli angoli che si corrispondono. Più alta è la potenza più alta è la somiglianza (topologica!). MISCHIA qualora il riconoscimento sia corretto, segue RICON. La persistenza degli angoli che si corrispondono li rafforza in memoria, mentre gli angoli che non corrispondono vengono eliminati. Solo gli angoli che si presentano quasi sempre rimangono in memoria. In tal modo si meccanizza il concetto di forma essenziale di una figura, che dipende dal tipo di insegnamento. Un insegnamento normale porta alla eliminazione dei particolari inessenziali di una figura. Un buontempone che insegnasse alla macchina che un bicchiere, un aereo e una scarpa (o meglio le loro silhouettes) sono la stessa cosa probabilmente otterrebbe la memorizzazione di caratteristiche comuni ai tre oggetti ma che si adattano ad ogni cosa. Il programma MISCHIA può essere visto come una modesta rete neuronale, senza pretese, tipo quelle anni Quaranta di Mc Culloch e Pitt. Non che condivida la loro idea secondo cui la rete neuronale riflette quello che si sa del cervello. Per inciso dirò che quando nei miei lontani venti anni, quando appresi dell'esistenza delle reti neuronali ( e dei percetrons) e vidi che esaltavano le caratteristiche che si ripetevano e toglievano le altre chiesi in giro: “ma quali sono queste caratteristiche”? Notai che i Professori e gli Studenti più grandi di me non si ponevano il problema ma giudicavano importante studiare matematiche complicate da applicare a caratteristiche ignote. Io fin da allora ho privilegiato un'altra strada.
IL RICONOSCIMENTO GEOMETRICO-SINTATTICO.
Consideriamo due figure somigliantissime ma con una piccola differenza che si ripete costantemente e che permette all'uomo di discriminare le due classi. Il il piccolo particolare, pur conservandosi, perché MISCHIA lo rafforza (mentre elimina i particolari che variano) influirà poco sulla potenza delle corrispondenze, che è la chiave del riconoscimento topologico. In buona sostanza la macchina non potrà discriminare fra le due figure e si confonderà. Tuttavia se si isola il particolare, quando la macchina rimane incerta fra le due figure, esso le permetterà di decidere. In altre parole il particolare viene riguardato come figura a se ed infatti ha tutte le caratteristiche necessarie per il riconoscimento topologico. Viene inoltre memorizzata e valutata la sua posizione (approssimata) sul contorno della figura. Per discriminare fra figure i particolari potrebbero essere più d'uno e, in tal caso, verrebbero in isolati successione. La loro mutua collocazione permette di stabilire una serie di relazioni che possiamo dire geometriche, che fanno passare dalla visione topologica a quella geometrica. Il Piaget, uno psicologo molto in voga negli anni Settanta, sosteneva che i bambini piccoli avessero prima una visione topologica e poi geometrica del mondo. Anche l'apprendimento della mia macchina avviene in quest'ordine. Inoltre ritengo che la visione geometrica sia il fondamento del linguaggio strutturato, di quella che il primo Chomky chiamava struttura profonda del linguaggio (egli, ora e secondo me sbagliando, ha abbandonato l'idea, andando verso un ingannevole oltre). Questi accenni permettono di capire i programmi seguenti e il motivo per cui ritengo che siano il primo abbozzo di un riconoscimento che si svilupperà in quello sintattico. Il programma OPZIONI, segue RICON e causa vari scelte. 1) Richiama il programma MISCHIA per affinare le caratteristiche della figura riconosciuta, combinandola con le altre memorizzate. Il riconoscimento della figura è vero fuori da ogni dubbio se: a) avviene con un'alta potenza delle corrispondenze, b) una potenza ben maggiore di quella delle altre figure. 2) Se il riconoscimento è incerto perché le citate potenze delle figure sono alte ma poco differenti fra loro (le due figure differenti per un piccolo particolare dell'esempio all'inizio del paragrafo) esso procede al riconoscimento sintattico della figura richiamando il programma UNIRES e questo poi richiamando DELTA. Se il la figura non viene riconosciuta con una potenza troppo bassa, viene memorizzata ex novo o con un nuovo nome o con esistente omonimo. Il programma PRIMO, segue OPZIONI e memorizza un'immagine sconosciuta. Il programma OMONIMI è banale, segue OPZIONI e memorizza le caratteristiche di una nuova figura, la quale tuttavia ha lo stesso nome. Il programma SINONIMI, banale come OMONIMI, segue OPZIONI e associa un nome nuovo ad una forma conosciuta con altro nome. UNIRES e DELTA sono programmi che permettono di riconoscere fra le forme indiscriminate da RICON attraverso le loro differenze. Sui suoi loro risultati si può innestare il riconoscimento geometrico e la frase. Se presentiamo alla macchina la forma R ed essa ha in memoria sia la forma R e la forma A, RICON non saprà discriminare fra le due. UNIRES e DELTA cercano le differenze fra le caratteristiche che hanno le immagini memorizzate di questi nomi, preferibilmente affinate da MISCHIA, e trovano che R differisce da A per una rientranza, localizzata a metà del perimetro a destra. Il programma controlla che tale rientranza sia presente sulla forma presentata e nel posto giusto. Questi programmi generano dei passaggi fra i particolari della figura analoghi ai moti di Yarbus: specificare l'importanza dei particolari o della loro assenza e della loro posizione definisce la struttura geometrico sintattica del riconoscimento che, tuttavia è sostanzialmente una successione ordinata di immagini riconosciute topologicamente. Esso si innesta sui risultati di DELTA e non fa parte dei programmi ch fornisco.
LIMITI DEL RICONOSCIMENTO TOPOLOGICO ULTERIORMENTE ACCENTUATI DELLA PRESENTE SUA SIMULAZIONE.
Il programma TABUALA4 coglie l'angolazione di ogni punto che presenta un gradiente. Un ulteriore programma TABULA41 provvedeva a proiettare tale angolazione intorno al punto e a sommarla, secondo certe regole, pochissimo restrittive, con quelle proiettate dagli altri punti vicini. Ne derivava un campo direzionale che si sovrapponeva ai gradienti. Il programma TABULA42 provvedeva ad accrescere o a diminuire il valore dei gradienti a seconda delle loro concordanza con il campo direzionale sovrastante. Poiché, secondo me, la linea di contorno si ottiene unendo i gradienti massimi essi, a zone, possono risultare spostati rispetto alla posizione dei primi gradienti, ottenuti prima della loro rivalutazione nel campo direzionale. Gli spostamenti erano quelli delle illusioni di Zemann, di Hering,...... e l'errore della percezione degli angoli era quello rilevata da Carpenter e Blakemore. Anzi il loro studio mi permetterebbe di precisare la funzione direzionale. Disgraziatamente questi due programmi impiegavano una notte per elaborare un'immagine di 256x256 pixels e ho dovuto abbandonare il loro uso. Penso che per essi sia necessaria una macchina che funzioni in parallelo, come il sistema visivo umano.
Poiché il contorno ha un gradiente mi pare naturale ammettere che sul vertice di un angolo i gradienti dei suoi due lati si sommino e che la somma sia maggiore quanto più l'angolo è acuto a meno che uno (o entrambi) i suoi lati siano corti. Il lettore disegni un angolo e colori una striscia lungo i suoi lati vedrà che sul vertice le strisce si sommano. Mi è stato possibile quindi definire la potenza di ogni angolo e stabilire una successione di soglie per cui la figura risulta spogliata degli angoli meno potenti e quindi dei particolari inessenziali. Il programma CONTR realizza questo scopo, per quanto parta da un contorno elaborato non benissimo (mancano TABULA41 e TABULA42).
Il programma RICON andrebbe riscritto, in se ha ancora molti errori e imperfezioni. Anche così tuttavia funziona in modo accettabile. Così com'è funziona solo con figure dai contorni chiusi, tuttavia si capisce che potrebbe funzionare anche con tratti di contorno. Inoltre prende in considerazione il solo contorno esterno della figura. Non ci sono problemi ad estenderlo ai contorni interni, anzi il lavoro è già fatto ma ho desistito sia perché appesantisce i calcoli sia perché legami con la memorizzazione che, com'è al momento, risulta del tutto inadeguata allo scopo.
Con questi limiti non ci si deve aspettare una grande possibilità di discriminazione. Ci si può aspettare l'intelligenza di un bambino sotto i tre anni, posto di fronte a delle silhouettes di oggetti. A silhouettes di oggetti disegnate intendo, non a oggetti in questo caso il bambino può toccare, odorare sentire suoni e riconoscere l'oggetto attraverso tutte queste sensazioni, non solo attraverso gli angoli. Ha ragione Poggio quando dice che il riconoscimento umano degli dipende da molte caratteristiche ma io individuo negli angoli quella principale e metto le altre in subordine. Almeno per il pensiero razionale.
Nel programma OPZIONI vi sono i rimandi ai sinonimi, agli omonimi e al riconoscimento sintattico. Affinché DELTA dia buoni risultati occorre che le figure siano affinate attraverso diversi passaggi nel programma MISCHIA.