Faktor apa yang harus saya pertimbangkan dalam memilih algoritma deteksi tepi?


33

Saya telah belajar tentang sejumlah algoritma deteksi tepi, termasuk algoritma seperti metode Sobel, Laplacian, dan Canny. Menurut saya pendeteksi tepi paling populer adalah detektor tepi Canny, tetapi adakah kasus di mana ini bukan algoritma optimal untuk digunakan? Bagaimana saya bisa memutuskan algoritma mana yang akan digunakan? Terima kasih!


7
Apa yang Anda deteksi?
endolith

Jawaban:


29

Ada banyak kemungkinan deteksi tepi, tetapi 3 contoh yang Anda sebutkan jatuh ke dalam 3 kategori berbeda.

Sobel

Ini mendekati turunan orde pertama. Memberikan ekstrema pada posisi gradien, 0 di mana tidak ada gradien. Dalam 1D, itu adalah = [101]

  • tepi halus => minimum atau maksimum lokal, tergantung pada sinyal naik atau turun.
  • 1 garis piksel => 0 pada garis itu sendiri, dengan ekstrema lokal (tanda berbeda) tepat di sebelahnya. Dalam 1D, itu adalah = [121]

Ada alternatif lain untuk Sobel, yang memiliki +/- karakteristik yang sama. Pada halaman Roberts Cross di wikipedia Anda dapat menemukan perbandingan beberapa di antaranya.

Laplace

Ini mendekati turunan urutan kedua. Memberikan 0 pada posisi gradien dan juga 0 di mana tidak ada gradien. Ini memberikan ekstrema di mana gradien (lebih lama) dimulai atau berhenti.

  • tepi halus => 0 di sepanjang tepi, ekstrem lokal di awal / berhenti tepi.
  • 1 garis piksel => ekstrem "ganda" di garis, dengan ekstrem "normal" dengan tanda berbeda tepat di sebelahnya

Efek 2 ini pada berbagai jenis tepi dapat dilihat secara visual terbaik:

Perbandingan Sobel vs Laplace

Cerdik

Ini bukan operator sederhana, tetapi merupakan pendekatan multi-langkah, yang menggunakan Sobel sebagai salah satu langkahnya. Di mana Sobel dan Laplace memberikan Anda hasil grayscale / floating point, yang perlu Anda ambang sendiri, algoritme Canny memiliki penandaan pintar sebagai salah satu langkahnya, jadi Anda hanya mendapatkan hasil biner ya / tidak. Juga, di tepi yang halus, Anda mungkin akan menemukan hanya 1 baris di suatu tempat di tengah gradien.


18

Sementara Sobel dan Laplacian hanyalah filter, Canny melangkah lebih jauh dari itu dalam dua cara.

Pertama, ia melakukan penindasan non-maksimum yang menghilangkan noise yang dihasilkan oleh semua jenis objek dan gradien warna dalam suatu gambar. Kedua, itu sebenarnya termasuk langkah yang memungkinkan Anda untuk membedakan antara arah tepi yang berbeda dan untuk mengisi titik yang hilang dari suatu garis.

Dengan kata lain, detektor tepi Canny berada di kelas yang sama sekali berbeda dari Sobel dan Laplacian. Ini jauh lebih pintar karena itu mencakup sejumlah besar pemrosesan pos sedangkan Sobel dan Laplacian hanyalah output filter high pass diikuti oleh linear binary thresholding.


apakah ada versi 1-D dalam hal ini? Apakah itu hanya menjadi aplikasi lurus ke depan dari versi 2-D?
Spacey

9

Dua keputusan paling penting ketika mencoba mendeteksi tepi adalah, bagi saya biasanya:

  1. Bisakah saya mengelompokkan objek, dan kemudian menggunakan operator morfologi untuk menemukan tepi gambar biner (tersegmentasi)? Dengan data bising, ini cenderung lebih kuat.

  2. Filter smoothing pengawet tepi apa yang harus saya gunakan untuk mengurangi noise gambar? Filter tepi didasarkan pada perbedaan, yang akan menderita dengan data berisik. Pilihan paling sederhana adalah median filter, tetapi difusi anisotropik atau nonlokal berarti filter akan menawarkan kinerja yang lebih baik dengan biaya memiliki lebih banyak parameter untuk disesuaikan.

Untuk deteksi tepi itu sendiri, saya tidak bisa berpikir untuk alasan yang baik untuk tidak menggunakan Canny.


7

Pendekatan SUSAN

Pendekatan lain untuk deteksi tepi dan sudut adalah pendekatan SUSAN .

Dalam pendekatan ini, daripada pendekatan derivatif, pendekatan pendekatan integral digunakan. Ini memiliki keuntungan tidak hanya dapat mendeteksi tepi, tetapi juga untuk dapat mendeteksi "fitur dua dimensi" (yaitu sudut).

Keuntungan lain dari pendekatan pendekatan integral adalah bahwa kebisingan cenderung kurang berpengaruh pada hasil.


6

Canny menghasilkan gambar biner dan bergantung pada ambang batas yang diberikan secara eksternal (yang bergantung pada gambar / aplikasi).
Filter berbasis konvolusi menghasilkan gambar "intensitas ujung". Ini berguna jika berat atau kekuatan tepi penting (misalnya dalam Hough Transform berbobot).

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.