2017-02-15 20 views
6

Jestem nowym użytkownikiem TensorFlow i Deep Learning. Próbuję rozpoznawać tekst w obrazach scen naturalnych. Kiedyś pracowałem z OCR, ale chciałbym użyć Deep Learning. Tekst ma zawsze ten sam format: ABC-DEF 88:88.TensorFlow - rozpoznawanie tekstu na obrazku

To, co zrobiłem, to rozpoznawanie każdego znaku/cyfry. Oznacza to, że przycinałem obraz wokół każdej postaci (więc każdy obraz daje mi 10 znaków), aby zbudować mój zestaw treningowy i testowy oraz zbudować dwie sieci z sieciami konwergencji. Tak więc mój zestaw treningowy był zestawem zdjęć postaci, a etykiety były po prostu znakami/cyframi.

Ale chcę iść dalej. Chciałbym tylko podać pełne obrazy i wydrukować cały tekst (nie taki jak mój poprzedni model).

Z góry dziękujemy za pomoc.

Odpowiedz

5

Trudność polega na tym, że nie wiesz, gdzie znajduje się tekst. Rozwiązaniem jest, biorąc pod uwagę obraz, że musisz użyć przesuwanego okna, aby przyciąć inną część obrazu, a następnie użyć klasyfikatora, aby zdecydować, czy w przycinanym obszarze znajdują się teksty. Jeśli tak, użyj swojego identyfikatora postaci/cyfry, aby określić, które znaki/cyfry są w rzeczywistości.

Musisz więc wyszkolić kolejną klasę: nadaj przycięty obraz (rozmiar przyciętych obrazów powinien być nieco większy niż w polu tekstowym), zdecyduj, czy w środku znajdują się teksty.

Wystarczy skonstruować zestaw szkoleniowy (dodatnie próbki są obszary tekstowe, próbki ujemne są inne obszary losowo przycięte od dużych obrazów) i szkolić go ~

+0

Dzięki ale powinno to klasyfikator (okno przesuwne) musi być convnet? Zestaw treningowy musi zawierać obszary tekstu o wielu znakach lub tylko jedną postać? –

+1

Konwersja jest łatwa i łatwa do wdrożenia, jeśli używasz TensorFlow, Caffe lub jakiejś innej struktury głębokiego uczenia się, ale może być powolna w fazie wykrywania (ponieważ musisz przesunąć okno na cały obraz, dla każdego obrazu istnieją wiele okien). Działają również inne modele, takie jak metoda wspomagająca z funkcjami podobnymi do Haar ("Google jak" adaboost kaskada funkcji "można znaleźć wiele materiałów na temat rozpoznawania twarzy). – soloice

+0

@alexattia Zestaw treningowy powinien zawierać wiele znaków. W ten sposób możesz mieć większe okno i zmniejszyć fałszywy alarm. Jeśli obszar jest zbyt mały, mogą być inne rzeczy zgłaszane jako litery/cyfry. Powiedzmy, że algorytm może przyjąć pewną pionową krawędź jako cyfrę "1", co jest straszne. – soloice