Jumat, 21 November 2014

Landasan Teori Camera Modeling dan Texture Modeling

Konsep Camera Modelling

Kamere modelling merupakan  suatu permodellan dimana dalam komputer grafis digunakan untuk perkiraan sistem optik fisik. Beberapa model kamera memiliki ke khasannya masing masing dalam menghasilkan suatu gambar. Sebuah model kamera mensimulasikan menangkap cahaya dari tiga dimensi menjadi ruang objek gambar ke dua dimensi. Kebanyakan model mengandung perkiraan sistem lensa pararel seperti dari kamera atau mata. Sumbu yang melewati pusat geometris dari sistem lensa disebut sumbu optik. Dalam komputer grafis pusat dari sistem lensa tunggal disebut pusat proyeksi(COP).  Suatu objek dalam adegan diproyeksikan melalui sistem lensa untuk memebentuk sebuah gambar di sisi berlawanan dari sistem. Setiap lensa memiliki aperture yang mendefinisikan daerah dimana cahaya diperbolehkan untuk langsung ke gambar. Biasanya model – model render mempertimbangkan suatu gambar didepan sistem lensa  ketika membentuk gambar, model kamera mempertimbangkan bidang film belakang sistem lensa. Seperti sistem optik fisik ,gambar terbentuk  pada bidang film terbalik. Dalam optik unit standar kekutan lensa adalah diopter unit yang diukur dalam meter terbalik. Meskipun jumlah blur tidak  sama di kejauhan , itu merupakan sekeliling dari dioptri.
Ada berbagai algoritma yang digunakan untuk menerjemahkan 3D geometri ke gambar 2D. Ketika adegan berubah menjadi gambar 2D ,adegan sering mempertahankan peta kedalaman yang berisi pengukuran jarak ke kamera  pada setiap piksel yang diberikan, ini dapat digunakan untuk tambahan algoritma post-procesing. Dua metode untuk menterjemahkan model 3D dalam ruang obyek menjadi gambar 2D adalah scanline rendering dan ray tracing.
Rendering adalah proses akhir dari keseluruhan proses pemodelan ataupun animasi komputer. Dalam rendering, semua data-data yang sudah dimasukkan dalam proses modeling, animasi, texturing, pencahayaan dengan parameter tertentu akan diterjemahkan dalam sebuah bentuk output (tampilan akhir pada model dan animasi).
Rendering tidak hanya digunakan pada game programming, tetapi juga digunakan pada banyak bidang, misalnya arsitektur, simulator, movie, spesial effect pada tayangan televisi, dan design visualization. Rendering pada bidang-bidang tersebut memiliki perbedaan, terutama pada fitur dan teknik renderingnya. Terkadang rendering juga diintegrasikan dengan model yang lebih besar seperti paket animasi, tetapi terkadang berdiri sendiri dan juga bisa free open-source product.
Ø  Algoritma Rendering

Algoritma Rendering adalah prosedur yang digunakan oleh suatu program untuk mengerjakan perhitungan untuk menghasilkan citra 2D dari data 3D. Metode yang saat ini sering dipakai adalah scan-line. Rendering berarti program melihat dari setiap pixel, satu per satu, secara horizontal dan menghitung warna di pixel tersebut. Saat ini dikenal 3 algoritma :
Ray-Casting
Ray-Tracing
Radiosity
·         Teknik Rendering Permukaan
- Melakukan perhitungan dengan model pencahayaan untuk semua titik yg tampak
- Ray-tracing, melakukan interpolasi untuk titik-titik pada permukaan dari sekumpulan intensitas hasil perhitungan dengan model pencahayaan.
Kelanjutan ide Ray-Casting :
§  ‘Sinar’ diteruskan (memantul ke / menembus objek lain)
§   Mencatat semua kontribusi terhadap intensitas suatu titik
§  Untuk mendapatkan efek pantulan _ dan transmisi secara global
Ray-Tracing dasar :
§  Deteksi permukaan tampak, efek bayangan, transparansi, pencahayaan dengan beberapa sumber cahaya
Pengembangan Ray-Tracing:
§  Tampilan fotorealistik (terutama objek mengkilap)
Algoritma Ray-Tracing Dasar :
For each pixel in projection plane {
Create ray from the reference point passing through this pixel
Initialize NearestT to INFINITY and NearestObject to NULL
For every object in scene {
If ray intersects this object {
If t of intersection is less than NearestT {
Set NearestT to t of the intersection
Set NearestObject to this object
}
}
}
If NearestObject is NULL {
Fill this pixel with background color
} Else {
Shoot a ray to each light source to check if in shadow
If surface is reflective, generate reflection ray: recurse
If transparent, generate refraction ray: recurse
Use NearestObject and NearestT to compute shading function
Fill this pixel with color result of shading function
}
}

