Per quanto riguarda il cuore dellapplicazione, cioè la parte di AI, abbiamo deciso di utilizzare un tipo di architettura che ci ha particolarmente attirato,

Slides:



Advertisements
Presentazioni simili
Linguaggio C e C++.
Advertisements

Introduzione al linguaggio C++
Sistema operativo MS-DOS
Sistemi di Classificazione usando NCD
MODULO 3 – ELABORAZIONE TESTI
Informatica Modulo 2 – Office Word.
PHP.
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
Filtri Multirate e Banchi di Filtri
STRUMENTI DI PRESENTAZIONE
Controllo remoto di un robot mobile realizzato con Lego Mindstorms
CIFRE SIGNIFICATIVE In un numero misurato sono quelle cifre che includono tutti i numeri sicuri più un certo numero finale che ha una certa incertezza.
CIFRE SIGNIFICATIVE In un numero misurato sono quelle cifre che includono tutti i numeri sicuri più un certo numero finale che ha una certa incertezza.
CIFRE SIGNIFICATIVE In un numero misurato sono quelle cifre che includono tutti i numeri sicuri più un certo numero finale che ha una certa incertezza.
CIFRE SIGNIFICATIVE In un numero misurato sono quelle cifre che includono tutti i numeri sicuri più un certo numero finale che ha una certa incertezza.
Programmazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Argomenti dalla linea dei comandi Gli argomenti possono essere passati a qualsiasi funzione di un programma, compresa la main(), direttamente dalla linea.
Codifica dell’ Informazione non numerica
File.
Multimedia e Plugin Roberto Bruni e Daniela Giorgetti.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
Tutorial per GIMP.2 E’ un programma open source di fotoritocco che permette di creare e modificare immagini anche in formato GIF.
Esempi sui CSS.
USARE LA VIDEOSCRITTURA
PLATES RECOGNITION Part II
IL FORMATO DEI FILE E IL FILETYPE (ESTENSIONE) Formato dei file 10 marzo 2012 Informatica prof. Giovanni Raho anno
CIFRE SIGNIFICATIVE In un numero misurato sono quelle cifre che includono tutti i numeri sicuri più un certo numero finale che ha una certa incertezza.
Misure di bontà della struttura di un QS La struttura di un qs è definibile in termini di: DIMENSIONE COMPLESSITA EQUILIBRIO 1. Dimensione Si misura con.
PATTERN RECOGNITION.
Istruzioni di selezione in Java Programmazione Corso di laurea in Informatica.
CAPITOLO 2 INTRODUZIONE AL LINGUAGGIO JAVA E ALL'AMBIENTE HOTJAVA.
Notazioni Asintotiche e Ordini di Grandezza delle funzioni
I File.
Vettori e Funzioni 3 Maggio Esercizio 1 Si scriva un programma in linguaggio C che, dopo aver acquisito il contenuto di un vettore di interi da.
Corso di PHP.
Informatica 1 (SAM) - a.a. 2010/11
20Segmenti.it Tesina di Alessandro Cipolletti.
PoliICR Riconoscimento dei Caratteri Daniele Gasperini – William Spinelli Riconoscimento dei Segnali: un approccio unitario prof. Sergio Brofferio.
Applicazioni di modelli matematici alla ricerca semantica
Nuovo Software di acquisizione e archiviazione di immagini Opto Capture Evolution Produzione Noviello Intermed Ideato e progettato da Francesco Ardizzone.
Una LIM per la didattica
CORSO AVANZATO INFORMATICA
Architettura del calcolatore
Introduzione alla programmazione web
Documenti ben formati La costruzione di pdf accessibili
Il linguaggio HTML Le pagine web sono file di testo scritte utilizzando il linguaggio HTML. I documenti HTML vanno racchiusi dentro una coppia di TAG.
Informatica Avanzata Trattamento di Foto e Immagini Digitali UNI3 - NICHELINO Lez. N Gennaio 2009 di Pautasso Luciano Lez. N.
Codifica dei dati in un elaboratore elettronico
Codifica dell’informazione
ITCG “V. De Franchis” - PON FSE Modulo G/1 l’informatica”
Lezione 3 Struttura lessicale del linguaggio
COME PREPARARE UNA PRESENTAZIONE IN POWER POINT
A.P. cat. B - 1 Per chi vuole: Libro di testo D.P. Curtis, K. Foley, K. Sen, C. Morin Informatica di base 2° edizione Mc Graw-Hill Companies.
Microsoft Word Interfaccia grafica
Esempio di un volume RAID-5
Programmazione Procedurale in Linguaggio C++
Internet e HTML Diffusione di informazioni mediante la rete Internet.
Rappresentazione dell’informazione nel calcolatore.
Variabili Numeriche –Interi (byte, short, int, long): complemento a 2 –A virgola mobile (float, double): IEEE 745 Alfanumeriche –Carattere (char): Unicode.
Scuola Interuniversitaria Campana di Specializzazione all’Insegnamento S.I.C.S.I. III Ciclo 2° Anno A.A Ambito tecnologico- Classe A042 Informatica.
1 Informatica Generale Alessandra Di Pierro Ricevimento: Giovedì ore presso Dipartimento di Informatica, Via Buonarroti,
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Codifica dei numeri Il codice ASCII consente di codificare le cifre decimali da “0” a “9” fornendo in questo modo una rappresentazione dei numeri Per esempio:
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA Lab 5: 18 Maggio 2015 Marco D. Santambrogio – Gianluca Durelli –
Elementi di statistica con R e i database Rocco De Marco rocco.demarco(a)an.ismar.cnr.it Ancona, 10 Aprile 2012.
.… FRAME. Cosa è un FRAME Frame  cornice, riquadro Frame  cornice, riquadro. In HTML, frame è un’area nella finestra del browser nel quale possiamo.
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
Gestione delle periferiche. Le periferiche sono dispositivi che permettono le operazioni di input/output.
Transcript della presentazione:

