• Nie Znaleziono Wyników

Dobór funkcji celu w algorytmach wyznaczania parametrów ruchu

N/A
N/A
Protected

Academic year: 2022

Share "Dobór funkcji celu w algorytmach wyznaczania parametrów ruchu"

Copied!
18
0
0

Pełen tekst

(1)

ZESZYTY NAUKOWE POLITECHNIKI ŚLĄSKIEJ Seria: AUTOMATYKA z. 107

________ 1993 Nr kol. 1149

Andrzej POLAŃSKI Konrad WOJCIECHOWSKI Instrytut Automatyki Politechniki Śląskiej

DOBOR FUNKCJI CELU W ALGORYTMACH WYZNACZANIA PARAMETRÓW RUCHU*

Streszczenie. W pracy zaprezentowano ulepszone wersje algorytmu wy­

znaczania parametrów ruchu przedstawionego w [4], Idea ulepszonych al­

gorytmów jest taka sama, jak opisanego wcześniej w [4], polega na mini­

malizacji odpowiednio dobranych funkcji celu. Wprowadzone ulepszenie polega na skonstruowaniu nowych funkcji celu. Przy Ich zastosowaniu uzyskano lepsze własności numeryczne algorytmu.

ON THE CHOICE OF PERFORMANCE INDEX IN THE MOTION PARAMETERS DETERMINATION ALGORITHMS

Summary. In the paper the improved algorithms of determining object motion parameters when comparing with the earlier version [4], are presented. The idea of the algorithm consists in the construction of the appropriate performance index, which attains its minimal value for arguments equal to the desired motion parameters. The examples demon­

strate the correctness of modification idea.

nOHEOP SYHKUHM UEJ1H B AJ1TOPMTMAX COTPEJIEJIEHMH HAPAMETPOB ÛBMXEHMS

PeoioMe. B paóoTe npencTaBJieHu yjiymueHHtie BepcHH ajiropHTMa onpenejienna napaMeTpoB b b h x c h h h onybjiHKOBaHHoro B [4], Rnea yjiynuieHHbcx ajiropHTMOB, Taxas xe xax npencTasjieHa b [4], 3aKJi»HaeTca b h h h h m m o s u h h cooTBeTCTBeHHO nono6paHbo< lyHXUHH uejiH. B BonnMoe yjiysaeHHe c o c t o m t b xoHCTpyxuHM h o b w x syHKUMH uejiH. IlpH MX Hcnojib30BaHHM B u ™ noJiyweHt* jiynujee wwcJieHHue CBOñCTBa aJiropMTMa.

*

Praca finansowana z CPBP 02. 13 oraz z grantu BK 301.

(2)

1. USTĘP

W wielu praktycznych zastosowaniach komputerowej techniki wizyjnej wystę­

puje zagadnienia wyznaczania parametrów ruchu na podstawie pola przemie­

szczeń (prędkości). Przy najbardziej ogólnym postawieniu problemu rozwiąza­

nie analityczne nie jest znane, proponowane algorytmy [1]— [4] polegają na numerycznej minimalizacji odpowiednio dobranej funkcji celu. Dotychczas nie skonstruowano funkcji celu, dla której istniałby dowód jednoznaczności roz­

wiązania, sygnalizowane są także trudności w uzyskaniu zbieżności przy sto­

sowaniu różnych algorytmów II], ]3].

W pracy [3], przy badaniach numerycznych algorytmu wyznaczania parametrów ruchu [4], stwierdzono jego dużą wrażliwość na wartości składowych wektora translacji. W przypadku gdy składowa w osi oz jest zerowa, działanie algo­

rytmu w ogóle nie jest możliwe. Dla małych wartości występują Już trudności w zbieżności.

W niniejszym opracowaniu proponuje się dwie nowe wersje algorytmu, w któ­

rych wada ta nie występuje. Podaje się numeryczne przykłady działania nowych 1 starej wersji algorytmu.

2. PROBLEM WYZNACZANIA PARAMETRÓW RUCHU

Zakłada się, że na poruszającym się (w przestrzeni trójwymiarowej) obiek­

