Photo by Source Image
Di dunia yang ramai dengan konten digital saat ini sangat penting untuk memiliki kualitas gambar yang relevan dengan target pengguna. Umumnya kita bisa mencari sumber-sumber gambar di internet untuk digunakan sebagai bahan membuat konten yang berkualitas.
Tetapi tetap perlu ada usaha untuk menyatupadukan gambar tersebut agar konten lebih maksimal. Mulai dari menghilangkan background, mengubah ukuran, melakukan clipping dan lainnya. Hal tersebut menjadi tantangan bagi sebagian orang yang tidak mempunyai skill design yang memadai dan keterbatasan waktu.
Khususnya tentang cara menghilangkan background objek di sebuah gambar. Proses manual yang biasanya harus melakukan pembuatan garis tepi dari sebuah objek utama secara manual pada aplikasi edit gambar. Tentu saja proses ini memakan waktu apalagi tingkat kesulitan objek yang tinggi.
Di artikel kedua di sub-tema #reviewproductAI ini akan dibahas sebuah produk yang saya sendiri sudah lama terfikir untuk membuat prototype solusi sejenis yaitu menghilangkan background objek pada sebuah gambar dengan bantuan teknologi AI.
Product Check
Photo by removal.ai Website
Banyak perusahaan yang menyediakan produk yang cukup mirip service nya seperti removal.ai, removebg, slazzer, fotor dan lainnya. Disini saya coba ambil contoh dari removal.ai yang saya lebih dahulu tahu produknya dibanding kompetitornya.
Pertama ketika melihat website produk tersebut terlihat produk ini mensasar beberapa profil pengguna seperti designer, developers, marketing dan profil umum yang memiliki kebutuhan untuk menghilangkan background pada objek di sebuah gambar.
Sehingga pengguna bisa mengolah objek tersebut untuk lebih lanjut secara cepat dan mudah. Secara umum market mereka terbagi dua mulai dari B2C bagi individual dan B2B bagi enterprise yang memiliki kebutuhan pemrosesan secara banyak.
Produk tersebut berupa Software as a Service (SaaS) dengan format akses berupa Desktop App dan API-based. Model bisnis dimana pengguna berlangganan berdasarkan jumlah kuota yang telah dipilih.
Pengguna bisa mengakses aplikasi untuk menggunakan secara langsung untuk Desktop App ataupun menggunakan API untuk pemrosesan data yang banyak. Dari yang saya lihat penggunaan tools ini cukup mudah dipahami.
Khusus untuk format API tersedia dokumentasi cara menggunakan pada beberapa bahasa pemrograman seperti Python, PHP, C#, Javascript dan Nodejs. Juga menyediakan semacam demo sederhana dimana pengguna bisa mengunggah gambar dan melihat hasil gambar ketika sudah dihilangkan backgroundnya.
AI Perspective
Photo by Deep Machine Learning AI
Mari kita lihat dari perspektif metode AI yang digunakan pada produk tersebut. Secara umum saya melihat produk tersebut menggunakan metode image segmentation sebagai metode utama pemrosesan gambar.
Sistem akan melakukan segmentasi atau penandaan menyeluruh bagian objek yang telah ditentukan. Akan dilakukan partisi dari gambar menjadi beberapa bagian berbeda yang memiliki kesamaan atribut di level pixel gambar.
Misal target dari segmentasi adalah sepeda, sistem akan melakukan penandaan terhadap objek sepeda yang telah didaftarkan secara menyeluruh. Kemudian akan menghilangkan bagian non sepeda dan menganggapnya sebagai background. Sehingga gambar hasilnya hanya akan ada objek sepeda dan background kosong.
Photo by Image segmentation results of DeepLabV3 on sample images
Untuk membuat segmentasi gambar terdapat banyak metode yang bisa digunakan. Mulai dari metode yang old-school seperti thresholding, K-means clustering, histogram-based image segmentation dan edge detection. Sampai dengan metode kekinian seperti CNN, ensemble learning dan lainnya.
Untuk melihat perkembangan metode terkini dari ranah riset bisa dicek laman paperswithcode ini. Disana terdapat banyak metode terkait segmentasi gambar yang bisa dipelajari dan digunakan. Apabila beruntung ada juga repositori kode program yang bisa di reproduce.
Experiment
Sekarang mari kita melakukan sedikit uji coba dengan membandingkan produk removal.ai dengan repositori open source untuk menguji performa hasil segmentasi pada gambar. Saya menggunakan metode DeeplabV3-Resnet101 dengan library Pytorch yang dijalankan di laptop saya dengan GPU GTX 1060ti.
Skenario nya saya menggunakan tiga gambar yang saya uji coba. Yang perlu diperhatikan disini saya langsung memasukan gambar ke source code DeeplabV3-Resnet101 dengan parameter standar dan tidak melakukan editing hasil pemrosesan di removal.ai.
Photo by Complex, NBA, The Salt Lake Tribune
Dari beberapa gambar diatas terlihat bagaimana performa DeeplabV3-Resnet101 masih menyisakan objek-objek yang seharusnya bisa terhapus menjadi background. Ini tentu saja hal yang sangat mungkin terjadi karena model tersebut dasarnya digunakan untuk keperluan penelitian yang terbatas untuk keperluan uji coba.
Berbeda dengan hasil dari removal.ai dimana cukup berhasil dalam menghilangkan background dari objek utama. Hanya saja untuk gambar baris kedua terlihat ada objek orang yang terpotong. Juga di gambar baris ketiga ada bagian kaki yang seharusnya menajadi background tapi tidak menghilang.
Hal ini sudah diakomodir oleh fitur dari produk tersebut dimana pengguna bisa memvalidasi batasan objek yang harus terhapus atau tidak. Hanya saja fitur ini ada bagian yang berbayar apabila ingin melakukannya di resolusi full alias hanya bisa pada resolusi preview.
Photo by removal.ai
Kesimpulan
Terlihat jelas bagaimana sebuah produk yang memang disiapkan untuk komersial lebih mampu lebih menjawab kebutuhan pengguna. Tentu saja ini bukan komparasi yang apple-to-apple jika dibandingkan dengan repositori riset publik.
Prodak ini memiliki sistem yang lebih robust terhadap kondisi objek sapa saja yang harus dideteksi dan mana yang harus menjadi background. Juga mekanisme penanganan apabila ada kesalahan yang sangat membantu pengguna untuk mencapai kualitas gambar yang diinginkan.
Hanya saja hal ini membuka wawasan kita juga apabila banyak repositori publik AI diluar sana yang berpeluang untuk dibundling menjadi sebuah produk komersil. Tentu saja banyak tantangan yang menunggu seperti data latih model, ekspektasi pengguna dan komputasi tinggi yang menjadi momok para startup AI.
Solusi yang ditawarkan cukup menjawab permasalahan pengguna yaitu membutuhkan hasil kualitas yang baik dan waktu pemrosesan yang cepat. Cara akses yang bisa digunakan secara langsung ataupun dengan API sangat membantu pengguna untuk menyelesaikan pekerjaan pengguna.