Orange: Image Analytics Clustering
Sumber: https://orange.biolab.si/blog/2017/04/03/image-analytics-clustering/
Data tidak selalu datang dalam bentuk tabel yang bagus. Data juga dapat berupa kumpulan teks, rekaman audio, materi video atau bahkan gambar. Namun, komputer hanya dapat bekerja dengan angka, jadi untuk setiap data mining, kita perlu mengubah data yang tidak terstruktur tersebut menjadi representasi vektor.
Untuk mengambil angka dari data yang tidak terstruktur, Orange dapat menggunakan deep network embedder. Orange baru saja mulai memasukkan berbagai embedders di Orange pada widget Image Embedding, dan untuk saat ini, sudah tersedia untuk teks dan gambar.
Pada kesempatan ini, kita akan mengambil contoh image embedding dan menunjukkan betapa mudahnya menggunakannya di Orange. Secara teknis, Orange akan mengirim gambar ke server, di mana server akan mendorong gambar melalui pre-trained deep neural network, seperti Google Inception v3. Deep network sering dilatih dengan tujuan tertentu. Inception v3, misalnya, dapat mengklasifikasikan gambar ke dalam salah satu dari 1.000 class gambar. Kita dapat saja mengabaikan klasifikasi yang bisa disarankan, sebagai gantinya mempertimbangkan penultimate layer dari network dengan 2048 node (angka) dan menggunakannya untuk image’s vector-based representation.
Contoh
Dalam workflow contoh, kita akan menggunakan 19 gambar hewan peliharaan. Pertama, unduh gambar dan unzip. Kemudian gunakan widget Import Images dari add-on Orange Image Analytics dan buka direktori yang berisi gambar.
Gambar hewan bisa divisualisasikan menggunakan widget Image Viewer, seperti workflow berikut ini.
Jika kita perhatikan baik-baik, isi tabel data hanya beberapa deskripsi gambar, seperti, nama file, lokasi file, ukurannya, dan lebar dan tinggi gambar. Informasi ini tidak bisa membantu kita untuk melakukan machine learning.
Untuk melakukan machine learning kita membutuhkan angka. Untuk memperoleh representasi numerik dari gambar-gambar, kita mengirim gambar ke widget Image Embedding.
Data keluaran widget Image Embedding dapat kita periksa menggunakan widget Data Table. Sekarang kita memiliki presentasi numerik / angka dari gambar-gambar. Per gambar ada 2048 representasi numerik (kolom n0 hingga n2047). Dengan feature representasi angka ini, kita dapat menerapkan semua teknik standard machine learning, seperti, clustering.
Untuk mengelompokan berdasarkan kemiripan, kita dapat mengukur jarak antara gambar-gambar. Representasi angka dari gambar yang di peroleh dari widget Image Embedding, kita ukur jaraknya menggunakan widget Distances. Biasanya, cosine distance paling baik untuk gambar, tetapi anda dapat bereksperimen sendiri. Kemudian kita akan mengirimkan distance matrix ke Hierarchical Clustering untuk memvisualisasikan similar pair di dendrogram.
Hasilnya, semua hewan secara benar masuk kelompoknya. Dalam dendogram hasil pengelompokan, kita tidak melihat gambar hewan. Kita dapat menggunakan widget Image Viewer untuk melihat gambar-nya.
Terlihat dengan jelas bahwa keluarga sapi dikelompokkan bersama. Sekarang kita dapat mengklik cabang dendrogram yang berbeda dan mengamati hewan mana yang termasuk dalam kelompok mana.
Kemungkinan anda akan berfikir, ini curang karena gambar yang dipilih sengaja di miripkan untuk menipu :) ....
Untuk membuktikan bahwa ini bukan tipuan, kita akan mengambil sapi baru, disini di ambil sapi paling terkenal di Eropa - sapi Milka.
Gambar ini sangat berbeda dari gambar lain - tidak memiliki latar belakang putih, ini foto asli (belum dipotret) dan muka sapi Milka menghadap kemuka. Akankah widget Image Embedding menemukan representasi numerik yang tepat untuk sapi ini?
Tampaknya berhasil. Milka disatukan dengan sapi lainnya.
Analisis gambar adalah bidang yang sangat menarik dalam pembelajaran mesin dan sekarang Orange juga menjadi bagian darinya! anda perlu menginstal add-on Image Analytics dan anda siap untuk melakukan penelitian anda!