cie umieszczona jest kamera przesyłająca serie obrazów nieruchomej sceny.

Rozpatruje się dwa obrazy z tej serii.

Między chwilami przesłania tych dwóch obrazów występuje przemieszczenie obiektu z kamerą. Niech Oxyz będzie układem współrzędnych związanym z ka­

merą - przed przemieszczeniem, a 0'x'y'z' - po przemieszczeniu. Przyjmuje się, że oś oz (oz') jest osią soczewki kamery, ogniskową soczewki oznacza się przez F.

Na dwóch obrazach przesłanych przez kamerę widoczne są rzuty pewnego (nie­

ruchomego) zbioru punktów (rys. 1). Odpowiadające sobie punkty są na dwóch obrazach rozróżniane. Współrzędne rzutów par punktów tworzą pole przemie­

szczeń. (Problem znajdowania odpowiadających sobie punktów Jest odrębnym za­

gadnieniem, opisywanym w literaturze, np. [8]).

(3)

Dobór funkcji celu u algorytmach. 35

Rys. 1. Tworzenie obrazów przesyłanych przez kamerę, przed 1 po przemieszcze­

niu

Fig. i. Making the series of images transmitted by camer before and after the plant motion

2.1. Pole przemieszczeń

Przyjmijmy, że liczba punktów wynosi N (na rys. 1 N = 5), oznaczmy ich współrzędne w układach Oxyz 1 0'x'y'z' odpowiednio przez x 1,yiz1 oraz x^,y',z', i = 1,2,...,N. Zakłada się, że działanie kamery można opisać mode­

lem transfermacji perspektywicznej, tzn. współrzędne X^, X', Y^ punktów na obrazach rejestrowanych przez kamerę wyrażają się wzorami:

(4)

Pole przemieszczeń Jest określone przez dwie macierze MP - początków i MK - końców wektorów pola przemieszczeń.

X1 V rxi Y łl

MP = *2* Y2

MK « X2> Y2

y n XT

(3)

2.2. Parametry ruchu

Współrzędne w układach Oxyz i 0/x'y‘z ’ związane są ze sobę przez transformację:

X ‘ "x Ax"

y* - n y + Ay

z* z Az

(4)

Wektor [Ax, Az, Az] Jest wektorem translacji. Macierz n opisuje obrót, przedstawia się Ją w następującej postaci

i 0 0 c o s d 0 slnfl" COS<Jl -sln\!/ 0'

n = 0 c o s p - s i n p 0 1 0 s l n $ C O S ijl 0

0 s i n y C O S p - s i n d 0 c o s d 0 0 1

(5)

lub

C2 =

sinpcos^ , -cosósini¡i , sinO

simpsindcos0+cospsin(i(, -sinpsindsin^+cospcos^, -sin^cosd

-cosy>slndcos0+slnpsin^, cospsindsin^i + sinpcostfi, cospcod

Kąty ę , ó, \ji oraz współrzędne wektora translacji Ax, Ay, Az opisuje przemieszczenie kamery między chwilami przesłania dwóch obazów.

Problem wyznaczania parametrów ruchu polega na znalezieniu wartości kątów T

ip, O, ^ oraz kierunku wektora translacji [Az, Ay, Az] na podstawie znajo­

mości pola przemieszczeń M P MK (3).

(5)

Dobór funkcji celu w algorytmach. 37

3. POLE TRANSLACJI I POLE ROTACJI

Konstrukcja wszystkich opisywanych tu algorytmów oparta Jest na rozkładzie pola przemieszczeń MP, MK (3) na pole rotacji i pole translacji [2], [4],

R R R

Niech 0x z z będzie układem współrzędnych, który powstaje przez obrót, opisany macierzą 0 , T układu Oxyz. Współrzędne punktów sceny w układzie

R R R

0x z z można oblic2yć na podstawie wspóir2ędnych w układ2ie 0xy2 2a po­

mocą w2oru

r ri

_ _

X X

R = n

y y

zR z

R R R R R

Współrzędne rozpatrywanych punktów w układzie 0x z z wynoszą x , , y,,

R i i

z. i + 1,2,...N. Współrzędne punktów na obrazie zarejestrowanym przez kamerę R R R

(gdy związany jest z nią układ 0x y z ) wyrażają się wzorem:

X* = F -i

i F R' X = F

R ’ i - 1,2 ... N (8)

Definiując macierz MR jako:

'4

MR =

4 4

4 i

określa się pole rotacji jako pole opisane przez macierze MP i MR oraz pole translacji - jako pole opisane przez macierze MR i MK.

(6)

4. ALGORYTM WYZNACZANIA PARAMETRÓW RUCHU

Korzystając ze wzorów (1), (6), (7) i (8) można wyliczyć:

cosdcos^i - cosdsiniji + siniJF

^ (-cos(psinócos^+sinł>sin^)X^+(cosł>sin0sini/f+sin(pcos^) Y^+cos#>cos<?F

_ (sini>sln«cos^+cospsin0)X1 + (-sinv)sinOsinv>+cosi)Cos0)Y, -sinpcosdF

y“ = p ________________ * _________________ _________

i (-cosysinOcos|//+sinę>sin^)X^ (cospsiniJsini/M-sin^+sinpcos^OY^+cospcostfF

(1 1)

Współrzędne X^, Y^, które określają końce wektorów pola rotacji (i po­

czątki wektorów pola translacji) początkowo nie są znane. Ze wzorów (10), (11) widać, że jeśli znane są kąty <p, d, ifi, to mogą one być obliczone na podstawie współrzędnych X^, Y

Na powyższym spostrzeżeniu opiera się algorytm wyznaczania parametrów ru­

chu. Ma on następującą postać:

A - Zakłada się wartości kątów <p, d, \/j.

B - Na podstawie założonych wartości początków pola przemieszczeń Xj, Y^ (1 = 1,2,...,N) oblicza się, że wzorów (10), (11) wartości X^, Y^

(i = 1,2.... N), tzn. macierz MR.

C - Sprawdza się, czy pole określone przez macierz MR i MK jest polem translacji. Jeżeli nie, to zmienia się wartości i wraca się do punktu B.

Aby zrealizować punkt C algorytmu, należy skonstruować funkcję celu, która byłaby określona na polu przemieszczeń MR, MK i przyjmowałaby tym mniejsze wartości, im bardziej to pole byłoby zbliżone do pola translacji.

5. KONSTRUKCJA FUNKCJI CELU

Jak wladmomo [7], proste wyznaczone przez wektory pola translacji prze­

cinają się w jednym punkcie, jego położenie określa kierunek wektora trans-

(7)

Dobór funkcji celu w algorytmach. 39

lacji. Równanie prostej stać:

X > ♦ Y Bi + Ci =

gdzie:

A i =

Yi

-

«?

IICQ

x;

IIU

Y ^ i - X^Y' i i

i = 1,2, .

.

, N.

Wprowadzając macierz N

V

B l* C l'

M = A2- B2- C2

y

b n- c n

(1 2)

(13)

(14)

(15)

(16)

można układ N równań (12) zapisać w postaci

0 = M (17)

Układ (17) jest na ogół sprzeczny, ma rozwiązanie tylko wtedy, gdy MR, MK jest polem translacji. W [4] jako poszukiwaną funkcją celu proponuje się

F = M

W X X W Y Y

1

(18)

T

gdzie (V."XX, WYY] jest pseudorozwiązaniem 5 równania (17). Funkcja ta przyjmuje wartość zero, gdy pole MR, MK jest polem translacji.

(8)

A zatem idea algorytmu [4] polega na minimalizacji normy prawej strony (17) i przyjęciu wartości minimalnej za funkcję celu (tzw. miarę "odległości od pola translacji").

Przedstawiona konstrukcja nie obejmuje jednak ważnego przypadku szczegól­

nego, gdy współrzędna Az wektora translacji jest zerowa. Proste wyznaczone przez wektory pola są wtedy równoległe. Rozwiązanie układu (17) [WXX, WYY] T

dąży do nieskończoności.

Oba przypadki można połączyć, zapisując równanie (17) w postaci:

0 = N (19)

W przypadku gdy MR, MK jest polem translacji, istnieje niezerowe rozwią-

T

zanie [WXX, WYY, WZ2) układu (19), a określa ono, z dokładnością do współ­

czynnika skali, kierunek wektora translacji. W przypadku gdy składowa Az wektora translacji jest zerowa, w rozwiązaniu WZZ jest także zerem.

Na podstawie równania (19) można skonstruować funkcję celu analogiczną do funkcji F, tzn. jako normę lewej stronu równania zminimalizowaną wcześniej podług [X,Y,Z] .T Widać jednak że należy ograniczyć zakres zmienności wektora

[X,Y,Z]T do zbioru wektorów o długości 1. W przeciwnym wypadku, niezależnie od macierzy M, rozwiązanie jest zerowe. A zatem funkcja ta ma następującą postać:

F = min _ I(X,Y,Z];

'X'

M Y

Z I

(2 0)

Łatwo się przekonać [5], że rozwiązaniem problemu minimalizacji (20) jest 7

minimalna wartość własna macierzy M M, tzn.

FI = Am i n (MTM). (21)

W przypadku gdy pole MR, MK jest polem translacji, minimalna wartość włas- 7

na jest zerowa, wektor własny [WXX, WYY, WZZ] odpowiadający tej wartości własnej określa kierunek translacji.

(9)

Dobór funkcji celu w algorytmach 41

Ponieważ macierz M M T jest dodatnio określona, funkcja FI jest równo­

ważna z funkcją celu:

F2 = det (MTM). (2 2)

Funkcje celu (21), (22) określają dwie nowe wersje algorytmu [4], w któ­

rych nie występuje problem zerowej wartości składowej ńz wektora transla­

cji.

6. GRADIENTY FUNKCJI CELU

Niech q będzie jednym z kątów tp, fl, 0. Można łatwo podać formuły okreś­

lające pochodne

7. PRZYKŁADY NUMERYCZNE

Badano numerycznie działanie algorytmów wyznaczania parametrów ruchu opar­

tych na funkcjach celu F, FI, F2. Korzystano z opracowanego pakietu progra­

mów (na komputer kompatybilny z IBM XT/AT, w języku Turbo Pascal), który umożliwia:

3F.i

aq~’ i = 1,2. (23)

Dla funkcji FI (6):

7 [WXX, WYY, WZZ] M)

'WXX' 3F1

3 ą WYY (24)

WZZ

Dla funkcji F2 [61:

SF2

Sq (25)

T T ■)

(Adj (M M) oznacza macierz dołączoną dla M M

Pochodne 3(M M)

-z-— otrzymuje się różniczkując wzory (10) i (11) [4],

(10)

- symulację i wykreślenie pola przemiszczeń,

- przeprowadzenie procedury minimalizacji funkcji celu F. FI, F2, metodą bez- gradientową Neldera-Meada lub Gaussa-Seidla,

- wykreślenie jedno- lub dwuwymiarowych wykresów funkcji F, FI, F2 w zależ­

ności od współrzędnych ip, ó. 0.

P r z y k t a d 1

Założono parametry ruchu:

<p =0.08 rad

ó = 0.05 rad 0 = - 0.02 rad Ax = 3.0 Az = 0 Ax = 3. 0

Rys. 2. Pole przemieszczeń dla przykładu 1 a) pole przemieszczeń Fig. 2. Displacement field (example 1)

a) displacement field

(11)

Dobór funkcji celu w algorytmach. 43

Rys. 2. Pole przemieszczeń dla przykładu 1 b) składowa rotacji, c) składowa translacji

Fig. 2. Displacement field (example 1) b) rotation field, c) translation field

