24.07.2013 Views

3-B Yüz Modelleme ve Yerel Deformasyonlar 3-D Face Modeling ...

3-B Yüz Modelleme ve Yerel Deformasyonlar 3-D Face Modeling ...

3-B Yüz Modelleme ve Yerel Deformasyonlar 3-D Face Modeling ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3-B <strong>Yüz</strong> <strong>Modelleme</strong> <strong>ve</strong> <strong>Yerel</strong> <strong>Deformasyonlar</strong><br />

3-D <strong>Face</strong> <strong>Modeling</strong> and Local Deformations<br />

Ersin ÖZÜAĞ , M. Kemal GÜLLÜ, Oğuzhan URHAN, Sarp ERTÜRK<br />

Elektronik <strong>ve</strong> Haberleşme Mühendisliği Bölümü<br />

Kocaeli Üni<strong>ve</strong>rsitesi İşaret <strong>ve</strong> Görüntü İşleme Laboratuvarı (KULIS)<br />

Kocaeli Üni<strong>ve</strong>rsitesi<br />

ersinsys1@gmail.com , {kemalg,urhano,sertur}@kocaeli.edu.tr<br />

Özetçe<br />

Bu çalışmada, bir DLP projeksiyon cihazı <strong>ve</strong> yüksek<br />

çözünürlüğe sahip bir fotoğraf makinesi ile insan yüzleri<br />

3-Boyutlu (3-B) olarak bilgisayar ortamında elde edilmiş <strong>ve</strong><br />

çeşitli deformasyonlara uğratılmıştır. Sistem kalibrasyonu<br />

otomatik olarak, kalibrasyon örüntüsünden alınan bir<br />

imgeyle gerçekleştirilmiştir. <strong>Yüz</strong>e projektör yardımı ile renkli<br />

örüntü yansıtılarak derinlik bilgisi elde edilmiştir. Deneysel<br />

sonuçlar bu yöntemle derinlik bilgisinin yüksek çözünürlükte<br />

elde edilebildiğini göstermiştir. Derinlik bilgisinin elde<br />

edilmesinden sonra kullanıcının 3-B model üzerinde<br />

modifikasyonlar yapabilmesini sağlayacak bir grafiksel<br />

kullanıcı arayüzü (GUI) tasarlanmıştır.<br />

Abstract<br />

In this work, 3-D deformable face models are obtained at a<br />

computer by making use of a DLP projector and a high<br />

resolution camera. The system calibration is carried out<br />

using a calibration pattern image. A colored structured light<br />

is projected to face to obtain depth information. Experiments<br />

show that high resolution depth information can be extracted<br />

with this approach. Furthermore, a graphical user interface<br />

(GUI) is designed to enable user controlled modifications of<br />

the 3-D model.<br />

1. Giriş<br />

3-B bilgisi tıp, biyoloji, insansız kontrol, nesne tanıma gibi<br />

sistemlerde yaygın şekilde kullanılmaktadır. Bir çok<br />

uygulamada 3-B modelleme için, stereo görme,<br />

yapılandırılmış ışık, kodlanmış ışık gibi yöntemler<br />

kullanılmıştır [1].<br />

Nesnelerin 3-B görüntülerinin bilgisayar ortamında<br />

oluşturulabilmesi için farklı yöntemler olmakla birlikte çizgi<br />

lazer [2] <strong>ve</strong>ya projeksiyon cihazı kullanımı <strong>ve</strong> bir kamera<br />

sayesinde düşük maliyetli sistemlerin oluşturulması<br />

mümkündür [3-4]. Çizgi lazer kullanımı durumunda tarama<br />

için kullanılacak cihazın hareketli parçalar içermesi<br />

gerekmektedir. Projeksiyon cihazı kullanılması durumunda<br />

ise bir örüntünün taranacak cisim üzerine yansıtılması<br />

sonrasında bu görüntünün kamera <strong>ve</strong>ya fotoğraf makinesi ile<br />

