oyun tabanlı eğitim için gelişmiş tasarım ve görselleme ...mimoza.marmara.edu.tr ›...

7
Oyun Tabanlı Eğitim için Gelişmiş Tasarım ve Görselleme Sistemi* A. Tanju Erdem, Bora Utku, Tolga Abacı, Çiğdem Eroğlu Erdem Momentum A.Ş. TÜBİTAK MAM TEKSEB A-205, Gebze, Kocaeli 41470, Türkiye {terdem, butku, tabaci, cigdem.erdem}@momentum-dmt.com Özetçe Bu makalede, eğitim amaçlı oyunlar üretmek ve canlandırmak için kapsamlı bir tasarım ve görselleme sistemi sunuyoruz. Bu sistem sayesinde, senaryo tabanlı 3- boyutlu (3B) eğitim oyunlarının verimli ve etkili bir şekilde gerçekleştirilmesi mümkün olacaktır. Bu sistemi oluşturmak için bir çok gelişmiş yeni yazılım geliştirdik: Eğitim senaryoları hazırlanmasını ve test edilmesini sağlayan görsel arayüzler, gerçeğe yakın 3B modelleme ve canlandırma yapmak için gerçek-zamanlı çalışan bir grafik yazılım kütüphanesi, ve oyundaki karakterlerin yüz animasyonu bilgilerini konuşma kayıtlarından otomatik olarak üretebilen algoritmalar. Senaryo üretim arayüzü, içinde karmaşık konu ve mantık akışlarını barındıran senaryoların kolaylıkla hazırlanmasını sağlamaktadır. 3B modelleme ve canlandırma araçları “ekranda-ne-görürsen-onu-alırsın” özelliğine sahip bir model üretme ortamı sağlarlar ve 3B ortam ve karakter modeli üretme süresini hızlandırırlar. Ses tabanlı yüz animasyonu araçları ise otomatik olarak dudak ve ifade animasyonu üretilmesini sağlarlar. 1. GİRİŞ Günümüzün karmaşık küresel çatışma ortamında, asker veya komutanların gerekli seviyede eğitim almamalarının vahim sonuçlar doğurabileceği gerçeği ortadadır. Canlı askeri tatbikat ve eğitimlere alternatif olarak bilgisayar oyunu tabanlı eğitim çözümlerinin daha etkili ve düşük maliyetli oldukları ortaya çıkmıştır [1,2]. Oyun tabanlı yaklaşımlar dahilinde ağlarla birleştirilmiş 3B simülatörlerin sunduğu “sanal simülasyon eğitimleri” ve senaryo tabanlı geniş kapsamlı çarpışmaların modellendiği “yapıcı simülasyon eğitimleri” sayılabilir [3]. Bu makalede, senaryo tabanlı 3 boyutlu (3B) eğitim oyunları yaratılmasını sağlayan eksiksiz bir sistem sunuyoruz. Bu sistemin önemli bir bileşeni senaryo tabanlı oyum üretimine yönelik bir Tümleşik Geliştirme Ortamı’dır (TGO). Sistem ayrıca bir gerçek zamanlı görselleştirme * Bu çalışma, TEYDEB 3050135 numaralı proje kapsamında TÜBİTAK tarafından kısmen desteklenmiştir. modülü, ve ses kayıtlarından otomatik olarak yüz animasyonu üretebilen bir animasyon modülünü barındırır. Sistem, ya bir bütün olarak kullanılabilir, yada istenirse parçalarının bir kısmı başka bir sisteme dahil edilebilir. Şekil 1, oyun tabanlı eğitim sistemimizin genel yapısını göstermektedir. TGO mimarisine bir sonraki bölümde detaylı olarak değiniyoruz. Gerçek zamanlı görselleştirme çalışmalarımızı 3. bölümde anlatıyoruz. 4. bölümde, ses tabanlı yüz animasyonu üretilmesine dair geliştirdiğimiz yeni metodları ıklıyoruz. Sonuç bölümünde bu yeni sistemin potansiyel faydalarını ve kullanım alanlarını özetliyoruz. Şekil 1. Oyun-tabanlı Eğitim Sistemi MANTIK MOTORU SENARYO TASARIM ARAYÜZÜ 3B MODEL & ANİMASYON ÜRETİMİ EĞİTMEN EĞİTİM SENARYOSU TEST & HATA AYIKLAMA ARAYÜZÜ GÖRSELLEME UYGULAMASI EĞİTİM OYUNU İÇERİĞİ GRAFİK SANATÇISI ÖĞRENCİ TGO

Upload: others

Post on 28-May-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Oyun Tabanlı Eğitim için Gelişmiş Tasarım ve Görselleme ...mimoza.marmara.edu.tr › ~cigdem.erdem › papers › papers_in_turkis… · Oyun Tabanlı Eğitim için Gelişmiş

Oyun Tabanlı Eğitim için Gelişmiş Tasarım ve Görselleme Sistemi*

