opencv İle stereo gÖrÜntÜlerden derİnlİk kestİrİmİ

23
OPENCV İLE STEREO GÖRÜNTÜLERDEN DERİNLİK KESTİRİMİ Murat Olcay ÖZCAN Eser SERT Deniz TAŞKIN Cem TAŞKIN

Upload: taber

Post on 24-Feb-2016

121 views

Category:

Documents


1 download

DESCRIPTION

OPENCV İLE STEREO GÖRÜNTÜLERDEN DERİNLİK KESTİRİMİ. Murat Olcay ÖZCAN Eser SERT Deniz TAŞKIN Cem TAŞKIN. İçerik. Stereo Görüş OpenCV Stereo Eşleme ve Derinlik Kestirimi Gerekli Öncü İşlemler Stereo Kalibrasyon Stereo Düzeltme Kullanılan Algoritmalar Deneysel Sonuçlar - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: OPENCV İLE STEREO GÖRÜNTÜLERDEN DERİNLİK KESTİRİMİ

OPENCV İLE STEREO GÖRÜNTÜLERDEN DERİNLİK KESTİRİMİ

Murat Olcay ÖZCANEser SERTDeniz TAŞKINCem TAŞKIN

Page 2: OPENCV İLE STEREO GÖRÜNTÜLERDEN DERİNLİK KESTİRİMİ

İçerik•Stereo Görüş•OpenCV•Stereo Eşleme ve Derinlik Kestirimi•Gerekli Öncü İşlemler

▫Stereo Kalibrasyon▫Stereo Düzeltme

•Kullanılan Algoritmalar•Deneysel Sonuçlar•Sonuç ve Öneriler

Page 3: OPENCV İLE STEREO GÖRÜNTÜLERDEN DERİNLİK KESTİRİMİ

Binoküler Görüş• Binoküler görüş iki gözün

meydana getirdiği görüş olarak tanımlanabilir.

• İki gözden alınan veriler beyin tarafından üst üste bindirilerek derinlik algısı yaratılmasında kullanılır.

• İnsanlarda bulunan binoküler sistemin incelenmesi ile stereo görüş sistemleri modellenmiştir.

Page 4: OPENCV İLE STEREO GÖRÜNTÜLERDEN DERİNLİK KESTİRİMİ

Stereo Görüş•Stereo görüşte iki yada daha

fazla kamera ile farklı bakış açılarından alınan görüntüler kullanılarak üç boyutlu sahne çıkarımı yapılabilir.

•Stereo görüş uygulamaları robot yöngüdümü, teleoperasyon ve sanal gerçeklik gibi bir çok alanda kullanılmaktadır.

Page 5: OPENCV İLE STEREO GÖRÜNTÜLERDEN DERİNLİK KESTİRİMİ

OpenCV ve OpenCVSharp• OpenCV C++ dili ile geliştirilmiş, bir çok

bilgisayarla görü algoritmasına sahip olan açık kaynak kodlu bir kütüphanedir.

• BSD lisansı ile yayınlamakta olan OpenCV akademik ve ticari amaçla ücretsiz olarak kullanılabilir.

• Windows, Linux, Android ve Ios işletim sistemlerinde çalışabilmektedir.

• Bu çalışmada .NET altyapısı ve C# programlama dilini kullanabilmek için ayrıca C# ile yazılmış olan OpenCVSharp isimli ara kütüphane kullanılmıştır.

Page 6: OPENCV İLE STEREO GÖRÜNTÜLERDEN DERİNLİK KESTİRİMİ

Stereo Eşleme•Bir sahnenin 3 boyutlu yapısını elde

edebilmek için farklı bakış açılarından çekilmiş stereo görüntülerinde görülen her noktanın uzaydaki koordinatlarının elde edilmesi gerekir.

•Bu koordinatları elde etmek için ise bir görüntü üzerindeki her bir noktanın diğer görüntü üzerindeki eşinin bulunması gereklidir.

•Stereo eşleme problemi aslında bir arama problemi olarak düşünülebilir.

Page 7: OPENCV İLE STEREO GÖRÜNTÜLERDEN DERİNLİK KESTİRİMİ

Derinlik Kestirimi•Stereo eşleştirme algoritmalarının büyük

bölümümün amacı genel olarak sol görüntüyü referans görüntü olarak belirleyerek, her bir piksel için bir aykırılık (disparity) kestirimi yapmaktır.

•Bu aykırılıklar sağ ve sol kameralarda görülen özelliklerin resim düzlemindeki koordinatları arasındaki farktır.

•Aykırılık kestirimleri gözlemlenen nesnelerin ters çevrilmiş uzaklıkları olarak yorumlanır.

Page 8: OPENCV İLE STEREO GÖRÜNTÜLERDEN DERİNLİK KESTİRİMİ

Tsukuba stereo çifti ve kesin referans verisi (ground truth data)

Page 9: OPENCV İLE STEREO GÖRÜNTÜLERDEN DERİNLİK KESTİRİMİ

Gerekli ön adımlar•Stereo eşleme yapılabilmesi için

kameraların stereo kalibrasyon ve alınan görüntülerin stereo düzeltme (rectification) işlemlerinin de yapılmış olması gerekmektedir.