alınıp işlenmesi gerekmektedir. Dolayısıyla projeksiyon<br />

cihazı kullanımı durumunda herhangi bir hareketli parçaya<br />

gereksinim duymayan bir 3-B tarama cihazı<br />

gerçekleştirilebilmektedir [4].<br />

Bu çalışmada yukarıda önerilen yöntemle elde edilen<br />

3-B <strong>ve</strong>rilerin istenen bölgelerinde çeşitli yerel deformasyon<br />

yöntemleri uygulanması amaçlanmıştır. Bu<br />

deformasyonların 3-B <strong>ve</strong>ride görsel bir bozulmaya yol<br />

açmadan pürüzsüz bir şekilde yapılması sağlanmıştır.<br />

Bu çalışmada, [4]’tekine benzer şekilde insan yüzünden<br />

yüksek çözünürlükte derinlik bilgisi çıkarılması için<br />

projeksiyon cihazı <strong>ve</strong> yüksek çözünürlüklü fotoğraf<br />

makinesinden oluşan bir donanım kullanılmıştır. Kullanılan<br />

donanım, bir bilgisayar tarafından üretilen örüntülerin<br />

taranacak cisme yansıtılması <strong>ve</strong> sonrasında fotoğraf makinesi<br />

ile yazılım geliştirme kiti (SDK) kullanılarak alınan bu<br />

görüntülerden derinlik bilgilerinin çıkarılması mantığı<br />

üzerine çalışmaktadır. Daha sonra elde edilen 3-B derinlik<br />

bilgileri OpenGL yardımıyla bilgisayar ortamında çeşitli<br />

yerel deformasyonlara uğratılmıştır.<br />

2. 3-B Tarama Sistemi<br />

3-B tarama amaçlı geliştirilen sistem bir cisim üzerine<br />

yansıtılan yapısal ışığın (structured light) cismin biçimine<br />

göre yapı değiştirmesi mantığı üzerine kurulmuştur. Şekil<br />

1(a)’da bu yaklaşımın temel mantığı gösterilmiştir. Şekilden<br />

açıkça görüldüğü gibi, ışık kaynağına göre farklı bir açıdan<br />

bakıldığında, yansıtılan yapısal ışığın cismin şekline göre<br />

deforme olduğu <strong>ve</strong> derinlik bilgisini açığa çıkardığı<br />

görülmektedir.<br />

Şekil 1: (a)Yapısal ışık kaynağı ile tarama mantığı, (b) 3B<br />

tarama sistemi blok şeması<br />

2.1. Donanım<br />

Bahsedilen yapısal ışığın bir bilgisayar yardımıyla projektör<br />

ile üretilmesi <strong>ve</strong> yine aynı bilgisayara bağlı bir kamera ile bu<br />

görüntülerin alınması mümkündür. Şekil 1(b)’de bu<br />

konfigürasyonun blok gösterimi <strong>ve</strong>rilmiştir. Bu çalışma için<br />

tercih edilen projeksiyon cihazı 1024×768 piksel<br />

çözünürlükte <strong>ve</strong> 3000 ANSI lümen şiddetinde ışık<br />

yayabilmektedir. Kullanılan fotoğraf makinesi ise<br />

12Megapiksel çözünürlükte görüntü elde edebilmektedir.<br />

Bir 3-B modelleme sisteminin başarılı <strong>ve</strong> doğru<br />

modelleme yapabilmesi için öncelikle kalibrasyonunun<br />

yapılması gerekmektedir [5]. Bu nedenle sistemin<br />

donanımsal hatalarının giderilmesi için gerekli kalibrasyon<br />

işlemleri, otomatik olarak uygun bir ortamda kalibrasyon<br />

(b)


örüntüsünden alınan görüntüyle sağlanmıştır. Böylece<br />

kamera geometrisinden <strong>ve</strong> lens bozunumundan kaynaklanan<br />

