Senin, 29 Oktober 2012

Computer Vision & Middleware Telematika


Definisi
            Computer Vision adalah ilmu dan teknologi mesin yang melihat, di mana mesin mampu mengekstrak informasi dari gambar yang diperlukan untuk menyelesaikan tugas tertentu. Sebagai suatu disiplin ilmu, visi komputer berkaitan dengan teori di balik sistem buatan bahwa ekstrak informasi dari gambar. Data gambar dapat mengambil banyak bentuk, seperti urutan video, pandangan dari beberapa kamera, atau data multi-dimensi dari scanner medis. Sedangkan sebagai disiplin teknologi, computer vision berusaha untuk menerapkan teori dan model untuk pembangunan sistem computer vision.
            Computer Vision didefinisikan sebagai salah satu cabang ilmu pengetahuan yang mempelajari bagaimana komputer dapat mengenali obyek yang diamati. Cabang ilmu ini bersama Artificial Intelligence akan mampu menghasilkanVisual Intelligence System. Perbedaannya adalah Computer Vision lebih mempelajari bagaimana komputer dapat mengenali obyek yang diamati. Namun komputer grafik lebih ke arah pemanipulasian gambar (visual) secara digital. Bentuk sederhana dari grafik komputer adalah grafik komputer 2D yang kemudian berkembang menjadi grafik komputer 3D, pemrosesan citra, dan pengenalan pola. Grafik komputer sering dikenal dengan istilah visualisasi data.
Computer Vision adalah kombinasi antara :
1.         Pengolahan Citra (Image Processing), bidang yang berhubungan dengan proses transformasi citra/gambar (image). Proses ini bertujuan untuk mendapatkan kualitas citra yang lebih baik.
2.         Pengenalan Pola (Pattern Recognition), bidang ini berhubungan dengan proses identifikasi obyek pada citra atau interpretasi citra. Proses ini bertujuan untuk mengekstrak informasi/pesan yang disampaikan oleh gambar/citra.
Hubungan dari kombinasi tersebut dapat dilihat pada gambar berikut :



Fungsi / Proses pada Computer Vision
Untuk menunjang tugas Computer Vision, terdapat beberapa fungsi pendukung ke dalam sistem ini, yaitu :
1.         Proses penangkapan citra (Image Acquisition)
a.         Image Acqusition pada manusia dimulai dengan mata, kemudian informasi visual                          diterjemahkan ke dalam suatu format yang kemudian dapat dimanipulasi oleh                                otak.
b.         Senada dengan proses di atas, computer vision membutuhkan sebuah mata untuk   menangkap sebuah sinyal visual.
c.         Umumnya mata pada computer vision adalah sebuah kamera video.
d.         Kamera menerjemahkan sebuah scene atau image.
e.         Keluaran dari kamera adalah berupa sinyal analog, dimana frekuensi dan amplitudonya     (frekuensi berhubungan dengan jumlah sinyal dalam satu detik, sedangkan amplitudo             berkaitan dengan tingginya sinyal listrik yang dihasilkan) merepresentasikan detail        ketajaman (brightness) pada scene.
f.          Kamera mengamati sebuah kejadian pada satu jalur dalam satu waktu, memindainya dan             membaginyamenjadi ratusan garis horizontal yang sama.
g.         Tiaptiap garis membuat sebuah sinyal analog yang amplitudonya menjelaskan perubahan brightness sepanjang garis sinyal tersebut.
h.         Kemudian sinyal listrik ini diubah menjadi bilangan biner yang akan digunakan oleh          komputer untuk pemrosesan.
i.          Karena komputer tidak bekerja dengan sinyal analog, maka sebuah analogtodigital          converter (ADC), dibutuhkan untuk memproses semua sinyal tersebut oleh komputer.
j.          ADC ini akan mengubah sinyal analog yang direpresentasikan dalam bentuk informasi      sinyal tunggal ke dalam sebuah aliran (stream) sejumlah bilangan biner.
k.         Bilangan biner ini kemudian disimpan di dalam memori dan akan menjadi data raw yang   akan diproses.
2.         Proses pengolahan citra (Image Processing)
a.         Tahapan berikutnya computer vision akan melibatkan sejumlah manipulasi utama (initial    manipulation) dari data binary tersebut.
b.         Image processing membantu peningkatan dan perbaikan kualitas image, sehingga dapat     dianalisa dan di olah lebih jauh secara lebih efisien.
c.         Image processing akan meningkatkan perbandingan sinyal terhadap noise (signaltonoise ratio = s/n).
d.         Sinyalsinyal tersebut adalah informasi yang akan merepresentasikan objek yang ada          dalam image.
e.         Sedangkan noise adalah segala bentuk interferensi, kekurangpengaburan, yang terjadi        pada sebuah objek.
3.         Analisa data citra (Image Analysis)
a.         Image analysis akan mengeksplorasi scene ke dalam bentuk karateristik utama dari objek   melalui suatu proses investigasi.
b.         Sebuah program komputer akan mulai melihat melalui bilangan biner yang merepresentasikan informasi visual untuk mengidentifikasi fiturfitur spesifik dan            karekteristiknya.
c.         Lebih khusus lagi program image analysis digunakan untuk mencari tepi dan          batasbatasan objek dalam image.
d.         Sebuah tepian (edge) terbentuk antara objek dan latar belakangnya atau antara dua objek yang spesifik.
e.         Tepi ini akan terdeteksi sebagai akibat dari perbedaan level brightness pada sisi yang         berbeda dengan salah satu batasnya.
4.         Proses pemahaman data citra (Image Understanding)
a.         Ini adalah langkah terakhir dalam proses computer vision, yang mana sprsifik objek dan    hubungannya diidentifikasi.
b.         Pada bagian ini akan melibatkan kajian tentang teknik-teknik artificial intelligent.
c.         Understanding berkaitan dengan template matching yang ada dalam sebuah scene.
d.         Metoda ini menggunakan program pencarian (search program) dan teknik penyesuaian       pola (pattern matching techniques).

