Apa perbedaan antara transformasi Hough dan Radon?


34

Saya kenal dengan transformasi Radon dari belajar tentang CT scan, tetapi tidak pada transformasi Hough. Wikipedia mengatakan

Pesawat (r, θ) kadang-kadang disebut sebagai ruang Hough untuk rangkaian garis lurus dalam dua dimensi. Representasi ini membuat transformasi Hough secara konseptual sangat dekat dengan transformasi Radon dua dimensi. (Mereka dapat dilihat sebagai cara berbeda dalam memandang transformasi yang sama. [5])

Output mereka terlihat sama bagi saya:

rho berdampingan vs plot theta untuk Hough dan Radon transform

Jadi saya tidak mengerti apa bedanya. Apakah hal yang sama terlihat dengan cara yang berbeda? Apa manfaat dari masing-masing pandangan yang berbeda? Mengapa mereka tidak digabungkan menjadi "transformasi Hough-Radon"?


Hai, semacam pertanyaan yang tidak terkait, tetapi bisakah Anda membagikan skema warna peta panas Bezier yang Anda gunakan dalam gambar ini ? Hal ini terlihat cukup baik, dan saya bertanya-tanya apakah Anda memiliki array nilai RGB menggambarkannya. M.×3
DumpsterDoofus

@DumpsterDoofus Saya kira saya belum mempublikasikannya karena ini kludgy dan saya ingin memolesnya dulu, tapi karena saya belum pernah: versi non-bezier ada di sini gist.github.com/endolith/2879736 dan upaya bezier ada di sini inti .github.com / endolith / ef948b924abf289287bd juga digunakan di sini flic.kr/p/dWSfUd
endolith

Terima kasih, aku benar-benar pikir itu keluar tadi malam, itu dapat ditulis kompak sebagai RGB(x)=((2-x)xBoole[0x1]x2Boole[-1x1]-x(x+2)Boole[-1x0]).
DumpsterDoofus

@DumpsterDoofus Jangan ragu untuk membersihkan kode saya :)
endolith

Jawaban:


31

Transformasi Hough dan transformasi Radon memang sangat mirip satu sama lain dan hubungan mereka dapat secara longgar didefinisikan sebagai yang pertama merupakan bentuk diskrit dari yang terakhir.

RnRn

Saya pikir analogi yang masuk akal untuk perbedaan antara keduanya akan seperti perbedaan di antara keduanya

  1. menghitung fungsi karakteristik dari variabel acak sebagai transformasi Fourier dari fungsi densitas probabilitas (PDF) dan
  2. menghasilkan urutan acak, menghitung PDF empirisnya dengan histogram binning dan kemudian mengubahnya secara tepat.

Namun, transformasi Hough adalah algoritma cepat yang dapat rentan terhadap artefak tertentu. Radon, karena secara matematis lebih baik, lebih akurat tetapi lebih lambat. Anda sebenarnya bisa melihat artefak di Hough transform Anda contoh sebagai pergoresan vertikal. Berikut contoh cepat lainnya di Mathematica:

img = Import["http://i.stack.imgur.com/mODZj.gif"];
radon = Radon[img, Method -> "Radon"];
hough = Radon[img, Method -> "Hough"];
GraphicsRow[{#1, #2, ColorNegate@ImageDifference[#1, #2]} & @@ {radon,hough}]

Gambar terakhir benar-benar pingsan, meskipun saya meniadakannya untuk menunjukkan lurik dalam warna gelap, tetapi ada di sana. Memiringkan monitor akan membantu. Anda dapat mengklik semua angka untuk gambar yang lebih besar.

Bagian dari alasan mengapa kesamaan antara keduanya tidak terlalu terkenal adalah karena berbagai bidang sains & teknik secara historis hanya menggunakan satu dari dua ini untuk kebutuhan mereka. Misalnya, dalam tomografi (medis, seismik, dll.), Mikroskop, dll., Radon transform mungkin digunakan secara eksklusif. Saya pikir alasan untuk ini adalah bahwa menjaga artefak seminimal mungkin adalah sangat penting (artefak bisa menjadi tumor yang salah didiagnosis). Di sisi lain, dalam pemrosesan gambar, visi komputer, dll., Itu adalah transformasi Hough yang digunakan karena kecepatan adalah yang utama.


Anda mungkin menemukan artikel ini cukup menarik dan hangat:

M. van Ginkel, CL Luengo Hendriks dan LJ van Vliet, Pengantar singkat tentang transformasi Radon dan Hough dan bagaimana mereka saling berhubungan , Kelompok Pencitraan Kuantitatif, Departemen Sains & Teknologi Pencitraan, TU Delft

Para penulis berpendapat bahwa meskipun keduanya sangat terkait erat (dalam definisi aslinya) dan setara jika Anda menulis transformasi Hough sebagai transformasi berkelanjutan, Radon memiliki keuntungan menjadi lebih intuitif dan memiliki dasar matematika yang solid.


Ada juga transformasi Radon umum yang mirip dengan transformasi Hough umum, yang bekerja dengan kurva parametrized, bukan garis. Berikut ini adalah referensi yang berhubungan dengannya:

Toft, PA, "Menggunakan transformasi Radon umum untuk mendeteksi kurva dalam gambar berisik" , IEEE ICASSP-96, Vol. 4, 2219-2222 (1996)


Oh, saya pikir itu ditambahkan ke gambar dengan sengaja. Tidak menyadari itu artefak. Jadi Radon adalah untuk Hough seperti DFT ke FFT? Tetapi ada juga transformasi Hough umum yang dapat menemukan lingkaran dan hal-hal, dan mungkin hal serupa untuk transformasi Radon?
endolith

1
Ya, ada transformasi Radon umum yang berfungsi untuk kurva parametrized. Saya akan berasumsi lebih sulit untuk melakukannya untuk kurva yang sepenuhnya arbitrer, tetapi saya tidak tahu banyak tentang itu. Saya telah menambahkan referensi ke jawaban saya.
Lorem Ipsum

Transformasi Radon dapat dipercepat dengan metode FFT juga. Saya kira Hough tidak mungkin? Apakah Hough masih lebih cepat? Saya menduga itu tergantung pada ukuran gambar?
Endolith

1
@endolith Ini pengalaman saya bahwa Hough lebih cepat. Namun, saya menggunakan keduanya untuk mendeteksi beberapa garis aneh dalam sesuatu yang saya mainkan. Tidak pernah menggunakannya dalam pekerjaan yang serius, saya juga tidak menerapkannya sendiri. Jadi saya akan menyarankan menanyakan hal itu sebagai pertanyaan baru, karena saya tidak dapat menjawab dengan pasti.
Lorem Ipsum

6

Selain jawaban Lorem Ipsum yang menjelaskan transformasi Hough sebagai bentuk diskrit Radon, saya menyukai penjelasan deskriptif ini - juga menurut Ginkel dan yang lainnya :

ρθ

θθΔρ(x,y)

ΔθΔρ

θθ

Saya kira Hough dominan di banyak bidang karena algoritma yang sederhana, sedangkan Radon digunakan di mana akurasi sangat penting atau pengetahuan apriori tersedia.

Lihat juga referensi Matlab (perluas tab Algoritma ):

www.mathworks.com/help/images/ref/radon.html

www.mathworks.com/help/images/ref/hough.html

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.