A. Tanju Erdem, Bora Utku, Tolga Abacı, Çiğdem Eroğlu Erdem

Momentum A.Ş. TÜBİTAK MAM TEKSEB A-205, Gebze, Kocaeli 41470, Türkiye

{terdem, butku, tabaci, cigdem.erdem}@momentum-dmt.com

Özetçe Bu makalede, eğitim amaçlı oyunlar üretmek ve canlandırmak için kapsamlı bir tasarım ve görselleme sistemi sunuyoruz. Bu sistem sayesinde, senaryo tabanlı 3-boyutlu (3B) eğitim oyunlarının verimli ve etkili bir şekilde gerçekleştirilmesi mümkün olacaktır. Bu sistemi oluşturmak için bir çok gelişmiş yeni yazılım geliştirdik: Eğitim senaryoları hazırlanmasını ve test edilmesini sağlayan görsel arayüzler, gerçeğe yakın 3B modelleme ve canlandırma yapmak için gerçek-zamanlı çalışan bir grafik yazılım kütüphanesi, ve oyundaki karakterlerin yüz animasyonu bilgilerini konuşma kayıtlarından otomatik olarak üretebilen algoritmalar. Senaryo üretim arayüzü, içinde karmaşık konu ve mantık akışlarını barındıran senaryoların kolaylıkla hazırlanmasını sağlamaktadır. 3B modelleme ve canlandırma araçları “ekranda-ne-görürsen-onu-alırsın” özelliğine sahip bir model üretme ortamı sağlarlar ve 3B ortam ve karakter modeli üretme süresini hızlandırırlar. Ses tabanlı yüz animasyonu araçları ise otomatik olarak dudak ve ifade animasyonu üretilmesini sağlarlar. 1. GİRİŞ Günümüzün karmaşık küresel çatışma ortamında, asker veya komutanların gerekli seviyede eğitim almamalarının vahim sonuçlar doğurabileceği gerçeği ortadadır. Canlı askeri tatbikat ve eğitimlere alternatif olarak bilgisayar oyunu tabanlı eğitim çözümlerinin daha etkili ve düşük maliyetli oldukları ortaya çıkmıştır [1,2]. Oyun tabanlı yaklaşımlar dahilinde ağlarla birleştirilmiş 3B simülatörlerin sunduğu “sanal simülasyon eğitimleri” ve senaryo tabanlı geniş kapsamlı çarpışmaların modellendiği “yapıcı simülasyon eğitimleri” sayılabilir [3]. Bu makalede, senaryo tabanlı 3 boyutlu (3B) eğitim oyunları yaratılmasını sağlayan eksiksiz bir sistem sunuyoruz. Bu sistemin önemli bir bileşeni senaryo tabanlı oyum üretimine yönelik bir Tümleşik Geliştirme Ortamı’dır (TGO). Sistem ayrıca bir gerçek zamanlı görselleştirme

*Bu çalışma, TEYDEB 3050135 numaralı proje kapsamında TÜBİTAK tarafından kısmen desteklenmiştir.

modülü, ve ses kayıtlarından otomatik olarak yüz animasyonu üretebilen bir animasyon modülünü barındırır. Sistem, ya bir bütün olarak kullanılabilir, yada istenirse parçalarının bir kısmı başka bir sisteme dahil edilebilir. Şekil 1, oyun tabanlı eğitim sistemimizin genel yapısını göstermektedir. TGO mimarisine bir sonraki bölümde detaylı olarak değiniyoruz. Gerçek zamanlı görselleştirme çalışmalarımızı 3. bölümde anlatıyoruz. 4. bölümde, ses tabanlı yüz animasyonu üretilmesine dair geliştirdiğimiz yeni metodları açıklıyoruz. Sonuç bölümünde bu yeni sistemin potansiyel faydalarını ve kullanım alanlarını özetliyoruz.

Şekil 1. Oyun-tabanlı Eğitim Sistemi

MANTIK MOTORU

SENARYO TASARIM ARAYÜZÜ

3B MODEL & ANİMASYON

ÜRETİMİ

EĞİTMEN

EĞİTİM SENARYOSU

TEST & HATA AYIKLAMA ARAYÜZÜ

GÖRSELLEME UYGULAMASI

EĞİTİM OYUNU İÇERİĞİ

GRAFİK SANATÇISI

ÖĞRENCİ

TGO

Page 2: Oyun Tabanlı Eğitim için Gelişmiş Tasarım ve Görselleme ...mimoza.marmara.edu.tr › ~cigdem.erdem › papers › papers_in_turkis… · Oyun Tabanlı Eğitim için Gelişmiş

Şekil 2. Senaryo Üretme Arayüzü

2. SENARYO TASARIMI