Contoh aplikasi dari Computer Vision
Beberapa aplikasi yang dihasilkan dari Computer Vision antara lain :
1. Psychology, AI – exploring representation and computation in natural vision
2. Optical Character Recognition – text reading
3. Remote Sensing – land use and environmental monitoring
4. Medical Image Analysis – measurement and interpretation of many types of images
5. Industrial Inspection – measurement, fault checking, process control
6. Robotic – navigation and control
Definisi Middleware
            Middleware merupakan software yang berfungsi sebagai lapisan konversi atau penerjemah. Selain itu middleware juga sebagai Consolidator dan Integrator.
- Middleware saat ini dikembangkan untuk memungkinkan satu aplikasi berkomunikasi dengan lainnya walaupun berjalan pada platform yang berbeda.
- Saat ini terdapat bermacam produk yang menawarkan middleware.
1.         Lapisan Middleware
2.         Tujuan dan Asal-Usul Middleware
            Middleware adalah S/W penghubung yang berisi sekumpulan layanan yang memungkinkan beberapa proses dapat berjalan pada satu atau lebih mesin untuk saling berinteraksi pada suatu jaringan. Middleware sangat dibutuhkan untuk bermigrasi dari aplikasi mainframe ke aplikasi client/server dan juga untuk menyediakan komunikasi antar platform yang berbeda.
Middleware yang paling banyak dipublikasikan :
=> Open Software Foundation's Distributed Computing Environment (DCE),
=> Object Management Group's Common Object Request Broker Architecture (CORBA),
=> Microsoft's COM/DCOM (Component Object Model.
4. Arsitektur Teknis
            Arsitektur middleware merupakan sekumpulan S/W terdistribusi yang menempati lapisan antara aplikasi dan sistem operasi serta layanan jaringan di suatu node pada jaringan komputer
5. Layanan Middleware
            Layanan middleware menyediakan kumpulan fungsi API (Application Programming Interfaces) yang lebih tinggi daripada API yang disediakan sistem operasi dan layanan jaringan yang memungkinkan suatu aplikasi dapat :
– Mengalokasikan suatu layanan secara transparan pada jaringan.
– Menyediakan interaksi dengan aplikasi atau layanan lain.
– Tidak tergantung dari layanan jaringan.
– Handal dan mampu memberikan suatu layanan.
– Diperluas (dikembangkan) kapasitasnya tanpa kehilangan fungsinya.
6. TP Monitors (Transaction Processing Monitors)
            Produk pertama yang disebut middleware. Menempati posisi antara permintaan dari program client dan database, untuk menyakinkan bahwa semua transaksi ke database terlayani dengan baik.