- Scan-line
a. Permukaan = polygon
b. Aplikasi model pencahayaan:
- Perhitungan intensitas tunggal untuk masing-masing polygon
- Intensitas tiap titik pada poligon didapat dengan cara interpolasi
c. Algoritma:
- Flat (constant-intensity) shading
Intensitas tunggal untuk setiap polygon
·         Semua titik dalam poligon ditampilkan dengan intensitas yang sama
·         Sering digunakan untuk mendapat tampilan cepat dari objek
·         Akurat dengan asumsi: Objek = polihedron (bukan aproksimasi kurva), Sumber cahaya cukup jauh (N.L konstan), Pengamat cukup jauh (V.R konstan)
·         Bisa disiasati dengan memperkecil polygon Facet
Algoritma render standar dalam komputer grafis setara dengan modeling kamera obscura atau kamera lubang jarum . Dalam model ini semua sinar cahaya dari adegan yang lewat melalui satu titik disebut pusat proyeksi  atau melalui lensa dengan aperture sangat kecil . Karena hanya sinar cahaya tunggal dilemparkan dari setiap titik dalam adegan dapat melewati COP terlepas dari lokasinya di ruang bebas, setiap titik akan diberikan tepat sekali di bidang film . Hal ini menyebabkan semua benda dalam adegan muncul dalam fokus yang tajam pada gambar yang dihasilkan . Model ini tidak bisa direalisasikan secara fisik karena dalam kenyataannya , titik berukuran aperture akan menghasilkan gambar pada bidang film yang akan terlalu redup untuk diamati . Namun  hanya membalikkan model ini untuk menghasilkan pelacak sinar , dimana sinar diproyeksikan dari COP melalui setiap pixel pada gambar pesawat dan kemudian warna bahan ini bersimpangan menentukan warna piksel tertentu . Teknik analitik juga telah dikembangkan dengan menggunakan model ini untuk obyek proyek ke ruang gambar efisien.
Banyak situasi di mana model kamera yang akurat itu penting yaitu:
·         Salah satu tren di komputer grafis realistis adalah menuju physicallybased algoritma render yang kuantitatif model transportasi cahaya . Output dari program ini adalah biasanya cahaya pada setiap permukaan . Sebuah model kamera berbasis fisik diperlukan untuk mensimulasikan proses pembentukan citra jika perbandingan akurasi dengan data empiris yang dibuat .
·         Dalam banyak aplikasi ( efek khusus , augmented reality ) itu diperlukan untuk mempermudah menggabungkan citra yang diperoleh dengan sintetik citra . Dalam situasi ini, penting bahwa sintetis citra dihitung menggunakan model kamera mirip dengan kamera nyata.
·          Dalam beberapa visi dan aplikasi  mesin ilmiah itu perlu untuk mensimulasikan kamera dan sensor akurat . Sebagai contoh, sistem visi mungkin ingin menguji apakah model internal dari dunia sesuai dengan apa yang sedang diamati .
·         Banyak pengguna sistem grafis 3d yang sangat akrab dengan kamera serta tahu bagaimana cara menggunakannya . Dengan menggunakan kamera metafora sistem grafis mungkin lebih mudah untuk digunakan. Mungkin pengenalan awal model kamera di komputer grafis adalah model kamera sintetik yang diusulkan dalam CORE
sistem. Kemudian bekerja menggunakan metafora kamera untuk menggambarkan proses sintesis gambar , tapi tidak berniat untuk mereproduksi efek fotografi atau memberikan kontrol fotografi seperti di ataspembentukan citra . Terobosan besar berikutnya dalam pemodelan kamera adalah simulasi kedalaman lapangan dan motion blur. Metode saat ini untuk mensimulasikan efek ini menggunakan sistem lensa ideal dan dengan demikian tidak dapat digunakan untuk mensimulasikan perilaku tertentu sistem fisik . Sejumlah peneliti telah menunjukkan bagaimana melakukan proyeksi kamera non - linear , seperti untuk fisheye atau Lensa Omnimax. Metode ini berasal dari transformasi peta gambar poin ke arah dalam 3D , dan memiliki kekurangan efek seperti kedalaman lapangan tidak dapat dikombinasikan dengan proyeksi tujuan khusus .

Konsep Texture Modelling

