Oyun Tabanlı Eğitim için Gelişmiş Tasarım ve

Transkript

Oyun Tabanlı Eğitim için Gelişmiş Tasarım ve
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ı 3boyutlu (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.
EĞİTMEN
TEST & HATA
AYIKLAMA
ARAYÜZÜ
SENARYO
TASARIM
ARAYÜZÜ
EĞİTİM
SENARYOSU
ÖĞRENCİ
TGO
MANTIK
MOTORU
GÖRSELLEME
UYGULAMASI
EĞİTİM OYUNU
İÇERİĞİ
GRAFİK
SANATÇISI
3B MODEL &
ANİMASYON
ÜRETİMİ
Şekil 1. Oyun-tabanlı Eğitim Sistemi
Ş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
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), GPUhı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.
Şekil 3. Geliştirdiğimiz görselleme motoru ile elde edilmiş örnek görüntüler
Şekil 4. Bee™ eklentisinin çalışması
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ı
ve
gölgelendirme
etkilerinin
ışıklandırma
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 insanbilgisayar 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ü-
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.momentumdmt.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.
[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/enus/library/bb483088.aspx . retrieved on Feb, 2009.
[9] Brawley, Z., and Tatarchuk, N. 2004. “Parallax
Occlusion Mapping: Self-Shadowing, PerspectiveCorrect 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=1231
12&id=5659302. Autodesk 3D Studio MAX.
[21]http://www.crytek.com/technology/cryengine2/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.

Benzer belgeler