hatalar düzeltilmiştir.<br />

Yüksek çözünürlükte 3B modellemenin yapılabilmesi<br />

için öncelikle yüksek çözünürlükte derinlik bilgilerinin elde<br />

edilmesi gerekmektedir. Ancak, bu işlemlerinin işlemsel<br />

yükünün fazla olması, derinlik bilgisi çıkarımı için kullanılan<br />

derinlik betimleyici örüntünün önemini arttırmaktadır.<br />

Bu çalışmada kullanılan derinlik betimleyici örüntü<br />

[4]’tekinden farklı olarak Şekil 2(a)’da görüldüğü gibi<br />

çizgiler arası ayırt ediciliği en büyükleyecek yedi ayrı<br />

renkten oluşmaktadır [3]. Böylece ani derinlik değişimi olan<br />

bölgelerin takibi [4]’teki yönteme göre kolaylaşmaktadır.<br />

<strong>Yüz</strong>e yansıtılan örüntüdeki karşıtlığın yüksek olması, daha<br />

iyi sonuçların alınmasını sağlamaktadır [3]. Ancak,<br />

projektördeki her bir renk kanalının diğer kanalları<br />

etkilemesiyle renk girişiminin oluşması [6], karşıtlığı fiziksel<br />

olarak sınırlamaktadır. Bu nedenle kullanılan her örüntü<br />

bileşeninin (üç satır) arasında iki satır siyah örüntü (geçiş<br />

örüntüsü) oluşturulmuştur. Böylece örüntüdeki renk girişimi<br />

engellenip, karşıtlık olabildiğince yüksek tutulmaya<br />

çalışılmıştır. Şekil 2(c)’de yukarıda açıklanan yapıdaki<br />

örüntü kullanılarak elde edilen bir ham test imgesi<br />

görülmektedir.<br />

2.2. Yöntem<br />

Çalışmanın akış şeması Şekil-3(a)’da <strong>ve</strong>rilmiştir. <strong>Yüz</strong><br />

bölgesinin belirlenmesi aşamasında kullanıcı desteği ile yüz<br />

bölgesi işaretlenmektedir. Bu aşamada elde edilen görüntü<br />

Şekil-3(b)’de <strong>ve</strong>rilmiştir. Bu yöntemde derinlik bilgisinin<br />

elde edilmesi için kullanılan yaklaşımda öncelikle imgedeki<br />

gürültüleri yok etmek <strong>ve</strong> renk takibini kolaylaştırmak için 2B<br />

kumsaatimsi alçak geçiren süzgeç (2D hourglass shaped lowpass<br />

filter) <strong>ve</strong> 1B bant geçiren süzgeç kullanılarak hem yatay<br />

şeritlerin olabildiğince yumuşatılması sağlanmış hem de<br />

şeritlerin düşey düzlemdeki farklarını arttırarak görüntü<br />

[3]’deki gibi iyileştirilmiştir. Burada süzgeçlenmiş imgede<br />

her bir renk kanalının tepe noktasının tespiti <strong>ve</strong> bunların<br />

takibi gerekmektedir. Bu nedenle her bir renk şeridinin 3 renk<br />

kanalı (RGB) için de tepe noktaları hesaplanmıştır.<br />

Sonrasında üç renk kanalının tepe noktaya ulaştığı yerlerin<br />

ortalaması alınarak her bir renk şeridinin ortalama tepe<br />

noktası [3]’dekine benzer şekilde hesaplanmıştır.<br />

Şeritlerin düşeydeki tepe noktaları hesaplandıktan sonra,<br />

orijinal imge (Şekil-3(b))’de bu noktalara karşılık gelen<br />

piksellerin renklerinin belirlenmesi gerekmektedir. İlgili<br />

piksellerin projektörden yansıtılan örüntüdeki 7 ayrı renge<br />

sınıflandırılması için [3]’de uygulanan KMeansLineFit<br />

