Stereowizja dwukamerowa i fotometryczna

Transkrypt

Stereowizja dwukamerowa i fotometryczna
Stereowizja dwukamerowa
Podstawowe problemy:
• dopasowywanie obrazów
• kalibracja uk ladu kamer
• rekonstrukcja (triangulacja)
Cechy obrazu do dopasowywania:
• jasność punktów obrazu (metody korelacyjne)
• kierunek i wartość gradientu na krawedziach
,
• parametry krawedzi
(krzywizna, d lugość, orientacja)
,
• parametry sylwetek
MW-ZPCiR-ICT-PWr
1
Rekonstrukcja trójwymiarowa
ζ
6
(ξ, ψ, ζ)
r
“ƒ
“ƒ
“ ƒ
“ ƒ
ƒ
“
ƒ
“
ƒ
“
ƒ
“
ƒ
“
ƒ
“
ƒ
“
ƒ
“
ƒ
“
ƒ
“
ƒ
“
ƒ
“
l l “
r
r
rƒ
ƒ
“
6
ƒ
“
ƒ
“
ƒ
“
“
r ƒrƒ
?
r
“
(x , yr )
(x , y )
0l
k
0
›
b
ξ-
-
ξ−b
ψ
ζ
ξ
=
= ; d = x l − xr
=
xl xl − d ayl k
xl
yl
1
ξ = b ; ψ = ab ; ζ = kb
d
d
d
MW-ZPCiR-ICT-PWr
2
Kalibracja odleg lości obrazowej
l
LL
L
DD
L
L
L
L
L
L
L
L
L
L
L
L
D
D
L
6
D
L
D
D
D
L
g
D
D
D
D
l
D
D
L
L
L
D
D
D
L
D
D
D
D
xD1
L
…
…
…
…
MW-ZPCiR-ICT-PWr
…
…
…
…
x2
?


…
…
…



6

g1


g2


D
… 
L D
L D … 
L D … 
LD … 
LD … 
LDr…
g = g1 − g2 = kl(
k=
6
6
k
?
?
?
1
1
− )
x1 x2
gx1x2
l(x2 − x1)
3
Algorytm dopasowywania linii epipolarnych
Qy =
N
−1
X
x=0
(fl(x, y) − fr (x + δ(x, y), y))2
Za lożenia i ograniczenia:
1. nośnikiem informacji o scenie jest jasność punktów obrazu
f (x, y);
2. dopasowaniu podlegaja, jednowymiarowe przebiegi funkcji jasności bed
przekrojami obrazów wzd luż odpowiadajacych
,
,
, ace
sobie linii epipolarnych.
3. jednoznaczność - punkt lewego obrazu można dopasować co
najwyżej do jednego punktu prawego obrazu (i odwrotnie);
4. monotoniczność - jeśli punkt (xl,1, y) jest dopasowany do
(xr,1, y), i (xl,2, y) jest dopasowany do (xr,2, y), to jeśli
xl,1 < xl,2 to również xr,1 < xr,2.
MW-ZPCiR-ICT-PWr
4
Przys lanianie (occlsion)
xr 6
6
RO
?
›
LO
-
xl
-
Jednokrokowa funkcja kosztu dopasowania:


 C(i − 1, j − 1) + c(i, j), 
C(i − 1, j) + O,
C(i, j) = min


