#IMGCV 1: Revisiting Computer Vision

Harits Abdurrohman
otakbeku
Published in
4 min readApr 12, 2019

Sebelumnya jika kalian pernah membaca tulisan saya ini [1], saya mencoba menulisnya kembali dengan format yang lebih baik. Berhubung pembaca di medium saya ini bertambah terus, saya mencoba membawa banyak kalangan dengan menggunakan bahasa yang lebih mudah. Akan ada beberapa tulisan saya sebelumnya yang dihapus dari publikasi namun tetap ada di laman pribadi saya. Terima kasih.

Oh ya, rubik ini masuk ke dalam #nulisgik . Jadi silahkan untuk mencarinya di tagar tersebut.

Computer vision. Apa itu computer vision? Hemat kata, computer vision adalah salah satu bidang ilmu dalam computer science yang mempelajari dengan bagaimana mengambil sebuah informasi dari citra. Bisa berupa keterangan objek, tekstur, suasana, warna dan lainnya [2]. Computer vision atau visi komputer mempunyai fungsi kognitif yang membantu untuk memberikan keputusan untuk bertindak (inferensi).

Visi komputer sendiri sudah luas digunakan dalam kehidupan nyata seperti OCR (Optical Character Recognition), pengenalan objek, photogrammetry, mendeteksi halangan yang tidak terduga dijalan, melakukan object tracking, CBIR (content-based image retrieval) dan lain sebagai halnya [3]. Dalam ranah visi komputer, seperti yang kita ketahui bersama sudah terjamah oleh metode pembelajaran statistik atau kecerdasan buatan seperti jaringan syaraf tiruan, sebagai contohnya yang paling terkenal adalah convolutional neural network yang diciptakan oleh LeCun et al[4]

Berbeda dengan pemrosesan citra digital atau digital image processing, apa yang dihasilkan oleh visi komputer ini bukanlah citra lagi, melainkan sebuah informasi.

Perbedaan visi komputer dengan DIP — sumber pribadi

Informasi yang didapat dari visi komputer dapat digunakan untuk melakukan semua pekerjaan yang telah dituliskan diatas. Berbeda dengan pemrosesan citra digital yang menghasilkan citra baru dari prosesnya. Adapun proses yang umum dilakukan menggunakan pemrosessan citra digital adalah blurring, sharpening, noise removal, dan lain sebagai halnya. Visi komputer memberikan informasi sebagai sarana untuk membantu sistem inferensi atau sebuah keputusan. Sebagai contoh, berikut adalah pencocokan objek dimana tugas yang dilakukan adalah mengetahui lokasi dan menyatakan bahwa kedua gambar yang diberikan adalah salah satu bagian dari yang lainnya.

Saya memiliki sebuah objek berupa panda merah (Ailurus fulgens [5]) seperti dibawah ini

Panda merah

kemudian saya memiliki potongan kecil dari sebuah citra yang ingin dicocokan. Seperti dibawah ini

Potongan citra

Hanya dengan melihatnya saja kita sudah mengetahui letak potongan gambar tersebut dari citra aslinya. Namun apakah komputer dapat melakukannya? Tentu tidak bisa secara langsung. Yang perlu dilakukan oleh komputer adalah melakukan ekstraksi informasi terlebih dahulu. Informasi apa saja yang dapat diambil? Informasi tersebut antara lain adalah tekstur, warna, morfologi, atau bentuk abstraksi lain [2,3]. Termasuk ke dalam tesktur adalah gradient, orientation, edge dan corner, serta juga dapat direpresentasikan dalam bentuk lain. Untuk warna dapat dilakukan dengan pendekatan statistik seperti color moment, nilai rata-rata, deviasi standar atau skewness. Morfologi mengacu dari sebuah template dari sebuah objek. Semakin dekat bentuk objek asing dengan template-nya, maka objek tersebut dapat dikenali. Bentuk abstraksi lain dapat berupa representasi lain yang digunakan pada metode generatif [2, 3, 6, 7]

Kembali ke panda merah tadi, informasi yang didapatkan bisa apa saja, namun gunakan sesuai dengan kebutuhan. Pada kasus ini, saya menggunakan salah satu metode interest point descriptor yaitu SIFT (scale-invariant feature transform) yang mengambil titik-titik penting dari sebuah gambar dan dilakukan proses pemadanan berdasarkan titik-titik yang telah diekstraksi [8]. Berikut adalah hasilnya

Hasil dari mencocokan gambar dengan potongan gambarnya — sumber: pribadi

Dari gambar tersebut dapat dilihat bahwa ada beberapa titik yang sesuai dengan gambar aslinya. Ini adalah apa yang akan dikerjakan di ranah visi komputer. Dengan mengetahui posisi dari potongan gambar tersebut, maka kita bisa mengenali bahwa potongan gambar tersebut adalah bagian dari gambar. Secara keseluruhan kita akan mempelajari prosesnya dari pemrosesan citra digital hingga ke visi komputer.

Dari sini saya harap pembaca mendapat sebuah gambaran tentang apa yang dikerjakan di ranah visi komputer. Jika ada saran masukan bisa langsung menghubungi saya di kontak yang tersedia di medium ini. Terima kasih

Salam (12/04/2019)

Sumber:

[1] https://medium.com/@Otakbeku/computer-vision-versi-gue-a98774cc7522

[2] R. C. Gonzalez and R. E. Woods, Digital Image Processing: Third Edition, New Jersey: Pearson Education, 2008.

[3] R. Szeliski, Computer vision: algorithms and applications, Springer, 2010.

[4] Y. LeCun, P. Haffner, L. Bottou and Y. Bengio, “Object recognition with gradient-based learning,”Shape, contour and grouping in computer vision, pp. 319-345, 1999

[5] https://en.wikipedia.org/wiki/Red_panda

[6] I. Goodfellow, Y. Bengio and A. Courville, Deep Learning, MIT Press, 2016

[7] I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A.Courville and Y. Bengio, "Generative adversarial nets,"Advances in neural information processing systems, pp. 2672-2680, 2014.

[8] Lowe, D.G., 1999, September. Object recognition from local scale-invariant features. In iccv (Vol. 99, №2, pp. 1150–1157).

--

--

Harits Abdurrohman
otakbeku

Interest with machine learning, image processing, computer vision or data science