Doç.Dr.Erkan ÜLKER, Selçuk Üniversitesi Mühendislik F, Bilgisayar Mühendisliği Bölümü 17.05.2014 Sayfa 1 Doç.Dr.Erkan ÜLKER, Selçuk Üniversitesi Mühendislik F, Bilgisayar Mühendisliği Bölümü PARA METRIK NURBS YÜZEY ARA KOORDINATLARININ BULUNMASINDA BIR YAPAY SINIR AĞI YAKLAŞIMI Erkan Ülker 1 e-mail: eulker@selcuk.edu.tr Selçuk University, Faculty of Engineering., Department of Computer Engineering, 42031, Konya , Turkey Key words: Artificial neural network, NURBS surface, interpolator ÖZET Para metrik NURBS yüzeylerin üç boyutlu koordinat değerleri iki boyutlu u ve v parametrelerinden elde edilmektedir. Yüzeyin oluşturulmasında kullanılan genel yaklaşım u ve v değerlerine sabit artışların verilerek modelin üretilmesidir. Parametrelere verilen sabit artışlara karşın üç boyutlu koordinatlar aynı oranda değişmemektedir ve yüzeyin görünüşünde istenmeyen büyüklükte kırıklıklara sebep olmaktadır. Çalışmada NURBS yüzeyin modellenmesi için bir yapay sinir ağı metodu sunulmuştur. Serbest şekilli NURBS yüzeyler ve farklı yamalarla çeşitli üç boyutlu nesne modelleri, sabit aralıklarda değişen parametrelere göre elde edilen koordinatlara dayanarak ağı eğitme şeklinde tasarlanan bu metot kullanılarak üretilebilir. Deneysel sonuçlar modellenen yüzeyin görüntülenmesinde metodun alternatif bir simülasyon aracı olarak kullanılabileceğini göstermiştir. I. GİRİŞ Estetik görünümler için müşteri tercihlerinin hızla değişmesi sebebiyle, çoğu alandaki ürün tasarımlarında serbest yüzeylerin kullanımı artmaktadır. Müşteri isteklerini karşılamak için, Bilgisayar Destekli Tasarım/Üretim (BDT yada CAD/CAM) kullanımı modern endüstrilerde kaçınılmaz olmuştur. NURBS (Non-Uniform Rational B-Spline) yüzey BDT da oldukça yaygın ve gelişmiş para metrik yüzey tanımlama metodu olarak bilinir. Bununla birlikte, genelde oldukça basit bir yüzey türü içine dönüştürülmüş olduğu için NURBS yüzey ile ilgili koordinat hesapları oldukça karmaşıktır. Her bir yüzeyin matematiksel ifadesi diğerininkinden farklı olduğu için tam yüzey dönüşümü kolay değildir ve dönüştürme prosedürü daima yüzey verilerinin kaybedilmesini icap ettirir[1,2]. Para metrik olmayan metotlar, yüzeylerin saklanması için çok büyük miktarda yüzey verisi gerektirmektedirler[3]. Para metrik NURBS yüzeylerin üç boyutlu koordinat değerleri iki boyutlu u ve v parametrelerinden elde edilmektedir. NURBS yüzeylerin başlıca avantajı; basit yüzey, silindirik yüzey, küresel yüzey, parabolik yüzey ve 17.05.2014 hiperbolik yüzey gibi ikinci dereceden yüzeyleri tam tanımlayabilmesidir. Ayrıca NURBS yüzeyinin kullanımı bilgisayar grafiklerinde ve BDT da hızla artmaktadır[4]. Bir başka para metrik yüzey türü çift kübik polinom yüzeylerdir. Ama bu konu çalışmanın kapsamı dışındadır. Yüzeyin oluşturulmasında kullanılan genel yaklaşım u ve v değerlerine sabit artışların verilerek modelin üretilmesidir. Parametrelere verilen sabit artışlara karşın üç boyutlu koordinatlar aynı oranda değişmemektedir ve yüzeyin görünüşünde istenmeyen büyüklükte kırıklıklara sebep olmaktadır. Bunun sonucunda yüzeyin görüntüsü arzu edilen estetiklikte olamamaktadır. Diğer bir yaklaşım türü ise yüzeyin ara değerlerini elde etmede para metrik değişkenlerin türevleri ile işlemler yapmaktır. Ama bu yaklaşım da yüzeyin hesaplanma maliyetini ve karmaşıklılığını arttırmaktır[5]. Yapay sinir ağları(YSA) ise, insan beynindeki hücrelerin çalışma prensibini modelleyen bir teknik olarak ele alınmaktadır. Bir çok problemlerin, özellikle örüntü ve görüntü işleme problemlerinin çözülmesinde çok iyi sonuçlar vermektedir. Bu yöntem kullanılarak sinir ağı iyi derecede öğretilebilmektedir. Bir kez öğretilen ağ sonradan işlemleri çok hızlı bir biçimde yapabilmektedir[6]. Bir bilgisayar programı gibi ele alınabilen Yapay Sinir Ağları girişleri ve çıkışı belli olan bir sistemde girişler değiştiğinde sistemin önceden belirlenmiş bir çıkışı tanımasını sağlamaktadır. Böyle problemlere desen, örnek, karakter ve benzeri tanıma işlemlerinde oldukça sık rastlanılmaktadır. YSA'nin temelini tabii sinir ağının çalışmasının elektrik modeli teşkil etmektedir. Burada problem sonunda istenilen çıkışı elde edebilmek için girişlerin ağırlıklarının nasıl düzenlenmesi gerektiğidir. Girişlerin ağırlıklarının düzenlenmesi bir çok yöntemle yapılabilmektedir. Genelde YSA'nda çok katmanlı bir model kullanılır. Böyle bir modelde giriş katmanı, ara veya gizli katman ve çıkış katmanı vardır[7-9]. Bu çalışmada, u ve v parametrelerine sabit artışlar verilerek elde edilmiş bir NURBS yüzeyin ara değerlerinin hesaplanması için geliştirilen bir sinir ağı modeline dayanarak üç boyutlu yüzey görüntülemek için alternatif bir metot tanımlanmaktadır. Sayfa 2 Doç.Dr.Erkan ÜLKER, Selçuk Üniversitesi Mühendislik F, Bilgisayar Mühendisliği Bölümü II. PARAMETRİK NURBS YÜZEYLER NURBS’ler geometri tasarımı ve gösterimi için endüstri standardı araçlardır. NURBS yüzeylerini kullanmanın bazı sebepleri şunlardır:[10-15] Standart analitik şekiller ve serbest-formda şekillerin her ikisi için önerilen yaygın bir biçimdir. Şekillerin geniş çeşitlerde tasarımı için esneklik sağlarlar. Sayısal kararlı ve doğru algoritmalar vasıtasıyla makul hızlarda değerlendirilirler. Perspektif dönüşümler gibi afinler altında değişmez özelliğine sahiptirler. NURBS’ler, oranlı (rational) ve oransız (non-rational) Bezier eğrileri ve yüzeylerinin genellemeleridirler. NURBS’lerin dezavantajlarından birisi geleneksel şekilleri (örneğin daireler) bile tanımlarken ekstra bellek gerektirmeleridir. NURBS’ler denetim noktalarına ek olarak bazı parametrelerden oluşturulur, ama işlem sonunda tasarlanan parametrik şekil için arzu edilen esnekliği sağlar. NURBS şekilleri sadece denetim noktaları ile tanımlanmaz, aynı zamanda her bir denetim noktası ile ilgili ağırlıklar da gereklidir. Bir C(u) NURBS eğrisi, aşağıdaki gibi vektör-değerli parça parça oranlı bir polinom fonksiyonudur. n C (u ) W * P * N i i 0 i i ,k (u ) (1) n m S (u, v) Pi , j * Ri ,k , j ,l (u, v), i 0 j 0 Ri ,k , j ,l (u, v) n r 0 III. (4) Wi , j * N i ,k (u ) * N j ,l (u ) m s 0 Wr ,s * N r ,k (u ) * N s ,l (u ) YAPAY AĞ MODELİ Ağ Yapısı Tanımlanmış olan sinir ağının yapısı Şekil 1de gösterilmiştir. Ağ iki katmanda yapılandırılmıştır. İlk katman 2 nörona (G1,G2) sahiptir. İkinci katman 3 nörona (Ç1,Ç2,Ç3) sahiptir. İkinci katman bir şekil üreteci şeklinde iken ilk katmanın fonksiyonu bir anahtar nokta dağıtıcısı şeklindedir. Ağın girişi bias girişi 1 olan 3-boyutlu bir X=(u,v,bias) vektörüdür ve ağın çıkışı 3 boyutlu bir Y=(x,y,z) vektörüdür. İlk katmanın her bir siniri ile her bir giriş birbirine bire bir bağlı iken ilk katman ve ikinci katman tamamen birbirine bağlıdır. İlk katmanın m inci girişi ve n inci siniri arasında bağlantı kuvveti wmn ağırlığı ile gösterilmiştir. W ağırlık matrisi m X n ağırlık matrisinden oluşur. Benzer şekilde, ilk katmanın n inci çıkışı ve ikinci katman üzerindeki p inci sinir arasındaki bağlantı kuvveti vnp ile gösterilir, V ağırlık matrisi n X p liktir. Tasarlanan ağda m=3, n=4 ve p=3 dür. n W * N i 0 i i ,k (u ) Formülde; Wi : ağırlıklar, Pi : denetim noktaları(vektör) ve Ni,k : normalleştirilmiş k mertebeli B-spline temel fonksiyonlarıdır ve özyinelemeli olarak aşağıdaki gibi tanımlanırlar: N i, k (u) t(i k 1) u u ti * N (i, k 1) (u) * N (i 1, k 1) (u) t (i k ) ti t(i k 1) t(i 1) 1, ti u ti 1 ise N i ,0 0, ti u ti 1 deg ilse (2) Burada, ti bir düğüm vektörü ile biçimlenmiş düğümlerdir ve U = { t0, t1, ... , tm } dir. Bir NURBS-eğrisinin denklem (1) deki tanımı oranlı temel fonksiyonlar kullanılarak yeniden aşağıdaki gibi düzenlenebilir. n C (u ) Pi * Ri ,k (u ), i 0 Ri ,k (u ) Wi * N i ,k (u ) W j 0 j * N j ,k (u ) Bir NURBS yüzeyi tanımlanmaktadır. 17.05.2014 (3) n benzer bir yolla Şekil 1 Oluşturulan Yapay Sinir Ağı Modeli Yapay sinir ağları, insan beyni gibi bir öğrenme sürecine ihtiyaç duymaktadır. Tasarlanan YSA sürecinde u ve v artışlarına göre X,Y ve Z yüzey koordinat değerleri (4) denklemi ile hesaplanıp dosyaya kaydedilmekte ve bu (u,v değerlerine karşılık gelen X,Y,Z NURBS yüzey koordinatı) verilere göre nöronlar arasındaki bağlantıyı sağlayan ağırlıklar kullanılarak genelleştirme yapılmaktadır. İstenilen çıkışı elde etmek için öğrenme sürecinde öğrenme algoritmalarından geri yayınımlı öğrenme algoritması (GYA) kullanılmaktadır. Sayfa 3 Doç.Dr.Erkan ÜLKER, Selçuk Üniversitesi Mühendislik F, Bilgisayar Mühendisliği Bölümü Eğitim Algoritmaları Yapay sinir ağlarında kullanılan öğrenme metotları en genel anlamda; denetimli öğrenme, denetimsiz öğrenme ve takviyeli öğrenme olarak üç ana gruptur. Sinir ağlarında öğrenme girdi ve çıktı kümesi için test edilen ağın, istenilen çıktıyı verecek ağırlık kümesinin belirlenmesidir. Bu ağırlık vektörü istenen çıktı ile ağ çıktısı arasındaki fark minimum oluncaya kadar ayarlanarak bulunur. Bu amaçla her bir öğrenme grubu için farklı öğrenme algoritmaları geliştirilmiştir. Geri yayınımlı öğrenme algoritması (GYA), bilinen en genel öğrenme algoritmasıdır. Şimdiye kadar birçok alanda kullanılmıştır. Fakat, Geri Yayınım Algoritmasının çok zayıf yaklaşım oranından dolayı, eğitim uzun sürmektedir. Yerel minimuma yakalanma da GYA’nın diğer bir dezavantajıdır. Diğer bir öğrenme algoritması olan LevenbergMarquardt (LM) ise Newton Algoritmasının değişik bir uyarlamasıdır. Yaklaşım oranı hızlıdır ve eğitim kısa sürmektedir. Diğer taraftan daha fazla işlem yapmakta ve daha fazla hafıza gerektirmektedir. GYA ise daha az hafıza gerektirmekte fakat sonuca ulaşım daha yavaş olmaktadır[17]. Bu nedenle tasarımda GYA tercih edilmiştir. Geri yayınımlı öğrenme algoritması GYA çok katmanlı ağların eğitiminde kullanılan bir denetimli öğrenme algoritmasıdır. Çok katmanlı sinir ağları girdi ve çıktı katmanına ilaveten bir veya daha fazla gizli katmandan oluşur. Katmanlardaki nöronlar arasında ve bir katmandan önceki katmana geriye doğru bağlantı yoktur. GYA bu tür ağlarda yaygın olarak kullanılan bir öğrenme algoritması olmasına rağmen daha çok geriye yayılma sinir ağları olarak tanınmıştır. Çalışmada özellikle çok katmanlı ağların eğitiminde genelleştirilmiş delta kuralı kullanılmıştır. Herhangi bir k. Girdi-çıktı örnek çifti için j.nci girdi ile i.nci nöron arasındaki ağırlık değişimi; k k k k wi , j (T i Oi ) x j ile ifade edilir. Burada Tik istenen hedef çıktı, Oik gerçek çıktı, ögrenme oranı ve xjk ise j.nci ağ girdisidir. Herhangi bir k. ıncı tabakadaki örnek çifti için toplam hata ve ortalama hata fonksiyonu 1 (Tk Ok ) 2 2 k 1 E (T j O j ) 2P p j E 2 olarak tanımlanır. Burada, Tk istenen hedef çıktı, Ok ise hesaplanan çıktı, P ise eğitim setinde bulunan girdi-çıktı çiftlerinin toplam sayısıdır. Ağın yakınsamaması durumunda ß momentum terimini 17.05.2014 de içerecek şekilde ağırlıkların ayarlanması için formül aşağıdaki şekilde genelleştirilmiştir[17]. wi , j (t 1) O k k i j wij Burada ß momentum terimi, . i eğitim setindeki k. örnek çifti için i. nöronun hata değeridir ve kullanılan eşik fonksiyonunun türevini içeren bir terimdir. Ağırlıklandırılmış girdi toplamları ile hesaplanmış net girdiyi alarak, işlem elemanlarının çıktısını belirleyen ve türevlenebilir olması tercih sebebi olan bir fonksiyon olan eşik fonksiyonu kullanılır. Eşik fonksiyonları çeşidi çok olmasına rağmen GYA ‘nda daha çok sigmoid fonksiyonu kullanılmakta olduğundan çalışmada da bu fonksiyon kullanılmıştır. k Tablo 1 SolidWorks 2004 ile üretilen Yüzey koordinatları ile YSA'nın ürettiği koordinat değerleri u v Hesa Hesa Hesap Ağ Ağ Ağ plan plan lanan sonu sonu sonu an X an Y Z cu X cu Y cu Z 0.944 0.890 199 194 30 0.668 0.388 119 73 23 0.328 0.755 70 150 10 0.549 0.419 100 80 33 0.120 0.216 20 35 20 0.478 0.129 85 5 68 0.952 0.163 200 15 40 0.140 0.251 25 45 40 0.945 0.901 200 200 33 0.298 0.463 63 89 16 0.082 0.128 5 5 5 0.072 0.117 0 0 0 0.924 0.671 186 128 29 IV. DENEYSEL SONUÇLAR NURBS yüzeyi ile çalışmanın sonuçlarını test etmek için ticari SolidWorks 2004 programı ile üretilmiş şekil 2 de gösterilen dört farklı yüzey ele alınmıştır. Bu yüzeyler üretilirken u ve v artışlarına 0.1 artışları verilerek yüzey üzerindeki koordinatlar (S(u,v)) elde edilmiştir. Bu değerlere göre ağ eğitildikten sonra ağırlık değerleri GYA ile hesaplanmıştır. Aynı yüzeyler için daha sonra 0.01’in katları şeklinde u ve v değerleri verilerek yüzey koordinatları üretilmiştir. Yüzeyin para metrik denklemi ile bu artışlara göre elde edilen gerçek koordinatları ile önerilen metodun üretmiş olduğu koordinat değerleri kıyaslanmıştır ve bu yüzeylerden birisi için kıyaslama sonuçlarının bir kısmı Tablo 1 de verilmiştir. Sayfa 4 Doç.Dr.Erkan ÜLKER, Selçuk Üniversitesi Mühendislik F, Bilgisayar Mühendisliği Bölümü Deneyler modelin esnek olduğunu ve arzulanan farklı yüzey geometrisini verme kabiliyetinde olduğunu göstermiştir. Model üretme zamanı göz önüne alındığında, ağın bir defa eğitilmesinden sonra bu yaklaşım yaygın kullanılan sabit u ve v artışı prensibine sahip algoritmalardan daha hızlı sonuç vermektedir. V. SONUÇ Üç boyutlu NURBS yüzeyin ara koordinatlarını elde etmek için bir yapay sinir yaklaşımı tanımlanmıştır. Üzerinde cepler bulundurmayan serbest şekilli NURBS yüzeyler ve farklı yamalardan oluşan çeşitli üç boyutlu NURBS modelleri, sabit aralıklarda değişen parametrelere göre elde edilen koordinatlara dayanarak ağı eğitme şeklinde tasarlanan bu metot kullanılarak üretilebilir. Deneysel sonuçlar modellenen yüzeyin görüntülenmesinde metodun alternatif bir simülasyon aracı olarak kullanılabileceğini göstermiştir. İleri ki çalışmalarda diğer yapay zeka teknikleri ile de böylesi yüzeylerin ara değerleri elde edilerek bir kıyaslama yapılabilir. Mevcut yapay sinir ağı metodu yerine amaca uygun başka bir sinir ağı metodu da kullanılabilir. REFERANSLAR 1. 2. 3. Zeid, İbrahim , “CAD/CAM Theory and Practice”, McGraw-Hill, 1991 Hyunbo Shim and Euikwon Suh, “Contact treatment algorithm for the trimmed NURBS surface” Journal of Materials Processing Technology, Volume 104, Issue 3, 31 August 2000, Pages 200-206 Hearn, Donald 1994, “Computer graphics”, Prentice Hall, New Jersey 17.05.2014 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. L. Piegl, W. Tiller, Computer-Aided Design 30 (1) (1998) 11±18. Allahverdi N.M., Uzman Sistemler, Doktora Ders Notları, Selçuk Üniversitesi, 1993. M. -C. Tsai, C. -W. Cheng and M. -Y. Cheng “A real-time NURBS surface interpolator for precision three-axis CNC machining” International Journal of Machine Tools and Manufacture, Volume 43, Issue 12, September 2003, Pages 1217-1227 Mishkoff H. C. Understanding Artificial Intelligence, Radio Shack, 1986 Gevarter W. B. Intelligence Machines: An Introductory. Prentice-Hall, 1985 Allahverdi N.M., Yaldız S., Ünüvar A., Endüstride Uzman Sistem Uygulamaları, Otomasyon, Mart 1995, p-p: 75-86. Foley James D. ve ark., 1994, "Introduction to Computer Graphics", Addision-Wesley. Piegl Les, 1991, "On NURBS: A Survey", Jan 01, IEEE Computer Graphics and Applications, Vol. 11, No. 1,pp. 55 - 71 Rogers David F., Rae A. Earnshaw (editors), 1991, "State of the Art in Computer Graphics Visualization and Modeling", New York, SpringerVerlag, pp. 225 - 269 C. deBoor, 1978, "A Practical Guide to Splines", New York, Springer-Verlag Watt Alan, Watt Mark, 1992, "Advanced Animation and Rendering Techniques", New York, AMC press, Addision-Wesley. Ülker, E., 2003, “Küresel Uçlu Takımlarla 3-D Yüzeylerin İşlenmesinde Takım Yolunun Modellenmesi Ve Bilgisayar Simülasyonu”, Ms.Thesis, Selçuk University, Turkey. Taş, O., Akın E. “A5/1 Algoritmasının Yapay Sinir Ağları ile Kriptoanalizi” Fırat Üniversitesi Civalek, Ö., Ülker, M, “Dikdörtgen Plakların Doğrusal Olmayan Analizinde Yapay Sinir Ağı Yaklaşımı”, IMO Teknik Dergi, 2004 3171-3190 Sayfa 5