Sunteți pe pagina 1din 3

Prelucrarea imaginilor pentru măsurarea poziţiei roboţilor

Slide1
Din cauza creşterii puterii de calcul a calculatoarelor actuale, domeniul prelucrării digitale a
imaginilor prezintă un tot mai mare interes, iar prelucrarea imaginilor şi recunoaşterea formelor în
sistemele de vedere artificială este un domeniu de interes în viitor. O aplicaţie în cadrul sistemelor
de vedere artificială este cea de identificare a obiectelor folosind tehnici de recunoastere a formelor,
extragerea trăsăturilor acestora şi măsurare a caracteristicilor acestora şi folosirea acestor
caracteristici într-un sistem de comandă automată. În continuare voi prezenta un sistem de
prelucrare a imaginilor care are ca scop măsurarea poziţiei robotilor.

Slide2
Partea hardware a aplicaţiei este constituită din:
- camera de filmare, este un WebCam care trasmite date către calculator la o rezoluţie de
320/240 pixeli la o adancime de culoare de 24 biţi. Camera funcţionează pe portul USB vers
1.1 care are o rată de transfer de 1,5Mb pe secundă deci transmite între 5 şi 6 cadre pe
secundă;
- calculator care se ocupă de preluarea imaginilor, prelucrarea acestora şi transmiterii
comenzii;
- emiţătorul radio conectat la calculator prin portul SERIAL;
- robotul de tip Micromouse, livrat de firma Lynxmotion, dotat cu receptor radio;

Slide3
Partea software a aplicaţiei a fost împărţită în mai multe module:
- modulul de achiziţie a datelor de la camera video – se ocupă cu preluarea datelor de pe
portul USB la care este conectat camera video şi transformarea acestora într-un format uşor
de accesat şi de prelucrat;
- modulul de prelucrare preliminară a imaginilor achiziţionate – preia datele de la modulul de
achiziţie, realizează o filtrare de tip TRECE-JOS, realizează segmentarea după prag a
imaginilor şi o filtrare de tip SARE şi PIPER;
- modulul de prelucrare a imaginilor şi de extragere a caracteristicilor obiectelor prezente în
imagini – constă în algoritmul de etichetare a claselor de obiecte prezente în imagine şi
determinarea obiectelor ce prezintă interes pentru noi;
- modulul de măsurare a poziţiei robotului – preluând caracteristicile obiectelor prezente în
imagine, acest modul determină poziţia robotului în spaţiul de lucru şi unghiul pe care îl face
acesta cu abscisa;
- modulul de comunicaţie cu robotul – este un modul care transmite pe portul SERIAL
comanda de mişcare dată de modulul de comandă robotului;
- modulul de comandă a robotului – este un regulator automat care primeşte referinţa de la un
operator uman sau de la un sistem de comandă, iar reacţia de poziţie o primeşte de la
modulul de prelucrare de imagini;

Slide4
Are rolul principal de a prelua imagini de la camera video. Pe lângă acesta mai are şi
următoarele funcţii:
- detectează camera video ataşată calculatorului;
- iniţializează driverele acesteia;
- preia o imagine de la camera şi o transformă într-o matrice bidimensională. Fiecare element
al acestei matrici este un pixel din imagine. Valoarea fiecărui element este culoarea
pixelului.
Slide5
Operaţia de filtrare se realizează în felul următor:
- peste întreaga imagine originală se deplasează o fereastră de filtrare.
- pentru fiecare pixel se calculează valoarea filtrată a luminanţei, prin sumă ponderată a
luminanţelor pixelilor din fereastră; această nouă valoare se înscrie în poziţia
corespunzătoare din imaginea filtrată.
- Pentru comoditate, ponderile utilizate la filtrare se înscriu într-o matrice de aceeaşi
dimensiune cu masca de filtrare. Exemple de măşti pentru filtrare “trece-jos” sunt prezentate
în imagine.
Efectul filtrării "trece-jos" este atenuarea frecvenţelor înalte, presupuse a proveni din zgomot,
precum şi "teşirea" sau netezirea muchiilor din imagine, adică a acelor zone în care există tranziţii
de la luminanţă mare spre mică sau invers.

