Apa algoritma paling umum untuk thresholding adaptif?

38

Ambang batas adaptif telah dibahas dalam beberapa pertanyaan sebelumnya:

Adaptive Thresholding untuk segmentasi hati menggunakan Matlab

Apa algoritma terbaik untuk threshold gambar dokumen dalam contoh ini?

Tentu saja, ada banyak algoritma untuk Adaptive thresholding. Saya ingin tahu mana yang menurut Anda paling efektif dan berguna.

Algoritma Adaptif mana yang paling sering Anda gunakan dan untuk aplikasi apa; bagaimana Anda bisa memilih algoritma ini?

Dipan Mehta
sumber

Jawaban:

24

Saya tidak berpikir saya akan menjadi jawaban yang lengkap, tetapi saya akan menawarkan apa yang saya tahu dan karena ini adalah situs yang diedit komunitas, saya harap seseorang akan memberikan jawaban gratis segera :)

Metode threshold adaptif adalah yang tidak menggunakan ambang yang sama di seluruh gambar .

Tetapi, untuk beberapa penggunaan yang lebih sederhana, kadang-kadang cukup untuk hanya memilih ambang dengan metode yang lebih cerdas daripada metode iteratif yang paling sederhana . Metode Otsu adalah metode thresholding populer yang mengasumsikan gambar berisi dua kelas piksel - foreground dan background , dan memiliki histogram bi-modal . Kemudian mencoba untuk meminimalkan penyebaran gabungan mereka (varian intra-kelas).

Algoritma paling sederhana yang dapat dianggap sebagai metode thresholding adaptif yang sesungguhnya adalah yang membagi gambar menjadi kisi - kisi sel dan kemudian menerapkan metode thresholding sederhana (misalnya metode iteratif atau Otsu) pada setiap sel yang memperlakukannya sebagai gambar terpisah (dan anggap sebagai histogram bi-modal). Jika suatu sub-gambar tidak dapat di-threshold dengan baik maka ambang dari salah satu sel tetangga dapat digunakan.

Pendekatan alternatif untuk menemukan ambang batas lokal adalah dengan menguji secara statistik nilai-nilai intensitas lingkungan lokal setiap piksel . Ambang berbeda untuk setiap piksel dan dihitung dari lingkungan lokalnya ( median, rata-rata, dan pilihan lain dimungkinkan). Ada implementasi metode semacam ini termasuk dalam pustaka OpenCV dalam cv::adaptiveThresholdingfungsi.

Saya menemukan metode serupa lainnya yang disebut Bradley Local Thresholding . Ini juga memeriksa lingkungan masing-masing piksel, mengatur kecerahan ke hitam jika kecerahan piksel t persen lebih rendah dari kecerahan rata-rata piksel sekitarnya. Kertas yang sesuai dapat ditemukan di sini .

Jawaban stackoverflow ini menyebutkan metode thresholding lokal (adaptif) yang disebut Niblack tapi saya belum pernah mendengarnya sebelumnya.

Terakhir, ada metode yang saya gunakan di salah satu proyek saya sebelumnya yang lebih kecil, yang disebut Image Thresholding oleh Variational Minimax Optimization . Ini adalah metode berulang, berdasarkan pada mengoptimalkan fungsi energi yang merupakan kombinasi nonlinier dari dua komponen. Satu komponen bertujuan untuk menghitung ambang berdasarkan posisi perubahan intensitas terkuat dalam gambar. Komponen lainnya bertujuan untuk menghaluskan ambang batas pada area perbatasan (objek). Ini telah terbukti cukup baik pada gambar instrumen analog (berbagai bayangan dan refleksi dari kaca / plastik), tetapi membutuhkan pilihan jumlah iterasi yang cermat.

fγ(f)

Pembukaan gambar asli dengan SE persegi besar menghapus semua struktur gambar yang relevan tetapi mempertahankan fungsi iluminasi. Topi putih atas gambar asli atau pengurangan fungsi pencahayaan dari gambar asli menghasilkan gambar dengan pencahayaan homogen.

Penelope
sumber
14

Anda dapat menemukan kertas yang berisi perbandingan sejumlah metode thresholding di sini:

  • M. Sezgin, B. Sankur - Survei atas teknik thresholding gambar dan evaluasi kinerja kuantitatif, Journal of Electronic Imaging, 2004 - pdf