Senaryo tabanlı oyun üretimine yönelik bir TGO hazırlanmıştır. Genelde TGO’lar yazılım geliştirme amacıyla kullanılırlar ve üç temel birimden oluşurlar: Kaynak kod editörü, derleyici, ve hata ayıklayıcı [4]. Bir TGO ile doğrusal olmayan bilgisayar görevleri iş akışları tasarlanabilir [5]. Ayrıca bir TGO ile tamamen grafiksel elemanlar kulluanılarak yazılım kaynak kodları üretilebilir [6]. Bu makalede önerilen Senaryo Üretim TGO’su da grafiksel tabanlı olup programlama bilgisi olmayan kullanıcıların senaryo üretebilmesini sağlayabilmektedir. Burada önerilen TGO, birbirleriyle bütünleşik çalışan üç alt modülden oluşmuştur: Görsel Programlama Dili (GPD) ve ona ait mantık motoru, grafiksel senaryo üretme arabirimi, ve senaryo test ve hata ayıklama modulü. 2.1. Mantık Motoru Tabanlı Görsel Programlama Bir GPD bilgisayar programlarının metin olarak değil de grafiksel elemanlar kullanılarak oluşturulmasını sağlar ve böylece normalden daha üst bir kavramsal seviyede programlama yapılmasına izin verir. Bir GPD öncelikle grafiksel sembollerden ve bunlara ait metin

açıklamalarından oluşur. Bu sembolleri oluşturan kutular, çizgiler, okların çiziminde kullanılan renkler ve stillere de mantıksal anlamlar verilebilir. GPD kavramı daha çok veri akışı programlama yöntemlerine benzetilebilir [7]. Son zamanlarda ön plana çıkmış bir GPD olarak Microsoft firmasının geliştirdiği Microsoft Visual Programming Language (MVPL) dili örnek verilebilir. Bu görsel dil, robot kontrol ve simulasyonuna yönelik geliştirilmiş Microsoft Robotics Studio ortamında kullanılır [8]. Bizim geliştirdiğimiz GPD ise doğrusal olmayan hikaye akışları ve senaryolar hazırlanmasına olanak verecek şekilde tasarlanmıştır. Bu GPD için geliştirilen derleyici, bir mantık motorunun özelliklerine sahiptir. Doğrusal olmayan hikaye akışı, bir mantık akış grafiği olarak modellenmiştir. Bu grafiği oluşturan düğümler mantık deyimlerini, düğümler arasındaki bağlar da mantık akış tiplerini ve yönlerini gösterir. Hikaye akışını oluşturmaya yönelik her bir temel kavram için bir dügüm tipi ve bunun sembolü tanımlanmıştır. Düğümler arasında döngüler kurulması, düğümlerin birbirlerini aktif veya kapalı durumu getirmesi, raslantısal düğüm seçimleri yapılabilmesi, ve her aktif düğüm için program komutlarının çağırılabilmesi mümkündür. Bu grafiksel elemanları kullanarak, programlama eğitimi olmasa bile herhangi bir kullanıcı bir oyun senaryosunu kurgulayabilmektedir. Senaryo grafiği

Page 3: Oyun Tabanlı Eğitim için Gelişmiş Tasarım ve Görselleme ...mimoza.marmara.edu.tr › ~cigdem.erdem › papers › papers_in_turkis… · Oyun Tabanlı Eğitim için Gelişmiş

istenildiği anda PC uygulamaları içinde çalıştırılabilecek formata dönüştürülebilir..

2.2. Senaryo Üretme Aracı Senaryo Üretme Aracı’nın Grafiksel Kullanıcı Arayüzü (GKA) sayesinde programlama eğitimi almamış kullanıcılar da GPD programları üretebilmektedir. “Grafiksel Kaynak Kod Editörü” olan bu araç Şekil 2’de görüldüğü gibi GPD programlarının sadece çizim komutları ile oluşturulmasını sağlar. Bu arayüzün sağladığı temel işlevler, program tarama, arama, kayıt ve doğrulamadır. Kullanıcının ürettiği tüm bilgiler arka planda bir veri tabanı sistemine girilir ve veri güvenliği ve doğruluğu bu şekilde sağlanmış olur. Herhangi bir anda kullanıcı görsel olarak tasarladığı programını Test ve Hata Ayıklama aracına gönderebilir.

