Rozpoznawanie tablic rejestracyjnych Raspberry Pi

0

Czesc wszystkim, jestem studentem I mam mozliwosc dolaczenia do ekipy ktora zajmie sie projektem do rozpoznawania tablic rejestracyjnych I wpisywania ich do bazy danych. Wiem ze istnieja gotowe rozwiazania za ktore mozna zaplacic wraz z kamera itd. Ale w ten sposob niczego sie nie naucze.
W tej chwili mysle o uzyciu raspberry pi wraz z modulem kamery I wifi ktory bedzie wysylal obraz do api I przy uzyciu openCV odczytywanie tablicy. Czy ktos ma jakies rady badz artykuly ktore moga nakierowac mnie w dobra strone ? Dzieki za jakiekolwiek wskazowki.

1

Idź na miasto z telefonem z kamerką. Nagraj trochę tablic i potem na kompie klep sobie algorytm. Który rozpozna wszystkie tablice z filmiku. Jak już będziesz miał algorytm rozpoznawania/odczytywania, to możesz zacząć myśleć o wersji real time z raspberry pi ;)

Z takim czymś pewnie dostaniesz się do projektu i będziesz miał dostęp do zasobów ekipy.

0

hurgadion swietna praca na pewno duzo z niej wyciagne. Dzieki wielkie

Spine
Nie jestem na tyle zdolny zeby zrobic cos takiego. Probuje sie dostac do ekipy zeby sie czegos nauczyc ale tam kolejka wieksza jak na giewont. Wiec chcialem najpierw miec cos w zapasie, poczytac, poprobowac i pozniej wbic z cala sila:P Ale dzieki

2