algoritması kullanılmıştır. Bu algoritma piksellerin RGB<br />

uzayındaki dağılımına göre 3B uzayda sınıflandırma<br />

yapmaktadır. Şekil-3(b)’deki imgenin hesaplanan tepe<br />

noktalara karşılık gelen piksellerinin RGB uzaydaki dağılımı<br />

Şekil-5’te <strong>ve</strong>rilmiştir. Burada yedi farklı renge ilişkin<br />

kümeler kabaca görülmektedir. Bu aşamada kullanılan<br />

KMeansLineFit yöntemi her bir pikselin hangi renge ait<br />

olduklarının kararını <strong>ve</strong>rmektedir. Ancak yapılan deneyler<br />

sırasında genlik değeri düşük olan piksellerde sınıflandırma<br />

başarımının istenenden düşük olduğu gözlemlenmiştir. Bu<br />

nedenle bu çalışmaya özgün olarak orijinal imge I (Şekil-<br />

3(b)), süzgeçlenmiş imge I f ile gösterilmek üzere,<br />

Iw I I f w şeklinde w çarpanı ile bir ölçekleme<br />

yaparak elde edilen I w üzerinde KMeansLineFit yöntemi<br />

yeniden çalıştırılmıştır.<br />

(a)<br />

(b) (c)<br />

Şekil 2: (a) Kullanılan örüntünün bir bölgesi (90 derece<br />

döndürülmüş)[3], (b) örüntü yansıtılmadan çekilen imge<br />

(doku bilgisi için), (c) 3-B modelleme sistemiyle elde edilen<br />

ham imge.<br />

(a)<br />

(b)<br />

Şekil 3: (a) Önerilen yöntemin akış şeması[3], (b) <strong>Yüz</strong><br />

bölgesinin belirlenmesi.<br />

Bu durumda önceki aşamada sorun yaratan piksellerin daha<br />

doğru şekilde sınıflandığı görülmüştür. Şekil-5’te ölçekleme<br />

yapılmış imgenin renk dağılımı <strong>ve</strong>rilmiştir.<br />

Bu aşamadan sonra da KMeansLineFit yöntemi<br />

tarafından hatalı olarak sınıflanan pikseller bulunmaktadır.<br />

Düzgün bir 3-B modelin oluşturulabilmesi için bu etkilerinde<br />

de giderilmesi gerekmektedir. Bu amaçla öncelikle<br />

KMeansLineFit işlemi sonrası tek renge sahip en büyük şerit<br />

bulunmaktadır. Bu şerit yardımıyla bütün imge yukarı <strong>ve</strong><br />

aşağı yönde taranır <strong>ve</strong> şeritler sıralanır. Bu yöntemle aynı<br />

şeride ait olduğu saptanan fakat farklı renklere sahip parçalar<br />

bulunursa, bu parçalar arasında oylama yapılır <strong>ve</strong> çoğunluk<br />

rengi bütün şeride atanır. KMeansLineFit yöntemiyle renkleri<br />

yüksek doğrulukla ayırt edebiliyor olmamız oylama<br />

yönteminin sorunsuz işlemesini sağlamaktadır. Renk<br />

doğrulaması yapıldıktan sonra, eğer varsa birden fazla<br />

parçadan oluşan şeritler (kaş, sakal <strong>ve</strong> kirpik gibi ışığı<br />

soğuran <strong>ve</strong> dağıtan, burun gibi keskin derinlik değişimi olan<br />

bölgelerde oluşan kopukluklar nedeniyle) doğrusal bir<br />

aradeğerleme işlemiyle birleştirilir. Bu aşamada elde edilen<br />

görüntü Şekil-6’da <strong>ve</strong>rilmiştir.


Şekil 4: (üst) Şekil 3(b)’de işaretlenmiş bölge, (orta)<br />

süzgeçleme işlemleri sonrasında aynı bölge,(alt) ölçeklenmiş<br />

imge üzerindeki aynı bölge<br />