2.3. Test ve Hata Ayıklama Aracı Bu GKA aracı, Senaryo Üretme Aracı kullanılarak hazırlanan tamamlanmış veya bitirilmemiş tüm GPD programlarını test edebilir. Metin tabanlı geliştirilen programlama dillerinde, insan dikkatsizliğine dayanan birçok hata ortaya çıkabilir. Bu nedenle metin tabanlı programlar test edilirken düşük seviyeli birçok hatanın ortaya çıkması beklenir. Bu hataların ayıklanması uzun ve zahmetli bir iş olabilir. Bizim GPD yapımız ve araçlarımız ise bu tür düşük seviyeli hataların ortaya çıkmasına izin vermez. Bu sayede hata ayıklama süreci daha verimli olarak sadece mantıksal hatalara yoğunlaştırılabilir. Normal hata ayıklıyıcılarda olduğu gibi bizim aracımızda programın adım adım işletilmesini ve her an program hafızasındaki tüm verilerin izlenebilmesini sağlar. Bu süreçte bulunması amaçlanan mantık hataları daha çok senaryonun ilerleyen aşamalarında “çıkmaz sokak” tabir edilebilecek çözümsüz akış noktalarının bulunmasıdır. Eğer program tasarımında böyle noktalar var ise, senaryo tamamlanamadan program çalışması yarıda kesilebilir. Bunu engellemek için bu araç otomatik olarak senaryoları hızlı ve raslantısal biçimde çalıştırabilir. Böylelikle aynı senaryo kısa sürede yüzlerce farklı yönden işletilir ve olası çıkmaz noktalar tespit edilebilir. Test uygulaması, görsel programın sadece belli kesimleri üzerinde çalıştırılabilir. Böylelikle çok büyük kapsamlı programlar küçük parçalar halinde test edilebilir. 3. GERÇEK ZAMANLI GÖRSELLEME Geliştirdiğimiz GPU-bazlı gerçek-zamanlı görselleme motoru, kuşatımlı, gerçekçi 3B sanal ortamların verimli bir şekilde görsellenmesini sağlamaktadır. Görselleme motoru içerik yaratımını kolaylaştırmak için Autodesk Maya™ yazılımına, bağımsız gerçek zamanlı görselleme için ise OGRE çatısı ile eklenti olarak tümleştirilmiştir.

3.1. Görselleme Motoru Görselleme motoru DirectX 10 tabanlıdır. Bu API seçiminin başlıca sebebi yeni nesil donanımlar ile sunulan yeni özelliklerin derli toplu ve temiz bir şekilde desteklenmesidir. Ayrıca, OpenGL’e kıyasla daha kaliteli sürücü ve hata bulma desteğinin de bu seçimde rol oynadığı söylenebilir. Pek çok modern GPU-bazlı gerçek zamanlı görselleme motorunun aksine, performans için görselleme kalitesinden ödün vermekten kaçınılmıştır. Fakat, bu yüksek performanslı, gerçek zamanlı çalışma özelliğinden vaçgeçildiği anlamına da gelmemektedir. Sıklıkla kullanılan Blinn-Phong modeli haricinde, motora pek çok materyal modeli de eklenmiştir. Bunlar arasında parallax occlusion mapping [4], saç ve ileri düzey yüzey-altı dağıtım etkili deri [10] bulunmaktadır. Motor, her objenin bir veya birden fazla noktasal ve yönlü ışıktan etkilenmesine izin vermektedir. Ayrıca, genellikle modern oyun motorlarında görülenden daha yüksek kalitede gerçek zamanlı gölge görselleme [12,13] hayata geçirilmiştir. Gölge haritalama tekniğimiz, gölge haritalarının etkin çözünürlüğünü hatırı sayılır miktarda arttıran bir algoritma kullanmaktadır. Geliştirdiğimiz bu algoritma sayesinde gölge haritası örtüşmesi (aliasing) yüzünden kaynaklanan “tırtıkların” gözle görülür şekilde azalması sağlanmıştır. Bunun ötesinde, görsellenen gölgelere ekran uzayında filtre uygulanması sayesinde, geri kalan örtüşme problemlerinin de görsel kalite üzerindeki olumsuz etkisi bertaraf edilmiştir. Gerçek zamanlı, gölgeli ışık hüzmesi etkileri de görsellenebilmektedir. Bunlara ek olarak, temel dolaylı ışıklandırma etkileri için de parlak ortam yansımalarını yaklaşık olarak görsellemeye imkan veren küp ya da çift paraboloid haritaları [12] tekniği kullanılmaktadır. Örtüşme önlemeli Yüksek Dinamik Erim görselleme [16] ve kamaşma ve alan derinliği [17] özelliklerini de içeren pek çok son işleme etkisi de motor tarafından desteklenmektedir. Ayrıca, sis ve yağmur [18] gibi atmosfer olayları da görsellenebilmektedir. Bunların haricinde motorun sahip olduğu bazı gelişmiş teknik özellikler şunlardır: Gerçek-zamanlı yansıma etkileri (aynalar), GPU-hızlandırmalı deri deformasyonu ve başkalaşım-şekli animasyonu, ve saydam yüzeyler. Geliştirdiğimiz bu motor ile görsellenmiş bazı sahneler Şekil 3’te görülebilir. 3.2. Bee™ ile İçerik Üretimi 3B sanal ortamlar için içerik üretimi Autodesk Maya™ [19] ya da 3D Studio MAX [20] gibi endüstri standardı yazılımlar kullanılarak gerçekleştirilebilir. Bu araçlar sanatçıların model ve animasyon üretmesini sağlayan ileri düzey özellikler sunmaktadır. Fakat, bu özellikler arasında içerik üretiminin gerçek zamanlı tarama (shading) yönünü destekleyen araçlara yeterince önem verilmemektedir.

