Adım Adım Kamera Görsel İzleme ve Düzlemsel İşaretleyiciler için Tahmin Tahmini


21

Bir süredir artırılmış gerçeklik ve görsel izleme uygulamaları için kamera pozu tahmini üzerine çalışıyorum ve görevle ilgili çok fazla ayrıntılı bilgi olmasına rağmen, hala çok fazla kafa karışıklığı ve yanlış anlama olduğunu düşünüyorum.

Bence sıradaki sorular adım adım cevaplamanın ayrıntılı bir adımını hak ediyor.

  • Kamera gerçekleri nelerdir?
  • Kamera dışsallığı nedir?
  • Homografiyi düzlemsel bir işaretleyiciden nasıl hesaplarım?
  • Eğer homografim varsa, kamera pozunu nasıl alabilirim?

Yaptığınız renormalizasyon konusunda belirsizim: 1. H, bazı prosedürler kullanılarak verilerden bulunan homografidir (SVD). 2. inv (K) * H = A burada çalıştığınız şey. Sonra bir dönme matrisinin ortonormal sütunları olarak q1 = a1 / norm (a1) ve q2 = a2 / norm (a2) yaparsınız ve çeviri vektörünü elde etmek için t / (bir şey) alırsınız. Sadece q1 ve q2'yi farklı şeylere göre nasıl bölebilirsiniz ve neyi böldüğünüzüzü nasıl seçersiniz? Ya fikir olduğunu inv (K) vermek şey tarafından SVD prosedürü ve çarpma yakın ama oldukça dik / ortonormal rotasyon matrisi, inci o kadar
user2600616

Fakat 3D noktayı nasıl alabilirim (X, Y, 1)?
waschbaer

Yanıtlar:


19

Buradaki tek sorunun dışsal parametreleri elde etmek olduğunu anlamak önemlidir. Kamera gerçekleri çevrimdışı olarak ölçülebilir ve bu amaç için çok sayıda uygulama vardır.

Kamera gerçekleri nelerdir?

Kameraya özgü parametrelere genellikle kamera kalibrasyon matrisi denir . YazabilirizK

K=[αusu00αvv0001]

nerede

  • ve a v , u ve v koordinat yönlerindekiölçek faktörüdürve kameranınodak uzaklığı f ile orantılıdır: α u = k u f ve α v = k v f . k u ve k v , u ve v yönlerindebirim mesafe başına piksel sayısıdır.αuαvuvfαu=kufαv=kvfkukvuv

  • ana nokta olarak adlandırılır, genellikle görüntü merkezinin koordinatlarıdır.c=[u0,v0]T

  • , eğer eğim, sadece sıfırdan farklı bir u ve v olmayan diktir.suv

Gerçek bilindiğinde bir kamera kalibre edilir. Bu kolayca yapılabilir, böylece bilgisayarlı görüşte bir amaç olarak düşünülmez, ancak çevrimdışı bir önemsiz adımdır.

Kamera dışsallığı nedir?

Kamera harici veya Dış Parametreler a, 3 x 4 bir dünyadan Öklides dönüşümüne karşılık koordinat sistemi kameraya koordinat sistemi matris. R , 3 x 3 dönme matrisini ve t çevirisini gösterir.[R|t]3×4R3×3t

Bilgisayarlı görü uygulamaları bu matrisi tahmin etmeye odaklanmaktadır.

[R|t]=[R11R12R13TxR21R22R23TyR31R32R33Tz]

Homografiyi düzlemsel bir işaretleyiciden nasıl hesaplarım?

Homografi, 3B düzlemi ve görüntü projeksiyonunu ilişkilendiren, homojen bir matristir. Elimizdeki Bir düzlem Z = 0 eşyazımı H bir noktaya harita M = ( X , Y , 0 ) t , bu düzlem ve karşılık gelen 2 boyutlu nokta üzerine m çıkıntı altındaki P = K [ R | t ] olduğu3×3Z=0HM=(X,Y,0)TmP=K[R|t]

m~=K[R1R2R3t][XY01]

=K[R1R2t][XY1]

H=K[R1R2t]

Homografiyi hesaplayabilmek için dünya-kamera çiftlerine ihtiyacımız var. Düzlemsel bir işaretçimiz varsa, özellikleri çıkarmak için görüntüsünü işleyebilir ve ardından eşleşmeleri elde etmek için sahnedeki bu özellikleri tespit edebiliriz.