Sonraki aşamada her bir çizginin yansıtılan çizgiden ne kadar<br />

saptığının tespit edilmesi yoluyla derinlik bilgisinin elde<br />

edilmesi gerekmektedir. Bu amaçla yüz bölgesindeki<br />

çizgiler, kamera-projeksiyon kalibrasyonundan [7] elde<br />

edilen referans çizgilerle karşılaştırılarak derinlik bilgisi<br />

çıkarılmıştır. Şekil-7’de elde edilen derinlik bilgisi<br />

<strong>ve</strong>rilmektedir. Bu aşamadan sonra elde edilen derinlik<br />

bilgilerinden 3-B modele geçmek için üçgenleme<br />

(triangulation) işleminin gerçekleştirilmesi gerekmektedir. Bu<br />

amaçla Delaunay üçgenleme [8] yaklaşımı kullanılmıştır.<br />

2.3. 3-D Model Deformasyonu<br />

Bu çalışma kapsamında üçgenleme sonrası modelin doku<br />

bindirilmiş halinde (3-B model üzerinde) çeşitli işlemler<br />

yapılması üzerine de çalışılmıştır. Bu işlemler için yaygın<br />

olarak kullanılan OpenGL [9-10] yazılım arayüzünün<br />

kullanılması tercih edilmiştir. Modelin kullanıcı arayüzünde<br />

Şekil 5: (üst) Şekil-3(b)’deki imgede tepe noktalara karşılık<br />

gelen piksellerin RGB uzayındaki dağılımı, (alt) I w nın tepe<br />

noktalara karşılık gelen piksellerinin RGB uzayında dağılımı<br />

Şekil 6: Renklerin sınıflandırılması <strong>ve</strong> doğrulanması sonucu<br />

oluşan imge<br />

gösterilmesi için modeli oluşturan üçgenlerin koordinatları <strong>ve</strong><br />

renk bilgileri OpenGL ortamında oluşturulmaktadır. Bu<br />

aşamada öteleme <strong>ve</strong> döndürme fonksiyonlarıyla modele<br />

istenilen açıdan <strong>ve</strong> noktadan bakılması sağlanmaktadır. Bu<br />

aşamadan sonra model üzerinde değişiklik yapma işlemleri<br />

gerçekleştirilebilir. Deformasyon işlemi temelde modeli<br />

oluşturan üçgenleri 3-B uzayda değiştirmeye karşılık<br />

gelmektedir. Bu uygulamada kullanıcının deformasyonun<br />

yapılacağı alanı bilgisayar faresi ile seçmesi gerekmektedir.<br />

Deformasyonun yapılacağı bölge belirlendikten sonra<br />

yapılması gereken deformasyonun biçimini <strong>ve</strong> büyüklüğünü<br />

belirlemektir. Uygulamada deformasyon şekli olarak küre <strong>ve</strong><br />

benzeri yumuşak yüzeye sahip biçimler seçilmiştir. Ayrıca<br />

deformasyon şiddetinin seçilen noktadan uzakltıkça azalması


sağlanmıştır. Bu amaçla kullanılan fonksiyonlar aşağıda<br />

<strong>ve</strong>rilmiştir.<br />

2 1 *(1 / )<br />

X X k dist R (1)<br />

X 2 X1 k /(1 dist / R )<br />

(2)<br />

Burada X 1 <strong>ve</strong> X 2 sırasıyla eski <strong>ve</strong> yeni konumu<br />

gösterirken, k ağırlıklandırma sabitini, dist ise ilgili<br />

noktanın merkeze olan uzaklığını göstermektedir. (1)’deki<br />

fonksiyon modelde seçilen bölgeyi büyütmek için, (2)’deki<br />

fonksiyon ise küçültmek için kullanılmıştır. Şekil-8’de sağ<br />

sütunlarda orijinal modeller sol sütunlarda ise yukarıda<br />

açıklanan şekilde farklı bölgeleri deformasyona uğratılmış<br />

