Hapus Watermark dengan AI Python
Python Tutorial AI Tools #python #watermark #florence-2 #lama

Hapus Watermark dengan AI Python

A
Abd. Asis
6 min read
Bagikan:

Watermark di video yang dihasilkan tool AI seperti Sora atau Runway kadang sulit dihindari — terutama ketika kita menggunakan versi gratis atau trial. Ada juga situasi lain: gambar stok lama dengan tanda air yang tidak lagi relevan, atau aset visual internal yang ditambahkan watermark selama proses review dan perlu dibersihkan sebelum dipublikasikan.

Pendekatan lama seperti blur manual atau clone stamp di Photoshop butuh waktu dan hasilnya bergantung sepenuhnya pada ketelitian tangan. WatermarkRemover-AI hadir dengan pendekatan berbeda: deteksi watermark menggunakan model AI Florence-2 dari Microsoft, lalu menghapus dan mengisi area tersebut secara otomatis menggunakan model inpainting LaMa. Hasilnya terlihat alami tanpa trace apapun dari tanda air yang sebelumnya ada.

Artikel ini membahas cara instalasi, penggunaan via CLI maupun GUI, serta opsi konfigurasi yang tersedia.

Bagaimana Florence-2 dan LaMa Bekerja Bersama

Florence-2 adalah model vision-language dari Microsoft yang dirilis Juni 2024 di bawah lisensi MIT. Model ini mampu melakukan berbagai tugas computer vision hanya dengan prompt teks — termasuk deteksi objek dan region grounding. Ukurannya relatif kecil (0.2B dan 0.7B parameter) tapi performanya setara model yang jauh lebih besar.

Dalam konteks penghapusan watermark, Florence-2 menerima prompt "watermark" lalu mengembalikan koordinat bounding box di mana watermark berada dalam gambar. Koordinat inilah yang kemudian digunakan sebagai mask untuk tahap berikutnya.

LaMa (Large Mask Inpainting) adalah model inpainting dari Samsung Research yang menggunakan Fast Fourier Convolutions — teknik yang memungkinkan model melihat seluruh gambar sekaligus, bukan hanya area lokal. Ini penting untuk mengisi area bekas watermark dengan tekstur dan pola yang konsisten dengan sekelilingnya. LaMa menerima gambar asli plus mask area watermark, lalu meregenerasi bagian yang tertutup mask secara natural.

Kombinasi keduanya membentuk pipeline dua tahap: deteksi akurat via Florence-2, diikuti pengisian seamless via LaMa.

Persiapan Instalasi

WatermarkRemover-AI membutuhkan Python 3.10 atau lebih baru. Setup script akan mengunduh environment Python portable secara otomatis, sehingga tidak ada konflik dengan instalasi Python yang sudah ada di sistem.

Instalasi di Linux dan macOS

Clone repository lalu jalankan setup script:

git clone https://github.com/D-Ogi/WatermarkRemover-AI.git
cd WatermarkRemover-AI
chmod +x setup.sh
./setup.sh

Proses setup akan mengunduh dependencies termasuk PyTorch dan model-model yang dibutuhkan. Pastikan koneksi internet stabil karena total unduhan bisa mencapai beberapa ratus MB.

Setelah setup selesai, unduh model LaMa secara eksplisit:

iopaint download --model lama

Model ini berukuran sekitar 196MB dan hanya perlu diunduh sekali.

Instalasi di Windows

Proses di Windows serupa, hanya menggunakan PowerShell:

git clone https://github.com/D-Ogi/WatermarkRemover-AI.git
cd WatermarkRemover-AI
.\setup.ps1

Setelah setup selesai, jalankan aplikasi dengan klik ganda pada run.bat, atau jalankan dari terminal untuk mode CLI.

Jika sistem memiliki GPU NVIDIA, pastikan PyTorch terinstal dengan dukungan CUDA untuk mempercepat pemrosesan secara signifikan. Setup script akan mendeteksi GPU secara otomatis.

Penggunaan via CLI

Mode CLI cocok untuk pemrosesan batch atau integrasi ke dalam skrip otomasi. Semua operasi dilakukan lewat remwm.py.

Memproses Satu Gambar

Perintah paling dasar: tentukan file input dan folder output.

python remwm.py foto-produk.png ./hasil/

Jika berhasil, file foto-produk.png tanpa watermark akan tersimpan di folder ./hasil/.

Batch Processing Seluruh Folder

Untuk memproses banyak gambar sekaligus, cukup arahkan input ke folder:

python remwm.py ./koleksi-gambar/ ./hasil-bersih/ --overwrite

Flag --overwrite memastikan file yang sudah ada di folder output ditimpa jika dijalankan ulang. Tanpa flag ini, file yang sudah ada akan dilewati.

Memproses Video

