Orange: Image Embedding

From OnnoWiki
Jump to navigation Jump to search

Sumber: https://orange.biolab.si/widget-catalog/image-analytics/imageembedding/

Widget Image Embedding melakukan image embedding melalui deep neural network.

Input

Images: List of images.

Output

Embeddings: Images represented with a vector of numbers.
Skipped Images: List of images where embeddings were not calculated.

Widget Image Embedding membaca image dan meng-upload-nya ke remote server atau meng-evaluasi image secara lokal. Deep learning model digunakan untuk mengkalkulasi feature vector untuk setiap image. Widget Image Embedding akan mengeluarkan sebuah enhanced data table dengan tambahan kolom (image descriptor).

Image dapat di import menggunakan widget Import Images atau sebagai path ke image di sebuah file spreadsheet. Dalam hal ini, kolom dengan path image perlu menggunakan three-row header dengan label type=image pada baris ke tiga.

Header-example.png

Widget Image Embedding menawarkan beberapa embedder, masing-masing telah di train untuk tugas / task yang spesifik. Image dapat dikirim ke server atau image di evaluasi secara lokal di komputer user, dimana vector representation di hitung. SqueezeNet embedder menawarkan evaluasi yang cepat pada komputer user yang tidak membutuhkan sambungan Internet. Jika kita memutuskan untuk menggunakan embedder lain selain SqueezeNet, kita memerlukan sambungan Internet. Image yang dikirim ke server tidak akan di simpan dimana-mana.

ImageEmbedding-stamped.png
  • Information on the number of embedded images and images skipped.
  • Settings:
    • Image attribute: attribute containing images you wish to embed
    • Embedder:
      • SqueezeNet: Small and fast model for image recognition trained on ImageNet.
      • Inception v3: Google’s Inception v3 model trained on ImageNet.
      • VGG-16: 16-layer image recognition model trained on ImageNet.
      • VGG-19: 19-layer image recognition model trained on ImageNet.
      • Painters: A model trained to predict painters from artwork images.
      • DeepLoc: A model trained to analyze yeast cell images.
  • Tick the box on the left to start the embedding automatically. Alternatively, click Apply. To cancel the embedding, click Cancel.
  • Access help.

Embedder

InceptionV3 adalah Google deep neural network untuk image recognition (pengenalan image). Google InceptionV3 di train pada ImageNet dataset. Model yang digunakan bisa di download dari http://download.tensorflow.org/models/image/imagenet/inception-2015-12-05.tgz Untuk embedding, InceptionV3 menggunakan activation dari penultimate layer dari model, yang me-representasikan image dengan vector.

SqueezeNet adalah deep model untuk image recognition yang dapat mencapai keakuratan AlexNet-level pada ImageNet dengan 50x lebih sedikit parameter. Model ini di train pada ImageNet dataset. Kita mengimplementasikan ulang SqueezeNet dengan menggunakan weight yang digunakan pembuatnya pretrain model. Kita menggunakan activation dari pre-softmax (flatten10) layer sebagai embedding.

VGG16 dan VGG19 adalam deep neural network untuk image recognition yang diusulkan oleh Visual Geometry Group dari University of Oxford. Mereka di train pada ImageNet data set. Kita menggunakan netowrk yang di implementasi komunitas dengan weight asli-nya. Sebagai sebuah embedding, kita menggunakan activation dari penultimate layer - fc7.

Widget Image Embedding juga memasukan Painters, sebuah embedder yang di train pada 79,433 image dari lukisan oleh 1,584 pelukis yang memenangkan kompetisi Kaggle Painter by Numbers. Activation dari penultimate layer dari network digunakan sebagai embedding.

DeepLoc adalah sebuah convolutional network yang di train pada 21,882 image pada single cell yang secara manual di assign pada salah satu dari 15 localization compartment. Kita menggunakan pre-trained network yang di usulkan oleh pembuatnya. Embeddings menggunakan activation dari penultimate layer fc_2.

Sebuah artikel oleh Godec et al. (2019) menjelaskan bagaimana kerja embedding dan bagaimana menggunakannya di Orange.

Example

Pertama kali yang kita lakukan adalah import image dari folder menggunakan widget Import Images. Sebagai contoh disini kita mempunyai tiga image dari orange, banana dan strawberry dalam sebuah folder Fruits. Dari widget Import Images kita kirim tabel data berisi kolom dengan path image ke widget Image Embedding.

Kita menggunakan default embedder SqueezeNet. Widget Image Embedding akan secara automatis start dan akan menerima image vector dari server.

ImageEmbedding-Example1.png

Setelah komputasi oleh widget Image Embedding selesai dilakukan, kita akan dapat melihat data tambahan di widget Data Table. Setelah embedding selesai di peroleh, kita dapat melanjutkan dengan berbagai metoda machine learning yang di tawarkan Orange. Berikut adalah sebuah contoh untuk clustering menggunakan widget Distances dan widget Hierachical Clustering.

ImageEmbedding-Example2.png

Referensi

Pranala Menarik