C(i, j − 1) + O
c(i, j) – lokalny koszt b ledu
dopasowania punktu i na lewym
,
obrazie do punktu j na prawym obrazie
MW-ZPCiR-ICT-PWr
5
Algorytm ML (Maximum Likelihood)
for (i=1; i<=N; i++) C(i,0) = i * Occlusion;
for (j=1; j<=N; j++) C(0,j) = j * Occlusion;
for (i=1; i<=N; i++) {
for (j=1; j<=M; j++) {
min1 = C(i-1,j-1) + c(i,j);
min2 = C(i,j-1) + Occlusion;
min3 = C(i-1,j) + Occlusion;
C(i,j) = cmin = min(min1,min2,min3);
if(min1==cmin) M(i,j) = 1;
if(min2==cmin) M(i,j) = 2;
if(min3==cmin) M(i,j) = 3;
}
}
p=N; q=M;
while ( p!=0 && q!=0 ) {
P(p,q) = 1;
/* dodanie (p,q) do sciezki
switch ( M(p,q) ) {
case 1: p--; q--; break; /* p i q tworza pare
case 2: p--; break;
/* p jest bez pary
case 3: q--; break;
/* q jest bez pary
}
}
MW-ZPCiR-ICT-PWr
*/
*/
*/
*/
6
Obrazy do rekonstrukcji stereo
lewa kamera
prawa kamera
rozbieżność
lokalizacja
MW-ZPCiR-ICT-PWr
7
Niejednoznnaczność dopasowania linii
L
R
L
R
1
|
|
|
|
|
|
|
|
1
1
|
|
|
|
|
|
|
|
1
0
|
|
|
|
|
|
|
|
0
1
|
|
|
|
|
|
|
|
1
0
|
|
|
|
|
|
|
|
0
1
|
|
|
|
|
|
|
|
1
1
|
|
|
|
|
|
|
|
1
1
|
|
|
|
|
|
|
|
1
0
|
|
|
|
|
|
|
|
0
1
|
|
|
|
|
|
|
|
1
0
|
|
|
|
|
|
|
|
0
1 1 1 1 0 0 1 1 0 1 0 0 0 0 0 1 1 1 1
| | | | | \ \ \ \ \ \ \ \ \ \
| | | | | \ \ \ \ \ \ \ \ \ \
| | | \ \
\ \ \ \ \ \ \ \ \ \
\ \ \ \ \
\ \ \ \ \ \ \ \ \ \
\ \ \ \ \
\ \ \ \ \ \ \ \ \ \
\ \ \ \ \
\ \ \ \ \ \ \ \ \ \
| | |
\ \
\ \ \ \ \ \ \ \ \ \
| | |
| |
\ \ \ \ \ \ \ \ \ \
1 1 1 1 0 0 1 0 1 0 1 1 0 1 0 0 0 0 0
MW-ZPCiR-ICT-PWr
1
|
|
|
|
|
|
|
|
1
1
|
|
|
|
|
|
|
|
1
1
|
|
|
|
|
|
|
|
1
0
|
|
|
|
|
|
|
|
0
0
|
|
|
|
|
|
|
|
0
1 1 0 1 0 0 0 0 0 1 1 1 1
| \ \ \ \ \ \ \ \
| \ \ \ \ \ \ \ \
|
\ \ \ \ \ \ \ \
|
\ \ \ \ \ \ \ \
|
\ \ \ \ \ \ \ \
|
\ \ \ \ \ \ \ \
|
\ \ \ \ \ \ \ \
|
\ \ \ \ \ \ \ \
1 0 1 0 1 1 0 1 0 0 0 0 0
8
Algorytm MLMH+V (Maximum Likelihood,
Minimum Horizontal plus Vertical
discontinuities)
Macierze DVv,DVh,DVd – ilość nieciag , lości przy dopasowaniu pierwszych i punktów lewego obrazu do pierwszych j
punktów prawego przy osiagni
eciu
(i, j) krokiem w odpowie,
,
dnim kierunku.
for (i=1; i<=N; i++) C(i,0) = i * Occlusion;
for (j=1; j<=N; j++) C(0,j) = j * Occlusion;
for (i=1; i<=N; i++) {
for (j=1; j<=M; j++) {
min1 = C(i-1,j-1) + c(i,j);
min2 = C(i,j-1) + Occlusion;
min3 = C(i-1,j) + Occlusion;
C(i,j) = cmin = min(min1,min2,min3);
if(min1==cmin) {
vc=IsMatched(i); /* dopasowanie w poprzedniej linii */
DVd(i,j)=imin(DVd(i-1,j-1),DVh(i-1,j-1)+1,
DVv(i-1,j-1)+1)+vc;
}
else DVd=HUGE;
MW-ZPCiR-ICT-PWr
9
if(min2==cmin) {
vc=IsLeftOcclusion(i); /* lewe przysloniecie */
DVh(i,j)=imin(DVd(i-1,j)+1,DVh(i-1,j),DVv(i-1,j))+vc;
else DVh=HUGE;
if(min3==cmin) {
vc=IsRigtOcclusion(i): /* prawe przysloniecie */
DVv(i,j)=imin(DVd(i,j-1)+1,DVh(i,j-1),DVv(i,j-1))+vc;
else DVv=HUGE;
}
}
p=N; q=M;
d1=d2=d3=e=f=0;
while ( p>0 && q>0 ) {
P(p,q) = 1;
/* dodanie (p,q) do sciezki */
p-=e; q-=f; break;
switch (imin(DVd(p,q)+d1,DVv(p,q)+d2,DVh(p,q)+d3)) {
case 1:
/* p i q tworza pare */
d1=0; d2=1; d3=1; e=1; f=1; break;
case 2:
/* p jest bez pary */
d1=1; d2=0; d3=1; e=1; f=0; break;
case 3:
/* q jest bez pary */
d1=1; d2=1; d3=0; e=0; f=1; break;
}
}
MW-ZPCiR-ICT-PWr
10
uk ladami wspó lrzednych
Zwiazek
miedzy
,
,
,
systemu wizyjnego i robota
po lożenie w uk ladzie kamery
w
po lożenie z modelu
-
Model
r
−
? Q
›˜
-
Transformacja
r
@€
€@
š™
6
+
po lożenie rzeczywiste
r = T w r = [ξ, ψ, ζ, 1]



T
xl yl 1 T
w = [ , , , 1]
d d d

xl
d
yl
d
1
d

ξ
t11 t12 t13 t14
 ψ   t21 t22 t23 t24  



 

 ζ  =  t31 t32 t33 t34  

1
0
0
0
1
1
MW-ZPCiR-ICT-PWr
11
Estymacja parametrów transformacji
Serie pomiarowe:
Wp = [w1, w2, ..., wp] Rp = [r1, r2, ..., rp]
Kryterium jakości:
Q=
p
X
i=1
(ri − T wi)T (ri − T wi)
Model transformacji:
Tp = RpWpT (WpWpT )−1
Transformacja zredukowana do przypadku dwuwymiarowego:



 
t11 t12 0 t14
x
ξ



 
 ψ  =  t21 t22 0 t24   y 
 ζ   0
0 1 z  0 
1
0
0 0 1
1
MW-ZPCiR-ICT-PWr
12
Wspó lpraca robota z systemem wizyjnym w
uk ladzie klient–serwer
~
ˆ
~
ˆˆ
HH
H
~
A 
A
A 
A
?
?
6
klient
sterownik robota
MW-ZPCiR-ICT-PWr
›
-
serwer
system wizyjny
13
Kaskadowa konfiguracja systemu
rozproszonego klient–serwer
}
~
ˆˆ
}
H
H
AA
6
AA
?
?
system akwizycji
serwer2
6
?
klient2
klient1
sterownik robota
MW-ZPCiR-ICT-PWr
›
-
serwer1
system wizyjny
14
System akwizycji na magistrali ISA
A 
A
Ÿ œ
A 
A
MON
ž 
Feature Connector
?
?
?
KBD
6
?
(S)VGA
VideoBlaster
?
ISA
80486DX4
GE2000
PC–AT 486
w
MW-ZPCiR-ICT-PWr
Ethernet
15
Komputer wizyjny IC40
›
MON
AA
AA
?
?
š
KBD
?
6
˜
™
?
VIBus
IC40
?
?
VIBus
VIBus
IMSA
ASP–V3
VMEbus (slave)
• wyświetlanie obrazów z wejść wideo, magistrali VIBus lub pamieci
,
obrazu, z wyjściem RGB przez programowalna, palete, (CLUT),
• procesor MC68040/33MHz (27MIPS, 4.6MFLOPS),
• 4 wejścia wideo RS170/CCIR z przetwornikiem 8-bitowym (do 15MHz),
• wyjście (master) magistrali VIBus,
• wejście (slave) magistrali VIBus,
• 4 megabajty pamieci
obrazu,
,
• bezpośredni dostep
obrazu z magistrali VMEbus,
, do pamieci
,
• dwa porty szeregowe (MC68681).
MW-ZPCiR-ICT-PWr
16
Magistrala obrazowa VIBus
Sygna ly magistrali VIBus:
D0..D23 linie danych
RAWCLOCK synchronizacja punktów (sygna l zegarowy)
CSYNC* synchronizacja zespolona (typu telewizyjnego)
VSYNC* synchronizacja pionowa (pola)
HSYNC* synchronizacja pozioma (linii)
DATAVALID maskowanie nieużytecznej cześci
danych w linii
,
REQUEST maskowanie nieużytecznej cześci
danych w polu
,
EVENFIELD parzystość pola (obrazy typu interlaced)
Modu ly typy master dostarczaja, sygna lów sterujacych,
a
,
modu ly typu slave z nich korzystaja.,
MW-ZPCiR-ICT-PWr
17
Kategorie pakietów VIBus ze wzgledu
na ich miejsce
,
w ciagu
przetwarzania:
,
(frontend) – uk lady akwizycji - maja, tylko z lacze
• poczatkowe
,
,
master
• przelotowe (pipeline) – uk lady filtracji - maja, zlacza
typu
,
master i slave
• końcowe (backend) – uk lady wizualizacji - maja, tylko z lacze
,
slave
Topologie po laczeń
VIBus:
,
• kaskadowa (pipelined) - pakiety przelotowe sa, w laczone
,
kaskadowo pomiedzy
pakiet poczatkowy
a pakiet końcowy;
,
,
dok ladnie dwa pakiety
każdy odcinek magistrali laczy
,
• równoleg la (broadcast) - pakiet typu poczatkowego
rozsy la
,
dane wizyjne do wielu pakietów innych typów; magistrala
ma wiecej
niż dwa z lacza
,
,
MW-ZPCiR-ICT-PWr
18
System wizyjny na magistrali VMEbus
›
MON
AA
AA
?
?
š
6
KBD
?
˜
™
?
VIBus
C–30
IC40
VMEbus
VMEbus
VIBus
?
?
VIBus
VIBus
IMSA
ASP–V3
VMEbus
VMEbus
VLAN
v
MW-ZPCiR-ICT-PWr
kaseta systemu wizyjnego
Ethernet
19
Magistralowy system rozproszony
~
~
panel
6
›
ˆ
ˆ
~
ˆ
HH
H
MON
AA
AA
?
?
š
6
KBD
˜
™
6
?
VIBus
-
?
?
VIBus
VM–40
VIMC
IC40
VMEbus
VMEbus
VMEbus
VMEbus
VMEbus
VLAN
v
MW-ZPCiR-ICT-PWr
kaseta sterownika robota
Ethernet
20