Jak ort! pozycje tej liczby

0

Witam, od dłuższego czasu męcze się z problemem zlokalizowania cyfr na obrazku, dokladniej mówiąc mam obrazek

http://wgrajfoto.pl/pokaz/img1009/savecede.jpg

to jest przód autobusu, i muszę teraz zlokalizować ten numer 19. Prosiłbym o podpowiedzi lub rady jak to najlepiej lub w ogóle zrobić. Z góry dzięki.

0

Dobrym (chyba) pomysłem byłoby zastosowanie rekurencyjnych SSN (Więcej o SNN tu i tu).
Tylko problemem pozostaje długość uczenia sieci.

0
lukasspore napisał(a)

Dobrym (chyba) pomysłem byłoby zastosowanie rekurencyjnych SSN (Więcej o SNN tu i tu).
Tylko problemem pozostaje długość uczenia sieci.

A nie lepiej po prostu szukać obrazie czy nie ma wystąpienia wzorca liczby 19(ewentualnie innej)?

0

A jak tam beda cyfry od 1 do 19 to chyba porownywanie z wzorcem zajmie bardzo duzo czasu :/

0

Z tematu postu

pozycje tej liczby
i treści postu
muszę teraz zlokalizować ten numer 19
jednoznacznie wynika, że wiesz iż będą to cyfry 19, a Twoim zadaniem jest znaleźć ich położenie na rysunku. Chodzi Ci o coś innego?

0

Moze zle się wyraziłem, tam może być liczba od 1 do 19 a ja musze zlokalizować jej <ort>połorzenie </ort>(współrzędną x oraz y)

0

scharakteryzuj dane wejściowe i wyjściowe:
wejście: czy to jest dowolne zdjęcie czy zawsze autobus? jaki jest rozmiar tej liczby w stosunku do całego zdjęcia? czy może być bardzo malutka? czy zdjęcie zawsze jest przefiltrowane do b&w? i tak dalej... im więcej cech charakterystycznych tym lepiej.

wyjście: to ma być pozycja jakiegoś piksela należącego do tej liczby czy jakieś pole?

to właśnie te informacje mają największy wpływ na wybór algorytmu.

0

Dane wejściowe:

  1. zawsze autobus
  2. to ja dokonuje konwersji na b&w
  3. rozmiar liczby nieznacznie zminiejsza się i zwiększa zależy z jakiej odległości robione zdjęcie
  4. raczej nie będzie to nigdy malutka liczba
  5. tak to może być pozycja pixela lub kawalka pola należącego do tej liczby

Mógłbyś zaproponować cokolwiek co mnie naprowadzi na sposób odnalezienia tych wpsółrzędnych ?

0

Witam,
nie jestem specjalistą w tej dziedzinie - tak na prawdę to kończę finanse a nie informatykę, automatykę czy co tam wy studiujecie jednak przychodzi mi do głowy następująca myśl:
możesz użyć SSN do nauki rozpoznawania tych liczb - od 1 do 19 z różnej wielkości (tzn. jako dane wyjściowe będą oczywiście liczby od 1 do 19 ale jako zmienne wejściowe będą różnej wielkości te liczby - jedne będą zajmować więcej pixeli a inne mniej -> mam nadzieję, że mnie rozumiesz bo ciężko mi się dobrze wysławiać w tematyce o której jedynie trochę czytałem :P).
anyway... jak nauczysz taką sieć rozpoznawania liter mniejszych i większych z pewnego zbioru to możesz potem przeszukiwać taki obrazek przez analizowanie pewnego jego części - np. masz obrazek o rozmiarach 10x10 cm (nie wiem ile to będzie pixeli :/ ale Ty musisz to zrobić w pixelach) i analizujesz np. najpierw pierwsze 2x2 cm potem 2x2 cm ale przesunięte o 1 cm... - tak, żebyś miał pewność, że rozmiar który przyjąłeś do przeszukiwania na pewno znajdzie całą liczbę (a nie np. najpierw 1 a potem 8 w liczbie 18 ale że będzie miał szanse znaleźć całą liczbę 18) no i zawsze przeszukujesz cały obrazek - najpierw pierwszy wiersz potem wiersz o 1 cm niżej itd. no i w teorii sieć powinna znaleźć Ci tą liczbę (tzn. jako tą najbardziej prawdopodobną.
Tzn. sieć ma np. 20 wyjść - każde wyjście odpowiada jakiejś liczbie a ty wybierasz tą liczbę, która otrzymała największy wynik.
Może piszę trochę nie zrozumiale ale...

0

Poczytaj sobie o OCR - a konkretnie pierwsza faza algorytmu - czyli wyszukiwanie orientacji tekstu na podstawie histogramów poziomych, a potem wyróżnianie wyrazów na podstawie histogramu pionowego z linii tekstu.

Patrząc na charakterystykę fotki jaką podałeś, możesz spróbować zrobić to tak. Liczysz "histogramy" dla każdej lini pionowej i poziomej obrazka. (zliczaj tylko białe piksele, jak to nie jest b&w tylko wiecej poziomu - dorób jakąs funkcje progową). tam gdzie supki są wysokie i w pionie i poziomie tam masz duże obszary białego. - żeby wyeliminować inne duże połacie - możesz sprytniej zrzucać do B&W - napisz sobie taką funkcję progową, która zamienia na czarny każdy kolor, z wyjątkiem koloru ( i jego otoczenia *) jakim są pisane litery i cyfry na ty autobusie.

    • trzeba sie pobawić jak dużo można dać tolerancji, żeby nie wprowadzić zbyt dużych płatów "bieli" tam gdzie to jest nieporządane.

Jak już będziesz miał, to algorytmem grzebieniowym z OCR'a możesz sobie wyprostować obrazek (jesli bedą takie dwulinijkowe teksty to sie powinno udac). I na tym zapuścić już sieć neuronową, np. Hopfielda, nauczoną tych 19 numerków.

0

Wielkie dzieki spin o to wlasnie mi chodzilo :), teraz mam jakis pomysl :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1