modeller gösterilmiştir<br />

3. Sonuçlar<br />

Bu çalışmada, bir projektörden yansıtılan renkli bir<br />

örüntüyle, insan yüzünden yüksek çözünürlükte derinlik<br />

bilgisi çıkarımı üzerine çalışılmıştır. 3-B modellemede<br />

gerekli olan derinlik bilgilerinin yüksek çözünürlükte düzgün<br />

bir şekilde çıkarılmasının daha hızlı <strong>ve</strong> düzgün yapılabilmesi<br />

için kullanılan renkli örüntü derinlik bilgisinin basit bir<br />

şekilde çıkarılmasında önemli kolaylıklar sağlamıştır. Ayrıca<br />

modelin deformasyona uğratılmasında kullanılan OpenGL<br />

fonksiyonları ile modelleri istenilen şekilde düzenlenmesi <strong>ve</strong><br />

<strong>ve</strong> değiştirmesi sağlamıştır.<br />

4. Teşekkür<br />

Bu çalışma, Sanayi <strong>ve</strong> Ticaret Bakanlığı <strong>ve</strong> Pars Ar-Ge<br />

Ltd.Şti tarafından 00262.STZ.2008-1’nolu Sanayi Tezleri<br />

(SANTEZ) projesi kapsamında desteklenmiştir.<br />

5. Kaynakça<br />

[1] S. Winkelbach and F. M. Wahl “Shape from Single<br />

Stripe Pattern Illumination” Pattern Recognition,<br />

Lecture Notes in Computer Science 2449, Springer 2002,<br />

page 240-247.<br />

[2] İ. Yıldırım, B. Demir, S. Ertürk, “3-Dimensional<br />

Modelling and Visualization of Cultural Assets For E-<br />

Go<strong>ve</strong>rnment ", Signal Processing and Communications<br />

Applications, 2006 IEEE 14th, On pages:1-4<br />

[3] P. Fechteler, P. Eisert and J. Rurainsky “Fast And High<br />

Resolution 3D <strong>Face</strong> Scanning ”, 2007. ICIP 2007. IEEE<br />

International Conference, Publication Date: Sept. 16<br />

2007-Oct.192007, Volume: 3, 81 – 84<br />

[4] E. Özüağ, M.K. Güllü, O. Urhan, S. Ertürk, “Extraction<br />

of High Resolution Depth Data from Human <strong>Face</strong>”,<br />

Signal Processing and Communications Applications,<br />

2009 IEEE 17th, Pages : 77 - 80<br />

[5] F. Sadlo, T. Weyrich, R. Peikert, M. Gross “A Practical<br />

Structured Light Acquisition System for Point-Based<br />

Geometry and Texture” Appeared in the Proceedings of<br />

the Eurographics Symposium on Point-Based Graphics<br />

2005<br />

[6] Li Zhang, Brian Curless, and Ste<strong>ve</strong>n M. Seitz “Rapid<br />

Shape Acquisition Using Color Structured Light and<br />

Multi-pass Dynamic Programming ” 3D Data<br />

Processing Visualization and Transmission, 2002.<br />

Proceedings. First International Symposium, 24- 36<br />

[7] M. Ashdown, R. Sukthankar “Robust Calibration of<br />

Camera-Projector System for Multi-Planar Displays”<br />

HPL – 2003-24<br />

[8] http://en.wikipdia.org/wiki/Delaunay_triangulation<br />

(Erişim Tarihi: 10 Ocak 2009)<br />

[9] OpenGL Programming Guide Fifth Edition<br />

[10] M. Segal, K.Akeley “The OpenGLR Graphics System:<br />

A Specification (Version 2.1 - July 30, 2006<br />

Şekil 7: Derinlik bilgisi<br />

Şekil 8: Deformasyona uğratılmış(sol sütun) <strong>ve</strong> orijinal(sağ<br />

sütun) modeller

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!