-
1. Data: 2013-08-19 21:30:27
Temat: Sieci neuronowe a OCR [cross]
Od: "Borneq" <b...@a...hidden.pl>
Standardową metodą rozpoznawania znaków jest sieć neuronowa. Na CodeProject
jest artykuł z przykładowym programem w C#:
http://www.codeproject.com/Articles/15304/Unicode-Op
tical-Character-Recognition
Jak sprawdzałem, daje sobie radę na foncie na którym został przeszkolony,
natomiast nie za bardzo na innym. Czyli nie rozpoznaje abstrakcyjnych cech
znaków.
To jest właśnie problem z algorytmami które mają działać "same" a nawet nie
wiadomo jak działają, jedynie się je uczy. Ktoś opisywał jak rozpoznawał
odciski palców za pomocą sieci neuronowej. Algorytm radził sobie dobrze
nawet z dość zaszumionymi danymi, ale nie rozpoznawał gdy taki odcisk był
ustawiony pod innym kątem i w innej skali.
Czy programy OCR sobie dobrze radzą, czy siła ich polega na przetrenowaniu
na bardzo dużej ilości fontów a potem dopasowaniu słów ze słownika?
Na Androidzie testowałem jakiś program OCR, który sobie zupełnie nie radził,
za to radził sobie program Google'a. Ciekawe jakich algorytmów używają, czy
też sieci nieuronowej?
Gdy program OCR poradzi sobie ze zwykłym tekstem, następnym stopniem może
być rozpoznawanie wzorów i wypluwanie kodu w LaTeXie, chyba niczego takiego
jeszcze nie ma.
-
2. Data: 2013-08-19 22:35:44
Temat: Re: Sieci neuronowe a OCR [cross]
Od: Marek Borowski <m...@x...com>
On 8/19/2013 9:30 PM, Borneq wrote:
> Standardową metodą rozpoznawania znaków jest sieć neuronowa. Na
> CodeProject jest artykuł z przykładowym programem w C#:
> http://www.codeproject.com/Articles/15304/Unicode-Op
tical-Character-Recognition
>
> Jak sprawdzałem, daje sobie radę na foncie na którym został
> przeszkolony, natomiast nie za bardzo na innym. Czyli nie rozpoznaje
> abstrakcyjnych cech znaków.
> To jest właśnie problem z algorytmami które mają działać "same" a nawet
> nie wiadomo jak działają, jedynie się je uczy. Ktoś opisywał jak
> rozpoznawał odciski palców za pomocą sieci neuronowej. Algorytm radził
> sobie dobrze nawet z dość zaszumionymi danymi, ale nie rozpoznawał gdy
> taki odcisk był ustawiony pod innym kątem i w innej skali.
> Czy programy OCR sobie dobrze radzą, czy siła ich polega na
> przetrenowaniu na bardzo dużej ilości fontów a potem dopasowaniu słów ze
> słownika?
> Na Androidzie testowałem jakiś program OCR, który sobie zupełnie nie
> radził, za to radził sobie program Google'a. Ciekawe jakich algorytmów
> używają, czy też sieci nieuronowej?
> Gdy program OCR poradzi sobie ze zwykłym tekstem, następnym stopniem
> może być rozpoznawanie wzorów i wypluwanie kodu w LaTeXie, chyba niczego
> takiego jeszcze nie ma.
Nie wiem jak konkretnie z OCRem ale rozpoznawanie obiektow na obrazie
ktore ja robilem bazowalo na tzn momentach ksztaltu, ktore sa
niezalezne od skalowania i obrotu. Kluczem do sukcesu byly dobre filtry
odszumiajace i (w przypadku kiedy obraz nie jest B/W) algorytmy
separacji analizujace przynaleznosci pixeli do grup.
Pozdrawiam
Marek
-
3. Data: 2013-08-19 22:46:35
Temat: Re: Sieci neuronowe a OCR [cross]
Od: "Borneq" <b...@a...hidden.pl>
Użytkownik "Marek Borowski" <m...@x...com> napisał w wiadomości
news:kutvjc$qoa$1@news.task.gda.pl...
> Nie wiem jak konkretnie z OCRem ale rozpoznawanie obiektow na obrazie
> ktore ja robilem bazowalo na tzn momentach ksztaltu, ktore sa
> niezalezne od skalowania i obrotu. Kluczem do sukcesu byly dobre filtry
> odszumiajace i (w przypadku kiedy obraz nie jest B/W) algorytmy
> separacji analizujace przynaleznosci pixeli do grup.
Co do momentów kształtu to przynajmniej po polsku Google nie jest bardzo
pomocne
Pozdrawiam
-
4. Data: 2013-08-19 23:06:17
Temat: Re: Sieci neuronowe a OCR [cross]
Od: "Wojciech \"Spook\" Sura" <s...@s...pl>
W dniu 19.08.2013 o 21:30 Borneq <b...@a...hidden.pl> pisze:
> Gdy program OCR poradzi sobie ze zwykłym tekstem, następnym stopniem
> może być rozpoznawanie wzorów i wypluwanie kodu w LaTeXie, chyba niczego
> takiego jeszcze nie ma.
Nie, ale jest już rozpoznawanie wzorów z pisma odręcznego (co nawiasem
jest chyba nawet trudniejsze?)
https://www.youtube.com/watch?v=26opB8DRf3c
https://www.youtube.com/watch?v=167MVQDr2kA
Pozdrawiam -- Spook.
--
! ._______. Warning: Lucida Console sig! //) !
! || spk || www.spook.freshsite.pl / _ """*!
! ||_____|| wojciechsura at gmail.com / ' | !
! | ___ | tlen: spoko_ws gg:1290136 /. __/"\ !
! |_|[]_|_| May the SOURCE be with you! \/) \ !
-
5. Data: 2013-08-19 23:17:44
Temat: Re: Sieci neuronowe a OCR [cross]
Od: "Borneq" <b...@a...hidden.pl>
Użytkownik "Wojciech "Spook" Sura" <s...@s...pl> napisał w
wiadomości news:op.w120wvvbb4s3y1@ultrabook...
> Nie, ale jest już rozpoznawanie wzorów z pisma odręcznego (co nawiasem
> jest chyba nawet trudniejsze?)
> https://www.youtube.com/watch?v=26opB8DRf3c
> https://www.youtube.com/watch?v=167MVQDr2kA
Niesamowite.
Choć to trochę inny program, Rysując na żywo mamy współrzędne x,y zależne od
czasu, natomiast w skanie występują tylko piksele. Nie wiem jednak czy w tym
jest problem: pismo ręczne jest częśto trudno odczytywane nawet dla
człowieka, mimo że może wydedukować nieraz jak linia przebiega, to problem
jest co zygzak przedstawia.
Pozdrawiam
-
6. Data: 2013-08-20 01:28:39
Temat: Re: Sieci neuronowe a OCR [cross]
Od: A.L. <a...@a...com>
On Mon, 19 Aug 2013 21:30:27 +0200, "Borneq"
<b...@a...hidden.pl> wrote:
>Standardową metodą rozpoznawania znaków jest sieć neuronowa.
Nie, nie jest standardowa metoda
>Na CodeProject
>jest artykuł z przykładowym programem w C#:
>http://www.codeproject.com/Articles/15304/Unicode-O
ptical-Character-Recognition
>Jak sprawdzałem, daje sobie radę na foncie na którym został przeszkolony,
>natomiast nie za bardzo na innym. Czyli nie rozpoznaje abstrakcyjnych cech
>znaków.
Co to sa "abstrakcyjne cechy znakow" i jak ewentualnei NN mialby je
rozpoznawac? Ogolnie, cecha algorytmow uczacych sie jest dosyc slaba
zdolnosc do generalizacji.
>To jest właśnie problem z algorytmami które mają działać "same" a nawet nie
>wiadomo jak działają, jedynie się je uczy.
Doskonale wiadomo jak dzialaja NN. A zeby uzywac NN, tzreba miec
chociaz zgrubne pojecie jak one dzialaja. Chocby po to zeby nie
wypisywac bzdur jak wyzej.
>Ktoś opisywał jak rozpoznawał
>odciski palców za pomocą sieci neuronowej. Algorytm radził sobie dobrze
>nawet z dość zaszumionymi danymi, ale nie rozpoznawał gdy taki odcisk był
>ustawiony pod innym kątem i w innej skali.
Bo nie moze. Polecam ksiazke Minsky'ego i Papperta "Perceptrony".
Dosyc stara, ale pokazuje sposoby anailizy NN i pokazuje dlaczego owe
sieci pewnych rzeczy nie sa w stanie sie nauczyc.
>Czy programy OCR sobie dobrze radzą, czy siła ich polega na przetrenowaniu
>na bardzo dużej ilości fontów a potem dopasowaniu słów ze słownika?
Sila OCR polega na tym ze dzialaja na zupelnie innych zasadach.
>Na Androidzie testowałem jakiś program OCR, który sobie zupełnie nie radził,
>za to radził sobie program Google'a. Ciekawe jakich algorytmów używają, czy
>też sieci nieuronowej?
Zapewnie innych niz NN
>Gdy program OCR poradzi sobie ze zwykłym tekstem, następnym stopniem może
>być rozpoznawanie wzorów i wypluwanie kodu w LaTeXie, chyba niczego takiego
>jeszcze nie ma.
Raczej watpie bo to nei jest OCR. OCR znaczy Optical CAHARACTER
Recognition. Rozpoznawanie wzorow to deko wiecej. Ale koncptualnie,
nie jest niemozliwe. Wymaga parsowania wzorow w oparciu o odpowiednia
gramatyke i do pewnego stopnai "rozumienia" wzorow
A.L.
-
7. Data: 2013-08-20 03:52:46
Temat: Re: Sieci neuronowe a OCR [cross]
Od: A.L. <a...@a...com>
On Mon, 19 Aug 2013 21:30:27 +0200, "Borneq"
<b...@a...hidden.pl> wrote:
>Gdy program OCR poradzi sobie ze zwykłym tekstem, następnym stopniem może
>być rozpoznawanie wzorów i wypluwanie kodu w LaTeXie, chyba niczego takiego
>jeszcze nie ma.
Cos w tym stylu mozesz znalezc tutaj
http://www.research.ibm.com/people/n/nickmitchell/pu
blications/jvcir.pdf
Dosyc stare
Soft jest tutaj
http://www.inftyreader.org/
Pogogluj troche. Na ocr Latex
A.L.
-
8. Data: 2013-08-20 07:25:54
Temat: Re: Sieci neuronowe a OCR [cross]
Od: "Borneq" <b...@a...hidden.pl>
Użytkownik "A.L." <a...@a...com> napisał w wiadomości
news:nli519ptn03handht5tu1jgph055lq25hg@4ax.com...
> Cos w tym stylu mozesz znalezc tutaj
> http://www.research.ibm.com/people/n/nickmitchell/pu
blications/jvcir.pdf
> Dosyc stare
> Soft jest tutaj
> http://www.inftyreader.org/
> Pogogluj troche. Na ocr Latex
Dzięki, nie spodziewałem się, że już są takie algorytmy
> Co to sa "abstrakcyjne cechy znakow" i jak ewentualnei NN mialby je
> rozpoznawac? Ogolnie, cecha algorytmow uczacych sie jest dosyc slaba
> zdolnosc do generalizacji.
Cechy takie że E to kreska pionowa z trzema poziomymi, rozpoznawanie przez
zwykłe algorytmy, nie sieć neuronową. Jednak do tego potrzebna była by
wektoryzacja.
-
9. Data: 2013-08-20 15:52:50
Temat: Re: Sieci neuronowe a OCR [cross]
Od: A.L. <a...@a...com>
On Tue, 20 Aug 2013 07:25:54 +0200, "Borneq"
<b...@a...hidden.pl> wrote:
>Użytkownik "A.L." <a...@a...com> napisał w wiadomości
>news:nli519ptn03handht5tu1jgph055lq25hg@4ax.com...
>> Cos w tym stylu mozesz znalezc tutaj
>> http://www.research.ibm.com/people/n/nickmitchell/pu
blications/jvcir.pdf
>> Dosyc stare
>> Soft jest tutaj
>> http://www.inftyreader.org/
>> Pogogluj troche. Na ocr Latex
>
>Dzięki, nie spodziewałem się, że już są takie algorytmy
>
>> Co to sa "abstrakcyjne cechy znakow" i jak ewentualnei NN mialby je
>> rozpoznawac? Ogolnie, cecha algorytmow uczacych sie jest dosyc slaba
>> zdolnosc do generalizacji.
>
>Cechy takie że E to kreska pionowa z trzema poziomymi, rozpoznawanie przez
>zwykłe algorytmy, nie sieć neuronową. Jednak do tego potrzebna była by
>wektoryzacja.
A czy wiesz co w ogole robi NN? I jak dziala? I jakie problemy moze
rozwiazywac a jakie nie?
A.L>
-
10. Data: 2013-08-22 11:33:30
Temat: Re: Sieci neuronowe a OCR [cross]
Od: Edek <e...@g...com>
Szarym od mżawki świtem Tue, 20 Aug 2013 07:25:54 +0200, Borneq wyrzucił
pustą ćwiartkę i oznajmił:
>> Co to sa "abstrakcyjne cechy znakow" i jak ewentualnei NN mialby je
>> rozpoznawac? Ogolnie, cecha algorytmow uczacych sie jest dosyc slaba
>> zdolnosc do generalizacji.
>
> Cechy takie że E to kreska pionowa z trzema poziomymi, rozpoznawanie przez
> zwykłe algorytmy, nie sieć neuronową. Jednak do tego potrzebna była by
> wektoryzacja.
Ludzie wciąż używają NN, ale nie stosują podejścia brute-force. Takie
brute-force NN polegało na tym, tak z 5-10 lat temu, że dawało się
sieci po prostu wielkie wejście i liczyło na to, że NN magicznie coś
"wymyśli". Od tego czasu różne rodzaje NN mają znane właściwości, od
takich praktycznych jak "czy dobrze się uczy" do takich jak zdolność
generalizacji czy nawet (matematycznej) gęstości informacji na neuron
lub na axon zależnie od funkcji neuronu i struktury sieci. Matematycznych
właściwości się nie przeskoczy.
Używa się ich a brdziej wyrafinowany sposób: po przeanalizowaniu
wejścia innymi metodami otrzymuje się wiele współczynników i dopiero
na nich używa się sieci jeżeli mimo wszystko są mocno nieprzewidywalne
a jest w nich jakiś bliżej nieokreślony porządek.
Na samym OCR się nie znam, ale myślę, że NN wciąż mogą mieć swoje miejsce.
Na przykład jako wejście do sieci mogłyby wejść takie współczynniki jak
- czy w pionie literka jest wyżej czy niżej
- czy jest pochylona w prawo czy w lewo
- czy ma dużo prostych linii czy zgiętych
- czy ma przecięcia linii i ile
- itd.
To byłyby abstakcyjne cechy znaków (lub całego tekstu, bo znaki w piśmie
odręcznym tak z własnego doświadczenia wyróżniają się od reszty pisma
danego osobnika a nie w oderwaniu), które nie mają być rozpoznane przez NN
ale stanowiłyby jej wejście.
Do OCR widziałem już podane linki, ja tylko znam przykłady użycia NN w innych
zastosowaniach.
--
Edek