Per quanto riguarda il cuore dellapplicazione, cioè la parte di AI, abbiamo deciso di utilizzare un tipo di architettura che ci ha particolarmente attirato, cioè quella degli auto-encoders affiancati a dei classici classificatori (che realizzano la selezione a torneo). Da un punto di vista funzionale invece, si è cercato di dare a jino delle caratteristiche che possano renderlo più ultile/interessante dei molti ocr basati sull AI che si possono trovare su internet (Jino is not ocr, appunto.. ) Proprio per questo linput dei file da processare viene da immagini o da webcam, e non da unarea di testo in cui scrivere come avviene in molti sw di questo tipo.

Utilizzo del linguaggio java [portabilità - esperienze personali] Librerie ausiliari: Joone [neural netowork management] JAI [Image Prepocessing] JMF [Webcam acquisition]

Character recognition Auto-encodersTwo way classifiers Preprocessing Image manipulationSegmentation Data acquisition WebcamFile

Come già detto lacquisizione dati da file(momentaneamente solo immagini) e da webcam vuole essere un modo di aumentare lutilità del software. Al momento lacquisizione da webcam è funzionante solo sotto Windows (a causa di problemi legati alla libreria Java V4L) ed è possibile solo con alcuni modelli di webcam.

Attualmente si limita alla conversione in bianco e nero (basata sul canale dei rossi). Aggiunte utili allacquisizione da webcam sarebbero filtering (pulizia, etc..) e allineamento(fondamentale in fase di segmentazione)

Analisi dellimmagine: In lunghezza [per distinguere le varie righe] In larghezza [per distinguere le lettere] Entrambe le suddivisoni sono basate sulla somma di pixel e utilizzano più soglie. NOTA: Ogni pixel è memorizzato come un intero che va da 0(nero) a 255(Bianco)

Pulizia del carattere (vengono eliminati gli spazi bianchi)

Scaling del carattere a 50x50 pixel ( proportional resize in modo che la dimensione più grande arrivi a 50 pixel, dopodichè padding sullaltra ) Desampling del carattere a 10x10 Samples [ognuno costituito da 5x5 = 25 pixels] Normalizzazione e codifica: sample –> double tra 0 e 1 [Numero di pixel neri /25]

Architettura software costituita da: Auto-encoders [riconoscimento dei singoli caratteri] (esempio: il carattere in ingresso è/non è una a) Classificatori [distinzione tra due caratteri specifici] (esempio: il carattere in ingresso è una a/è una b) Gli ingressi [100 double (10x10 samples) che variano da 0.00 ad 1.00]

I.Si attiva la rete neurale dandole in ingresso tutte le lettere riconosciute, una ad una. II.Gli ingressi sono collegati ad ogni singolo auto-encoder (full synapse), che torna in uscita un errore [scarto quadratico medio di (uscita meno ingresso)] III.Se questultimo è minore di una certa soglia il carattere in ingresso appartiene alla classe di cui lauto-encoder si occupa –> Lauto-encoder risuona. IV.Se più auto encoder risuonano viene avviato il cosiddetto torneo, vengono cioè attivati i classificatori (a due uscite) delle classi che risuonano. Viene così decisa la classe a cui il carattere in ingresso appartiene V.Le lettere vengono scritte su un file di uscita (appare un nuovo tab), che può essere salvato in formato testo.

Auto-encoders Sanno dire bene se è una B o no, ma cè il rischio che gli vada bene anche un 8 (target=ingresso -> non gli do mai esempi che non siano B!) Two Way Classifiers Distinguono bene gli 8 dalle B, ma devono essere sicuri che lingresso sia un 8 o una B -> complementari degli auto-encoders!

… … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … 100 Auto Encoder Classe 1 Auto Encoder classe 2 Auto Encoder classe 3 Auto Encoder classe n Classificatore classi 3/n Risuona! no Classe 3! Classificatore classi 1/2 Classificatore classi (n-1)/n

La selezione a torneo è utilizzata per semplificare e rendere più efficienti le operazioni nel caso in cui risuonino più di due classi. Si confrontano le classi risuonate a due a due (esattamente come un campionato) e si dà loro un punteggio in base alluscita del classificatore(se il classificatore richiesto non è presente si assegna un pareggio), la classe che al termine otterrà il maggior numero di punti è quella a cui realmente appartiene il carattere.

Classificatore M/N Classificatore N/K Classificatore M/K M: 0,81 - N: 0,19N: 0,51 - K: 0,49 M: 0,72 - K: 0,28

Acquisizione da pdf/altro.. Supporto webcam su linux (e migliorare su win) Testing Supporto divisione spazi e parole (in fase di segmentazione) Maniploare le immagini (filtering, pulizia, roation, allineamento, etc..) per migliorare la qualità dellimmagine acquisita da webcam Gestione di vari Layout di pagina

Attualmente le funzioni di JInO sono abbastanza limitate, ma le possibili migliorie son molte, come molte sono le possibili applicazioni. In generale ci sentiamo di dire che se fosse migliorato lintero processo di acquisizione da webcam, il software potrebbe avere una reale utilità nella virtualizzazione di documenti