Tespit edilen çizgilere dayalı bir homografi hesaplama


12

"Mükemmel bir model" ile görüntü noktaları arasındaki yazışma noktalarını kullanarak görüntüden kamera düzlemine benzerlikler hesaplayabileceğinizi biliyorum.

Bir futbol sahası / saha için yapıyorum ve sahadaki beyaz çizgileri bulmak için kenar algılamayı kullandım.

Ancak kamera (her zaman) tüm perdeyi kapsamaz, bu yüzden tüm köşeleri göremiyorum ... ve ben sadece köşeler modelde% 100 bilinen noktalar (başka ayırt edici noktalar yok).

Sorun şu ki, çizgi başka bir çizgiyle kesişmediği ve bir köşe oluşturmadıkça, çizginin görüntü noktalarını biliyorum, modeldeki "mükemmel / gerçek dünya" koordinatlarına karşılık gelmiyor.

Ben bazı yolu var mı bir eşyazımı veya aday homographies hatta sadece bir dizi hesaplamak için tespit edilen hatlarını kullanmak tespit hatları birbirleri ile değil kesiştiği yapmak ve bir köşe oluşturmak bile,?

Sahayı, görüş alanımızı ve karşılık gelen gerçek dünya / model koordinatlarını (yeşil daireler) bildiğim saha noktalarını gösteren örnek resim ve görüş alanımızdan bu yana tamamen işe yaramayabilecek 2 satır örneği , Tam olarak hangi noktada başladıkları veya sahadaki ilgili gerçek dünyada / modelde durduklarına dair hiçbir fikrim yok:

resim açıklamasını buraya girin Kırmızı çizgiler kullanmak istediğim çizgilerin örnekleridir, ancak onların gerçek dünya koordinatlarını bilmiyorum ve bunları tahmin etmek biraz zor çünkü kamera pozuna bağlı olarak, karşılık gelen noktalar "herhangi bir yerde" olabilir.


2
Bazı örnek resimleriniz var mı? Ya da en azından hat tespiti için olası vakaların bir taslağını? Sorunuzun kısa cevabının "evet, yapabilirsiniz" olduğunu düşünüyorum, ancak sizden daha fazla ayrıntı daha ayrıntılı cevap vermeye yardımcı olacaktır :)
penelope

2
Örnek bir görüntü verebilir misiniz? Algılanan çizgi segmentlerinin kesişmediğini mi yoksa algılanan segmentleri çizgilere genişletmeye mi ve sonra kavşakları bulmaya çalıştığınızı mı söylüyorsunuz?
ppalasek

3
Soruya bir örnek resim ekledim
Henrik Kjus Alstad

1
Bunu hiç çözdün mü? Ben de sonuçlarla ilgileniyorum.

Yanıtlar:


4

Bunun için iki yaklaşımı açıklayacağım:

1) Bir yaklaşım bir çizgi eşleştirme algoritması gerektirir. Çizgileri eşleştirdikten sonra, çizgileri hesaplamak için çizgilerin uç noktalarını kullanabilirsiniz. Bunun için EDLine veya LSD tabanlı tanımlayıcılar yakın zamanda OpenCV'de önerilmiştir. Ayrıca, karma ve hızlı eşleştirme de uygulanmaktadır. Videolara buradan göz atın:

http://www.youtube.com/watch?v=MqMjvSkM39k

http://www.youtube.com/watch?v=naSWTlbg3To

Son opencv_contrib deposu, bu yöntemlerin kaynak kodunu içerir.

Çizgi uç noktalarının gürültülü olması durumunda, çizgileri doğrudan hesaplamak için çizgileri kullanabilirsiniz. Bu tür makaleler daha sonra şunları okuyacaktır:

İç Rapor: 2005-V04 Bir Görüntü Çiftinde Üç Çizgi veya Noktadan Homografileri Hesaplama G. Lopez-Nicolas, JJ Guerrero, OA Pellejero, C. Sagues

İç Rapor: 2003-V01 Eş zamanlı olarak sağlam çizgi eşleştirme ve tahmin tahmini G. Lopez-Nicolas

Homografi için Hatların Olasılıkla Eşleştirilmesi Taemin Kim, Jihwan Woo ve In So Kweon

2) Burada verilen alanlara özgü bir yöntem vardır:

" Yayın hokey videosunun düzeltilmesi için çizgi ve elips özelliklerinin kullanılması .", Gupta, Ankur, James J. Little ve Robert J. Woodham Bilgisayar ve Robot Vizyonu (CRV), 2011 Kanada Konferansı. IEEE, 2011.

ve

" Homografi tahmini için çizgi ve nokta yazışmalarını birleştirme .", Dubrofsky, Elan ve Robert J. Woodham . Uluslararası Görsel Hesaplama Sempozyumu. Springer Berlin Heidelberg, 2008.

Bunu katsayıları ile parametrize herhangi çizgi: fikri aşağıdaki gibidir eşleştiren Diğer görüntüdeki :li=(u,v,1)Tli=(x,y,1)T

li=HTli

Bu formda denklem doğrudan DLT yöntemine takılabilir:

Ai=[u0uxv0vx10x0uuy0vvy01y]

Tek fark, yukarıdaki referanslarda bulacağınız normalleşmedir.

Elips Ekleme: herhangi bir nokta konik bölümü, yalan ise . Bu dönüşüm ilişkisine yol açar:xCxTCx=0

C=HTCH1

Yukarıdaki referanslar ayrıca bu kısıtlamanın DLT algoritmasına nasıl ekleneceğini açıklamaktadır.

Elips ve çizgiler kullanarak, sağlam bir yansıtmalı ilişki elde etmek mümkündür.


2

Çizgiler paralel değilse, kesişme noktalarını hesaplayabilir ve referans noktası olarak kullanabilirsiniz. Resminizde mor noktaları da kullanabilirsiniz:

resim açıklamasını buraya girin

Bu arada, çizgilerin kesişmesinin görüntüde olması gerekmez. Çizgiler paralel olduğu sürece

Çizgiler paralelse, ek kısıtlamalar almak için bunları kullanabilirsiniz. Örneğin, N <4 puanınız ve K çizginiz varsa, dönüşümü tahmin edebilirsiniz

Projektif dönüşüm denkleminin şunu hatırlayın:

x=(a11x+a12y+a13)(a31x+a32y+1)y=(a21x+a22y+a23)(a31x+a32y+1)

Amacınız katsayılarını bulmaktıra11,a12,a13,a21,a22,a23,a31,a32

Bu nedenle, bir çizgi varsa , o zaman:ax+by+c=0Ax+By+C

Ax+By+C=0A(a21x+a22y+a23)+B(a21x+a22y+a23)+C(a31x+a32y+1)=0

Şu şekilde yeniden yazılabilir:

(AxAyABxByBCxCy)(a11a12a13a21a22a23a31a32)=C

A,B,C bilinen değerlerdir, çünkü çizgi denklemlerini hesapladınız. olan herhangi bir noktayı girebilir ve ek kısıtlama elde edebilirsiniz. Noktalardan aldığınız kısıtlamalarla birleştirin ve ek bilgi alabilirsiniz. İki noktadan daha fazla bilgi elde edemeyeceğinizi unutmayın, çünkü herhangi bir üçüncü nokta sınırlama matrisine doğrusal bağımlı çizgiler ekleyecektir.(x,y)ax+by+c=0

Ek referanslar " Elan Dubrovsky tarafından Homografi tahmini " - Bkz. Bölüm 2.3.1, hatlardan homografi tahmini.

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.