(12)

Dla założonych parametrów wygenerowano pole przemieszczeń przedstawione na rys. 2a. Na rys. 2b i 2c przedstawiono rzeczywiste składowe rotacji i translacji dla tego pola.

Na podstawie wygenerowanego pola wyznaczano parametry ruchu opierając się na algorytmach z funkcją celu F, FI, F2. Stosowano metodę Neldera-Meada z krokiem 0.08 i tolerancją 1.0 x 10 5 (zawsze przyjmowano zerowe wartości startowe). Wszystkie trzy algorytmy wyznaczyły poprawne wartości kątów i kie­

runków. Liczba iteracji wynosiła dla algorytmu z funkcją F - 131, dla FI - 108, dla F2 - 147.

P r z y k t a d 2

Przyjęto parametry ruchu:

ip = 0. 08 rad

& = 0. 05 rad

0 = - 0. 02 rad Ax = 10

Az = 0 Ax = 0.02

Rys. 3. Pole przemieszczeń dla przykładu 2 a) pole przemieszczeń Fig. 3. Displacement field (example 2)

a) displacement field

(13)

Dobór funkcji celu w algorytmach. 45

Rys. 3. Pole przemieszczeń dla przykładu 2 b) składowa rotacji, c) składowa translacji

Fig. 3. Displacement field (example 2) b) rotation field, c) translation field