1) Satu set filter dipilih dari filter bank umum untuk menangkap fitur tekstur , filter ini diterapkan ke gambar tekstur yang diamati , dan histogram dari gambar yang diambil disaring . Ini histogram merupakan perkiraan dari distribusi marjinal f ( I) . Langkah ini disebut ekstraksi fitur .
2) Prinsip entropi maksimum digunakan untuk memperoleh p distribusi ( I) , yang dibatasi untuk memiliki distribusi marjinal yang sama seperti pada ( 1 ). P ini ( I) dianggap sebagai estimasi f ( I). Langkah ini disebut fitur fusi.

            Tekstur merupakan karakteristik penting dari penampilan objek dalam pemandangan alam, dan merupakan syarat kuat dalam persepsi visual. Memainkan peran penting dalam visi komputer, grafis, dan pengkodean gambar. Pemahaman tekstur merupakan bagian penting dari memahami visi manusia. Analisis tekstur dan sintesis telah menjadi daerah penelitian arsip selama tiga dekade berlalu, dan sejumlah besar metode telah diusulkan, dengan tujuan yang berbeda atau asumsi pokok tentang prosespembentukan tekstur yang mendasarinya. Misalnya dalam komputer grafis, persamaan reaksi-difusi telah digunakan untuk mensimulasikan beberapa proses kimia yang dapat menghasilkan tekstur pada kulithewan. Pembentukan tekstur tujuannya adalah untuk mencari model umum yang harus dapat untuk menggambarkan berbagai tekstur dalam kerangka umum, dan dengan pemahaman fisik dan logika teksturmanusia persepsi.
Model pertama tekstur umum diusulkan oleh Julesz di tahun 1960. Julesz menyarankan bahwapersepsi tekstur dapat dijelaskan dengan mengekstraksi disebut "k order" statistik, yaitu statistik kejadianuntuk intensitas piksel. Dalam akta kerja awal pemodelan tekstur terutama didorong oleh dugaan ini(haralick, 1979). Kelemahan utama untuk model ini adalah bahwa jumlah data yang terdapat dalam urutan statistik k adalah raksasa dan dengan demikian sangat sulit untuk menangani ketika k > 2. Di sisi lain  percobaan psychophysical menunjukkan bahwa sistem visual manusia tidak mengambil setidaknya beberapa statistik lebih tinggi dari urutan dua (Diaconis dan preman, 1981).
Penelitian yang lebih baru pada tekstur terutama berfokus pada dua bidang.
Seseorang penyaringan teori yang terinspirasi oleh multichannel mekanisme penyaringan yang ditemukan dan berlaku umum di neurofisiologi. Mekanisme ini menunjukkan bahwa sistem visual terurai ke satu set sub - band. Daerah kedua adalah pemodelan statistik yang menjadi ciri gambar tekstur yang timbul dari distribusi probabilitas pada bidang acak ini . Pendekatan pemodelan hanya melibatkan sejumlah kecil untuk tekstur . Lebih penting lagi mereka mengajukan analisis tekstur sebagai masalah inferensi statistik yang terdefinisi dengan baik . Teori statistik memungkinkan kita tidak hanya untuk membuat inferensi tentang parameter dari model probabilitas yang mendasari berdasarkan gambar tekstur yang diamati, tetapi juga untuk mensintesis gambar tekstur dengan contoh dari model probabilitas. Itu menyediakan cara yang ketat untuk dimodelkan (Salib dan Jain 1983), tetapi biasanya model ini adalah bentuk yang sangat terbatas yaitu kurangnya kekuatan ekspresif .
            Objek 3D  pada open GL merupakan objek yang lebih hidup dibandingkan objek 2D. Namun permukaan objek 3D yang polos membuat 3D sangatlah kurang menarik. Untuk membuat objek yang lebih hidup pada OpenGL diperlukan suatu pembuatan tekstur yaitu salah satunya texture mapping.Mapping adalah kegiatan untuk melakukan pewarnaan atau memetakan permukaan geometri pada objek 3D. Sedangkan Maps adalah bentuk gambar atau warna yang digunakan untuk melapisi objek 3D pada saat dilakukan mapping. Sehingga  pemetaan texture merupakan pemberian sebuah gambar pada permukaan objek sehingga objek akan tampak realistis. Texture mapping memungkinkan untuk menaruh gambar pada geometric primitive tersebut dan sekaligus mengikuti transformasi yang diterapkan kepada objek. Contohnya apabila sebuah objek kubus tanpa gambar diberi texture bebatuan pada permukaannya, maka objek tersebut akan tampak memiliki tekstur kasar seperti batu. Texture pada permukaan objek dapat dilihat dari berbagai perspective yang berbeda. Contoh dari pembuatan texture:
Namun terkadang  efek tekstur dicampur lebih dari satu texture. Proses pencampuran lebih dari satu texture disebut dengan istilah blending. Salah satu efek blending yang paling sederhana adalah dengan memblending texture dengan warna.  Fungsi yang digunakan pada proses blending adalah glEnable(GL_BLEND).

Sumber :

http://andarys.blogspot.com/2014/01/objek-3-dimensi-landasan-teori.html