Constructing 3D Models via Stereo Images

Bu projede sürekli bir yüzeye sahip sabit bir cismin iki farklı açıdan alınmış görüntülerinden yararlanarak cismin 3 boyutlu modelini oluşturuyoruz. Bu ne işe yarar demeyin. Özel alanlarda geliştirilmesi durumunda uydulardan alınan fotoğraflarla yeryüzünün üç boyutlu modellenmesinde, akıllı robotların yol tayinlerinde, insan yüzünün üç boyutlu modelini çıkarak güvenlik alanında kullanılmasında vb. alanlarda kullanılabilir.


Projenin İşleyişi

o Programa girdi olarak iki resim (cismin iki farklı açıdan alınmış görüntüleri) ve bu resimlerin alındığı kameraların pozisyonlarını ve yönlerini veriyoruz.

o Daha sonra kameraların pozisyonlarını ve bakış yönlerini kullanarak iki kameranın da odaklandığı, cisim üzerindeki noktanın koordinatlarını buluyoruz.

o Bulduğumuz odak noktası etrafında farklı derinliklere sahip noktalar seçiyoruz.

o Seçtiğimiz her bir nokta için bu noktanın her iki resim üzerindeki izdüşümlerini hesaplıyoruz.

o Bu izdüşümleri kullanarak her iki resim üzerinde o noktanın sahip olduğu renkleri bulup ve bu renkleri karşılaştırıyoruz.

o Bu renkler arasındaki yakınlığa göre de noktanın cisim üzerinde olup olmadığına karar veriyoruz.

o Cismin üzerinde olduğundan emin olduğumuz noktaları daha önceden oluşturduğumuz hayali bir ızgara üzerine koordinatlarına göre yerleştiriyoruz.

o Cisim üzerinde olduğuna emin olduğumuz her nokta için odak noktasına yaptığımız işlemlerin aynılarını tekrarlıyoruz. Bu tekrarlamalar cisim üzerinde olup ta işlenmemiş olan hiç bir nokta kalmayıncaya kadar devam ediyor.

o Emin olduğumuz tüm noktaları belirledikten sonra ızgaranın her bir parçası üzerinde bulunan noktaların koordinatlarının ortalamasını alarak o parcanın üç boyutlu uzayda yaklaşık koordinatlarını temsil eden bir nokta buluyoruz.

o Daha sonra bu noktalardan faydalanarak üç boyutlu, poligonlardan oluşan bir yüzey oluşturuyoruz.

o En son olarak oluşturduğumuz bu yüzeyi OpenGL adlı bir grafik motoru ile gösteriyoruz.


İsterseniz bir de şematik olarak nasıl çaliştığını görelim.


Şimdi de programımızın örnek girdiler için nasıl çalıştığını görelim

  Birinci Örnek  
 
Birinci Resim
 
İkinci Resim
 
 
     
  Oluşan modelden alınan bazı görüntüler  

 

  İkinci Örnek  
 
Birinci Resim
 
İkinci Resim
 
 
     
  Oluşan modelden alınan bazı görüntüler