Page 4: Oyun Tabanlı Eğitim için Gelişmiş Tasarım ve Görselleme ...mimoza.marmara.edu.tr › ~cigdem.erdem › papers › papers_in_turkis… · Oyun Tabanlı Eğitim için Gelişmiş

Şekil 3. Geliştirdiğimiz görselleme motoru ile elde edilmiş örnek görüntüler

Şekil 4. Bee™ eklentisinin çalışması

Page 5: Oyun Tabanlı Eğitim için Gelişmiş Tasarım ve Görselleme ...mimoza.marmara.edu.tr › ~cigdem.erdem › papers › papers_in_turkis… · Oyun Tabanlı Eğitim için Gelişmiş

Sanatçılar, ürettikleri taramalı modellerin sanal ortamda nasıl görüneceğini anlamak için önizleme fonksiyonlarına ihtiyaç duymaktadırlar. Modelleme ve animasyon araçları bir modelin verilen bir tarayıcı (shader) uygulandığında nasıl görüneceğini bazı donanımsal tarayıcı özellikleri sayesinde gösterebilseler de, bu çoğu zaman yetersizdir. Çünkü modelin görünümü sadece uygulanan tarayıcıya değil, aynı zamanda uygulanan pek çok son işlem ya da izdüşümsel dokular ya da gölgeler gibi diğer tam sahne etkilerine bağlı olarak değişmektedir. Var olan bazı ticari oyun motorları [21,22] bu sorunun üstesinden gelebilmek için içerik üretim hattı içerisine kendi “editor” araçlarını yerleştirmektedirler. Bu çözüm ile, once modeller üretilmeli, daha sonra önizleme yapılabilmesi ve tarayıcı parametrelerinin ayarlanabilmesi için “editor” içerisine taşınmalıdır. Bizce, burada oluşan ayırım verimliliği düşürmekte ve sanatçı açısından iş akışını bozmaktadır. Bahsedilen problemler için bizim önerdiğimiz çözüm, gerçek zamanlı görselleme motorunun modelleme araçları ile tümleştirilmesidir. Bu kavramın bir kanıtı olarak, Autodesk Maya™ için Bee™ adını verdiğimiz bir eklenti yaratılmıştır. Bu eklenti görselleme motorumuzu bir custom viewport renderer olarak entegre etmektedir. Bee™, sanatçıların tarayıcı parametreleri ve dokularda yaptıkları değişikliklerin etkilerini anında görmelerini sağlamaktadır. İleri düzey yüksek dinamik erim, gerçek zamanlı ışıklandırma ve gölgelendirme etkilerinin gözlemlenebilmesi Bee™ ile mümkün olmaktadır. Var olan sahneler Bee™ ile gerçek zamanlı görselleme için kolaylıkla dönüştürülebilmektedir. Bee™’nin çalışması Şekil 4’te görülebilir. 3.3. OGRE ile Gerçek-Zamanlı Görüntü Üretimi Oyun tabanlı eğitim sistemimizin son kullanıcısı olan öğrenciler, gerçek zamanlı bir bağımsız uygulama kullanırlar. Farklı ihtiyaçlara cevap verebilecek esneklikte bir sistem oluşturmanın bir gereği olarak, son kullanıcı uygulamaları modüler bir altyapı ile geliştirilmelidir. Bunun yanısıra farklı donanımları destekleyebilmek için uygulama geliştirmede kullanılan yazılım kütüphanelerinin çok platform desteği bulunmalıdır. Bu hedefleri karşılamak için eğitim sisteminin görselleştirme araçları için OGRE açık kaynak kodlu grafik motoru kütüphanesi kullanılmıştır [23]. OGRE motoru ve ekleri sayesinde girdi yönetimi, sahne yönetimi, ses yönetimi, fiziksel etkileşimler, yapay zeka hesapları, kayıt ve dosya kaynak yönetimi gibi işlevler, aynı kaynak kod ile farklı platfromlar için değişiklik yapılmadan kullanılabilir. Eğitim sistemi için OGRE motoruna bazı yeni özellikler eklenmiştir. Bu sayede Bee™ motoru ile OGRE motoru tamamen aynı görüntü efektlerini üretebilir hale getirilmiştir. Bunun sonucu olarak modelleme araçları ve son kullanıcı uygulamaları arasına görselleştirme farkı

kalmamıştır. Mantık motoru aracımız da son kullanıcı uygulaması ile sorunsuz şekilde bütünleşmiştir. Ayrıca bu uygulama TCP/IP tabanlı bir ağ arayüz modülü ve yöngüdüm altsistemi ile birlikte çalışabilmektedir.

4. KONUŞMA SİNYALİNDEN OTOMATİK YÜZ CANLANDIRMA