7. Karakteristik TP
            Cenderung tidak sekedar sebagai koordinator dan pemantau transaksi pada beberapa sesumber data.
– Meningkatkan unjuk kerja, kehandalan dan skalabilitas sistem server-side.
– TP Monitor TP monitors menyusun suatu kerangka kerja untuk pembuatan aplikasi server-side.
– TP monitor dapat dengan handal dan efisien mengatur sesumber yng dibutuhkan oleh aplikasi yang sesuai dengan aturan sebuah TP Monitor.
            CICS (Customer Information Control System) dan IMS/TM (message-based Transaction Manager) adalah pemrosesan transaksi yang dibebankan pada mainframe. Pada sistem UNIX, BEA’s TUXEDO, BEA’s TOP END, dan IBM’s Encina adalah produk yang digunakan sebagai TP monitors. Pada lingkungan Java, kita mengenal EJB (Enterprise Java Beans).
8. Messaging Middleware
            Merupakan antarmuka dan transportasi antar aplikasi.
– Menyimpan data dalam suatu antrian message jika mesin tujuan sedang mati atau overloaded.
– Mungkin berisi business logic yang merutekan message ke tujuan sebenarnya dan memformat ulang data lebih tepat.
– Sama seperti sistem messaging email, kecuali messaging middleware digunakan untuk mengirim data antar aplikasi.


9. Produk Messaging Middleware
• Produk utama messaging (pengiriman pesan) untuk pengaturan komunikasi asinkronus antar aplikasi adalah MQSeries dari IBM.
– MQSeries telah dipasangkan pada semua platform server.
• Microsoft memperkenalkan sistem messagingnya sendiri yang digabungkan dengan Component Object Model (COM), yaitu Microsoft Message Queue Server (MSMQ).
– MSMQ dan MQSeries menawarkan fungsi yang sama.
10. Distributed Processing
– Sistem objek terdistribusi, seperti CORBA, DCOM dan EJB memungkinkan proses-proses untuk dijalankan di sembarang node pada jaringan.
– Sistem Objek terdistrbusi tersebut berbeda dari messaging middleware, yang menyebabkan proses proses (komponen/objek) dijalankan dalam mode synchronous daripada pengiriman data secara asynchronous.
11. Remote Procedure Calls
            Remote Procedure Calls (RPC) memungkinkan suatu bagian logika aplikasi untuk didistribusikan pada jaringan. Contoh :
– SUN RPC, diawali dengan network file system (SUN NFS).
– DCE RPC, sebagai dasar Microsoft’s COM. Object Request Brokers (ORBs) memungkinkan objek untuk didistribusikan dan dishare pada jaringan yang heterogen.
– Pengembangan dari model prosedural RPC, –Sistem objek terdistribusi, seperti CORBA, DCOM, EJB, dan .NET memungkinkan proses untuk dijalankan pada sembarang jaringan.


12. Middleware Basis Data
            Middleware basis data menyediakan antarmuka antara sebuah query dengan beberapa database yang terdistribusi. Menggunakan, baik arsitektur hub and spoke atau arsitektur terdistribusi, memungkinkan data untuk digabungkan dari beberapa sumber data yang berbeda atau terpisah.
13. Antarmuka Pemrograman Basis data
            Antarmuka pemrograman antar aplikasi dipertimbangkan juga sebagai sebuah middleware.
– Open Database Connectivity (ODBC)
– Java Database Connectivity (JDBC)
– Perl::DBI
14. Middleware Application Server
            Sebuah Web-based Application Server, yang menyediakan antarmuka untuk berbagai aplikasi, digunakan sebagai middleware antara browser dan aplikais.
