Pertanyaan Non-max suppression


Kami telah belajar bahwa Anda bisa mendapatkan arah gradien atan(dy/dx) yang merupakan arah orthogonal ke tepi. Sekarang kami memiliki pekerjaan rumah di mana kami seharusnya mendiskritasikan arah ini ke dalam empat kelas (x- dan y-direction dan kedua diagonal) dan kemudian memeriksa kedua tetangga piksel dalam arah pencocokan terbaik untuk penindasan non-maks.

Saya belum sepenuhnya mendapatkan solusinya. Tentunya kami memiliki empat kasus:

  1. abs(angle) < pi/8, jadi gradien (kira-kira) menunjuk ke arah x, jadi kita periksa img(i, j-1) dan img(i, j+1) (dengan asumsi asal gambar ada di kiri atas)

  2. angle > pi/8 && angle <= 3*pi/8, jadi titik gradien ke kanan atas. Sekarang saya pikir kita perlu memeriksanya img(i-1, j+1) dan img(i+1, j-1) tetapi sebaliknya kita periksa img(i-1, j-1) dan img(i+1, j+1) yang tampak seperti diagonal ortogonal.

Dua kasus lainnya setara. Saya mencoba untuk mengubah ini tetapi kemudian ujung-ujungnya benar-benar terlihat aneh jadi ini tampaknya benar tetapi saya tidak mengerti mengapa.

Bisakah seseorang menjelaskan ini padaku?


6
2017-12-01 12:36


asal


Jawaban:


Non-max suppression adalah cara untuk menghilangkan titik-titik yang tidak terletak pada sisi-sisi yang penting. Dalam kasus pertama Anda jika gradien mendekati nol derajat pada titik tertentu, itu berarti ujungnya adalah ke utara atau ke selatan, dan titik itu akan dianggap berada di tepi jika besarnya titik ini lebih besar daripada kedua besaran titik ke kiri dan kanan (seperti pada contoh Anda). Dalam kasus kedua Anda, Anda memeriksa gradien pada 45 derajat, sehingga ujungnya berada pada 135 derajat, sehingga Anda tetap titik jika lebih besar dari titik di sepanjang arah gradien, yaitu (-1, -1) dan (1 , 1). Memutar sistem koordinat tidak mempengaruhi hal ini.

enter image description here


13
2017-12-12 13:03



Berikut ini implementasi python dari Non Maxima Suppression digunakan dalam proses Deteksi Canny Edge.

Mereka berkonsentrasi di Utara dan Selatan, Utara-Timur dan Selatan-Barat, Timur dan Barat, dan Tenggara dan Utara-Barat. Kemudian putuskan nilai mana yang harus disimpan.

Semoga ini membantu seseorang yang membutuhkan NMS untuk menemukan keunggulan yang lebih baik.


2
2017-09-20 11:08



Mungkin akan terlambat untuk pertanyaan asli, tetapi tautan berikut mungkin membantu siapa saja yang berjuang untuk memahami penekanan non-maksimal.

Demo Java penindasan non-maksimal


1
2018-05-12 22:44