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. Tiap‐tiap
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 analog‐to‐digital
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 (signal‐to‐noise
ratio = s/n).
d. Sinyal‐sinyal
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 fitur‐fitur
spesifik dan karekteristiknya.
c. Lebih khusus lagi program image
analysis digunakan untuk mencari tepi dan batas‐batasan
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