Zakładając, że Twoim zasadniczym celem jest nauka i stworzenie raczej amatorskiego, względnie przyzwoicie działającego urządzenia wyłącznie własnym nakładem pracy, a nie zbudowanie profesjonalnego systemu o przemysłowym charakterze, możesz użyć Raspberry Pi, zwracając przy tym uwagę na następujące kwestie:

  1. Urządzenie rejestrujące powinno znajdować się na kierunku przemieszczania się pojazdu. To znaczy, że zbliżający się pojazd powinien być zarejestrowany, a następnie przejechać prawie dokładnie pod kamerą albo najpierw przejechać pod kamerą, a następnie zostać zarejestrowany od tyłu. W ten sposób tablica rejestracyjna niezależnie od odległości, zawsze będzie miała względnie regularny kształt, zbliżony do prostokąta. To pozwoli na łatwiejsze wyłuskanie z pliku zarówno lewej, jak i górnej krawędzi tablicy, dzięki czemu poznasz rozmiar tablicy i określisz, w którym miejscu znajdują się litery i cyfry. Jeśli ustawisz kamerę na poboczu, zarejestrowana przez system tablica będzie miała kształt romboidalny, a to znacząco skomplikuje algorytm pozwalający na określenie punktów skrajnych tablicy, nie mówiąc już o wyłuskaniu z niej liter i cyferek. To dlatego kamery rejestrujące tablice montuje się na poprzecznej belce sygnalizatorów świetlnych, a nie na ścianach budynków stojących przy drodze.
  2. Fotografia tablicy powinna być wykonywana przez system w chwili, w której cały kadr wypełnia jeden konkretny pojazd. Dopuszczalne jest sfotografowanie pewnego obszaru drogi, po której porusza się pojazd. Nie możesz ustawić kamery tak, by oprócz fotografowanego pojazdu, obejmowała też pobocze, inne samochody, pieszych, chmurki, rowerzystów, kołyszące się konary drzew czy jakiekolwiek inne obiekty zmieniające swoje położenie, gdyż proces odfiltrowywania zbędnych informacji znacznie skomplikuje cały algorytm. Oznacza to zastosowanie konkretnego zbliżenia i ustawienie pojedynczego urządzenia rejestrującego na pojedynczy pas ruchu. W razie braku jakiegokolwiek ruchu, kamera powinna obejmować jedynie część pasa drogowego (mówiąc po ludzku: kawałek asfaltu i nic ponad to).
  3. Nagrywanie pliku wideo w HD pochłaniać będzie koszmarne ilości pamięci, jeśli system na działać 24 godziny na dobę, 7 dni w tygodniu. I tak będziesz musiał z niego wyłuskać jedną konkretną klatkę. Dlatego kluczowym czynnikiem jest moment wykonania fotki i być może do robienia pojedynczych fotek powinieneś się ograniczyć. Jako wyzwalacza możesz użyć pakietu Motion dla Raspberry. Możesz mieć jednak problem ze zrobieniem fotki we właściwym momencie, gdyż ustawiając wyzwalacz na identyczne opóźnienie dla każdej aktywacji: możesz zrobić fotkę za wcześnie (jeśli pojazd będzie przemieszczał się zbyt wolno), zbyt późno (jeśli pojazd przejedzie pod kamerą zbyt szybko) lub, na szczęście, we właściwym momencie (czasami). Da się to jakoś rozwiązać, określając prędkość pojazdu poprzez zmianę stanu pikseli na obrazie lub poprzez zastosowanie dobrej jakości czujnika odległości (nie ruchu, tylko odległości). Zamiast pakietu Motion możesz użyć zamontowanych przy drodze czujników mikrofalowych rejestrujących ruch, pamiętając o tym, że muszą one być zdolne do pracy z napięciem 3,3V, bo takie napięcie obsługuje GPIO w malince. Czujniki ruchu wykorzystujące podczerwień kompletnie nie nadają się do wykorzystania poza wnętrzami budynków, gdyż w rzeczywistości nie rejestrują ruchu, tylko zmiany temperatury otoczenia. Wystarczy podmuch cieplejszego powietrza i system otrzyma sygnał o wykryciu ruchu. W takiej sytuacji na sto fotek pojazdów będziesz mieć tysiąc błędnych reakcji systemu.
  4. Zarejestrowany przez system obraz powinien być zapisany w bezstratnym, nieskompresowanym formacie, na przykład BMP. Prawdą jest, że bitmapa zajmuje koszmarną ilość pamięci, ale użycie np. pliku JPEG bynajmniej nie poprawi sytuacji. Aby przeanalizować plik graficzny, który wcześniej został skompresowany i wyłuskać z niego potrzebne dane, będziesz go musiał i tak zdekompresować. Jeśli zdecydujesz się pozyskiwać dane ze skompresowanego pliku (w dodatku z kompresją stratną), to zanim opracujesz algorytm odczytujący tablice, na Marsie pojawią się pierwsi osadnicy z Ziemi.
    Sporo pracy przed Tobą, ale to się da zrobić bez kosmicznych nakładów czasowych i finansowych. Powodzenia!
0

Czesc,
Dzieki za odpowiedz na pewno wezme to pod uwage. Zdecydowalem sie na zakup sprzetu i chce sprobowac to zrobic. Padlo na taki wybor:

  1. Raspberry Pi 3 model B WiFi Bluetooth 1GB RAM 1,2GHz
  2. Kamera ArduCam OV5647 5Mpx dla Raspberry Pi zgodna z wersją oryginalną
    3.Ultradźwiękowy czujnik odległości HC-SR04 2-400cm - SparkFun

Szukjac dalej trafilem tez na repo z wykorzystaniem OpenCV i Node.js
https://github.com/justadudewhohacks/opencv4nodejs

Z tego co sie dowiedzialem wymagaja uzycia Angular a dane maja byc przedstawione na stronie internetowej z uzciem Bootstrap.
Zastanawialem sie nad wyslaniem zrobionych zdjec na serwer ktory bedzie odczytywal tablice ale wydaje mi sie ze zdjecia robione przez kamere beda zbyt duze do wyslania przez modul wifi z ograniczona predkoscia. W kazdym badz razie dzieki za informacje i jak ktos ma wiecej to dawac bo czeka mnie duzo roboty jak na poziom mojej wiedzy na ta chwile.

0

Jakbyś się zastanawiał jaki system zainstalować na Raspberry Pi, to polecam: https://retropie.org.uk/
Służy mi stabilnie już kawał czasu.

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