(14)

F u * c ja s t r a t F < Fnax"* 12.7505 F m n -= 7 .1 2 ll )

Mst*i7rc(che f i -> x ta ta -> y

Zależność fu n k c ji c e lu F od ką ta p si

x 10*

1.25

1

xlO-*

1 1.30

(0,0 « (030,071) X0=0 YW)

Rys. 4. Funkcja strat (celu) F dla przykładu 1

a) zależności od ip, t? (przy i{i = const = -0.02 rad), b) zależność od i/i (przy

<p = 0.08 rad, ■& - 0.05 rad)

Fig. 4. Performance index F (example 1)

a) depended on <p, d (where \j> = const. = -0.02 rad. ), b) dependend on \p (where <p = 0.08 rad. ,■& = 0. 05 rad. )

(15)

Dobór funkcji celu w algorytmach. 47

F lslkcja s t r a t F ( Fna»~»l7.7354 Fn tn ~ 0 .0 00 0 )

Hspdłrządne te ta -> x p s i -> y y*-O.OCOQ

x =0.0900 y =0.0400

Z a le ln o ić fu n k c ji c e lu F od ką ta f i

Rys. 5. Funkcja strat (celu) F dla przykładu 2

a) zależności od d, \p (przy tp = const = 0.08 rad), b) zależność od <p (przy 8 = 0.08 rad, i/i = 0.05 rad)

