2012-07-11 7 views
7

Sto facendo un semplice riconoscimento di lettere e cifre con reti neurali. Fino ad ora ho usato ogni pixel dell'immagine della lettera come input per la rete. Inutile dire che questo approccio produce reti molto grandi. Quindi mi piacerebbe estrarre funzionalità dalle mie immagini e usarle come input per gli NN. La mia prima domanda è quali proprietà delle lettere sono buone per riconoscerle. La seconda domanda è come rappresentare queste caratteristiche come input per le reti neurali. Ad esempio, potrei aver rilevato tutti gli angoli delle lettere e averli come vettore di punti (x, y). Come trasformare questo vettore in qualcosa di adatto per un NN (dato che le dimensioni del vettore possono essere diverse per lettere diverse).Estrazione di feature da reti neurali

risposta

3

Un sacco di persone hanno preso varietà di funzionalità per OCR. Il più semplice dei quali è, naturalmente, passando direttamente i valori dei pixel.

C'è un dato di riconoscimento lettera in campioni OpenCV, estratto dal set di dati UCI. Impiega circa 16 diverse funzionalità. Verifica questo SOF: How to create data fom image like "Letter Image Recognition Dataset" from UCI

Puoi anche vedere il documento che lo spiega in una delle sue risposte. Puoi ottenerlo su google.

Potresti essere interessato anche a this PPT. Fornisce una spiegazione concisa delle diverse tecniche di estrazione delle caratteristiche utilizzate al giorno d'oggi.

4

Questo articolo, Introduction to Artificial Intelligence. OCR using Artificial Neural Networks by Kluever (2008) fornisce una panoramica di 4 tecniche di estrazione di caratteristiche per OCR utilizzando reti neurali. Descrive i seguenti metodi:

  • Run Length Encoding (RLE): per questo è necessaria un'immagine binario (ad esempio, solo bianco o nero). La stringa binaria può essere codificata in una rappresentazione più piccola.
  • Rilevamento dei bordi: trova i bordi. Puoi essere abbastanza grossolano con questo, quindi invece di restituire le coordinate esatte (x, y) puoi ridurre la matrice solo contando se tale margine si verifica in posizioni ridotte (cioè, su 20%, 40%, 60 & e 80 % dell'immagine).
  • Count 'True Pixels': riduce la dimensionalità da width * height della matrice immagine a width + height. Si utilizza il vettore width e il vettore height come input separato.
  • Inserimento matrice di base: l'avete già provato; L'inserimento dell'intera matrice offre buoni risultati, ma come notato si può ottenere un'elevata dimensionalità e tempi di allenamento. Puoi provare a ridurre le dimensioni delle tue immagini (ad es. Da 200x200 a 50x50).
1

Se si dispone di un vettore di input di dimensioni molto elevate, suggerisco di applicare l'analisi della componente principale (PCA) per rimuovere le caratteristiche ridondanti e ridurre la dimensionalità del vettore di caratteristiche.