Upload
others
View
26
Download
0
Embed Size (px)
Citation preview
ROBOTI INDUSTRIALI 1
Vederea artificiala
• Un robot lucrand in lumea reala poate realiza
sarcini multiple fara a utiliza vederea artificiala
• Cu cat lumea perceputa de robot devine din
ce in ce mai putin perfecta, viziunea va deveni
din ce in ce mai importanta pentru robot,
ajutandu-l sa se adapteze schimbarilor si
circumstantelor necunoscute.
ROBOTI INDUSTRIALI 2
Viziunea umana
• Serveste atat ca sistem senzorial pentru distante scurte cat
si pentru distante lungi
• Organul de procesare al imaginii : OCHIUL
• Informatia vizuala plecand de la ambii ochi urmareste doua
cai numite:
• calea informatiei “ce a fost vazuta”
• calea informatiei “unde a fost vazuta scena sau
obiectul”.
ROBOTI INDUSTRIALI 3
Viziunea umana
ROBOTI INDUSTRIALI 4
Ochiul unei muste
Marit de
200 de ori
ROBOTI INDUSTRIALI 5
Etapele viziunii umane pe care le-
am dori realizate de catre roboti
Procesul viziunii porneste de la momentul
observarii unui obiect care este iluminat de
o sursa de lumina observabila.
SURSA DE ILUMINARE – pentru om –
consta in energie electromagnetica din
domeniul vizibil.
Spectrul Electromagnetic
ROBOTI INDUSTRIALI 6
Spectru Vizibil
700 nm 400 nm
ROBOTI INDUSTRIALI 7
Etapele viziunii umane pe care le-
am dori realizate de catre roboti
Ochiul converteste energia luminoasa in
semnale electrice care pot fi procesate de catre
lantul sistemului vizual.
In cadrul acestui sistem, semnalul este analizat
pentru detectarea miscarii si marginilor, apoi, a
liniilor, a formelor si in final pentru intelegerea
imaginii.
ROBOTI INDUSTRIALI 8
Senzorul vizual - OCHIULActioneaza ca o camera de luat vederi inteligenta procesand
informatia inainte de a o transmite la creier.
Comparatie
9
Sase muschi extraoculari (fixeaza
globul ocular in orbite)
CMUcam2+
ROBOTI INDUSTRIALI 10
Etape in extragerea
caracteristicilor scenei
Detectare contururi - procesul de gasire a marginilor intre
diverse arii cu intensitati luminoase diferite ale energiei
vizuale. Sarcina realizata de catre ochiul uman.
Detectare miscare - procesul de detectare a lucrurilor care
se misca in campul vizual. La om acest proces are loc la
nivelul creierului (mesencephalon).
ROBOTI INDUSTRIALI 11
Etape in extragerea
caracteristicilor scenei
Detectare linii obiecte - procesul de reprezentare a
marginilor identificate sub forma de linii.
Detectare forma obiecte - procesul de preluare a liniilor
detectate si studiul in a identifica daca acestea formeaza
obiecte de forme cunoscute.
ROBOTI INDUSTRIALI 12
Perfomanta sistem de viziune
uman si animal
Capacitati deosebite in a
recunoaste obiecte
plecand de la
vizualizarea numai a
unor parti ale acestora.
Abilitatea aceasta
provine din experienta.
ROBOTI INDUSTRIALI 13
Etape in extragerea
caracteristicilor scenei
Intelegerea scenei - procesul final din lantul de procesare a
informatiei vizuale. Uneori nici oamenii nu finalizeaza acest
pas.
Culoare, Nuante, Textura – informatii suplimentare asupra
scenei vizualizate.
ROBOTI INDUSTRIALI 14
Etape in extragerea
caracteristicilor scenei
Informatie preconizata – informatie care ia
in calcul experienta umana => cheia
procesarii atat de rapide in sistemul de
viziune umana. Utilizarea acestui tip de
informatie reprezinta in fapt o filtrare. Ajuta
la reducerea supraincarcarii cu informatie.
ROBOTI INDUSTRIALI 15
Etape in extragerea
caracteristicilor sceneiAlt mod de evitare al captarii excesului de informatie – operare
cu senzori vizuali cu intrerupere controlata si detectare de nivel
luminos.
Controlul intreruperii unui dispozitiv tip senzor vizual conduce
la furnizarea informatiei catre procesor numai in momentul in care
intrarea contine ceva nou, unic de analizat.
Detectie nivel informatie vizuala – permite intrarii sa solicite o
intrerupere numai cand noua informatie primita constituie o
modificare fata de informatia anterioara cu cel putin un nivel
anterior setat al unei caracteristici a informatiei vizuale.
ROBOTI INDUSTRIALI 16
Ce intelegem dintr-o imagine ?
FLY
…
pe verticala
ROBOTI INDUSTRIALI 17
Ce intelegem dintr-o imagine ?
WIN
…
pe verticala
ROBOTI INDUSTRIALI 18
Ce intelegem dintr-o imagine ?
ROBOTI INDUSTRIALI 19
Ati vazut si tanara doamna ?
ROBOTI INDUSTRIALI 20
Sistemul de viziune artificial
Obiect
Elem.
sensibile
Convertor
semnal optic
in electric
Reprez.
Imag.
Extrag.
caract.
Caract.
Obiect
Caract.
Obiecte
Actiune robot
Lumina
reflectata Senzori vizuali
Recunoastere totala sau partiala
+ -
ROBOTI INDUSTRIALI 21
Analizoare de imagine cu matrice
de diode
Cir
cuit
de
ad
resa
re s
i ta
ct
Reg
istr
u
Poarta de
transfer
Poarta de
transfer
Poarta de
transfer
Registru
de citire
Matrice
bidimensionala
de fotodiode
start
ROBOTI INDUSTRIALI 22
Analizoare de imagine cu tub
Vidicon
Constructia tubului Vidicon
ROBOTI INDUSTRIALI 23
Analizoare de imagine cu tub Vidicon
Schema electrica
echivalenta
Acest analizor realizeaza
prelucrarea imaginii linie
cu linie printr-un baleiaj
al tintei cu un fascicul
electronic emis de un tun
electronic, sub actiunea
unor campuri electrice si
magnetice.
ROBOTI INDUSTRIALI 24
Captarea imaginii
Imginea este captata de catre
un senzor ( camera TV
monocroma sau color) si
digitizata.
Daca iesirea senzorului nu
furnizeaza deja semnalul in
forma digitala, se utilizeaza un
convertor analog-digital.
ROBOTI INDUSTRIALI 25
Captarea imaginii
Camera video are 2 parti:
Lentile care colecteaza tipul de
radiatie corespunzator emis de
catre obiect si care formeaza
imaginea obiectului real.
Un dispozitiv semiconductor
CCD care converteste radiatia
planului de imagine in semnal
electric.
ROBOTI INDUSTRIALI 26
“Frame Grabber”
“Frame grabber” – circuite
care digitizeaza semnalul
electric furnizat de
senzorul de imagine
pentru a stoca imaginea
in memoria RAM a
calculatorului.
Reprezentare imagine
Imaginile sunt reprezentate printr-o functie
intensitate luminoasa f(x,y) unde:
– x si y sunt coordonate spatiale;
– Valoarea functiei f este proportionala cu
luminozitatea (nivel de gri) imaginii.
O imagine digitala u(m,n) este reprezentata
printr-o matrice (nr. liniei si al coloanei
identifica punctul imaginii iar valoarea in
matrice indica nivelul de gri al acelui
punct). Un punct = „pixel‟.
Imaginea Imagine : o arie de pixeli bidimensionala
Indicii [i, j] ai pixelilor : valori intregi
Reprezentare Imagine
Pentru stocare in calculator se construieste o matrice ale carei elemente
contin valori de nivel de gri corespunzatoare unui pixel (i,j).
O reprezentare tipica a unei imagini poate contine valori a 256 nivele de
gri (pe 8 biti).
Valorile stocate sunt intre 0-255.
Esantionare, impartire in
pixeli si cuantificare Esantionare
– Imaginea reala este esantionata intr-un numar finit
de puncte.
– Rata de esantionare: rezolutie imagine
Cati pixeli poate avea o imagine digitala ?
e.g.) 640 x 480, 320 x 240, etc.
Pixel
– Fiecare esantion al unei imagini
– In punctul de esantionare = o valoare intreaga a
intensitatii luminoase a imaginii
Cuantificare
– Fiecare esantion este reprezentat pe
un cuvant (word) de dimensiune fixa
in calculator.
– Cate nivele ale intensitatii luminoase
pot fi utilizate pentru a reprezenta
intensitatea intr-un punct de
esantionare ?
– exp.) 28 = 256, 25 = 32, etc.
Interfatare Camera Digitala la CPU
Interfatare la CPU (Central Processing Unit):
• Complet dependenta de specificatiile senzorului camerei
• Senzorii necesita diverse tipuri de protocoale de interfatare
versatilitate proiectare hardware
software foarte complicat
• Tipic: 8 biti paralel (sau 4, 16, serial)
• Necesare multe semnale de control.
Interfatare Camera Digitala la CPU
Senzorii camerelor digitale sunt chip-uri foarte complexe.– prezinta similitudinile unor chipuri de controlere
embedded.
Unii senzori au un buffer prentru datele camerei si permit citirea lenta via handshake (ideal pentru microprocesoare lente)
Multi alti senzori trimit intreaga imagine tip streamdupa semnalul de start– (CPU suficient de rapid pentru a citi, sau sa utilizeze buffer
hardware sau DMA)
Diagrama simplificata a
interfetei camera - CPU
Probleme – Camere Digitale
Problema
• Fiecare pixel de la camera cauzeaza o intrerupere
• Rutinele care deservesc intreruperile dureaza mult, deoarece trebuie sa stocheze valorile registrilor in stiva
• Totul este incetinit
Solutie
• Utilizati buffer RAM pentru imagine si cititi datele intregii imagini cu o singura intrerupere
• Idee
• Utilizare FIFO ca buffer al datelor imaginii
• FIFO este similar unui RAM, si e necesar deoarece nu exista o sincronizare intrecamera si CPU
• Cand FIFO este jumatate plin, se va genera o intrerupere
• Rutina de tratare a intreruperii va citi din FIFO pana il va goli
• (Se presupune o intarziere destul de mica pentru a evita suprascrierea FIFO)
Camere digitale Chip camera nivele de gri : 160×120 pixeli
1 Byte per pixel
Camere digitale
Chip camera color: 160×120 „pixeli‟
Bayer Pattern
1 Byte per patrat
4 patrate formeaza un pixel
Operare pe matricea de
imagine Filtrarea spatiala presupune suprapunerea unei masti cu
ponderi, sau kernel, peste imaginea originala. Valoarea
pixelului din centrul kernelului se va inlocui cu suma
produselor ponderilor din masca cu valorile pixelilor de
sub acestea.
Operatori spatiali pe imagine
Operatie realizata asupra pixelilor vecini
Fiecare pixel va primi ca valoare suma
valorilor ponderate ale pixelilor vecini
Filtru median: diminuare zgomot imagine
Efect de blurare
Masti – detectare contur
Segmentarea Include:
– Lucrul cu nivele de prag (thresholding);
– Detectare contur;
Thresholding – separarea unor portiuni din
imagine pe baza unui prag aplicat nivelelor
de gri.
Etichetare Fiecare grup este etichetat cu o valoare unica; Se
scaneaza imagine si cand se intalneste un pixel
alb, toti vecinii albi din acel grup se eticheteaza cu
aceeasi valoare.
Valoare “1”
Detectare contur
Segmentarea imaginii prin determinarea
diferentelor mari intre 2 portiuni;
Utilizare masca spatiala
Extragere caracteristici
Determinarea caracteristicilor unei imagini segmentate.
Uzual se realizeaza pe o imagine binara, rezultat al unei operatii de thresholding.
Cele mai comune caracteristici extrase:
1. Arie.
2. Perimetru.
3. Centru de masa.
4. Grad de compactizare.
Extragere caracteristici - arie
Algoritm simplu: scanare imagine si
numarare nr de pixeli asignati cu valoare
“2”
Extragere caracteristici - perimetru
Pixeli de pe perimetru
Pixelii de pe o arie (alba), invecinati cu un pixelul etichetat “0”
ROBOTI INDUSTRIALI 48
Imbunatatire calitate imagine
Stergerea unor detalii obscure si imbunatatirea unor
caracteristici de interes ale imaginii.
ROBOTI INDUSTRIALI 49
Recuperarea imaginii initiale
Imbunatatirea aparentei unei imagini
Deseori bazata pe modele matematice sau
probabilistice aplicate imaginii degradate.
Imagine degradataImagine recuperata
ROBOTI INDUSTRIALI 50
Matlab – mediu de lucru si
prelucrare imaginiImagine in nivele de gri
(256*256): 256 linii
for i=1:256
for j=1:256
A(i,j)=j-1;
end
end
image(A);
colormap(gray(256));
axis('image');
ROBOTI INDUSTRIALI 51
Matlab – mediu de lucru si
prelucrare imaginiImagine (256*256) cu un cerc
de raza 80 pixeli:
ROBOTI INDUSTRIALI 52
Matlab – mediu de lucru si
prelucrare imaginiImagine (256*256) cu
modificare graduala a unui
cerc de raza 80 pixeli:
ROBOTI INDUSTRIALI 53
Matlab – mediu de lucru si
prelucrare imaginiImaginile scrise ca matrici N×M:
Cazul „matrice‟ – elementul (i,j) are valoarea A(i,j);
Cazul „imagine‟ – pixelul (i,j) are valoarea A(i,j);
ROBOTI INDUSTRIALI 54
Procesare simpla - transpusa
A B
ROBOTI INDUSTRIALI 55
Procesare simpla – vedere in
oglinda
A B
ROBOTI INDUSTRIALI 56
Procesare simpla - decupare
AB
ROBOTI INDUSTRIALI 57
Statistica imagini - histograma
Histograma unei imagini hA(l), (l=1,…,255) se defineste:
Numarul de pixeli ai imaginii A
ROBOTI INDUSTRIALI 58
Mod de calcul histograma
sau
ROBOTI INDUSTRIALI 59
Exemplul I - histograma
ROBOTI INDUSTRIALI 60
Exemplul II - histograma
ROBOTI INDUSTRIALI 61
Exemplul III - histograma
ROBOTI INDUSTRIALI 62
Procesare digitala la nivel de
punct – obtinere negativ
ROBOTI INDUSTRIALI 63
Comparatie imagine initiala cu
negativ la nivel de histograma
ROBOTI INDUSTRIALI 64
Alte prelucrari – “extragere
felii de imagine” (slicing)
ROBOTI INDUSTRIALI 65
Alte prelucrari – valori de prag
ROBOTI INDUSTRIALI 66
Alte prelucrari – detectare
contur
Arhitectura sistemului de urmarire a unui obiect
Kit-ul CMUcam2+
Kit-ul CMUcam2+
Urmarirea obiectelor colorate1. Scanarea
imaginii
2. Izolarea unei anumite culori
3. Extragerea de informatii despre regiunea imaginii care contine culoarea urmarita
Obiectivele robotului :
Detectarea obiectului tinta pe baza atributelor sale precizate
deplasarea catre acesta
recuperarea lui