Dataset Trimap Image sering digunakan dalam machine learning selain format VOC, PASCAL, dan COCO. Trimap Image Seperti namanya, trimap gambar I adalah partisi yang berisi tiga set wilayah – F, B, dan M. Himpunan F berisi informasi piksel latar depan (foreground), set B berisi informasi piksel latar belakang (background), dan M (border) adalah kawasan perantara yang memisahkan F dari B. Kalian dapat membayangkan trimap sebagai topeng yang berisi daerah putih yang mendefinisikan F, daerah hitam yang mendefinisikan B dan daerah abu-abu yang mendefinisikan M, yang seringkali merupakan daerah ketidakpastian (beberapa parameter juga tidak ditentukan, tergantung pada aplikasinya ).
Contoh dataset yang menggunakan trimap yaitu The Oxford-IIIT Pet Dataset
trimaps berisi pixel dengan rentang 0 sampai 2 yang dapat discale up ke grayscale dengan rentang 0-255 dimana
- 1 means “pet”
- 2 means “background”
- 3 means “border”
Kita bisa menggunakan perintah pada CMD sebagai berikut
convert Abyssinian_1trimap.png -auto-level trimap.jpg
Atau kalian bisa menggunakan kode berikut
import io import os import tensorflow as tf import PIL import matplotlib.pyplot as plt import numpy as np with tf.gfile.GFile("Abyssinian_1.png", 'rb') as fid: encoded_mask_png = fid.read() encoded_png_io = io.BytesIO(encoded_mask_png) mask = PIL.Image.open(encoded_png_io) plt.imshow( np.array(mask) / 2 * 255 )
ref : https://stackoverflow.com/questions/41777654/opencv-using-a-trimap-image
Untuk tools trimap, kalian bisa menggunakan trimap generator https://github.com/lnugraha/trimap_generator
FULL IMAGE | MASK IMAGE | FOREGROUND | BACKGROUND |
---|---|---|---|
BINARY IMAGE | TRIMAP (10 PX) | TRIMAP (20 PX) | TRIMAP (30 PX) |
---|---|---|---|
ref
https://www.quora.com/What-are-trimaps-Why-are-they-needed-in-addition-to-segmentation
https://stackoverflow.com/questions/41777654/opencv-using-a-trimap-image