Pemrosesan video memiliki opsi tambahan karena watermark perlu dideteksi dan dihapus per frame. Parameter --detection-skip mengontrol seberapa sering deteksi dijalankan ulang — nilai lebih tinggi berarti lebih cepat tapi kurang akurat jika watermark bergerak atau berubah.

python remwm.py klip-demo.mp4 ./hasil/ --detection-skip=3

Perintah di atas menjalankan deteksi setiap 3 frame, yang merupakan titik tengah yang baik antara kecepatan dan akurasi.

Untuk video dengan watermark yang fade in atau fade out, gunakan parameter tambahan:

python remwm.py klip-intro.mp4 ./hasil/ --detection-skip=2 --fade-in=0.5 --fade-out=0.5

Parameter --fade-in dan --fade-out memperpanjang mask selama transisi, sehingga watermark yang muncul/menghilang secara bertahap tetap terhapus bersih.

Mode Preview

Sebelum memproses, kita bisa memeriksa apakah Florence-2 berhasil mendeteksi watermark dengan benar:

python remwm.py foto-produk.png --preview

Mode preview menampilkan gambar dengan bounding box di sekitar area yang terdeteksi sebagai watermark, tanpa benar-benar menghapusnya. Ini berguna untuk menyesuaikan sensitivitas deteksi sebelum memproses batch besar.

Tabel Opsi CLI yang Sering Digunakan

OpsiDefaultKegunaan
--overwritefalseTimpa file output yang sudah ada
--transparentfalseJadikan area watermark transparan (khusus gambar)
--max-bbox-percent10Ukuran maksimal watermark sebagai persen luas gambar
--force-formatautoPaksa format output: PNG, WEBP, JPG, MP4, AVI
--detection-prompt”watermark”Prompt kustom untuk Florence-2
--detection-skip1Deteksi setiap N frame untuk video

Parameter --max-bbox-percent penting untuk dihindari false positive — misalnya jika ada objek besar yang secara visual mirip watermark. Dengan nilai default 10%, objek yang menutupi lebih dari 10% luas gambar tidak akan dihapus.

Parameter --transparent hanya bekerja pada format gambar yang mendukung transparency seperti PNG dan WEBP. Jangan gunakan opsi ini jika output format JPG, karena akan menghasilkan latar hitam di area yang seharusnya transparan.

Penggunaan via GUI

Jalankan aplikasi dengan skrip run yang disediakan:

# Linux/macOS
./run.sh

# Windows
run.bat

GUI berbasis PyWebview akan terbuka dengan antarmuka modern. Dari sana, pilih mode pemrosesan (Single File atau Batch), atur path input dan output, sesuaikan pengaturan yang diperlukan, lalu klik “Start Processing”. Progress pemrosesan ditampilkan secara real-time.

GUI juga mendukung multi-bahasa — tersedia antarmuka dalam Bahasa Inggris, Prancis, Mandarin, Jepang, dan Portugis — serta pilihan tema terang dan gelap.

Menyesuaikan Sensitivitas Deteksi

Florence-2 menggunakan prompt teks untuk mendeteksi objek. Secara default, prompt yang digunakan adalah "watermark". Kita bisa menggantinya dengan prompt yang lebih spesifik jika watermark di file tersebut berbentuk unik:

python remwm.py banner-produk.png ./hasil/ --detection-prompt="logo perusahaan"

Jika deteksi terlalu agresif (menghapus area yang bukan watermark), turunkan --max-bbox-percent:

python remwm.py foto-event.png ./hasil/ --max-bbox-percent=5

Sebaliknya, jika watermark berukuran besar dan tidak terdeteksi, naikkan nilainya hingga 20-25.

Kesimpulan

WatermarkRemover-AI menawarkan pipeline yang solid untuk penghapusan watermark otomatis — Florence-2 menangani deteksi dengan akurasi yang cukup baik bahkan untuk watermark yang transparan atau semi-transparan, sementara LaMa mengisi area bekas watermark dengan tekstur yang menyatu natural. Untuk kebutuhan pemrosesan gambar skala besar atau integrasi ke pipeline otomasi, mode CLI dengan batch processing menjadi opsi yang paling praktis.

Referensi

  1. 1microsoft/Florence-2-large — Hugging Face Model Card
  2. 2advimman/lama — LaMa: Resolution-robust Large Mask Inpainting with Fourier Convolutions
  3. 3Florence-2: Advancing a Unified Representation for a Variety of Vision Tasks — Microsoft Research

Tentang Penulis

Abd. Asis

Abd. Asis

Software Developer dan Laravel Programmer dari Madura, Indonesia. Passionate tentang PHP, Laravel, dan teknologi web modern.

Komentar

Artikel Terkait

Artikel lain yang mungkin menarik untuk kamu