J2EE adalah contoh application server a wide range of server-side processing has been supported by appservers (i.e.;J2EE).
15. Arsitektur J2EE
16. Universal Computing
● Prinsip Dasar :
– Memungkinkan program yang sama dapat dijalankan pada platform apapun tanpa modifikasi.
– Halaman HTML ditulis dalam JavaScript yang dapat dijalankan pada web browser yang mendukungJavaScript.
– Aplikasi Java dan applet dijalankan oleh suatu Java Virtual Machine, yang dapat dibuat untuk berbagai sistem operasi Browser dan Java meniadakan kebutuhan platform tunggal.
17. Pertimbangan Pemakaian
            Tujuan utama layanan middleware adalah untuk membantu memecahkan interkoneksi beberapa aplikasi dan masalah interoperabilitas. Bagaimana pun juga middleware bukanlah “obat mujarab” :
– Ada jarak antara prinsip dan praktek. Beberapa middleware membuat suatu aplikasi tergantung pada suatu produk tertentu.
– Sedikitnya jumlah middleware menjadikan rintangan tersendiri. Untuk menjaga lingkungan komputasi mudah diatur, pengembang biasanya memilih sejumlah kecil layanan yang memenuhi kebutuhan mereka.
– Selama layanan middleware masih memunculkan abtraksi pemrograman terdistrbusi, middleware masih akan memberikan bagi si pengembang suatu pilihan rancangan aplikasi yang cukup sulit. Contoh : pengembang masih harus menentukan layanan atau fungsi apa yang harus diletakkan pada clientataupun server.
18. Tipe Layanan Middleware
Ada tiga tipe layanan yaitu :
a. Layanan Sistem Terdistribusi
• Komunikasi kritis, program-to-program, dan layanan manajemen data.
• RPC, MOM (Message Oriented Middleware) dan ORB.
b. Layanan Application
• Akses ke layanan terdistribusi dan jaringan • Yang termasuk : TP (transaction processing) monitor dan layanan database, seperti Structured Query Language (SQL).
c. Layanan Manajemen Middleware
• Memungkinkan aplikasi dan fungsi dimonitor secara terus menerus untuk menyakinkan unjuk kerja yang optimal pada lingkungan terdistribusi.
19. Remoting Architectures
            Distributed Computing Environment (DCE) dari Open Software Foundation (OSF). Secara aktualnya adalah sebuah lingkungan pemrosesan terdistribusi yang di dasarkan pada Remote Procedure Call (RPC)Common Object Request Broker Architecture (CORBA) dari Object Management Group’s (OMG).
20. Arsitektur-Arsitektur Komponen
• Microsoft’s Component Object Model (COM)
Menangani pemaketan dan deployment komponen yang mendukung berbagai bahasa pemrograman
• JavaBeans dan Enterprise Java Beans (EJB) diperkenalkan oleh SUN Microsystem.
• Baik COM dan EJB diperluas menjadi :
- COM diperluas ke Distributed COM (DCOM) menggunakan versi perluasan dari DCE RPC sebagai transport.
- EJB mendukung komunikasi C/S yang di dasarkan pada Java Remote Method Invocation (RMI).
- RMI adalah merupakan model pendistribusian komponen jarak jauh yang menggunakan Java, tanpa perlu Interface Definition.
- Language (IDL) untuk mendeskripsikan interfacenya.
- Microsoft memperkenalkan arsitektur .NET sebagai arsitektur komponen terbaru dengan basis web service sebagai tulang punggungnya.
21. Arsitektur DCE dan Layanan-layanannya
22. Object Management Architecture (OMA)
23. Antarmuka ORB
24. Komponen COM Server
25. Karakteristik COM
• COM adalah arsitektur komponen yang memiliki beberapa kekuatan.
– Ribuan kontrol ActiveX controls (in-process COM components) tersedia di pasar.
– Microsoft dan vendor lain membangun banyak tool yang mempercepat perkembangan aplikasi berbasis pada COM.
• Layanan tingkat lanjut seperti Microsoft Transaction Server (MTS) dan Microsoft Message Queuing Server(MSMQ) mendukung pengembangan sistem multi-tier C/S.
– Microsoft menggunakan nama COM+ untuk menyatakan COM yang berjalan pada layanan tersebut.
26. Microsoft .NET Framework
27. Kesimpulan
            Middleware merupakan komponen perangkat lunak yang memberikan peranan penting dalam pengembangan aplikasi client/server dengan tidak memandang platform Beberapa arsitektur dan tipemiddleware dapat digunakan sesuai dengan kebutuhan.

Tidak ada komentar:

Posting Komentar