Slide6
Separarea pixelilor după apartenenţa la fond sau la obiecte se numeşte segmentare. Criteriile
cele mai frecvente de segmentare sunt luminanţa, culoarea şi textura. Cel folosit de noi este cel de
culoare care presupune că obiectele care trebuie separate au o proprietate distinctă a compoziţiei de
culoare, care nu se regăseşte la fond sau la celelalte obiecte.
Pentru segmentare trebuie decis pragul între luminanţele fondului şi obiectului sau
obiectelor. Pragul poate fi determinat realizând o histograma a imaginii sau experimental (în cazul
nostru). Dina analiza imaginii am observat că obiectele care prezintă interes au o valoare a
luminantei mici, de aceeea am folosit formula din imagine pentru a segmenta imaginea. Dacă
valoarea culorii unui pixel este mai mică de 30 atunci acesta este obiect important, altfel este
considerat ca făcând parte din fond.

Slide7
Zgomotul constând în pixeli izolaţi, cu luminanţă puternic diferită de luminanţa medie a
pixelilor înconjurători, se numeşte foarte sugestiv “sare şi piper”. După segmentare, prezenţa
acestui zgomot se manifestă prin existenţa de pixeli izolaţi, albi pe fond negru şi negri pe fond alb.
La operaţia de etichetare aceştia produc un număr mare (şi supărător) de false obiecte de
dimensiune minimă şi de false găuri în obiecte. Pentru eliminarea fenomenului, se recomandă o
operaţie numită “netezire logică”, realizată în interiorul unei măşti 3x3. Pixelul curent este
transformat în 1 dacă toţi vecinii sunt 1, transformat în 0 dacă toţi vecinii sunt 0 şi lăsat neschimbat
în restul situaţiilor.

Slide8
Modulul are sarcina de a extrage un set de parametrii pentru fiecare obiect aflat in imagine,
find realizat de algoritmul de etichetare. Acesta parcurge toti pixelii din imagine si creeaza niste
etichete pentru fiecare obiect din imagine, fiecare etichetă continând un număr de trăsături. La
sfârşitul agoritmului de etichetare se calculează centrul de greutate al fiecarui obiect astfel: X centru
de greutate= sumaX/nr.de pixeli, Y centru de greutate= sumaY/nr.de pixeli, pentru fiecare obiect in
parte.

Slide9
Modulul preia informaţiile determinate de modulul de prelucrare finală a imaginilor şi
determină dacă există sau nu un robot in imaginea curentă. Modulul face acest lucru ştiind că
robotul este constituit din 2 obiecte cu arii cuprinse între nişte limite, obiecte aflate la o distanţă fixă
unul faţă de celălalt. La detectarea unui robot, ştiind centrele de greutate ale obiectelor ce îl
constituie îi sunt calculate:

Slide10
Are ca sarcina initializarea portului serial dorit de noi (COM1 sau COM2), setarea
parametrilor de comunicaţie, şi definirea de funcţii care transmit date la port. Aceste funcţii sunt
folosite de modulul de comandă al robotului.

Slide11 + Slide12
Pentru a vedea mai bine funcţionarea modulelor de prelucrare de imagini am realizat un
modul de comandă care trasmite comenzi robotului pentru al misca pe o poziţie dată. Acest modul
are 3 părţi: primele 2 care comadă robotul folosind tehnici de reglare a sistemelor, iar al treilea
foloseşte algoritmi de programare. Reglarea poziţiei cu sistemul în bulcă deschisă determină o
singură dată eroarea faţă de referinşa impusă de noi şi calculează două comenzi: una de direcţie,
dând o comandă de rotire a robotului spre direcţia destinaţiei, şi una de distanţă (de la poziţia
curentă a robotului până la destinaţie) şi dă o comandă.

Slide13 + Slide14

Slide15 + Slide16

S-ar putea să vă placă și