Pertemuan Pertama Pemrograman Computer Vision

Tutorial Computer Vision (Bagian -1 )

1 205

1200px-OpenCV_Logo_with_text_svg_version.svg

Beberapa tahun yang lalu, embeddednesia pernah mengulas beberapa teknik dalam pengolahan citra menggunakan aplikasi Matlab. Perkembangan teknologi yang pesat, akhir – akhir ini, terutama di bidang kecerdasan buatan mendorong  proses pengolahan citra, juga computer vision semakin mudah.

Hal ini dapat dilihat dari berbagai macam Kontes Robot yang diadakan di tingkat nasional ataupun Internasional. Membangun robot yang memiliki kapabilitas untuk memproses, menganalisa dan mengenali suatu citra sudah bukan barang asing lagi, sebagaimana dulu. Bagaimana sebuah robot sepakbola misalnya, dapat diprogram untuk mengenali berbagai obyek seperti bola atau gawang lawan.

Aplikasi Computer Vision juga bisa diterapkan untuk pengenalan objek seperti wajah sebagaimana yang digunakan oleh berbagai aplikasi sosial media. Sebagaimana google photos dan juga facebook telah mampu mengelompokkan foto wajah dari orang – orang yang sama.

Merekam secara otomatis plat nomer sebuah kendaraan yang melanggar rambu lalu lintas juga bukan hal yang mustahil dilakukan. Seandainya teknik seperti ini bisa diterapkan di Indonesia, maka sistem bayangkan berapa jumlah anggota kepolisian lalu lintas yang bisa lebih diefektifkan untuk mengatur lalu lintas yang semrawut daripada hanya mencari – mencari kesalahan kendaraan lain.

AAEAAQAAAAAAAArWAAAAJGEwYjc4NzAyLWNkMjgtNGFlYS1iMTY0LWM0Y2M2Y2MzMDE5OQ

Apa itu Computer Vision?

Computer Vision secara ringkas diartikan bagaimana manusia (software developer) memberi “penglihatan” kepada sebuah komputer, mesin atau robot. Penjelasan secara lebih teknis adalah sebuah cabang disiplin ilmu dari machine learning  yang  bermula dari bagaimana sebuah data citra yang diterima oleh sensor / kamera diubah  menjadi representasi data digital baru. Representasi digital tersebut adalah sebuah matriks yang biasanya terdiri dari 3 lapis, untuk kemudian diproses untuk berbagai tujuan, seperti pengenalan suatu objek dan lain sebagainya.

Apa itu OpenCV

Apa itu OpenCV? Pertanyaan mendasar yang pasti muncul di benak setiap orang yang baru pertama kali mengetahuinya. Ya, OpenCV (Open Source Computer Vision Library: http://opencv.org) adalah pustaka yang bersifat open-source dengan lisensi BSD terdiri dari beberapa ratus algoritma computer vision. OpenCV memiliki struktur yang modular, yang berarti memiliki package yang mencangkup beberapa library static dan bersama. Beberapa modul tersebut diantaranya adalah

  1. core : Adalah modul inti yang kompak yang menjabarkan struktur data dasar termasuk array multidimensi dan fungsi dasar yang bisa digunakan oleh modul yang lain
  2. imgproc : Yaitu modul pengolahan citra yang mencangkup filter citra linear dan non linear, transformasi gambar geometris, konversi warna, histogram dan lain sebagainya
  3. video : Modul untuk proses analisa video termasuk analisa gerak,  background substraction dan algoritma perunutan objek
  4. calib3d  Algoritma multiple-view dasar, kalibrasi kamera tunggal dan stereo, estimasti pose objek, algoritma korespondensi stereo serta elemen – elemen dari rekonstruksi 3 dimensi
  5. features2d : detektor salient, descriptor dan  descriptor matchers
  6. objdetect : mendeteksi objek dan instance dari class yang didefinisikan (sebagai contoh, muka, mata gelas, orang, mobil dan seterusnya).
  7. highgui  antarmuka GUI yang mudah digunakan untuk menangkap video, gambar dan video codecs
  8. gpu Algoritma yang dipercepat untuk modul modul OpenCV yang berbeda – beda

OpenCV dirancang untuk efisiensi komputasional dan dengan fokus kepada aplikasi yang bersifat realtime. OpenCV ditulis dengan bahasa pemrograman C++ dan dapat mengambil keuntungan dari komputasi multiprosesor. Namun hingga kini pengembangan antarmuka untuk pemrograman lain juga berkembang, seperti Python, Matlab, juga Java

Salah satu yang menjadi tujuan utama dari tersedianya OpenCV adalah untuk menyediakan infrastruktur computer vision yang mudah digunakan dan membantu  orang dalam membangun aplikasi computer vision yang teramat kompleks. Maka berterimakasihlah kepada komunitas open source yang membuat semua ini menjadi mungkin.

Sejarah OpenCV

OpenCV pertama kali tumbuh di tahun 1999 di  Intel Research initiative to advance CPU-intensive applications, bagian dari sebuah rangkaian project yang termasuk real time ray tracing dan 3D Display walls. Kontributor utama dari project ini adalah sejumlah pakar optimasi dari Intel Rusia sekaligus Tim Intel’s Performance Library.

Versi alfa dari OpenCV dirilis ke publik di  IEEE Conference on Computer Vision and Pattern Recognition  di tahun 2000, dan 5 versi beta dirilis antara tahun 2001 hingga 20005. Diikuti dengan versi 1 yang dirilis pada 2006. Versi 1.1. Pre-release pada Oktober 2008

Rilis versi major dari OpenCV terjadi pada 2009, dimana OpenCV 2 memasukkan perubahan besar pada antarmuka C++ (yang sebelumnya C pada Versi 1), ditujukan agar lebih mudah, type-safe, fungsi baru dan implemetasi yang lebih baik ketimbang versi awalnya.

Pada agustus 2012, pendukung OpenCV diambil alih oleh Yayasan nirlaba OpenCV.org yang me-maintain developer dan pengguna

Pada tulisan berikutnya, dalam seri Tutorial ini, embeddednesia, akan membahas bagaimana memulai menyiapkan environment untuk melakukan pemrograman computer vision.

 

1 Komen
%d blogger menyukai ini: