Essential Matrix [tr]

Essential matrix, epipolar geometride önemli bir yeri olan matristir. İki normalized image plane arasındaki dönüşüm işlemi için kullanılır. Aşağıdaki şekilde epipolar bir düzleme yerleştirilmiş object ve bu object’i farklı açılardan görüntüleyen iki adet kamera bulunmaktadır.



P    : object
OL   : Sol kameranın koordinat merkezi
OR   : Sağ kameranın koordinat merkezi
OLOR : Baseline
pLEL : Sol image plane’deki epipolar line
pREL : Sağ image plane’deki epipolar line

Yukarıdaki gibi kurulmuş bir sistem içerisinde P object’inin görüntüsü her iki image plane üzerinde de farklı şekillerde görünecektir. Essentail matrix, bir image plan üzerinde görünen noktanın diğer image plane üzerinde hangi noktaya denk geldiğini bulmamıza yarayan matrix’dir. Computer Vision’da genellikle fundamental matrixi bulmak için kullanılır. Şimdi biraz daha derinlere inip Essential matrix nasıl bulunur ona bakalım.



Şekilde gösterilen OLpL, OLOR ve ORpR vektörleri epipolar plane üzerindeki vektörlerdir. 3D uzayda bir cisim üzerinde doğru şekilde alınacak vektörlerden cismin hacmi ve alanı hakkında bazı şeyler söyleyebiliriz. Mesela basit bir küp hakkında konuşacak olursak ;



AB vektörü ile AC vektörünün cross product işleminin sonucu küpün ön yüzünün alanını verir. Elde edilen alan küpün yüksekliği ile çarpılınca küpün hacmi bulunur. Yükseklik vektörü CD olduğundan dolayı ;

|CD| . ( |AB| x |AC| ) = V

Yukarıdaki formül ile küpün hacmini hesaplayabiliriz. Gelelim epipolar plane’deki vektörlere. Küpün hacmini hesaplarken yaptığımız işlemi epipolar plane’e uygulayacak olursak ;

| OLpL | . ( |OLOR| x |ORpR| ) = 0

sonucunu bulabiliriz çünkü epipolar plane(!) uzayda bir hacim kaplamaz. Eğer lineer sistemlerde sıfıra eşitlik bulmuşsak bu bizim büyük bir nimettir :) Buradan yola çıkarak vektörlere kendi koordinat sistemleri içerisinde isim verecek olursak ;

p . ( t x R.p’ ) = 0

eşitliğini bulabiliriz. Yani OLpL vektörü p ile, OLRL vektörü t ile ve ORpR vektörünü de p’ ile sembolize edecek olursak yukarıdaki denklemi bulabiliriz. R değişkeni rotasyon matrisidir, bir vektörü başlangıç noktası referansında uzayda ne türlü rotasyon yaptırırsak yaptıralım, boyutu değişmez, sadece doğrultusu değişir, bu da bizim matematiksel denklemimizdeki sonuç için bir değişim ifade etmez. Şimdi denklemdeki değişkenleri birer birer inceleyelim :

p   : Sol image planedeki vektördür. Boyutu 3x1’dir.
p’ : Sağ image planedeki vektördür. Boyutu 3x1’dir.
t   : Translation vektörüdür. Boyutu 3x1’dir.
R   : Rotation vektörüdür. Boyutu 3x3’dür.

Elimizdeki matrisler birbirleri ile işlem yapmak için pek müsait değiller. Bu nedenle üstlerinde bazı değişiklikler uygulayacağız. İlk değişiklik t x R üzerinde olacak. t matrisi 3x1 boyutunda ve R matrisi de 3x3 boyutundadır.



Yukarıda örnek olarak translation ve X eksenindeki rotasyon matrisi verilmiştir. Rotasyon matrisi eksenlere göre değişiklik gösterebilir. Translation ile rotation matrislerini cross product yapabilmek için translation matrisini 3x3’lük boyutlara getirmemiz gerekecek. Bunun için skew symmetric yöntemini kullanacağız.



Skew symmetric yöntemi kabaca yukarıda gösterilmiştir. a ile gösterilen değerler translation matris içerisinde T değişkenine denk gelmektedir. Skew symmetric işleminden sonra translation matrisi 3x3’lük olduğu için rotation matrisi ile çarpılabilecek duruma gelmektedir. 3x3’lük iki matrisin çarpımı bize yine 3x3’lük bir matris çıkaracaktır.

p . ( t x R.p’ ) = 0

p . ( [tx].R . p’ ) = 0 ( [tx].R notasyonu skew symmetric gösterimidir. )

Şimdi elimizde 3x1’lik p, 3x3 [tx].R ve 3x1’lik p’ vektörleri kaldı. Burada 3x1’lik p vektörü ile 3x3’lik [tx].R vektörünü çarpmamız gerekecek. İşlem dot product olduğu için p vektörünün transpoze’nu alacağız ve en son elimizde :



denklemi kalacaktır. Essential matris dediğimiz şey :



translation ve rotation çarpımının sonucudur.



Sonuç olarak sol image plane üzerinde gösterilen bir noktanın transpozu ile essential matris çarpımından sağ image plane üzerindeki nokta bulunabilir. Essential matris bu işlem için kullanılır.

Popular posts from this blog

Polya’nın Problem Çözme Teknikleri

Mikroislemci Temelleri