Eğitim simülasyonlarının önemli bir parçası olan insan-bilgisayar etkileşimini etkin ve gerçekçi olarak sağlamak için üç boyutlu avatarlar gereklidir. Yakın geçmişte, bir insanın 3B baş ve yüz modelini, o kişinin fotoğraflarını kullanarak oldukça gerçekçi bir biçimde üreten yöntemler geliştirilmiştir [24]. Bu yöntemler, bilgisayar macera oyunları, mobil iletişim, ve e-eğitim gibi uygulamalarda başarıyla kullanılmaktadır [25]. Üç boyutlu avatarların, verilen konuşma sesi ile eşzamanlı ve doğal görünen dudak animasyonları, gerçekçilik açısından çok önemlidir. Bölüm 4.1’de Saklı Markov Modeller (SMM) kullanarak dudak eşzamanlaması yapan bir yöntem sunuyoruz. Bölüm 4.2’de ise sadece konuşma sinyalini kullanarak yüz ifadesini canlandırmak için, bir yöntem öneriyoruz.

4.1. Dudak Eşzamanlaması

Bilgisayarla insan yüzü canlandırmada, doğal görünümlü dudak hareketlerinin üretilmesi çok önemli, fakat zor bir problemdir. İnsanlar yüz hareketlerindeki küçük kusurlara karşı oldukça hassastırlar. Bu yüzden, dudak hareketlerinin konuşma ile eşzamanlı ve mümkün olduğu kadar gerçekçi görünecek şekilde modellenmesi ve üretilmesi gereklidir. Bu kısımda, önceden kaydedilmiş konuşma sinyalinden otomatik olarak vizem dizilimlerinin elde edilmesi problemi ele alınmaktadır. Fonem, konuşmanın temel akustik birimidir. Vizem ise, bir foneme karşılık gelen dudak şeklidir, yani, görsel fonem de denebilir. Bu çalışmada, Amerikan İngilizcesi için 46 fonem tanımlayan TIMIT konuşma veritabanını kullandık [32]. Fonemleri tek başına, komşu fonemleri dikkate almadan 46 farklı sınıfa gruplamaya çalışmak, genellikle hatalara sebep olur. Aslında dudak animasyonu için, konuşmayı oluşturan fonemleri kesin olarak doğru tanımak çok da önemli değildir. Görsel unsurları, yani vizemleri doğru tanımak yeterlidir. Bu yüzden, akustik birimleri 16 vizem sınıfına gruplandırarak (sınıf sayısını azaltarak) [31], fonem-temelli metodlardan daha iyi vizem tanıma oranları elde etmeyi amaçladık. Bazı fonem sınıflarına ait örnek vizemler Şekil 1’de gösterilmiştir. Bu vizemler, eşzamanlama animasyonu sırasında uygun şekilde aradeğerlenir . Dudak eşzamanlamasında kullanılacak vizem dizilerini üretmek için, SMM’e dayalı bir yöntem kullandık. Bu yöntem klasik SMM yaklaşımlarındaki gibi fonem değil, üçlü-vizem temelli akustik birimleri kullanmaktadır. Üçlü-

Page 6: Oyun Tabanlı Eğitim için Gelişmiş Tasarım ve Görselleme ...mimoza.marmara.edu.tr › ~cigdem.erdem › papers › papers_in_turkis… · Oyun Tabanlı Eğitim için Gelişmiş

vizem, komşuluğa-bağlı bir birimdir: sağ ve sol komşusuyla vizem bir üçlü-vizemi oluşturur. SMM’lerin güdümlü eğitiminde etiketlenmiş TIMIT konuşma veritabanı kullandık. Deney sonuçlarında, üçlü-vizem temelli SMM metodunun (%79) fonem tabanlı yöntemlerden daha yüksek tanıma oranlarına eriştiğini gördük.

Şekil 5. Bazı fonem sınıflarına ait örnek vizemler. Vizem 2, (ay, ah) fonemlerini; vizem 3 (ey, eh, ae) fonemlerini ve vizem 4 ise (er) fonemini temsil etmektedir.

4.2. Yüz İfadesinin Canlandırılması