Fig. 5. Performance index F (example 1)

a) depended on ■8, i/j (where <p = const. = 0.08 rad.), b) dependend on ip (where <p - 0.08 rad., 0 = 0.05 rad. )

(16)

Dla założonych parametrów wygenerowano pole przemieszczeń przedstawione na rys. 3a. Na rys. 3b i 3c przedstawiono składowe rotacji i translacji dla tego pola.

Podobnie jak w poprzednim przykładzie, wyznaczono parametry ruchu opiera­

jąc się na algorytmach z funkcją celu F, FI, F2. Stosowano taką samą metodę minimalizacji, jak poprzenio. Algorytmy z funkcją FI i F2 wyznaczyły poprawne wartości kątów i kierunków. Liczba interacji wynosiła dla algorytmu z funkcją FI - 111, dla F2 - 157.

Zastosowanie algorytmu z funkcją F doprowadziło do wyznaczenia (w 177 interacjach) błędnych wartości kątów.

<p = 0.2071

<p = 0.5151

0 = 0.0878

Na rys. 4 przedstawiono wykresy funkcji F w okolicy wyznaczonego mini­

mum. Rys. 4a przedstawia zależność F od kątów ip i -ó, przy czym 0 = 0.0878=

= const. Rys. 4b przedstawia zależność F od kąta i//, przy czym ¡p = -0.2071 =

= const d = 0.5151 = const.

Na rys. 5 przedstawiono wykresy funkcji F w okolicy rzeczywistego mini­

