Para metrik NURBS yüzey koordinatlarının

advertisement
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: [email protected]
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
Download