Konuşma bilgisinden duygu tanıma, üzerinde oldukça çalışılmış olmasına rağmen, hala çözümlenmemiş bir problemdir [26,27,29]. Bu kısımda duygu bilgisini taşıyan konuşma parametreleri ve yüz ifadeleri arasında bir ilinti modeli oluşturup, üç boyutlu (3B) yüz ifadesi animasyonunu, konuşma bilgisinden otomatik olarak gerçekleştiren bir yöntem öneriyoruz. Yöntemimiz, iki kısımdan oluşmaktadır: sınıflandırıcı eğitimi ve yüz ifadesi canlandırması. Duygu yüklü konuşma sinyali, sistemimizin tek girdisidir. Sistemimizin sınıflandırıcı eğitimi aşamasında, öncelikle duygu yüklü konuşma veritabanından kısa-süreli akustik öznitelikler özümlenmektedir. Konuşmanın sese ait özniteliklerini tarif etmek için, hem spektral hem de bürün özniteliklerini kullandık. Kullandığımız spektral öznitelikler: Mel frekans kepstral katsayıları (MFKK), ve bunların dinamik öznitelikleri, yani birinci ve ikinci türevleridir. Kullandığımız bir diğer spektral öznitelik ise, Itakura [8] tarafından önerilen DSF katsayılarıdır. DSF öznitelikleri, biçimlendirici (formant) frekansları ile yakından ilintilidir. Spektral özniteliklerinin, farklı duygularda değişen konuşma tayflarını modellemesini bekliyoruz. Kullandığımız bürün öznitelikleri ise perde (pitch), perdenin birinci türevi ve enerjiden oluşmaktadır. Konuşmanın farklı duygular için, farklı bürün örüntüleri taşıdığını biliyoruz [29]. Örneğin, yüksek perde değerleri mutluluk, öfke ve korku ile ilintiliyken, düşük perde değerleri üzüntü, sıkıntı gibi duygularla ilintilidir [6]. Spektral özniteliklerin olasılık yoğunluk dağılımını modellemek için Gauss bileşen modeli (GBM) sınıflandırıcılarını; bürün örüntülerini modellemek için ise Saklı Markov Model (SMM) sınıflandırıcılarını kullandık. Sonra, daha yüksek bir tanıma oranı elde etmek için, GBM

ve SMM sınıflandırıcılarından elde edilen duygu tanıma sonuçlarını, karar kaynaşımı metodu ile [30] birleştirdik. Sistemimizin yüz ifadesi canlandırma aşamasında ise ilk önce, sınıflandırıcı eğitimi aşamasında eğitilen GBM ve SMM sınıflandırıcılarını kullanarak konuşma sinyalinden duygu bilgisini kestiriyoruz. Daha sonra, tanınan duyguya karşılık gelen ve bir grafik sanatçısının 3B kafa modelinde [24] daha önceden tanımlamış olduğu yüz ifadesini, doğrusal aradeğlerleme yöntemi ile canlandırıyoruz. Önerdiğimiz otomatik yüz ifadesi animasyonu sistemini, yedi duygu içeren Berlin duygu yüklü konuşma veritabanı [28] üzerinde eğittik ve test ettik. Bu duygular mutluluk, öfke, korku, üzüntü, sıkıntı, iğrenme ve nötr duygularıdır. Yöntemimizin duygu tanıma oranı %86.45’tir. Korku, mutluluk, öfke ve üzüntü duygularına ait sentezlenen örnek yüz ifadeleri Şekil 3’te gösterilmektedir. Ayrıca, yüz ifadesi canlandırmasına ait bazı video örneklerine http://www.momentum-dmt.com/data/FaceAnim adresinden ulaşılabilir.

Şekil 6. Canlandırılan yüz ifadelerine örnekler: soldan sağa

korku, mutluluk, öfke ve üzüntü 5. SONUÇ

Bu makalede sunduğumuz eğitim sistemi ile farklı araştırma alanlarında ortaya koyduğumuz yenilikleri biraraya getirmiş bulunmaktayız. Bu alanlar, görsel programlama dilleriyle mantık programlama, ileri seviyede görüntü üretimi, ve ses tabanlı yüz animasyonu üretimidir. Görsel programlama dili kullanarak geliştirdiğimiz mantık motoru sayesinde doğrusal olmayan oyun senaryolarının oluşturulması çok kolaylaşmaktadır. Gerçek zamanlı görüntü üretme motorumuz, modern GPU donanımlarının sunduğu programlanabilme özelliklerini kullanarak aynı yüksek kalitede görüntüleri hem 3B modelleme artistleri hem de son kullanıcı öğrencilere sunabilmektedir. Son olarak, yüz modelleme ve animasyon teknolojimiz sayesinde foto-gerçekçi 3B kafa modellerinin ses kayıtları ile gerçekçi şekilde canlandırılması sağlanmıştır. Kaynakça

[1] Ricci, E., Salas, E, and Cannon-Bowers, J. 1996. Do computer-based games facilitate knowledge acquisition and retention? Military Psychology. v8 i4. 295-307.

Page 7: Oyun Tabanlı Eğitim için Gelişmiş Tasarım ve Görselleme ...mimoza.marmara.edu.tr › ~cigdem.erdem › papers › papers_in_turkis… · Oyun Tabanlı Eğitim için Gelişmiş

[2] Vogel, D. et al., 2006. Computer gaming and interactive simulations for learning: A meta-analysis. Journal of Educational Computing Research. v34 i3. 229-243.

[3] Andrews, Dee H.; Dineen, Toni; and Bell, Herbert H., 1999. The Use of Constructive Modeling and Virtual Simulation in Large-Scale Team Training: A Military Case Study. Educational Technology, v39 n1 p24-28 Jan-Feb 1999.

[4] Microsoft Visual Studio product home page: http://msdn2.microsoft.com/en-us/vstudio/default.aspx, retrieved on Feb, 2009.