mum. Rys. 5a przedstawia zależność F od kątów i3 i 0, przy czym <p = 0.08 =

= const. Rys. 5b przedstawia zależność F od kąta <p, przy czym d = 0.05 =

= const 0 = -0.02 = const.

Z rysunków 4 i 5 wynika, że praktycznie każdy algorytm minimalizacji wy­

znaczy w tej sytuacji jedno z minimów lokalnych. Minimum rzeczywiste zostanie ominięte.

PODSUMOWANIE

Przedstawione przykłady numeryczne wykazują słuszność przyjętej koncepcji modyfikacji postaci funkcji celu. Algorytmy oparte na funkcjach celu FI i F2 działają poprawnie, podczas gdy algorytm z funkcją F nie znajduje minimum.

(17)

Dobór funkcji celu w algorytmach. 49

LITERATURA

[1] Fang J.Q., Huang T.S.: Solving three-dimensional small-rotation motion equations: Uniqueness, Algorithms and numerical results, Comput. Vision Graphics and Image Processing, vol. 26, 1984, pp. 183-206.

[2] Prazdy K. : Determining the instantaneous direction of motion from optical flow generated by curvilinearly moving observer, Comput. Graphics Image Processing, vol. 17, 1981, pp. 238-248.

[31 Wojciechowski K. , Polański A. : Wyniki numerycznych badań algorytmu wy­

znaczania parametrów ruchu, ZN Pol. Si. , z. 97, Gliwice 1990, s. 77-91.

[4] Polański A. : Algorytm wyznaczania parametrów ruchu na podstawie pola przemieszczeń, ZN Pol. Śl. , z. 97, Gliwice 1990, s. 65-77.

[5] Gantmacher F.R. : Teoria Matric, Moskwa 1950.

[61 Athans M.: The matrix minimum principle, Inform. Control,s vol. 11, 1968, pp. 592-606.

[7] Harllck R.M.: Using perspective transformation in scene analysis, Comput.

Graphics Image Processing vol. 13, 1980, pp. 191-221.

[8] Hildreth E.C.: The Measurement of Visual Motion, Ph. D Thesis, Massachu­

setts Institute of Technology, 1982.

Recenzent: Prof. dr hab. inż. Ryszard TADEUSIEWICZ

Wpłynęło do Redakcji 30.05.1989 r.

A b s t r a c t

In the paper some problems related to the issue of determining object motion parameters using the series of images transmitted by a camera which is fixed to this object are considered. It is assumed that it is possible to

find a numer of matching scene points on two images. A set of vectors compo­

sed of image coordnates of matching points is called a displacement field.

The algorithm of determining motion parameters uses the vectors of a displa­

cement field as an input data. The idea of the algorithm consists in the construction of the appropriate performance index,- which attains its minimal value for arguments equal to the desired motion parameters.

(18)

In the paper the improved algorithms when comparing with the earlier ver­

sion [4], are presented. Numerical examples of new and previous versions of the algorithm are given. The examples demonstrte the correctness of the modi­

fication idea.

Cytaty

Powiązane dokumenty

[r]

Jak już mamy punkty “podejrzane” (jak ich nie ma, to funkcja nie ma ekstremów), to sprawdzamy, czy funkcja w każdym z takich punktów osiąga ekstremum, czy nie, a jeśli tak, to

4. Stojące na stole akwarium o szerokości w, długości l i wysokości h napełniono wodą po czym przechylono wzdłuż boku l tak, że podstawa akwarium tworzy ze stołem kąt

Czy dochód ten wzro±nie, czy zmaleje, je±li przy wydatkach na te trzy czynniki (3, 5, 1) zwi¦kszymy o dwie jednostki wydatki na reklam¦ i o jedn¡ jednostk¦ wydatki na

[r]

Wykazać, że jeżeli funkcja f jest różniczkowalna i jednorodna, to

Wi˛ekszego nakładu pracy wymagałoby analogiczne obliczenia na przykład dla danych dotycz ˛ acych przeci˛etnych kwot wydawanych przez gospodarstwa domowe na alkohol i wyroby tytoniowe

[r]