•Ancak kalibre edilmiş ve düzeltilmiş görüntüler üzerinde sağlıklı bir derinlik kestirimi yapılabilir.

Page 10: OPENCV İLE STEREO GÖRÜNTÜLERDEN DERİNLİK KESTİRİMİ

Stereo Kalibrasyon•Gerçekte hiç bir lens/kamera mükemmel

değildir ve görüntüde üretim sürecinden kaynaklanan bozulmalar meydana gelir.

•Radyal ve teğetsel bozukluklar•Kameralar ölçüleri bilinen bir kalibrasyon

nesnesinin farklı açılardan alınmış görüntüleri kullanılarak kalibre edilir.

Page 11: OPENCV İLE STEREO GÖRÜNTÜLERDEN DERİNLİK KESTİRİMİ
Page 12: OPENCV İLE STEREO GÖRÜNTÜLERDEN DERİNLİK KESTİRİMİ

Stereo Kalibrasyon•Kalibrasyon sonrasında elde edilen iç

(intrinsic) parametreler lens bozukluklarının düzeltilmesinde kullanılır.

•Dış (extrinsic) parametreler ise kameralar arasında ki birbirlerine göreceli geometrik ilişkiyi göstermektedir.

•Stereo düzeltme işleminin ve derinlik kestiriminin gerçekleştirilebilmesi için kameralar arasındaki geometrik ilişkinin bilinmesi gereklidir.

Page 13: OPENCV İLE STEREO GÖRÜNTÜLERDEN DERİNLİK KESTİRİMİ

Stereo Düzeltme•Bu işlemden sonra iki görüntü üzerindeki

satırlarının hizalanması sonucunda stereo eşleme işlemi daha gerçekçi ve hesaplanabilir olmaktadır.

•Satır hizalanmış görüntülerde eşleştirilecek karşılıklı piksellerin aranması işlemi 2 boyutlu bir aramadan aynı yatay çizgide tek boyutlu bir aramaya dönüşmektedir.

Page 14: OPENCV İLE STEREO GÖRÜNTÜLERDEN DERİNLİK KESTİRİMİ
Page 15: OPENCV İLE STEREO GÖRÜNTÜLERDEN DERİNLİK KESTİRİMİ

OpenCV ile Stereo Eşleme•Blok Eşleme Algoritması

▫Her bir pikselin diğer görüntüde ki eşini bulmak yerine, arama işlemine komşu pikselleri de dahil ederek bir blok halinde arama yapar. Referans görüntü üzerindeki bu blok ile diğer görüntü üzerindeki blokların benzerlikleri parlaklık yoğunluğu farkı kullanılarak ölçülür.

•FindStereoCorrespondenceBM (left, right, disparity, state)

Page 16: OPENCV İLE STEREO GÖRÜNTÜLERDEN DERİNLİK KESTİRİMİ

OpenCV ile Stereo Eşleme II•Yarı-Global Blok Eşleme Algoritması

▫H. Hirschmüller tarafından 2005 yılında tanımlanmış olan yarı global eşleme algoritması temel alınarak geliştirilmiştir. Blok eşleme algoritmasında ki bazı iyileştirme işlemleri bu algoritmaya da dahil edilmiştir.

•StereoSGBM sınıfının FindStereoCorrespondence (left, right, disparity) metodu kullanılmaktadır.

Page 17: OPENCV İLE STEREO GÖRÜNTÜLERDEN DERİNLİK KESTİRİMİ

Deneysel Sonuçlar (Tsukuba)

Page 18: OPENCV İLE STEREO GÖRÜNTÜLERDEN DERİNLİK KESTİRİMİ

Deneysel Sonuçlar (Middlebury)

Page 19: OPENCV İLE STEREO GÖRÜNTÜLERDEN DERİNLİK KESTİRİMİ

Deneysel Sonuçlar (Uygulama)

Page 20: OPENCV İLE STEREO GÖRÜNTÜLERDEN DERİNLİK KESTİRİMİ

Farklı Parametre Değişimi

Page 21: OPENCV İLE STEREO GÖRÜNTÜLERDEN DERİNLİK KESTİRİMİ

Uygun Parametrelerin Belirlenmesi

Page 22: OPENCV İLE STEREO GÖRÜNTÜLERDEN DERİNLİK KESTİRİMİ

Sonuç ve Öneriler• Bu çalışmada OpenCV kütüphanesi ile farklı algoritmalar

kullanılarak stereo görüntülerden derinlik kestirimi yapılmıştır.

• Kalibrasyon ve düzeltme adımları OpenCV ile başarılı şekilde gerçekleştirilmiştir.

• Kullanılan algoritmalar varsayılan parametrelerle bazı örneklerde başarılı sonuç vermese de, parametreler değiştirilerek daha başarılı sonuçlara ulaşılmıştır.

• Derinlik kestirimi konusunda daha iyi sonuç veren algoritmalar bulunmakta birlikte; gerek kullanım kolaylığı, gerekse açık kaynak kodlu, ücretsiz ve gelişime açık oluşuyla OpenCV kütüphanesi çok çeşitli bilgisayarla görü uygulamaları için tercih edilebilir.

Page 23: OPENCV İLE STEREO GÖRÜNTÜLERDEN DERİNLİK KESTİRİMİ

Teşekkürler!•Sorular?