[5] USPAT20080040702 - Sciacero, David (Burlingame, CA, US), Asbury, Stephen (Pasedena, CA, US) 2008 Nonlinear workflow assembly for visual programming United States TIBCO Software Inc. (Palo Alto, CA, US), U.S. Patent Application Publication No. 20080040702.

[6] USPAT6792595 - Storistenau, Adrian (Toronto, CA), Weisz, Robert (Brampton, CA) 2004 Source editing in a graphical hierarchical environment United States IBM (US). U.S. Patent No. 6,792,595

[7]Johnston, W.M.; Hanna, J.R.P. and Millar, R.J. 2004. "Advances in dataflow programming languages". ACM Computing Surveys (CSUR) 36 (1): 1–34.

[8] Microsoft Visual Programming Language product home page:http://msdn2.microsoft.com/en-us/library/bb483088.aspx . retrieved on Feb, 2009.

[9] Brawley, Z., and Tatarchuk, N. 2004. “Parallax Occlusion Mapping: Self-Shadowing, Perspective-Correct Bump Mapping Using Reverse Height Map Tracing”. In ShaderX3: Advanced Rendering with DirectX and OpenGL, Engel, W., Ed., Charles River Media, pp. 135-154

[10] d'Eon, E., and Luebke D., “Advanced Techniques for Realistic Real-Time Skin Rendering”, in Hubert Nguyen, ed., GPU Gems 3, Addison-Wesley, pp. 293-347, 2007.

[11] Koenderink, J. and Pont, S. 2003. “The secret of velvety skin”. Mach. Vision Appl. 14, 4 (Sep. 2003), 260-268.

[12] Williams, Lance. 1978. “Casting Curved Shadows on Curved Surfaces.” In Computer Graphics (Proceedings of SIGGRAPH 1978) 12(3), pp. 270-274.

[13] Zhang, F., Sun, H., Xu, L., and Lun, L. K. 2006. Parallel-split shadow maps for large-scale virtual environments. In Proceedings of the 2006 ACM international Conference on Virtual Reality Continuum and Its Applications (Hong Kong, China). VRCIA '06. ACM, New York, NY, 311-318.

[14] Jason L. Mitchell, “Light Shaft Rendering”, ShaderX3, Wolfgang Engel editor, Charles River Media, 2004.

[15] Dynamic Glossy Environment Reflections Using Summed-Area Tables. Hensley, Scheuermann. ShaderX4, Charles River Media, 2005.

[16] Reinhard, E., Stark, M., Shirley, P., and Ferwerda, J., “Photographic tone reproduction for digital images”, ACM Trans. Graph. 21, 3 (Jul. 2002), 267-276.

[17] Scheuermann, T., Tatarchuk N., “Advanced Depth of Field Rendering”, ShaderX3, Charles River Media, 2004.

[18] Kshitiz Garg and Shree K. Nayar. “Photorealistic Rendering of Rain Streaks”, In ACM Transactions on Graphics (SIGGRAPH) July 2006.

[19]http://usa.autodesk.com/adsk/servlet/index?id=7635018&siteID=123112. Autodesk Maya.

[20]http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=5659302. Autodesk 3D Studio MAX.

[21]http://www.crytek.com/technology/cryengine-2/specifications/. Crytek CryENGINE-2.

[22]http://www.unrealtechnology.com/. Unreal engine. [23]http://www.ogre3d.org/. OGRE engine. [24]A. T. Erdem, “A new method for generating 3-D face

models for personalized user interaction,” European Signal Processing Conference (EUSIPCO), September 2005, Antalya, Turkey.

[25]http://www.momentum-dmt.com. Momentum Digital Media Technologies.

[26]Lee C. M. and Narayanan S. S., “Toward detecting emotions in spoken dialogs”, IEEE Trans. Speech and Audio Processing, 13,4, pp.293-303, 2005.

[27] Oudeyer P.Y., “The production and recognition of emotions in speech: features and algorithms”, International Journal of Human-Computer Studies, 59, pp.157-183, 2003.

[28] Burkhardt F., Paeschke A.,Rolfes M., Sendlmeier W. and Weiss B., “A database of german emotional speech”, Proceedings of Interspeech, pp.1517-1520, Lisbon, Portugal.

[29]Scherer K. R., “How emotion is expressed in speech and singing”, Proceedings of XIIIth International Congress of Phonetic Sciences, pp. 90-96, 1995.

[30] Erzin E., Yemez Y. and Tekalp M., “Multimodal speaker identification using an adaptive classifier cascade based on modality realiability”, IEEE Transactions on Multimedia, 7, 5, pp.840-852, 2005.

[31] E. Bozkurt, Ç. E. Erdem, E.Erzin, T. Erdem, M. Özkan, “Comparison of Phoneme and Viseme based Acoustic Units for Speech Driven Realistic Lip Animation”, 3DTV Conference, Kos, Greece, May 2007.

[32] S. Seneff, and V. Zu. “Transcription and Alignment of the Timit Database”, NIST, CD-ROM TIMIT, 1988.