Inilah makalah lain yang mengevaluasi metode binarisasi:

  • P. Stathis, E. Kavallieratou dan N. Papamarkos - Teknik Evaluasi untuk Algoritma Binarisasi, Jurnal Ilmu Komputer Universal, 2008, - pdf

Metode binarisasi adaptif yang saya gunakan dalam proyek terakhir saya menggunakan gambar integral untuk perhitungan cepat fungsi ambang yang digunakan oleh metode Sauvola. Metode Sauvola dijelaskan dalam:

  • J. Sauvola dan M. Pietikainen, Binarisasi gambar dokumen Adaptive, Pattern Recognition 33, 2000. - pdf

Modifikasi yang menggunakan gambar integral yang memberikan speedup 20 kali lipat (sesuai dengan kertas) dijelaskan dalam makalah ini:

  • F. Shafait, D. Keysers, dan TM Breuel, Implementasi yang efisien dari teknik threshold adaptif lokal menggunakan gambar integral, Pengakuan Dokumen dan Pengambilan XV, 2008 - pdf

Ini hanya makalah yang saya gunakan ketika memilih metode binarisasi untuk proyek saya (untuk menemukan teks dalam gambar). Saya bukan ahli jadi saya tidak bisa mengatakan metode mana yang terbaik untuk aplikasi mana.

ppalasek
sumber
6

Pertanyaan ini telah dijawab dengan sangat baik dari berbagai sudut pandang, dan saya hanya ingin merangkum pengalaman saya dan juga menekankan beberapa masalah yang terkait dengan binarisasi adaptif.

Binarisasi adaptif dapat dibagi menjadi tiga kategori:

1) Metode global: dengan metode ini pertama-tama latar belakang gambar diperkirakan; setelah itu gambar yang dinormalisasi dihasilkan dengan bantuan informasi latar belakang. Kemudian metode binarisasi global digunakan.

2) Metode berbasis tambalan: seperti namanya, metode berbasis tambalan akan melakukan tambalan binarisasi dengan tambalan. Di setiap tambalan, binarisasi diperkirakan dengan metode binarisasi global. Setelah itu, beberapa post-processing dilakukan untuk menuntut bahwa ambang binarisasi di patch tetangga memiliki transisi yang mulus.

3) Metode jendela bergerak: dengan metode ini, binarisasi dilakukan piksel demi piksel. Jendela bergerak diatur untuk menghitung statistik piksel dalam jendela, dan berdasarkan statistik ambang untuk piksel pusat dalam jendela dihitung.

Sangat sulit untuk mengetahui metode mana yang terbaik karena tergantung pada aplikasinya. Ketika Anda memikirkan binarization adaptif, jangan lupa untuk mempertimbangkan pertanyaan-pertanyaan berikut:

1) pengaturan parameter: apakah metode ini memiliki prosedur pengaturan parameter otomatis? Bagaimana kita dapat mengatur parameter dengan sangat baik sehingga dapat bekerja pada sebagian besar kasus?

2) apa kriteria membenarkan binarisasi adaptif yang baik? Dalam banyak kasus, perbedaan antara metode binarisasi berbeda sangat kecil. Namun, perbedaan kecil tersebut dapat menyebabkan perbedaan besar pada akhirnya.

3) dapatkah binarisasi bekerja pada beberapa situasi tertentu? Sebagai contoh, misalkan target dari binarization adaptif adalah untuk mengekstraksi sementara objek dari latar belakang hitam, dapatkah binarisasi secara otomatis beradaptasi dengan situasi ini? Atau sebaliknya visa.

4) metode adaptif cenderung hanya berfokus pada konfigurasi lokal, sehingga hasil biner tidak dioptimalkan. Sebagai contoh, metode Sauvola yang terkenal akan menghasilkan objek berlubang jika objek yang akan dioptimalkan jauh lebih besar daripada jendela bergerak. Bisakah metode adaptif Anda mengatasi keterbatasan ini?

5) preprocessing. Binarisasi yang baik juga harus mencakup orang dalam pemrosesan gambar. Jika gambar terlalu buram, secara otomatis dapat menyesuaikan parameter algoritma atau meminta beberapa preprocessing untuk menghindari binarisasi yang buruk.

merasa bebas
sumber