Direct Linear Transform'u kullanarak homografiyi hesaplamak için sadece 4 çifte ihtiyacımız var.

Eğer homografim varsa, kamera pozunu nasıl alabilirim?

Homografi ve kamera K pozluyor [ R | t ] aynı bilgiyi içerir ve birinden diğerine geçmek kolaydır. Her ikisinin de son sütunu, çeviri vektörüdür. Sütun, bir H 1 ve iki H 2 homograf da kolon biri R ' 1 ve iki R' 2 kamera poz matris. Sadece sütun üç bırakılır R 3 arasında [ R | t ] ve ortogonal olması gerektiğinden, bir ve iki sütunlarının yan ürünü olarak hesaplanabilir:HK[R|t]H1H2R1R2R3[R|t]

R3=R1R2

Artıklık nedeniyle normalleştirmek gerekir örneğin matrisin [3,4] elementine bölün.[R|t]


4
Kalibrasyonun “CV'nin amacı değil kolay” olduğunu söylemek yanıltıcı olduğunu düşünüyorum. Her zamanki gibi, bozulma parametrelerini de tahmin etmemiz gerekir. Kendi kendine kalibrasyon yerine, ayrı kalibrasyon prosedürü yapılabiliyorsa daha esnek olduğundan düzlemsel kalibrasyon (Zhang - Kamera Kalibrasyonu için Esnek Yeni Bir Teknik) öneririm. Ayrıca, "Eğer homografim varsa, kamera pozunu nasıl alabilirim?" De küçük bir hatadır. hesaba katmadığınızdan kalibrasyon (H_ {calib} = K ^ -1H).
buq2

3
homografiden kamera pozu yanlıştır. Bunu yapmanın birkaç yolu var 'bazıları önemsiz.
mirror2image

Neden yanlış olduğunu anlamıyorum. Bunu bu şekilde hesaplarım ve çalışır. Neden yanlış olduğunu söylüyorsun?
Jav_Rock

3
Son bölümde H ^ 1 ve R ^ 1'in eşit ve eşit olduğunu yazdınız, ancak 3. bölümde H = K [RT] olduğunu belirtiyorsunuz ki bu R ^ 1'in aslında K ^ -1H ^ 1 olduğunu gösteriyor. Ancak, denklemleri karşılayacak ve R ^, R ^ ve T'yi (bilinmeyen ölçek) çözerken sorunlara neden olacak sonsuz sayıda H olduğu için bu kesinlikle doğru değildir. Cevabınız sağlam içsel ve bozulma kalibrasyonunu göz ardı ediyor ve denklemlerin bazıları yanlış, bu nedenle bu soru için iyi bir cevap değil.
buq2

Evet, adım 3'teki kalibrasyon matrisini kodumdan aldığımda eksikti ve kodları farklı bir fonksiyonda K ile çarptım.
Jav_Rock

3

İki boyutlu durumu çok iyi açıklarken, Jav_Rock tarafından önerilen cevap üç boyutlu alanda kamera pozları için geçerli bir çözüm sunmuyor. Bu sorun için birden fazla olası çözüm bulunduğunu unutmayın.

Bu makale , homografinin ayrıştırılması için kapalı formüller sunmaktadır, ancak formüller biraz karmaşıktır.

OpenCV 3 zaten tam olarak bu ayrışmayı uygular ( ayrıştırmaHomografiMat ). Bir homografi ve doğru şekilde ölçeklendirilmiş bir içsel matris göz önüne alındığında, işlev dört olası dönüş ve çeviri kümesi sağlar.

Bu durumda içsel matrisin piksel birimlerinde verilmesi gerekir; bu, temel noktanızın genellikle (imageWidth / 2, imageHeight / 2)ve odak uzunluğunuzun genellikle olduğu anlamına gelir focalLengthInMM / sensorWidthInMM * imageHeight.


Doğru ölçeklendirilmiş bir içsel matris nedir?
Guig

1
Cevabımı güncelledim. Lütfen yukarıya bakınız.
Emiswelt

Hey @Emiswelt, odak uzaklığı değil focalLengthInMM / sensorWidthInMM * imageWidthmi? Neden onun yerine yüksekliği seçtin?
El Marce,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.