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 ...
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